Приоретизатор нагрузок

SLKH
Offline
Зарегистрирован: 17.08.2015

iliarr пишет:

Собрал вариант с 4мя ардуинами на зелёной макетной плате, не заработало. Решил что  где-то ошибся. Собрал 3   CJMCU-758  с одной ардуиной, тоже не идёт. Всё проверил, помыл ацетоном от флюса, работает какое-то время, потом  в значениях показаний неадекват идёт , ардуина мигать диодом начинает и прошиваться не хочет в плате, которую собрал. Что-то не так делаю и пока не понял что. 

дык... "помыл ацетоном". а надо было тонким слоем чего?

iliarr
Offline
Зарегистрирован: 08.02.2020

SLKH пишет:
дык... "помыл ацетоном". а надо было тонким слоем чего?

Это другой технологический уровень. А мне надо по-проще и по-ремонто-пригоднее, т.к. самому обслуживать через 10 лет, когда забуду всё что делал. И чтобы заменить легко.

Похоже, дело было в паяльной пасте. Паяется с ней хорошо, но ардуина сбоит. Разумеется, состав не знаю и измерения её не полностью отмытых свойств не проводил. 

3 х  CJMCU-758  на ардуине нано работают. Уже проверяю прошиваемость ардуины на каждом этапе. Паяю на дырчатой зелёной плате канифольным припоем ПОС-61. Разводка проводами от витой пары . 

Преимуществ CJMCU-758  перед SCT-013-000 30A  не вижу, только усложнение разводки . Но уже есть и датчики и ящик металлический  под них.

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

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

SLKH пишет:

iliarr пишет:

Собрал вариант с 4мя ардуинами на зелёной макетной плате, не заработало. Решил что  где-то ошибся. Собрал 3   CJMCU-758  с одной ардуиной, тоже не идёт. Всё проверил, помыл ацетоном от флюса, работает какое-то время, потом  в значениях показаний неадекват идёт , ардуина мигать диодом начинает и прошиваться не хочет в плате, которую собрал. Что-то не так делаю и пока не понял что. 

дык... "помыл ацетоном". а надо было тонким слоем чего?

Не уж то Фэрри? Он и пасту отмывает? Буду знать...

iliarr
Offline
Зарегистрирован: 08.02.2020
Добрый день. 
CJMCU-758  и ZMPT101B заработали. Основной проблемой было физическое крепление этих датчиков, очень неудобно сделано. 
CJMCU-758 выбирается максимум и минимум значений за 1/50 секунды, их разность зависит от проходящего тока. Погрешность есть, но скорость важнее, в моей задаче.
ZMPT101B работает с примером из EmonLib , подбирается калибровочный коэффициент и положение подстроечного резистора на плате. Показания тоже с погрешностью и долго идёт процесс снятия показаний с 4х датчиков, что меня устраивает. Хотя, сейчас бы, наверное применил бы простые трансформаторы напряжения с выпрямителями. 
Raspberry pi проблем пока не доставляет.  
 
Вопрос. 
Мне нужно отправить на 10-15м,  3 сигнала 0/1 ( запрет или разрешение работы ТЭНов , должно работать быстро и надёжно). Думаю это делать через цифровые I/O . Провод пойдёт в доме рядом с силовым кабелем 3х25А . Первое что пришло в голову, соединить цифровые пины ардуин проводом и подтянуть к питанию с каждой стороны 10к резистором. Потом подумал , что лучше перестраховаться и поставить преобразователь уровней с кажлой стороны, по 2 шт (  одним 5В -> 3.3В  и другим обратно в 5В ) , если сгорит, то платка преобразователя уровней, которых много и они не дорогие. Возможно, приду к опторазвязке , но это усложнение и, возможно лишнее. 
Как это лучше реализовать?
b707
Offline
Зарегистрирован: 26.05.2017

iliarr пишет:

Возможно, приду к опторазвязке , но это усложнение и, возможно лишнее. 

Как это лучше реализовать?

Одна оптопара по сравнению с двумя преобразователями - это усложнение?

iliarr - вы же, как обычно, уже все для себя решили. Ну так нафига спрашивать? :) - делайте как решили

iliarr
Offline
Зарегистрирован: 08.02.2020

b707 пишет:

Одна оптопара по сравнению с двумя преобразователями - это усложнение?

iliarr - вы же, как обычно, уже все для себя решили. Ну так нафига спрашивать? :) - делайте как решили

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

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

P82B715 заработала на 10-15м витой пары, с питанием ардуины по 2м жилам витой пары ( электролит и керамика на стороне ардуины ). Питание от БП 5.1В ( 50Вт ), от которого Raspberry pi питается. Напряжение на ардуине 4.8В. На 50м сигнального провода 0,4мм2 , в той-же схеме, напряжение на ардуине было 4.4В ( мало ). 

 

 

iliarr
Offline
Зарегистрирован: 08.02.2020

Сделал второй вариант , рисунок ниже. Посмотрим как будет работать. Вторая сторона пока не готова. На сколько понимаю, основная проблема - это КЗ в силовом проводе, идущем рядом и соответствующие наводки. 

2 ардуины , с датчиками и экран 2004 , напряжение по 2 проводам витой пары на 10-15м проседо до 4.3-4.4В. Пустил в параллель 1.5мм2 , напряжение стало почти 5В. Схема с питанием всего от одного БП 5.1В сейчас выглядит жизнеспособной. 

iliarr
Offline
Зарегистрирован: 08.02.2020

Вот что получается на настоящий момент:

VFL.RU - ваш фотохостинг VFL.RU - ваш фотохостинг VFL.RU - ваш фотохостинг VFL.RU - ваш фотохостинг VFL.RU - ваш фотохостинг VFL.RU - ваш фотохостинг VFL.RU - ваш фотохостинг

Недостатков много, но пока это лучшее, что смог придумать по способу крепления датчиков и компоновке. 
iliarr
Offline
Зарегистрирован: 08.02.2020

Нашёл статью STM32 Arduino IDE . Стоит столько-же, работает быстрее Arduino, возможностей больше. Не надо думать о том что быстродействия АЦП или количества аналоговых выходов не хватает. Не пробовал. ESP32 тоже быстрей и возможностей больше, но не пошло у меня с ней, возможно, из-за кривых рук или моего злосчастного флюса.

P82B715 работает на сигнальном проводе ( 4 жилы по 0,4мм2 с напряжением до 250В ) 10-15м. Нравится мне P82B715, просто работает без ухищрений и "танцев", и позволяет не заботится об индуктивности проводов. 

b707
Offline
Зарегистрирован: 26.05.2017

... тихо сам с собою...

iliarr
Offline
Зарегистрирован: 08.02.2020

b707 пишет:

... тихо сам с собою...

Выдаю накопленный опыт.

Вот сколько времени идёт формирование GET запроса у Ардуино через W5500 и получение ответа от относительно быстрого сервера по локальной сети? Я не знаю. А если Arduino заменить на STM32 и программировать её через Arduino IDE?  Если 5-10 мс , Raspberry Pi становится не нужной и вся система работает по Ethernet с сервером из любого старого компьютера. W5500  едет . 

Raspberry Pi , не смотря на то что работает хорошо и не доставляет проблем, сама по себе является усложнением т.к. своя ОС, нет SATA и надо переносить систему в RAM ( делается, но дополнительные сложности ) , и стоит версия 8G ( чтобы хватило RAM под систему ) совсем не дёшево. 

Таких моментов много. Потому спрашиваю. Потому пишу свой опыт, т.к. ценных подсказок на этом форуме было очень много. 

Да. Если бы я увидел фотки физического крепления датчиков, мне было бы гораздо проще, истратил бы меньше времени и денег. 

У меня есть задачи, которые надо решить всё-равно как. Главное, чтобы было доступно финансово, не было бы зависимости от бренда или "специалистов за большие деньги" , и чтобы через 10 лет , забыв всё, смог бы без труда разобраться как починить или переделать то что сделаю сейчас. 

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

Бак теплоаккумулятора 2м3 переделал, проверил и уже в доме стоит. Затащить большую железку 300кг в дом, за недорого, не такая и простая задача. Мне повезло, соседские строители - нормальные мужики, в шестером затащили ( я 6й но реально помощи от меня было мало т.к. у них слаженная бригада ). А вот печку 230 кг , в 8м затаскивали и было тяжело. Это к некрасивым высказываниям в этой теме про бак и прочее. Я за мир и добролюбие. :-)

b707
Offline
Зарегистрирован: 26.05.2017

iliarr пишет:

Вот сколько времени идёт формирование GET запроса у Ардуино через W5500 и получение ответа от относительно быстрого сервера по локальной сети? Я не знаю. А если Arduino заменить на STM32 и программировать её через Arduino IDE? 

это как раз пример, где СТМ32 не дает никакого выигрыша по скорости, потому что основное время в GET-запросе - это его передача по сети и ожидание ответа сервера, которые даже для "быстрого сервера" раз в 100 превышает время формирования

iliarr
Offline
Зарегистрирован: 08.02.2020

b707 пишет:

это как раз пример, где СТМ32 не дает никакого выигрыша по скорости, потому что основное время в GET-запросе - это его передача по сети и ожидание ответа сервера, которые обычно раз в 100 превышает время формирования

Про СТМ32 задумался, но в реализацию не запускаю т.к. и так работает. 

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

Сторона датчиков сейчас работает нормально по i2c. Надо повесить ящик и переделать силовую часть , чтобы электрическая сеть шла через переключатель сеть/генератор, собираюсь. И вот проблема сейчас, как на датчик напряжения завести провода от генератора. Если конкретнее, как в одну клемму всунуть 2,5-4мм2 и 0,4мм2. Существуют специальные "ушки" ( не помню как правильно называются ), но их у меня нет. И в датчике напряжения , винтовой зажим под тонкий провод. Итоговый результат из таких мелочей складывается, и если какой-то проводок отвалится или потеряет контакт, система не будет работать. Хотя, в теории, всё примитивно.  

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

а релюшки чего на стойки не поставил?

iliarr
Offline
Зарегистрирован: 08.02.2020

ua6em пишет:

а релюшки чего на стойки не поставил?

VFL.RU - ваш фотохостинг VFL.RU - ваш фотохостинг VFL.RU - ваш фотохостинг

Поставил, это был первый вариант, который не заработал, предположительно, из-за флюса. 

С доступной мне технологией, там очень близко получается крепление к стойки к сигнальным и 5В/GND контактам. Крепление в правом верхнем углу датчика. находится близко к резистору, через который 220В на трансформатор подаётся. Отверстие у датчика D2 , просто купить я смог винтики только D3 , рассверливал. Могло работать, но напряжённо. Когда между 220В и 5В/GND  миллиметр - это не дело. Ставил изолятор/прокладку, но не особо. Это недостаток реализации датчика. 

На фотках то что сейчас, после выпаивания части стоек ,но понятно как и что было. 

Только , это не релюшки, а трансформаторы напряжения. :-)

b707
Offline
Зарегистрирован: 26.05.2017

По правилам разводки плат, между низковольтной и высоковольтной частью не только зазор ставят побольше, но и прорезь фрезеруют, чтобы ток не потек по поверхности платы, если вдруг она грязная. Если на китайском модуле 5в и 220в на расстоянии 1мм - такой модуль использовать нельзя

iliarr
Offline
Зарегистрирован: 08.02.2020

b707 пишет:
По правилам разводки плат, между низковольтной и высоковольтной частью не только зазор ставят побольше, но и прорезь фрезеруют, чтобы ток не потек по поверхности платы, если вдруг она грязная. Если на китайском модуле 5в и 220в на расстоянии 1мм - такой модуль использовать нельзя

Значит, ZMPT101B можно использовать только очень аккуратно и на пластиковых ножках D2. 

Там не 5В и 220В рядом, там отверстие крепления и 220В рядом совсем. А дальше, уже самоделкины, как я, выкручиваются как могут. 

iliarr
Offline
Зарегистрирован: 08.02.2020

8 датчиков DS18B20 , подключены каждый к своему каналу DS2482-800 , источников нагрева рядом нет. 

VFL.RU - ваш фотохостинг

Показания датчиков: T0: 12.1875, T1: 10.875, T2: 11.0625, T3: 10.875, T4: 12.125, T5: 12.125, T6: 11.1875, T7: 11.5

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

DS2482-800  ни как не захотела работать на одном канале i2c с ардуинами. Думал и провод длинный и что угодно. Перепробовал - нет. Сейчас на разных каналах работают. 

DS2482-800  легко заработал с NodeJS только через owfs, которая умеет с разными каналами i2c на raspi работать. Библиотеки NodeJS пока только под стандартный ( первый или нулевой ) заточены. Работает не быстро ( можно смириться ). 

Подумываю о возврате к концепции, которую когда-то посчитал излишне громоздкой и затратной:

- Данные идут через Ethernrt ( W5500 ) 

- Температура с терморезисторов через АЦП ( их откалибровать можно , хоть и не абсолютно точно, но под схожие показания между собой ) 

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

 W5500 не приехали, уже неделю на таможне лежат. Когда-то за 2 часа пропускали. Проверить на практике пока не могу. 

Думал даже с NodeJS на Python или GoLang перейти , но уж очень здорово когда и серверная и браузерная части на одном языке пишутся. Ещё не знаю. 

 

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

 

iliarr
Offline
Зарегистрирован: 08.02.2020

i2c через удлинители работает хуже чем мне бы хотелось. Т.е. работает, но есть нюансы. 

Разобрался с АЦП ESP32 , поставил большой электролит и керамику на 3.3В , 1мкФ керамика входы АЦП на землю, и примитивный цифровой фильтр ( среднее по 10 измерениям идёт результатом ) , синусоида получилась ровной с шумом до 10-15 ( на 12 битах АЦП), до этого, выплески шума и больше 100 бывали.  В какой-то момент, вывел в консоль значения измерений, потом график в табличном редакторе показал картинку и многое стало понятно. 

На 20 мс ( 1 период синусоиды ) идёт примерно 550 считываний  3х каналов АЦП. 

Время отправки по ethernet не знаю ( таможня w5500 не пускает ), по wifi ESP32 сейчас стабильно выдаёт 57-60мс ( измерение и обработка 3х каналов АЦП - 20мс  , формирование GET запроса, отправка на сервер, получение ответа от него - 37-40мс ) . Стабильность работы пока хорошая,  т.е. просто работает. 

"Герметичный " DS18B20 в стальной колбе на проводе, опущенный в воду, через какое-то время выдаёт ошибки и перестаёт работать. После извлечения из воды, ситуация как-то улучшается. 1wire работает , но нравится не очень ( время опроса, помехи , точность DS18B20). Приехали 10К терморезисторы ,попробую с ними. 

Ещё, из практики, теплоаккумулятор ( стальной ящик без верха с листами XPPS , плавающими на поверхности воды) сейчас работает как большой конвектор. Работает. 150м2 без дверей обогревает, хоть и не особо комфортно ( неравномерное распределение тепла ).

EPS32, на который плевался, после более вдумчивого подхода, пока работает. Очень нравится избыточная производительность , в сравнении с arduino, и встроенный wifi.  Сейчас, основная сложность - это разводка на платах , физическое крепление компонентов системы и количество проводов. Да, это делается, но проще этого не делать. 

Пока , вроде, всё. :-)

iliarr
Offline
Зарегистрирован: 08.02.2020

Подключил механические реле к ESP32, сделал передачу данных между ESP32 и сервером по http , стал тестировать. Низкий/высокий уровень управления реле ( там джамперы переключения) ,либо не грузится, либо включает реле при загрузке ( недопустимо т.к. включается полная нагрузка, при стечении обстоятельств, выключаются входные автоматы ) , и не грузится при некотором положении реле ( может быть любым в зависимости от их состояния до внезапного отключения электричества ). 
Датчик тока на ESP32 и SCT-013-030 , с шумами справился, всё хорошо,  по http и wifi отдаёт за 60мс с учётом измерений ( 20мс ) и передачей туда, обработкой сервером и обратно ( 40мс ). Всё хорошо , радуюсь. В какой-то момент, это значение возрастает до 5020мс, при той-же серверной части , уровне сигнала wifi, помехах и загрузке. Разбираться не стал. 

w5500 на таможне, хотя другая посылка (терморезисторы), заказанная позже и так-же, уже пришла. 

6 терморезисторов 10К ( 5% ) с балансами 10К ( погрешность не лучше ), к Arduino на одной плате в ряд, без измерений номиналов и калибровки, просто из статьи код, разница показаний 0,6 градусов. Напомню, что 8  DS18B20 в схожих условиях, выдавали разницу до 1 градуса. Если калибровать терморезисторы , точность может быть много лучше. 

Те-же реле, что и к ESP32 подключал, подключил к Arduino. Управление высоким уровнем. Ни чего не дёргается при загрузке, просто включается и выключается , как задано. 

Сейчас делаю вариант: Arduino mega pro : 6  каналов терморезисторы , 12 каналов реле , 3 канала измерение тока, 4 канала измерение  напряжения ( отдельная Arduino nano ( 4 канала ZMPT101B , 4 канала ЦАП выпрямленных результатов идут на Mega )) . Mega по i2c к Raspberry Pi . Остальные компоненты, не критичные к времени реакции, наверное, будут по WiFi и Ethernet к Raspberry Pi . 

iliarr
Offline
Зарегистрирован: 08.02.2020

С ЦАП у Ардуино, ошибся по-незнанию.  Не ЦАП это , а ШИМ и то как хотел, не работает. 

Сейчас реализую централизованную схему : Мега измеряет ток на 3х фазах и напряжение на 3х фазах + ввод генератора ( на 2х периодах синусоиды, скорости и точности хватает ). Мега подчинённый у Raspberry по i2c ( без удлиннителей ), управляет 12 каналами ТЭНов ( 9 основных и 3 запасные т.к. бак сливать для замены ТЭН не простое занятие ).  Температура через терморезисторы ( понравились больше чем  DS18B20 , и точность, и время, и простота ). Дальше 17-18 каналов на сервоприводы ( тёплый пол и контуры Бани Маслова ), ещё 3 силовых канала на парогенератор в баню. 

Надоело уже варианты перебирать. Везде нюансы. 

Сварил из остатков металла 3мм ящик электрический. Начитавшись отзывов, взял 5 кг электродов АНО-21 , не получалось ими бак варить ( варил МР-3 ) , МР-3 кончились, подумал, что ящик электрический не особо ответственно по сварке, стал АНО-21 варить. Квалификация уже есть какая-то, начинаю понимать почему их профессионалы хвалят. 

Дальше надо придумать как крепить компоненты внутри электрического ящика, желательно так, чтобы переделывать можно бы было без его съёма со стены. И дальше тестировать в деле, а не на стенде. 

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

iliarr
Offline
Зарегистрирован: 08.02.2020

Если кому-то интересно, приоретизатор нагрузок 3 фазы на 12 каналов, заработал .

Сейчас это :

- Arduino nano : 3 фазы измерение тока , 3 фазы измерения напряжения, 12 каналов управления сдвоенными реле. К ТЭНам идёт 7 проводов 3х2.5 ( 6 проводов 2 фазы и земля, один провод 2 нейтрали и земля).

- Arduino nano : RTC , ethernet ( W5500 , связь с  сервером по http ), LCD2004 , i2c к первой arduino ( получение тока, напряжения, состояние включенных ТЭНов, отдача можно/нельзя включать ТЭНы ).

Основной проблемой было выбор концепции и физическое крепление/разводка. От rasbberry pi по i2c отказался из-за шлейфа соединения, библиотек NodeJS ( есть, работают, но усложнение), и зависимости от ОС ( микроконтроллер надёжнее ).

Когда есть понимание "что хочу" и "На чём реализую" , всё действительно просто, с кучей нюансов, несложных в решении.

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

 

iliarr
Offline
Зарегистрирован: 08.02.2020

С наступающим Новым Годом!

Система работает. Есть недостатки с программной частью ( нет времени сделать как надо ).

Резистивные датчики пляшут как хотят. В причине не разбирался. В arduino и esp32  сбоев не было.