Многообразие материалов на эту тему практически не оставляет шансов на оригинальность, но кое-что можно представить, дабы сократить время на поиск нужных решений и обозначить «подводные камни». И прежде всего представить практическое, без академичности, которая векторными диаграммами управления и матрицами отпугивает многих, а привлекает только тех, кому нужен реферат потолще.

Необходимо отметить, что выбор индуктивной нагрузки, коей является двигатель, вовсе не отвергает данное решение для управления освещением или нагревательными элементами. Двигатель, достаточно капризный элемент и не всякий подходит для данной схемы. И более того, режим плавного управления мощностью двигателя не всегда удается осуществить. Это зависит от многих факторов: мощность двигателя, инерционность нагрузки на валу, реактивные и активные параметры обмоток. Для надёжного решения всех этих проблем предназначены частотные инверторы. Тем не менее, данная схема значительно проще по сложности, чем частотное управление и иногда обеспечивает приемлемые результаты.

Вот совокупность всех аспектов проблемы управления:

  • Прежде всего, слово «микроконтроллер» в заглавии статьи, говорит о том, что управлять нагрузкой необходимо не потенциометром, (таких решений предостаточно), а именно микроконтроллером.
  • Обязательное наличие гальванической развязки.
  • Плавное управление мощностью, а не старт-стопное.
  • Контроль перехода через ноль (Zero-Cross).
  • Некоторые особенности выбора сглаживающего фильтра RC snubber.
  • Программная реализация событий управления на примере Atmega16A.
  • Обзор аналогичных решений в Интернете.

Узел управления индуктивной нагрузкой
Схема 1. Узел управления нагрузкой.

Датчик перехода через ноль (Zero-Cross)
Схема 2. Датчик перехода через ноль (Zero-Cross).

Цепи:

  • VCC – 5 вольт, питание низковольтной части узла, полученное стабилизатором напряжения;
  • GND – общая точка низковольтной части;
  • DRV – выход микроконтроллера, для управления нагрузкой (PC6 для Atmega16A);
  • ZERO - вход TTL-сигнала (PD2/INT0 для Atmega16A) от события перехода через ноль сети 220;
  • L,N - фаза и нейтраль сети 220;

Элементы:

  • MOC3052 - оптотриак (симистор), обеспечивающий гальваническую развязку;
  • BT136 - триак (симистор), обеспечивающий управление мощной нагрузкой;
  • BC847 – транзистор, управляющий MOC3052;
  • R1,R2 – делитель, запирающий транзистор по умолчанию.
  • RS,CS - сглаживающий фильтр RC snubber, необходимый только для индуктивной нагрузки.
  • PC814 - оптрон датчика Zero-Cross;
  • RZ0,RZ1 - токозадающие резисторы, двухваттные;
  • SN74HC14D – триггер Шмидта, для повышения помехоустойчивости;
  • М - двигатель, схема включения типа «звезда»;
  • CF - фазосдвигающий конденсатор.

Диаграмма фазового управления
Диаграмма фазового управления.

Оптрон PC814 обладает той особенностью, что содержит два внутренних светодиода, и реагирует на разнополярное напряжение при токе 10 мА. Поэтому характер импульсов сигнала ZERO именно такой, как показано на диаграмме. На токозадающих сопротивлениях RZ0 и RZ1 падает практически всё напряжение питающей сети, поэтому на их ваттности не надо экономить. Вместо двух последовательных сопротивлений можно использовать одно, соответствующего типа.

Сигнал ZERO попадает на микроконтроллер PD2/INT0 и вызывает аппаратное прерывание ниспадающим фронтом. Как будет показано далее, программа обработки прерывания запускает счетчик, время работы которого и будет определять фазовую задержку включения симистора относительно события перехода через ноль. Сигнал DRV формируется этой задержкой. На диаграмме показано, что передний фронт сигнала DRV смещается так, что энергетика на нагрузке уменьшается синхронно, через каждые 10 миллисекунд. Этого можно достичь только программным способом.

Если задача управления нагрузкой простая (включить/выключить) , то датчик Zero-Cross можно и не применять. Однако его использование уменьшает помехи при коммутации сильноточной нагрузки, да и режим, в котором пребывает силовой симистор более щадящий и он меньше нагревается. Используя данный подход в полном объеме, можно строить достаточно сложные воздействия на двигатель.

В представленной схемотехнике имеется один не большой «подводный камушек», о который можно споткнуться. При инициализации микроконтроллера может пройти достаточное время, это связано с конкретной задачей, когда его выходные сигналы находятся в третьем состоянии. В течении этого времени необходимо запереть транзистор BC847. Иначе возможен скачек напряжения, который пройдет на нагрузку.

Сглаживающий фильтр RC-snubber.

Необходимо иметь в виду, что при отключении и включении симистора из-за реактивного сопротивления обмоток может возникать короткий бросок и даже затухающие колебания на нагрузке. Для предотвращения этих бросков служит фильтр RS, CS. В литературе по триакам приводятся номиналы этих элементов: RS = 39 Ом, CS = 0.01 мкФ. При этом для мощности RS нет рекомендаций. Мой практический опыт говорит о том, что сопротивление RS горит так, что выгорает весь узел с симистором. При этом оборудование испытывалось, собственные колебания подавлены, работа стабильная, но иногда у заказчика происходит пробой узла. Причины этих возгораний носят случайный характер и систематизации не поддаются. Можно только предположить, что причиной может быть не сам узел симистор – двигатель, а наводимая на него через питающую сеть импульсная помеха от другого оборудования.

И так, для подавления собственных колебаний представленные номиналы вполне оправданы, и вообще-то не критичны. RS должно быть того же порядка, что и активное сопротивления двух обмоток (схема «звезда»). Собственные колебания могут быть от 1 до 10кГц. На этой частоте реактивное сопротивление CS от 16кОм до 1.6кОм, поэтому всё напряжение приложено к CS. Гораздо хуже, когда возникает внешняя импульсная помеха, её параметры не известны.

Поэтому мои рекомендации таковы:

RS эквивалентно активному сопротивлению обмоток, а мощность не менее двух ватт. CS большего номинала чем 0.01 мкФ, с напряжением 400V и более.

Вот здесь есть интересные материалы на эту тему:

http://radiokot.ru/forum/viewtopic.php?f=11&t=73446

Программная реализация управления.

Пример программы реализован в проекте AVR-studio Ver 4.18 build 716.

Основные особенности:

  • Частота процессора 8 МГц внутренняя без кварца.
  • Регистр счетчика TCCR2 настроен на внутреннее прерывание с периодом 20 мкс.
  • Программа обработки этого прерывания SIGNAL(SIG_OUTPUT_COMPARE2) вызывает процедуру drv_act().
  • Процедура drv_act() в зависимости от флага drv_faza0 запускает счетчик задержки относительно момента перехода через ноль.
  • Процедура обработки прерывания SIGNAL (SIG_INTERRUPT0) от датчика Zero-Cross управляет флагом drv_faza0.
  • Весь период полуволны в 10 мс разбивается на 500 значений задержки.
  • В массиве pwm_array[] заранее формируется набор задержек. Перебор индекса массива происходит в программе обработки прерывания SIGNAL (SIG_INTERRUPT0).

Более подробно см. проект.

Библиотека компонентов для PCAD 2004

Ниже будет описано, что можно получить, манипулируя полуволнами, но автор, работая над реальным проектом управления двигателем, не ограничился статическими значениями задержек. Для более стабильного результата была реализована следящая система поддержания заданных оборотов двигателя на основе тахометра. Программно это поддержано в процедуре NormalCtrl(), но описания этой части не входит в рамки данной статьи.

Управление двигателем с помощью манипуляций полуволнами.

  • Двигатель: асинхронный , 3 фазы, 250 Ватт, 220 В, 2730 об/мин, тип АИР56В2N3.
  • Фазосдвигающий конденсатор CF = 10мкФ х 400 В.
  • Активное сопротивление каждой обмотки Ra = 39 Ом.
  • RS = 46 Ом, CS = 0.22 мкФ.
  • Двигатель не нагружен, холостой ход.
  • Напряжения снимались через резистивный делитель относительно нейтрали N.

На диаграммах 1,2,3 зелёный график – напряжение на нагрузке (LOAD), жёлтый график – точка между сопротивлением RZ1 и PC814, она показывает реальные моменты перехода через ноль.

При определённой задержке фазы включения симистора, близкой к той, что показана на диаграмме 1, наблюдалась устойчивая работа двигателя на оборотах в два раза меньше максимальных. Однако незначительное уменьшение этой задержки, приводило к тому, что двигатель, постепенно разгоняясь, выходил на полные обороты и симистор открывался полностью, игнорируя управляющее воздействие.

Управление двигателем, старт
Диаграмма 1. Начало вращения, постепенный набор оборотов.

Управление двигателем, разгон
Диаграмма 2. Обороты, близкие к максимальным, вырождение участков закрытого симистора.

Обороты, близкие к максимальным, вырождение участков закрытого симистора
Диаграмма 2. Обороты максимальные,  симистор открыт.

Можно предположить, что срыв работы симистора, как управляющего элемента, объясняется динамическим изменением реактивной составляющей сопротивления обмоток двигателя, в результате чего симистор переходит в открытое состояние. К этим сложностям добавляется то обстоятельство, что неустойчивость симистора так же зависит и от момента на валу двигателя. Если удалось подобрать фазы задержек на холостых оборотах, то при нагрузке для устойчивой работы эти параметры будут совершенно иными.

Однако же заставить работать двигатель на оборотах, кратных максимальным можно. Получить достаточно плавную регулировку, правда, не получится. Самое же проблематичное это получить вращение двигателя при оборотах в диапазоне 0.75MAX < RPM < MAX. В этом диапазоне скоростей как раз и происходит чаще всего срыв симистора.

Устойчивая работа на оборотах RPM < 0.5MAX. Выделение полуволн
Диаграмма 4. Устойчивая работа на оборотах RPM < 0.5MAX. Выделение полуволн.

Управление симистором. Дальнейшее уменьшение оборотов
Диаграмма 5. Дальнейшее уменьшение оборотов.

Управление симистором. Устойчивая работа, выделение целых волн.
Диаграмма 6. Устойчивая работа, выделение целых волн.

Как видно на диаграммах 4,5,6 работа двигателя была устойчивой при скорости вращения меньше половины максимальной. Необходимо отметить, что момент на валу так же был не малый, остановить вал рукой было сложно. Проблемой такого управления была повышенная низкочастотная вибрация, и нагрев двигателя. На диаграмме 6 угроза потери управления уже наметилась характерной модуляцией участков закрытого симистора.

Выводы:

  • Если нагрузка омическая, то проблем не возникает.
  • За простоту надо платить. Асинхронные двигатели управляются частотными преобразователями.
  • Срыв симистора для меня не понятен.
  • Лучше всего данная схема с симистором работает для управления вентиляторами, так как нагрузка инерционная и рывки в режиме манипуляции полуволнами не так сказываются.
  • Можно предположить, что управление MOSFET-ом лишено недостатков симистора при той же относительной простоте схемы. Но автор не имеет практического опыта в этом вопросе.
  • По пезультатам обсуждения данной темы на форумах, некоторые авторы предлагают использовать не симистор для управления двигателем, а два встречно включенных тиристора. При таком подходе срыва не происходит, как они утверждают.

Интернет-обзор на данную тему:

www.keklab.ru

 

Обновлено (11.02.2013 07:35)