Czy można zrealizować prosty algorytm PID w prostym CPLD np:XC9572

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Polish to

Threaded View
Witam
Czy waszym zdaniem da się to zrealizowac na prostym CPLD ?
Czy wystarczy mu zasobów ?
pozdrawiam



Re: Czy można zrealizować prosty algory tm PID w prostym CPLD np:XC9572
Quoted text here. Click to load it

Kiedyś popełniłem to na mikrokontrolerze PIC16F84. Kod w asemblerze był
tak trywialny, że powinno wydać.

JanuszR

Re: Czy można zrealizować prosty algorytm PID w prostym CPLD np:XC9572
On Thu, 3 Dec 2009 21:58:14 +0100,  Szumek wrote:
Quoted text here. Click to load it

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.



Re: Czy można zrealizować prosty algorytm PID w prostym CPLD np:XC9572

Quoted text here. Click to load it

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



Re: Czy można zrealizować prosty algorytm PID w prostym CPLD np:XC9572

Quoted text here. Click to load it

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.

@



Re: Czy można zrealizować prosty algorytm PID w prostym CPLD np:XC9572

Quoted text here. Click to load it

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



Re: Czy można zrealizować prosty algorytm PID w prostym CPLD np:XC9572

Quoted text here. Click to load it

w TME po 140zł netto, Farnell 45?

@



Re: Czy można zrealizować prosty algory tm PID w prostym CPLD np:XC9572
Użytkownik Szumek napisał:
Quoted text here. Click to load it

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

Re: Czy można zrealizować prosty algorytm PID w prostym CPLD np:XC9572

wiadomości news:hfafb2>
Quoted text here. Click to load it

ale przydałoby sie, zeby ten procek coś jeszcze w międzyczasie robił :)

@



Re: Czy można zrealizować prosty algory tm PID w prostym CPLD np:XC9572
Użytkownik Artur Miller napisał:
Quoted text here. Click to load it

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

Re: Czy można zrealizować prosty algorytm PID w prostym CPLD np:XC9572

Quoted text here. Click to load it

Witam ponownie
już liczyłem to co kolega pisze
mam enkodery już sprzęgnięte fabrycznie z servem mam takie co maja 250 imp
/obr
ale mam i takie co mają 2500 i 5000 i tu zaczynają się schody AVR już się
nie wyrobi
oprócz obsługi enkodera powinno byc miejsce na prosty PID
i tak sobie kombinuje co by tu mądrego wymyslić

pozdrawiam





Re: Czy można zrealizować prosty algory tm PID w prostym CPLD np:XC9572
Quoted text here. Click to load it

Dwa AVRki, tanio i prosto.

JanuszR

Re: Czy można zrealizować prosty algorytm PID w prostym CPLD np:XC9572

Quoted text here. Click to load it

i miesiąc siedzenia nad softem, ktoremu czasem zdarzy sie pojsc w maliny i
dźwig wjedzie w sciane ;) albo winda do nieba pojedzie ;) nie mowie, ze sie
nie da, ale jesli to jakas cięższa mechanika, to ja juz bym się nie bawił w
klepanie na piechotę i eksperymenty.

@




Re: Czy można zrealizować prosty algorytm PID w prostym CPLD np:XC9572

Quoted text here. Click to load it

tez o tym myslałem żeby rozdzielić zadania ale raczej na CPLD + AVR
przy 5000 imp/obr nawet 2 avrki chyba nie dadza rady
więc narazie najlepszym chyba pomysłem jest cpld +uC
(oczywiście dla silnika z enkoderem 5000imp/obr)
koszt małego cpld ka jest tak niski że nawet niewarto
zawracać sobie głowy jakimis zmianami mechanicznymi ze wzgledu na enkodery )
maszynka nie bedzie ciężka ani skomplikowana



Re: Czy można zrealizować prosty algory tm PID w prostym CPLD np:XC9572
Quoted text here. Click to load it

Jakość softu zależy od ilości spędzonych nad nim godzin niestety :)

JanuszR

Re: Czy można zrealizować prosty algory tm PID w prostym CPLD np:XC9572
Użytkownik Artur Miller napisał:
Quoted text here. Click to load it

To się może zdarzyć również na fabrycznych "sprawdzonych" serwonapędach.
Niedawno naprawiałem sterowniki ServoStar-a. Sterownik "fullwypas"
procek 32bit, FPGA i mnóstwo innych kwadratowych scalaków z setkami
nóżek, a taki prozaiczny wyschnięty elektrolit z zasilaniu spowodował,
że gdyby nie krańcówki bezpieczeństwa odcinające zasilanie, to wrzeciono
maszyny wjechałoby przez ścianę do drugiego pokoju :-)

Pozdrawiam
Grzegorz

Re: Czy można zrealizować prosty algory tm PID w prostym CPLD np:XC9572
Użytkownik Szumek napisał:
Quoted text here. Click to load it

Ale czy aż taka rozdzielczość jest Koledze potrzebna ?! 5000imp/obr to
0,072 stopnia. A jakie obroty ? W ostateczności można do obsługi
enkodera zaprząc liczniki w AVRku.
Korzystając z zewnętrznego licznika enkodera na jakimś CPLD trzeba jakoś
ten stan licznika zczytać do procesora. Jeśli pojemność licznika ma mieć
np. 32bity to musisz w CPLD zaszyć jakiś rejestr buforowy coby na czas
transmisji zatrzasnąć bieżący stan licznika. Inaczej gdy w podczas
przesyłania danych z CPLD do uC przyjdzie impuls z enkodera (co przy
takiej rozdzielczości jest wysoce prawdopodobne) to uC może odczytać
niezłą kaszankę.

Pozdrawiam
Grzegorz

Re: Czy można zrealizować prosty algorytm PID w prostym CPLD np:XC9572

Quoted text here. Click to load it

dlatego wlasnie, po takich przebojach, służąc doświadczeniem ;)
zaproponowałem LM629 ... buforowanie rejestrów, gotowy filtr PID, wyjscie
PWM, kilka ciekawych trybów pracy ... parę złotych więcej, ale o wiele
więcej zaoszczędzone na czasie i skutkach błędów w sofcie.

@

PS.  nie, nie pracuje dla Nationala :)



Re: Czy można zrealizować prosty algorytm PID w prostym CPLD np:XC9572

Quoted text here. Click to load it

już kolegom odpowiadam
5000 imp /obr rozdzielczości mi nie trzeba myślę że 1000 jest w sam raz ale
nie chcę rozbierać oryginalnych serv po to  żeby wymienić im enkodery

mój pierwszy post miał mieć na celu zorientowanie się w możliwościach i
problemach
ponieważ z CPLD dopiero zaczynam trudno mi jest ocenic co wejdzie do takeigo
układu a co nie
czy jego sasoby pozwolą na stworzenie to o czym my tu piszemy  czy nie ?

już mi się sprawa dzięki wam naświetla
narazie wezmę mniejsze servo ze słabszym enkoderem i podziałam na avr z tym
co mam dopuki nie wymyslę
jak sterowac tamtymi

 LM629 też jest ciekawą opcją ale warto poznać i pomyśleć nad innymi
rozwiązanaimi

pozdrawiam






Re: Czy można zrealizować prosty algorytm PID w pr ostym CPLD np:XC9572
Witam

A moBF%e jakiB6% procesorek z wbudowanym wsparciem dla enkodera
inkrementalnego? Na przykB3%ad dsPCI33F z serii M do sterowania
silnikami czy coB6% z serii TMS320F2000. Zdaje mi siEA% BF%e niektF3%re ARM=
-y
7 od Analog Devices teBF% majB1% wsparcie dla enkoderF3%w. Dodatkowo do tyc=
h
procesorF3%w jest trochEA% dokumentacji i przykB3%adF3%w ukierunkowanych na
aplikacje napEA%dowe. ZaletB1% jest posiadanie wszystkiego w B6%rodku -
mniejszy problem z EMI, prostszy model programowania. Pozdrawiam.

PaweB3%

Site Timeline