RM9WY ( ex. ra9woy ) Ham's site
U
D
M
Добро пожаловать на сайт RM9WY! (ex. RA9WOY)
Achtung!!! Attention!!! Внимание!!! Увага!!!
27 марта 2016 года сайт прекратил существование!

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

p.s. И на последок совет - никогда не связывайтесь с регистратором namеbase точка ru да и с непонятными партнерками вообще!
Свежие новости сайта

Новости и заметки.

  Свежие изменения и дополнения постоянных статеек:   ft817.shtml сделано 05.01.2026


      Мой "полоумный" дом.
 

Хочу собрать всю сопутствующую теме информацию в одном месте, ибо разбросанное по разным местам теряется, забывается...

Приехала вот PZEM 6L24 - ка... пока курю бамбук на предмет как подружить её с проектом. Хочу иметь график мгновенного потребления электричества домом. Для оптимизации стратегии отопления.

Документашка на железку: PZEM_6L24_Manual.pdf там есть описалово всех параметров, что можно вытянуть с этой железки.

Есть на гитхабе такой вот проект https://github.com/lucashudson-eng/PZEMPlus - PZEMPlus is an Arduino/ESP32 library to read data from Peacefair energy monitoring devices. - поддерживает несколько разных моделей, в том числе и эту.

Ссылки на различные полезные статейки, мои и не мои:


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

База на ESP-07 просто потому что достаточно и платка валялась давно. Естественно, использован конструктор wifi-iot.com Для задействования синего светодиода на плате используется GPIO2, впрошивке применено как индикация Wi-Fi.

Распиновка колодки, поставленно вместо переключателя, справа, сверху вниз:

1- GPIO 4     Между этим выводом и платой ESP-07 добавлен резистор 27 Ом

2- GPIO 5     Между этим выводом и платой ESP-07 добавлен резистор 27 Ом

3- GND

4- GPIO 0     Между этим выводом и +5V добавлен резистор 2,7 кОм. Используется для AM2321

5- +5V

6- GPIO 13   Между этим выводом и +5V добавлен резистор 2,7 кОм. Используется для DS18b20

При необходимости программирования поставить перемычку между 3 и 4 пинами. Программирование производится через штатные пины TxD RxD штатного разъёма. Однако, в плате удалены транзисторы согласования уровней COM порта и вместо них поставлены SMD резисторы 22 Ом.

Программирование производить с логическими уровнями +3,3 V !!!!!

АХТУНГ !!! для ее прошивки режим работы flash ставим QIO!

При прошивке с другими режимами доступа к памяти есть вероятность, что прошивка прошьется, но настроечные параметры в памяти сохранятся не будут!!!

Использована переходная платка с винтовыми клеммами. Ноги платки расписаны на одной из фоток.


Важная для меня информация:

Управление и доступ к GPIO через HTTP GET запрос

Для установки значения через GET запрос требуется подать команду вида http:///gpio?st=1&pin=12 , где st - необходимое состояние, значение равное 2 будет происходить инвертирование выхода. pin - номер GPIO, которым требуется управлять.

Дополнительные параметры для локальных GPIO:

&flash=1 - настройка запишется в энергонезависимую память.

&click=10 - инвертирует состояние через указанный промежуток времени в секундах, &mclick=10 - аналогично в миллисекундах.

Просмотреть состояние GPIO можно по адресу http:///gpioprint.


 

Силовой блок управления отоплением. Это уже лютый самопал, но инфу решил добавить в эту статейку - пусть все в одном месте копиться. Заодно и дополнительный источник питания (5V) для некоторых Sonoff как резервный. Предусмотрено включение принудительного охлаждения по датчику температуры радиатора - твёрдотелки довольно заметно греются. Ну и аварий блок ручного управления авто-off-on.

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

Плата питания и силовых ключей. Трассировка и фотка в работе. Фотка печатки более старой версии, пины подключения на ней не соответсвуют окончательному варианту. Готовая печатная плата - правильная!

Правильные пины подключения колодок, слева направо:
Первый блок: Второй блок: Третий блок:
1- GND
2- +5V
3- GND
4- +5V
5- +8V
1- DATA DS18b20
2- 1 Channel Power Rele
3- 2 Channel Power Rele
4- 3 Channel Power Rele
5- 4 Channel Power Rele
6- Ключ вентилятора +5V

1- 220V

2- 220V

 

 

 

 

 


8-релейный модуль с расширителем I2C   Последнее время стало лениво делать печатные платы под свои устройства. Хотя даже страссировал переходную платку с расширителем I2C на борту для 8 релейного ардуинного модуля. Год прошёл, наступил сезон полива, а я так и несподобился эту разработанную платку воплотить в жизнь, а без нее некому дёргать 12 вольтовые клапаны, подающие воду на сплинкеры газона. Поэтому воспользовался "помощью друга" прикупив пару таких платок. Поменяв 10пиновые штырьки на 9 пиновые мамки и подпаяв подогнутую крайнюю ножку (GND) можно будет эту платку просто надеть на плату реле, подключив 4мя проводками к разьёму программирования SONOFF. Питание платы реле - от отдельного 5Вольтового блока питания. Сама же платка питаться будет 3,3 вольтами от штатного блока питания SONOFF, потребление расширителем мизерное. Таким образом, отпажет необходимость в преобразовании логических уровней I2C.


Табличка настройки VSENS на мониторинге. Для работы VSENS на источниках должен быть включен режим чтения GET запросом. (можно проверить так: http://ip_address/sensors)

nn ip address data1 data2 data3 data4 data5 data6
1 1.23 2 3 4 5 0 0
2 1.21 2 3 4 5 0 0
3 1.25 2 0 0 0 0 0
4 1.26 2 0 0 0 0 0
5 1.28 2 4 0 0 0 0
6 1.27 not work not work not work not work not work not work
7 1. not used not used not used not used not used not used

 

 

 

 

 

 

 


Подключение датчика SHT30 для получения погодных данных в посёлке. Данный датчик придет на смену связке BME280 + DS18B20. Скорее всего в итоге останется связка SHT30 для температуры и влажности на улице и BME280 как датчик давления для размещения на narodmon.ru и температуру и влажность внутри. Дело в том, что выносить BME280 на улицу сильно не рекомендуют, он очень быстро умирает, поэтому на улице для температуры стоит DS18B20, а давление берется внутри дома. Но существующая связка не дает информацию о влажности на улице. А хочется.


 

 


конфиг 1.25   (Sonoff POW R2, новый)

Программка для interpreter для контроля старта погружного насоса. При нормальной работе насос потребляет примерно 2,5 ампера, при нестарте - около 4,5 ампера. Понятно, все комменты и лишние пробелы после кода в самом интерпретере надо тщательно удалить. В процессе отладки обнаруженные приколы: переменные имеют тип int32 т.е. могут быть только целыми числами. С датчика тока значение считывается похоже, тоже в таком формате, но для достоверности при выводе в веб и наружу делится на 1000, чтобы значения были в Амперах. на сайте конструктора такой инфы нет, выяснено методом "научного тыка" при тестах! Дана только для примера


:loop
intval1=3700                ## ток срабатывания контроля в миллиамерах
if(gpio12==1)                ## если реле насоса включено
if(hlwc>intval1)            ## Проверяем ток через насос
gpioset(15,1)                ## включаем синий лед превышения тока
printw(current= _HLWC_ A _INTVAL1_)      ## строка чисто отладочная, можно снести
delay(2000)                ## Ждем 2 секунды для исключения попадания на стартовый ток
if(hlwc>intval1)            ## Проверяем ток еще раз. Если ток превышает нормальный,
gpioset(12,0)                ## то выключаем реле насоса            
delay(1000)                ## Ждем 1 секунду
gpioset(12,1)                ## опять включаем реле насоса
endif
gpioset(15,0)                ## выключаем синий лед превышения тока
endif
endif
delay(2000)                ## обязательная задержка при цикле, до следующей проверки
goto loop

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

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

code:

ntval1=3700
intval2=500
intval3=0
intval4=0
:loop
if(gpio12==1)
if(csec>intval1)
delay(2000)
if(csec>intval1)
intval4=(csec/1000)
gpioset(12,0)
delay(1000)
intval3=intval3+1
gpioset(12,1)
endif
endif
endif
printw(Water Pump _INTVAL3_ Err. Last error current _INTVAL4_ A)
delay(2000)
goto loop


конфиг 1.27   (Sonoff POW , старый) (Fecal Pump) Временная рабочая версия (29.05.2024). Пока модуль только контроллирует по току включение фекального насоса и отображает в WEBе день и время последнего включения насоса. Во время работы насоса мигает синий светодиод. В будущем надо сделать таймаут работы насоса (нормальный цикл длится примерно 28 сек.) секунд 40, отключать насос и выводить аларм при его превышении, а так-же сделать автоотключение через час после выключения скважинного насоса.

intval1=0
intval2=0
intval3=0
intval4=0
:loop
if(hlwc>0.2)
intval1=hlwc
gpioset(15,1)
intval2=mday
intval3=hour
intval4=minute
endif
delay(500)
gpioset(15,0)
delay(500)
printw(Pump last worked  _INTVAL2_ d. _INTVAL3_:_INTVAL4_ current _INTVAL1_ A. )
goto loop

обновленная версия 03.04.2025 добавлен VGPIO. gpio21- берет cостояние реле с 1.25.  сделана зависимость включения/отключения с задержкой фекального насоса от состояния водяного насоса. нажатие кнопки при выключенном водяном насосе запускает фекальный насос на время задержки отключения. При отсчете времени отключения в веб окно выводится количество оставшихся секунд и происходит мигание синим светодиодом раз в секунду. В включенном ведомом состоянии мигание синего светодиода - непосредственная работа насоса по откачке (насос имеет встроенный датчик уровня)

intval1=0
intval2=0
intval3=0
intval4=0
intval5=0
:loop
if(gpio21==1||gpio0==0)
intval5=600
gpioset(12,1)
else
if(intval5>1)
gpioset(15,1)
endif
intval5=intval5-1
if(intval5<0)
intval5=0
gpioset(12,0)
endif
endif
if(gpio12==1)
if(hlwc>0.2)
intval1=hlwc
gpioset(15,1)
intval2=mday
intval3=hour
intval4=minute
endif
endif
delay(500)
gpioset(15,0)
delay(500)
printw(v.R0 Pump last worked  _INTVAL2_ d. _INTVAL3_:_INTVAL4_ current _INTVAL1_ A. Delay Off: _INTVAL5_)
goto loop

переменные

надо поправить дурость с центровкой по вертикали, чтобы добавить комментарии к коду

 

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

intval1=0
intval2=0
intval3=0
intval4=0
intval5=0
:loop
if(gpio21==1||gpio0==0)
intval5=3600
gpioset(12,1)
else
if(intval5>1)
delay(300)
gpioset(15,1)
delay(200)
endif
intval5=intval5-1
if(intval5<0)
intval5=0
gpioset(12,0)
endif
endif
if(gpio12==1)
if(hlwc>0.2)
intval1=hlwc
gpioset(15,1)
delay(500)
intval2=mday
intval3=hour
intval4=minute
endif
endif
gpioset(15,0)
delay(500)
printw(v.R0 Pump last worked  _INTVAL2_ d. _INTVAL3_:_INTVAL4_ I= _INTVAL1_ A. Delay Off: _INTVAL5_)
goto loop
и еще более обновленная версия от 3 мая 25 года с раздельной индикацией синим светодиодом работы фекального насоса и отсчета времени тайм-айта на отключение.

 

0 Comments
Posted on 25 Dec 2023 by RM9WY
Powered by CuteNews

    Архив новостей 2010 2011 2012 2013 - читать дальше man Добавить новость Вернуться к списку новостей

Перейти к Начальной Странице Напишите письмо по  адресу rm9wy собака mail точка ru Напишите письмо по  адресу rm9wy собака mail точка ru             Перейти к МЕНЮ - ВВЕРХ Страницы

Наверх