Автоматические машины для розлива чаще всего используются в производстве напитков. Эти машины используют конвейерную ленту, которая является экономичным и быстрым способом наполнения бутылок. В основном ПЛК используются для автоматических разливочных машин, но вы можете сделать очень простой и универсальный наполнитель бутылок, используя Arduino. Вы можете запрограммировать Arduino на автоматическое обнаружение бутылки или другой емкости с помощью инфракрасного или ультразвукового датчика и позволить наполнить бутылку, остановив конвейерную ленту на некоторое время. Затем снова машина переместит ремень и остановится, когда будет обнаружена следующая бутылка.

Сегодня мы собираемся разработать прототип автоматической машины для розлива с использованием Arduino Uno, конвейерной ленты, электромагнитного клапана, инфракрасного датчика и шагового двигателя.
Ленточный конвейер приводится в движение шаговым двигателем с постоянной заданной скоростью. Шаговый двигатель будет продолжать движение ремня, пока ИК-датчик не обнаружит наличие бутылки на ремне. Мы использовали ИК-датчик в качестве внешнего триггера. Поэтому, когда ИК-датчик обнаруживает объект, он посылает в Arduino сигнал, чтобы остановить двигатель и включить электромагнитный клапан. Заданная необходимая задержка уже введена в код для заполнения бутылки. Arduino будет держать электромагнитный клапан включенным и шаговый двигатель выключенным до указанного времени. По истечении этого времени электромагнитный клапан отключает наполнение, и конвейер начинает двигаться, так что следующая бутылка может быть заполнена в дальнейшем.
Принципиальная схема автоматической системы наполнения бутылок с использованием Arduino приведена далее.

В этой схеме электромагнитный клапан подключен к Arduino через модуль реле, а модуль драйвера A4988 используется для управления шаговым двигателем. Входной контакт модуля реле подключен к контакту 7 Arduino. Контакты направления и шага модуля A4988 подключены к 2 и 4 контактам Arduino. В этом проекте ИК-датчик используется в качестве источника внешнего прерывания для Arduino. В Arduino Uno цифровые контакты 2 и 3 являются контактами прерывания, поэтому подключите выходной вывод ИК-датчика к третьему контакту Arduino. Электромагнитный клапан питается от источника питания 24 В, а шаговый двигатель питается от источника питания 12 В. Вся структура проекта внешне может выглядеть следующим образом.

Код программы для Arduino довольно прост и представлен следующим образом:
#include <Stepper.h>
#define STEPS 200
#define motorInterfaceType 1
Stepper stepper(STEPS, 2, 4);
int relay=7;
int step_num =700;
void setup() {
Serial.begin(9600);
pinMode(relay,OUTPUT);
stepper.setSpeed(500);
pinMode(4,OUTPUT);
pinMode(2,OUTPUT);
attachInterrupt(digitalPinToInterrupt(3),IR_detected,RISING);
}
boolean solenoid_on = false;
void loop() {
if (solenoid_on)
{
delay(6000); // ждем 6 секунд
solenoid_on = false;
}
digitalWrite(relay,LOW); // теперь реле выключено (и двигатель во включенном состоянии)
stepper.step(step_num);
}
void IR_detected() // Функция прерывания выполняется, когда ИК-датчик срабатывает
{
Serial.println ("Interrupt Detected");
stepper.step(150); // запустить шаговый двигатель за несколько шагов до его остановки
digitalWrite(relay,HIGH); // включить соленоид
stepper.step(0); // остановить шаговый двигатель
solenoid_on = true;
}
Теперь, наконец, загрузите код в Arduino, подключив его к ноутбуку или ПК. На изображении ниже показан наш прототип автоматической системы наполнения бутылок с использованием Arduino.

© digitrode.ru