Соленоиды в настоящее время находят широкое применение в качестве исполнительных механизмов в различных системах автоматизации. Существует много типов соленоидов, в частности, широко распространены соленоидные клапаны (Solenoid Valve – их еще называют электромагнитными клапанами), которые используются для управления потоками воды или газа в трубопроводах. Также соленоиды часто используются в таких привычных для нас устройствах как дверной звонок. В дверных звонках присутствует соленоидная обмотка, которая возбуждается переменным током из сети и тем самым заставляет небольшой стержень внутри звонка двигаться вверх и вниз. Этот стержень в процессе своего движения ударяет по металлической пластине и тем самым формируется звук звонка. Еще соленоиды широко используются в качестве стартеров в автомобилях и в качестве клапанов в системах обратного осмоса и противопожарных системах.
Ранее мы уже использовали соленоидный клапан в проекте автоматического дозатора воды на Arduino, в этой же статье мы рассмотрим подключение соленоидного клапана к плате Arduino более детально.
Как работает соленоидный клапан
Соленоид представляет собой устройство, которое преобразует электрическую энергию в механическую. Он имеет обмотку, намотанную на проводящий материал – эта система работает как электромагнит. Преимуществом электромагнита по сравнению с естественным магнитом является то, что его можно включить и выключить в любой момент при помощи подачи/отключения питания на обмотку. Поэтому, когда на обмотку подается питание, то в соответствии с законом Фарадея, проводник, по которому протекает электрический ток, формирует вокруг себя магнитное поле. В соленоиде формируется достаточно сильное магнитное поле, достаточное для того, чтобы намагнитить материалы и создать линейное движение.
В целом, принцип действия соленоида достаточно сильно похож на принцип действия реле. Когда на катушку соленоида подается питание она притягивает к себе проводящий материал (поршень), что позволяет течь потоку воды. Когда питание отключается, поршень возвращается в исходное положение и тем самым перекрывает поток воды.
Во время этих процессов катушка потребляет достаточно много тока, что приводит к проблемам гистерезиса (запаздывание фаз), характерным для подобных систем. В связи с этим невозможно управлять соленоидным клапаном непосредственно с помощью логической схемы. В нашем проекте мы будем использовать соленоидный клапан с питанием от 12V, который часто используется для управления потоками воды. При подаче питания соленоид потребляет около 700mA тока, а пиковое энергопотребление может достигать 1.2A – этот момент мы должны учитывать в нашей схеме.
Необходимые компоненты
- Плата Arduino Uno (купить на AliExpress).
- Соленоидный клапан (Solenoid Valve) (купить на AliExpress).
- IRF540 MOSFET (купить на AliExpress).
- Кнопка – 2 шт.
- Резисторы 100 кОм и 10 кОм (купить на AliExpress).
- Диод 1N4007 (купить на AliExpress).
- Макетная плата.
- Соединительные провода.
Реклама: ООО "АЛИБАБА.КОМ (РУ)" ИНН: 7703380158
Схема проекта
Схема подключения соленоидного клапана к плате Arduino Uno представлена на следующем рисунке.
Как видите, схема достаточно проста – в ней мы для управлением соленоидным клапаном использовали MOSFET транзистор.
Объяснение программы для Arduino
Полный код программы приведен в конце статьи, здесь же мы кратко рассмотрим его основные фрагменты.
В программе нам необходимо установить режим работы для контакта 9 на вывод данных (с него осуществляется управление соленоидным клапаном), а для контактов 2 и 3 установить режим работы на ввод данных – с них считываются состояния кнопок.
1 2 3 4 5 |
void setup() { pinMode(9, OUTPUT); pinMode(2, INPUT); pinMode(3, INPUT); } |
Затем в функции void loop мы будем включать и выключать соленоид в зависимости от состояния цифровых контактов 2 и 3.
1 2 3 4 5 6 7 8 9 10 11 12 |
void loop() { if(digitalRead(2)==HIGH) { digitalWrite(9,HIGH); delay(1000); } else if(digitalRead(3)==HIGH) { digitalWrite(9,LOW); delay(1000); } } |
Тестирование работы проекта
После сборки аппаратной части схемы и загрузки кода программы в Arduino вы сможете включать и выключать соленоидный клапан при помощи двух кнопок в схеме. Также для индикации включения соленоидного клапана в схеме используется светодиод. Более подробно все эти процессы показаны в видео, приведенном в конце статьи.
Когда нажата кнопка 1, Arduino подает сигнал высокого уровня (HIGH) на вывод затвора транзистора MOSFET IRF540, подключенного к контакту 9 платы Arduino. IRF540 представляет собой MOSFET транзистор с каналом N-типа, поэтому когда на его затвор подается напряжение высокого уровня, он открывается и включает соленоид.
Аналогичным образом, когда мы нажимаем кнопку 2, Arduino подает сигнал низкого уровня (LOW) на вывод затвора транзистора MOSFET IRF540, что приводит к выключению соленоида.
Исходный код программы (скетча)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
void setup() { pinMode(9, OUTPUT); pinMode(2, INPUT); pinMode(3, INPUT); } void loop() { if(digitalRead(2)==HIGH) { digitalWrite(9,HIGH); delay(1000); } else if(digitalRead(3)==HIGH) { digitalWrite(9,LOW); delay(1000); } } |
Такой вопрос, если соленойд работает на переменном напряжении, можно ли скоростью потока управлять отсекая полуволны семистором?
Теоретически можно, но тогда и схему проекта надо немного преобразовать
Преображение понятно, вопрос в другом, будет ли при отмене нескольких волн в действительно плавно на магните соленоида сила его давления меняться
К сожалению не знаю, не сталкивался не соленоидами переменного тока
Проведу эксперимент, напишу
Хорошо, успехов вам. Будем ждать