Od dłuższego czasu szukałem prostego sterownika silnika krokowego pozwalającego dosłownie tylko zakręcić silnikiem. Wszędzie napotykałem dość skomplikowane sterowniki wymagające portu LPT i skomplikowanego oprogramowania. Jako, że silniki krokowe to dla mnie nowość i na początek chodziło mi głównie tylko o ich uruchomienie, napotkane konstrukcje były nieadekwatne do zamierzeń. Wreszcie trafiłem na prosty sterownik opisany tutaj
To prosty sterownik dwóch silników unipolarnych pozwalający wykonać zadaną liczbę kroków w lewo, albo w prawo. Prędkość określona jest na sztywno w programie mikroprocesora (a szkoda). Sterownie silnikami odbywa się za pomocą terminala wg schematu m0l2000, gdzie m0 to numer silnika (lub m1) , l to left (albo r) , 2000 - liczba kroków
Schemat sterownika wygląda tak
Po zbudowaniu układ nie działał. Terminal wysypywał śmieci. Dzięki pomocy kolegi adamz74 udało się rozwiązać problem. Należy nóżkę 16 max232 połączyć z +5V, nóżkę 15 z masą, pomiędzy nie wlutować kondensator 100nf. Dodatkowo zmienić kondensatory c1-c4 na 1uf. Kolejna sprawa to układ oparty jest o AT90S2313, który nie jest już produkowany. Można zastąpić go Attiny2313. W tym celu nalezy w fusebitach ustawić rezonator zewnętrzny <8Mhz i wyłączyć dzielenie przez 8 (bitC). Wsad nie wymaga zmian.
Filmik działającego sterownika:
Załączam wzór PCB (Traxmaker). Wsad do pobrania na podanej wyżej stronie autora projektu. Jest tam również kod źródłowy co bardzo przydałoby się do zmiany prędkości silnika, ale próba kompilacji kończy się błędami. Może ktoś rzuci okiem w czym jest problem. Na podanej stronie jest również więcej informacji o właściwościach sterownika.
Płytka nie uwzględnia zmian, o których napisałem wyżej, ale są tak nieznaczne , że nie wymagają przerabiania płytki.
Fajne? Ranking DIY