Skip navigation.
Home

ККК, вот к нашей телефонной беседе

ККК, привет!

Update: Всем спасибо, проблема решена.

Вот, собственно схема.

Пояснения к схеме

[24V] блок питания, получает ~220, выдает +24
[5V] блок питания, получает ~220, выдает +5

"+" - соединения проводов
"о" - пересечения проводов на схеме, здесь нет контакта
/[R]/ - реле. Питается от +5 вольт, третий провод сигнальный
К - клапан, питается от + 24 вольт, коммутация +24 вольта производится реле. Клапанов на самом деле пять плюс еще реле на нагнетатель, итого шесть реле.

Два блока питания соединены минусами. На 5-ти вольтовой линии висит Ардуино, питание всех реле, сенсоры.

Описание проблемы: до тех пор, пока реле ничего не коммутируют, все хорошо: Ардуино ими щелкает, все в порядке. Как только реле начинают коммутировать +24 вольта, то на втором (иногда третьем) реле Ардуино срывается в перезагрузку, и до 4,5 и 6 реле очередь не доходит никогда.

Что я сделал: взял третий блок питания, который тоже выдает пять вольт. Подключил питание Ардуино к этому третьему блоку, но НЕ СОЕДИНЯЛ его минус с общим минусом. Все заработало. Как только я соединил (предварительно все выключив) минус этого третьего блока питания с общим минусом, картина повторилась (см. абзац выше).

Картина не меняется если поменять Ардуино (у меня Nano). Ничего не дает менять блоки питания. Без разницы, реле отдельно стоящие, или комбинации типа "сборка реле на 4 штуки + 2 отдельных реле" или "сборка реле на 6 штук", или "сборка реле на 4 штуки плюс сборка реле на 2 штуки".

Картина не меняется от смены цифровых выходов: второе (в лучшем случае - третье) реле будет последним.

Резет Ардуино происходит достоверно, у меня функция load() заканчивается пищалкой.

Xanf предположил, что клапана как-то гадят по земле (минусу). Была еще теория, что искра на релюхах дает такой результат. У меня идеи закончились, я перебрал все возможные комбинации реле, Ардуино и блоков питания, которые у меня есть. В принципе, конечно, можно поставить еще один дополнительный блок питания на 5 вольт, и не соединять его минус с общей землей, но это не решение проблемы: так не должно быть.

Буду признателен за любые идеи. Как и договаривались, выкладываю это на всеобщее обозрение, дабы общественность поучаствовала.

Вот еще в тему,

Вот еще в тему, на будущее:
https://habr.com/ru/post/472726/

Три недели

Три недели сочного траха мозгов решили проблему.

Дело было в том, что на сенсор, который стоит в коробке с клапанами, идут провода в одном жгуте с 24 вольтовыми проводами. Как только я отключил сенсор от Ардуино, эти долбанные перезагрузки прекратились. Совсем. Теперь все работает как часы.

Спасибо всем, кто морщил мозг и помогал мне: я угрохал на эту проблему хренову тучу времени, но получилось.

Отцы, теперь вопрос: я могу, конечно, просверлить еще две дырки и кинуть отдельный кабель для сернсора, но как-то не хочется. Если в имеющийся жгут сунуть экранированный кабель на 4 жилы (2 - питание сенсора на 5 вольт, 2 - сигналы с сенсора) - это поможет решить проблему? Что думает прогрессивная джедайская общественность?

Погоди, а реле у

Погоди, а реле у тебя не рядом с клапанами стоят?
Что у тебя за клапана такие, что они создают эффект электромагнитной пушки!?

Экранировка в данном случае не поможет. Одень ферритовое кольцо на 24В провод внутри коробки с клапанами. Лучше в несколько витков. А ещё лучше - дроссель.
Или просто засунь источник 24В в коробку к клапанам.

Реле стоят в

Реле стоят в коробке, до которой идет жгут проводов. В этой же коробке стоит сенсор, к которому идет 4 провода: +5, GND, сигнал, ответ.

Медицинский факт: как только я отключил от Ардуино провода "сигнал" и "ответ" с датчика (это при том, что +5 и GND я отключил раньше) все великолепно заработало. Через пару часов я пущу "сигнал" и "ответ" отдельным кабелем, не в жгуте с +24 вольтами и посмотрю, как это будет себя вести в этом случае.

Не хочу я засовывать +24 вольта в коробку с клапанами: это значит, что туда же придется подводить 220 вольт, а там куча соединений между трубками, по которым бежит вода: ну его на хрен, такое счастье.

Клапана - обычное произведение великой Поднебесной: газ/жидкость, срабатывают на 24 вольта напруги.

Какое

Какое сопротивление катушки клапана? Просто тестером померь.

Странно всё это. Я вполне допускаю, что Ардуина может сброситься от помехи по питанию или по земле.
Но чтобы по сигнальной ноге!? Да ещё не в момент выключения. Может, тебе вместо клапанов пяток магнетронов продали? По паре киловатт каждый :)

Именно по

Именно по сигнальной ноге. Как только отключил, сразу же прекратились проблемы. Причем, повторюсь, 24 вольтовая линия никак электрически не была связана с сенсором, его сигнальными ногами и 5-ти вольтовым питанием. Только кабели в общем жгуте.

Я окончательно

Я окончательно перестал что-либо понимать.

Отцепил землю с блока 24 V от общей земли. Пустил ее отдельной линией только для клапанов и нагнетателя. Теперь на 5V сидят только сама ардуино, реле и сенсоры и у всех у них своя земля.

Проверил, что между землей от 24V блока и землей от 5V блока нет никакой взаимосвязи. Реле замыкают независимые от чего-либо 24 V цепи.

Абсолютно та же самая картина. Пока реле не коммутируют 24V, все работает отлично. Как только подаешь 24V, начинается тот же пипец со срывом в перезагрузку. Так же проверено как на отдельных реле так и на группах реле. Сейчас еще попробую отцепить сенсор, может, он как-то странно влияет на ситуацию вкупе с 25 вольтами.

Я уже не знаю, на что думать и куда смотреть. Получается по логике вещей, что 24 вольта как-то гадят в реле, а реле гадит в ардуино. Это вообще возможно, или мне голову надо лечить?

Странно всё

Странно всё это.
Могу строить только предположения:
- что-то с блоком питания на 24В. Попробуй запитать от лабораторного источника.
- что-то с Ардуиной. Возможно, неправильно разведена плата на которой напаян микроконтроллер. Линия сброса не болтается?
Ардуина именно перезагружается или просто виснет?
- что-то с реле. Например, какие-то утечки.
- что-то с клапанами. Может, они не на 24В, а на 5В и получается эффект электромагнитной бомбы. Попробуй вместо клапанов воткнуть обычные автомобильные лампочки на 12В. Если с лампочками эффект исчезнет - поставь параллельно соленоидам клапанов диоды, анодом к земле.

Я проверял

Я проверял вольтаж блока. Выдает 23,9 вольта, стабильно.

Одинаковое поведение у двух разных Ардуин. Я могу купить еще, вопрос лишь в том, поможет ли это.
Именно перезагружается, нет, не виснет.
Эта картина повальная. С разными реле. Разных производителей. Я еще раз звонил кабель между коробками - все нормально. Попробую подключить не через кабель, а напрямую, прямо в коробке с электроникой.
Клапана точно на 24 вольта. Это и в спецификации, и срабатывают они от 24 вольт, на 12 не реагируют.

Привет! Я

Привет!
Я всё-таки усматриваю в этой схеме шинную топологию.
Для смешанных контрольных и силовых цепей это недопустимо.
Сделай нормальную звезду по земле. - всё из одной точки. Физически. Вот так:
___
/
о----
\----

Второй момент, нет ли каких-либо перетечек между силовыми и контрольными цепями, например внутри реле. Хрен его знает, что там китайцы напаяли. У меня был такой прикол, с китайской сборкой, когда горячая и холодная стороны реле оказались соединены. Китайцам, им знаешь-ли, всё равно - мальчик, девочка, без разницы :)

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

Я придумал

Я придумал решение проблемы, сделаю - отпишусь.

С днем рождения тебя! Удачи и здоровья. )

Спасибо!

Спасибо! Постараемся оправдать оказанное высокое доверие! :)

А реле - это

А реле - это просто реле, подвешенное на цифровую ногу Ардуины? Или у него обвес есть?
Клапан просто включается в контакты реле без дополнительного обвеса?

Есть обвес. Вот

Есть обвес.

Вот такое:
https://www.ebay.de/itm/4-Kanal-Relais-5V-230V-Raspberry-Pi-Optokoppler-...

или такое:

https://www.ebay.de/itm/5V-DC-230V-AC-1-Channel-Optocouplers-Relay-Shiel...

Из этого семейства. С одной стороны три контакта (VC+),(VC-), сигнал. С другой -тоже три - обший, нормально открытое и нормально закрытое.

Да, предупреждая возможные вопросы:

1. Если разом замкнуть все реле, все работает. Только мне так не надо.
2. Я пробовал варианты с HIGH и LOW триггерами (на тех реле, где они есть), это не меняет ситуацию.

Ардуино

Ардуино перегружается при включении или отключении реле? Точнее при запитывании клапана или его отключении?

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

Если при включении - нужно более детально смотреть на схему подключения )))

а можно

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

Спасибо,

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

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

Спасибо.

"Правильно ли я

"Правильно ли я понимаю, что эта штука как бы принимает на себя электрический ток, который выдает катушка при выключении"
Да.

Цеплять снаббер нужно в паралель клапану, как можно ближе к нему. Попросту говоря один конец снаббера на "+" клапана (после контактов реле), второй - на землю.
На 5 индуктивностей лучше 5 шт снабберов рядом с клапанами (если это возможно).
Но я что-то не нашел параметров элементов, которые китайцы туда вкорячили. Они могут быть неоптимальны.

void loop() { int

void loop()
{
int start_pos = 0;
//
for (int i = start_pos; i < totalValvesNumber; ++i){
digitalWrite(ArrayOfValves[i], ON); //активировать клапан
delay (4000);
digitalWrite(PumpPin, ON); //активировать насос
delay (4000); //льется вода указанное время
digitalWrite(PumpPin, OFF); //стоп насос
delay (200);
digitalWrite(ArrayOfValves[i], OFF); //стоп клапан вот тут и уходит в перезагрузку на втором клапане
delay (4000);
//
Serial.print("current: ");
Serial.print(i);
Serial.print("\n");
//
};
};

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.