1

Тема: Не очень простой, но полезный регулятор мощности для тэнов

Начал я собирать для своей колонны управляющую электронику. первое что делаю регулятор для тенов. Сперва хотел сделать что бы все регулировалось из одного ящика, но как-то так решилось, что регулятор тенов будет отдельным устройством, при необходимости самостоятельным, но может работать совместно с главным контролером РК. Решил разделить так как хочу использовать в разных ситуациях, не только при ректификации.
Одному творить скучно, решил выкладывать результаты по мере продвижения. Может кто, что подскажет, покритикует, посочувствует. После сборки и тестирования, выложу всю информацию в свободное пользование.
Заявленные характеристики:
1. Выводит на дисплей текущую информацию о мощности, токе, напряжении,  потраченных киловаттах, и при необходимости температуре.
2. ручное регулирование мощности нагрева
3. Автоматическое ПИД регулирование установленной мощности. Стабилизатор по мощности, если напряжение в сети плавает.
4. Автоматическое ПИД регулирование по установленной температуре. В случае если надо для какого-то процесса поддерживать заданную температуру
5. Рассылка всей текущей информации по WIFI. Это в последствии понадобится контролеру РК, и может быть использованно для дистанционного контроля и логирования.
6. Управление и изменение параметров по WIFI,  Это опять же понадобиться для работы с колонной, или дистанционного управления с компа, или смартфона.

Используемые материалы:
1. ESP8266 как контроллер
2. pzem-004t - датчит тока, напряжения, мощности.
3. LCD 200x4 - какой был
4. Энкодер ky-040. Для управления и настройки
5. Кнопки для удобства управления
6 датчик температуры ds18b20
7 модуль согласования уровней
8 Твердотельное реле, для управления нагрузкой
9 блок питания на 5v, разобрал первый попавшийся в доме
10 плата, резисторы, транзисторы, всякая мелочь
В последствии еще понадобится провод питания, розетка и корпус.

Сейчас это выглядит примерно так:

2

Re: Не очень простой, но полезный регулятор мощности для тэнов

Сперва припаиваем на плату контактные колодки под контроллер

и вставляем в них контроллер

3

Re: Не очень простой, но полезный регулятор мощности для тэнов

Теперь подключаем pzem-004t к контроллеру. На плату с контроллером припаиваем колодку для подключения разъема и припаиваем транзистор 2n3904, который будет работать ключом на линии TX->Rx для передачи данных на датчик.

Для общения с датчиком используется интерфейс UART. Мы не можем использовать стандартный UART контроллера, он уже занят USB интерфейсом, который нам понадобится для отладки и в дальнейшем можем его использовать для связи с компом.  Но есть возможность временно переключать UART контроллера на другие контакты GPIO15 и GPIO13. Но тут есть проблема. Контакт GPIO15  при старте контроллера должен быть притянут к 0 проводу питания, иначе контроллер переходит в режим прошивки. Вход на датчике к которому подключается этот контакт через оптрон и сопротивление 500 ом притягивается на + питания. Что-бы при таком подключении контроллер нормально стартовал, подключаем данную линию через транзисторный ключ с общим коллектором.
Еще одно усовершенствование. Так как питание оптронов на датчике рассчитано на 5v , а питание контроллера и всех сигнальных линий рассчитано на 3,3v, впаиваем параллельно сопротивлению  r17 на плате датчика, дополнительное сопротивление 1к.
 
Паяем соединительный шлейф и подключаем датчик к контроллеру.

4

Re: Не очень простой, но полезный регулятор мощности для тэнов

Продолжение истории.
По ходу дела, ко мне в руки попался еще один экземпляр PZEM-004 уже с дисплеем.
Доделывать аппарат стал с ним, но разницы особой нет.

Данный экземпляр PZEM-004 имеет интерфейс Uart, который я и буду использовать. Первое препятствие на моем пути, стало то, что сигнальное напряжение на UART PZEM-004 5v а на ESP8266 3,3v. Можно конечно использовать модуль согласования напряжения. Но в данном случае я поступил проще и дешевле. Для того что бы UART интерфейс PZEM-004 работал на напряжении 3.3v достаточно впаять одно дополнительное сопротивление на плату PZEM-004.
Делается это так:
откручиваем 4 винта на задней крышке и снимаем лицевую панель

Дальше вытаскиваем плату из корпуса

И вот таким образом припаиваем сопротивление 1ком.

Теперь рабочее напряжение на сигнальных контактах PZEM-004 будет 3.3v.

Следующие препятствие состоит в том что штатные выходы UART ESP8266 который я использую подключены к интерфейсу USB и не могут быть использованы для других целей. Да и штатный USB штука полезная и может пригодиться для логирования и управления контролером через компьютер. Но выход есть.В ESP8266 UART можно переключать на альтернативные контакты.
GPIO13 и GPIO15. Но тут нас ожидает очередная засада.Дело в том что GPIO15 при включении питания контроллера должен находиться в низком уровне и на плате контроллера есть сопротивление которое подтягивает его к земле. Но при подключении этого контакта к RX контакту PZEM-004, он через светодиод оптрона оказывается подключенным к плюсу питания. Это приводит к тому, что если в момент включения питания на контроллере подключен UART интерфейс к PZEM-004, контроллер не запускается и переходит в режим прошивки.
Что бы этого избежать необходимо добавить ключ на транзисторе по схеме с общим коллектором.

Так выглядит готовый модуль.

С дисплеем

Некоторая разница в показаниях видна из за того, что существует период опроса 2 сек и соответственно задержка в выводе показаний.

Минимальное напряжение при котором PZEM-004 еще работает 28v

При использовании PZEM-004t без дисплея дополнительный резистор 1ком паяем сюда

Я добавил в схему датчик температуры.

Соединяем все детали вместе таким образом:

Подключаем PZEM-004

Подключаем датчик температуры ds18b20


Через модуль согласования уровней подключаем дисплей.
В моем случае LCD 2004

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

Тут сприпты для контроллера:https://drive.google.com/file/d/0B4KYGX … 12Ujg/view

Если мовый модуль PZEM-004 не будет отвечать, необходимо подать на него команду «установки адреса»

Это можно сделать так;

В скрипте POWER.lua найти такой кусок кода:

uart.write(0, 0xB0,0xC0,0xA8,0x01,0x01,0x00,0x1A); -- ??????????
--uart.write(0, 0xB4,0xC0,0xA8,0x01,0x01,0x00,0x1E);

И поправить так:

--uart.write(0, 0xB0,0xC0,0xA8,0x01,0x01,0x00,0x1A); -- ??????????
uart.write(0, 0xB4,0xC0,0xA8,0x01,0x01,0x00,0x1E);

Загрузить исправленный скрипт и запустить контроллер и PZEM-004.
После этого исправить текст скрипта обратно как было и снова его загрузить в контроллер.
После этого все должно заработать.

Продолжение следует...

5

Re: Не очень простой, но полезный регулятор мощности для тэнов

Константин, как там с продолжением? Очень интересно. Тоже думал о регуляторе таком.

6

Re: Не очень простой, но полезный регулятор мощности для тэнов

piton3217 пишет:

Константин, как там с продолжением? Очень интересно. Тоже думал о регуляторе таком.

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

Я использовал PZEM-004t без дисплея.
В данный момент я получаю данные по напряжению, току и мощности.
Управление мощностью пока вручную.
Контроллер может только включать и отключать нагрузку.
Пробовал использовать алгоритм Брезенхема ЧИМ для управления, PZEM сходит с ума.
Попробую сегодня сперва поэкспериментировать. Хочу доработать PZEM так что бы разорвать связь питания и измерения напряжения. Что бы питался он стабильным напряжением сети, а измерял меняющееся напряжение на нагрузке.
Если не получится нормальных показаний при ЧИМ, буду переделывать на фазовое управление.
В итоге хочу сделать ПИД регулятор по мощности, напряжению, току, или температуре. Для разных целей. Ну и ручная регулировка, или внешняя, от компа, или другого контроллера, по WIFI/

7 (2016-08-31 15:22:46 отредактировано piton3217)

Re: Не очень простой, но полезный регулятор мощности для тэнов

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

8

Re: Не очень простой, но полезный регулятор мощности для тэнов

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

9

Re: Не очень простой, но полезный регулятор мощности для тэнов

Константин Б пишет:

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

как с этим дела обстоят?

Учись делать хорошо, плохо всегда получится.
доп. оборудование: рефрактометр, PH-метр
БК "Абы-как"
РК "Абы-как"

10

Re: Не очень простой, но полезный регулятор мощности для тэнов

Пока не очень.
Регулировать мощность отрезая полупериоды не получилось, PZEM-004t от этого сходит с ума.
Фазовая регулировка работает в ручном режиме, но ESP8266 оказался не способен (под lua) на такие фокусы. Он периодически задумывается о своем на милисекунды, но этого хватает для нестабильной работы.
Но идея есть. хочу использовать крошечную ардуинку  ATTINY85 которая будет заниматься фазовой регулировкой мощности. А Еспешка будет подавать команды на нее.

11

Re: Не очень простой, но полезный регулятор мощности для тэнов

Константин Б пишет:

Регулировать мощность отрезая полупериоды не получилось, PZEM-004t от этого сходит с ума.

сходит с ума с нагрузкой или в холостую? у меня китаец сходил с ума пока не подключил тэн

12

Re: Не очень простой, но полезный регулятор мощности для тэнов

Константин Б пишет:

Пока не очень.

дела двигаются? Идея с атмелом вообще интересная. ESP очень шумная