İçindekiler:

Arduino için Robotik Filament Dispenseri: 8 Adım (Resimlerle)
Arduino için Robotik Filament Dispenseri: 8 Adım (Resimlerle)

Video: Arduino için Robotik Filament Dispenseri: 8 Adım (Resimlerle)

Video: Arduino için Robotik Filament Dispenseri: 8 Adım (Resimlerle)
Video: Amazing arduino project 2024, Temmuz
Anonim
Image
Image

Neden motorlu bir alet

3D yazıcıların filamenti - genellikle neredeyse sağlamdır - rulo yazıcının yakınına yerleştirilirken ekstrüder tarafından çekilir, serbestçe döner. 1Kg filament rulolarda kullanım seviyesine bağlı olarak malzeme davranışında anlamlı farklılıklar gözlemledim. Yeni (dolu) bir filament makarası neredeyse iyi akar ancak ekstrüder tarafından uygulanan kuvvet nispeten uygun olmalıdır: ağırlık en az 1,5 Kg'dır.

Ekstrüder motoru (çoğu durumda bir Nema17 stepper) işi yapmak için yeterli güce sahiptir, ancak ekstrüderin iki dişlisi, çalışırken filamenti sıcak uç tarafına iter, uygulanan kuvvetler nedeniyle filament parçacıklarını toplar; bu, memenin tıkanmasını önlemek için sık sık ekstrüder bakımı gerektirir. Bu parçacıklar, beslenirken temiz filamentten ayrılma ve karışma eğilimi gösterir, bu da meme sorunlarını ve daha sık meme aşınmasını artırır; bu, 0,3 mm çaplı nozullarda daha sık meydana gelir.

Filament rulosu yarı veya daha fazla kullanıldığında spiralleri küçülür ve bazı çevresel koşullarda filament çok sık kırılma eğilimi gösterir. Uzun yazdırma işleri daha az güvenilir ve stresli hale gelir; Yazıcıyı kontrol etmeden bütün bir gece tek başına çalışır durumda bırakamam. Böylece, bir dizi sorunu çözen motor figürleri ile filament beslemesini kontrol etmek.

Kit Tindie.com'da mevcuttur

Adım 1: Kit İçeriği

Kit İçeriği
Kit İçeriği
Kit İçeriği
Kit İçeriği

Kit, motorlu filament dağıtıcıyı monte etmek için tüm 3D baskılı parçaları ve mekanikleri içerir. Bunun yerine iki isteğe bağlı parça vardır: motor ve motor kontrol kartı.

Kurulumumda 12 V McLennan dişli fırçalı motor kullandım ancak dişli 37 mm çapındaki herhangi bir motor, motor desteğinin içine tam olarak sığabilir.

En iyi performanslara Infineon'un TLE94112LE Arduino kalkanı ile ulaşılır (burada tam inceleme); Bu DC motor kontrol kartı, aynı anda 6 farklı robotik dispenser kitini destekleyebilir.

Tüm sistemi hem Arduino UNO R3 hem de Infineon'un Arduino uyumlu XMC1100 Boot kitinde test ettim ve sistem her iki mikro denetleyici kartına da çok iyi yanıt verdi.

TLE94112LE kalkanının kullanılması önerilir ancak zorunlu değildir. Arduino için herhangi bir DC motor kontrolörü - kendi projeniz dahil! - bu araçla iyi çalışabilir

Kit, iki parça birlikte çalışmak üzere inşa edildiğinden iki bileşen grubuna bölünmüştür. Taban platformu, dört serbest tekerlek yatağı üzerinde dönen filament rulosunu destekleyecektir. Taban, aktivasyonunu tetikleyen döner mekanizmayı kontrol etmek ve ayrıca filament koşullarını (ağırlık, metre ve yüzde) izlemek için ağırlık sensörüne sabitlenmiştir. Arduino'dan bir seri terminal aracılığıyla birçok bilgiye ve eksiksiz bir komut setine erişilebilir.

İhtiyacınız olan araçlar

Montajı tamamlamak için bazı parçalar için sağlam bir plastik yapıştırıcıya, bir tornavidaya ve bir dizi Allen vidasına ihtiyacınız var.

Adım 2: Proje ve Tasarım

Proje ve Tasarım
Proje ve Tasarım
Proje ve Tasarım
Proje ve Tasarım
Proje ve Tasarım
Proje ve Tasarım

Bu proje, 3D yazıcı filament dağıtıcı serisinin üçüncü evrimidir Bir süre önce, 3D yazıcı ekstrüderi tarafından çekildiğinde filamentin akışını optimize etmek için döner tabanı oluşturdum.

İkinci model, bir Arduino kartı ile filament kullanımını gerçek zamanlı olarak izlemek için bir ağırlık sensörü içeriyordu. Bu son proje, 3D yazıcı işinin ihtiyaçlarına bağlı olarak filamentin otomatik olarak serbest bırakılmasını içerir. Ekstrüder filamenti çekmeye başladığında sanal ağırlık değişimine dayanır. Bu olay, mikro denetleyiciyi ağırlık sensörü aracılığıyla tetikler ve motorlu filament rulosu birkaç inç malzeme bırakmaya başlar, ardından yavaşlar ve durur.

Bileşenler STL formatında dışa aktarıldı ve 3D yazdırıldı, ardından rafine edildi ve bir araya getirildi. Hareket kısmını tabana hizalamak için özel bir destek oluşturdum. Daha uzun Alüminyum ray, tüm aleti kompakt ve kolay hareket ettirmek için Arduino'yu ve motor kalkanını desteklemek için de kullanıldı.

Tasarımı oluştururken bir dizi varsayımı takip ettim:

  • Otomatikleştirilmiş motoru neredeyse basit ve yeniden üretilmesi kolay hale getirmek
  • Bunu yapmak için 3D yazdırılabilir olmayan bileşenlerin sayısını mümkün olduğunca azaltın
  • Baskı sırasında ekstrüdere uygulanan stresi mümkün olduğunca azaltın
  • Düşük maliyetli ve programlanması kolay bir mikro denetleyici kartı kullanın
  • Filament tüketimini ve filament beslemesini kontrol altında tutmak için ağırlık yük sensörünü kullanın Filament ağırlık ölçümlerine müdahale eden çevresel gürültüyü yönetin

ulaştığım sonuç bu.

Adım 3: Tabanın Montajı

Tabanın Montajı
Tabanın Montajı
Tabanın Montajı
Tabanın Montajı
Tabanın Montajı
Tabanın Montajı

İlk adım, tabanı ağırlık sensörüyle birleştirmektir.

  1. Küçük yatak ekseni borusunu yatak deliğine yerleştirin
  2. İki ayırıcı diski yatağın kenarlarına koyun
  3. Delikleri hizalayarak "U" boyutlu yatak desteği içindeki bileşenleri tanıtın
  4. Alyan vidayı bir tarafa ve rondelayı ve somunu diğer tarafa sokun ve çok fazla çaba harcamadan somunu kapatın

İşlemi dört yatak desteğinin tamamında tekrarlamalısınız. Ardından montajı test edin: yataklar serbestçe dönmelidir.

Şimdi, dört düzenleme deliği ile üst tabandaki dört yatak desteğini Allen vidalarıyla sabitleyin. Rulman desteklerini paralel tutmak için hizalayın. Filament rulolarınızın genişliğine bağlı olarak mesafeyi ayarlayın.

Bir sonraki adım, alt ve üst tabanı bir arada tutan ağırlık sensörü çubuğunu monte etmektir. Ağırlık sensörünün her iki tarafında iki farklı Alyan vidası vardır ve onu, taban doğru yerleştirildiğinde maksimum ağırlık etiketi okunabilecek şekilde yönlendirmeniz gerekir. Alt taban, ağırlık sensörü A/D amplifikatörünü sabitlemek için iki ekstra yan deliğe sahiptir. HX711 IC tabanlı amplifikatöre güç verilecek ve ekli sensör veri sayfasında gösterildiği gibi dört kablo aracılığıyla Arduino kartına bağlanacaktır.

Son adım, komple üst tabanı, zaten alt kısma sabitlenmiş olan ağırlık sensörünün üzerine monte etmektir.

İlk bileşen kuruldu!

Adım 4: Makara Hareketli Motor Parçalarının Montajı

Makara Hareketli Motor Parçalarının Montajı
Makara Hareketli Motor Parçalarının Montajı
Makara Hareketli Motor Parçalarının Montajı
Makara Hareketli Motor Parçalarının Montajı
Makara Hareketli Motor Parçalarının Montajı
Makara Hareketli Motor Parçalarının Montajı

Makara hareketi motorunu monte etmenin daha kolay prosedürü, en önemli dört bileşeni ayrı ayrı monte etmek ve ardından nihai yapıyı tamamlamaktır:

Motor şanzıman kutusundaki dişli DC motor

DC motor, yapı desteğinin orta kısmına monte edilmelidir; motoru vidalamadan önce, motoru tutan iki kolu ve tahrik edilen büyük dişliyi doğru bir şekilde hizalamak için dişli tarafını nereye koyacağınıza tercih ettiğiniz tarafın ne olacağına karar vermelisiniz.

Tahrik edilen büyük dişli

Büyük dişli, dört Allen vidası ile kesik konik blok ile vidalanmalıdır. Bu dişli, dönen eksende somunlarla bloke edilecektir; konik kısım, diğer bir kesik konik bloğun içinde benzer bir kilit somunu ile diğer tarafa kilitlenen filament makarasını tutacaktır. Bu çözüm sadece hareket mekanizmasını yerinde tutmakla kalmaz, tüm ağırlığı tabana yönlendirir ve sistemin dara ağırlığıdır.

Makara kilidi tutucusu

Bu, tahrik edilen dişli ile birlikte benzer kilitleme tarafının hareket mekanizmasını filament makarasına tutacağı kesik konik bloktur. İncelik olarak, iki kol desteği diğer tarafta hareket etmekte serbestken, yapıyı tamamlayan filament rulodur.

Resimlerde görüldüğü gibi makara kilit tutucusu iki parça halinde yapılmıştır. Önce M4 somunu bloğun büyük kısmına yerleştirin, ardından ikinci parçayı (kapak) blokları bir arada tutarak yapıştırın. Somun, dişli tahrikli eksene vidalanacak olan kilit tutucunun içinde hapsedilmiş halde kalır.

Rulman kutusu

Rulman kutusunun iki işlevi vardır: şanzıman dişlilerine iyi bir destek ve yumuşak ve sessiz bir hareket sağlar. Rulman kutusunu monte etmek için şu kolay adımları izleyin:

  1. İlk M4 somunu dişli makara tutucu tahrikli eksenin iki ucundan birine vidalayın
  2. İlk yatağı yerleştirin
  3. Ayırıcıyı yerleştirin
  4. İkinci yatağı yerleştirin
  5. İkinci somunu vidalayın ve orta derecede kilitleyin. Dahili plastik ayırıcı, şeyleri uzun süre kullanım için de yerinde tutmak için yeterli güce karşı çıkacaktır.
  6. Monte edilmiş yatakları yatak kutusuna yerleştirin. Daha iyi sonuçlar elde etmek için zorla yapılmalıdır, bu nedenle plastik parçaları incelerken kutunun içini çok fazla genişletmeyin.

Son bileşen montajı için hazırız!

Adım 5: Hareket Motorunun Montajını Tamamlama

Hareket Motorunun Montajının Tamamlanması
Hareket Motorunun Montajının Tamamlanması
Hareket Motorunun Montajının Tamamlanması
Hareket Motorunun Montajının Tamamlanması
Hareket Motorunun Montajının Tamamlanması
Hareket Motorunun Montajının Tamamlanması

Yapı montajını bitirmek üzereyiz, ardından test hareketine geçebiliriz. Şimdi tekrar birkaç yapıştırıcıya ihtiyacınız var. Önceki adımda monte edilen yatak kutusu, iki kollu motor desteğinin kutu tutucu deliğine yerleştirilmeli ve kutu kapağını vidalamadan önce muhtemelen yapıştırılmalıdır.

Uyarı: Kutu kapağını yapıştırmayın, sadece vidalayın. Kapak, toza karşı koruma için önemlidir ve gelecekteki herhangi bir bakım işlemi için çıkarılabilir olmalıdır.

Bu kurulum tamamlandığında, tahrik edilen dişliyi (daha büyük olan) eklemeden önce küçük ayırıcı halkayı ekleyin: büyük dişliyi motor dişlisi ile hizalı tutar ve tahrik edilen hareketli aksamı sabitlemek için bir pul görevi görür.

Ardından tahrik dişlisini (küçük olan) motor miline yerleştirin. DC motor tarafından tahrik edilen dişlinin dönmesini sağlamak için motorda ve dişli merkez deliğinde düz bir taraf olduğuna dikkat edin.

Son adım, büyük tahrik dişlisini resimlerde gösterildiği gibi yerleştirin ve iki M4 somunla dişli eksene kilitleyin.

Mekanik bina tamamlandı!

Adım 6: Bonus: Kiti Yönetmek için Desteği Nasıl Özelleştirdim

Bonus: Kiti Yönetmek için Desteği Nasıl Özelleştirdim
Bonus: Kiti Yönetmek için Desteği Nasıl Özelleştirdim
Bonus: Kiti Yönetmek için Desteği Nasıl Özelleştirdim
Bonus: Kiti Yönetmek için Desteği Nasıl Özelleştirdim
Bonus: Kiti Yönetmek için Desteği Nasıl Özelleştirdim
Bonus: Kiti Yönetmek için Desteği Nasıl Özelleştirdim

Kiti yerinde tutmak için hem tabanı hem de hareket yapısını desteklemek için iki Alüminyum kare boruya dayalı çok basit bir yapı yaptım. Taban, iki raya (yaklaşık 25 cm uzunluk) dört vidayla sabitlendi ve birkaç küçük 3D baskılı destekle, filament rulosunun takılmasını ve çıkarılmasını kolaylaştırmak için hareket motorunu hareket ettirilebilecek şekilde sabitledim.

Tezgahının nasıl organize edildiğine bağlı olarak herkes kendi çözümünü seçebilir.

Adım 7: Kablolama ve Arduino'ya Bağlanma

Image
Image
Arduino'ya Kablolama ve Bağlantı
Arduino'ya Kablolama ve Bağlantı

Kit içeriği adımında açıklandığı gibi, Arduino için bir Infineon TLE94112LE DC motor kalkanı kullandım ve motoru hem Arduino UNO R3 hem de Infineon XMC110 Boot Kit üzerinde test ettim.

Motoru (PWM özelliklerine ihtiyacınız var) seçtiğiniz bir DC kontrol kartı ile kontrol edecekseniz, talimatları blendajınızın teknik özelliklerine uyarlamanız yeterlidir.

TLE04112LE Arduino Shield hakkında bir not

Arduino için diğer motor kontrol kalkanlarında yaşadığım sınırlardan biri, aynı mikro denetleyicinin (yani PWM ve GPIO pinleri) özelliklerini kullanmaları; bu, diğer kullanımlar için yalnızca birkaç başka kaynak (MPU ve GPIO) mevcutken, panonuzun bu görevlere tahsis edildiği anlamına gelir.

Yol testi için TLE94122LE Arduino kalkanına el koyma imkanına sahip olan, kartın temel aldığı IC'nin en belirgin avantajı tam olmasıdır. Arduino kartı, kalkanla yalnızca iki pin kullanarak SPI protokolü aracılığıyla iletişim kurar. Kalkana gönderdiğiniz her komut, MPU kaynaklarını tüketmeden TLE94112LE IC tarafından otonom olarak işlenir. Infineon kartının bir diğer dikkat çekici özelliği, programlanabilir üç PWM kanalı ile altı adede kadar fırçalı motoru kontrol etme imkanıdır. Bu, Arduino'nun bir veya daha fazla motor kurabileceği, onları başlatabileceği ve diğer görevler üzerinde çalışmaya devam edebileceği anlamına gelir. Bu kalkan, aynı anda altı farklı filament rulosunu desteklemek için mükemmel olduğunu ortaya çıkardı, hareket MPU'nun sorumlu görevlerinden sadece biri. 5 Euro'dan daha az bir fiyata her bir filament kontrol cihazında.

ağırlık sensörü

Bazı deneyler yaptıktan sonra, tüm sistemi - izleme ve otomatik besleme - tek bir sensörle kontrol etmenin mümkün olduğunu gördüm; bir yük hücresi (ağırlık sensörü), ihtiyacımız olan tüm bilgileri sağlayan filament makarası ağırlık varyasyonlarını dinamik olarak ölçebilir.

Yük hücresi sensörlerini yönetmek için özel bir IC olan HX711 AD Amplifier'ı temel alan küçük bir kartla birlikte 0-5 Kg aralığında ucuz bir yük hücresi kullandım. İyi çalışan bir Arduino kütüphanesi mevcut olduğu için arayüz sorunları yoktu.

Donanımı ayarlamak için üç adım

  1. Kalkanı Arduino kartının veya Infineon XMC110 Önyükleme Kitinin üstüne yerleştirin
  2. Motor kablolarını blendajın Out1 ve Out2 vidalı konektörlerine bağlayın
  3. HX711 AD ağırlık sensörü amplifikatöründen gelen gücü ve sinyalleri Arduino pinlerine bağlayın. Bu durumda 2 ve 3 numaralı pinleri kullandım ancak tüm serbest pinler iyi durumda.

Uyarı: P ins 8 ve 10, SPI bağlantısı için TLE94113LE kalkanı tarafından ayrılmıştır

Bu kadar! Yazılımı kurmaya hazır mısınız? Devam etmek.

Adım 8: Yazılım ve Kontrol Komut Seti

Yazılım ve Kontrol Komut Seti
Yazılım ve Kontrol Komut Seti
Yazılım ve Kontrol Komut Seti
Yazılım ve Kontrol Komut Seti
Yazılım ve Kontrol Komut Seti
Yazılım ve Kontrol Komut Seti
Yazılım ve Kontrol Komut Seti
Yazılım ve Kontrol Komut Seti

Belgeli yazılımın tamamı GitHub deposu 3DPrinterFilamentDispenserAndMonitor'dan indirilebilir.

burada sadece en anlamlı kısımları ve kontrol komutlarını ele alıyoruz.

Arduino UNO'daki mevcut pin sayısının dayattığı bir sebep var, sistemi USB seri terminali üzerinden kontrol etmeye karar verdim; Her motorlu ünite bir ağırlık sensörüne dayandığından, altı farklı filament dağıtıcıyı kontrol etmek için altı ağırlık sensöründen veri okunması gerekir. Her yük hücresi iki pini "tüketir", pin 0 ve 1 seri için ayrılmıştır (Tx/Rx) ve pin 8 ve 10 TLE94112LE blendajını bağlayan SPI kanalı için ayrılmıştır.

Sistem durumu

Kontrol yazılımı, filament.h'de tanımlanan dört farklı durum üzerinden çalışır:

#define SYS_READY "Hazır" // Sistem hazır

#define SYS_RUN "Çalışıyor" // Filament kullanımda #define SYS_LOAD "Yükle" // Rulo yüklendi #define SYS_STARTED "Başladı" // Uygulama başladı // Durum kodları #define STAT_NONE 0 #define STAT_READY 1 #define STAT_LOAD 2 #define STAT_RUN 3

Durum: Başladı

Bu durum, bir donanım sıfırlamasından sonra veya sistem açıldığında ortaya çıkar. Açılış (ve çizim başladığında kurulum() çağrısı) dahili varsayılan değerleri başlatır ve başlatma dizisinin bir parçası olarak platformda ekstra ağırlık olmadan başlatılmalıdır, fiziksel sıfır ağırlığa ulaşmak için mutlak daranın edinilmesidir..

Durum: Hazır

Hazır durumu, yazılım sıfırlamasından (seri terminalden gönderilir) sonra gerçekleşir. Fiziksel rezeksiyona benzer ancak dara hesaplanmaz; reset komutu sistem çalışırken de başlatılabilir.

Durum: Yükle

Yük durumu, terminal tarafından yük komutu gönderildiğinde oluşur. Bu, filament rulosunun yüklendiği ve dinamik daranın hesaplandığı anlamına gelir. Tam filament ağırlığı, motor ünitesinin ve boş rulonun ağırlığının çıkarılmasıyla elde edilen rulo kurulumu türünden elde edilir.

Durum: Çalışıyor

Bu durum, otomatik ağırlık hesaplamasını ve otomatik filament dağıtıcısını etkinleştirir.

Terminal mesajları

Yazılımın mevcut sürümü, komutlara bağlı olarak insan tarafından okunabilir mesajları terminale döndürür. Dize mesajları iki başlık dosyasında tanımlanır: commands.h (komutla ilgili mesajlar ve yanıtlar) ve filament.h (ayrıştırıcı tarafından bileşik mesajlar oluşturmak için kullanılan dizeler).

Komutlar

Komut yönetiminde iki farklı dosya yer alır: tüm komutları ve ilgili parametreleri içeren commands.h ve ağırlıklandırma sistemi ve ayrıştırıcı tarafından kullanılan tüm sabitleri ve tanımları içeren filament.h.

Dahili hesaplamalar yazılım tarafından otomatik olarak yapılırken, sistemin davranışını ayarlamak ve bazı parametreleri manuel olarak kontrol etmek için bir dizi komut uyguladım.

Komut anahtar sözcükleri büyük/küçük harf duyarlıdır ve yalnızca terminalden gönderilmelidir. Bir komut mevcut durumuna uygun değilse, tanınmazsa yanlış komut mesajı döndürülür, aksi takdirde komut yürütülür.

Durum komutları

Sistemin mevcut durumunu değiştirin ve davranış da uyarlanır

filament komutları

Ayrı komutlar kullanarak, bugün piyasada mevcut olan en yaygın ağırlık ve boyutlara dayalı olarak filament ve rulo özelliklerini ayarlamak mümkündür.

Birim komutları

Bunlar, ölçü birimlerinin gram veya santimetre olarak görselleştirilmesini ayarlamak için kullanılan birkaç komuttur. Nitekim bu komutları ortadan kaldırmak ve verileri her zaman her iki birimde temsil etmek mümkündür.

Bilgi komutları

Sistem durumuna bağlı olarak bilgi gruplarını göster

Motor komutları

Filament besleme veya çekme için motoru kontrol edin.

Tüm motor komutları bir hızlanma/yavaşlama yolunu takip eder. Feed ve pull iki komutu, motor.h'de FEED_EXTRUDER_DELAY sabiti tarafından tanımlandığı gibi kısa bir dizi yürütürken, feedc ve pullc komutları bir durdurma komutu alınana kadar süresiz olarak çalışır.

Çalıştırma modu komutları

Çalışma durumu iki modu kabul eder; mode man sadece periyodik olarak ağırlığı okur ve motor hareket edene kadar bir motor kontrol komutu gönderilmez. Otomatik mod, ekstrüder daha fazla filamana ihtiyaç duyduğunda bunun yerine iki besleme komutu yürütür.

İlke, bu özel ortama göre bağlamsallaştırılmış ağırlık okumalarına dayanmaktadır. Filament tüketiminin nispeten yavaş olmasını, 3D yazıcıların neredeyse yavaş olmasını ve normal ağırlık salınımlarının ortamdaki titreşime bağlı olmasını bekliyoruz (tüm malzemeyi 3D yazıcıya koymazsanız daha iyi olur)

Ekstrüder filamenti çektiğinde, ağırlık farkı çok kısa sürede, tipik olarak iki veya üç okuma arasında önemli ölçüde artar (50 g veya daha fazla). Bu bilgi, yeni filamentin gerekli olduğunu "çıkaran" yazılım tarafından filtrelenir. Yanlış okumaları önlemek için motor çalışırken ağırlık değişimleri hiç dikkate alınmaz.

Uygulama mantığı

Uygulama mantığı,.ino ana dosyasında (Arduino çizimi) üç işlev boyunca dağıtılır: setup(), loop() ve parseCommand(commandString)

Taslak iki ayrı sınıf kullanır: Tüm filament hesaplamalarını yönetmek için FilamentWeight sınıfı ve HX711 IC aracılığıyla sensör okuması ve TLE94112LE Arduino kalkanının düşük seviyeli yöntemlerini arayüzleyen MotorControl sınıfı.

kurmak()

Açılışta veya bir donanım sıfırlamasından sonra bir kez başlatıldı, sınıfların örneklerini başlatın, donanımı ve terminal iletişimini kurun.

döngü()

Ana döngü işlevi üç farklı koşulu yönetir.

Ağırlık sensörü ve motorlar için nispeten karmaşık iki sınıf olsa da, ortaya çıkan çizimin anlaşılması ve yönetilmesinin gerçekten kolay olması avantajı vardır.

  1. Ekstrüderin daha fazla filamente ihtiyacı olup olmadığını kontrol edin (otomatik modda)
  2. Motor çalışıyorsa donanım hatalarını kontrol edin (TLE94112LE tarafından döndürülür)
  3. Kullanılabilir seri veriler varsa, komutu ayrıştırın

parseCommand(commandString)

Ayrıştırma işlevi, seriden gelen dizeleri kontrol eder ve bir komut tanındığında hemen işlenir.

Her komut, sistemin bazı parametrelerini etkileyen bir durum makinesi gibi davranır; bu mantığı izleyerek tüm komutlar üç ardışık eyleme indirgenir:

  1. FilamentWeight sınıfına (ağırlık komutları) veya MotorControl sınıfına (motor komutları) bir komut gönderin
  2. Ağırlık değerlerini güncellemek veya dahili parametrelerden birini güncellemek için bir hesaplama yürütür
  3. Yürütme tamamlandığında terminalde ve bilgi çıktısında göster

HX711 Arduino kitaplığını kurun, yazılımı GitHub'dan indirin ve Arduino kartınıza yükleyin, ardından keyfini çıkarın!

Önerilen: