Skip navigation.
Home

Муки начинающего ардуинщика, история очередного расследования.

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

Ардуино дает команду на поочередную коммутацию через реле 5 линий, каждая по +24 вольта. Так же эта же самая ардуино (тоже через реле) коммутирует одну линию +12 вольт. Сама кормится от +5 вольт.

Пока реальные +24 не подключены к релейной группе, все в шоколаде. Все щелкает, все хорошо, все красиво. Как только начинаем коммутировать +12 или +24 вольта, начинаются чудеса: ардуино ведет себя совершенно непредсказуемо. То коммутирует. То не коммутирует. То впадает в коматозное состояние.

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

Резюме сформулировал еще великий поэт: "Не гонялся бы ты, поп, за дешевизною".

Дело в том, что у меня один блок питания, который выдает эти самые +24, +12 и +5 вольт. И когда на +24 садится нагрузка, +5, которые выдаются этим же самым блоком, становятся на долю секунды чем-то иным, и ардуино перегружается, по новой исполняя функцию инициализации, снова входя в главный цикл и снова пытаясь скоммутировать +24 вольта.

У меня есть крошечный блок питания AC ~220->DC +5, и еще очень немного места в коробке блока питания. Завтра уже буду втискивать этот блок внутрь и питать линию +5 вольт независимо от главного блока питания, который будет выдавать только +24 и +12 вольт, благо, там потребители к качеству не требовательные (обмотки клапанов и двигатель нагнетателя).

И это при том, что я брал блок питания с пятикратным запасом по мощности потребления.

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

Обмотки реле

Обмотки реле откуда питаются?
Опторазвязка или хотя бы дополнительный ключ там есть?
Нагрузочной способности GPIO (каждого порта в отдельности и всей группы в целом) Ардуины достаточно для питания реле?
На плате шина питания GPIO не слишком тонко разведена?
Баланс по питанию соблюдён?

Повесь на шину питания самого микроконтроллера, прямо на плату, электролитический конденсатор, ёмкостью чем больше, тем лучше. И прямо на ноги этого же электролита - керамический конденсатор, тоже ёмкостью чем больше, тем лучше, но не менее 1 мкФ.
Провод питания +5В от источника питания до Ардуины продень несколько раз через ферритовое кольцо или, что ещё лучше, воткни между источником питания и Ардуиной дроссель. Дроссель или кольцо можно выковырять из любого дохлого блока питания.

Есть один блок

Есть один блок питания, который выдает +24, +12 и +5. +24 - это питание обмоток реле. +12 - питание нагнетателя (не напрямую, через DC-DC преобразователь +12 -> +7 вольт). сенсоры, сама Ардуино питаются от +5 вольт.

Опторазвязка есть во всех реле.

Ардуино не питает ничего. Есть линия +5 вольт, идущая от блока питания. На этой линии сидят все 5-вольтовые потребители: 6 реле, несколько сенсоров, сама Ардуино. Сама Ардуино никого не кормит.

"На плате шина питания GPIO не слишком тонко разведена?"

Плата только одна: это сама Ардуино.

"Баланс по питанию соблюдён?"

Как это? Есть, как я уже написал, пятикратный запас по мощности блока питания.

Я понимаю, что дает конденсатор - сглаживает броски питания. А какую роль играет ферритовое кольцо? Как эта магия работает?

> +24 - это

> +24 - это питание обмоток реле
Ты уверен? На картинке в предыдущем посту реле у тебя пятивольтовое. Спалишь его, если будешь в 24 вольта втыкать. Или ты имел в виду обмотки клапанов?

>> "Баланс по питанию соблюдён?"
> Как это?
Ну, например, на блоке питания пишут 24В/10А, 5В/1мА - тоже 240.001Вт всего. Или бывает, что или 5В/10А или 24В/10А но не в один и тот же момент времени. Т.е. в наихудшем раскладе у тебя не должно быть превышения общей потребляемой мощности И не должно быть превышения тока по каждой отдельной шине.

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

---Или ты имел в

---Или ты имел в виду обмотки клапанов?

Да, извини. Реле конечно же 5-вольтовое.

---Т.е. в наихудшем раскладе у тебя не должно быть превышения общей потребляемой мощности И не должно быть превышения тока по каждой отдельной шине.

Соблюдается. Я проверял амперметром, сколько жрет клапан в замкнутом состоянии. Но: есть у меня подозрение, что в момент, когда на него выдается ток, жрет он очень сильно больше, чем когда он уже открыт и удерживается в открытом состоянии. Как я понимаю, ничем, кроме осциллографа, это не проверить. Я прав?

> жрет он очень

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

Простейшее решение чисто программное - не включать все клапана сразу, а по одному с задержкой 0.1-0.5 секунды.
Если не поможет, то в порядке наименьшего геморроя, воткнуть в цепь питания клапанов +24:
- резистор (поздоровее, на пару Ватт) на 0.1-1 Ома;
- уже упомянутый раньше электролитический конденсатор между резистором и клапанами;
- перед или вместо резистора добавить дроссель.

---Простейшее

---Простейшее решение чисто программное - не включать все клапана сразу, а по одному с задержкой 0.1-0.5 секунды.

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

Я не хочу городить резисторы и дроссели: пусть +5 вольт будет отдельным, независимым питанием. Практика показала, что клапана отлично срабатывают от +19.5 .... +25 вольт, им похрен. Мотор вполне работает от +7 ..+12 вольт, ему тоже похрен. Ардуине - нет, так что пусть живет на независимом источнике.

Мы когда про

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

1. В зависимости от ценности исполнительных и важности их корректной и независимой работы - оцени риски и либо запитай каждый исполнитель от своего БП, или сгруппируй их так, как тебя устроит.
2. Судя по поведению БП - не удивлюсь, если там и по 12 вольтам при коммутации нагрущки по 24 - тоже начинается цирк с конями. Поэтому или питать 12-вольтовых участников отдельно (см. п.1), или экспериментировать и решать, оставлять так с эти БП или нет.
3. Адруину, как самый мозх системы, питать отдельно и желательно от БП повышенной надежности.

ЗЫ: я бы еще исходил из того, что адруина тоже может иногда и сама глючить или виснуть, поэтому чтобы избежать ситуации, что она повисла в режиме "включены все насосы" и цчасток в твое отсутствие заливается непрерывно и ты потом оплачиваешь 30 т воды + услуги водоканала по откачке с участков соседей - как-то бы ее принудительно периодически рестартовал, заставляя переинициализироваться и перепроверять датчики и вообще. :-)

"как-то бы ее

"как-то бы ее принудительно периодически рестартовал, заставляя переинициализироваться и перепроверять датчики и вообще."

Там вачдог таймер есть. Можно им ресетиться в том случае если железка зависает.

Про ватч-дог

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

Спасибо,

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

Но: если я "-" у обоих блоков питания (существующего и нового) скоммутирую, так - можно?

Нужно.

Нужно.

Comment viewing options

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