Walka z silnikami...krokowymi

Dyskusje na temat silników krokowych i sterowników silników krokowych.

Autor tematu
dronsky
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 3
Posty: 3
Rejestracja: 20 wrz 2013, 10:17
Lokalizacja: Warszawa

Walka z silnikami...krokowymi

#1

Post napisał: dronsky » 11 sty 2015, 23:43

Witajcie,
pracuje nad projektem dwukołowego balansującego robota mobilnego, o napędzie podobnym do tego z Segway-a.
Wszystko idzie w miare dobrze jednak mam problem z silnikami krokowymi. Nie spodziewałem się że utknę w tym miejscu :). Okazuje się że silniki krokowe wymagają od użytkownika sporo wiedzy i czasu spędzonego na kalibracji i doborze sprzętu...
Dlatego postanowiłem poprosić o pomoc fachmanów z cnc.info.pl :).

Sprzęt który sprawia że zarywam noce:

- Silniki QSH5718-76-28-189

specyfikacja:
http://www.produktinfo.conrad.com/daten ... 28_189.pdf
(w tabeli skrajnie po prawej stronie)

- sterownik Pololu 2503

specyfikacja:
https://www.pololu.com/docs/pdf/0J55/du ... shield.pdf

- Raspbery pi, kod w pythonie

- silniki podłączone są następująco:
- czarny kabel - m1a
- zielony - m2a
- czerwony - m1b
- niebieski - m2b

- zasilanie - testowałem 12.5V, 15.8V, 24V (z baterii lipo)

(na stronie 7 specyfikacji silnika są pokazane kolory kabli, strona 16 w specyfikacji sterownika schemat podłączenia)

- sekwencje zgodnie z tym opisem:
http://www.8051projects.net/stepper-mot ... quence.php

krótki film z działania:

http://youtu.be/LiKX6w9xySs

przy tym pwm silnik powinien kręcić się ok. 3-4 razy na sekundę, a ... zamula


Opis problemu:

- napisałem prosty program testowy, który wysyła PWM powoli rozpędzający silnik
- silnik kręci się zdecydowanie za wolno jak na ten sygnał PWM, robi sporo hałasu, i ma przycinki


Podejrzenia:

- po podłączeniu silnika, zaczyna on stawiać opór, więc być może prąd w stanie spoczynku jest za mocny??? Może wyłączyć okresowo zwoje które nie pracują aktualnie??? Jest taka opcja w sterowniku
- źle podłączony silnik??
- złe sekwencje??

Może muszę zmienić driver? Czy ten da radę?

Drodzy doświadczeni koledzy proszę o pomoc w tym temacie, bo już powoli kończą mi się pomysły.

pozdrawiam!
Grzegorz W. - dronsky (cnc.info.pl / rc-fpv.pl )



Tagi:


diodas1
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 2
Posty: 2788
Rejestracja: 15 sty 2006, 18:34
Lokalizacja: Wrocław

#2

Post napisał: diodas1 » 12 sty 2015, 02:39

Dość pogmatwany ten układ. Przede wszystkim skorzystałeś z niewłaściwej sekwencji zasilania cewek silnika. Ta animacja wskazuje sterowanie silnikiem unipolarnym w którym przez cewkę nie płynie prąd w ogóle lub płynie ale zawsze w jednym kierunku. Powinieneś poszukać sekwencji dla silnika bipolarnego bo taki masz. Tutaj jest opis działania dość starej już konstrukcji sterownika do silników bipolarnych. W silniku bipolarnym w różnych momentach prąd może płynąć w jedną lub drugą stronę przez cewki. Na szczęście ten sterownik Pololu daje taką możliwość choć został w zasadzie opracowany do sterowania silników prądu stałego. To że silnik stawia opór kiedy płynie prąd przez cewkę to normalne. Dzięki temu zresztą układ mechaniczny jest samohamowny. Nie wiem na ile rzetelne jest podanie kolorów wyprowadzeń z silnika dlatego na wszelki wypadek sprawdź omomierzem oporność między kabelkami (bez sterownika) Rezystancja bliska zwarciu powinna wystąpić między czarnym i zielonym oraz między czerwonym i niebieskim. Jeżeli tak nie jest to ustal które przewody wychodzą z której z dwóch cewek silnika. Według obrazków z opisu pololu jedna cewka ma być przyłączona zamiast silnika M1 a druga zamiast M2.
Mimo pewnych niejasności chyba jednak udało Ci się cudownym sposobem prawidłowo to wszystko połączyć skoro jakoś się kręci. Problem że zamula może być w sterowniku. Zazwyczaj sterowniki do silników krokowych zawierają pewnego rodzaju impulsowy stabilizator prądu w uzwojeniach. Tutaj na forum wszyscy nazywają to chopperem. Ponadto, mimo że na samym silniku odkłada się kilka woltów napięcia, sam sterownik zasila się dużo wyższym napięciem żeby wymusić szybszy wzrost prądu na indukcyjnym obciążeniu cewką silnika. To powoduje bardziej dynamiczną reakcję na polecenie wykonania kolejnego kroku i silnik rozpędza się do wyższych obrotów. W tym sterowniku polulu chyba takiej możliwości nie ma. Napisałeś coś o PWM ale nie wiem czy w ten sposób regulujesz średnią wartość prądu czy może jest to u Ciebie odpowiednik sygnału STEP.
Tak czy siak zmiana sterownika silnika krokowego na lepszy zdecydowanie dodałaby wigoru silnikom. Pamiętaj że sterownik ma napędzać silnik bipolarny a jego dopuszczalny prąd wyjściowy ma być wyższy niż pobierany przez silnik. Przykład takiego sterownika w niezbyt wysokiej cenie zobaczysz gdy w Allegro wpiszesz " Sterownik silnika krokowego CNC 4,5A 45V "


krzysiekgrab
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 1
Posty: 741
Rejestracja: 16 lip 2008, 15:07
Lokalizacja: Polska, Augustow

#3

Post napisał: krzysiekgrab » 12 sty 2015, 08:01

To co napisał kolega wyżej. Ja od siebie dodam tylko, aby zwrócić uwagę na wydajność prądową źródła zasilania...
„Jeżeli nie znasz portu do którego płyniesz,
to żadne wiatry nie będą Ci sprzyjać”

Programowanie sterowników PLC Fatek, HMI Weintek, sterowniki maszyn CNC, Mach3;

Awatar użytkownika

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

#4

Post napisał: markcomp77 » 12 sty 2015, 12:43

fajny zestaw do eksperymentów...

Poza poprawieniem sekwencji na cewkach, warto było by się pokusić sterować PWM - czyli napięciowo... a nie prądowo. Wymaga to pewnych eksperymentów i dodatkowej teorii... Sterowanie napięciowe polega na stosowaniu . wymuszenia (napięcia) które da efekt (moment) przy uwzględnieniu obecności napięcia powstającego z siły elektromotorycznej (BEMF) silnika.

Teoria nieźle opisana w nocie do L6470 http://www.st.com/web/en/resource/techn ... 255075.pdf (polecam samą notę - a nie kość)

Do testów i samo-edukacji usiłowania budowy sterowania napięciowego będą bardzo efektywne!!
Sterowanie napięciowe (dobrze zrobione, wymaga powera- procesora sygnałowego) zapewnia bardzo gładką pracę silnika (bardzo liniowa charakterystyka przejściowa) - mniej rezonansów wynikających z nieliniowości ruchu...

Zasilając cewki A i B silnika sygnałem napięciowym SIN - COS nie spowodujemy bardzo liniowej regularnej pracy silnika... do tego potrzebny jest sygnał SIN (i COS na drugiej fazie) zmodyfikowany kompensacją BEMF (samoindukcji w fazie).
SpotkanieCNC: STOM-TOOL Marzec 2014
http://www.cnc.info.pl/topics79/spotkan ... t55028.htm


Autor tematu
dronsky
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 3
Posty: 3
Rejestracja: 20 wrz 2013, 10:17
Lokalizacja: Warszawa

#5

Post napisał: dronsky » 12 sty 2015, 12:47

diodas1, dzięki za twoją odpowiedź, jest sporą wskazówką w którym kierunku dalej działać.
Użyłem sekwencji silnika bipolarnego, na dole strony którą podałem są sekwencje do silników bipolarnych, mogłem to wyraźniej oznaczyć.

Na allegro znalazłem jedną pozycję:
http://allegro.pl/sterownik-silnika-kro ... 14675.html

i później w sklepie:
http://electropark.pl/moduly-sterowniki ... b6600.html

dane techniczne:
http://electropark.pl/attachment.php?id_attachment=1198

ciekawe i cena jest ok, nawet logika od 2.2v do 5v, więc RPI PI da radę, tylko czy ten sterownik będzie miał np. choppera? Nada się do tych silników?

[ Dodano: 2015-01-12, 12:54 ]
krzysiekgrab, lipo mają moc, bateria której używałem ma 5000mah 14.8v, przy 20-30C.


mc2kwacz
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 1
Posty: 2920
Rejestracja: 27 maja 2013, 22:18
Lokalizacja: gdzieś

#6

Post napisał: mc2kwacz » 12 sty 2015, 19:47

Nawet nie chce mi się tego czytac dokładnie, ale skoro we wskazanym PDF jest napisane na dzień dobry:
"to control two bidirectional, brushed DC motors",
to skąd pomysł żeby czymś takim, zupełnie od czapy, starać się sterować silnik krokowy???
Mało jest NORMALNYCH driverów?
I w ogóle dlaczego silnik krokowy do pojazdu???
Jak dla mnie już u podstaw projektu rośnie lipa.
Wszystko idzie w miare dobrze jednak mam problem z silnikami krokowymi. Nie spodziewałem się że utknę w tym miejscu :) . Okazuje się że silniki krokowe wymagają od użytkownika sporo wiedzy i czasu
Na tym etapie powiedziałbym raczej, że nic nie idzie ;) Wybacz kolego, ale jesteś kolejną ofiar a przekonania, że wystarczy umieć trochę programować i kosmos stoi otworem.


diodas1
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 2
Posty: 2788
Rejestracja: 15 sty 2006, 18:34
Lokalizacja: Wrocław

#7

Post napisał: diodas1 » 12 sty 2015, 22:25

dronsky, Ten sterownik ma regulację prądu chopperem. Nie wiem czy do sterowania wystarczą wprost sygnały z mikrokontrolera zasilanego niższym niż 5VDC napięciem. Zobacz ten wątek. Obawiam się że w Twoim wypadku też sygnały sterujące trzeba będzie podciągnąć do poziomów TTL żeby sterownik jednoznacznie je interpretował. Kiedy kupisz sobie taki sterownik to najpierw przetestuj jego działanie z silnikiem bez mikrokonrolera tylko podając sygnały sterujące z jakiegoś prostego generatorka, choćby
takiego jaki zaprezentował w swojej galerii kolega Leoo z forum. Płytkę generatora zasil sobie napięciem 5VDC a sam sterownik oczywiście wyższym żeby chopper miał czym gospodarować. Chodzi o to żebyś upewnił się co do poprawnej potrzebnej polaryzacji sygnałów STEP,DIR i ENABLE bo zdaje się że w tym sterowniku jest jakoś inaczej niż w innych wykonaniach. Gdzieś zahaczyłem okiem o wątek gdzie użytkownik nie zauważył tego i nie mógł dogadać się ze sterownikiem Przy okazji będziesz mógł sprawdzić osiągane obroty silnika przy różnych napięciach zasilania sterownika oraz jego "siłę" czyli moment obrotowy a także pracę silnika przy różnych podziałach kroków bo ten sterownik ma przełączniki do ustawienia również kroków ułamkowych. Rozumiem że zależy Ci na zasilaniu bateryjnym, jednak im wyższe napięcie tym lepsze osiągi.Obejrzyj sobie ten wątek. Kiedy już ogarniesz sterowanie, wówczas możesz zacząć eksperymenty z mikrokontrolerem a gdyby okazało się że sterownik nie reaguje na sygnały z mikrokontrolera, wtedy dodasz jakiś bufor podbijający napięcia sygnałów i powinno być OK.Tutaj w opisie jest więcej informacji o ustawieniach sterownika


Autor tematu
dronsky
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 3
Posty: 3
Rejestracja: 20 wrz 2013, 10:17
Lokalizacja: Warszawa

#8

Post napisał: dronsky » 13 sty 2015, 02:25

diodas1, Twój wpis jest mega pomocny! Dzięki! Teraz już powinienem sobie poradzić. Sterownik powinien jutro przyjść i będę działał. Widziałem, że sama kość tb6600hq przyjmuje sygnał jako high od 2v do 5.5v(strona 5 - http://www.haoyuelectronics.com/Attachm ... asheet.pdf), ale nawet jak będzie trzeba go podbić to jest to do ogarnięcia. Znajomy ma zasilacz laboratoryjny, może potestuję silnik i driver u niego.
Baterie mogę połączyć tak żeby dały ok. 40v, mam też upstepper.

markcomp77, dzięki, poczytam chętnie, ale muszę najpierw złapać trochę więcej z podstaw działania silników krokowych :wink:

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Silniki Krokowe / Sterowniki Silników Krokowych”