1kW sinusoidalny AC servo naped za 168 Euro

Dyskusje dotyczące serwonapędów i napędów serwokrokowych.

olo_3
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 6
Posty: 1249
Rejestracja: 31 sie 2004, 22:25
Lokalizacja: EU

#31

Post napisał: olo_3 » 09 paź 2007, 02:32

nowoczesne maszyny przemysłowe przemieszczają się po miedzy 60-120m/min i nikogo to nie dziwi (z wyjątkiem kilku osób na forum)
pomijając wciąż drogie silnik linowe większość tych maszyn ma śruby o dużym skoku, enkodery w takim wypadku nie są zbyt wypasione, a głównym systemem pomiarowym są oczywiście listwy (ostatnio prowadnice z zintegrowanym systemem pomiarowym - awaryjnym podobno) o wysokiej dokładności i punkcie referencyjnym co 25mm

weźmy dla przykładu Hueller Hille nbh 350 o masie wlasnej 43t i prędkości 50m/min (mniejsze modela maja: 70m na przykład NBH95 speed o masie 13,5t)
http://www.hueller-hille.com/de/product ... daten.html
http://www.hueller-hille.com/de/product ... chine.html
to akurat nie jest demon szybkości albowiem centrum obróbcze,

to tak w formie ciekawostki.

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

rockykon,
jak rozpędzone serwo o mocy 1kw uderzy w cos tam ... to tylko wióry z tego czegos tam poleca- do wymiany cal os łączenie ze śrubami i prowadnicami, kto wie czy nie gorzej.
Leoo,
nie jestem pewien czy przy definiowanym polu jak przesuniesz punk referencyjny - to będzie działać.
walter~,
warto jeszcze dodać ze w starszych maszynach cnc zostawia się osie po srodku przelotu aby mogły sobie swobodnie dojechać do p.r. w przypadku tego sterownika tez tak trzeba robić, natomiast są dwa problemy: często się zdarza ze hamulce (jak maszyna jest na urlopie kilka dni, albo pracuje na półetatu) popuszczaj i osie wiszące spadaja na zderzaki (to jest powolny proces, ale jest). w omawiamy sterowniku pozostaje tylko ręczne odkręceni śruby przed włączeniem zasilana. drugim problemy jest zanik napicia ( Estop - różnie ludzie kombinują) w momencie jak maszyna będzie zbyt blisko końca osi- po ponownym podaniu zasilania jest kryzys.
generalnie sterownik fajny i tani, ja jednak poczekam na krajowe


Zwątpienie jest oznaką, że podążasz w dobrym kierunku.

Tagi:


vector11
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 17
Posty: 296
Rejestracja: 31 gru 2004, 01:18
Lokalizacja: N1 NOKTO

#32

Post napisał: vector11 » 09 paź 2007, 02:48

hie, zrobiłem ekspeeryment - podłączyłem napęd, a właściwie to 3 razy - komutacja z enkodera, enkoder + hall i same hallotrony; obojętnie co ma podłączone, to jak się raz stuninguje silnik, to potem mozna sobie zasilanie włączać i wyłączać i żadnych obrotów nie robi po włączeniu - od razy jest gotowy do pracy;


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

#33

Post napisał: jarekk » 09 paź 2007, 07:11

Olo

Wiadomo, jak maszyna wykorzystywana jest profesjonalnie ( lub po prostu zarabia na siebie), to montuje się enkodery absolutne i nie ma dyskusji - wtedy nie będzie możliwości pomyłki.

Natomiast chcąc mieć tanie sterowanie trzeba się sporo natrudzić.
Poprzednio chyba trochę za słobo opisałem algorytm pracy takiego sterownika.


Sterownik nie potrzebuje położenia absolutnego wału - do prawidłowej i efektywnej komutacji wystarczy tak naprawdę polożenie kątowe wału w zakresie 0..360 stopni.

Tylko jak to uzyskać gdy znika napięcie zasilania ?
Sposobów jest kilka:
- czujniki halla w silniku - oczywista sprawa (wynik przybliżony)
- enkoder aboslutny na silniku - również ( ale wymaga aby raz go skalibrować)
- włączanie po starcie ( lub lepiej za pozwoleniem operatora) procedury kalibracji przy której wał silnika trochę się obróci w przypadkową stronę - o tym też już rozmawialiśmy.

To co się robi dla silników BLDC ( ale raczej nie w serwach ) to analiza BEMF ( dziękuje za poprawnie mnie kolego Leo ). Sprawa polega (w uproszczeniu) na analizie sygnałów zwrotnych z aktualnie nie zasilanych uzwojeń silnika BLDC. Wymaga to aby silnik kręcił się już z pewną prędkoscią ( inaczej sygnał jest za słaby do analizy). Dla serwa takie podejście jest niepraktyczne - są wymagania na obroty minimalne ( poniżej komutacja jest "w ciemno" ), algorytm zawodzi przy szybkozmieniających się obciążeniach silnika.

To co ja proponuję, to procedura kalibracji (wymagana raz po zestawieniu silnika z enkoderem) - po prostu puszczamy oś bez obciążenia z pewną prędkością aby sterownikj zapisał sobie w pamięci jakie jest "przesunięcie" pomiędzy sygnałem home a "kątem zerwoym" komutacji, wyliczonym na podstawie analizy BEMF. Nie jest potrzebny oscyloskop.

W trakcie normalnej pracy problem pojawią się tylko przy pierwszym obrocie daną osią - do momentu pojawienia się impulsu home. Do tego czasu pracować możemy jedynie z komutacją " w ciemno" - czyli z mniejszą prędkością.

Taki kompromis wydaje mi się już do zaakceptowania - kalibracja sterowników zawsze można wykonać przy bazowaniu maszyny.


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

#34

Post napisał: Leoo » 09 paź 2007, 09:53

Widać producent sterownika przyjął strategię kolegi jarekk.
Może i to dobry pomysł?
Powiedzmy, że maszyna ma się poruszać powoli - mam taki kaprys. Sygnał BEMF nie pojawi się nigdy! Cała procedura kalibracji kąta komutacji względem enkodera jest bezużyteczna.
Kolega zna sposób komutacji dla BLDC. Bez wnikania w szczegóły można powiedzieć, że mamy sekwencje A-B-C-D-E-F. Załóżmy, że wywołując je rosnąco otrzymujemy rotację wprawo, natomiast w sekwencji F-E-D-C... silnik obraca się wlewo. Efektem wykonania kroku jest zmiana stanu enkodera i tak naprawdę tylko to nas interesuje. Jeśli chcemy by sygnał z enkodera narastał, to generujemy komutację A-B-C-D-E-F, odwrotną gdy chcemy by malał. To wszystko.
Powiedzmy, że teraz chcę by maszyna pracowała na największych możliwych posuwach. Silniki będą wchodziły w zakres obrotów, przy których BEMF będzie czytelny. Po rozpoczęciu szybkiego ruchu nie widzę problemu, by sobie synchronizować enkoder z BEMF i powiedzmy zachować ustawienie do końca pracy. Natomiast jaki kąt komutacji wybrać, z zakresu 0 do 30°, to już zupełnie inna kwestia.

Awatar użytkownika

Piotrjub
Moderator
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 5
Posty: 1494
Rejestracja: 11 kwie 2005, 13:00
Lokalizacja: Gdansk

#35

Post napisał: Piotrjub » 09 paź 2007, 18:12

W naszym draiwerze ustalenie odbywa sie oczywiście na nieruchomym silniku - zresztą jak porównam do znanych i bardzo dobrych firm to w każdym wypadku tak to powinno sie odbywać kolega vektor11 pisze zresztą o tym
"to potem można sobie zasilanie włączać i wyłączać i żadnych obrotów nie robi po włączeniu - od razy jest gotowy do pracy"
Ostatnio kupowaliśmy właśnie do tego opracowanie pewnej uczelni w Japonii ale nie jesteśmy do końca z ich metody zadowoleni nad tym ciągle jeszcze pracujemy (udoskonalamy tą opcję)


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

#36

Post napisał: jarekk » 09 paź 2007, 18:31

Widać producent sterownika przyjął strategię kolegi jarekk.
Może i to dobry pomysł?
Nie do końca - producent tego sterownika chyba nie używa sygnału HOME z enkodera, tylko "przygrzewa" prądem silnik na początku, aby ustalić kąt komutacji ( potem go już pamięta).
Niestety wtedy silnik zazwyczaj zmieni położenie wału przy starcie.

To co ja proponowałem nie zmieniało położenia wału przy starcie - po prostu przez maksymalnie pierwszy obrót ( do pierwszego pojawienia się pierwszego impulsu home) silnik chodził na komutacji "recznej" ( tak jak kolega Leo opisywał). Potem, po pojawieniu się impulsu Home silnik używał już tylko odczytów z enkodera aby wyliczyć kąt wału oraz prawidłowo ustawiać komutację. I tak mozna działać aż do wyłączenia sterowanika - teraz już dla dowolnych prędkości. Teraz już mamy typowo rozdzielczość rzędu ulamków stopnia i można rozpędzać silnik do maksymalnych prędkości.

Cała idea polaga na tym, że jak raz ustalimy położenie wału względem pozycji wzorcowej ( którą osiągnęliśmy przy kalibracji podczas montażu silnika z enkoderem) to potem pamiętamy jej "doległość" od pozycji w której dostajemy impuls Home ( mierzoną w impulsach). Jest to bezpośrednio przeliczalne na kąt.
Ostatnio zmieniony 09 paź 2007, 18:34 przez jarekk, łącznie zmieniany 1 raz.


vector11
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 17
Posty: 296
Rejestracja: 31 gru 2004, 01:18
Lokalizacja: N1 NOKTO

#37

Post napisał: vector11 » 09 paź 2007, 18:34

no właśnie, bo sobie nie mogłem przypomnieć, abym widział profesjonalny driver, który po każdym włączeniu by kręcił silnikiem...


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

#38

Post napisał: Leoo » 09 paź 2007, 20:18

Mamy kilku zainteresowanych i możemy poteoretyzować.
Kolega jarekk proponuje wykorzystać sygnał HOME, który zwykle pojawia się raz na obrót. Nie ma sprawy, CPU może mierzyć czas względem punktu HOME a potem go konsekwentnie odliczać w celu "trafienia" z kolei w wykalkulowany kąt komutacji i ewentualnie korygować obliczenia, bo np. silnik napotkał opór lub zminiejszyło się obciążenie i "pobiegł" za daleko. W końcu po to jest procesor. Tylko czy przypadkiem HOME enkodera nie "udaje" (z bardzo słabą jakością) czujników Halla, które dawały 100% pewne sygnały o położeniu czoła magnesu względem nabiegunnika? Moim zdaniem CPU powinien koncentrować działanie nad obliczeniami PID, enkoderem, sygnałami sterującymi itd. HOME najlepiej jak służy maszynie a nie sterownikowi.
Powiedzmy, że nowy właściciel maszyny zapragnął wykręcić silnik by się mu przyjrzeć. Po złożeniu napędu okazuje się, że "rozrząd nie trafia".

Jeszcze pytanko do kolegi Piotrjub: czy wymienione opracowania faktycznie wnoszą coś nowego, są w jakiś sposób odkrywcze? O cenę to nawet nie zapytam.


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

#39

Post napisał: jarekk » 09 paź 2007, 21:22

Leoo pisze:Kolega jarekk proponuje wykorzystać sygnał HOME, który zwykle pojawia się raz na obrót. Nie ma sprawy, CPU może mierzyć czas względem punktu HOME a potem go konsekwentnie odliczać w celu "trafienia" z kolei w wykalkulowany kąt komutacji i ewentualnie korygować obliczenia, bo np. silnik napotkał opór lub zminiejszyło się obciążenie i "pobiegł" za daleko. W końcu po to jest procesor. Tylko czy przypadkiem HOME enkodera nie "udaje" (z bardzo słabą jakością) czujników Halla,
Chyba jednak nie rozumiemy się do końca - sygnał Home służy tylko do jednorazowego "spasowania" wcześniej ustalonego kąta komutacji.
Działa to w ten sposób:

1)Przy procedurze kalibracji wyszło nam, że komutacja(jej początek) "nadbiegunnika 1" odbywa się w odległości 100 impulsów enkodera inkrementalnego od momentu pojawienia się impulsu home. Wartość tę zapisujemy do eepromu/flasha.
Załóżmy, że mamy enkoder 360 impulsów na obrót ( wartość nie gra roli, ale przy tej dobrze się liczy)

2) Przy każdym starcie sterownika odczytujemy zapisaną wartość.

3) komutujemy "ręcznie" do momentu pojawienia się pierwszego sygnału "home"
W tym momencie wiemy, że komutacja "nadbiegunnika 1" jest oddalona o 100 impulsów ( możemy to łatwo przeliczyć na stopnie - będzie to 100 stopni).

Tutaj właśnie jest miejsce w którym chyba nie do końca się rozumiemy - w tej chwili mogę ustawić przerwania tak, aby co 10 impulsów enkodera ( w sensie wzrostu o 10 ) generowało mi się przerwanie. Wtedy będę mógł sterować komutacją z dużo wiekszą dokładnością niż z czujnków Halla. Mogę też to ustawić co 1 impuls - w praktyce trzeba by znaleźć sensowną wartość.

W opisanym układzie można komutować z dokładnością do 1 stopnia ( nie ma to co prawda sensu, bo i kalibracja nie jest w 100% dokładna). Nie gra roli obcziążenie silnika, bo dostajemy w efekcie kąt pomiędzy referencyjnym punktem komutacji a aktualnym położeniem wału. Czyli w idelanym przypadku rezultat jak z enkodera absolutnego - w realnym przypadku wartość będzie bardzo zbliżona.

A jak ktoś rozbierze enkoder z silnika - to jego problem aby maszynę ponownie skalibraować. Jak ktoś zdejmie enkoder aboslutny z silnika i wloży go ponownie w przypadkowej pozycji to też wszystko się spieprzy.

[ Dodano: 2007-10-09, 21:30 ]
Leoo pisze: Jeszcze pytanko do kolegi Piotrjub: czy wymienione opracowania faktycznie wnoszą coś nowego, są w jakiś sposób odkrywcze? O cenę to nawet nie zapytam.
W przypadku Microchipa opracowania są bezpłatne (bardzo chcą sprzedawać swoje chipy :-) ). I naprawdę bardzo pomocne, bo robione na ich zestawie ewaluacyjnym do "Motor Control". W praktyce wymagają tylko niewielkiej produktyzacji aby zrobić z nich dobre produkty. Dzięki tym opracowaniom mogę tu podjąć dyskusję na temat sterowania BLDC.


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

#40

Post napisał: Leoo » 09 paź 2007, 22:02

jarekk pisze:Tutaj właśnie jest miejsce w którym chyba nie do końca się rozumiemy - w tej chwili mogę ustawić przerwania tak, aby co 10 impulsów enkodera ( w sensie wzrostu o 10 ) generowało mi się przerwanie. Wtedy będę mógł sterować komutacją z dużo wiekszą dokładnością niż z czujnków Halla. Mogę też to ustawić co 1 impuls - w praktyce trzeba by znaleźć sensowną wartość.
To jest miejsce, wktórym Kolega z bezczujnikowego robi silnik z podwójnym czujnikiem. W takim układzie kontrolowanie BEMF jest bez sensu, gdyż HOME dostarcza impulsu wzorcowego, który został wykalibrowany w fabryce. Nie przekonał mnie Kolega. Osobiście nie podobają mi się produkty Microchipa a zwłaszcza odprawianie "czarów" w postaci sekwencji dziwacznych rozkazów bez, których timer, czy inne zasoby zwyczajnie nie będą działały. Może teraz poprawili się, miałem do czynienia z serią PIC12, PIC16.

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Serwomotory / Serwonapędy / Napędy Serwokrokowe”