Управление отоплением: помогите начинающему выбрать комплектуху

dima744
dima744 аватар
Offline
Зарегистрирован: 27.09.2018

Всем доброго времени суток

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

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

Начну с описания системы

итак, имеем 2 котла

Газовый (основной) Хочется контролировать утечку газа и его работоспособность (те при падении температуры в доме до скажем плюс 15 и холодной камеры сгорания в течении часа СМС+в идеале фото панели управления если такое возможно средствами Arduino) что-то другое контролировать смысла нет котел электронный автоматики вагон

Газовый котел Энерго зависимый питается от UPS соответственно хочу видеть напряжение аккумулятора и наличие/отсутствие напряжения в сети 

а также по причине того, что напряжение скачет хочу мониторить его величину (тут есть проблема от точки где его измерять до самого модуля Arduino порядка 60м, там стоит стабилизатор, после которого всегда 220 вольт, мне же интересна величина до стабилизатора) При отсутствии напряжения в сети более скажем получаса попытка переключения на 2-ю фазу (управление парочкой твердотельных реле скорей всего)

Электрический (резерв) в электрическом автоматики ноль, включать планирую по 2-ум параметрам, температура теплоносителя 15 градусов и ниже температура в доме 3 градуса и ниже отключать аварийно при достижении температуры 90 градусов(котлы) и временно при достижении температуры теплоносителя 60 градусов также необходимо контролировать проток воды через электрический котле и при его отсутствии аварийно отрубать тэны Включение электрического котла сначала включить насос (100 вт) затем ТЭН (3-6 Квт Твердотельное реле мне в помощь)

Для отражения информации нужен дисплей и GSM модуль для обмена СМСками

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

Постараюсь подытожить что по всей видимости мне нужно

  1. Сам модуль Arduino
  2. Контроллер GSM
  3. Дисплей
  4. 5-7 датчиков температуры от -40 до 120-150гр
  5. Релейный блок мин 10 реле
  6. Датчик газа
  7. Датчик протока воды в трубе
  8. Сервопривод, может парочка

Задачи, которые сейчас реализовывать не буду, но планирую в дальнейшем:

Охранная функция, и запуск резервного генератора

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

Заранее спасибо!

 

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

А чо скажут месные газовики на это? 

dima744
dima744 аватар
Offline
Зарегистрирован: 27.09.2018

DetSimen пишет:
А чо скажут месные газовики на это?

Или ничего или молодец :)

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

Электрический котел к газовикам не относится и тут я себе сам злобный буратино

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Ну, смотри, тебе на Марс лететь с котлом вабнимку. 

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Ну я бы добавил ИБП для всего этого барахла и хорошо экранированный корпус для ардуинки (когда газовый котел запускается он бешенные помехи выдает).

Кроме того, а зачем фтопку залезать? Меряйте т-ру теплоносителя. А на будущее еще температуру за бортом.

dima744
dima744 аватар
Offline
Зарегистрирован: 27.09.2018

А что с производителми/моделями можно ли на Ali брать или там брак один?

mykaida пишет:

Ну я бы добавил ИБП для всего этого барахла и хорошо экранированный корпус для ардуинки (когда газовый котел запускается он бешенные помехи выдает).

Кроме того, а зачем фтопку залезать? Меряйте т-ру теплоносителя. А на будущее еще температуру за бортом.

учту

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

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

1. Странно, у нас обязывают.

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

dima744
dima744 аватар
Offline
Зарегистрирован: 27.09.2018

ЕвгенийП пишет:

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

1. Странно, у нас обязывают.

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

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

2. Да внешний сервопривод, для кранов, через реле твердотельное +пара датчиков положения....

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

dima744 пишет:

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

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

В общем, готовьтесь, что первый блин выйдет комом.

Цитата:

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

Это вряд ли.

Дорого и убого потому, что оборудование пока не находит массового спроса.

Вот, допустим, написание софта для такой системы обошлось в $100000. Сумма явно невелика, поэтому и убого. Теперь пусть тираж составляет 1000 экземпляров, на каждый приходится по $100 - поэтому получется дорого.

Другое дело, если бы тираж, скажем, составлял 100000, тогда и на софт можно потратить $1000000, и это уже будет не очень убого, и на каждый экземпляр придется всего по $10, то не так дорого.

А если Вы собираетесь писать для устройства в единственном экземпляре...

Цитата:

...в идеале фото панели управления если такое возможно средствами Arduino)...

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

Цитата:

(тут есть проблема от точки где его измерять до самого модуля Arduino порядка 60м...

Arduino Pro Mini стоит около 100 руб., что дешевле многих датчиков и исполнительных устройств, которые Вы собираетесь использовать. IMHO лучше установить вспомогательную Ардуину поблизости и связываться с основной через 485 либо по беспроводной связи.

 

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

MaksVV
Offline
Зарегистрирован: 06.08.2015

в UPS-ах чаще всего уже есть функция контроля наличия напряжения 220В и сигнализации разряда внутреннего АКБ. Нужно просто почитать документацию. Насколько знаю б эти данные имееюстя на разъёме типа Ethernet (rj-45) на задней панели. 

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

Недавно я нарисовал печатную плату, там задействованы почти все элементы, которые вам необходимы. И есть прицел на будущее, так как есть возможность подключения шин CAN, RS485, 1-Wire. Также есть вай фай, оповещение голосом посредством колонок, через мп3 плеер и усилитель.  Если умеете разводить платы утюгом (хотя можно и научиться при ваших хотелках).

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

для начала берите полюбому ардуину, лучше не одну. (мега, нано). Если мою плату применять нужны:

1. ардуиномега про мини  

2. часы реального времени

 
 
5. GSM модуль есть конечно дешевле типа SIM800, но у меня такой был, поэтому его на плате развел 
 
6. Датчики температуры DS18B20 или такие для более точного измерения путем вкручивания в магистраль теплотосителя, но дорого
 
блоки питания нужны будут на 5V и 12V, лучше от 3А или выше. 
и т.д. и т.п. 
 
andycat
andycat аватар
Offline
Зарегистрирован: 07.09.2017

MaksVV пишет:

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

 
не разбирали эти датчики? внутри между щупом и самим ds18b20 воздух или какая либо теплопроводная жидкость?
ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

MaksVV пишет:
или такие для
Ого! У меня аж ЧСВ повысился. Я сделал такие сам в пять раз дешевле из

1. https://ru.aliexpress.com/item/1-DS1820-DS18b20/32859525084.html

2. https://ru.aliexpress.com/item/1-2-BSP/32858284082.html

и 3. небольшого тюбика эпоксидного герметика для горячей воды.

Служат уж третий год без нареканий.

andycat
andycat аватар
Offline
Зарегистрирован: 07.09.2017

самоделка это хорошо и правильно :)

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

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

Update: КПТ- 8 если настоящая оказывается не проводит электричество, не знал, вопрос снят.

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

ЕвгенийП пишет:

MaksVV пишет:
или такие для
Ого! У меня аж ЧСВ повысился. Я сделал такие сам в пять раз дешевле из

1. https://ru.aliexpress.com/item/1-DS1820-DS18b20/32859525084.html

2. https://ru.aliexpress.com/item/1-2-BSP/32858284082.html

и 3. небольшого тюбика эпоксидного герметика для горячей воды.

Служат уж третий год без нареканий.

Мне проще - у меня есть токарный станок! ;) Так что латуннный пруток и эпоксидка. Резьба - любая.

Могу подумать о заказах! ;) - (шутка)

dima744
dima744 аватар
Offline
Зарегистрирован: 27.09.2018

Огромное спасибо за ответы-советы
1. На aliexpress то можно покупать? И где для железняк с Али софт брать?
2. Насколько вероятны аппаратные и программные сбои в arduino. (Имею ввиду скрытые дефекты плат и ошибки в библиотеках)
3. Имеет ли смысл полного/частичного дублирования?

Pyotr
Offline
Зарегистрирован: 12.03.2014

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

В вал сервы закрутил латунную стойку с облуженой резьбой М3 и припаял к валу. Для этого надо разобрать серву. В стойке пропилил паз под флажок крана и просверлил отверстие 2 мм.

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

dima744
dima744 аватар
Offline
Зарегистрирован: 27.09.2018

Спасибо огромное за ответы

Покритикуйте выбор комплектухи.....все с али

1. One set TENSTAR ROBOT UNO R3 CH340G+MEGA328P Chip 16Mhz UNO R3 black/blue/red for uno r3 for arduino

2. SIM900 GPRS/GSM Shield Development Board Quad-Band Module

https://www.aliexpress.com/item/SIM900-GPRS-GSM-Shield-Development-Board-Quad-Band-Module/32861813867.html?spm=a2g0s.13010208.99999999.295.2fac3c006Wsmfk

3. 1.3" OLED module white/Blue color 128X64 1.3 inch OLED LCD LED Display Module 1.3" IIC I2C Communicate for arduino

https://www.aliexpress.com/item/1PCS-1-3-OLED-module-white-color-128X64-1-3-inch-OLED-LCD-LED-Display-Module/32796086867.html?spm=a2g0s.13010208.99999999.292.2fac3c006Wsmfk

4. 1pcs DS18B20 Stainless steel package 1 meters waterproof DS18b20 temperature probe temperature sensor DS18B20 cable  https://www.aliexpress.com/item/1pcs-DS18B20-Stainless-steel-package-1-meters-waterproof-DS18b20-temperature-probe-temperature-sensor/32467815969.html?spm=a2g0s.13010208.99999999.286.2fac3c006Wsmfk

он насколько понял напрямую подключается?

5. I2C RTC DS1307 AT24C32 Real Time Clock Module For AVR ARM PIC Wholesale

6. TENSTAR ROBOT 4 channel relay module 4-channel relay control board with optocoupler. Relay Output 4 way relay module 

https://www.aliexpress.com/item/1pcs-lot-4-channel-relay-module-4-channel-relay-control-board-with-optocoupler-Relay-Output-4/32340914033.html?spm=a2g0s.13010208.99999999.277.2fac3c006Wsmfk

с uno r3 реле подружится

7. Battery Shield For WEMOS D1 mini single lithium battery charging & boost

https://www.aliexpress.com/item/Battery-Shield-V1-1-0-For-WEMOS-D1-mini-single-lithium-battery-charging-and-boost/32809268966.html?spm=a2g0s.13010208.99999999.274.2fac3c006Wsmfk

8. для измерения напряжения в розетке 

AC Digital Multifunction Meter Watt Volt Power Amp Current Test Module PZEM-004T S08 Drop ship https://www.aliexpress.com/item/AC-Digital-Multifunction-Meter-Watt-Volt-Power-Amp-Current-Test-Module-PZEM-004T/32802299444.html?spm=a2g0s.13010208.99999999.304.2fac3c006Wsmfk

 

Каких сопротивлений и проводов и прочей мелочевки до кучи заказать

 

AC Digital Multifunction Meter Watt Volt Power Amp Current Test Module PZEM-004T S08 Drop ship

 

 

Pyotr пишет:
Вот так смонтировал серву для поворота газового крана.....

Здорово, если не секрет дорого привод обошелся?

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

 
trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

600PCS/LOT 1/4W Metal Film Resistor Kit 1% Resistor Assorted Kit Set 10 ohm-1M ohm Resistance Pack 30 Values each 20 pcs
https://s.click.aliexpress.com/e/beSxkwGY

Часы лучше не 1307.......
Precision DS3231 Real Time Clock Module RTC DS3231 3.3V/5V without Battery for Raspberry Pi for arduino DIY Kit
https://s.click.aliexpress.com/e/B8O3NYk

sadman41
Offline
Зарегистрирован: 19.10.2016

Зачем #7? #5 - херня полная. Uno берете, чтобы прводки повтыкать что ли и оставить в таком виде? Питать модем и остальную хрень собрались от лития? #4 до +150 не померяет. #3 милипизерный, по-моему, до такой степени, что только с лупой его разглядывать.

dima744
dima744 аватар
Offline
Зарегистрирован: 27.09.2018

Спасибо за ответы!

trembo пишет:
600PCS/LOT 1/4W Metal Film Resisto.....

sadman41 пишет:

Ок 

Зачем #7? #5 - херня полная. Uno берете, чтобы прводки повтыкать что ли и оставить в таком виде? Питать модем и остальную хрень собрались от лития? #4 до +150 не померяет. #3 милипизерный, по-моему, до такой степени, что только с лупой его разглядывать.

#7,#5 нет проводки только на период отладки ....может, что то другое взять?

#3 посмотрю побольше

#4 мне больше 1

От чего модем запитать?

ps если туплю не ругайтесь сильно в ардуино я ноль полный

 

Saasha
Offline
Зарегистрирован: 27.09.2018

Совсем недавно влился в ряды.

И с котлом тема тоже есть.

Совет от чайника: все умножить на 2.

Один комплект работает, над вторым проводятся опыты и отладка глядя на то, как работает первый.

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

Источников питания не хватает и проводов для соединения.

 

dima744
dima744 аватар
Offline
Зарегистрирован: 27.09.2018

Saasha пишет:

Совсем недавно влился в ряды. И с котлом тема тоже есть.

Совет от чайника: все умножить на 2.

Один комплект работает, над вторым проводятся опыты и отладка глядя на то, как работает первый.

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

Источников питания не хватает и проводов для соединения.

 

да беру в большинстве своем в двойном экземпляре :-)

а что порекомендуете взять из источников питания?

Andy
Andy аватар
Offline
Зарегистрирован: 01.01.2016

dima744 пишет:
8. для измерения напряжения в розетке 

AC Digital Multifunction Meter Watt Volt Power Amp Current Test Module PZEM-004T S08 Drop ship https://www.aliexpress.com/item/AC-Digital-Multifunction-Meter-Watt-Volt-Power-Amp-Current-Test-Module-PZEM-004T/32802299444.html?spm=a2g0s.13010208.99999999.304.2fac3c006Wsmfk

Еще один пункт добавь:

9.Завещание

dima744
dima744 аватар
Offline
Зарегистрирован: 27.09.2018

Andy пишет:

dima744 пишет:
8. для измерения напряжения в розетке 

AC Digital Multifunction Meter Watt Volt Power Amp Current Test Module PZEM-004T S08 Drop ship https://www.aliexpress.com/item/AC-Digital-Multifunction-Meter-Watt-Volt-Power-Amp-Current-Test-Module-PZEM-004T/32802299444.html?spm=a2g0s.13010208.99999999.304.2fac3c006Wsmfk

Еще один пункт добавь:

9.Завещание

а что с ним не так?

vvadim
Offline
Зарегистрирован: 23.05.2012

а как вы программу писать собираетесь ?

Pyotr
Offline
Зарегистрирован: 12.03.2014

<<

Здорово, если не секрет дорого привод обошелся?

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

>>

Серву поставил из запасов MG995-996. Стоят пару-тройку сотен на Али. Ненадежные, для газоборудования нужны посеръезнее. Но у меня работает и даже если откажет, ничего страшного.
По теплице писал много раз.
Мои публикации на Гринтоке   Ну и поиском там тоже пройдитесь.
bwn
Offline
Зарегистрирован: 25.08.2014

dima744 пишет:

Andy пишет:

dima744 пишет:
8. для измерения напряжения в розетке 

AC Digital Multifunction Meter Watt Volt Power Amp Current Test Module PZEM-004T S08 Drop ship https://www.aliexpress.com/item/AC-Digital-Multifunction-Meter-Watt-Volt-Power-Amp-Current-Test-Module-PZEM-004T/32802299444.html?spm=a2g0s.13010208.99999999.304.2fac3c006Wsmfk

Еще один пункт добавь:

9.Завещание

а что с ним не так?

Таки напоминает очередной вумный шлём, который останется грудой деталей в ящике. Вы для начала возьмите ардуинку, светодиодики с кнопочками, помигайте. Как разберетесь, добавляйте датчики с экранами-пищалками и тестируйте в ручном режиме, потом уже и посложнее можно придумать. По личному опыту - когда нулевик хватается за такой проект, толку ноль. Ваши вопросы ясно показывает ваш уровень. Человечек, он по шажкам ходить учится, если сразу бегать заставить, не доживет до возраста уверенного хождения. ИМХО.

vvadim
Offline
Зарегистрирован: 23.05.2012

Pyotr пишет:

Серву поставил из запасов MG995-996. Стоят пару-тройку сотен на Али. Ненадежные,

у меня с этими сервами ни разу не было проблем.

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

sadman41
Offline
Зарегистрирован: 19.10.2016

dima744 пишет:

а что порекомендуете взять из источников питания?

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

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

dima744 пишет:

Andy пишет:

9.Завещание

а что с ним не так?

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

А вообще, dima744, Вы начинаете не с того конца. Вы начали с подбора комплетующих. Подбора под что? Под туманный набор хотелок? Так не делается. Комплектующие подбираются под проект. У Вас же не проекта (ни схем, ни чертежей/рисунков - ничего). Значит, проект будет делаться потом, под уже купленные комплектующие. При таком подходе проект получается кривым чуть реже, чем всегда. Начните с проекта.

Хотя, дело, конечно, Ваше.

Saasha
Offline
Зарегистрирован: 27.09.2018

dima744 пишет:
а что порекомендуете взять из источников питания?

Не решусь советовать что-то конкретное, ибо опыта у меня кот наплакал.
Единственное из собственного опыта:
Купил на Али Breadboard power module MB-102. Оно у всех продается.
Заявленный ток 700мА
И Breadboard Power Supply 5V/3.3V (1A) от Robotdyn - заявленный ток 1А
При подключении дисплея I2C 20x4 + 3 датчика MQ + датчик MH-Z19B (в сумме 300+540+100 = 940ма) дисплей мерцает и MH-Z19B не работает. С обоими Power Supply.
Китайцам верить нельзя и брать нужно с запасом.

Еще я бы датчик СО добавил...

 

ЕвгенийП пишет:
Вы с таким знаниями собрались в газоснабжение лезть...

Тут из влезания в газоснабжение - подключение сервы к крану. И то снаружи D
Вы наверное с газовым оборудованием и газовщиками лично не сталкивались, раз такое пишите.
Я ваще Ардуину к контактам котла цепляю...
Похоже меня должны расстрелять на месте газовщики, а котел немедленно взорваться D
Моя Ардуина получена 12.09.2018 с Али.

ЕвгенийП пишет:
А вообще, dima744, Вы начинаете не с того конца. Вы начали с подбора комплетующих. Подбора под что? Под туманный набор хотелок? Так не делается. Комплектующие подбираются под проект. У Вас же не проекта (ни схем, ни чертежей/рисунков - ничего). Значит, проект будет делаться потом, под уже купленные комплектующие. При таком подходе проект получается кривым чуть реже, чем всегда. Начните с проекта.

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

 

Pyotr
Offline
Зарегистрирован: 12.03.2014

vvadim пишет:

Pyotr пишет:

Серву поставил из запасов MG995-996. Стоят пару-тройку сотен на Али. Ненадежные,

у меня с этими сервами ни разу не было проблем.

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

Первая вышла из строя через два дня - сгорели выходные ключи на мосфетах потому что были повреждены щетки при сборке двигателя. Одна щетка просто завернулась и стопорила/коротила выход драйвера.

А так тоже использую эти сервы.

Andy
Andy аватар
Offline
Зарегистрирован: 01.01.2016

Saasha пишет:
Не все рождаюся с опытом.
Чтобы что-то сделать нужно что-то делать. Без кучи всяких датчиков, светодиодов и прочего опыта не набраться. Ненужное положится в ящик, другое будет докуплено.
Не вижу никаких пробем тут.
Если человек поймет что это не его - просто забросит.
Прогресс сделал розетки недоступными для большинства детей, поэтому погибают самые одаренные. Даже сомнений нет, кто ляжет в ящик в схеме розетка-гвоздь-ламер.
Сравни топологию
https://www.aliexpress.com/item/AC-Digital-Multifunction-Meter-Watt-Volt...
и
https://www.aliexpress.com/item/Optocoupler-Isolation-Module-Testing-Boa...
По-прежнему, не видишь никаких проблем?

dima744
dima744 аватар
Offline
Зарегистрирован: 27.09.2018

Спасибо огромное за ответы

Andy, теперь разницу вижу, когда носиком ткнули, СПАСИБО

Saasha спасибо как то совсем забыл про китайские ваты

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

Pyotr, спасибо будет что вечером почитать

 

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

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

MaksVV
Offline
Зарегистрирован: 06.08.2015

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

Сравни топологию
https://www.aliexpress.com/item/AC-Digital-Multifunction-Meter-Watt-Volt...
и
https://www.aliexpress.com/item/Optocoupler-Isolation-Module-Testing-Boa...
По-прежнему, не видишь никаких проблем?

dima744 пишет:

Andy, теперь разницу вижу, когда носиком ткнули, СПАСИБО

А объясните мне, деревянному, что вы имеете ввиду. Типа опторазвязки нет в PZEM?

ВН
Offline
Зарегистрирован: 25.02.2016

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

В импульсных БП плату под оптроном часто разрезают, чтобы максимально исключить возможность утечек. 

dima744
dima744 аватар
Offline
Зарегистрирован: 27.09.2018

mykaida пишет:

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

скачал, действительно исключительно полезная штука, сложновато конечно, но думаю освоюсь

dima744
dima744 аватар
Offline
Зарегистрирован: 27.09.2018

Andy пишет:

Сравни топологию
https://www.aliexpress.com/item/AC-Digital-Multifunction-Meter-Watt-Volt...
и
https://www.aliexpress.com/item/Optocoupler-Isolation-Module-Testing-Boa...
По-прежнему, не видишь никаких проблем?

только не понял я в этой плате она контролирует наличие 220 или его конкретную величину......

имеет ли смысл делать схему на основе трансформатора-диодного моста (с целью видеть конкретное значение в розетке)?

ВН
Offline
Зарегистрирован: 25.02.2016

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

2 дело хозяйское

Andy
Andy аватар
Offline
Зарегистрирован: 01.01.2016

dima744 пишет:
только не понял я в этой плате она контролирует наличие 220 или его конкретную величину......

имеет ли смысл делать схему на основе трансформатора-диодного моста (с целью видеть конкретное значение в розетке)?

Первый девайс, скорее всего, сделан на микрухе hlw8012 (или hlw8032). Она измеряет ток, напряжение и активную мощность. Но подключать её к системе отопления, в таком виде, глупо. Она явно сделана по заказу клуба самоубийц. Выкинь из неё оптопрары и сделай нормальную гальваническую изоляцию с полноценным барьером изоляции.

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

dima744
dima744 аватар
Offline
Зарегистрирован: 27.09.2018

Andy пишет:

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


Понял, спасибо!

sadman41
Offline
Зарегистрирован: 19.10.2016

Чем оптопары  не угодили на UARTe?

Andy
Andy аватар
Offline
Зарегистрирован: 01.01.2016

sadman41 пишет:
Чем оптопары  не угодили на UARTe?
Тем, что не обеспечивают гальваническую изоляцию.

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Andy пишет:

sadman41 пишет:
Чем оптопары  не угодили на UARTe?
Тем, что не обеспечивают гальваническую изоляцию.


?

sadman41
Offline
Зарегистрирован: 19.10.2016

Закон, видать, новый вышел: одни оптопары считать грамотным изолятором, а другие - неграмотным. 

Andy
Andy аватар
Offline
Зарегистрирован: 01.01.2016

Не все понимают разницу между диэлектрическим зазором и гальваническим. Сравнение топологий тоже не ваш конек, судя по всему.

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Подобный проект я начинал достаточно давно еще на PIC16 на  ассемблере. Сегодня закончил промежуточный этап на ардуинке - косяков куча. При зажигании котла в линию DS идет куча помех, и то же самое происходит при срабатывании клапанов. Советую - собрать термостат (для начала) и от него плясать дальше. Необходимые запчасти:

1. Ардуино

2. Блок реле

3. DS12B28 в корпусе

4. 1602 шилд с кнопками.

Поиграйтесь с этим, а потом добавляйте блюпуп, вифи и прочее... Даю свою программу (вот не надо срать мне на голову - тут все сделано эмпирически) и фото готового прибора.

#include <OneWire.h>  // on pin 2 (a 4.7K resistor is necessary)
#include <LiquidCrystal.h>
// #include <EEPROM.h> 

#define NoSensor 0
#define ErrCRC 1
#define BUTTON_NONE 0
#define BUTTON_RIGHT 1
#define BUTTON_UP 2
#define BUTTON_DOWN 3
#define BUTTON_LEFT 4
#define BUTTON_SELECT 5

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

 OneWire  ds(2);// Датчик на порту 2
 // Нажатые кнопки



const int Gorelka=11; //Порт горелки
const int Auto=3; //Порт включения автоматики
const int TimeStrobe=1000; // Время стробирования
//const int Buzzer=10; //Порт бузера

boolean flagNagrev; //Флаг нагрева
int Geteresis = 5; //Гетерезис температуры изначально 5 градусов
unsigned long lastMillis;
int temperatureStrobe;
int sensorStrobe;
int Tset;
float Ttn;

byte addrIN[8]; //={0x10,0x31,0xC5,0xC8,0x0,0x0,0x0,0xF4}; // Адрес датчика теплоносителя


void setup(void) {
  Serial.begin(9600);
    lcd.begin(16, 2);
    lcd.clear();
    pinMode(Gorelka, OUTPUT);
    pinMode(Auto, OUTPUT);
//    pinMode(Buzzer, OUTPUT);
    digitalWrite(Gorelka, HIGH);
    digitalWrite(Auto, HIGH);
      Serial.println("Auto OFF");
      Serial.println("Gorelka OFF");

    //         BuzzerBeep();
    if(!datchikEnable()) SensorsError(NoSensor);

    Ttn = Temperatura(&addrIN[0]);
    lcd.setCursor(0,0);
    lcd.print("Ttn=");
    lcd.print(Ttn);
    lcd.print("C    "); 
      Serial.println(Ttn);
    lastMillis=millis();
    temperatureStrobe=0;
    sensorStrobe=0;
    flagNagrev=false;
    Tset=40;
    lcd.setCursor(0,1);
    lcd.print("Tset=");
    lcd.print(Tset);
    lcd.print("C    ");    
    digitalWrite(Auto, LOW); //Включаем автоматику 
    lcd.setCursor(15,1);
    lcd.print("A");
 }

void loop(void) {
// ***************Стробирование
  if ((millis()-lastMillis)>= TimeStrobe) { //стробируем раз в секунду
    lastMillis=millis();
    temperatureStrobe++;
    sensorStrobe++;
  }

// *************Считывание кнопки

  switch (getPressedButton()){
    case BUTTON_UP:
      Tset++; //увеличение температуры на 1 градус
      if (Tset>80) Tset=80;
      lcdPrintTset(Tset);
      break;
    case BUTTON_DOWN:
      Tset--; //уменьшение температуры на 1 градус
      if (Tset<20) Tset=20;
      lcdPrintTset(Tset);
      break;
    case BUTTON_RIGHT:
      Tset+=5; //уменьшение температуры на 1 градус
      if (Tset>80) Tset=80;
      lcdPrintTset(Tset);
      break;
    case BUTTON_LEFT:
      Tset-=5; //уменьшение температуры на 1 градус
      if (Tset<20) Tset=20;
      lcdPrintTset(Tset);
      break;      
  }

// *************Управление горелкой
  
  if (flagNagrev){   // Если горит
    if (temperatureStrobe==5){ //Смотрим каждые 5 секунд
      temperatureStrobe=0;
      do {
      Ttn = Temperatura(&addrIN[0]);
      } while (Ttn>82.);
      lcd.setCursor(0,0);
      lcd.print("Ttn=");
      lcd.print(Ttn);
      lcd.print("C    "); 
      if (Ttn>=Tset) {
        digitalWrite(Gorelka, HIGH); //Выключаем горелку
        flagNagrev=false;
        lcd.setCursor(12,0);
        lcd.print("    ");
      }
    }
  } else{   //Если не горит
     if (temperatureStrobe==20){ //Смотрим каждые 20 секунд
      temperatureStrobe=0;
      do {
      Ttn = Temperatura(&addrIN[0]);
      } while (Ttn>82.);
      lcd.setCursor(0,0);
      lcd.print("Ttn=");
      lcd.print(Ttn);
      lcd.print("C     "); 
      if ( Ttn <=(Tset-Geteresis)) {
        digitalWrite(Gorelka, LOW); //Включаем горелку
        flagNagrev=true;
        lcd.setCursor(14,0);
        lcd.print("FR");
      }    
     } 
  }

//*******************Проверка датчика
  if (sensorStrobe==120){ //Проверяем наличие датчика каждые 120 секунд
    sensorStrobe=0;
    if(!datchikEnable()) SensorsError(NoSensor); //проверяем наличие датчика
  }

}

//Считывание температуры по адресу датчика и проверка контрольной суммы
float Temperatura(byte* addr){
//  byte data;
  byte i;
//  byte present=0x0;
  int16_t raw;
  byte data[12];
//  float Tt;
//  float a=1.;

  for (int k=0; k<6; k++){
      ds.reset();
      ds.select(addr);
      ds.write(0x44, 1);        // start conversion, with parasite power on at the end
   
  delay(1000);     // maybe 750ms is enough, maybe not
  // we might do a ds.depower() here, but the reset will take care of it.
   
  ds.reset();
  ds.select(addr); 
  ds.write(0xBE);         // Read Scratchpad
   for ( i = 0; i < 9; i++) {           // we need 9 bytes
    data[i] = ds.read();
    }
  if (OneWire::crc8(data, 8) == data[8]) { // Проверка контрольной суммы
  raw = (data[1] << 8) | data[0];
//    raw = raw << 3; // 9 bit resolution default
      // "count remain" gives full 12 bit resolution
      raw = (raw & 0xFFF0) + 12 - data[6];
     

  return (float)raw / 16.0;
  }
  delay(500);
  
  }

     SensorsError(ErrCRC);
     return 0;
  
}

// ***********************ПП ошибки датчиков **************************
void SensorsError(int err) {
    digitalWrite(Auto, HIGH); //Отключаем автоматику
    lcd.setCursor(15,1);
    lcd.print(" ");
    switch (err) {
      case NoSensor:
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print("No sensor");
        break; 
      case ErrCRC:
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print("CRC error");  
        break;      
    }
    Serial.println("ERROR");
    while (true); //затыкаемся здесь
       
}

  
  //**********************************ПП Считывание нажатия клавиш************************************
  int getPressedButton() {
  int button;
  int buttonValue = analogRead(0); // считываем значения с аналогового входа(A0) 
  if (buttonValue > 1000) {
    return BUTTON_NONE;
  }
  else if (buttonValue < 100) {
    button = BUTTON_RIGHT;  
  }
  else if (buttonValue < 200) {
    button = BUTTON_UP;
  }
  else if (buttonValue < 400){
    button = BUTTON_DOWN;
  }
  else if (buttonValue < 600){
    button = BUTTON_LEFT;
  }
  else if (buttonValue < 800){
    button = BUTTON_SELECT;
  }else {
    return BUTTON_NONE;
  }
  //         BuzzerBeep();
  while (analogRead(0)<1000);
//  Serial.println(button);

  return button;
}

//*******************************пп проверки наличая датчика********************************************

boolean datchikEnable(){
    int k;

    k=0;
      
   while (k<6){    // Опрашиваем до 6 раз
    ds.reset();
    if (ds.search(addrIN)){
     Serial.println("break");       
      break;{ //Если датчик есть выходим 
    }
 
    delay(500); //Задержка 2 сек    
    k++; 
    }
      ds.reset_search(); //Обнуляем опрос датчиков 
   }
                  for( int i = 0; i < 8; i++) {
// Обнуляем
            Serial.println(addrIN[i]);
   
          }
 Serial.print("Proverok= ");
 Serial.println(k);
  if (k >= 5){
    return false; //отсутствует датчик с заданным адресом
  } else {
    return true;
  }
  
}


void lcdPrintTset(int Tt){
  lcd.setCursor(0,1);
  lcd.print("Tset=");
  lcd.print(Tt);
  lcd.print("C    ");       
}

И старое оборудование добавил :)

И вообще, всегда готов помочь брату-дайверу :)

dima744
dima744 аватар
Offline
Зарегистрирован: 27.09.2018

Mykaida, :-) привет брат-дайвер, 

как раз сейчас осваиваю, реле, термометр, и дисплей, как тут и советовали в протеусе....пока что получается.....

в целом программа Ваша понятна....

если не сложно скажите:

-действительно ли бывают проблемы с тем что датчик "отваливается" и контрольная сумма не сходится....?

-если не секрет, какая у Вас марка котла?

- При зажигании котла в линию DS идет куча помех, и то же самое происходит при срабатывании клапанов. : можно подробней? помеха из за реле идет или из за наводок?

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

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