Во второй части статьи мы начали знакомиться с основными блоками устройства для передачи данных по PLC. Это будет заключительная часть статьи, которая касается описания железа.
Осталось разобраться, что такое ZC детектор, на примере одной из его возможных реализаций. Посмотрим, как можно реализовать ”входную” и ”выходную” сигнальные цепи, и как их подключить к сети 220 В.
В статье не рассматриваются какие-либо серьёзные темы в области PLC. Как и в первых двух частях, кратко описываются блоки устройства и их взаимодействие. Темы выстроены так, чтобы у новичка примерно выстроилась общая картина простейшего PLC устройства. Также повествование касается множества сложных тем, которые не раскрываются. Поэтому в конце постарался оставить побольше ссылок.
Zero cross детектор
Как говорилось ранее, передающие и принимающие устройства синхронизируются между собой с помощью отдельного блока — zero cross детектора.
Передающее устройство, отправляет подготовленный кадр данных по одному биту за один синхросигнал из ZC детектора. Физически это значит, что за один синхросигнал из ZC детектора генерируется один полезный сигнал определённой частоты, которым кодируется один бит.
В электросетях с частотой 50 Гц, синусоида напряжения пересекает ноль 100 раз в секунду.
Есть несколько вариантов исполнения ZC детектора. Ниже я покажу пример реализации на оптопаре.
Начнём с конца схемы — сначала представим, как сигнал с ZC детектора попадает на контроллер.
На картинке схема с подтягивающим “pull-up” резистором и ключом. При замыкании ключа, на вход МК будет подаваться логический 0, а при размыкании ключа, “pull-up” резистор будет подтягивать напряжение на входе МК до логической единицы.
На место “ключа” ставим оптрон. Оптрон (оптопара) — это простой элемент, в котором с одной стороны светодиод, а с другой фототранзистор.
При подаче напряжения на светодиод, фототранзистор будет пропускать ток. Оптрон также служит гальванической развязкой между сетью 220 В и цифровой частью схемы.
Остается только подавать на светодиод переменное напряжение из сети 220 В, но перед этим его необходимо “выпрямить” и уменьшить до приемлемого уровня, который выдержит светодиод оптопары.
Для выпрямления можно использовать smd мостовой выпрямитель.
После выпрямления на фотодиод пойдёт пульсирующее с удвоенной частотой напряжение от 0 до 310 В. Разумеется диод не выдержит такого размаха напряжения, поэтому после мостового выпрямителя поставим сопротивление.
Номинал сопротивления можно вычислить исходя из характеристик фотодиода в оптопаре
В datasheet на оптопару пишут максимальный ток, на который рассчитан фотодиод, исходя из этого нужно выбрать сопротивление с расчётом на 310 В. Чтобы резистор не перегрелся, можно вместо одного последовательно поставить несколько резисторов для эффективного отвода тепла (это особенно полезно если у вас SMD резисторы).
На примере PC817 видно, что максимальный ток, который выдержит светодиод - 50 мА. Максимальный коэффициент передачи при 20 мА. И "замыкать ключ" он будет уже и при >1 мА.
SMD резисторы типоразмера 1210 выдерживают рассеивание до 0.5 Вт мощности. Максимальный постоянный ток, который мы может пропускать при 310 вольт равен 0.5/310 = 0.00161 А. С учетом, того что у нас пульсирующее напряжение, округлим до 0.002 А (2 мА). Этого тока достаточно, чтобы "ключ замыкался". Номинал сопротивления при этом равен 310/0.002 = 155000 Ом. Итог: ставим последовательно три SMD резистора, типоразмером 1210, номиналом 51 кОм каждый.
В итоге, схема ZC детектора выглядит примерно так.
Теперь микроконтроллеры PLC устройств, подключенных к одной фазе могут синхронизироваться между собой с помощью сигнала на ножке "ZC input" из такого ZC детектора.
Схема согласования сигнальных цепей с линией 220 В
Схема согласования закрывает собой компоненты “входной” и “выходной” цепей. “Входная” и “выходная” сигнальные цепи обычно выполнены на микросхемах усилителях, которые питаются небольшим постоянным напряжением (3-12 В). Подключить их напрямую к 220 В не получится.
Из электросети должны проходить только высокочастотные сигналы. Основная гармоника 50 Гц, на которой передаётся электроэнергия, не должна попасть в сигнальные цепи устройства. Также в этой схеме обычно располагается защита от скачков напряжения и перегрузок.
Эта часть схемы принимает различный вид в разных “datasheet” на готовые PLC микросхемы. Опишем минимально работоспособный вариант.
Для первых опытов
Можно взять ферритовое кольцо типа “17,5x8,2x5 М2000Н”, есть в любом магазине электроники. Провод МГТФ наматываем сразу 3 обмотки в 20 витков.
Конденсатор плёночный из серии MKP или любой аналогичный, который выдерживает от 220 В переменки (с запасом).
Для отсечения ненужных низкочастотных гармоник ставится конденсатор, который выдержит 220 В. После него, для гальванической развязки и также фильтрации, высокочастотный трансформатор. Трансформатор можно сделать с отдельными обмотками для “входной” и “выходной” цепей (как на изображениях) или использовать одну обмотку на "вход"/"выход".
Для защиты усилителей от импульсных перенапряжений можно поставить защитные диоды (супрессоры) и/или варисторы с предохранителем. Тема защиты устройства от электрических неприятностей довольно обширная, в этой статье не рассматривается. Но забывать про это не стоит.
Варианты схемы согласования можно подглядеть в готовых решениях различных фирм, выпускающих PLC микросхемы. Каждая схема согласования разрабатывается под ”входные”/”выходные” усилители, используемые в этих решениях.
”Входная” цепь — измерение полезного сигнала
”Входная” цепь должна выполнить как минимум две задачи:
отфильтровать грубый входящий сигнал, срезав все лишнее;
после этого усилить сигнал до приемлемого уровня, подходящего для измерения и оцифровки с помощью ЦАП микроконтроллера.
Фильтрация
Существует большое разнообразие вариантов исполнений фильтров. В нашем случае подойдёт простой пассивный полосовой фильтр. При узкополосной передаче можно грубо отсечь ненужные частоты сверху и снизу. Фильтр нужно рассчитываем так, чтобы наши рабочие частоты попадали по центру полосы пропускания и меньше всего срезались.
В самом простом случае можно особо не заморачиваться с фильтром, так как в линиях электропередач запросто могут быть шумы с частотами близкими к полезным. Нам просто нужно примерно совместить полосу пропускания фильтра с “полезной” полосой частот, срезав все сверху и снизу. Остальное можно решить программным путём.
Важно помнить, что элементы пассивного фильтра изготавливаются с большими погрешностями и характеристики сильно завязаны на температуру. Поэтому при расчетах нужно оставлять небольшой запас с учётом этих погрешностей и влияния температуры.
Усиление
У АЦП есть такая характеристика как “разрешение”. Оцифровка сигнала происходит с некоторой дискретностью. А после пассивной фильтрации входной сигнал заметно похудеет в амплитуде. И если подать на АЦП очень слабый сигнал, то его форма сильно исказится и потеряется большая часть информации о сигнале.
Амплитуду сигнала нужно поднять до приемлемой для измерений и оцифровки. В этом помогут операционные усилители (ОУ), которых на рынке огромное количество, и про которые написано тонны статей.
Самое сложное — это выбрать подходящий ОУ по полосе пропускания и коэффициенту усиления. Выходная мощность ОУ в этом случае не важна, так как нам нужно лишь оцифровать форму сигнала.
Бывает, что одного ОУ не хватает для усиления сигнала до приемлемого уровня. В этом случае можно сразу после первого ОУ поставить второй по аналогичной схеме. В продаже есть микросхемы сразу с двумя ОУ в одном корпусе.
Ссылки на статьи про операционные усилители и их про каскадное подключение оставил в конце статьи.
”Выходная” цепь — генерация полезного сигнала
Задача ”выходной” цепи — фильтровать и усиливать сигнал из ЦАП микроконтроллера.
Микроконтроллер по специальному алгоритму генерирует полезный сигнал, нужной длительности и частоты, соответствующей передаваемому символу. На выходе из ЦАП у нас получается просто болванка “полезного сигнала”, угловатая, примерно похожая на синусоиду, но (самое главное!) нужной нам частоты.
Далее сигнал сглаживается фильтром и отправляется в аналоговую часть схемы (усилитель и схема согласования с 220 В).
Можно подумать, что форма сигнала не особо важна при кодировании, так как преобразование Фурье всё равно может вычленить основную гармонику “полезного сигнала”, отбросив всё лишнее. Но чем сигнал ближе по форме к синусоиде, тем меньше энергии мы будем тратить “в пустоту”, просто добавляя высокочастотный шум в сеть. И выходной усилитель будет работать стабильнее. Как уже говорилось — на входе важна лишь основная гармоника сигнала. Остальные гармоники — это шум.
Так как мощности сигнала на выходе ЦАП микроконтроллера недостаточно для отправки его напрямую в линию электропередач, после ЦАП нам обязательно нужен внешний усилитель.
При выборе усилителя разбегаются глаза. Не буду рассказывать про всё многообразие, но подскажу вариант для ленивых, как я. Можно использовать одну из готовых микросхем для усиления аудио сигналов в аудиоплеерах. Мощность у них обычно не большая — около 1W.
Гуглить их можно по фразе “audio amplifier btl 1w”. Но тут нужно учесть, что они обычно рассчитаны на аудио сигналы до 20 кГц, и производитель не рассчитывал, что их будут использовать в PLC модеме. Есть модели, которые хорошо усиливают частоты до 100-150 кГц, и обычно в datasheet об этом не пишут.
Плюсы:
они очень удобны тем что там встроенная стабилизация сигнала;
есть режим “mute” - мизерное потребление в режиме простоя;
хватает однополярного питания — не надо париться с блоком питания.
Минусы:
во включенном состоянии из-за обратной связи съедают входящий сигнал, поэтому усилитель надо “выключать”, когда устройство в режиме прослушивания (приёма);
большой минус — это их незащищённость от импульсных помех в электросети. Сгорают мгновенно. Но от этого можно спастись, поставив на выходе усилителя супрессоры, что-то наподобие “P4SMAJ5.0A” или аналогичный.
Примерно так выглядит усиление с однополярным питанием.
Также нужно не забыть на выходе усилителя ставить конденсатор, чтобы отсечь постоянную составляющую сигнала.
Итого
Во второй и третей частях мы коротко пробежались по основным блокам простейшего PLC устройства, создали общую картину их взаимодействия. Так как затрагиваемых тем очень много и они дольно глубокие, подробнее осветить их в статье не получилось (да и я в них не специалист). Для более серьезного изучения есть специализированная литература. Но новичку иногда сложно понять в какую сторону копать. Поэтому конце оставил много ссылок на различные обзорные статьи по связанным темам.
В следующей части статьи планировал на примерах показать, как можно программно генерировать синус нужной частоты для ЦАП в STM32. И заодно как обработать приходящий на АЦП сигнал и выяснить наличие в нём нужных гармоник (частот) полезного сигнала.
Полезные ссылки
Общее:
https://nag.ru/articles/article/24485/strasti-po-plc.html — Интересная статья по истории PLC;
https://cmi.to/разрешение-и-разрядность-ацп/ — Про разрешение АЦП;
https://ru.wikipedia.org/wiki/Частотная_манипуляция — FSK модуляция;
https://habr.com/ru/post/312810/ - интересно, подробно про ЦАП в stm32;
https://narodstream.ru/stm-urok-30-hal-dac-sinus-dma/ — STM32, синус через DMA;
http://www.electrosad.ru/Electronics/zaschita.htm – Защита электронных схем.
Фильтры:
https://www.ruselectronic.com/passive-filters/ — Пассивные фильтры;
https://www.ruselectronic.com/achh-and-fchh/ — Про АЧХ и ФЧХ.
Операционные усилители:
https://cxem.net/beginner/beginner96.php — ОУ для начинающих;
http://hardelectronics.ru/lm358.html — Примеры одного дешевого ОУ;
http://easyelectronics.ru/operacionnyj-usilitel.html — ещё про ОУ
http://zpostbox.ru/kaskadnoye_vklyucheniye_operatsionnykh_usiliteley.html — Каскадное подключение ОУ.
ZC детекторы:
https://cxemka.com/62-detektor-perehoda-cherez-nol-s-galvanicheskoi-razvjazkoi-i-bez-neyo.html - пример 1;
https://radio-samodel.ru/detektor%20nulya.html - пример 2;
http://radiopolyus.ru/radiolicbez/39-radiokonstruktoru/257-detektor-perexoda-cherez-nol - ещё пример;
Схемы согласования с 220 В в доках на PLC микросхемы:
https://data.electronshik.ru/z/Datasheet/S/ST7540.pdf — ST7540;
http://old.angstrem.ru/netcat_files/229/254/kr1446xk1.pdf — КР1446ХК1;
https://www.electronshik.ru/catalog/interfeys-modemy-plc — PLC микросхемы с datasheet, там много схем и характеристик.
dernuss
Было бы интересно, если бы вы привели не сложную схему, простую для повторения. Что то вроде uart через сеть
sultanov_vv Автор
Если руки дойдут :)
Можно по идее взять готовое решение, например, PLC модуль, но там обычно нужна куча обвеса. Или лучше устройство в сборе и использовать его в «прозрачном режиме»: подаем байты по uart с одного устройства, они идут по линии электропередач, и с другого они вылетают также из uart.
Но это уже будет просто обзор устройства, как его использовать.
>>Вот тут<< довольно подробно про использование PLC модуля (ST7538Q), правда на английском, но очень интересно.
>>Тут<< и >>тут<< какие-то готовые PLC модемы в сборе с RS485 (первое что нашел).
А не сложная схема — это, конечно, задачка серьезная.
alex-open-plc
github.com/open-plc-com/PLC-modem/blob/master/plc_pill_electric_scheme.pdf
dernuss
довольно странно, не понятно зачем L3 на корпусе?
alex-open-plc
Без проблем отрываем, переделывая схему (L1-VT2) под TA7642.Что собственно и сделано в следующей «инкарнации».