Skocz do zawartości

Sygnał analogowy z silnikiem krokowym


Pomocna odpowiedź

Napisano

Witam

Potrzebuję sterować obrotami silnika krokowego bipolarnego za pomocą sygnału analogowego. Sygnał analogowy będzie podawany na arduino w zakresie 0-3.3V z innego mikrokontrolera. Silnik podłączony jest do arduino przez sterownik L298N. Nie mam zielonego pojęcia jak to zrobić. Testowo napisałem prosty program, który zapewnia maksymalne obroty silnika. Maksymalna wartość sygnału analogowego powinna zapewniać maksymalne obroty silnika krokowego. Proszę o pomoc i z góry dziękuję.

 

W tej chwili z pomocą poradników napisałem program, który zapewnia maksymalne obroty silnika. Testowo stworzyłem kod który po podaniu sygnału analogowego uruchamiał silnik krokowy, lecz działał niestabilnie. 

Jestem zielony w Arduino lecz budowa pewnego projektu zmusiła mnie do jego użycia

(edytowany)

Czy korzystasz z jakiejś biblioteki? Gdzieś w kodzie musisz mieć jakiś parametr/zmienną/argument funkcji/#define, który reprezentuje prędkość/częstość impulsów. Jeżeli znasz zakres tego parametru to wystarczy że przeskalujesz zmienną z przetwornika ADC odpowiedzialnego za odczyt sygnału sterującego 0-3V3.

Droga powinna wyglądać mniej więcej tak:

  1. Odczytujesz sygnał digitalRead (zakres 0-1023)
  2. Skalujesz ww. zmienną  funkcją map z Arduino, do zakresu odpowiedniego dla biblioteki/funkcji jaką używasz do sterowania silnikiem.

 

Edytowano przez Gieneq

W załączniku przesyłam programy do Arduino, które udało mi się stworzyć. Pierwszy z nich przedstawia maksymalne obroty silnika krokowego i to działa dobrze jedna nie jest to docelowy program. W drugim jest dodane sterowanie sygnałem analogowym, lecz po podpięciu i podaniu sygnału 3.3V silnik zaczyna się kręcić, lecz niestabilnie i gdy zmienię sygnał z 3.3V na 0V a następnie 3.3V to silnik już nie pracuje dopiero restart zasilania go uruchamia.

progarmy.rar

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...