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