Piotrjub pisze:Wracając do mnożnika niestety nie mogę się zgodzić że mnożnik kroku „musi się mylić”.
Taka koncepcje chyba wyznaje Firma Gecko.
Firma Gecko zbudowała swój sterownik serwa w oparciu o analogowy PID. Dla tego zestrojenie mnożnika jest trudne a wręcz niemożliwe.
Odnośnie mnożnika do krokowców. Kolega robił testy praktyczne, w których silnik wracał do swojej pierwotnej pozycji. Jeśli algorytm jest symetryczny to błędy się powiększają a następnie zmniejszają, bilans wyjdzie na "0". Prawdziwy test mnożnika wymaga liniału i naprawdę dynamicznej jazdy. Nie twierdzę, że się "nie da" - to puste słowa. Wszystko można zrobić, kwestia nakładów i potrzeby. Konkretnie, w przypadku krokowca, algorytm musi być wyprzedzający czyli PID. Tu nie ma możliwości korekty w niewłaściwym momencie, gdyż stracimy krok lub zyskamy nadmiarowy. Jadąc tam i z powrotem błędy się wyzeruą ale najmniejsza "czkawka" z sterowaniu silnika synchronicznego może, w pewnych warunkach obciążenia, spowodować utratę kroku. W przypadku serwa możemy sobie korygować wręcz po dojechaniu do celu - to układ nadążny.
To się kolega
wood carver ucieszy, z pewnością Jego problem zostanie pomyślnie rozwiążany.
[ Dodano: 2007-04-18, 20:33 ]
Pozwolę sobie jeszcze nieco "podrążyć" temat mnożnika.
Powiedzmy, że mam silnik o rozdzielczości 100 kroków. Nie zadowala mnie prędkość silników (podobnie jak kolegę
wood carver) więc montuję mnożnik x5. Początkowa rozdzielczość maszyny wynosiła 0,01mm aktualna to 0,05mm, gdyż silnik nie zatrzyma się w pozycji 1, 2 czy 3 jednynie w 5, 10, 15 itd. (czy przypadkiem nie straciliśmy rozdzielczości?). W celu skompensowania utraty rozdzielczości uruchamiam mikrokrok sterownika 1/5 (powiedzmy, że mam taki sterownik). Taka operacja ma sens, gdyż silnik pracuje bardziej płynnie ale prędkość obrotowa spadła do pierwotnej wartości.
Nas natomiast interesuje mikrokrok 1/256, który dla silnika 1,8° i prędkości obrotowej 1000/min będzie wymagał sygnału STEP na poziomie 853333Hz. Realny mnożnik, który można "wyprodukować" to x10, tak więc osiągnęliśmy 85333Hz. Wynik marny zwłaszcza, że kręcimy tylko 1000obr/min a i tak nie mieścimy się w 45000Hz. Zamiast 1000 uzyskamy 527obr/min za to w jakim stylu!
O ile się nie mylę, dokładność ustawienia wirnika, dla pełnego kroku, jest w granicach 3 do 5%, co daje 20 do 33 mikrokroków o wartości błędu. Oznacza to ni mniej ni więcej tyle, że nawet nie wykonanie jednego w/w mikrokroku jest jak najbardziej prawidłowym zachowaniem wpełni sprawnego silnika!
Dla czego o tym piszę? Realny mikrokrok to 1/16 do 1/32, oczywiście można stosować większy podział ale jak wyżej. Stosując większy mikrokrok nie należy spodziewać się "wyduszenia" z silnika choćby mN momentu czy mW mocy węcej.
Nie twierdzę, że mnożnik kroku jest całkowicie bezużyteczny, pewnie znajdą się przykłady jego przydatności.
Teraz pytanie do kolegi
markcomp77:
Co zrobi algorytm mnożnika, kiedy otrzyma jeden impuls STEP?