Witam,
Potrzebuje pomocy.
Próbuje wykonać pewien projekt w którym będę sterował niezależnie prędkością dwóch silników dc. Wykorzystuje do tego sprzętowy trym Fast PWM timer'a 1 mikrokontrolera ATmegi32. Po inicjalizacji Timer1 w trybie Fast PWM 8-bit wszytsko działa natomiast zauważyłem że gdy w petli zwiększam rejest OCR1B oraz OCR1A od 0 255 silnik startuje od ok. 65 natomiast w granicach od 90 - 130 bardzo szybko przyśpiesza. W projekcie który prubóje napisać potrzebuje większej dokładności zwiększania prędkości silnika. Nie wiem czy dobrze myślę ale próbowałem skorzystać z PWM 10-bitowego. Dokonałem istotnych zmian w inicjalizacji Timer1. Natomiast TCNT1 nadal zlicza od 0 do 255, a myślałem że zwiększy się rozdzielczość rejestru TCNT1 na 1023. W nocie jest napisane że rejest TCNT1, OCR1B, OCR1A sa 16-bit ale dostęp jest po przez dwa rejestry 8-bitowe np TCNT1L oraz TCNT1H. Czy może ktoś pomuc mi w zrozumieniu tego czy jest taka możliwość i jak mógłbym to ustawić aby TCNT1 był 10-bitowy. Za wszelkie porady bedę bardzo wdzięczny.
inicjalizacja PWM
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
funkcja sterująca silnikami
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.