AT90S2313 a silnik krokowy
AT90S2313 a silnik krokowy
Witam!
Zastanawiam się czy procesorem at90s2313 można sterować małym silnikiem krokowym.
Wykonałem prosty mechanizm oparty właśnie na wyżej wspomnianym silniku i mam problem.
Posiadam układ sterujący tym silnikiem i działa on następująco - po włączeniu jednego przycisku silnik kręci się w prawo a po naciśnięciu dwóch przycisków w lewo.
Ja chciałbym zaprogramować sekwencję ruchów i nie wiem właśnie jak to zrobić na Atmelu.
Czy da się to zrobić w jakiś prosty sposób ? Chciałem żeby zamiast tych przycisków "ręcznych" zastosować jakieś tranzystory sterowane z Atmela, ale nie jest to chyba najlepsze rozwiązanie.
A może da się podłączyć silnik krokowy jakoś bezpośrednio do Atmela?
Z góry dziękuję za wszelkie rady i wskazówki
Zastanawiam się czy procesorem at90s2313 można sterować małym silnikiem krokowym.
Wykonałem prosty mechanizm oparty właśnie na wyżej wspomnianym silniku i mam problem.
Posiadam układ sterujący tym silnikiem i działa on następująco - po włączeniu jednego przycisku silnik kręci się w prawo a po naciśnięciu dwóch przycisków w lewo.
Ja chciałbym zaprogramować sekwencję ruchów i nie wiem właśnie jak to zrobić na Atmelu.
Czy da się to zrobić w jakiś prosty sposób ? Chciałem żeby zamiast tych przycisków "ręcznych" zastosować jakieś tranzystory sterowane z Atmela, ale nie jest to chyba najlepsze rozwiązanie.
A może da się podłączyć silnik krokowy jakoś bezpośrednio do Atmela?
Z góry dziękuję za wszelkie rady i wskazówki
a czy to na pewno jest silniczek krokowy?mariachi pisze:Posiadam układ sterujący tym silnikiem i działa on następująco - po włączeniu jednego przycisku silnik kręci się w prawo a po naciśnięciu dwóch przycisków w lewo
ile ma wyprowadzeń? a może podasz jego symbol/oznaczenie? lub chociaż zdjątko.....
jeżeli chcesz silniczkiem krokowym sterować przy pomocy procesora (obojętnie jakiego)
to przede wszystkim pomiędzy procesor a silniczek potrzeba wstawić coś jakby
końcówkę mocy...w najprostszym przypadku to będą cztery tranzystory npn,
w kolektorach zapięte uzwojenia silniczka, bazy sterowane z czterech bitów dowolnego
portu I/O procesora...
napisz proszę więcej o Twoim silniczku, to wymyślimy jakiś prosty schemat.
tasza
hmm, no to jak masz zmontowany ten kit, to go sobie zostaw, przyda się do
szybkiego testowania innych motorków jakie Ci ewentualnie wpadną w ręce...
hmm, ten Twój to jest to:
http://www.eminebea.com/content/html/en ... 35s048.pdf
http://nisiki.net/Catalogues/Motors/NMB/PM35S.htm
wprawdzie ma dwie pary uzwojeń...ale skoro Ci z tym kitem już działa, no to super.
ze schemat AVT1314 http://sklep.avt.com.pl/photo/_pdf/AVT1314.pdf
można zabrać sobie tylko część sterującą cewkami czyli to co w złączniku...
i podłączyć do portu B procesora, do bitów 0..3
aby obracać ośką, należy na porcie wygenerować sekwencję i w kółko ją powtarzać
w jedną stronę
i obrót w drugą
to sprowadza się do podawania na port B kolejnych liczb.
1,2,4,8,1,2,4,8,1,2,4,8 - dla obrotu np. w prawo
8,4,2,1,8,4,2,1,8,4,2,1 - w lewo
jak podasz 0 - ośka będzie luzem,
jak dasz 15 (0x0F) ośka będzie jak zamurowana - palcem jej nie ruszysz...
ale tu trzeba uważać aby silniczka nie przegrzać....
szybkość podawania kolejnych liczb to szybkość obracania ośki....
aha, zamiast mosfetów możesz spokojnie wstawić ULN2003 lub cztery sztuki BD135...
tasza
PS.
no, i takie sterowanie daje Ci pełną kontrolę nad zachowaniem motorka,
możesz sobie zaprogramować o ile obracać ośką, z jaką szybkością, w którą stronę, etc....
teraz to już kwestia fantazji....
szybkiego testowania innych motorków jakie Ci ewentualnie wpadną w ręce...
hmm, ten Twój to jest to:
http://www.eminebea.com/content/html/en ... 35s048.pdf
http://nisiki.net/Catalogues/Motors/NMB/PM35S.htm
wprawdzie ma dwie pary uzwojeń...ale skoro Ci z tym kitem już działa, no to super.
ze schemat AVT1314 http://sklep.avt.com.pl/photo/_pdf/AVT1314.pdf
można zabrać sobie tylko część sterującą cewkami czyli to co w złączniku...
i podłączyć do portu B procesora, do bitów 0..3
aby obracać ośką, należy na porcie wygenerować sekwencję i w kółko ją powtarzać
w jedną stronę
Kod: Zaznacz cały
PB.3 PB.2 PB.1 PB.0
0 0 0 1
0 0 1 0
0 1 0 0
1 0 0 0
Kod: Zaznacz cały
PB.3 PB.2 PB.1 PB.0
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
1,2,4,8,1,2,4,8,1,2,4,8 - dla obrotu np. w prawo
8,4,2,1,8,4,2,1,8,4,2,1 - w lewo
jak podasz 0 - ośka będzie luzem,
jak dasz 15 (0x0F) ośka będzie jak zamurowana - palcem jej nie ruszysz...
ale tu trzeba uważać aby silniczka nie przegrzać....
szybkość podawania kolejnych liczb to szybkość obracania ośki....
aha, zamiast mosfetów możesz spokojnie wstawić ULN2003 lub cztery sztuki BD135...
tasza
PS.
no, i takie sterowanie daje Ci pełną kontrolę nad zachowaniem motorka,
możesz sobie zaprogramować o ile obracać ośką, z jaką szybkością, w którą stronę, etc....
teraz to już kwestia fantazji....
- Załączniki
-
- stepping_motor_1.gif
- (7.03 KiB) Pobrany 9277 razy
ja też mam w "klamotach" jakieś 2 silniczki krokowe z drukarki zaraz je wygrzebię i podam model
[ Dodano: 2006-07-24, 10:37 ]
dobra mam te modele:
pierwszy to EM-429
ma się całkiem dobrze tylko trzeba przylutować jedno uzwojenie, bez złącza - wystające kabelki
drugi to EM-428
tutj akurat zachowało się złącze ale te blaszki-skrzydełka do montażu są powyginane(agresywny demontaż
)
oba są 4 końcówkowe
widzę na obu gdzie są podpięte uzwojenia
jak je sterować?? znaczy się jak zrobić prosty generatorek
z góry thx
[ Dodano: 2006-07-24, 10:37 ]
dobra mam te modele:
pierwszy to EM-429
ma się całkiem dobrze tylko trzeba przylutować jedno uzwojenie, bez złącza - wystające kabelki
drugi to EM-428
tutj akurat zachowało się złącze ale te blaszki-skrzydełka do montażu są powyginane(agresywny demontaż
oba są 4 końcówkowe
widzę na obu gdzie są podpięte uzwojenia
jak je sterować?? znaczy się jak zrobić prosty generatorek
z góry thx
nie wiem z czego wynika wasza niechęć do samodzielnego szukania informacji...
czy wszystko chcecie mieć podane na tacy?
kilka linków - teoria, przykłady...
wszystko z google ("silnik krokowy", "stepping motor")
http://www.silniki.pl/wstep/sterowanieskrok.htm
http://www.chip.pl/arts/archiwum/n/articlear_62847.html
http://www.cyfronika.com.pl/kitynepdf/310-K.pdf
http://www.doc.ic.ac.uk/~ih/doc/stepper/
http://home.cogeco.ca/~rpaisley4/Stepper.html
http://www.tigoe.net/pcomp/code/archive ... 0245.shtml
tasza
czy wszystko chcecie mieć podane na tacy?
kilka linków - teoria, przykłady...
wszystko z google ("silnik krokowy", "stepping motor")
tasza
... a ja mam jeszcze pytanie jak rozwiązać następujący problem - jeżeli zamontuję taki silniczek z przekładnią w jakimś urządzeniu (np. przesuwanie zasówki) to w jaki sposób podłączyć wyłącznik krańcowy
W "zwykłym" silniczku na prąd stały wystarczy przełącznik krańcowy/dioda i urządzenie się zatrzymuje - następnie po podaniu odwrotnego napięcia rusza w drugą stronę...
Jednak tutaj jeżeli taki wyłącznik krańcowy rozłączy powiedzmy jednen z przewodów to silnik krokowy już nie ruszy w drugą...
Chodzi mi o sytuację w której do jednego procesora (powiedzmy AT90S2313) podłączone są trzy silniczki krokowe. Oczywiście możemy ustalić precyzyjnie ile kroków mają się przesunąć, ale jeżeli coś przesunie ręcznie taki mechanizm to po podaniu napięcia na silnik przesunie się on poza obszar działania ...
Czy można to rozwiązać jakoś programowo ? na przykład jeżeli ten wyłącznik krańcowy poda jakiś sygnał do procesora ?
mam nadzieję że da się to jakoś rozwiązać ...
W "zwykłym" silniczku na prąd stały wystarczy przełącznik krańcowy/dioda i urządzenie się zatrzymuje - następnie po podaniu odwrotnego napięcia rusza w drugą stronę...
Jednak tutaj jeżeli taki wyłącznik krańcowy rozłączy powiedzmy jednen z przewodów to silnik krokowy już nie ruszy w drugą...
Chodzi mi o sytuację w której do jednego procesora (powiedzmy AT90S2313) podłączone są trzy silniczki krokowe. Oczywiście możemy ustalić precyzyjnie ile kroków mają się przesunąć, ale jeżeli coś przesunie ręcznie taki mechanizm to po podaniu napięcia na silnik przesunie się on poza obszar działania ...
Czy można to rozwiązać jakoś programowo ? na przykład jeżeli ten wyłącznik krańcowy poda jakiś sygnał do procesora ?
mam nadzieję że da się to jakoś rozwiązać ...
przecież uzwojeniami silnika sterujesz programowo podając kolejne wartości
z wymaganej sekwencji...więc jeżeli wyłacznik krańcowy przyjmie
jakiś określony stan - kontroler to wykrywa i przerywa generowanie sekwencji
a wtedy motorek się zatrzymuje (lub zmienia kierunek - co wymaga podawania wartości
sekwencji sterującej w odwrotnej kolejności)
a to wszystko ma realizować program - żadnego rozłaczania przewodów.....
tasza
z wymaganej sekwencji...więc jeżeli wyłacznik krańcowy przyjmie
jakiś określony stan - kontroler to wykrywa i przerywa generowanie sekwencji
a wtedy motorek się zatrzymuje (lub zmienia kierunek - co wymaga podawania wartości
sekwencji sterującej w odwrotnej kolejności)
a to wszystko ma realizować program - żadnego rozłaczania przewodów.....
tasza
heh to chyba sobie na razie nie poradzemarcing pisze:Sprawdzając odpowiednio często stan takiego przełącznika. A sterowanie silnika odbywać się może w pętli warunkowejmariachi pisze:jak kontroler ma wiedzieć że wyłącznik krańcowy jest załączony i sekwencja dla danego silnika ma zostać zatrzymana ?
Pozdrawiam!
A ta pętla warunkowa to If - Then ?
Czy mógłby ktoś wkleić najprostszy programik (pod BASCOMA na AT90S2313) który sterował by jednym silniczkiem krokowym podpiętym pod wyjścia D0 D1 D2 D3 i wyłączanym w przypadku zadziałania włącznika krańcowego (czyli zwarcia czegoś z czymś
Będę bardzo wdzięczny bo najlepiej (i najszybciej
Można wykorzystać pętle
DO...LOOP
WHILE....WEND
Różnica jest taka, że pierwsza wykona się co najmniej raz przed sprawdzeniem warunku
Druga może zakończyć się na samym sprawdzeniu warunku, jeśli będzie spełniony
Co do silników krokowych - nie bawiłem się jeszcze nimi, a w błąd wprowadzać nie chcę...
Pozdrawiam!
DO...LOOP
WHILE....WEND
Różnica jest taka, że pierwsza wykona się co najmniej raz przed sprawdzeniem warunku
Druga może zakończyć się na samym sprawdzeniu warunku, jeśli będzie spełniony
Co do silników krokowych - nie bawiłem się jeszcze nimi, a w błąd wprowadzać nie chcę...
Pozdrawiam!