ШИМ на ATmega168

Обсуждаем контроллеры компании Atmel.
Ответить
Alex_ka
Нашел транзистор. Понюхал.
Сообщения: 193
Зарегистрирован: Ср сен 04, 2019 17:59:23
Откуда: Гомель

ШИМ на ATmega168

Сообщение Alex_ka »

Да данном микроконтроллере необходимо реализовать шим с инверсией. Но инверсия должна быть на разных портах, т.е. выхода разных таймеров, это порт PD3/ОС2В и РD5/ОС0В. Сделать инверсию на одном любом таймере ТО или Т2 не проблема, но как сделать на разных, чтобы за основу был взят любой из них как основной, так как планируется изменять скважность. И ещё, надо шим получить порядка 15-18 кГц на порте PD4/Т0. Подскажите пожалуйста, как это реализовать программно, желательно не на словах, а на примере.
https://img.radiokot.ru/files/136567/me ... uq1s1j.jpg
Реклама
Аватара пользователя
VNS
Говорящий с текстолитом
Сообщения: 1627
Зарегистрирован: Пт дек 10, 2021 12:48:46
Откуда: Тюмень

Re: ШИМ на ATmega168

Сообщение VNS »

[uquote="Alex_ka",url="/forum/viewtopic.php?p=4737597#p4737597"]Да данном микроконтроллере необходимо реализовать шим с инверсией. Но инверсия должна быть на разных портах, т.е. выхода разных таймеров, это порт PD3/ОС2В и РD5/ОС0В.[/uquote]
Установите биты к примеру у таймера 0: СОМ0В = 2, а у таймера 2: СОМ2В = 3 и получите инверсию при одинаковых значениях регистров ОСR0B и OCR2B.

ИМХО, значения OCRnB желательно изменять в прерывании.
И ещё, надо шим получить порядка 15-18 кГц на порте PD4/Т0.
Если скважность не требуется изменять, то при тактовой частоте 8 МГц ШИМ реализуется на выводе PD4 в прерывании по таймеру 1 допустим (Timer/Coutner1 Compare Match B). Ежели необходимо изменять скважность, то придётся тактировать МК от кварца на частоте 4 МГц, и управлять выводом PD4 в прерываниях по таймеру 1 как в Coutner1 Compare Match B так и в Counter1 Overflow. Таким образом частота ШИМ будет около 16 кГц.
Реклама
Ответить

Вернуться в «AVR»