Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.91/54: Рейтинг темы: голосов - 54, средняя оценка - 4.91
ormour
1 / 1 / 0
Регистрация: 25.02.2010
Сообщений: 2
1

Двухфазный ШИМ контроллер на mega8535

28.02.2010, 15:44. Просмотров 9894. Ответов 4
Метки нет (Все метки)

Здравствуйте.
Относительно недавно наткнулся на одну проблему, над которой ломаю голову уже третью неделю. В надежде найти ответ на свой вопрос, решил изложить суть проблемы здесь.

Превью
Для управления транзисторами H-моста требуется 4 последовательности управляющих импульсов с заданными условиями. Каждый из управляющих импульсов представляет из себя меиндр, и единственная разница между ними заключается лишь в сдвиге фазы. См. Рис.1.
Для изменения напряжения на нагрузке достаточно двигать пару сигналов (3 и 4) относительно пары (1 и 2). для этой цели нам очень хорошо подойдет ШИМ сигнал, но, об этом чуть позже.
Для уменьшения пульсаций напряжения на нагрузке используется двухфазная система питания, то есть существует второй H-мост, управляющие сигналы которого сдвинуты на 90 градусов относительно управляющих сигналов первого моста.

Задача:
на выходах микроконтроллера требуется получить 8 вышеописанных сигналов.

Как данная задача решалась:

Было решено использовать 16-битный таймер в режиме симметричного ШИМ.
Рис.2 наглядно демонстрирует, что из ШИМ сигнала можно однозначно получить требуемые управляющие сигналы.
Для формирования сигналов используется прерывание по совпадению с OCR1A. Для удобства, в программе прерывания устанавливается программный счетчик, который помогает различать моменты во времени.
Так же из Рис. 2 видно, что период управляющих сигналов в 2 раза выше, чем период ШИМ, следовательно, чтобы получить сдвиг управляющего сигнала на 90 градусов, достаточно иметь такой же ШИМ сигнал, сдвинутый на 180 градусов. Если в регистр OCR1A записать число N, а в регистр OCR1B число TOP-N (где значение TOP - максимальное значение счетчика.), то на ножках OC1A и OC1B мы получим ШИМ-сигналы, точно сдвинутые на 180 градусов относительно друг друга. Соответственно, с формированием сигналов для второго моста проблем нет (используется прерывание по совпадению с OCR1B).
На вход АЦП установлено переменное сопротивление, соответственно, записывая в переменную N значение ADC, можно управлять шириной ШИМ сигнала и, следовательно, мощностью, выделяемой на нагрузке моста.

Примерный путь действий понятен - программа написана, откомпилирована и зашита в МК. Все отлично работает.. Но есть одно НО.

Итак, непосредственно проблема:

Все работает ПОЧТИ отлично.. В точке N=TOP/2 частота управляющих сигналов начинает нехило плыть. Да и вообще все начинает дрожать и шевелиться... что, собственно доставляет некие неудобства. Судя по всему, в этот момент одновременно вылетают оба прерывания по совпадению =(

Люди добрые, помогите/подскажите, что делать.
На ум приходит только одно - использовать 2 МК - по одному на фазу.
А вдруг задачу можно решить и на одном?

Листинг программы в приложении. Пишу на Си, компилятор IAR AVR 5.30.0.




[3.03 Кб]
1
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.02.2010, 15:44
Ответы с готовыми решениями:

Схема и прошивка mega8535
Всем доброго времени суток! Я новичок в программировании мк. Помогите разобраться, попалась в...

MEGA8535. IAR. Проблема с записью в EEPROM. Функции на асме
Народ! У меня всплыла проблемка. Есть некоторый запас ATMEGA8535 в DIP корпусе. Заложил этот МК...

опознать по фото, шим контроллер
, Доброго дня , сильно не пинайте , был в отпуске , привезли модуль с лицевой панелью не названия...

Где и как купить шим контроллер?
Нужен шим контроллер на ноутбук Asus UX31A. Расскажите про свой метод поиска. Где и как искать? Я...

шим контроллер, как апроверить блок питания
Не знаю в том ли разделе вообще тему создал,поправте если что. Понимаю, что вопрос может быть...

4
mokmum16
0 / 0 / 0
Регистрация: 25.02.2010
Сообщений: 402
01.03.2010, 00:17 2
Первое решение, которое приходит на ум - запретить N=TOP/2. Для 10 разрядной ШИМ это не должно сильно сказаться на точности.
0
oohz
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 204
01.03.2010, 00:59 3
предлагаю построить графики OCR1A И OCR1B при мощности 10%, 50% и 90%. взглянуть на них и... решение видно сразу
0
ormour
1 / 1 / 0
Регистрация: 25.02.2010
Сообщений: 2
02.03.2010, 12:07 4
Цитата Сообщение от mokmum16
Первое решение, которое приходит на ум - запретить N=TOP/2. Для 10 разрядной ШИМ это не должно сильно сказаться на точности.
Устройство будет находиться в цепи обратной связи, соответственно, существование "дырок" крайне нежелательно.

Цитата Сообщение от oohz
предлагаю построить графики OCR1A И OCR1B при мощности 10%, 50% и 90%. взглянуть на них и... решение видно сразу
Не могли бы вы уточнить, что именно становится видно?
0
Гарнист
0 / 0 / 0
Регистрация: 22.01.2010
Сообщений: 3,496
02.03.2010, 15:49 5
А может взять tl494 как формирователь ШИМ, и кормить его сигналами с процессора?
0
02.03.2010, 15:49
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.03.2010, 15:49

[Ремонт] Контроллер теплого пола с ШИМ управлением
Здравствуйте! Появилась потребность в контроллере теплого пола. Хотелось бы его сделать с...

СМА Samsung WF 1802 XEY, Опознать Шим контроллер
Подскажите пожалуйста какой шим стоит в этой машине.Заранее благодарю.

Варочная панель Bosch PKN645T14/01, Опознать шим контроллер
Доброго дня! Помогите пришла варка Boshh PKN645T14/01 шимку разорвало. Подскажите какая должна быть.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru