Ни для кого не секрет, что проекты, построенные на базе контроллеров Arduino могут охватить широкий спектр задач. Нередко встречаются и такие, где есть необходимость перекачки воды по какому-либо хитрому алгоритму. Если объем жидкости, с которым предстоит работать не превышает разумных пределов, то для ее перемещения волне подойдет удобный и небольшой насос-помпа RS-360SH.
Обзор RS-360SH
RS-360SH представляет собой насос шестеренчатого типа, в котором движение воды создаётся посредством вращения двух шестерен (ведущей и ведомой). Внешний вид помпы показан на рисунке №1.Рисунок №1 - внешний вид мотора-помпы RS-360SH
В целом, конструкцию насоса можно разделить на две основных части: электродвигатель и непосредственно сама помпа, которая является разборной. Чтобы добраться до ее “внутреннего мира”, необходимо открутить 4 болта, удерживающих верхнюю крышку герметичного картриджа. На рисунке №2 представлена помпа в разобраном виде.Рисунок №2 - помпа без верхней крышки
Как видно из рисунка, насос содержит уплотнительное резиновое кольцо и две шестерни. Чёрная закреплена на валу электродвигателя и является ведущей. Белая шестерня уложена в свободном пространстве и входит в зацепление с ведущей таким образом, чтобы вращение происходило в противоположные стороны. Тем самым создаются условия для движения воды, физика которых отражена на нижеследующем рисунке №3.Рисунок №3 - принцип работы шестеренчатого насоса
Для того чтобы вовсе отсоединить двигатель он секции насоса необходимо открутить два крепежных болта, расположенных внутри герметичного контейнера и снять оставшуюся часть картриджа. Мотор-помпа в полностью разобранном состоянии показан на рисунке №4Рисунок №4 - мотор-помпа в разобранном состоянии
С обратной стороны пластикового картриджа можно наблюдать резиновый сальник, не дающий воде проникать в сторону обмотки мотора. Сальник, шестерни и уплотнительное кольцо покрыты тонким слоем силиконовой смазки, дополнительно защищающей от возможной протечки.Технические характеристики RS-360SH
Из технических характеристик миниатюрного водяного насоса-помпы RS-360SH можно выделить следующие:● Диапазон питающего напряжения: 3V - 12V;
● Номинальное напряжение: 7.2V;
● Средняя производительность: 1 литр - 75 сек. (при питании 6V);
● Расход воды: 30 л/ч;
● Диаметр входного и выходного патрубков: 4 мм;
● Давление воды: 0.15 bar (при питании 12V);
● Диаметр двигателя: 27мм;
● Высота даигателя: 52мм;
● Общий размер: 65х44мм;
● Материал: металл + пластик;
● Вес: 75гр.
Подключение насоса-помпы RS-360SH к плате Arduino
Управление насосом RS-360SH ничем не отличается от управления обычным электродвигателем постоянного тока. Естественно, прямое подключение помпы к выводу Arduino понесёт за собой массу неприятностей, связанных с выходом контроллера из строя. Поэтому в качестве промежуточного звена между Arduino и насосом целесообразно использовать либо реле, либо полевой транзистор, как показано на рисунке №5Рисунок №5 - варианты подключения насоса к Arduino
Следует обратить внимание, что при подключении помпы необходимо обязательно соблюдать полярность питания. Возле одной из клемм двигателя положительный контакт обозначен красной точкой!!!Также следует помнить, что несмотря на свои скромные размеры электродвигатель довольно прожорлив и требует хорошего источника питания. На рисунке №6 показана спецификация на электромотор RS-360SH из которой видно потребление среднее потребление тока.
Рисунок №6 - спецификация двигателя RS-360SH
Включение и выключение насоса исходя из вышеприведенных схем, выполняется всего-лишь парой команд микроконтроллера. В качестве примера, ниже приведён скетч, запускающий и останавливающий работу помпы с периодом в 1 секунду. #define PIN_MOTOR 13 // Управление насосом будет через пин 13 Arduino void setup() { pinMode(PIN_MOTOR, OUTPUT); // Настройка на выход пина для насоса } void loop() { digitalWrite(PIN_MOTOR, HIGH); // Включаем насос delay(1000); // Пауза 1 сек. digitalWrite(PIN_MOTOR, LOW); // Выключаем насос delay(1000); // Пауза 1 сек. }
Пример использования
Мотора-помпа RS-360SH может применятся в многочисленных проектах. Вот несколько простых примеров:● система автополива домашних растений;
● система водяного охлаждения;
● моделирование;
● рыбоводство;
● система регулировки уровня жидкости и т.п.
Для того чтобы проверить мотор-помпу RS-360SH в деле, создадим небольшой проект, который будет представлять собой систему первичного пожаротушения. Идея проекта заключается в следующем: плата Arduino Nano при помощи инфракрасного датчика пламени будет постоянно контролировать наличие огня в зоне видимости фотодиода. Как только огонь будет обнаружен, Arduino включит реле и тем самым подаст питание на мотор-помпу. Тот в свою очередь направит струю воды в предполагаемую область возгорания. Мотор будет качать воду до того момента, пока датчик будет регистрировать огонь. На рисунке №7 изображена схема будущего проекта.
Рисунок №7 - Схема пожарной сигнализации
Чтобы корректно определять наличие пламени, необходимо понять, какие показания выдаёт датчик в той или иной ситуации. Для этого необходимо загрузить в Arduino следующий скетч: #define PIN_FIRE_SENSOR A0 // Пин, к которому подключен датчик пламени void setup() { Serial.begin(9600); // Настраиваем монитор порта pinMode(PIN_FIRE_SENSOR, INPUT); // Настраиваем на вход пин для датчика огня } void loop() { Serial.println(analogRead(PIN_FIRE_SENSOR)); // Считываем показания с датчика delay(500); }
Данная программа будет выводить в монитор порта показания датчика огня каждые 0,5 секунды. Если неподалёку зажечь спичку, то можно увидеть как изменяются важные для нас цифры. На рисунке №8 показан результат моих измерений, согласно которому при отсутствии пламени датчик возвращает число 1023, а при наличии - 31 или 32. В дальнейшем мы используем эти данные для основного скетча. Следует обратить внимание что для разных типов датчиков показания могут немного отличаться. Рисунок №8 - вывод в монитор порта показаний датчика огня
Теперь, когда неизвестных величин не осталось, можно составить основной скетч проекта, который приведён ниже: #define PIN_FIRE_SENSOR A0 // Пин, к которому подключен датчик пламени #define PIN_RELAY_MOTOR 12 // Пин, к которому подключено реле управления мотором bool isFire = false; // Флаг, контролирующий наличие огня void setup() { Serial.begin(9600); pinMode(PIN_FIRE_SENSOR, INPUT); // Пин для датчика огня настраиваем на вход pinMode(PIN_RELAY_MOTOR, OUTPUT); // Пин для насоса настраиваем на выход digitalWrite(PIN_RELAY_MOTOR, LOW); // Насос по-умолчанию выключен } void loop() { int adc = analogRead(PIN_FIRE_SENSOR); // Читаем показания с датчика огня // Проверяем наличие пламени if(adc < 50) isFire = true; else isFire = false; // Принимаем решение о необходимости тушения digitalWrite(PIN_RELAY_MOTOR, isFire); }
Вот таким нехитрым способом можно собрать подобие пожарной сигнализации с функцией автоматического тушения.FAQ. Часто задаваемые вопросы
Вопрос: Какой ток потребляет помпа при напряжении 5В и какая для этого напряжения производительность?Ответ: При напряжении 5 В потребляет 2,1 А и качает 9 мл/с. При напряжении 6 В потребляет 2,5 А и качает 11 мл/с.
Вопрос: Как они будет себя вести насос при температурах, близких к температуре кипения?
Ответ: Насос не годится для работы с жидкостями при таких температурах.
Вопрос: Можно ли насос подключить через драйвер L298N?
Ответ: Можно, но нецелесообразно. Лучше использовать просто реле или MOSFET. Из практических наблюдений бістро нагревается микросхема драйвера.
Вопрос: Данный насос можно использовать для закачки воды в небольшой гидравлический цилиндр (например медицинский шприц на 50 кубиков)? Чтобы по итогу тот мог своим поршнем поднимать вес примерно 2кг?
Ответ: Скорее всего не хватит напора насоса…
Вопрос: Можно ли опускать данній насос полностью в воду?
Ответ: Нет. Насос не является погружным.