Problem ze sterowaniem silnikami krokowymi

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

Autor tematu
gathaspar
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 4
Posty: 7
Rejestracja: 07 cze 2014, 10:55
Lokalizacja: Polska

Problem ze sterowaniem silnikami krokowymi

#1

Post napisał: gathaspar » 22 kwie 2015, 20:47

Cześć,
ostatnio kupiłem używane bipolarne silniki krokowe.
R = 1,6 Ohm;
I_max = 1,5 A;
U = 2,5V;
M = 0,43Nm;
L = 12,5mH;
200 kroków na obrót.
Ażeby nimi sterować, zrobiłem dwa mostki H na tranzystorach bipolarnych. Silniki zasilam napięciem +12V, jak pokazano na schemacie, nie ma na nim rezystora 1R, na którym spadek napięcia mierzę. Wykorzystałem sekwencję zasilania cewek silnika jak na grafice poniżej.
Wejścia A, B, C, D podłączyłem do mojego mikrokontrolera – ATmega 8. Próbuję zaimplementować swego rodzaju „chopper” prądu, a wygląda to następująco:

Kod: Zaznacz cały

- licznik milisekund := 0;
- dopóki licznik milisekund < 200 ( krok silnika co każde 200ms )
	-licznik mikrosekund := 0
	- włącz zasilanie odpowiednich cewek
	- dopóki licznik mikrosekund < 50us ( &#8222;chopper&#8221; 40kHz )
		- jeżeli prąd płynący przez cewkę osiągnął ustaloną wartość ( obecnie 0,2A ) 
			- wyłącz zasilanie cewek
			- zakończ pętlę
	- dopóki licznik mikrosekund < 50us
		- nie rób nic
	- wyłącz zasilanie cewek
- zwiększ indeks mówiący o sekwencji zasilania cewek
- przejdź do początku
Efekt jest taki, że silnik albo przeraźliwie piszczy, albo drży. Czasami, odpowiednio dobierając odstęp pomiędzy krokami, udaje mi się go zmusić do ruchu, wtedy też jest niemiłosiernie głośny, do tego, pomija niektóre kroki.
Proszę o diagnozę tego zjawiska i pomoc w rozwiązaniu problemu. Jako kompletny laik w dziedzinie silników krokowych porwałem się na napisanie własnego sterownika i bez pomocy się nie obędę.
Z góry dziękuję za wszelkie rady i wskazówki.
Pozdrawiam.
A tu wspomniane grafiki:
ObrazekObrazek
Ostatnio zmieniony 23 kwie 2015, 00:09 przez gathaspar, łącznie zmieniany 1 raz.



Tagi:


jomat
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 4
Posty: 168
Rejestracja: 12 kwie 2013, 19:03
Lokalizacja: Świdnica

#2

Post napisał: jomat » 22 kwie 2015, 22:41

Z tej wklejonej grafiki niewiele można wywnioskować :grin:

Imax silnika 1,5A więc chopper na 1,5A a nie 200mA (i drżenie silnika bo nie ma siły),
do testów daj przynajmniej 1A (uwaga na obciążalność uC, schematu niestety nie widać).
Piszczenie - albo zmień częstotliwość "chopperowania" tak byś nie słyszał
albo poczekaj aż się zestarzejesz :grin:


Autor tematu
gathaspar
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 4
Posty: 7
Rejestracja: 07 cze 2014, 10:55
Lokalizacja: Polska

#3

Post napisał: gathaspar » 22 kwie 2015, 22:50

Wyprowadzenia A, B, C, D podłączone bezpośrednio do ATmegi, ta zasilana jest napięciem 5V, w połączeniu z rezystorami 12k na bazach BC547, wydaje mi się, że ATmega tego nie odczuje.
Zaraz sprawdzę, jak to wygląda przy 1 amperze.
Dziękuję bardzo!

[ Dodano: 2015-04-22, 22:56 ]
Jeszcze pytanie do samej idei - idę we właściwym kierunku?
Załóżmy, że krok jest wykonywany co 200ms, czy przez cały ten czas cewki silnika powinny być zasilane? Czy mogę po prostu zasilić je przez powiedzmy 1ms i następnie wyłączyć przepływ prądu, aż do kolejnego kroku - 199ms w tym wypadku?


jomat
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 4
Posty: 168
Rejestracja: 12 kwie 2013, 19:03
Lokalizacja: Świdnica

#4

Post napisał: jomat » 22 kwie 2015, 23:49

Z BC547 kiepsko to widzę, przejdź na mosfety.
Cewki muszą być cały czas zasilane.
Jeśli po 1ms wyłączysz zasilanie to wirnik będzie się kręcił bezwładnością
i nie wiadomo gdzie będzie po 199ms
Inaczej:
Masz na wirniku magnes stały z biegunem N
Cewka jest "przesunięta" o 1,8 stopnia i po włączeniu zasilania wytwarza biegun S
Oba bieguny zaczynają się przyciągać aż "staną" na przeciwko siebie - zrobiony 1 krok.
By miało to wszystko sens to biegun S musi cały czas istnieć więc cewka musi być ciągle zasilana.


Autor tematu
gathaspar
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 4
Posty: 7
Rejestracja: 07 cze 2014, 10:55
Lokalizacja: Polska

#5

Post napisał: gathaspar » 22 kwie 2015, 23:52

BC547 stanowią tylko tranzystory zasilające bazy TIP122 i TIP127, widać to na rysunku. Ale rzeczywiście, planuję wykonać taki sterownik z MOSFETami w roli głównej.
Wszystko pracuje bardzo przyzwoicie. Taki głupi błąd, no cóż, brak doświadczenia, kiedyś trzeba go nabrać.
Jeszcze raz dziękuję.


jomat
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 4
Posty: 168
Rejestracja: 12 kwie 2013, 19:03
Lokalizacja: Świdnica

#6

Post napisał: jomat » 23 kwie 2015, 00:06

No właśnie nic nie widać bo grafika w ogóle nie jest wklejona lub moja przeglądarka
tego nie umie przerobić.
Jak już działa to dobrze, kombinuj dalej.


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 » 23 kwie 2015, 00:07

A grafik jak nie było widać, tak nadal ich nie ma. Nie wszyscy mają zdolność jasnowidzenia :mrgreen:
Poprawka :Przeglądarka Chrome nie widzi ale IE już tak.
Oto te obrazki


Obrazek
Obrazek
Ostatnio zmieniony 23 kwie 2015, 00:18 przez diodas1, łącznie zmieniany 2 razy.


ezbig
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 1
Posty: 2103
Rejestracja: 07 lip 2006, 00:31
Lokalizacja: mazowieckie

#8

Post napisał: ezbig » 23 kwie 2015, 00:09

gathaspar pisze:widać to na rysunku

Byłoby prościej, gdyby te rysunki były jednak widoczne. U mnie wygldą to:
Obrazek

Pod wpisywaną treścią posta jest taki duży niebieski napis: "Kliknij tutaj aby wgrać zdjęcia i wstawić w treść posta". Użyj tego, bo wklejanie plików z zewnętrznych stron tylko zaśmieca forum po jakimś czasie.


Autor tematu
gathaspar
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 4
Posty: 7
Rejestracja: 07 cze 2014, 10:55
Lokalizacja: Polska

#9

Post napisał: gathaspar » 23 kwie 2015, 00:09

Poprawione, raz działały, raz nie.


jomat
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 4
Posty: 168
Rejestracja: 12 kwie 2013, 19:03
Lokalizacja: Świdnica

#10

Post napisał: jomat » 23 kwie 2015, 00:12

Co do mosfetów to celuj w podwójne,
pierwszy z brzegu przykład:
http://allegro.pl/irf7341pbf-dual-n-mos ... 23670.html

ODPOWIEDZ Poprzedni tematNastępny temat

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