Witam serdecznie.
Od wczoraj zmagam się z problemem obliczania prędkości dla silnika krokowego. Mam projekt w którym muszę ustawić prędkość w cm/min dla wózka napędzanego silnikiem krokowym. Po naciśnięciu klawisza cały wózek ma jechać z zadaną prędkością.
Silnik posiada 400 kroków na obrót no i do tego przekładnia która daje 7200 kroków na obrót docelowego koła.
Koło ma średnicę 7,8cm więc niby sprawa prosta bo można by policzyć liczbę kroków np w ciągu sekundy i po kłopocie. No ale dochodzi do tego jeszcze kwestia wcześniejszego wyliczenia zadawanej prędkości no i nie wiem czy sprawa jest na tyle poważna i nie umiem sobie poradzić czy już mi głowa puchnie...
Używam sterownika opartego na A4988. Prędkość reguluję zmieniając częstotliwość prostokąta na pinie STEP. Generuję go tak:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Częstotliwość reguluję odczytując wartość ADC z potencjometru, dzielę ja przez 4 i ładuję do rejestru OCR0A. No i to mi działa, reguluję w ten sposób prędkość silnika.
No i moje pytania - jak ugryźć programowo kwestię wyliczania zadawanej prędkości? Czy od dobrej strony zabieram się do pisania programu?
Jeżeli podałem za mało szczegółów proszę dać znać.
Z góry dziękuję i pozdrawiam.