Да данном микроконтроллере необходимо реализовать шим с инверсией. Но инверсия должна быть на разных портах, т.е. выхода разных таймеров, это порт PD3/ОС2В и РD5/ОС0В. Сделать инверсию на одном любом таймере ТО или Т2 не проблема, но как сделать на разных, чтобы за основу был взят любой из них как основной, так как планируется изменять скважность. И ещё, надо шим получить порядка 15-18 кГц на порте PD4/Т0. Подскажите пожалуйста, как это реализовать программно, желательно не на словах, а на примере.
https://img.radiokot.ru/files/136567/me ... uq1s1j.jpg
ШИМ на ATmega168
- Реклама
- VNS
- Говорящий с текстолитом
- Сообщения: 1627
- Зарегистрирован: Пт дек 10, 2021 12:48:46
- Откуда: Тюмень
Re: ШИМ на ATmega168
[uquote="Alex_ka",url="/forum/viewtopic.php?p=4737597#p4737597"]Да данном микроконтроллере необходимо реализовать шим с инверсией. Но инверсия должна быть на разных портах, т.е. выхода разных таймеров, это порт PD3/ОС2В и РD5/ОС0В.[/uquote]
Установите биты к примеру у таймера 0: СОМ0В = 2, а у таймера 2: СОМ2В = 3 и получите инверсию при одинаковых значениях регистров ОСR0B и OCR2B.
ИМХО, значения OCRnB желательно изменять в прерывании.
Установите биты к примеру у таймера 0: СОМ0В = 2, а у таймера 2: СОМ2В = 3 и получите инверсию при одинаковых значениях регистров ОСR0B и OCR2B.
ИМХО, значения OCRnB желательно изменять в прерывании.
Если скважность не требуется изменять, то при тактовой частоте 8 МГц ШИМ реализуется на выводе PD4 в прерывании по таймеру 1 допустим (Timer/Coutner1 Compare Match B). Ежели необходимо изменять скважность, то придётся тактировать МК от кварца на частоте 4 МГц, и управлять выводом PD4 в прерываниях по таймеру 1 как в Coutner1 Compare Match B так и в Counter1 Overflow. Таким образом частота ШИМ будет около 16 кГц.И ещё, надо шим получить порядка 15-18 кГц на порте PD4/Т0.
