-
1. Data: 2009-12-03 20:58:14
Temat: Czy można zrealizować prosty algorytm PID w prostym CPLD np:XC9572
Od: "Szumek" <k...@i...pl>
Witam
Czy waszym zdaniem da się to zrealizowac na prostym CPLD ?
Czy wystarczy mu zasobów ?
pozdrawiam
-
2. Data: 2009-12-03 21:21:42
Temat: Re: Czy można zrealizować prosty algorytm PID w prostym CPLD np:XC9572
Od: JanuszR <r...@o...pl>
> Czy waszym zdaniem da się to zrealizowac na prostym CPLD ?
> Czy wystarczy mu zasobów ?
Kiedyś popełniłem to na mikrokontrolerze PIC16F84. Kod w asemblerze był
tak trywialny, że powinno wydać.
JanuszR
-
3. Data: 2009-12-03 21:22:10
Temat: Re: Czy można zrealizować prosty algorytm PID w prostym CPLD np:XC9572
Od: J.F. <j...@p...onet.pl>
On Thu, 3 Dec 2009 21:58:14 +0100, Szumek wrote:
>Czy waszym zdaniem da się to zrealizowac na prostym CPLD ?
>Czy wystarczy mu zasobów ?
Raczej nie. A czym chcesz sterowac ?
Do zapamietania sa 4 wspolczynniki, jakis akumulator czy dwa.
Trzeba bedzie zrealizowac mnozenie, przydalby sie bufor do pochodnej,
czesc obliczen trzeba bedzie z wieksza precyzja .. a tam sa tylko 72
bity.
No chyba ze na liczbach 6-bitowych ..
J.
-
4. Data: 2009-12-03 21:48:30
Temat: Re: Czy można zrealizować prosty algorytm PID w prostym CPLD np:XC9572
Od: "Szumek" <k...@i...pl>
Użytkownik "J.F." <j...@p...onet.pl> napisał w wiadomości
news:ljagh51bagr55b4bt2jahdduns9ocd3d3r@4ax.com...
> On Thu, 3 Dec 2009 21:58:14 +0100, Szumek wrote:
>>Czy waszym zdaniem da się to zrealizowac na prostym CPLD ?
>>Czy wystarczy mu zasobów ?
>
> Raczej nie. A czym chcesz sterowac ?
>
> Do zapamietania sa 4 wspolczynniki, jakis akumulator czy dwa.
> Trzeba bedzie zrealizowac mnozenie, przydalby sie bufor do pochodnej,
> czesc obliczen trzeba bedzie z wieksza precyzja .. a tam sa tylko 72
> bity.
>
> No chyba ze na liczbach 6-bitowych ..
>
to podejdźmy do problemu od inne strony
sam algorytm pid wrzucmy do uC
w CPLD zostawmy samo przygotowanie sygnałów dla uC
czyli dekoder kwadraturowy, licznik i sumator 16 bitowy
tyle to chyba wejdzie ?
pozdrawiam
-
5. Data: 2009-12-03 21:55:49
Temat: Re: Czy można zrealizować prosty algorytm PID w prostym CPLD np:XC9572
Od: "Artur Miller" <a...@n...pl>
Użytkownik "Szumek" <k...@i...pl> napisał w wiadomości
news:hf9bs4$7g$1@atlantis.news.neostrada.pl...
>
>
> to podejdźmy do problemu od inne strony
> sam algorytm pid wrzucmy do uC
> w CPLD zostawmy samo przygotowanie sygnałów dla uC
> czyli dekoder kwadraturowy, licznik i sumator 16 bitowy
> tyle to chyba wejdzie ?
> pozdrawiam
>
a czy CPLD jest z góry narzucone ? bo jeśli nie, a widzę, ze coś
mechanicznego popędzasz - spójrz na LM628/629 , z powodzeniem stosuję je od
jakiegoś czasu.
@
-
6. Data: 2009-12-03 22:19:20
Temat: Re: Czy można zrealizować prosty algorytm PID w prostym CPLD np:XC9572
Od: "Szumek" <k...@i...pl>
Użytkownik "Artur Miller" <a...@n...pl> napisał w wiadomości
news:hf9amg$4dt$1@news.interia.pl...
>
> Użytkownik "Szumek" <k...@i...pl> napisał w wiadomości
> news:hf9bs4$7g$1@atlantis.news.neostrada.pl...
>>
>>
>> to podejdźmy do problemu od inne strony
>> sam algorytm pid wrzucmy do uC
>> w CPLD zostawmy samo przygotowanie sygnałów dla uC
>> czyli dekoder kwadraturowy, licznik i sumator 16 bitowy
>> tyle to chyba wejdzie ?
>> pozdrawiam
>>
>
> a czy CPLD jest z góry narzucone ? bo jeśli nie, a widzę, ze coś
> mechanicznego popędzasz - spójrz na LM628/629 , z powodzeniem stosuję je
> od jakiegoś czasu.
>
> @
>
NIe jest do końca narzucone ale
sam uC nie bardzo sie nada do obsługi enkodera
CPLD zrobi to szybciej i nie zgubi impulsu
napisz mi jeszcze przy okazji po ile da się kupić LM ?
może być ciekawa alternatywą
pozdrawiam
-
7. Data: 2009-12-03 22:39:15
Temat: Re: Czy można zrealizować prosty algorytm PID w prostym CPLD np:XC9572
Od: "Artur Miller" <a...@n...pl>
Użytkownik "Szumek" <k...@i...pl> napisał w wiadomości
news:hf9e5h$get$1@nemesis.news.neostrada.pl...
>
> NIe jest do końca narzucone ale
> sam uC nie bardzo sie nada do obsługi enkodera
> CPLD zrobi to szybciej i nie zgubi impulsu
> napisz mi jeszcze przy okazji po ile da się kupić LM ?
> może być ciekawa alternatywą
w TME po 140zł netto, Farnell 45?
@
-
8. Data: 2009-12-04 07:45:26
Temat: Re: Czy można zrealizować prosty algorytm PID w prostym CPLD np:XC9572
Od: Grzegorz Kurczyk <g...@c...slupsk.pl>
Użytkownik Szumek napisał:
> Użytkownik "Artur Miller" <a...@n...pl> napisał w wiadomości
> news:hf9amg$4dt$1@news.interia.pl...
>> Użytkownik "Szumek" <k...@i...pl> napisał w wiadomości
>> news:hf9bs4$7g$1@atlantis.news.neostrada.pl...
>>>
>>> to podejdźmy do problemu od inne strony
>>> sam algorytm pid wrzucmy do uC
>>> w CPLD zostawmy samo przygotowanie sygnałów dla uC
>>> czyli dekoder kwadraturowy, licznik i sumator 16 bitowy
>>> tyle to chyba wejdzie ?
>>> pozdrawiam
>>>
>> a czy CPLD jest z góry narzucone ? bo jeśli nie, a widzę, ze coś
>> mechanicznego popędzasz - spójrz na LM628/629 , z powodzeniem stosuję je
>> od jakiegoś czasu.
>>
>> @
>>
>
> NIe jest do końca narzucone ale
> sam uC nie bardzo sie nada do obsługi enkodera
> CPLD zrobi to szybciej i nie zgubi impulsu
A z jaką maksymalną częstotliwością impulsów enkodera ma Kolega do
czynienia? AVR poganiany zegarem 8MHz bez problemu radzi sobie z
sygnałem o częstotliwości 50kHz w ramach obsługi przerwania. Jak dobrze
zoptymalizujesz procedurę to i 100kHz pociągnie. A jeśli i to mało, to
chyba wszystkie uC mają jakieś sprzętowe liczniki, które można zaprząc
do roboty.
Oszacuj na początku jaka będzie maksymalna częstotliwość impulsów z
enkodera, bo może się okazać, że wystarczy 8051 poganiany zegarem 12MHz :-)
Przykładowo: enkoder 1000imp/obr sprzęgnięty z wałem silnika mającego
maksymalnie 3000obr/min.
3000 obr/min = 50 obr/s
50 obr/s * 1000 imp/s daje 50kHz czyli mała ATmega wystarczy. Jak ją
jeszcze pogonisz na 16MHz to z zapasem.
Pozdrawiam
Grzegorz
-
9. Data: 2009-12-04 08:05:27
Temat: Re: Czy można zrealizować prosty algorytm PID w prostym CPLD np:XC9572
Od: "Artur Miller" <a...@n...pl>
Użytkownik "Grzegorz Kurczyk" <g...@c...slupsk.pl> napisał w
wiadomości news:hfafb2>
> Przykładowo: enkoder 1000imp/obr sprzęgnięty z wałem silnika mającego
> maksymalnie 3000obr/min.
> 3000 obr/min = 50 obr/s
> 50 obr/s * 1000 imp/s daje 50kHz czyli mała ATmega wystarczy. Jak ją
> jeszcze pogonisz na 16MHz to z zapasem.
>
ale przydałoby sie, zeby ten procek coś jeszcze w międzyczasie robił :)
@
-
10. Data: 2009-12-04 09:58:19
Temat: Re: Czy można zrealizować prosty algorytm PID w prostym CPLD np:XC9572
Od: Grzegorz Kurczyk <g...@a...control.slupsk.pl>
Użytkownik Artur Miller napisał:
> Użytkownik "Grzegorz Kurczyk" <g...@c...slupsk.pl> napisał w
> wiadomości news:hfafb2>
>> Przykładowo: enkoder 1000imp/obr sprzęgnięty z wałem silnika mającego
>> maksymalnie 3000obr/min.
>> 3000 obr/min = 50 obr/s
>> 50 obr/s * 1000 imp/s daje 50kHz czyli mała ATmega wystarczy. Jak ją
>> jeszcze pogonisz na 16MHz to z zapasem.
>>
>
> ale przydałoby sie, zeby ten procek coś jeszcze w międzyczasie robił :)
>
Dobrze zoptymalizowana procedura przerwania do obsługi enkodera na AVR
poganianym zegarem 8MHz wykonywała mi się w czasie 2,3us. Przy 50kHz
obsługa przerwania zajmie prockowi niecałe 12% mocy obliczeniowej, więc
nieco czasu mu zostanie na realizację innych zadań. :-) Przy zegarze
16MHz będzie to niecałe 6% czyli tzw. "pan pikuś" :-)
Pozdrawiam
Grzegorz