Lu_let napisał(a):
Witam,
Używam kontrolera m328P
Mam ustawione 6 kanałów PWM
Jakie są możliwości obniżenia częstotliwości?
Jak skonfigurować żeby częstotliwość wynosiła 100- 300Hz na każdym kanale
[...]
Prescaler Twoim przyjacielem.
Na przykład na stronach Datasheeta 133-134 tego procka są wzory odnośnie uzyskiwanych częstotliwości
fOCnxPWM = fclk_I/O/(N * (1 + TOP))
gdzie N to wartość prescalera - 1, 8, 64, 256 lub 1024
Częstotliwości takie jakie potrzebujesz bez problemu da się uzyskać nawet na procku przetaktowanym do 25MHz.
Jak ustawisz prescaler na 1 to faktycznie przy taktowanym 16MHz dostaniesz minimalną częstotliwość dla timera 8-bit na poziomie 62.5kHz lub 31.25kHz. Przy Timerach 16-bitowych można zejść z tym prescalerem do 244Hz przy tej prędkości taktowania.
Ale jak już użyjesz prescalera o wartości 256, to na start dostajesz częstotliwości - w zaleśności od trybu i typu timera - dla taktowania 16MHz - 8 bit - Fast PWM 244Hz, Phase Accurate - 122Hz. Dla 16-bitowych liczników z Fast PWM można zejść do 1Hz.
Przy 16MHz taktowania, prescalerze 1024 i timerze 16 bit można uzyskać częstotliwości na poziomie 0.12Hz. Nic nie trzeba kombinować programowo