In my project I use ATmega328P quartz 18432000 Hz and pre-divide by 8 How to reduce the PWM frequency to about 100Hz on all outputs now is 9 kHz
`void init_pwm()
{
// Wyłącz wszystkie kanały PWM na początek
TCCR1A = 0;
TCCR1B = 0;
TCCR0A = 0;
TCCR0B = 0;
TCCR2A = 0;
TCCR2B = 0;
// Konfiguracja pierwszego kanału (OCR1A) - PB1 (pin 9)
TCCR1A |= (1 << WGM10) | (1 << COM1A1);
TCCR1B |= (1 << WGM12) | (1 << CS10); // Preskaler = 1
// Konfiguracja drugiego kanału (OCR1B) - PB2 (pin 10)
TCCR1A |= (1 << WGM10) | (1 << COM1B1);
// Konfiguracja kanału PD3 (pin 3)
TCCR0A |= (1 << WGM00) | (1 << WGM01) | (1 << COM0A1); // Odwrócone działanie PWM
TCCR0B |= (1 << CS00); // Preskaler = 1
// Konfiguracja kanału PD5 (pin 5)
TCCR0A |= (1 << WGM00) | (1 << WGM01) | (1 << COM0B1); // Odwrócone działanie PWM
// Konfiguracja kanału PD6 (pin 6)
TCCR2A |= (1 << WGM20) | (1 << WGM21) | (1 << COM2A1); // Odwrócone działanie PWM
TCCR2B |= (1 << CS20); // Preskaler = 1
// Konfiguracja kanału PB3 (pin 11)
TCCR2A |= (1 << WGM20) | (1 << WGM21) | (1 << COM2B1); // Odwrócone działanie PWM
}`