Автомати для розливу пляшок найчастіше використовуються у виробництві напоїв та безалкогольних напоїв. У цих машинах використовується конвеєрна стрічка, яка є економічним та швидким способом наповнення пляшок. В основному PLC використовуються для автоматичних машин для розливу пляшок, але ви можете зробити дуже простий і універсальний наповнювач для пляшок, використовуючи Arduino. Ви можете запрограмувати Arduino на автоматичне виявлення пляшки за допомогою ІЧ-сигналу або ультразвукового датчика і дозволити наповнювачу розливу, зупинивши конвеєрну стрічку на деякий час. Потім знову перемістіть ремінь і зупиніться, коли буде виявлено наступну пляшку.
Тут ми плануємо розробити прототип машини для автоматичного розливу пляшок із використанням Arduino Uno, конвеєрної стрічки, електромагнітного клапана, ІЧ-датчика та крокового двигуна. Стрічковий конвеєр приводиться в рух кроковим двигуном з постійною заданою швидкістю. Кроковий двигун продовжуватиме керувати ременем, доки ІЧ-датчик не виявить наявність пляшки на ремені. Ми використовували ІЧ-датчик як зовнішній тригер. Отже, коли ІЧ-датчик піднімається високо, він посилає на Arduino тригер для зупинки двигуна та включення електромагнітного клапана. Попередньо встановлена необхідна затримка вже введена в код для наповнення пляшок. Arduino утримуватиме електромагнітний клапан увімкненим, а кроковий двигун вимкненим до зазначеного часу. Після цього електромагнітний клапан вимикає наповнення, і конвеєр починає рухатися, щоб можна було наповнити наступну пляшку.
Раніше ми використовували Arduino з електромагнітним клапаном, інфрачервоним датчиком та кроковим двигуном, тому, щоб дізнатись більше про базову взаємодію Arduino з цими компонентами, ви можете відвідати посилання.
Потрібні компоненти
- Arduino Uno
- Кроковий двигун (Nema17)
- Естафета
- Соленоїдний клапан
- ІЧ-датчик
- A4988 Водій двигуна
- Акумулятор
Кругова діаграма
Схема автоматичної системи наповнення пляшок за допомогою Arduino наведена нижче.
U
Я використав Fritzing для складання принципової схеми. У цій схемі електромагнітний клапан підключається до Arduino через модуль реле, а модуль драйвера A4988 використовується для управління кроковим двигуном. Ви можете дотримуватися інструкції з керування Nema17 за допомогою підручника Arduino та A4988, щоб отримати додаткову інформацію про модуль драйверів Nema17 та A4988.
Вхідний штифт модуля реле підключений до виводу 7 Arduino. Виводи напряму та кроку модуля A4988 підключені до 2 та 4 висновків Arduino. У цьому проекті ІЧ-датчик використовується як зовнішнє переривання для Arduino. В Arduino Uno цифрові виводи 2 і 3 є виводами переривання, тому підключіть вихідний штифт ІЧ-датчика до 3- го виводу Arduino. Електромагнітний клапан живиться від джерела живлення 24 В, а кроковий двигун - від джерела живлення 12 В.
Програма Arduino для автоматичного наповнення пляшок
Повна програма для цієї автоматичної системи наповнення пляшок за допомогою Arduino подана в кінці. Тут я пояснюю деякі важливі рядки.
Запустіть програму, включивши бібліотеку крокових двигунів. Ви можете завантажити бібліотеку крокових двигунів звідси.
Після цього визначте кількість кроків на оберт для крокового двигуна. Для NEMA 17 кроків за оборот - 200.
#включати
Вкажіть штирі, до яких підключені кроки та напрямок штифтів модуля драйвера двигуна. Оскільки двигун підключений через модуль драйвера, визначте тип інтерфейсу двигуна як Тип1 .
Степпер кроковий (КРОКИ, 2, 4); #define motorInterfaceType 1
Встановіть швидкість крокового двигуна.
stepper.setSpeed (500);
Визначте виводи реле, кроку та напрямку як вихідні
pinMode (реле, ВИХІД); pinMode (4, ВИХІД); pinMode (2, ВИХІД);
Синтаксис зовнішнього переривання в Arduino наведено нижче:
attachInterrupt (digitalPinToInterrupt (pin), ISR, режим);
Де:
digitalPinToInterrupt (pin): Він використовується для визначення контакту, до якого підключено зовнішнє переривання. У Arduino Uno Pin 2 & 3 є зовнішні виводи переривання.
ISR: Це функція, яка викликається при виклику зовнішнього переривання.
Режим: тип переходу для спрацьовування, наприклад, падіння, підйом тощо.
Дізнайтеся більше про переривання Arduino за посиланням.
У функції attachInterrupt () зазначено, що контакт 3 є зовнішнім контактом переривання, а функція IR_detected викликається, коли ІЧ-датчик змінює свій стан з LOW на HIGH (RISING).
attachInterrupt (digitalPinToInterrupt (3), IR_detected, HIGH);
void IR_detected () - це функція ISR, яка виконується, коли ІЧ-датчик піднімається високо. Отже, коли ІЧ-датчик піднімається високо, ця функція запускає кроковий двигун на кілька кроків, а потім зупиняє кроковий двигун і вмикає електромагнітний клапан.
void IR_detected () {stepper.step (150); digitalWrite (реле, HIGH); stepper.step (0);
Тепер нарешті завантажте код на Arduino, підключивши його до ноутбука. На зображенні нижче показано наш прототип автоматичної системи наповнення пляшок за допомогою Arduino.
Повний код та демонстраційне відео наведено нижче.