Симисторное управление нагрузкой

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

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

Выбор управляемой нагрузки

Существует много различных типов ламп. Не все из них поддаются регулировке яркости. И, в зависимости от типа лампы, требуются разные способы управления. Про типы ламп есть хорошая статья. Я же буду рассматриваться только лампы, работающие от переменного тока. Для таких ламп существует три основных способа управления яркостью (диммирование по переднему фронту, по заднему фронту и синус-диммирование).
Иллюстрация в формате SVG, может не отображжаться в старых браузерах и, особенно, в IE
Отличаются они тем, какая часть периода переменного тока пропускается через лампу. О применимости этих методов можно прочитать . В этой статье речь пойдет только о диммировании по преднему фронту, так как это самая простой и распространенный способ. Он подходит для управления яркостью ламп накаливания (включая галогенные), в том числе подключенных через ферромагнитный (не электронный) трансформатор. Эта же схема может применяться для управления мощностью нагревательных элементов и, в некоторой степени, электромоторов, а также для включения/выключения других электроприборов (без управления мощностью).

Выбор элементной базы

Различных вариантов схем управления нагрузкой в интернете много. Отличаются они по следующим параметрам:Первые два пункта определяются элементной базой. Очень часто для управления нагрузкой используют реле, как проверенный многолетним опытом элемент. Но, если вы хотите управлять яркостью лампы, её необходимо включать и выключать 100 раз в секунду. Реле не рассчитаны на такую нагрузку и быстро выйдут из строя, даже если смогут переключаться так часто. Если в схеме используется MOSFET, то его можно открывать и закрывать в любой момент. Нам нем можно построить и RL, и RC, и синус димер. Но так как он проводит ток только в одну сторону, понадобится два транзистора на канал. Кроме того, высоковольтные MOSFET относительно дороги. Самым простым и дешевым способом является использование симистора. Он проводит ток в обоих направлениях и сам закрывается, когда через него прекращает течь ток. Про то, как он работает можно прочитать в статье DiHalt’а. Далее я буду полагаться на то, что вы это знаете.

Фазовая модуляция

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

Если же управление ведется с микроконтроллера, то возможны два варианта:

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

Первый способ хорош тем, что позволяет легко организовать гальваническую развязку высоковольтной части и микроконтроллера. О её важности будет сказано позже. Но любители arduino будут огорчены: чтобы лапа горела ровно, не вспыхивая и не погасая, импульсы нужно подавать вовремя. Для этого управлять выводом нужно из прерывания таймера, а моменты перехода напряжения через ноль фиксировать с помощью «input capture». Это «недокументированные» функции. Проблема решается отказом от библиотек arduino и внимательным чтением datasheet’а на процессоры avr. Это не так сложно, как кажется.
Второй способ управления симистором крайне прост в программном плане, но из-за отсутствия гальванической развязки я бы не стал его применять.

Гальваническая развязка

Самый простой способ управлять симистором — это подключить к затвору ножку микроконтроллера. Есть даже специальная серия симисторов BTA-600SW управляемых малыми токами.Но тогда контроллер и вся низковольтная часть не будет защищена от помех, гуляющих по бытовой сети. Некоторое из них могут быть достаточно мощными, чтобы сжечь микроконтроллер, другие будут вызывать сбои. Кроме того, сразу возникают проблемы со связью микроконтроллера с компьютером или другими микроконтроллерами: нужно будет делать развязку в линии связи или использовать дифференциальные линии, ведь, чтобы управлять симистором прямо с ноги микроконтроллера, нулевой потенциал для него должен совпадать с потенциалом нуля в бытовой сети. У компьютера или другого такого же микроконтроллера, подключенного в другой точке сети, нулевой потенциал почти наверняка будет другим. Результат будет плачевным.
Простой способ обеспечить гальваническую развязку: использовать драйвер симистора MOC30XX. Эти микросхемы отличаются:

  1. Расчетным напряжением. Если для сетей 110 вольт, есть для 220
  2. Наличием детектора нуля
  3. Током, открывающим драйвер

Драйвер с детектором нуля (MOC306X) переключается только в начале периода. Это обеспечивает отсутствие помех в электросети от симистора. Поэтому, если нет необходимости управлять выделяемой мощностью или управляемый прибор обладает большой инерционностью (например это нагревательный элемент в электроплитке), драйвер с детектором нуля будет оптимальным выбором. Но, если вы хотите управлять яркостью лампы освещения, необходимо использовать драйвер без детектора нуля (MOC305X) и самостоятельно открывать его в нужные моменты.
Ток, необходимый для открытия важен, если вы хотите управлять несколькими нагрузками одновременно. У MOC3051 он 15 мА, у MOC3052 10мА. При этом микроконтроллеры stm могут пропускать через себя до 80-120 мА, а avr до 200 мА. Точные цифры нужно смотреть в соответствующих datasheet’ах.

Устойчивость к помехам/возможность коммутации индуктивной нагрузки

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

  1. Нагрузка, управляемая симистором (обмотка мотора)
  2. Фильтр (snubber), расположенный рядом с симистором и призванный его защищать
  3. Внешняя помеха (грозовой разряд)

Помеха может быть как по напряжению, так и по току, причем более критичны скорости изменения соответствующих значений, чем их амплитуды. В datasheet’ах соответствующие значения указаны как:
V — максимальное напряжение, при котором может работать симистор. Максимальное пиковое напряжение не намного больше.
I — Максимальный ток, который может пропускать через себя симистор. Максимальный пиковый ток как правило значительно больше.
dV/dt — Максимальная скорость изменения напряжения на закрытом симисторе. При превышении этого значения он самопроизвольно откроется.
dI/dt — Максимальная скорость изменения тока при открытии симистора. При превышении этого значения он сгорит из-за того, что не успеет полностью открыться.
(dV/dt)c — Максимальная скорость изменения напряжения в момент закрытия симистора. Значительно меньше dV/dt. При превышении симистор продолжит проводить ток.
(dI/dt)c — Максимальная скорость изменения тока в момент закрытия симистора. Значительно меньше dI/dt. При превышении симистор продолжит проводить ток.
Подробно о природе этих ограничений и о том, как сделать фильтр, защищающий от превышения этих величин описано в Application Note AN-3008. К немо можно только добавить, что существуют 3Q симисторы, у которых значения dV/dt и dI/dt выше, чем у обычных за счет невозможности работать в 4ом квадранте (что обычно не требуется).

Выбор симистора

Максимальный ток коммутации

Максимальный ток коммутации ограничивается двумя параметрами: максимальным током, который может пропустить симистор и количеством тепла, которое вы можете от него отвести. С первым параметром все просто, он указан в datasheet’е. Но если посмотреть внимательно, то при токе в 16 ампер на BTA16-600BW выделяется около 20 ватт. Такую грелку уже не получится засунуть в коробку выключателя без вентиляции.

Минимальный ток коммутации

Симистор сохраняет проводимость до тех пор, пока через него идёт ток. Минимально необходимый ток указан в datasheet’е под именем latching current. Соответственно, слишком мощный симистор не сможет включать маломощную лампочку так как будет выключаться, как только с затвора пропадёт управляющий сигнал. Но так, как этот сигнал мы самостоятельно формируем микроконтроллером, то можно удерживать управляющий сигнал почти до самого конца полупериода, тем самым убрав ограничение на минимальную нагрузку. Однако, если не успеть снять сигнал, симистор не закроется и лампа не погаснет. При плохо подобранных константах лампы, работающие на не полной яркости периодически вспыхивают.

Изоляция

Симисторы в корпусе TO-220 могут быть изолированными или не изолированными. Я сначала сделал ошибку и купил BT137, в результате радиаторы охлаждения оказались под напряжением, что в моем случае нежелательно. Симисторы с маркировкой BTA изолированы, с маркировкой BTB нет.

Защита от перегрузки

Не стоит полагаться на автоматические выключатели. Посмотрите на спецификацию, при перегрузке в 1.4 раза автомат обязан выключиться не ранее, чем через час. А быстрое размыкание происходит только при перегрузке в 5 раз (для автоматов типа C). Это сделано для того, чтобы автомат не отключался при включении приборов, требующих при старте значительно больше энергии, чем при постоянной работе. Примером такого прибора является холодильник.
Симистор нужно защитить отдельным предохранителем, либо контролировать ток через него и отключать его при перегрузке, давая остыть.

Защита от короткого замыкания

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

  1. Превышение dI/dt. Симистор не успевает открыться полностью, ток идет не через весь кристалл, образуются локальные горячие области, выжигающие кристалл.
  2. Превышение интеграла Джоуля I^2t. Задает количество теплоты, накопление которой в кристалле приведет к разрушению кристалла.

dI/dt ограничивается индуктивностью проводки и внутренней ёмкостью симистора. Так как dI/dt достаточно велика (50 А/с для BTA16), может хватить индуктивности подводящей проводки, если она достаточно длинная. Можно подстраховаться и добавить небольшую индуктивность в виде нескольких витков провода вокруг сердечника.
С превышением интеграла Джоуля можно бороться либо уменьшая время прохождения тока через симистор, либо ограничивая ток. Так как симистор не закроется, пока ток не перейдет через ноль, не вводя дополнительных размыкателей нельзя сделать время прохождения тока менее одного полупериода. В качестве такого размыкателя можно использовать:

  1. Быстродействующий плавкий предохранитель. Обычный предохранитель не подойдет так как симистор сгорит до того, как он сработает. Но стоят такие предохранители дороже новых симисторов.
  2. Геркон/реле. Если удастся найти такое, чтобы выдерживало кратковременные большие токи.

Можно пойти по другому пути. BTA16-600 может выдержать ток в 160 амер в течении одного периода. Если сопротивление замыкаемой цепи будет порядка 1.5 Ом, то полупериод он выдержит. Сопротивление проводки даст 0.5 Ом. Остается добавить в цепь сопротивление в 1 Ом. Схема станет менее эффективной и появится еще одна грелка, выделяющая при штатной работе до 16 Вт тепла (0.45 Вт при работе 100 ваттной лампы), зато симистор не сгорит, если успеть его вовремя выключить и позаботиться о хорошем охлаждении, чтобы оставался запас на нагрев во время КЗ.
Из этого сопротивления можно извлечь дополнительную выгоду: измеряя падение напряжения на нем, можно узнавать ток, протекающий через симистор. Полученное значение можно использовать для того, чтобы определять короткое замыкание или перегрузку и отключать симистор.

Заключение

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

В статье нет ни одной схемы: знакомые с темой и так знают их наизусть, а новичку придётся заглянуть в datasheet к MOC3052 или в AN-3008 и, возможно, он заодно узнает что-то еще и не будет бездумно реализовывать готовую схему.

Управление лампочкой от 220В на Arduino

04 ноября 2017

Все знают, что выводы Arduino способны подавать напряжение в 3,3В или в 5В на подключенные к ним модули или датчики. К примеру, мы можем подключить к нашему микроконтроллеру датчики температуры и влажности, и дисплей — получится миниатюрная метеостанция с выводом данных на экран; или можем измерять расстояние до различных объектов при помощи датчика ультразвука. Однако, как быть с управлением освещением? Ведь питания от Arduino хватает на обычные светодиоды, но не на лампочки (будь то накаливания, энергосберегающие или светодиодные). Решим эту проблему, используя реле!

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

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

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

Данный модуль можно свободно подключать к Arduino, так как требует рабочего напряжения в 5 вольт, а вот уже коммутировать реле может несколько разных значений. Чаще всего они прописываются на корпусе: чаще всего это свободная коммутация до 10А 30V DC и 10A 250V AC.

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

Для подключения к Arduino используются 3 контакта: два контакта питания (5В и Gnd) и контакт управления, который подключается к цифровому выводу на плате(например, к пину номер 3). На самом реле с другой стороны есть еще три контакта, но для подключения нагрузки (например лампочки) — к двумя из них подключатся контакты управления лампочкой, а другой остается свободным (внутри самого реле он связан с заземлением). Поэтому при включении реле, происходит замыкание контактов COM (общий) и NC (нормально замкнутый) и лампочка загорается, а при выключении реле замыкаются другие контакты — COM (общий) и NO (нормально разомкнутый). Не забывайте, что контакты лампочки должны быть подключены и к сети в 220В

Схема подключения изображена на картинке ниже:

После того, как собрали цепь, подключаем плату к компьютеру и загружаем следующий программный код (он очень простой):

const int relPin = 3; void setup() { pinMode(relPin, OUTPUT); } void loop() { digitalWrite(relPin, HIGH); delay(1000); digitalWrite(relPin, LOW); delay(3000); }

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

И таким же образом можно управлять и другими устройствами. Теперь вы знаете, как подключить лампочку к Arduino через реле и можете программировать различные устройства на данной основе. Например, сделать автоматическое включение света с помощью датчика движения (при наличии движения включается свет) или с помощью датчика света (когда стало темно, то включился свет) и т.д.

К минусам данного типа реле можно отнести большое потребление тока, малую живучесть при больших нагрузках и возможное залипание контактов, если была подключена большая нагрузка (например кипятильник или что-то подобное)

Таких недостатков не будет иметь твердотельное реле: там вместо катушки находится полупроводник.

На этой данная статья подходит к концу. Всем спасибо за внимание и удачной компиляции! 🙂

Купить компоненты, используемые в статье, вы можете на нашем сайте: Амперкот.ру

Данная статья является собственностью Amperkot.ru. При перепечатке данного материала активная ссылка на первоисточник, не закрытая для индексации поисковыми системами, обязательна.