Sterownik serwa DC - szczegóły działania PIDa

Rozmowy na temat układów elektronicznych sterowania obrabiarek CNC

Autor tematu
korinsj
Znawca tematu (min. 80)
Znawca tematu (min. 80)
Posty w temacie: 11
Posty: 80
Rejestracja: 08 wrz 2004, 18:20
Lokalizacja: Miłoszyce
Kontakt:

#11

Post napisał: korinsj » 04 gru 2008, 09:37

>wszystkie mają wyjścia PWM bez pomiaru prądu

Dokładnie tak. Ja też tak mam

Problemem jest sama struktura regulatora. Regulator PID bazujący tylko na uchybie położenia nie będzie działał.

> Autor ELM publikuje schemat blokowy i kod źródłowy - można coś przylookać.

Zerknąłem na rysunek ze strukturą regulatora - dokładnie to o czym pisałem - regulator P-PI :)

Zrobiłem symulację. Jest pięknie. Teraz przerabiam nieco elektronikę i wrzucam to do procka.



Tagi:


cnc3d
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 10
Posty: 635
Rejestracja: 29 mar 2008, 16:48
Lokalizacja: laski

#12

Post napisał: cnc3d » 04 gru 2008, 13:02

"Kiedy PWM osiąga 100% wypełnienia silnik otrzymuje nominalny moment obrotowy"

Od kiedy to moment silnika jest uzależniony od napięcia? Myślałem, że od prądu. A kiedy pwm osiągnie 100% to znaczy tyle, że do silnika jest doprowadzone napięcie zasilające sterownik, a że napięcie na silniku jest uzależnione od jego prędkości obrotowej i spadku napięcia na rezystancji uzwojeń, to biorąc pod uwagę bardzo niewielką rezystancję, jeśli na zatrzymanym silniku pojawi się pełne napięcie od razu to będziemy mieli zwarcie. Ograniczone tylko rezystancją uzwojeń.

Co do regulatora P_PI to będzie lepiej, ale jak chcecie wyznaczać prędkość aktualną? Macie prądniczkę tacho? Bo programowo z enkodera to nic z tego nie wyjdzie, a sprzętowy estymator jest bardzo skomplikowany.


Autor tematu
korinsj
Znawca tematu (min. 80)
Znawca tematu (min. 80)
Posty w temacie: 11
Posty: 80
Rejestracja: 08 wrz 2004, 18:20
Lokalizacja: Miłoszyce
Kontakt:

#13

Post napisał: korinsj » 04 gru 2008, 13:51

> Co do regulatora P_PI to będzie lepiej, ale jak chcecie wyznaczać prędkość aktualną? Macie prądniczkę tacho? Bo programowo z enkodera to nic z tego nie wyjdzie, a sprzętowy estymator jest bardzo skomplikowany.

Strzał w dziesiątkę :) Przy niskich obrotach silnik "chrobocze". Jest tym gorzej, im procedura PID jest częściej wykonywana i im mniejsza jest rozdzielczość enkodera.

Jeśli prędkość jest obliczana jako różnica kolejnych wartości z enkodera, to najgorzej sprawa wygląda jeśli prędkość obrotowa jest niewielka, a częstotliwość PID duża.

Kolejne odczyty dla prędkości np. 0,25 wyjdą takie: 1,0,0,0,1,0,0,0,...

Właśnie kombinuję co z tym zrobić.

Ale właśnie w ten sposób działa to:
http://elm-chan.org/works/smc/report_e.html

i UHU pewnie też.


Leoo
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 12
Posty: 4017
Rejestracja: 15 lis 2006, 22:01
Lokalizacja: Tarnobrzeg

#14

Post napisał: Leoo » 04 gru 2008, 14:35

cnc3d pisze:Od kiedy to moment silnika jest uzależniony od napięcia? Myślałem, że od prądu.
Jednym słowem moment silnika nie wzrasta się na skutek wzrostu napięcia zasilania? A może jest jeszcze ciekawiej - moment wzrasta, kiedy napiecie spada?
Nie zauważył Kolega, że w układzie nie mierzymy prądu?
cnc3d pisze:biorąc pod uwagę bardzo niewielką rezystancję, jeśli na zatrzymanym silniku pojawi się pełne napięcie od razu to będziemy mieli zwarcie.
A to muszę wpisać do kalendarza jako odkrycie.


cnc3d
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 10
Posty: 635
Rejestracja: 29 mar 2008, 16:48
Lokalizacja: laski

#15

Post napisał: cnc3d » 04 gru 2008, 14:53

Właśnie dyskretyzacja sygnałów jest największym problemem przy próbach wykorzystania regulatorów cyfrowych korzystających z aperiodycznych sygnałów dyskretnych jakie daje enkoder inkrementalny. Cały układ będzie się wzbudzał z powodu nieliniowości i niskiej rozdzielczości pomiarów. Jak jest odczyt 0 to nie znaczy, że silnik stoi, tylko, że pomiędzy poszczególnymi odczytami nie wystąpiło zbocze sygnału z enkodera. A jak jest 1 to może jest 1.9 a pokazuje 1.


jarekk
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 2
Posty: 1701
Rejestracja: 17 mar 2006, 08:57
Lokalizacja: Gdańsk

#16

Post napisał: jarekk » 04 gru 2008, 17:29

korinsj pisze:Jeśli prędkość jest obliczana jako różnica kolejnych wartości z enkodera, to najgorzej sprawa wygląda jeśli prędkość obrotowa jest niewielka, a częstotliwość PID duża.
To jest akurat znana prawda w teorii regulatorów dyskretnych. Nie da się tego obejsc :-(
Mam już ten algorytm zapisany:
www.kartech.org/cncserwo/sources/picserwo_20070413.zip
Niestety nie uruchomiłem tego sterownika - zaangażowałem się w inny projekt.

Awatar użytkownika

kwarc
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 4
Posty: 1058
Rejestracja: 06 sty 2007, 18:13
Lokalizacja: Mgławica Andromedy

#17

Post napisał: kwarc » 04 gru 2008, 21:34

Leoo pisze:
cnc3d pisze:Od kiedy to moment silnika jest uzależniony od napięcia? Myślałem, że od prądu.
Jednym słowem moment silnika nie wzrasta się na skutek wzrostu napięcia zasilania? A może jest jeszcze ciekawiej - moment wzrasta, kiedy napiecie spada?
Nie zauważył Kolega, że w układzie nie mierzymy prądu?
cnc3d pisze:biorąc pod uwagę bardzo niewielką rezystancję, jeśli na zatrzymanym silniku pojawi się pełne napięcie od razu to będziemy mieli zwarcie.
A to muszę wpisać do kalendarza jako odkrycie.
Leoo zmiluj sie .nad soba i nad ludzmi co czytaja.masz sporo wiedzy ale niewiesz wszystkiego....ucz sie jak ktos cos madrego napisze


Leoo
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 12
Posty: 4017
Rejestracja: 15 lis 2006, 22:01
Lokalizacja: Tarnobrzeg

#18

Post napisał: Leoo » 04 gru 2008, 22:29

kwarc pisze:Leoo zmiluj sie .nad soba i nad ludzmi co czytaja.masz sporo wiedzy ale niewiesz wszystkiego....ucz sie jak ktos cos madrego napisze
Faktycznie odpowiedź Kolegi wniosła bardzo dużo do wątku i na pewno pomogła rozwiązać tytułowy problem.
Proszę pisać na temat albo pozostać czytelnikiem.
Mam rozumieć, iż Kolega też twierdzi, że silnika 12V nie można podłączyć bezpośrednio do źródła 12V?

Awatar użytkownika

kwarc
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 4
Posty: 1058
Rejestracja: 06 sty 2007, 18:13
Lokalizacja: Mgławica Andromedy

#19

Post napisał: kwarc » 04 gru 2008, 22:49

bezposrednio nie bo wtedy niebedzie miejsca na sterownik kolezanko Leoo!!!

[ Dodano: 2008-12-04, 23:00 ]
jarekk pisze:
korinsj pisze:Jeśli prędkość jest obliczana jako różnica kolejnych wartości z enkodera, to najgorzej sprawa wygląda jeśli prędkość obrotowa jest niewielka, a częstotliwość PID duża.
To jest akurat znana prawda w teorii regulatorów dyskretnych. Nie da się tego obejsc :-(
Mam już ten algorytm zapisany:
www.kartech.org/cncserwo/sources/picserwo_20070413.zip
Niestety nie uruchomiłem tego sterownika - zaangażowałem się w inny projekt.
tu dotykamy kwesti sterownikow do celow amatorskich lub profesjonalnych.w amatorskich wystarcza analiza sygnalow z enkodera w profesjonalnych jest to niedopuszczalne.podstawowym parametrem jest aktualna predkosc (obroty) pobierana z tachometru lub czujnikow przyspieszenia ,jak koledzy wiedza takich urzadzen niema w tanich servach.ruznica jest kolosalna.tachometr umorzliwia bezwloczna reakcje na zmiany obciazenia i predkosci obrotowej a enkoder potrzebuje czasu na analize i jest zawsze spuzniony


cnc3d
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 10
Posty: 635
Rejestracja: 29 mar 2008, 16:48
Lokalizacja: laski

#20

Post napisał: cnc3d » 04 gru 2008, 23:44

Aby sygnał wyjściowy z regulatora nie latał od -max do +max, rozdzielczość sygnałów mierzonych (np prędkości) musi być znacznie większa. Inaczej różniczka głupieje i daje takie sygnały, co z kolei generuje potężne zakłócenia EMC ponieważ powstają silne udary prądowe. Wszystko szumi, trzeszczy i się zakłóca na wzajem. Współczesne serva AC nie używają już tacho tylko estymują prędkość z enkodera, ale robią to sprzętowo. Żaden procesor czy kontroler nie ma zasobów pozwalających na estymowanie sygnału prędkości o zadowalającej dynamice i liniowości. Robi się to za pomocą obserwatora wspomaganego sprzętowo na niemałych fpga. Niestety nie ma gotowych kostek które to robią.

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Elektronika CNC”