Zabaw z silnikami krokowymi ciąg dalszy. Wstępny wsad do uC gotowy. Chciałem zrobić max. uniwersalny wsad:
- sterowanie pełnym krokiem lub półkrokiem
- sterowanie kierunkiem obrotów
- sterowanie szybkością
- "płynne" przejście z kroków pełnych na półkroki i przy zmianie kierunku
- obsługa czujnika pozycji zerowej
- niezależna obsługa dwóch silników unipolarnych
Wszystko to na sterowniku LED na płytce simOUT XL. Na dobrą sprawę nie trzeba nic dorabiać (jeśli nie chcemy czujnika pozycji zerowej). Do testów użyłem czujnika CNY70, do niego potrzebny jest jeszcze układ 74HC14 (można też wykorzystać jakiś mały komparator). Ten scalak jest potrzebny do tego, by uC dostał informację "binarną", 1 - czujnik "złapał" sygnał, 0 - brak sygnału. Wsad włącza dodatkową diodę jeśli dany silnik jest w pozycji zerowej (sygnał z czujnika). Czujniki oczywiście są oddzielne na obydwu silników. Nakręciłem krótki filmik (fatalnej jakości), na którym pokazuje działanie czujnika i zerowanie silnika (silnik kręci się dopóki nie ma sygnału od czujnika) -
http://www.youtube.com/watch?v=Lb9Gafp5opo Rozkazy wysyłam z terminala RS232. Teraz kolej na przygotowanie modułu do HSC, schematów jak podpiąć silniki oraz czujniki i testy.
Silnik z Wobit (
http://www.mobot.pl/index.php?site=products&type=874&details=7781), który wykorzystałem do testów wydaje się być nienajlepszy. Normalnie silnikiem krokowym (unipolarnym) steruje się sekwencją A->B->C->D->A->B->C->D... Ten silnik w dokumentacji ma zapisaną sekwencję AD->AB->BC->CD->AD... To jest OK, takie sterowanie powoduje, że silnik ma większy moment. Niestety próba sterowania normalnym sygnałem (A->B->C->D) powoduje, że co 2 (lub 3 krok) występuje krok bardzo mały. W związku z tym sterowanie półkrokiem (AD->A->AB->B->BC->C->CD->D) jest również "upośledzone". Winę ponosi silnik lub ja

Być może źle go podpinam (próbowałem wielu kombinacji), a być może, że ULN2803 nie nadaje się akurat do tego silnika. Wkrótce będę miał inne silniki do testowania, wtedy powinno się coś wyjaśnić
ULN2803 zastosowany w sterowniku LED wymusza stosowanie silników na prąd max. 500mA (jeśli dwa silniki to suma musi być <= 500mA). Można też będzie zastosować dwa silniki po max. 500mA ale nie będzie można włączać utrzymywania pozycji silnika (silnik po wykonaniu kroku zostanie wyłączony).
Na filmiku widać świecącą diodę IR czujnika CNY70, w rzeczywistości tego światła nie widać

Kamera w telefonie nie ma filtru IR więc widzi światło podczerwone.