Страница 1 из 1
Двухтактный ШИМ на Atmega 16
Добавлено: Вс мар 10, 2013 11:33:50
Yklmn
Как получить двухтактный ШИМ на Atmega 16.
Можно ли преобразовать однотактный в двухтактный если да то как это сделать.
Re: Двухтактный ШИМ на Atmega 16
Добавлено: Вс мар 10, 2013 13:48:57
uk8amk
Может имелось в виду ШИМ с комплементарным выходом?
TIM1 настраиваем в режим PWM, канал OCR1A - прямой, OCR1B - инверсный(или наоборот). Кидаем в оба регистра одинаковое значение, наслаждаемся результатом. Минус - нельзя в этом камне делать dead time, что часто надо для управления силовыми ключами.
Есть еще спец микры типа IR2103. 1 вход, два выхода + встроенный dead time.
Re: Двухтактный ШИМ на Atmega 16
Добавлено: Вс мар 10, 2013 16:13:55
Yklmn
Если настроить таймер так как вы сказали то получается следующее. Возьмем к примеру скважность 10% на прямом канале, то на
инверсном будет 90%, а мне нужно чтобы скважность была одинаковой и между каналами сдвинута на пол периода.
Re: Двухтактный ШИМ на Atmega 16
Добавлено: Вс мар 10, 2013 18:21:18
BOB51
Программный низкочастотный (до 120 герц при 128 уровнях на 8 каналов гарантировано) - без особых проблем.
Двухканальный режим без сдвига - тоже не вопрос.
Иначе на двух таймерах с задержкой включения каждого из модулей на полпериода... но насколько стабильно будет держать разницу...

Или специальную МК с аппаратной схемкой для работы с шаговым двигателем.
Re: Двухтактный ШИМ на Atmega 16
Добавлено: Вс мар 10, 2013 18:55:43
Ser60
Посмотрите здесь:
http://mcs.uwsuper.edu/sb/Electronics/HugeLED/
Там в конце есть линк на перевод на русский.
Re: Двухтактный ШИМ на Atmega 16
Добавлено: Вс мар 10, 2013 19:28:22
BOB51
Остактся только точно подогнать точку запуска второго таймера.
Хотя для такой тихоходной конструкции как 4-х разрядный дисплей и программного ШИМ (BAM) достаточно будет.

Re: Двухтактный ШИМ на Atmega 16
Добавлено: Вс мар 10, 2013 19:33:05
Ser60
Это просто - перед запуском ШИМ следует обнулить счетчик одного таймера и загрузить код, соответствующий полупериоду в другой. Потом запустить их одновременно (или один сразу за другим) и сихронность гарантирована.
Re: Двухтактный ШИМ на Atmega 16
Добавлено: Вс мар 10, 2013 20:55:32
BOB51
И к тому же не забыть про предделители...

Re: Двухтактный ШИМ на Atmega 16
Добавлено: Пн мар 11, 2013 20:13:33
Yklmn
Спасибо всем кто откликнулся. Задача решена. Пройдя по ссылке которую предоставил Ser60 я увидел скриншет

это как раз то что было нужно. Реализовал на одном 16 битном
таймере. Выбрал ШИМ с фазовой корекцией, вершину счета задал в регистре ICR1 скважность регистрами OCR1A, OCR1B.
Вариан с запуском двух таймеров с разницей в пол периода тоже надо будет попробовать.