Automatické stroje na plnenie fliaš sa najčastejšie používajú v priemysle nápojov a nealkoholických nápojov. Tieto stroje používajú dopravný pás, ktorý predstavuje ekonomický a rýchly spôsob plnenia fliaš. Pre stroje na automatické plnenie fliaš sa väčšinou používajú PLC, ale pomocou Arduina môžete vyrobiť veľmi základnú a všestrannú výplň fliaš. Arduino môžete naprogramovať tak, aby automaticky detekovalo fľašu pomocou infračerveného alebo ultrazvukového senzora a umožnilo plniacemu automatu naplnenie zastavením dopravného pásu na určitý čas. Potom znova pohnite pásom a zastavte, keď sa zistí ďalšia fľaša.
Tu navrhneme prototyp automatického plniaceho stroja na fľaše pomocou Arduino Uno, dopravného pásu, elektromagnetického ventilu, infračerveného senzora a krokového motora. Pásový dopravník je poháňaný krokovým motorom konštantnou nastavenou rýchlosťou. Krokový motor bude pokračovať v jazde po páse, kým IR senzor nezistí prítomnosť fľaše na páse. IR senzor sme použili ako externú spúšť. Takže kedykoľvek IR senzor stúpne vysoko, pošle spúšťač Arduinu, aby zastavil motor a zapol solenoidový ventil. Prednastavené požadované oneskorenie je už zadané v kóde na plnenie fľaše. Arduino ponechá elektromagnetický ventil zapnutý a krokový motor vypnutý až do stanoveného času. Po uplynutí tejto doby solenoidový ventil vypne plnenie a dopravník sa začne pohybovať, aby bolo možné naplniť ďalšiu fľašu.
Predtým sme používali Arduino so solenoidovým ventilom, IR senzorom a krokovým motorom, takže ak sa chcete dozvedieť viac informácií o základnom prepojení Arduina s týmito komponentmi, môžete navštíviť odkazy.
Súčasti sú povinné
- Arduino Uno
- Krokový motor (Nema17)
- Relé
- Elektromagnetický ventil
- IR senzor
- Vodič motora A4988
- Batéria
Schéma zapojenia
Schéma zapojenia pre systém automatického plnenia fliaš pomocou Arduina je uvedená nižšie.
Zloženie: 100% bavlna.
Použil som Fritzinga na nakreslenie schémy zapojenia. V tomto obvode je solenoidový ventil pripojený k Arduinu cez reléový modul a budiaci modul A4988 sa používa na riadenie krokového motora. Môžete sledovať tutoriál Ako ovládať Nema17 pomocou Arduina a A4988, kde nájdete ďalšie informácie o ovládačovom module Nema17 a A4988.
Vstupný pin modulu relé je pripojený k pinu 7 Arduina. Kolíky Direction a Step modulu A4988 sú pripojené k 2 a 4 pinom Arduina. V tomto projekte sa infračervený senzor používa ako externé prerušenie Arduina. V Arduino Uno sú digitálne vývody 2 a 3 prerušovacími vývodmi, takže pripojte výstupný vývod IR snímača k 3. vývodu Arduina. Elektromagnetický ventil je napájaný zdrojom energie 24 V a krokový motor je napájaný zdrojom 12V.
Program Arduino na automatické plnenie fliaš
Celý program pre tento systém automatického plnenia fliaš pomocou Arduina je uvedený na konci. Tu vysvetľujem niekoľko dôležitých riadkov.
Spustite program zahrnutím knižnice krokových motorov. Knižnicu krokových motorov si môžete stiahnuť tu.
Potom pre krokový motor definujte počet krokov na otáčku. Pre NEMA je 17 krokov na otáčku 200.
#include
Zadajte kolíky, ku ktorým sú pripojené kolíky kroku a smeru modulu ovládača motora. Pretože je motor pripojený cez budiaci modul, definujte typ rozhrania motora ako Type1 .
Stepper stepper (STEPS, 2, 4); #define motorInterfaceType 1
Nastavte otáčky krokového motora.
stepper.setSpeed (500);
Definujte kolíky relé, kroku a smeru ako výstup
pinMode (relé, VÝSTUP); pinMode (4, VÝSTUP); pinMode (2, VÝSTUP);
Syntax externého prerušenia v Arduine je uvedená nižšie:
attachInterrupt (digitalPinToInterrupt (pin), ISR, režim);
Kde:
digitalPinToInterrupt (pin): Používa sa na definovanie kolíka, ku ktorému je pripojené externé prerušenie. V Arduino Uno Pin 2 a 3 sú externé prerušovacie piny.
ISR: Je to funkcia, ktorá sa volá, keď sa volá externé prerušenie.
Režim: Typ prechodu, ktorý sa má spustiť, napr. Pád, stúpanie atď.
Viac informácií o prerušeniach Arduina sa dozviete po kliknutí na tento odkaz.
Vo funkcii attachInterrupt () je špecifikované, že pin 3 je externý prerušovací pin a funkcia IR_detected je volaná vždy, keď IR senzor zmení svoj stav z LOW na HIGH (RISING).
attachInterrupt (digitalPinToInterrupt (3), IR_detected, HIGH);
void IR_detected () je funkcia ISR, ktorá sa vykoná, keď IR senzor stúpne. Takže kedykoľvek sa IR senzor zvýši, táto funkcia spustí krokový motor na niekoľko krokov, potom zastaví krokový motor a zapne elektromagnetický ventil.
void IR_detected () {stepper.step (150); digitalWrite (relé, VYSOKÉ); stepper.step (0);
Teraz konečne nahrajte kód do Arduina pripojením k notebooku. Nasledujúci obrázok zobrazuje náš prototyp systému automatického plnenia fliaš pomocou Arduina.
Kompletný kód a ukážkové video sú uvedené nižšie.