ШИМ на ATmega168

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

Сообщение Alex_ka »

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

Сообщение 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»