Может ли Arduino управлять 8 соленоидами?
Я очень мало знаю об Arduino и еще меньше о ее программировании. Прежде чем купить плату и научиться ее программировать, мне было интересно, осуществима ли моя идея.
Я хочу запрограммировать Arduino на последовательное открытие одного за другим ирригационных клапанов. Там будет примерно восемь электромагнитных клапанов на 24 вольта. Каждый из них должен быть открыт примерно на 15 минут, затем последовательно открыть следующий клапан и, наконец, закрыть предыдущий клапан. Аналогичен многозональному контроллеру полива.
Я вижу, что мне может понадобиться использовать транзистор в цепи питания соленоида. Но мне непонятно, может ли Arduino управлять восемью соленоидами, и если да, то нужен ли для каждого соленоида свой транзистор?
@Tim Christensen, 👍5
Обсуждение7 ответов
Лучший ответ:
Ардуино может управлять (как минимум) 8 устройствами. Вместо транзистора может быть намного проще использовать 8-контактный релейный контроллер, что-то вроде этого:
модуль реле 8
Просто подключите все 8 клапанов к реле, вы запитаете реле отдельным источником для клапанов и подключите контакты к Arduino.
У них есть оптопары, которые обеспечивают дополнительную безопасность между клапанами и Arduino.
8 релейный модуль с оптронами (обратите внимание, я просто разместил первую найденную запись, вы можете найти аналогичные товары лучше/дешевле, например, на AliExpress за 4 доллара).
Как сказал Андре в комментарии ниже, вы можете использовать Arduino Mega, если вам нужно больше выходов. Или, если вы хотите бросить вызов, вы можете использовать микросхему мультиплексора, например 74HC595 (множество примеров можно найти с Arduino).
Для управления одним реле с помощью Arduino можно найти достаточно примеров, для 8 это аналогично (просто используйте 8 GPIO) или микросхему мультиплексора.
Да, в зависимости от величины тока, лучше иметь некоторую физическую изоляцию между вашей стороной ламп 24 В / выше. и 5v / слаботочная сторона arduino., @Chad G
@ChadG За 10 евро я бы сам не стал рисковать, предполагая, что клапаны более дорогие (или риск отсутствия орошения, если это основная цель)., @Michel Keijzers
Эти релейные модули обычно имеют изоляцию оптопары, но действительно проверьте., @Andre Courchesne
Если вам нужно больше, чем ввод/вывод, просто используйте Arduino mega., @Andre Courchesne
@AndreCourchesne Спасибо за комментарии, я соответственно обновил свой ответ., @Michel Keijzers
Зачем предлагать 70 IO Mega для управления 8 выходами?, @CrossRoads
@CrossRoads Только на тот случай, если ему нужно больше выходов ... для 8 это не нужно, но я знаю по опыту, что проекты могут легко расти., @Michel Keijzers
@MichelKeijzers Я был согласен с вами на случай, если это было неясно, я говорил, что физическая изоляция (реле) лучше, чем управлять им с помощью транзистора. Иметь оптопары на реле — это хорошо, но, вероятно, излишне для этих маленьких реле., @Chad G
@CrossRoads Видя, что ОП не купил плату и все еще изучал свои варианты (и не сказал, планировал ли он какую-то конкретную плату), можно предположить, что Мега не выходила за рамки. Одни только клапаны составляют 2/3 от IO Uno, и было бы логично, если бы он хотел добавить какие-то датчики или ручное управление в будущем., @Chad G
Выбор между Uno и Mega также зависит от flash/ram. В некоторых приложениях Uno 2k оперативной памяти может быть проблемой., @Andre Courchesne
@Chad Возможно, оптопары - это излишество, но эти универсальные модули настолько дешевы, что я не думаю, что это «лишнее» является проблемой., @Michel Keijzers
Да, Arduino может управлять восемью транзисторами.
Каждому соленоиду понадобится транзистор.
В идеале было бы использовать N-канальные полевые МОП-транзисторы логического уровня, которые могут напрямую управлять выходом Arduino 0/5V. Часто упоминается IRFL540, их можно найти на сайте digikey.com. Управляйте затвором через резистор 150 Ом и резистором 10 кОм от затвора до Gnd, чтобы транзистор был выключен, пока Arduino сбрасывается (и все контакты ввода-вывода возвращаются к входам).
В зависимости от текущего потребления вы можете использовать сдвиговый регистр с выходами Open Drain. TPIC6C595, 100 мА. TPIC6B595, 150 мА. TPIC6595 и TPIC6A595 рассчитаны на еще более высокие токи.
Добавьте диод с таким же номинальным током через катушку соленоида, катод к +24 В, чтобы всплеск тока, генерируемый катушкой при закрытии транзистора, имел место для рассеивания. (ток в катушке хочет продолжать течь, поскольку магнитное поле в катушке разрушается, он не может пройти через выключенный транзистор, поэтому он проходит через катушку и рассеивается на сопротивлении провода катушки).
это не электроника.stackexchange, @Juraj
Ваш комментарий не имеет смысла. Arduino, управляющий транзисторами, является основной функцией того, что он может делать., @CrossRoads
@Juraj, знание того, как подключить электронную часть системы к Arduino, является неотъемлемой частью выбора / использования устройств Arduino. С чего вы взяли, что это, возможно, не по теме SE?, @BunnyKnitter
почему бы не использовать релейные модули? или любой другой исполнительный механизм или датчик, который вы можете использовать в качестве модуля с поддерживающей схемой, припаянной на заводе с такими маленькими компонентами? Что он может сделать более специализированным для приложения, чем полочная релейная плата? вопросы не риторические. Очень хочу узнать в чем недостаток., @Juraj
Соленоиды, которые я недавно установил для своей ирригационной системы, питались от сети переменного тока напряжением 24 В, что сделало бы транзисторы MOSFET или BJT непригодными. В этом случае симистор может быть лучше., @Nick Gammon
Да, вам понадобится что-то для управления соленоидами на 24 В, потому что Arduino не может сделать это самостоятельно.
Я бы предпочел использовать устройство ULN2803, которое позволит вам управлять всеми этими восемью соленоидами (при условии, что они потребляют менее 500 мА или тока) и имеет встроенную защиту от скачков напряжения при отключении соленоида.
http://www.ti.com/lit/ds/symlink/uln2803a.pdf
Эти устройства доступны на eBay.
Программное обеспечение будет довольно простым для этого приложения и должно быть в пределах возможностей любого, кто читает учебник по Arduino.
Плата Arduino — это всего лишь микроконтроллер с элементами, необходимыми для его работы. Под вещами я подразумеваю такие элементы, как регулятор напряжения, обеспечивающий питание, генератор, обеспечивающий частоту для контроллера, контактные разъемы GPIO и т. д.
Это очень простое приложение, которое можно легко реализовать с помощью Arduino. Программирование не должно выполняться быстро. Вы делаете только одну вещь за раз.
Я нашел 8-канальный модуль реле, который должен делать то, что вам нужно. Вам понадобится четыре из них, но они стоят всего около 11 долларов за штуку. Я никогда раньше не пользовался этим устройством, поэтому не знаю, насколько хорошо оно работает, но характеристики кажутся правильными. Ими можно управлять практически с любого компьютера с выходными контактами, имеющими 5 вольт. Поэтому вам нужно использовать Arduino с выходными контактами 5 В.
Возможно, вам понадобится больше выходных контактов, чем у стандартного Arduino, но это достаточно легко сделать с версией Mega.
это не 24 клапана. это 8 клапанов 24В :-), @Juraj
Это делает его еще проще. Модуль, который я подключил, может выдерживать 30 В постоянного тока при 10 ампер. Он также может работать с переменным током до 250 В. А сейчас нужен только один., @NomadMaker
Есть 2 провода к соленоиду и 2 способа их использования:
1- При замыкании реле на выходе подается 24 В, а на обратных проводах — 0 В.
2- 24V Всегда гаснет, и реле может замкнуть обратный провод на 0 вольт.
В любом случае выполните тест 2, подключив провода к плате управления и вручную активировав соленоиды. Когда это сработает, добавьте управление реле Arduino, как предлагают другие.
Сохранение переключателей поможет, если вы хотите управлять соленоидом вручную ИЛИ подозреваете, что у вас сломано реле / соленоид.
Большинство ирригационных клапанов работают на переменном токе, обычно используя 24 В переменного тока при 250 мА (удвойте это значение до 500 мА для пускового тока). Лучший способ управлять ими - через симистор. Если вам нужна изоляция между вашим контроллером и напряжением лампы, лучше всего подойдет оптопара с симисторным выходом. Хорошим выбором, учитывая типичный ирригационный клапан, является Vishay VO3023: входной ток светодиода 5 мА и выходной ток 1 А и всего около 0,50 доллара за единицу. Триаки — довольно прочные устройства, в них нет движущихся частей, таких как реле, поэтому они достаточно надежны.
Альтернативный метод — использовать расширитель портов I2c, например PCF8574. Они доступны в виде разделительных плат. Путем выбора другого адреса I2C на каждой коммутационной плате можно управлять до 64 реле с помощью оптоизолированных релейных модулей. Таким образом, 64 выхода или входа всего с двумя контактами Arduino.
Вряд ли вам это нужно для 8, @Chris Stratton
- Как использовать SPI на Arduino?
- Как решить проблему «avrdude: stk500_recv(): programmer is not responding»?
- Как создать несколько запущенных потоков?
- Как подключиться к Arduino с помощью WiFi?
- avrdude ser_open() can't set com-state
- Как узнать частоту дискретизации?
- Что такое Serial.begin(9600)?
- Я закирпичил свой Arduino Uno? Проблемы с загрузкой скетчей на плату
это то, что вы действительно хотите? это отличается от орошения. «Каждый из них должен быть открыт примерно на 15 минут, затем открывать следующий клапан по порядку и, наконец, закрывать предыдущий клапан». .... последовательность должна быть абсолютно ясной в вашем уме, иначе будет трудно писать программа, которая делает то, что вы хотите., @jsotola
Это соленоиды переменного или постоянного тока? Я вижу, что многие ирригационные соленоиды работают на переменном токе., @Nick Gammon
Если это образовательное мероприятие: добро пожаловать. Если это то, что вам нужно сделать в разумные сроки, я рекомендую использовать существующие решения для орошения. Значительные затраты времени и средств требуются не только для программирования устройства, но и для выбора механизмов переключения и обеспечения их надежности в полевых условиях., @gatorback