kacperek754 Napisano Wrzesień 19, 2019 Udostępnij Napisano Wrzesień 19, 2019 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ę. Cytuj Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Wrzesień 20, 2019 Udostępnij Wrzesień 20, 2019 @kacperek754 witam na forum 🙂 Gdzie dokładnie utknąłeś, co sprawia największą trudność? Ciężko wywnioskować z Twojej wiadomości jakiej pomocy szukasz 😉 Cytuj Link do komentarza Share on other sites More sharing options...
kacperek754 Wrzesień 20, 2019 Autor tematu Udostępnij Wrzesień 20, 2019 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 Cytuj Link do komentarza Share on other sites More sharing options...
Gieneq Wrzesień 20, 2019 Udostępnij Wrzesień 20, 2019 (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: Odczytujesz sygnał digitalRead (zakres 0-1023) Skalujesz ww. zmienną funkcją map z Arduino, do zakresu odpowiedniego dla biblioteki/funkcji jaką używasz do sterowania silnikiem. Edytowano Wrzesień 20, 2019 przez Gieneq Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
ethanak Wrzesień 20, 2019 Udostępnij Wrzesień 20, 2019 7 minut temu, Gieneq napisał: Odczytujesz sygnał digitalRead (zakres 0-1023) analogRead tak w kwestii formalnej. 1 Cytuj Link do komentarza Share on other sites More sharing options...
kacperek754 Wrzesień 20, 2019 Autor tematu Udostępnij Wrzesień 20, 2019 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 Cytuj Link do komentarza Share on other sites More sharing options...
kacperek754 Wrzesień 22, 2019 Autor tematu Udostępnij Wrzesień 22, 2019 Ma ktoś pomysł co z tym zrobić ? Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!