Witam,
Używam sterownika do silnika DC. Sterowanie polega na podanie odpowiedniego wypelnienia PWM na wejscia AIN1 AIN2. Wejscia AIN odpowiadaja za obroty w lewo/prawo. Uzywam atmegi328p. http://www.atmel.com/Images/doc8161.pdf
Zasada dzialania (obroty w prawo/lewo):
PWM na pinach PD5 PD6 powinny dzialac synchronicznie. Niestety przy obecnych ustawieniach silnik kreci mi sie tylko w jedna strone. np.
timer_init();
OCR0A = 255; //PD6 //BIN2 //M1B 255niski, 0 wysoki
OCR0B = 170; //speed
Jak odwroce wartosc silnik stoi w miejscu. Dlatego mam pytanie czy dobrze ustawilem timer/counter? Cialo funkcji to wywolanie timera.
Korzystalem z poradnika z tej strony:
https://sites.google.com/site/qeewiki/books/avr-guide/pwm-on-the-atmega328
atmega328p. http://www.atmel.com/Images/doc8161.pdf
main.c
Używam sterownika do silnika DC. Sterowanie polega na podanie odpowiedniego wypelnienia PWM na wejscia AIN1 AIN2. Wejscia AIN odpowiadaja za obroty w lewo/prawo. Uzywam atmegi328p. http://www.atmel.com/Images/doc8161.pdf
Zasada dzialania (obroty w prawo/lewo):
Kod: C / C++
PWM na pinach PD5 PD6 powinny dzialac synchronicznie. Niestety przy obecnych ustawieniach silnik kreci mi sie tylko w jedna strone. np.
timer_init();
OCR0A = 255; //PD6 //BIN2 //M1B 255niski, 0 wysoki
OCR0B = 170; //speed
Jak odwroce wartosc silnik stoi w miejscu. Dlatego mam pytanie czy dobrze ustawilem timer/counter? Cialo funkcji to wywolanie timera.
Kod: C / C++
Korzystalem z poradnika z tej strony:
https://sites.google.com/site/qeewiki/books/avr-guide/pwm-on-the-atmega328
atmega328p. http://www.atmel.com/Images/doc8161.pdf
main.c
Kod: C / C++