Jak optymalnie sterować silnikiem krokowym przy dużych masach - zmienne przyspieszenie?

Sprytne sterownie silnika krokowego





Poprzedni Następny
Wiadomość
Spis treści
From: Sebastian Bialy <heby_at_nospam_poczta.onet.pl>
Subject: Sprytne sterownie silnika krokowego
Date: Thu, 28 Jul 2005 00:25:55 +0200


Witam!

Szyje sobie sterownik do krokowca. Żadna filozofia, jednak naszły mnie
pewnę wątpliwości, na razie teoretyczne, ale .... kto wie:

Zakładam, że sterownik realizuje polecenie: przekręć silnik o n kroków i
nie przekraczaj prękości v.

Zakładam, że znam moment bezwładności masy obracanej przez silnik.

No i teraz tak mnie naszło: zakładam, że chcę dotrzeć z pozycji p1 do
pozycji p2. Nie mogę od razu wejśc na maksymalną prędkośc v. Może się
okazać, że zgubie kroki. Powinienem więc powoli rozpędzać silnik i
powoli hamować.

Jednak co, jesli mamy sporą masę do przekrecenia - silnik przy
zwiększanej prędkości słabnie. Sugerowało by to, ze przyśpieszenie
powinno maleć wraz ze zwiększaniem się prędkości.

Przypuszczam, że znając moment obrotowy silnika przy danej prędkości
oraz moment bezwładności masy jestem w stanie bezpiecznie wyliczyć o ile
można w danym momencie przyśpieszyć/wyhamować.

Pytanie 1: Czy tak to się robi w fabrycznych sterownikach ? Mam na myśli
malejące przyśpieszenie wraz z rosnącą prędkością.

Pytanie 2: Czy istnieje gdzies opis algorytmu przyśpieszania/hamowania
silnika krokowego z dużą masą ? Chodziło by mi o kształt charakterystyki
prędkości w czasie/przyśpieszenia w czasie. Być może da się to jakoś
aproksymować.

Na razie zrobiłem to tak, że przyśpieszenie jest stałe do osiągnięcia
maksymalnej prędkości. Jednak obawiam się że przy większych masach na
wirniku może zacząć gubić kroki pod koniec procesu przyśpieszania.

--
Sebastian Bialy - heby_at_nospam_poczta.onet.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "PAndy" <pandrw_at_nospam_poczta.onet.pl>
Subject: Re: Sprytne sterownie silnika krokowego
Date: Thu, 28 Jul 2005 02:08:33 +0200



"Sebastian Bialy" <heby_at_nospam_poczta.onet.pl> wrote in message
news:dc91ls$hb9$1_at_nospam_nemesis.news.tpi.pl...
Witam!

Szyje sobie sterownik do krokowca. Żadna filozofia, jednak naszły mnie
pewnę wątpliwości, na razie teoretyczne, ale .... kto wie:

Zakładam, że sterownik realizuje polecenie: przekręć silnik o n kroków i
nie przekraczaj prękości v.

Zakładam, że znam moment bezwładności masy obracanej przez silnik.

No i teraz tak mnie naszło: zakładam, że chcę dotrzeć z pozycji p1 do
pozycji p2. Nie mogę od razu wejśc na maksymalną prędkośc v. Może się
okazać, że zgubie kroki. Powinienem więc powoli rozpędzać silnik i
powoli hamować.

Jednak co, jesli mamy sporą masę do przekrecenia - silnik przy
zwiększanej prędkości słabnie. Sugerowało by to, ze przyśpieszenie
powinno maleć wraz ze zwiększaniem się prędkości.

Przypuszczam, że znając moment obrotowy silnika przy danej prędkości
oraz moment bezwładności masy jestem w stanie bezpiecznie wyliczyć o ile
można w danym momencie przyśpieszyć/wyhamować.

Pytanie 1: Czy tak to się robi w fabrycznych sterownikach ? Mam na myśli
malejące przyśpieszenie wraz z rosnącą prędkością.

Poszukaj takiej ksiazki: " Pieńkos J., Moszczyński S., Pluta A.: Układy
mikroprocesorowe 8080/8085 w modułowych systemach sterowania. WKiŁ, Warszawa
1988", tam bylo kilka fajnych wskazowek dotyczacych sterowania silnikami
krokowymi - na praktycznych przykladach - ksiazka dobrze opisywala rodzine
8080 na przykladzie polskich urzadzen do produkcji elementow
polprzewodnikowych...

> Pytanie 2: Czy istnieje gdzies opis algorytmu przyśpieszania/hamowania
silnika krokowego z dużą masą ? Chodziło by mi o kształt charakterystyki
prędkości w czasie/przyśpieszenia w czasie. Być może da się to jakoś
aproksymować.

Chyba najlepiej bedzie jak pojdziesz na strone firm robiacych scalone
kontrolery silnikow krokowych - mysle ze podziela sie choc czesciowo
know-how
zacznij moze na poczatek od http://www.trinamic.com

Na razie zrobiłem to tak, że przyśpieszenie jest stałe do osiągnięcia
maksymalnej prędkości. Jednak obawiam się że przy większych masach na
wirniku może zacząć gubić kroki pod koniec procesu przyśpieszania.

Moze mikrokroki i lagodne rozpedzanie - silnik nie traci wtedy zbyt duzo z
momentu a plynnie wejdzie na zadana predkosc.



Poprzedni Następny
Wiadomość
Spis treści
From: Sebastian Bialy <heby_at_nospam_poczta.onet.pl>
Subject: Re: Sprytne sterownie silnika krokowego
Date: Thu, 28 Jul 2005 08:53:14 +0200


PAndy wrote:
Poszukaj takiej ksiazki: " Pieńkos J., Moszczyński S., Pluta A.: Układy
mikroprocesorowe 8080/8085 w modułowych systemach sterowania. WKiŁ, Warszawa
1988", tam bylo kilka fajnych wskazowek dotyczacych sterowania silnikami
krokowymi - na praktycznych przykladach - ksiazka dobrze opisywala rodzine
8080 na przykladzie polskich urzadzen do produkcji elementow
polprzewodnikowych...

Będzie problem, ale pomęczę okoliczną bibliotekę.

Chyba najlepiej bedzie jak pojdziesz na strone firm robiacych scalone
kontrolery silnikow krokowych - mysle ze podziela sie choc czesciowo
know-how
zacznij moze na poczatek od http://www.trinamic.com

Na razie rozmyślam sobie teoretycznie. Może coś mi się z tego wymyśli
więc problem nie jest naglący.
Moze mikrokroki i lagodne rozpedzanie - silnik nie traci wtedy zbyt duzo z
momentu a plynnie wejdzie na zadana predkosc.

Hmmm ale tak się zastanawiam co by miały mikrokroki do mojego problemu:
ja nie potrzebuje zwiększać rozdzielczości sterownika, tylko znaleźć
metodę nie gubienia kroków przy rozpędzaniu masy. W zasadzie powyżej
pewnych predkości mikrokroki nie będą wyczuwalne.

--
Sebastian Bialy - heby_at_nospam_poczta.onet.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "X t l a n" <x t l a n _at_nospam_ i n t e r i a . p l>
Subject: Re: Sprytne sterownie silnika krokowego
Date: Thu, 28 Jul 2005 15:38:49 +0200



Hmmm ale tak się zastanawiam co by miały mikrokroki do mojego
problemu:
ja nie potrzebuje zwiększać rozdzielczości sterownika, tylko znaleźć
metodę nie gubienia kroków przy rozpędzaniu masy. W zasadzie powyżej
pewnych predkości mikrokroki nie będą wyczuwalne.

Olać mikrokroki. Przy pozycjach przewidzianych na mikrokroki nie
wszystkie uzwojenia pracują i wtedy dopiero się traci na mocy.
Zasadniczo można zwiększyć prąd, ale przecież silnik ma swoje granice
także mikrokroki to chyba nie najlepsze rozwiązanie.


Poprzedni Następny
Wiadomość
Spis treści
From: "PAndy" <pandrw_at_nospam_poczta.onet.pl>
Subject: Re: Sprytne sterownie silnika krokowego
Date: Thu, 28 Jul 2005 16:02:15 +0200



"X t l a n" <x t l a n _at_nospam_ i n t e r i a . p l> wrote in message
news:dcan7c$1us$1_at_nospam_news.onet.pl...

Hmmm ale tak się zastanawiam co by miały mikrokroki do mojego
problemu:
ja nie potrzebuje zwiększać rozdzielczości sterownika, tylko znaleźć
metodę nie gubienia kroków przy rozpędzaniu masy. W zasadzie powyżej
pewnych predkości mikrokroki nie będą wyczuwalne.

Olać mikrokroki. Przy pozycjach przewidzianych na mikrokroki nie
wszystkie uzwojenia pracują i wtedy dopiero się traci na mocy.
Zasadniczo można zwiększyć prąd, ale przecież silnik ma swoje granice
także mikrokroki to chyba nie najlepsze rozwiązanie.

Sprawa nie jest trywialna... a w sterowaniu mikrokorokowym pozwole sobie
zacytowac kawalek z drugiego linka:
" Microstepping serves two purposes. First, it allows a stepping motor to
stop and hold a position between the full or half-step positions, second, it
largely eliminates the jerky character of low speed stepping motor operation
and the noise at intermediate speeds, and third, it reduces problems with
resonance."
A wiec tak naprawde mikrokrok moze zwiekszyc rozdzielczosc silnika ale co
wazne a czasem nawet wazniejsze pozwala na zlikwidowanie badz
zminimalizowanie rezonansow - to wlasnie krytyczne jest z punktu widzenia
gubienia krokow...

http://www.automatykaonline.pl/poradnik/artykuly.php?kat=4&l=0
http://www.cs.uiowa.edu/~jones/step/index.html




Poprzedni Następny
Wiadomość
Spis treści
From: "X t l a n" <x t l a n _at_nospam_ i n t e r i a . p l>
Subject: Re: Sprytne sterownie silnika krokowego
Date: Thu, 28 Jul 2005 16:18:47 +0200


" Microstepping serves two purposes. First, it allows a stepping motor
to
stop and hold a position between the full or half-step positions,
second, it largely eliminates the jerky character of low speed
stepping
motor operation and the noise at intermediate speeds, and third, it
reduces problems with resonance."
A wiec tak naprawde mikrokrok moze zwiekszyc rozdzielczosc silnika ale
co
wazne a czasem nawet wazniejsze pozwala na zlikwidowanie badz
zminimalizowanie rezonansow - to wlasnie krytyczne jest z punktu
widzenia
gubienia krokow...
http://www.automatykaonline.pl/poradnik/artykuly.php?kat=4&l=0
http://www.cs.uiowa.edu/~jones/step/index.html

Wydaje mi się, że tutaj chodzi o rezonanse przy dużych prędkościach, nie
koniecznie przy dużym obciążeniu silnika. Po prostu jeśli chcesz
wycisnąć większą prędkość przy wysokich częstotliwościach warto też
przechodzić przez mikrokroki, ale nie bardzo pewien jestem, jak to się
ma do dużego obciążenia silnika np. przez tarcie. W sumie faktycznie.
Jeśli wirnik będzie "przepychany" przez więcej pozycji, powinno to też
poniekąd mieć lepszy wpływ na możność obciąenia go solidnie, tylko że
trzeba też wtedy myśleć o czasie rozładowywania uzwojeń itp. (jeśli mowa
o dużych prędkościach).


Poprzedni Następny
Wiadomość
Spis treści
From: "PAndy" <pandrw_at_nospam_poczta.onet.pl>
Subject: Re: Sprytne sterownie silnika krokowego
Date: Thu, 28 Jul 2005 16:27:08 +0200



"X t l a n" <x t l a n _at_nospam_ i n t e r i a . p l> wrote in message
news:dcapi6$728$1_at_nospam_news.onet.pl...
" Microstepping serves two purposes. First, it allows a stepping motor
to
stop and hold a position between the full or half-step positions,
second, it largely eliminates the jerky character of low speed
stepping
motor operation and the noise at intermediate speeds, and third, it
reduces problems with resonance."
A wiec tak naprawde mikrokrok moze zwiekszyc rozdzielczosc silnika ale
co
wazne a czasem nawet wazniejsze pozwala na zlikwidowanie badz
zminimalizowanie rezonansow - to wlasnie krytyczne jest z punktu
widzenia
gubienia krokow...
http://www.automatykaonline.pl/poradnik/artykuly.php?kat=4&l=0
http://www.cs.uiowa.edu/~jones/step/index.html

Wydaje mi się, że tutaj chodzi o rezonanse przy dużych prędkościach, nie
koniecznie przy dużym obciążeniu silnika. Po prostu jeśli chcesz
wycisnąć większą prędkość przy wysokich częstotliwościach warto też
przechodzić przez mikrokroki, ale nie bardzo pewien jestem, jak to się
ma do dużego obciążenia silnika np. przez tarcie. W sumie faktycznie.
Jeśli wirnik będzie "przepychany" przez więcej pozycji, powinno to też
poniekąd mieć lepszy wpływ na możność obciąenia go solidnie, tylko że
trzeba też wtedy myśleć o czasie rozładowywania uzwojeń itp. (jeśli mowa
o dużych prędkościach).

IMO caly czas obracamy sie wlasnie w polu kiedy silnik zachowuje sie jak
silnik a nie przestaje reagowac na pobudzenie bo jest ono juz dla niego zbyt
szybkie... , w praktyce moze sie okazac ze przy oczekiwanej predkosci silnik
krokowy sie zupelnie nie sprawdzi, bo nawet przy sterowaniu mikrokrokowym
nalezy pamietac ze jednak pelen obrot silnika sklada sie z ilus tam
dyskretnych krokow... i absolutnie nie jest on w stanie konkurowac z
normalnymi silnikami na tym polu... (w rozumieniu wiekszej predkosci)



Poprzedni Następny
Wiadomość
Spis treści
From: "X t l a n" <x t l a n _at_nospam_ i n t e r i a . p l>
Subject: Re: Sprytne sterownie silnika krokowego
Date: Thu, 28 Jul 2005 17:07:13 +0200


IMO caly czas obracamy sie wlasnie w polu kiedy silnik zachowuje sie
jak
silnik a nie przestaje reagowac na pobudzenie bo jest ono juz dla
niego

Tylko że to zależy także od obciążenia go (siła, której przeciwdziała).
Co innego bezpieczna prędkość max. nieobciążonego, a co innego
bezpieczna prędkość max. przeciwdziałającego dużej sile. Trzeba też
pamiętać, że silnik działa jak silnik póki ta siła nie jest większa, niż
dopuszczalna katalogowa. My dyskutujemy raczej o zachowaniach
granicznych silnika krokowego teraz, prawda?

zbyt szybkie... , w praktyce moze sie okazac ze przy oczekiwanej
predkosci silnik krokowy sie zupelnie nie sprawdzi, bo nawet przy
sterowaniu mikrokrokowym nalezy pamietac ze jednak pelen obrot silnika
sklada sie z ilus tam dyskretnych krokow... i absolutnie nie jest on w
stanie konkurowac z normalnymi silnikami na tym polu... (w rozumieniu
wiekszej predkosci)

Pewnie i nie, choć teraz jest cała masa różnych rozwiązań dla silników
krokowych, a silniki krokowe też przeżyły ewolucję. Zakładam, że skoro
dyskutujemy o tym problemie, to kolega ma jakiś powód, by to był silnik
krokowy - choćby powodem miałaby być sama dyskusja nt. bo jest ...
ciekawa(?)


Poprzedni Następny
Wiadomość
Spis treści
From: "PAndy" <pandrw_at_nospam_poczta.onet.pl>
Subject: Re: Sprytne sterownie silnika krokowego
Date: Thu, 28 Jul 2005 18:40:41 +0200



"X t l a n" <x t l a n _at_nospam_ i n t e r i a . p l> wrote in message
news:dcasbs$cuq$1_at_nospam_news.onet.pl...
IMO caly czas obracamy sie wlasnie w polu kiedy silnik zachowuje sie
jak
silnik a nie przestaje reagowac na pobudzenie bo jest ono juz dla
niego

Tylko że to zależy także od obciążenia go (siła, której przeciwdziała).
Co innego bezpieczna prędkość max. nieobciążonego, a co innego
bezpieczna prędkość max. przeciwdziałającego dużej sile. Trzeba też
pamiętać, że silnik działa jak silnik póki ta siła nie jest większa, niż
dopuszczalna katalogowa. My dyskutujemy raczej o zachowaniach
granicznych silnika krokowego teraz, prawda?

no i w tym wlasnie klopot - hipotetycznie granicznych :D

zbyt szybkie... , w praktyce moze sie okazac ze przy oczekiwanej
predkosci silnik krokowy sie zupelnie nie sprawdzi, bo nawet przy
sterowaniu mikrokrokowym nalezy pamietac ze jednak pelen obrot silnika
sklada sie z ilus tam dyskretnych krokow... i absolutnie nie jest on w
stanie konkurowac z normalnymi silnikami na tym polu... (w rozumieniu
wiekszej predkosci)

Pewnie i nie, choć teraz jest cała masa różnych rozwiązań dla silników
krokowych, a silniki krokowe też przeżyły ewolucję. Zakładam, że skoro
dyskutujemy o tym problemie, to kolega ma jakiś powód, by to był silnik
krokowy - choćby powodem miałaby być sama dyskusja nt. bo jest ...
ciekawa(?)

Ciekawa ale na tym etapie mocno gdybajaca ;)



Poprzedni Następny
Wiadomość
Spis treści
From: "Miller Artur" <armi_at_nospam_nowhere.com>
Subject: Re: Sprytne sterownie silnika krokowego
Date: Thu, 28 Jul 2005 07:46:22 +0200



Użytkownik "Sebastian Bialy" <heby_at_nospam_poczta.onet.pl> napisał w wiadomości
news:dc91ls$hb9$1_at_nospam_nemesis.news.tpi.pl...
Witam!

Szyje sobie sterownik do krokowca. Żadna filozofia, jednak naszły mnie
pewnę wątpliwości, na razie teoretyczne, ale .... kto wie:

Zakładam, że sterownik realizuje polecenie: przekręć silnik o n kroków i
nie przekraczaj prękości v.

Zakładam, że znam moment bezwładności masy obracanej przez silnik.

No i teraz tak mnie naszło: zakładam, że chcę dotrzeć z pozycji p1 do
pozycji p2. Nie mogę od razu wejśc na maksymalną prędkośc v. Może się
okazać, że zgubie kroki. Powinienem więc powoli rozpędzać silnik i
powoli hamować.

Jednak co, jesli mamy sporą masę do przekrecenia - silnik przy
zwiększanej prędkości słabnie. Sugerowało by to, ze przyśpieszenie
powinno maleć wraz ze zwiększaniem się prędkości.


uwazam, ze do krecenia znaczna masa, przy ryzyku gubienia krokow, lepszy
bedzie silnik DC z przekladnia. Do tego doloz enkoder jakis dokladny i
LM628/629, temat gubienia krokow, myslenia nad przyspieszeniami i masami
odpada, mozna sie zajac czyms bardziej produktywnym. Sprawdzone, dziala,
sluze schematem i procedurami w C (arrmii maupa tlen kropka pl)

pozdr

_at_nospam_




Poprzedni Następny
Wiadomość
Spis treści
From: Sebastian Bialy <heby_at_nospam_poczta.onet.pl>
Subject: Re: Sprytne sterownie silnika krokowego
Date: Thu, 28 Jul 2005 08:48:35 +0200


Miller Artur wrote:
uwazam, ze do krecenia znaczna masa, przy ryzyku gubienia krokow, lepszy
bedzie silnik DC z przekladnia. Do tego doloz enkoder jakis dokladny i
LM628/629, temat gubienia krokow, myslenia nad przyspieszeniami i masami
odpada, mozna sie zajac czyms bardziej produktywnym. Sprawdzone, dziala,
sluze schematem i procedurami w C (arrmii maupa tlen kropka pl)

Oczywiście, dlatego założyłem że to problem czysto teoretyczny :) Po
prostu zastanawiam się jak to można zrobić... ale nie koniecznie zrobie.

Co do DC+enkoder mam tak teraz :P

--
Sebastian Bialy - heby_at_nospam_poczta.onet.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "X t l a n" <x t l a n _at_nospam_ i n t e r i a . p l>
Subject: Re: Sprytne sterownie silnika krokowego
Date: Thu, 28 Jul 2005 15:47:30 +0200


Zakładam, że znam moment bezwładności masy obracanej przez silnik.
No i teraz tak mnie naszło: zakładam, że chcę dotrzeć z pozycji p1 do
pozycji p2. Nie mogę od razu wejśc na maksymalną prędkośc v. Może się
okazać, że zgubie kroki. Powinienem więc powoli rozpędzać silnik i
powoli hamować.

To chyba zależy, czy masz tylko masę do obracania i musisz ją rozpędzić,
czy masz stałe obciążenie które działa na wałeczek z jakąś tam siłą jak
tarcie. Jeśli tylko masę do rozpędzenia, to w zasadze im bardzej
zbliżasz się do zadanej prędkości, tym mniej energii Ci trzeba włożyć w
rozpędzanie. Więc nie wydaje się, że trzeba martwić się o pzyspieszenie
o ile jest stałe a nie np. wykładnicze.

Widziałem rozwiązania, gdzie chcąc szybko rozpędzić silnik po prostu
dajesz większy prąd za to przez krótszy czas rozpędzania.

Jednak co, jesli mamy sporą masę do przekrecenia - silnik przy
zwiększanej prędkości słabnie.

Ale moment obr., energia włożona w rozkręcenie masy może to kompensować.