Skocz do zawartości

Kłopot ze sterowaniem silnikami


Pomocna odpowiedź

Napisano

Postanowiłem zbudować prościutkiego robota (może za dużo powiedziane) sterowanego przez podczerwień. Konstrukcja jest niezwykle prosta i oklepana: attiny2313, l293dne, dwa silniki, program napisany w bascomie. Z początku chciałem zbudować to w oparciu o generator pwm, lecz natknąłem się na następujący problem: gdy wartość zmiennej pwm1a lub pwm1b była niska (poniżej 60 [pwm clear down]) to układ się zawieszał. Dopisałem do kodu kilka odpowiednich lini, by móc w terminalu na bieżąco podglądać zawartość zmiennych pwm1a, pwm1b oraz komenda (jest to zmienna polecenia getrc5). W momencie gdy zmienne pwm1a lub pwm1b staje się niższa niż 60, wszystkie 3 zmienne osiągają astronomiczne wartości (powyżej 10000000) no i attiny się zawiesza. Postanowiłem uprościć układ poprzez usunięcie generatora pwm. Niestety problem się powtarza. Zauważyłem także, że to zawieszanie się ma związek z przyblokowywaniem silników. Jeśli ręką przyhamuję któryś z silników (choć troszeczkę) to mikrokontroler się zawiesza. Próbowałem przy różnych ustawieniach generatora pwm i nigdy nie działa poprawnie. Silniki pochodzą z jakiejś zabawki. Da się coś z tym zrobić?

masz na myśli kondensatory filtrujące napięcie zasilania? Na razie mam 100uF, więc to chyba dość sporo. Mam także kondensatory na silnikach, ale nie wpływa to na działanie układu.

Gdy hamujesz silniki wzrasta płynący przez nie prąd. Często powoduje to obniżenie napięcia na procesorze i w efekcie jego reset albo zawieszenie.

Musiałbyś wysłać schemat robota, ciężko coś doradzać bez tego.

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...