Управление симистором с микроконтроллера

  • Содержание[Показать]

Самый простой вариант — Реле

Электромагнитное реле — самый простой вариант управления микроконтроллером нагрузкой 220В. По сути это обычный электромагнит. При подаче постоянного тока на катушку возникает магнитное поле, сердечник втягивается и замыкает выводы.

Для управления самим реле применимы те же методы, описанные в статье «Как управлять мотором постоянного тока». Важно обращать внимание на ток удержания реле и максимальный ток и коммутируемое напряжение. Как правило, ток удержания довольно высокий, около 100 мА, а напряжение 5 или 12В.

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

Управление симистором с микроконтроллера Управление симистором с микроконтроллера

Управляем нагрузкой 220В с регулировкой мощности

Хотелось бы иметь возможность регулировать мощность, подаваемую на управляемый прибор в диапазоне от 0 до 100%. Вот эту задачу и будем решать.

Как известно бытовая электросеть имеет переменное напряжение 220В с частотой 50 Гц. На осциллограмме это выглядит так:

Управление симистором с микроконтроллера

Напряжение меняется по синусоиде, меняя полярность каждые 10 мс. Ограничить полную мощность синусоиды можно двумя методами:

  • фазовый метод
  • метод полных полупериодов

В фазовом методе нагрузка отключается от сети на часть времени каждого полупериода, отключение производится обычно после перехода через 0. Напряжение подаваемое на нагрузку в этом случае выглядит так:

Управление симистором с микроконтроллера Управление симистором с микроконтроллера

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

Симистор — мощный ключ для сети 220 В

Самый простой способ управления нагрузкой 220В — использовать реле. Оно позволяет с помощью постоянного напряжения управлять мощной нагрузкой. В этой статье не будет рассматривать этот метод, он достаточно простой. Достаточно подать напряжение на магнит реле и он замкнёт контакты.

К сожалению, реле не позволяет управлять нагрузкой достаточно быстро. При большом количестве включенийвыключений оно быстро выходит из строя. Также, в момент переключения возникают большие импульсные помехи. Использовать реле лучше при частоте управления не больше одного раза в 2-3 секунды.

Как мы уже знаем по статье «Как управлять мотором постоянного тока» в цепях постоянного тока транзистор является электронным ключом, устройством, которое позволяет малым напряжением или током управлять более мощной нагрузкой.

Для переменного тока тоже существуют такие электронные ключи — Симисторы.

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

В закрытом состоянии проводимость симистора отсутствует, нагрузка выключена.

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

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

Отсюда следует, что выключение нагрузки в цепи переменного тока происходит вблизи моментов времени, когда ток через основные электроды симистора меняет направление (обычно это совпадает по времени со сменой полярности напряжения в сети переменного тока).

Эта точка на синусоиде называется переходом через ноль.

Симистором можно управлять напрямую от микроконтроллера, но для этого нужен довольно большой ток — 10-20 мА. Существуют также логические симисторы. У них ток управления составляет около 5 мА. В схемах лучше использовать обычные симисторы, они более защищены от самопроизвольного открытия. Что это такое и как можно управлять обычными симисторами? Читаем дальше.

Для начала посмотрим насколько мощной нагрузкой может управлять типичный симистор. Возьмём для примера симистор BT139-800. В datasheet обычно приводят графики выделяемой мощности на симисторе при управлении нагрузкой. Вот пример такого графика.

Управление симистором с микроконтроллера Управление симистором с микроконтроллера

Из всех этих параметров следует, что без радиатора данный симистор может рассеять около 2Вт тепла. При управлении полными полупериодами нужно брать график тока для a=180 градусам. График в этой области практически линейный, поэтому можно сказать, что средний ток будет около 2А.

То есть без радиатора этот симистор сможет управлять нагрузкой в 2А * 220В = 440 Вт. В остальных случаях нужен будет радиатор.

Теперь разберёмся как микроконтроллер может управлять мощным симистором?

Оптосимистор — удобный метод управления мощным симистором микроконтроллером

Так как симистор проводит ток в обоих направлениях, то по отношению к его основным терминалам, управляющий ток может находится в четырёх квадратах.

Управление симистором с микроконтроллера Управление симистором с микроконтроллера

В datasheet приводят, в каких квадрантах управляется конкретный симистор и какой для этого нужен ток. Например, выбранный симистор управляется во всех 4-х квадрантах. Но при этом различается управляющий ток и защитные свойства от ложных срабатываний.

Управление симистором с микроконтроллера

Видно, что 4-ый квадрант самый невыгодный. Управляющий ток резко возрастает. Также и защитные свойства при таком управлении падают.

Отсюда следует вывод, что при управлении микроконтроллером лучше управлять в 1-3 квадранте.

Если управление прямое, то МК необходимо уметь менять полярность вывода, что сложно, или иметь общее с терминалом A1 плюсовое питание (управление будет во втором и третьем квадранте). Второй вариант не сложно реализовать при конденсаторном источнике питания. В этом appnote AN2986 подробно рассматривается этот случай.

Второй вариант — управлять через оптосимистор. Таких устройств довольно много и они стоят недорого. Например — MOC3041. Есть оптосимисторы со встроенной схемой контроля перехода через ноль, они могут выключаться только около нуля. Такой нам и нужен для схемы управления полными периодами. А есть без этой схемы. С их помощью можно управлять фазовым методом.

  1. Схема управления с использование оптосимистора получается такая:
  2. само устройство внутри выглядит так:
  3. Управление в этом случае получается одной полярности с терминалом A2, то есть в первом и третьем квадранте.

Дополнительно оптосимистор изолирует схему работы микроконтроллера от сети, что уменьшает помехи, и повышает надёжность прибора. Если нет требований к компактности прибора, то рекомендуем использовать оптосимисторы для управления другими более мощными симисторами.

Цепь защиты симистора от помех в сети

В случае слишком быстрого изменения напряжения на основных выводах симистора или тока он может самопроизвольно открыться и начать проводить ток. Это очень неприятно. В основном это может произойти при управлении индуктивной нагрузкой (индуктивность сопротивляется изменению тока).

Но также это может происходить и при работе прибора с индуктивностью рядом в сети (например, когда через одну розетку работает мотор и управляемый микроконтроллером паяльный фен). В этом случае независимо от микроконтроллера управляемая нагрузка не будет отключаться от сети и ток будет продолжать идти.

Например, при управлении паяльным феном эта ситуация может привести даже к пожару.

Простой защитой от этого случая является снабберная цепь (резистор плюс конденсатор):

Но она не гарантирует работу во всех случаях. Параметры рассчитываются под конкретную индуктивность. Appnote AN-3004 подробно рассматривает расчет снаббера.

Второй вариант — использование симисторов работающих в 1-3 квадранте. Например, T405. Производитель указывает, что они могут использоваться для управления даже индуктивной нагрузкой без снаббера.

Фазовый метод

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

Самый простой метод получения события перехода через ноль в сети переменного тока подробно описан в appnote AN521 от компании Microchip. Практически каждый микроконтроллер имеет высоковольтные защитные диоды на каждом цифровом входе. Это можно использовать, чтобы получить информацию о переходе через ноль.

Достаточно на входе поставить высокоомный резистор, ограничивающий ток на выводе МК, до значений указанных в datasheet на МК. В этом случае вывод в обычном цифровом режиме будет принимать значение 0 в момент перехода через ноль.

Временная задержка от реального состояния до реального будет минимальна и составляет около 50 мкс.

Минусом такой схемы является отсутствие гальванической развязки схемы управления от сети 220В. Если это необходимо, то можно использовать оптопару.

Читайте также:  Что такое вулканизация зачем ее проводят

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

В этой статье разобраны основные методы управления мощной нагрузкой сети переменного тока 220В с помощью симисторов. После прочтения теоретической части перейдём к практике. Паяльная станция — прибор, в котором микроконтроллер управляет мощным паяльным феном работающим от сети 220В.

Микроконтроллер, симистор, асинхронный двигатель

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

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

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

Тем не менее, данная схема значительно проще по сложности, чем частотное управление и иногда обеспечивает приемлемые результаты.

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

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

Управление симистором с микроконтроллера Управление симистором с микроконтроллера

Цепи:

  • 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, наблюдалась устойчивая работа двигателя на оборотах в два раза меньше максимальных. Однако незначительное уменьшение этой задержки, приводило к тому, что двигатель, постепенно разгоняясь, выходил на полные обороты и симистор открывался полностью, игнорируя управляющее воздействие.

Управление симистором с микроконтроллера Управление симистором с микроконтроллера

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

Читайте также:  Ива Хакуро Нишики: посадка и уход, описание, применение в ландшафтном дизайне

К этим сложностям добавляется то обстоятельство, что неустойчивость симистора так же зависит и от момента на валу двигателя.

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

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

Управление симистором с микроконтроллера Управление симистором с микроконтроллера Управление симистором с микроконтроллера

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

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

На диаграмме 6 угроза потери управления уже наметилась характерной модуляцией участков закрытого симистора.

Выводы:

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

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

www.keklab.ru

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

Управление симистором. Еще раз про таймеры

Довольно часто в х задаются одни и те же вопросы, суть которых сводится к отсчету времени. Обычный ответ — юзай таймер! Примеры уже есть некоторых статьях, но возможно не сделаны нужные акценты. И чтобы пример был с каким то смыслом, заодно рассмотрим принцип управления симистором.

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

Что будет, если крутануть кран влево и вправо по синусоидальному закону?
Управление симистором с микроконтроллера

В общем то, ничего особенного ???? Просто в банку плюхнется некоторое количество воды. Сколько? Условимся, что этот объем будет пропорционален площади фигуры ограниченной синусом, проще говоря, если посчитать площадь красного горбика (горячей воды) и синего горбика (холодной воды), и сложить их, то получим наши литры теплой воды.

Теперь повторим еще раз тот же эксперимент, но в момент открывания крана, на долю секунды будем затыкать пальцем кран, так чтобы вода не текла.
Управление симистором с микроконтроллера

Очевидно, что воды в банку плюхнется меньше, так как какую то часть времени вода не текла. Если посчитать площадь не закрашенной части синусоиды, то ровно на столько воды будет меньше.

Симистор является неким аналогом водопроводного крана, а аналогом количества воды в банке за единицу времени, является мощность, которая передается на потребитель(лампочка, нагреватель и т.п.). Т.е.

если мы воткнем лампочку напрямую в сеть то, это будет 100% яркости лампы, если мы воткнем лампу через симистор и будем открывать его с задержкой, то лампочка будет светить меньше.

Чем больше задержка тем тусклее будет свет.

Симистор имеет три электрода, два из них обычно называются условный анод/катод и один управляющий.

Главная особенность в том, что если на условном аноде и катоде не нулевое напряжение, то если подать на его управляющий электрод напряжение, он откроется, но закрыть его воздействием на управляющий электрод уже будет нельзя.

Только когда напряжение на аноде и катоде станет равным нулю, тогда он закроется. Таким образом для управления нагрузкой постоянного тока, он не подходит, зато с переменный током нет проблем, так как напряжение сети проходит через ноль 100 раз за секунду.

Рассмотрим полпериода синусоиды 10мс, того самого напряжения что у нас в розетке. Представим все пройденное напряжение за 10мс, как 100% мощности.

Если нам нужно зажечь лампочку на 50% мощности мы должны отловить момент, когда сетевое напряжение пересекает 0 точку, в этом случае симистор гарантированно выключен, после этого ждем 50% времени от 10мс(т.е. 5 мс все выключено) и в оставшиеся 5мс включаем симистор.

Когда он дойдет до следующего нуля, то он сам выключится и можно будет повторить цикл.
Управление симистором с микроконтроллера

Вопрос первый как отловить пересечение нуля (zero cross)? Самый простой способ, это апнот AVR182 — подавать сетевое напряжение через мегаомный резистор на вход внешнего прерывания. Некоторые рекомендуют поставить параллельно входу кондер на 10пФ.
Управление симистором с микроконтроллера

Идея заключается в том, что внутренние диоды ножки ограничивают напряжение, поэтому в моменты положительной полуволны синусоиды у нас будет логическая единица, а когда отрицательная, то напряжение не опустится ниже -0.

5В, что соответствует логическому нулю. Таким образом, когда включаем внешнее прерывание по любому изменению фронта, получаем ноль. По правильному, хорошо сделать развязку от сети, например через трансформатор или оптрон.

Но как реализовывать дело личное.

Следующий момент, симистор отпирается отрицательным напряжением на управляющем электроде, поэтому есть ширпотребное решение использовать оптроны. Типовую схему можно найти в даташите, т.е. достаточно в моменты прохождения напряжения через ноль, подавать импульсы на Rin(VCC).

Управление симистором с микроконтроллера

Только нужно смотреть внимательно, вышеописанный метод называется фазовым управлением, для него нужны оптроны Non-Zero Crossing, ибо существуют со встроенной Zero Crossing схемой, у них принцип управления симистором отличается. Там используется пропуск периодов, т.е. подаешь импульс, оптрон откроется только в момент следующего прохождения через ноль.

И самое важная часть повествования, расчет работы таймера. Первое что нужно понимать, таймер зависит от частоты кварца/генератора, я обычно юзаю 8МГц.

Далее идет выбор предделителя, например для меги8 таймера2, есть такие варианты 1,8,16,32,64,128,256,1024. Обратите внимание, что для разных таймеров количество делителей будет разным. Не парим мозг, открываем CodeWizard и видим все доступные частоты, т.е.

это и есть выбор предделителя.
Управление симистором с микроконтроллера

При этом 1 тик таймера будет равен:
1/ 8 000 000 = 0,000000125 сек
1/ 1 000 000 = 0,000001
1/ 250 000 = 0,000004
1/ 125 000 = 0,000008
1/ 62 500 = 0,000016
1/ 31 250 = 0,000032

1/ 7 813 = 0,000128

Все эти делители включаются в регистре TCCR, как? Это тупо комбинация битов CS22, CS21, CS20.

Для делителя на 1024

TCCR2= (1

Фазоимпульсное управление силовым симистором

Многие конструкции подразумевают управление мощной нагрузкой. В статье, к примеру,  микроконтроллер управлял нагревом паяльника. Но там паяльник запитывается постоянным током, и, поэтому вся регулировка сводится к формированию Ш�?М-а на силовом транзисторе. Если же нужно регулировать мощную нагрузку в цепи переменного тока, то реализация сего выйдет немного посложней.

Вот эту проблему мы сейчас и рассмотрим. Пару слов теории… Управлять отдаваемой в нагрузку мощностью можно просто регулируя количество периодов/полупериодов сетевого тока через эту нагрузку. Можно просто включать/выключать ток через нагрузку с определённым соотношением, что по сути тот же метод, что и указанный выше.

Эти методы регулировки подойдут для сильно инерционных нагрузок (ТЭНы, нагреватели и пр.). Для регулировки, допустим, яркости свечения лампы накаливания такие методы не подойдут по причине заметного и утомительного для глаз мерцания. Поэтому для построения диммеров (устройств регулировки яркости) применяют фазоимпульсный метод управления. Суть его проста.

Рассматриваем положительную волну синусоиды. В определённый момент времени tз, который отсчитывается от перехода синусоиды через «ноль» t01,  на симистор подаётся открывающий импульс. Симистор остаётся открытым и пропускает в нагрузку ток до момента следующего перехода сетевой синусоиды через «ноль» t10.

Очевидно, что чем ближе tз  к t01, и, соответственно дальше от t10, тем большая часть полуволны тока будет отдана в нагрузку.  �? наоборот, чем дальше от t01 и ближе к t10, чем меньше тока пройдёт через нагрузку.

Читайте также:  Газовая горелка на баллончик приклеить технониколь

Для отрицательной полуволны синусоиды всё то же самое, только t01 и t10 меняются местами (отсчёт ведётся от t10) . Для определения моментов перехода сетевой синусоиды через «ноль» , т.е.

для определения моментов времени t01 и t10, служит устройство называемое детектором нуля или Zero Cross по буржуйски.
�?з микроконтроллерного конструктора я возьму блок с  ATmega8A и периферийный блочок с установленным на нём симистором, схемой детектора нуля и соответствующим обвесом. Нагрузкой послужит обычная лампа накаливания 40 Вт.

Управление симистором с микроконтроллераОсновным критерием проектирования узлов я считаю простоту — это определяет надёжность и повторяемость. Не забудем также и о безопасности — для этого я сделал опторазвязку, чтобы не было гальванической связи микроконтроллера с сетью. Слева по схеме — детектор нуля, цепь Zero Cross. Конструктивно она представляет собой параметрический стабилизатор (R1,VD1) который «обрезает» положительную полуволну синусоиды на уровне напряжения стабилизации стабилитрона, в нашем случае около 6,8 В. Резистор R2 ограничивает ток светодиода оптопары U1. Контакт 4 SV1 (коллектор транзистора той же оптопары ) подключается к выводу микроконтроллера, который определён входом с pull-up резистором — т.е. питает этот транзистор. Контакт 3 Sv1 (эмиттер транзистора) подключается к минусу питания, т.е. к «земле». В момент нарастающего фронта импульса Zero Cross t01 зажигающийся светодиод открывает транзистор оптопары, и вход микроконтроллера оказывается подключенным к «земле» через этот транзистор. Соответственно при ниспадающем фронте Zero Cross t10 светодиод гаснет, транзистор закрывается, и вход микроконтроллера «подтягивается» к напряжению питания pull-up резистором. Конечно, фронты Zero Cross немного не совпадают с истинным переходом через ноль сетевого напряжения. Но эта погрешность не критична — единицы микросекунд. Справа по схеме — цепь управления силовым симистором через оптосимистор, взята из даташита и особенностей не имеет.
Соединяем всё проводами, т.е. подготавливаем макет устройства. Не забудем о развязывающем трансформаторе (на время опытов), а то можно осциллограф сжечь)))

Устанавливать мощность отдаваемую в нагрузку симистором,  можно дистанционно, используя любой имеющийся интерфейс, или с помощью органов ручного управления: — энкодера (пример его подключения в этом посте); — переменного резистора, включив его потенциометром, и заведя сигнал с ползунка на какой-либо вход АЦП; — двух кнопок, что проще всего. �?менно под вариант с кнопками я написал код. Как и обычно, исходник подробно прокомментирован, поэтому тратить Ваше внимание на его разбор я не буду. Ну и для понятности приведу осциллограммы работы узлов диммера.

Управление симистором с микроконтроллераЖёлтая осциллограмма — это Zero Cross. Ниспадающий фронт t01, а нарастающий t10. Синяя осциллограмма — открывающие импульсы симистора Triac Control в момент времени .

Управление симистором с микроконтроллераНа этой осциллограмме показан ток через нагрузку при условиях показаных осциллограммой выше,т.е. t01 — tз = 2,5 мс.

Управление симистором с микроконтроллераЗдесь уже t01 — tз = 7,5 мс.

Управление симистором с микроконтроллера�?, соответственно ток через нагрузку такой.

Область применения устройств, собранных на основе показанной схемы большая.

Приведу лишь некоторые примеры: -диммеры (устройства регулировки яркости освещения); устройства плавного (мягкого) включения; — электронагревательные приборы (плиты, утюги, нагреватели и пр.

) Можно регулировать также индуктивную нагрузку, но тогда в цепь симистора обязательно нужно добавлять снабберную цепь (в даташитах на симисторы есть необходимая информация) во избежание пробоя симистора.
В архиве исходник и плата узла симистора.

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

Прямое управление симистором с микроконтроллера

Иногда возникает необходимость порулить с микроконтроллера чем-то на 220 вольт, задумчиво покручивая фазу. Стандартный способ — сделать это через симистор с оптроном. Если управляете лампочкой — вам повезло. Если чем-то вроде коллекторного мотора от стиралки (индуктивной нагрузкой) — вперед, навстречу приключениям.

Управление симистором с микроконтроллера

Постараюсь обобщить собственный опыт подобных конструкций, полученный при проектирование регуляторов скорости бормашинок со стабилизацией оборотов. То есть, область применения — индуктивная нагрузка, без гальваноразвязки. Сразу предупреждаю, я не большой мастер объяснять совсем с нуля, поэтому если что-то непонятно — спрашивайте.

Что же не так с оптроном?

Вариант неплохой, пока с лампочкой. С мотором понадобится снаббер (либо не самый дешевый и доступный оптрон).

Дело в том, что симисторы реагируют на резкий перепад напряжения в момент выключения (они выключаются при нулевом токе, а на индуктивной нагрузке фаза тока смещена).

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

— Снаббер непосредственно на сам мотор — довольно тоскливый вариант. И по размерам и по расчетам. Допустим, мы хитровывернутые, и знаем про Subberless Triac (c dV/dt 200-1000). Берем, ставим.

Победа? А вот хрен! Внезапно обнаруживается, что силовой триак работает, но оптический продолжает дурить по тем же самым причинам.

И если бесснабберные силовые симисторы валяются занедорого на каждом углу, то оптроны — нет.

— Ну ок, делаем snubber network непосредственно на оптрон. Подробности в Panasonic Application Note 030, Driving Triacs with Phototriacs. Все понятно, номиналы не очень большие, можно развести SMD на плате. Но все равно, SMD-резисторов понадобится несколько последовательно, и совсем компактно развести не получится.

Управление симистором с микроконтроллера

Альтернативы

Возникает логичный вопрос — а как бы избежать этих приключений и минимизировать высоковольтные компоненты. Давайте рулить симистором напрямую? Ну ок. Только вот симистору нужны отрицательные импульсы, и тут вариантов два:

— Делать питание микроконтроллера с «общим плюсом», огребая альтернативные приключения с негативными LDO и заведением сигналов на АЦП.

— Управлять триаком импульсами через конденсатор.

Последний подход почему-то не очень распространен, но весьма интересен. Для подробностей рекомендую почитать ST AN440. Triac control with a microcontroller powered from a positive supply. Нам нужен самый простой вариант:

Управление симистором с микроконтроллера

Я такое проверял, работает отлично. И возможно кому-то понравится даже для управления лампочкой, за счет простоты. Компоненты низковольтные, можно располагать очень компактно.

Но и у этой схемы есть ограничения — ток микроконтроллера не резиновый, да и блока питания тоже.

Поэтому нам подойдут только те бесснабберные триаки, которым для управления хватает 10ма (это на ток нагрузки ~ 4А). Если вам такого достаточно — ну и отлично. Лично мне хватило.

Но что делать если нужны более толстые триаки, с током управления 35-60ма? Честно скажу, сам не пробовал, но придумал вот такой вариант:

Управление симистором с микроконтроллера

Тут добавлено всего 2 детали и разнесены цепи разряда и заряда конденсатора. Разряжаем транзистором, ток можно сделать почти любым. А для заряда используем отдельный вывод микроконтроллера.

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

По сравнению с предыдущей схемой аж 5 деталей, но напоминаю — это низковольтные компоненты, которые разводятся заметно компактнее варианта с оптроном.

Тут правда тоже есть ограничение — с ростом тока надо увеличивать емкость конденсатора. Но до 60ма значения будут вменяемые, а больше вам вряд ли когда понадобится.

Что еще нужно знать

— Чтобы триак оставался включенным после управляющего импульса, это надо делать не при нулевом напряжении, а немного позже

— По тем же причинам, т.к на индуктивной нагрузке ток запаздывает, при нулевом напряжении пытаться включать триак нельзя — он все еще «на старой полу-волне».

Можно конечно начать контролировать фазу тока, но по личному опыту — просто сделайте задержку на 10% от zero cross и не заморачивайтесь. Мотор вносит задержку процентов пять, ну может семь для экзотических случаев. А если посчитать не использованную энергию — там будут единицы процентов. Так что тут оптимизировать нет смысла.

Надеюсь, это кому-нибудь пригодится или будет хотя бы интересным :).

Ссылка на основную публикацию
Для любых предложений по сайту: [email protected]