lpiotr@gmail.com
Guest
Sat Jun 19, 2010 10:34 am
Witam
Pracuję na silniku liniowym. Moim zadaniem jest realizacja sterowania
do obrabiarki CNC.
Owy silnik steruje za pomocą metody FOC. Prąd Id reguluje do 0 ( za
pomocą regulatora PI ) a w torze prądu Iq znajdują się trzy regulatory
P - Pozycji , PI - Prędkości i PI - Prąd Iq.
Silnik jeździ z "prawie" określoną prędkością i zatrzymuje się w
zadanej pozycji. Owe prawie jest spowodowane złą pracą silnika która
prawdopodobnie pochodzi z złej konstrukcji mechanicznej. Usytuowanie
cewek względem magnesów. Co 35mm ( podziałka biegunowa ) występuje
skok w pracy silnika. Prędkość w tych miejscach zaczyna tętnić. Co
ciekawe te tętnienia występują bardziej podczas jazdy w prawą stronę
( 20-30% ) niż w lewą ( 8-10% ).
Pozycję odczytuję z enkodera magnetycznego.
Jestem ciekaw czy drodzy użytkownicy Grupy spotkali się z takim
przypadkiem i mają jakieś sugestię jak z tym walczyć. Czy myślicie że
kompensowanie tych zakłóceń w procesorze po przez uwzględnianie tych
miejsc w torze regulacji to dobry pomysł?
Pozdrawiam Piotr
Desoft
Guest
Sat Jun 19, 2010 11:00 am
Użytkownik <lpiotr@gmail.com> napisał w wiadomości
news:81afbe91-9aa5-4f1f-a6f5-e330635da717@5g2000yqz.googlegroups.com...
Witam
Pracuję na silniku liniowym. Moim zadaniem jest realizacja sterowania
do obrabiarki CNC.
Owy silnik steruje za pomocą metody FOC. Prąd Id reguluje do 0 ( za
pomocą regulatora PI ) a w torze prądu Iq znajdują się trzy regulatory
P - Pozycji , PI - Prędkości i PI - Prąd Iq.
Silnik jeździ z "prawie" określoną prędkością i zatrzymuje się w
zadanej pozycji. Owe prawie jest spowodowane złą pracą silnika która
prawdopodobnie pochodzi z złej konstrukcji mechanicznej. Usytuowanie
cewek względem magnesów. Co 35mm ( podziałka biegunowa ) występuje
skok w pracy silnika. Prędkość w tych miejscach zaczyna tętnić. Co
ciekawe te tętnienia występują bardziej podczas jazdy w prawą stronę
( 20-30% ) niż w lewą ( 8-10% ).
Pozycję odczytuję z enkodera magnetycznego.
Jestem ciekaw czy drodzy użytkownicy Grupy spotkali się z takim
przypadkiem i mają jakieś sugestię jak z tym walczyć. Czy myślicie że
kompensowanie tych zakłóceń w procesorze po przez uwzględnianie tych
miejsc w torze regulacji to dobry pomysł?
Może być złym pomysłem.
Chyba że w programie będzie można wpisać w parametrach maszyny typ silnika.
Wydaje ni się że bardziej uniwersalną metodą jest przyjęcie jakiegoś "okna"
tolerancji.
--
Desoft
Miłosz Skowyra
Guest
Sat Jun 19, 2010 11:53 am
W dniu 2010-06-19 09:34, lpiotr@gmail.com pisze:
[...]
Quote:
Silnik jeździ z "prawie" określoną prędkością i zatrzymuje się w
zadanej pozycji. Owe prawie jest spowodowane złą pracą silnika która
prawdopodobnie pochodzi z złej konstrukcji mechanicznej. Usytuowanie
cewek względem magnesów. Co 35mm ( podziałka biegunowa ) występuje
skok w pracy silnika. Prędkość w tych miejscach zaczyna tętnić. Co
ciekawe te tętnienia występują bardziej podczas jazdy w prawą stronę
( 20-30% ) niż w lewą ( 8-10% ).
Pozycję odczytuję z enkodera magnetycznego.
Jestem ciekaw czy drodzy użytkownicy Grupy spotkali się z takim
przypadkiem i mają jakieś sugestię jak z tym walczyć. Czy myślicie że
kompensowanie tych zakłóceń w procesorze po przez uwzględnianie tych
miejsc w torze regulacji to dobry pomysł?
Pokaż wykres pozycji zadanej względem pozycji aktualnej oraz prędkości
zadanej względem prędkości aktualnej.
Czy w pętli sterowania używasz Feed Forwardu ?
W jaki sposób rozpoczynasz generowanie przebiegów dla silnika po
włączeniu zasilania ?
Za każdym razem usuwanie skutków a nie przyczn nie ma szans.
--
Pozdrawiam Miłosz.
lpiotr@gmail.com
Guest
Sun Jun 20, 2010 12:03 pm
Dzięki za odpowiedź.
Quote:
Pokaż wykres pozycji zadanej względem pozycji aktualnej oraz prędkości
zadanej względem prędkości aktualnej.
Tutaj umieszczam dwa wykresy prędkości.
http://picasaweb.google.pl/lpiotr/TMS#
Silnik w obu przypadkach powinien jechać z stałą prędkością 0.2m/s
Wykresów od położenia nie mam przy sobie. Ogólnie regulacja położenia
jest dokładna.
Quote:
Czy w pętli sterowania używasz Feed Forwardu ?
Nie. Czytałem trochę o tym ale jeszcze nie używałem.
Quote:
W jaki sposób rozpoczynasz generowanie przebiegów dla silnika po
włączeniu zasilania ?
Z dwupoziomowego falownika napięcia. Układ jest trójfazowy.
Quote:
Wydaje ni się że bardziej uniwersalną metodą jest przyjęcie jakiegoś "okna"
tolerancji.
Jak bym zszedł do (5-8%) przeregulowania dla obu kierunkach to bym się
cieszył. a w prawo mam 20-30%
Miłosz Skowyra
Guest
Sun Jun 20, 2010 7:40 pm
W dniu 2010-06-20 11:03, lpiotr@gmail.com pisze:
Quote:
Wydaje ni się że bardziej uniwersalną metodą jest przyjęcie jakiegoś "okna"
tolerancji.
Jak bym zszedł do (5-8%) przeregulowania dla obu kierunkach to bym się
cieszył. a w prawo mam 20-30%
No dobra... po kolei.
- Czy w trybie sterowania pozycją również masz skoki prądu co 35 mm ?
- Co ile masz indeks z enkodera ?
- Najprościej będzie wyłączyć regulator prędkości, (imho regulator
pozycji też powinien mieć PI) i obserwować uchyb pomiędzy wartościami
pozycji zadanej i pozycji chwilowej dla kolejnych przejść regulatora.
Wtedy zaobserwować czy nie ma nagłego skoku wartości uchybu.
Takie regularne skoki prędkości (pozycji) bardziej widzą mi się jako
problem z przepełnieniem jakiejś zmiennej lub błędnym zadeklarowaniem
wartości impulsów enkodera na cykl silnika.
-Jeżeli sam to robisz od początku, to skąd masz przekształcenia do
Clarka i jego kumpla Perkiego? No i czy są sprawdzone
Jak mnie pamięć nie myli to w CodeWarrior do Motoroli 57xxx w modułach
procesor experta były te obliczenia, możesz w razie czego się na nich
podeprzeć.
- Jak rozpoczynasz pracę to z enkodera na początek pobierasz wartości
UVW i dopiero po indeksie zaczynasz sam "komutować" czy od początku
"komutujesz" sam a silnik niech się martwi ?
- Dla silnika Servo AC z enkoderem 2500imp/obr przy prawidłowo dobranych
parametrach uchyb podczas pracy da się uzyskać rzędu pojedynczych
impulsów (2-6). W liniowym powinno być podobnie.
- Z doświadczenia, podpowiem że jak chcesz to pchać do CNC to bez FF
będzie słabo, dodatkowo poczytaj o czymś co nazywa się rozmywaniem
pozycji (po angielsku chyba stała czasowa napędu).
--
Pozdrawiam Miłosz.
Miłosz Skowyra
Guest
Mon Jun 21, 2010 10:41 am
W dniu 2010-06-21 11:11, lpiotr@gmail.com pisze:
Quote:
Takie regularne skoki prędkości (pozycji) bardziej widzą mi się jako
problem z przepełnieniem jakiejś zmiennej lub błędnym zadeklarowaniem
wartości impulsów enkodera na cykl silnika.
Myślałem o tym i sprawdzałem. Jeśli w tym byłby problemem to tak samo
działało by w obie strony.
Niekoniecznie. Choć możliwe że masz rację.
IMHO jedyna opcja to programowy oscyloskop z rejestracją uchybów i
prądów. Potem dopiero coś można wywnioskować, więc chyba dalej nie pomogę.
--
Pozdrawiam Miłosz.
lpiotr@gmail.com
Guest
Mon Jun 21, 2010 12:11 pm
Quote:
- Czy w trybie sterowania pozycją również masz skoki prądu co 35 mm ?
Tak, skoki występują zawsze co 35mm ( podziałka biegunowa ) zawsze w
tym samym miejscu. Stąd moje przypuszczenie że jest to wina
konstrukcji maszyny a nie samego sterowania. Maszyna zastała
zaprojektowana i stworzona na pracę magisterską. Mi idzie w udziale ją
wysterować i połączyć z inną.
Quote:
- Co ile masz indeks z enkodera ?
Enkoder jest inkrementacyjny z dokładnością do 0.01 mm. Taśma
magnetyczna z podziałką biegunową 5mm
Quote:
Takie regularne skoki prędkości (pozycji) bardziej widzą mi się jako
problem z przepełnieniem jakiejś zmiennej lub błędnym zadeklarowaniem
wartości impulsów enkodera na cykl silnika.
Myślałem o tym i sprawdzałem. Jeśli w tym byłby problemem to tak samo
działało by w obie strony.
Quote:
-Jeżeli sam to robisz od początku, to skąd masz przekształcenia do
Clarka i jego kumpla Perkiego? No i czy są sprawdzone
Przekształcenia są sprawdzone.Wzięte z różnych źródeł wiki, psim,
książki.
Quote:
- Jak rozpoczynasz pracę to z enkodera na początek pobierasz wartości
UVW i dopiero po indeksie zaczynasz sam "komutować" czy od początku
"komutujesz" sam a silnik niech się martwi ?
UVW -> chyba ten problem nie do tyczy enkoderów liniowych.
Start programu wygląda tak że wózek silnika dojeżdża do pozycji 0 i
wtedy zerowany jest licznik enkodera.
Od tego momentu wiem gdzie znajduje się silnik i względem tego punktu
się porusza
Quote:
- Z doświadczenia, podpowiem że jak chcesz to pchać do CNC to bez FF
będzie słabo,
Czas o tym pomyśleć

http://picasaweb.google.pl/lpiotr/TMS#5485166083819519762
Tutaj model silnika.