Otomatik Şişe Dolum Makineleri en çok içecek ve meşrubat endüstrilerinde kullanılmaktadır. Bu makineler, şişeleri doldurmanın ekonomik ve hızlı bir yolu olan bir taşıma bandı kullanır. Otomatik şişe doldurma makineleri için çoğunlukla PLC'ler kullanılır, ancak bir Arduino kullanarak çok basit ve çok yönlü bir şişe doldurucu yapabilirsiniz. Arduino'yu IR veya ultrasonik sensör kullanarak şişeyi otomatik olarak algılayacak şekilde programlayabilir ve şişeleyicinin taşıma bandını bir süre durdurarak dolmasına izin verebilirsiniz. Ardından kayışı tekrar hareket ettirin ve bir sonraki şişe algılandığında durun.
Burada Arduino Uno, konveyör bant, solenoid valf, IR sensörü ve Step motor kullanarak Otomatik Şişe Dolum Makinesi için bir prototip tasarlayacağız. Bantlı konveyör, sabit bir hızda kademeli motor tarafından tahrik edilir. Kademeli motor, bir IR sensörü kayışta bir şişe olduğunu algılayana kadar kayışı sürmeye devam edecektir. IR sensörünü harici tetikleyici olarak kullandık. Bu nedenle, IR sensörü her yükseldiğinde, motoru durdurmak ve solenoid valfi açmak için Arduino'ya bir tetikleyici gönderir. Şişe doldurma koduna önceden ayarlanmış gerekli gecikme zaten girilmiştir. Arduino, belirtilen zamana kadar solenoid valfi açık ve step motoru kapalı tutacaktır. Bu sürenin sonunda solenoid valf dolumu kapatır ve konveyör bir sonraki şişenin doldurulabilmesi için hareket etmeye başlar.
Daha önce Solenoid valf, IR Sensörü ve Step motorlu Arduino kullandık, bu nedenle Arduino'nun bu bileşenlerle temel arayüzleri hakkında daha fazla bilgi edinmek için bağlantıları ziyaret edebilirsiniz.
Gerekli Bileşenler
- Arduino Uno
- Step Motor (Nema17)
- Röle
- Selenoid vana
- IR Sensörü
- A4988 Motor Sürücüsü
- Batarya
Devre şeması
Arduino kullanan Otomatik Şişe Dolum Sistemi için devre şeması aşağıda verilmiştir.
Devre şemasını çizmek için Fritzing'i kullandım. Bu devrede Solenoid Valf, Röle modülü aracılığıyla Arduino'ya bağlanır ve step motoru kontrol etmek için A4988 sürücü modülü kullanılır. Nema17 ve A4988 sürücü modülü hakkında daha fazla bilgi için Arduino ve A4988 ile Nema17 Nasıl Kontrol Edilir eğitimini takip edebilirsiniz.
Röle modülünün giriş pini Arduino'nun 7. pinine bağlanır. A4988 modülünün Yön ve Adım pinleri Arduino'nun 2 ve 4 pinlerine bağlanır. Bu projede, Arduino'ya harici bir kesinti olarak bir IR sensörü kullanılır. Arduino Uno'da dijital pin 2 ve 3 kesinti pinleridir, bu nedenle IR sensörünün Out pinini Arduino'nun 3. pinine bağlayın. Solenoid Valf, 24V güç kaynağı ile çalıştırılır ve Step motor, 12V güç kaynağı ile çalışır.
Otomatik Şişe Dolumu için Arduino Programı
Arduino kullanan bu Otomatik Şişe Dolum Sistemi için eksiksiz program sonunda verilmiştir. Burada bazı önemli satırları açıklıyorum.
Step motor kitaplığını ekleyerek programı başlatın. Step motor kitaplığını buradan indirebilirsiniz.
Bundan sonra, step motor için devir başına adım sayısını tanımlayın. NEMA için devir başına 17 adım 200'dür.
#Dahil etmek
Motor sürücü modülünün Adım ve Yön pinlerinin bağlı olduğu pinleri belirtin. Motor sürücü modülü aracılığıyla bağlandığından, motor arayüz tipini Tip1 olarak tanımlayın.
Adımlayıcı adımlayıcı (ADIMLAR, 2, 4); #define motorInterfaceType 1
Step motor hızını ayarlayın.
stepper.setSpeed (500);
Röle, adım ve yön pinlerini çıkış olarak tanımlayın
pinMode (röle, ÇIKIŞ); pinMode (4, ÇIKIŞ); pinMode (2, ÇIKIŞ);
Arduino'daki harici kesintinin sözdizimi aşağıda verilmiştir:
attachInterrupt (digitalPinToInterrupt (pin), ISR, mode);
Nerede:
digitalPinToInterrupt (pin): Harici kesmenin bağlı olduğu pini tanımlamak için kullanılır. Arduino Uno Pin 2 & 3'de harici kesme pinleridir.
ISR: Harici bir kesme çağrıldığında çağrılan bir işlevdir.
Mod: Tetiklenecek geçiş türü, örneğin düşme, yükselme vb.
Bağlantıyı takip ederek Arduino Kesintileri hakkında daha fazla bilgi edinin.
Gelen attachInterrupt () işlev Pin3 dış kesme pimi olduğunu ve belirtilen IR_detected IR sensör (yükselen) düşükten yükseğe bir mesafede faz değiştirir zaman fonksiyonu olarak adlandırılır.
attachInterrupt (digitalPinToInterrupt (3), IR_detected, HIGH);
void IR_detected () , IR sensörü yükseldiğinde yürütülen bir ISR işlevidir. Bu nedenle, IR sensörü yükseldiğinde, bu işlev kademeli motoru birkaç adım çalıştırır ve ardından kademeli motoru durdurur ve solenoid valfi açar.
void IR_detected () {stepper.step (150); digitalWrite (röle, YÜKSEK); stepper.step (0);
Şimdi nihayet kodu dizüstü bilgisayara bağlayarak Arduino'ya yükleyin. Aşağıdaki resim, Arduino kullanan Otomatik Şişe Doldurma Sistemi için prototipimizi göstermektedir .
Tam kod ve tanıtım videosu aşağıda verilmiştir.