Можно ли преобразовать однотактный в двухтактный если да то как это сделать.
Двухтактный ШИМ на Atmega 16
- Сообщения: 36
- Зарегистрирован: Вс мар 10, 2013 11:04:27
Как получить двухтактный ШИМ на Atmega 16.
Можно ли преобразовать однотактный в двухтактный если да то как это сделать.
Можно ли преобразовать однотактный в двухтактный если да то как это сделать.
- Реклама
Может имелось в виду ШИМ с комплементарным выходом?
TIM1 настраиваем в режим PWM, канал OCR1A - прямой, OCR1B - инверсный(или наоборот). Кидаем в оба регистра одинаковое значение, наслаждаемся результатом. Минус - нельзя в этом камне делать dead time, что часто надо для управления силовыми ключами.
Есть еще спец микры типа IR2103. 1 вход, два выхода + встроенный dead time.
TIM1 настраиваем в режим PWM, канал OCR1A - прямой, OCR1B - инверсный(или наоборот). Кидаем в оба регистра одинаковое значение, наслаждаемся результатом. Минус - нельзя в этом камне делать dead time, что часто надо для управления силовыми ключами.
Есть еще спец микры типа IR2103. 1 вход, два выхода + встроенный dead time.
- Сообщения: 36
- Зарегистрирован: Вс мар 10, 2013 11:04:27
Если настроить таймер так как вы сказали то получается следующее. Возьмем к примеру скважность 10% на прямом канале, то на
инверсном будет 90%, а мне нужно чтобы скважность была одинаковой и между каналами сдвинута на пол периода.
инверсном будет 90%, а мне нужно чтобы скважность была одинаковой и между каналами сдвинута на пол периода.
Программный низкочастотный (до 120 герц при 128 уровнях на 8 каналов гарантировано) - без особых проблем.
Двухканальный режим без сдвига - тоже не вопрос.
Иначе на двух таймерах с задержкой включения каждого из модулей на полпериода... но насколько стабильно будет держать разницу...
Или специальную МК с аппаратной схемкой для работы с шаговым двигателем.
Двухканальный режим без сдвига - тоже не вопрос.
Иначе на двух таймерах с задержкой включения каждого из модулей на полпериода... но насколько стабильно будет держать разницу...
Или специальную МК с аппаратной схемкой для работы с шаговым двигателем.
- Сообщения: 3793
- Зарегистрирован: Ср дек 24, 2008 09:58:58
Посмотрите здесь:
http://mcs.uwsuper.edu/sb/Electronics/HugeLED/
Там в конце есть линк на перевод на русский.
http://mcs.uwsuper.edu/sb/Electronics/HugeLED/
Там в конце есть линк на перевод на русский.
- Реклама
Остактся только точно подогнать точку запуска второго таймера.
Хотя для такой тихоходной конструкции как 4-х разрядный дисплей и программного ШИМ (BAM) достаточно будет.
Хотя для такой тихоходной конструкции как 4-х разрядный дисплей и программного ШИМ (BAM) достаточно будет.
- Сообщения: 3793
- Зарегистрирован: Ср дек 24, 2008 09:58:58
Это просто - перед запуском ШИМ следует обнулить счетчик одного таймера и загрузить код, соответствующий полупериоду в другой. Потом запустить их одновременно (или один сразу за другим) и сихронность гарантирована.
- Сообщения: 36
- Зарегистрирован: Вс мар 10, 2013 11:04:27
Спасибо всем кто откликнулся. Задача решена. Пройдя по ссылке которую предоставил Ser60 я увидел скриншет
это как раз то что было нужно. Реализовал на одном 16 битном
таймере. Выбрал ШИМ с фазовой корекцией, вершину счета задал в регистре ICR1 скважность регистрами OCR1A, OCR1B.
Вариан с запуском двух таймеров с разницей в пол периода тоже надо будет попробовать.
это как раз то что было нужно. Реализовал на одном 16 битном таймере. Выбрал ШИМ с фазовой корекцией, вершину счета задал в регистре ICR1 скважность регистрами OCR1A, OCR1B.
Вариан с запуском двух таймеров с разницей в пол периода тоже надо будет попробовать.


