Sterowanie silników krokowych

Jesli jesteś początkującym elektronikiem, to tu z pewnością znajdziesz pomoc. Miejsce dobre do dyskusji nad podstawami elektroniki w zakresie teorii i praktyki.
ODPOWIEDZ
Merki
-
Posty: 13
Rejestracja: 20 lis 2011, 11:54
Lokalizacja: Żywiec

Sterowanie silników krokowych

Post autor: Merki » 22 wrz 2012, 13:23

Witam, chciałem sprawdzić jak się ma w praktyce sterowanie silniczkami krokowymi za pomocą mikrokontrolera. Całe sterowanie oparte zostało na Arduino oraz układzie L293D. Wszystko działa dobrze ale jest problem z działaniem silniczków. Mam takie wymontowane z CD-ROM'u od wysuwu tacki bodajże ze śrubą trapezową jako wał. Problem w tym, że one mają strasznie bicie. Dziwne jest to, że oba egzemplarze napewno nie były traktowane nieludzko od strony mechanicznej. Może jest to spowodowane tym, że nie mają obciążenia na wale? Jeden ma uzwojenia 25 omowe, a drugi 16 omowe. Prąd więc nie powinien przekraczać 0,5 A na zasilaniu 5V. Do zasilania użyłem czterech akumulatorków AA o pojemności 3000mAh. Przy obciążeniu silniczkami napięcie spada dokładnie z 5,1V do 5V. I na tych akumulatorkach silniczek chciałby, ale nie może ruszyć. Dlaczego? Po zastosowaniu zasilacza 12V oba silniczki już zaczynają się kręcić ale widać to bicie i po jakimś czasie silniczek staje i trzeba go delikatnie ruszyć aby wpadł na obroty. Stosuje sterowanie falowe wg schematu z rysunku, a zakodowane jest to w Arduino w postaci kodu:

Kod: Zaznacz cały

void loop() {
  digitalWrite(AX, HIGH);
  delay(20);
  digitalWrite(AX, LOW);
  digitalWrite(AY,HIGH);
  delay(20);
  digitalWrite(AY, LOW);
  digitalWrite(BX,HIGH);
  delay(20);
  digitalWrite(BX, LOW);
  digitalWrite(BY, HIGH);
  delay(20);
  digitalWrite(BY, LOW);
gdzie AX,AY,BX,BY to wyprowadzenia cewek silnika (dwa uzwojenia). Przyłożenie diodki LED między którekolwiek wyprowadzenie a masę nie zdradza jakichś opóźnień w sterowaniu, żeby silniczek mógł z tego powodu stanąć.

Ktoś może mi powiedzieć w czym może być problem?
Załączniki
1.jpg
Sterowanie falowe
1.jpg (9.21 KiB) Przejrzano 10753 razy

Awatar użytkownika
c4r0
Moderator
Posty: 2150
Rejestracja: 13 kwie 2004, 19:56
Lokalizacja: z lasu
Kontakt:

Post autor: c4r0 » 22 wrz 2012, 19:24

Jak to są silniki ze śrubą trapezową to jest to od poruszania modułem lasera, a nie od tacki. Od tacki jest zwykły silnik DC.

Te silniczki co masz to największy szajs jaki rasa ludzka widziała. Aż dziwne, że w napędzie CD to w ogóle działa. Znajdź sobie lepsze silniki bo z tym to tylko się rozczarujesz. Polecam silniki z drukerek - powinny być do znalezienia na śmietniku. Kiedyś było można łatwo dostać silniki z dużych stacji dyskietek ale teraz takie stacje to raczej obiekt o wartości muzealnej trudny do znalezienia na złomie :) Również allegro twoim przyjacielem :)

Merki
-
Posty: 13
Rejestracja: 20 lis 2011, 11:54
Lokalizacja: Żywiec

Post autor: Merki » 23 wrz 2012, 10:30

Ano racja, rzeczywiście to od lasera silniczki :) czyli domyślam się, że po wymianie silniczków na sprawne wszystko powinno hulać prawidłowo nawet na akumulatorkach? Kupie jakiś normalny na próbę i zobaczymy ;)

Narazie temat do zamknięcia, dziękuje bardzo za odpowiedź ;)

ROM
Użytkownik
Posty: 257
Rejestracja: 15 cze 2005, 0:11
Lokalizacja: Poznań

Post autor: ROM » 23 wrz 2012, 14:50

Te siniki po wymontowaniu, najczęściej wymagają lekkiego docisku wału (śruby) w kierunku silnika.
Czasami można znaleźć z takim metalowym łożem i wtedy jest ok.

Awatar użytkownika
c4r0
Moderator
Posty: 2150
Rejestracja: 13 kwie 2004, 19:56
Lokalizacja: z lasu
Kontakt:

Post autor: c4r0 » 25 wrz 2012, 20:25

One nie mają nawet żadnych łożysk. To na prawdę jest szajs, lepiej załatwić coś lepszego do zabawy.

ROM
Użytkownik
Posty: 257
Rejestracja: 15 cze 2005, 0:11
Lokalizacja: Poznań

Post autor: ROM » 26 wrz 2012, 21:39

To na prawdę jest szajs
Fakt, są kiepskie.

Merki
-
Posty: 13
Rejestracja: 20 lis 2011, 11:54
Lokalizacja: Żywiec

Post autor: Merki » 05 lis 2012, 19:40

Ponawiam wątek:

Z racji kiepskich doświadczeniach z silniczkami od napędów, postanowiłem zakupić coś bardziej sensownego. Wybór padł na 28BYJ28-03 z oferty Wobit. Niestety, jest gorzej niż z tamtymi - i zastanawiam się czy czasem gdzieś u mnie błędu nie ma.

Otóż po załączeniu słychać tylko jak coś drga w rytm załączania uzwojeń w środku silniczka, ale nie widać kompletnie żadnego ruchu. Wogóle cały wałek ciężko chodzi, ale to zapewne zasługa przekładni. Pisałem już z problem do Wobita, ale może ktoś z was mi coś doradzi? Od strony sterowania nic się nie zmieniło jak w 1 poście.

Spanner
Użytkownik
Posty: 364
Rejestracja: 18 lip 2010, 18:29
Lokalizacja: Bielsko biała

Post autor: Spanner » 05 lis 2012, 19:47

Witaj, moim zdaniem mogą być diw przyczyny, albo za mały prąd zasilania, przez co silnik nie ma siły się obracać, albo pomieszałeś końcówki, ja bym najpierw sprobował różne kombinacje końcowek.
pozdrawiam

ROM
Użytkownik
Posty: 257
Rejestracja: 15 cze 2005, 0:11
Lokalizacja: Poznań

Post autor: ROM » 05 lis 2012, 20:26

I jeszcze jedno: silniki nie ruszają z powodu zbyt szybkiego przełączania uzwojeń, lub zbyt szybkiego startu.

Merki
-
Posty: 13
Rejestracja: 20 lis 2011, 11:54
Lokalizacja: Żywiec

Post autor: Merki » 06 lis 2012, 20:03

Próbowałem zmieniać czasy na wolniejsze. Mam pomysł co mogę mieć źle w programie sterującym i jak tylko znajdę wolną chwilę to to sprawdzę ;) dzięki za podpowiedzi ;)

Awatar użytkownika
c4r0
Moderator
Posty: 2150
Rejestracja: 13 kwie 2004, 19:56
Lokalizacja: z lasu
Kontakt:

Post autor: c4r0 » 06 lis 2012, 20:50

Weź cztery LED-y w dwóch różnych kolorach, np. czerwony i zielony. Połącz je po dwa, czerwony + zielony, równolegle w przeciwnych kierunkach. Do tego daj rezystor i podłącz takie coś (dwa zestawy) do wyjść drivera zamiast uzwojeń silników. Ustaw delay w programie na jakiś duży (1s) i upewnij się, że program działa poprawnie. (Czerwony LED sygnalizuje przepływ prądu w jednym kierunku, a zielony w drugim.)

Nie zastanawiałem się co ten program robi ale najlepiej jest sterować półkrokami, a nie całymi krokami. Jeśli masz całe kroki to lepiej zmień.

Podłączenie przewodów w przypadku tego silnika nie ma znaczenia, jeśli cokolwiek się dzieje z silnikiem to znaczy że pary przewodów uzwojeń masz dobrane odpowiednio a wówczas od kolejności będzie zależeć tylko kierunek obrotów, ale działać będzie zawsze.

Kiepsko, że masz tam tą przekładnię... Przez to bardzo trudno jest zaobserwować co się dzieje.

Merki
-
Posty: 13
Rejestracja: 20 lis 2011, 11:54
Lokalizacja: Żywiec

Post autor: Merki » 06 lis 2012, 21:15

Patent z diodami już dawno zrobiłęm i wszystko było ok :> po prostu nie wiem jak to zrobiłem, ale bezmyślnie chyba napisałem program dla silniczka unipolarnego, który ma przecież dwa uzwojenia dzielone na 2 części (czyli w sumie jakby 4) i tam można w dwóch kolejnych krokach załączać uzwojenia jednej pary w przeciwnych kierunkach. Ja posiadam silniczek bipolarny i najpierw muszę zasilić całe uzwojenie w jednym kierunku, później drugie, później pierwsze w przeciwnym kierunku niż początkowo itd. Jasne jest dla kogoś kto przeczytał program z 1 postu, że to nie może działać na bipolarnym :>

Po przeczytaniu jeszcze raz teorii coś się rozjaśniło, sprawdziłem i działa :) ale na silnikach z cd-romu nadal kicha ;p

Dla zainteresowanych wklejam kod:

Kod: Zaznacz cały

int AX=2;
int AY=4;
int BX=8;
int BY=10;


void setup() {
  pinMode (AX, OUTPUT);
  pinMode (AY, OUTPUT);
  pinMode (BX, OUTPUT);
  pinMode (BY, OUTPUT);
  
}


void loop() {
  digitalWrite(AX, HIGH);
  digitalWrite(AY, LOW);
  delay(5);
  digitalWrite(AX, LOW);
  
  digitalWrite(BX,HIGH);
  digitalWrite(BY,LOW);
  delay(5);
  digitalWrite(BX, LOW);
  
  digitalWrite(AY,HIGH);
  digitalWrite(AX, LOW);
  delay(5);
  digitalWrite(AY, LOW);
  
  digitalWrite(BY, HIGH);
  digitalWrite(BX, LOW);
  delay(5);
  digitalWrite(BY, LOW);
  
  
}

Max wyciśnięta częstotliwość przełączania uzwojeń przy której silnik się jeszcze kręcił wynosiła 500 Hz, ale dało się łatwo go zablokować. Przy 200 Hz jest już trudniej zablokować ;)

Niestety, na te silniczki zdecydowałem się ponieważ są względnie tanie i nie znalazłem nic bardziej sensownego na zakupy żeby miało jak najmniejsze gabaryty. Chyba, że ktoś coś ma na rzeczy (potrzebuje takich silniczków na pracę inżynierską do manipulatora) :smile:

Dzięki jeszcze raz za ofiarną pomoc, najważniejsze to uczyć się na błędach :mrgreen:

ODPOWIEDZ