mnożnik kroków

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

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

#11

Post napisał: Leoo » 17 kwie 2007, 21:30

markcomp77 pisze:jest jeszcze taka możliwość algorytmu:

dane sterowane (STEP/DIR ze wszystkich osi) idą do bufora
tam są analizowane - i następuje odpowiednia aproksymacja...

i po jakimś czasie trafia to do sterowników juz przetworzone
Gratuluję pomysłowości (i ilości wolnego czasu).
Kolega zbuduje potrójny PID, tylko po to by sterować poprawnie krokowcem. Na koniec Kolega ustawi mikrokrok 1/16 i mnożnik x16... a może zostawić wszystko na 1:1? Wyjdzie na to samo.



Tagi:

Awatar użytkownika

markcomp77
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 8
Posty: 3975
Rejestracja: 18 wrz 2004, 12:51
Lokalizacja: k/w-wy
Kontakt:

#12

Post napisał: markcomp77 » 17 kwie 2007, 21:48

Leoo pisze:Kolega zbuduje potrójny PID
nie będę budował PIDa...
a jedynie równo porozdzielam w buforze N-kroczków między krokami na wszystkich osiach.. i tyle - jedyna kwestia to: "jakiej długości bufor zastosować i jaki kwant czasowy?"
SpotkanieCNC: STOM-TOOL Marzec 2014
http://www.cnc.info.pl/topics79/spotkan ... t55028.htm


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

#13

Post napisał: Leoo » 17 kwie 2007, 22:59

Siadając do projektu przyjmuję jakieś założenia.

Co Kolega chce osiągnąć?
Może jakieś przybliżone obiczenia?
Dla czego nie można kupić gotowych mnożników?

Awatar użytkownika

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

#14

Post napisał: Piotrjub » 17 kwie 2007, 23:02

Dla mnie wypowiedzi kolegi Leoo (zresztą i innych kolegów) na temat elektroniki są bardzo ciekawe i powodują że męczę swoich kolegów różnymi dziwnymi pytaniami bo niestety elektronika nie jest moja mocną stroną.
Ale wracając do praktycznej wiedzy –
Mnożnik kroku w moich serwach BLDC jest integralną jego częścią.
Znajomy pisał do mnie o firmowych serwonapędach jakie zastosował w swojej maszynie,
w serwonapędach oczywiście wbudowany jest mnożnik kroku. Jego słowa
„stosunek 1/10 to niestety daje wibracje silników. Przy stosunku 5/1 wibracje są do zaakceptowania.”
W zeszłym tygodniu zrobiliśmy nową koncepcję programową mnożnika, chodzi to bardzo ładnie i bardzo płynnie o żadnych takich wibracjach nie może być nawet mowy.
W programie do sterowania draiwerem BLDC (PC podłączony przez RS485 z draiwerem) jest możliwość przełączania pomiędzy nazwijmy starą wersja mnożnika a tą obecną. Przełączanie jak i sterowanie draiwerem możliwe jest w czasie rzeczywistym.
Efekt nowego mnożnika jest po prostu widoczny i słyszalny (postaram się w niedalekiej przyszłości zrobić krótki filmik).
Mnożnik kroku jaki zrobiliśmy w serwach BLDC jest nie do wykorzystania w silnikach krokowych (w silnikach krokowych mamy inny).
Wracając do mnożnika niestety nie mogę się zgodzić że mnożnik kroku „musi się mylić”.
Taka koncepcje chyba wyznaje Firma Gecko. Mogę (zresztą nie będzie problemu jeśli kolega Leoo chciałby naocznie sprawdzić w maszynie) stwierdzić że po długiej pracy silnik wróci do swojej pozycji bez żadnych przesunięć.
Stwierdzenie „mnożnik kroku zmniejsza aktualną rozdzielczość silnika krokowego lub enkodera serwa” jest nie precyzyjne bo z uwagi na mnożnik kroku nic się nie dzieje z rozdzielczością silnika krokowego czy enkodera serwa ono pozostaje ciągle takie same to tylko sterowanie np. MACH widzi to tak jakby rozdzielczość silnika krokowego lub enkodera serwo była ileś tam razy (tak jak mnożnik) mniejsza.
Na pewno można się zgodzić z jednym w dobrych sterowaniach nikt nie pomyśli o wykorzystaniu mnożnika kroku bo w takich już samo sterowanie wykorzysta na max możliwości napędu odwracając każde wykorzystanie mnożnika świadczy o ograniczonych możliwościach sterowania

Awatar użytkownika

markcomp77
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 8
Posty: 3975
Rejestracja: 18 wrz 2004, 12:51
Lokalizacja: k/w-wy
Kontakt:

#15

Post napisał: markcomp77 » 17 kwie 2007, 23:18

Leoo pisze:Dla czego nie można kupić gotowych mnożników?
bo wysiłek włożony w specjalizowane rozwiązanie sterujące przynosi większy zysk i możliwości...
rozważania i wykonanie mnożnika tak naprawdę daje więcej kasy twórcom programów takich jak mach... i jest jedynie "podrasowaniem" możliwości - ale jednak to zawsze krok do przodu :)
Leoo pisze:Może jakieś przybliżone obliczenia?
np. jako kwant czasowy przyjmujemy KWANT=1uS (lub coś koło tego)
uC wczytuje jak skaner to co przychodzi na STEP/DIR wszystkich osi co KWANT
a następnie już w buforze dokonuje zastąpienia 1 kroku - N krokami w równych odstępach (z dokładnością do KWANT)...
zawartość bufora wychodzi na wyjścia STEP/DIR sterowników

pytanie jak długi bufor? - za pewne trzeba by przeprowadzić badania statystyczne...
w przypadku kroków bardzo wolno powtarzających się... przekraczających pojemność bufora - trzeba dać N-koczków w obszarze dostępnym bufora...
Leoo pisze:Co Kolega chce osiągnąć?
coś działającego i satysfakcję ;)
SpotkanieCNC: STOM-TOOL Marzec 2014
http://www.cnc.info.pl/topics79/spotkan ... t55028.htm


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

#16

Post napisał: Leoo » 18 kwie 2007, 00:14

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?

Awatar użytkownika

markcomp77
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 8
Posty: 3975
Rejestracja: 18 wrz 2004, 12:51
Lokalizacja: k/w-wy
Kontakt:

#17

Post napisał: markcomp77 » 19 kwie 2007, 21:11

Leoo pisze:Co zrobi algorytm mnożnika, kiedy otrzyma jeden impuls STEP?
markcomp77 pisze:w przypadku kroków bardzo wolno powtarzających się... przekraczających pojemność bufora - trzeba dać N-koczków w obszarze dostępnym bufora...
czyli po otrzymaniu tylko jednego kroku... czekamy aż wystąpi następny
ale w granicach pewnej przyjętej dziedziny - po przekroczeniu pewnego czasu...
czasu równego wnoszonemu późnieniu - następuje wysłanie N kroków w równych interwałach czasowych

---

wracając do najprostrzego mnożenia kroku
algorytm polega po prostu na generowaniu N kroczków po każdym kroku pojawiającym się na wejściu... odstęp między kroczkami jest ustalany statycznie

czy taki algorytm coś daje?
łagodzi duże kroki - zastępując je N kroczkami które stanowią rodzaj łagodnej rampy - więc chyba warto... bo walnięcie "młoteczkiem" silnika krokowego będzie słabsze!

to jest algorytm w którym jest trudno o błąd ;)
SpotkanieCNC: STOM-TOOL Marzec 2014
http://www.cnc.info.pl/topics79/spotkan ... t55028.htm

Awatar użytkownika

Autor tematu
wood carver
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 4
Posty: 1243
Rejestracja: 28 lip 2006, 19:14
Lokalizacja: okolice Krakowa
Kontakt:

#18

Post napisał: wood carver » 19 kwie 2007, 22:59

osobiście nie zależy mi na rozdzielczosciach rzędu 1/128....1/256,ponieważ wwzrasta toleracnja błędu przesuniecia wirnka... interesuje mnie praca chodźby na rodzielczosci 1/32....1/16 przy 45khz już ogranicza prędkosciowo moje silniki....

kobyłki 8,5Nm, przy konkretnym driverze, można rozbujac do 1500 rpm zachowując moment w granicach 1Nm!!( 1Nm- ocena na "czuja" i na podstawie tabel zależnosci prędkosci i momentu...nie mam możliwosci zmierzyc momentu podczas takiej prędkosci, jednak jest on ciągle dosyc spory ) silnik przy 1/8 , napieciu prawie 70V !!!!!

myśle ze praca przy rozdzielczosci 1/32....poprawiła by ten rezultat
Ostatnio zmieniony 20 kwie 2007, 08:14 przez wood carver, łącznie zmieniany 1 raz.

Awatar użytkownika

markcomp77
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 8
Posty: 3975
Rejestracja: 18 wrz 2004, 12:51
Lokalizacja: k/w-wy
Kontakt:

#19

Post napisał: markcomp77 » 19 kwie 2007, 23:06

wood carver pisze:kobyłki 8,5Nm, przy konkretnym driverze, można rozbujac do 1500 rpm zachowując moment w granicach 1Nm
25 obr/sek - całkiem nieźle !
wood carver pisze:myśle ze praca przy rozdzielczosci 1/32....poprawiła by ten rezultat
to niema znaczenia - morfing kroku i tak redukuje podział krokowy dla większych prędkości... to pozwala na pełniejszą magnetyzację sterowania pełno-krokowego (lepszy moment) - i osiąganie większych prędkości obrotowych

zadaniem mnożnika - będzie osłabienie "młota" przy mniejszych prędkościach ;)
SpotkanieCNC: STOM-TOOL Marzec 2014
http://www.cnc.info.pl/topics79/spotkan ... t55028.htm

Awatar użytkownika

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

#20

Post napisał: Piotrjub » 19 kwie 2007, 23:44

wood carver pisze:osobiście nie zależy mi na rozdzielczosciach rzędu 1/128....1/256,ponieważ wwzrasta toleracnja błędu przesuniecia wirnka..
a skąd kolega sobie wziął takie dane.

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Elektronika CNC”