Arduino ile Hassas Peristaltik Pompa
Evet arkadaşlar sizlere bugün de www.instructables.com sitesinden çevirdiğim hassas Arduino ile peristaltik pompa projesini sunuyorum. Hepinize bol projeli günler :) RWTH Aachen'in farklı disiplinlerinden gelen bir öğrenci takımıyız. Üniversite'de bu projeyi 2017 iGEM yarışması bağlamında oluşturduk. Bu peristaltik pompayı, sıvıların taşınmasını gerektiren herhangi bir proje için genel olarak uygulanabilir sıvı taşıma çözümü olarak inşa ettik. Pompanız, olası uygulamaları en üst düzeye çıkarmak için çok çeşitli dozlama hacimleri ve akış oranları sağlayan hassas dozlama ve pompalama kapasitesine sahiptir. 125 dozaj deneyi sayesinde pompanızın doğruluğunu kanıtlayıp ölçebildik. 0,8 mm iç çapa sahip bir boru ve spesifikasyonlardaki herhangi bir akış veya dozlama hacmi için, ayarlanan değerden% 2'den daha fazla sapma gösterebiliriz. Ölçümlerin sonuçları göz önüne alındığında, kalibrasyon hızı gerekli akış oranına ayarlandığında doğruluk daha da geliştirilebilir. Pompa, yerleşik LCD ekran ve döner düğme üzerinden programlama bilgisi olmadan kontrol edilebilir. Ek olarak, pompa seri komutlarla USB üzerinden uzaktan kontrol edilebilir. Bu basit iletişim yolu, ortak yazılım ve programlama dilleriyle (MATLAB, LabVIEW, Java, Python, C #, vb.) Uyumludur. Pompanın üretimi basit ve ucuzdur, tüm parçaları bulabildiğimiz en ucuz benzer ticari çözüm için 100 $ 'dan dan 1300 $'a kadar değişiklik göstermektedir. 3 boyutlu bir yazıcının yanı sıra sadece ortak araçlara ihtiyaç vardır. Projemiz donanım ve yazılım açısından açık kaynaklıdır. 3D baskılı parçalar için CAD dosyalarını, gerekli tüm ticari bileşenlerin ve bunların kaynaklarının tam bir listesini ve pompanızda kullanılan kaynak kodunu sunuyoruz. Adım 1: Özellikleri Kontrol Edin
Aşağıda verilen doğruluk ve teknik özelliklerin kontrolünü yapın. Pompa gereksinimlerinizi karşılar mı? Discussion+of+Accuracyİndir Adım 2: Bileşenleri Toplayın
1x Arduino Uno R3 / uyumlu breadboard 1x Step motor (WxHxD): 42x42x41 mm, Mil (ØxL): 5x22 mm 1x Güç kaynağı 12 V / 3 A, konektör: 5.5 / 2.1 mm 1x Step motor sürücüsü A4988 1x LCD modül 16x2, (WxHxD): 80x36x13 mm 3x bilyeli rulman HK 0408 (IØ x OØ x L) 4 mm x 8 mm x 8 mm 1x Encoder 5 V, 0.01 A, 360 ° 1x Pompa hortumu, 1.6mm duvar kalınlığı, 0.2m 4x Ayak kendinden yapışkanlı (U x G x Y) 12,6 x 12,6 x 5,7 mm 3x Düz pim (Ø x L) 4 mm x 14 mm 1x Kontrol düğmesi (Ø x H) 16,8 mm x 14,5 mm 1x Potansiyometre / Düzeltici 10k 1x 220 Ohm Direnç 1x Kondansatör 47µF, 25V kablolama: 1x PCB (U x G) 80 mm x 52 mm, Kontak aralığı 2.54 mm (CS) 2x Pin şerit, düz, CS 2.54, nominal akım 3A, 36 pimli 1x Soket şeridi, düz, CS 2,54, nominal akım 3A, 40 pimli 1x Kablolar, farklı renkler (ör. Ø 2,5 mm, kesit 0,5 mm²) Isıyla daralan makaron (kablolar için uygundur, örneğin Ø 3 mm) Vidalar: 4x M3, L = 25 mm (kafasız uzunluk), ISO 4762 (altıgen başlı) 7x M3, L = 16 mm, ISO 4762 (altıgen başlı) 16x M3, L = 8 mm, ISO 4762 (altıgen başlı) 4x Küçük kılavuz vida (LCD için, Ø 2-2,5mm, L = 3-6 mm) 1 adet M3, L = 10mm başlı vida, DIN 916 1x M3, somun, ISO 4032 3D baskılı parçalar: (Thingiverse) 1x Case_main 2 x Case_side (3D baskı gerekli değil ) 1x Pump_case_bottom 1x Pump_case_top_120 ° 1x Bearing_mount_bottom 1x Bearing_mount_top Bill+of+Materialsİndir Adım 3: 3D Baskı Sonrası İşleme
Adım 4: Kablolar ve Kablolama
devrenin temeli Arduino ve perfboarddan oluşur. Perfboard üzerinde, step motor sürücüsü, LCD için trimmer, 47µF kondansatör ve çeşitli bileşenlerin güç kaynağı bağlantıları var. Arduino'yu güç düğmesiyle kapatmak için güç kaynağı kesildi ve Perfboard'a yönlendirildi. Bu amaçla, arduino üzerinde bulunan ve güç jakının hemen arkasında bulunan diyot, lehimlenerek yerine perfulağa yönlendirildi. Adım 5: Donanım Ayarları
Doğrudan devre üzerinde yapılması gereken üç ayar vardır. İlk olarak, A4988'deki küçük vidayı ayarlayarak, adım motor sürücüsünün akım sınırı ayarlanmalıdır. Örneğin, vida ve GND arasındaki V_ref, açık durumda 1V olduğunda, akım limiti iki kat değerindedir: I_max = 2A (kullandığımız değer budur). Akım ne kadar yüksek olursa, motorun torku ne kadar yüksek olursa, daha yüksek hızlara ve akış hızlarına izin verilir. Bununla birlikte, aynı zamanda güç tüketimi ve ısı gelişimi de artar. Ayrıca, step motorun modu, step motor sürücüsünün (MS1, MS2, MS3) sol üst tarafında bulunan üç pim vasıtasıyla ayarlanabilir. MS2, bağlantı şemasında gösterildiği gibi + 5V'de olduğunda, kullandığımız çeyrek adım modunda motor çalışır. Bu, step motor sürücüsünün STEP pimine aldığı dört atım için tam olarak bir adım (1.8 °) yapıldığı anlamına gelir. Ayarlanacak son değer olarak, perfboard üzerindeki düzeltici LCD'nin kontrastını ayarlamak için kullanılabilir. Adım 6: test devresi ve bileşenleri
Montajdan önce bileşenlerin ve devrenin bir breadboard üzerinde test edilmesi önerilir. Bu sayede olası hataları bulmak ve düzeltmek daha kolaydır. Önceden tüm fonksiyonları denemek için yazılımımızı Arduino'ya yükleyebilirsiniz. Kaynak kodunu GitHub'da yayınladık: https://github.com/iGEM-Aachen/Open-Source-Peristaltic-Pump Adım 7: Montaj https://www.youtube.com/watch?v=oR9y7O2mr_Q Video, bileşenlerin, kablolama olmadan amaçlanan sıradaki montajını göstermektedir. Tüm konektörler önce bileşenlere eklenmelidir. Kablolama, tüm bileşenlerin yerleştirildiği noktada yapılır, ancak yan duvarlar henüz sabitlenmemiştir. Vidalara ulaşılması zor bir hex anahtarı ile kolayca ulaşılabilir. Güç anahtarını ve kodlayıcıyı belirlenen deliğe yerleştirin ve kasaya sabitleyin. Kontrol düğmesini enkodere takın - dikkatli olun - düğmeyi bir kez bağladığınızda, tekrar çıkarmaya çalışırsanız kodlayıcıyı bozabilir.LCD ekranı küçük kılavuz vidalarla takın, montajdan önce rezistörün ve kablo bağlantısının lehimlenmesini sağlayın.Arduino Uno kartını 8 mm M3 vida kullanarak kasaya sabitleyin.Step motorunu takın ve dört adet 10 mm M3 vidayı kullanarak 3D baskılı parça (Pump_case_bottom) ile birlikte kasaya takın.Fanı, kasaya takın - tüm bileşenleri kablo şemasında gösterildiği gibi mıknatıs tahtasına lehimlediğinizden emin olun.Kasanın içindeki elektronik parçaları bağlayın.10x 8 mm M3 vidalar kullanarak yan panelleri ekleyerek kasayı kapatın.Yatak yuvasını videoda gösterildiği gibi monte edin ve 3 mm'lik vidayla motor miline takın.Son olarak, hortumu (Pump_case_top_120 °) iki adet 25 mm M3 vidayla tutturmak için sayaç desteğini takın ve boruyu takın. Boru işlemini pompa işlemi sırasında yerinde tutmak için iki adet 25 mm M3 vida takın. Adım 8: Hortum Ekleme https://www.youtube.com/watch?v=FVY1cF4h9LI Adım 9: Kullanıcı Arayüzü ile Tanıdık (manuel Kontrol)
Kullanıcı arayüzü peristaltik pompanın kapsamlı bir kontrolünü sağlar. LCD ekran, kontrol düğmesi ve güç anahtarından oluşur. Kontrol düğmesi döndürülebilir veya itilebilir. Düğmenin döndürülmesi farklı menü öğelerinden seçmeye izin verir, üst satırdaki menü öğesi şu anda seçilidir. Düğmeye basıldığında, yanıp sönen bir dikdörtgenle gösterilen seçili menü öğesi etkinleştirilir. Yanıp sönen dikdörtgen, menü öğesinin etkinleştirildiğini gösterir. Menü öğesi etkinleştirildikten sonra, seçilen öğeye bağlı olarak bir eylem başlar veya düğmeyi çevirerek karşılık gelen değerin değiştirilmesine izin verir. Sayısal bir değere bağlı tüm menü öğeleri için değeri sıfırlamak veya maksimum değerinin onda birine kadar artırmak için düğmeye basılabilir. Seçilen değeri ayarlamak ve bir menü öğesini devre dışı bırakmak için düğmenin ikinci kez itilmesi gerekir. Pompanın USB üzerinden bağlanması dışında, güç anahtarı pompayı ve tüm bileşenlerini (Arduino, step motor, step motor sürücüsü, LCD) derhal kapatır. Arduino ve LCD, USB ile güçlendirilebilir, böylece güç düğmesi bunları etkilemez. Pompalar menüsü aşağıda listelenen ve açıklanan 10 öğeye sahiptir: 0 | Başla Pompalamaya başladığınızda, çalışma modu “6” Modunda seçilen moda bağlı olarak değişir. 1 | Hacim Dozlama hacmini ayarlayın, sadece “6” Modunda “Doz” seçiliyse dikkate alınır ” 2 | V.Unit: Değer birimini ayarla, seçenekler: “ML”: mL “UL”: µL “Rot”: rotasyonlar (pompanın) 3 | Hız Akış oranını ayarlayın, sadece “6” Modunda “Doz” veya “Pompa” seçildiğinde dikkate alınır ” 4 | S.Unit: Değer birimini ayarla, seçenekler: “ML / dak”: mL / dak “UL / min”: µL / dak “Rpm”: dönüşler / dak 5 | Yön: Pompa yönünü seçin: saat yönünde “CW”, saat yönünün tersine “CCW” 6 | Modu: Çalışma modunu ayarla: “Doz”: seçili hacmini (1 | Hacim) başlatıldığında seçilen debi oranına (3 | Hız) dozajlayın. “Pompa”: başlatıldığında seçili akış hızında (3 | Hız) sürekli olarak pompalayın “Cal.”: Kalibrasyon, pompa başlatıldığında 30 saniyede 30 dönüş yapar 7 | Cal. Kalibrasyon hacmini mL olarak ayarlayın. Kalibrasyon için, pompa kalibrasyon modunda bir kez çalıştırılır ve pompalanan elde edilen kalibrasyon hacmi ölçülür. 8 | Yerleşim Kaydet. Tüm ayarları Arduino'nun EEPROM'una kaydedin, güç tekrar açıldığında güç kapatılırken ve yeniden yüklenirken değerler korunur 9 | USB Ctrl USB Kontrolünü Etkinleştir: Pompa, USB ile gönderilen seri komutlara tepki verir. Adım 10: Kalibrasyon ve Dozlamayı Deneyin https://www.youtube.com/watch?v=NVy3WyNFsjs Pompayı kullanmadan önce uygun bir kalibrasyon yapmak, hassas dozlama ve pompalama için çok önemlidir. Kalibrasyon, pompaya, dönüş başına ne kadar sıvı taşındığını söyleyecektir, böylece pompa, ayarlanan değerleri karşılamak için kaç dönüşe ve hangi hıza ihtiyaç duyulduğunu hesaplayabilir. Kalibrasyonu başlatmak için, “Cal.” Modunu seçin ve pompalamaya başlayın veya kalibrasyon komutunu USB üzerinden gönderin. Standart kalibrasyon döngüsü 30 saniyede 30 dönüş yapar. Bu döngü sırasında pompalanan sıvı hacmi (kalibrasyon hacmi) kesin olarak ölçülmelidir. Ölçümün, borulara yapışan damlalardan, tüpün kendisinin veya başka herhangi bir müdahalenin ağırlığından etkilenmediğinden emin olun. Kalibrasyon için bir mikrogram ölçeği kullanmanızı öneririz, çünkü sıvı miktarının hesaplanabilmesi için, eğer pompalanan sıvı miktarının yoğunluğu ve ağırlığı biliniyorsa. Kalibrasyon hacmini ölçtüğünüzde, “7 | Cal.” Menü maddesinin değerini ayarlayarak veya seri komutlarınıza ekleyerek pompayı ayarlayabilirsiniz. Lütfen, boru montajına veya basınç farkına kalibrasyondan sonra herhangi bir değişikliğin pompanın hassasiyetini etkileyeceğini unutmayın. Kalibrasyonu daima pompanın daha sonra kullanılacağı aynı koşullarda gerçekleştirmeye çalışın. Hortumu çıkarır ve tekrar pompaya takarsanız, konumlandırmada küçük farklar ve vidalara uygulanan kuvvet nedeniyle, kalibrasyon değeri% 10'a kadar değişecektir. Hortumun çekilmesi ayrıca konumlandırmayı ve dolayısıyla kalibrasyon değerini de değiştirecektir. Kalibrasyon basınç farkı olmadan yapılırsa ve pompa daha sonra başka bir basınçta sıvıları pompalamak için kullanılırsa, hassaslığı etkiler. Bir metrelik bir seviye farkının bile, 0,1 bar basınç farkı yaratabileceğini unutmayın, bu da pompa, 0,8 mm boru kullanarak en az 1,5 bar'lık bir basınca ulaşabilse bile, kalibrasyon değeri üzerinde küçük bir etkiye sahip olacaktır. Adım 11: Seri Arabirim - USB Üzerinden Uzaktan Kontrol Seri arayüz, Arduino’nun USB üzerinden seri haberleşme arayüzüne dayanmaktadır (Baud 9600, 8 veri biti, parite yok, bir stop biti). Seri bağlantı noktasına veri yazabilen herhangi bir yazılım veya programlama dili, pompa ile iletişim kurmak için kullanılabilir (MATLAB, LabVIEW, Java, python, C #, vb.). Pompanın tüm işlevlerine, ilgili komutun pompaya gönderilmesiyle erişilebilir, her komutun sonunda yeni bir satır karakteri '\ n' (ASCII 10) gereklidir. Doz: d (µL cinsinden hacim), (µL / dak cinsinden hız), (µL cinsinden kalibrasyon hacmi) '\ n' ör .: d1000,2000,1462 '\ n' (2 mL / dak'da 1 mL dozlama, kalibrasyon hacmi = 1.462mL) Pompa: p (µL / dak cinsinden hız), (µL cinsinden kalibrasyon hacmi) '\ n' ör .: p2000, 1462 '\ n' (2mL / dk'da pompa, kalibrasyon hacmi = 1.462mL) Kalibre: c '\ n' Dur: x '\ n' Arduino ortamı (Arduino IDE), seri verileri okuyabilen ve yazabilen dahili bir seri monitöre sahiptir, bu nedenle seri komutlar yazılı bir kod olmaksızın test edilebilir. Adım 12: Deneyimlerinizi Paylaşın ve Pompayı Geliştirin
Teşekkürler arkadaşlar şimdilik bu kadar. Tekrar görüşmek dileğiyle... Read the full article













