Mündəricat:

Arduino üçün Robotik Filament Dağıtıcı: 8 Addım (Şəkillərlə birlikdə)
Arduino üçün Robotik Filament Dağıtıcı: 8 Addım (Şəkillərlə birlikdə)

Video: Arduino üçün Robotik Filament Dağıtıcı: 8 Addım (Şəkillərlə birlikdə)

Video: Arduino üçün Robotik Filament Dağıtıcı: 8 Addım (Şəkillərlə birlikdə)
Video: Canlı Yayında Muhteşem Ürünler... (TinyLab, Kafa Büyüteci, Filament Algılama Sensörü, Dimmer...) 2024, Iyul
Anonim
Image
Image

Niyə motorlu bir alət

3D printerlər filamenti - adətən demək olar ki, möhkəmdir - rulon döndərmək üçün printerin yaxınlığında yerləşdirilərkən ekstruder tərəfindən çəkilir. 1Kq filament rulonlarına istinad edilən istifadə səviyyəsindən asılı olaraq material davranışında əhəmiyyətli fərqlər müşahidə etdim. Yeni (tam) filament makarası demək olar ki, yaxşı axır, lakin ekstruderin tətbiq etdiyi qüvvə nisbətən uyğun olmalıdır: çəkisi ən az 1,5 Kq -dır.

Ekstruder mühərriki (əksər hallarda Nema17 pilləsi) işi yerinə yetirmək üçün kifayət qədər gücə malikdir, lakin işləyərkən filamanı isti tərəfə itələyən ekstruderin iki dişli, tətbiq olunan qüvvələr sayəsində filament hissəciklərini toplayır; burun tıkanmasının qarşısını almaq üçün tez -tez ekstruderə qulluq tələb olunur. Bu hissəciklər qidalanma zamanı təmiz filamentdən ayrılmağa və qarışmağa meyllidir, burun problemlərini və daha tez -tez burun aşınmasını artırır; 0.3 mm diametrli nozzle bu daha tez -tez baş verir.

Filament rulonu yarı və ya daha çox istifadə edildikdə onun spiralləri kiçilir və bəzi ətraf mühit şəraitində filament çox tez qırılır. Uzun çap işləri daha az etibarlı və stresli olur; Yazıcıyı nəzarət etmədən bütün gecə tək işləyə bilərəm. Beləliklə, bir sıra problemləri həll edən motor fiqurları ilə filament qidalanmasını idarə etmək.

Kit Tindie.com saytında mövcuddur

Addım 1: Kitin məzmunu

Kit Tərkibi
Kit Tərkibi
Kit Tərkibi
Kit Tərkibi

Kitə, bütün 3D çaplı hissələr və motorlu filament dispenserini yığmaq üçün mexanika daxildir. Bunun əvəzinə iki əlavə hissə var: motor və motor nəzarət lövhəsi.

Quruluşumda 12 V McLennan dişli fırçalanmış bir motor istifadə etdim, ancaq 37 mm diametrli hər hansı bir motor, motor dəstəyinin içərisinə düzgün otura bilər.

Ən yaxşı performanslara Infineon tərəfindən TLE94112LE Arduino qalxanı ilə çatılır (tam baxış burada); bu DC motor nəzarət lövhəsi eyni vaxtda 6 fərqli robot dispenser dəstini dəstəkləyə bilər.

Bütün sistemi həm Arduino UNO R3, həm də Arduino ilə uyğun gələn XMC1100 Boot dəstində Infineon tərəfindən sınadım və sistem həm mikro nəzarət lövhələri ilə çox yaxşı cavab verdi.

TLE94112LE qalxanının istifadəsi tövsiyə olunur, lakin vacib deyil. Arduino üçün hər hansı bir DC motor nəzarətçisi - öz layihəniz daxil olmaqla! - bu alətlə yaxşı işləyə bilər

Birlikdə işləmək üçün iki hissədən ibarət olduğu üçün dəst iki komponentə bölünür. Əsas platforma, dörd sərbəst təkərli rulman üzərində fırlanan filament rulonunu dəstəkləyəcək. Baza, aktivləşdirilməsini tetikleyen fırlanan mexanizmi idarə etmək və filament şərtlərini izləmək üçün çəki sensoruna sabitlənmişdir: çəki, metr və faiz. Bir çox məlumat və tam bir əmr dəsti, Arduino -dan serial terminal vasitəsilə əldə edilə bilər.

Lazım olan alətlər

Montajı başa çatdırmaq üçün bəzi hissələr üçün möhkəm plastik yapışqan, tornavida və Allen vintlər dəsti lazımdır.

Addım 2: Layihə və Dizayn

Layihə və Dizayn
Layihə və Dizayn
Layihə və Dizayn
Layihə və Dizayn
Layihə və Dizayn
Layihə və Dizayn

Bu layihə, 3D printer filament dispenser seriyasının üçüncü təkamülüdür Bir neçə dəfə əvvəl, 3D printer ekstruder tərəfindən çəkildikdə filaman axını optimallaşdırmaq üçün fırlanan baza yaratdım.

İkinci model, Arduino lövhəsi ilə filaman istifadəsini real vaxtda izləmək üçün bir çəki sensoru ilə təchiz edilmişdir. Bu son layihə, 3D printer işinin ehtiyaclarından asılı olaraq filamentin avtomatik buraxılmasını ehtiva edir. Ekstruder filamenti çəkməyə başlayanda virtual çəki dəyişikliyinə əsaslanır. Bu hadisə, çəki sensoru vasitəsilə mikro nəzarətçini işə salır və motorlu filament rulonu bir neçə düymlük material buraxmağa başlayır, sonra yavaşlayır və dayanır.

Komponentlər STL formatında ixrac edilib və 3D çap edilib, sonra təmizlənib birlikdə yığılıb. Hərəkət hissəsini bazaya uyğunlaşdırmaq üçün xüsusi bir dəstək yaratdım. Bütün aləti kompakt etmək və hərəkət etmək asanlaşdırmaq üçün daha uzun alüminium dəmir yolu Arduino və motor qalxanı dəstəkləmək üçün istifadə edilmişdir.

Dizayn yaradarkən bir sıra fərziyyələrə əməl etdim:

  • Avtomatlaşdırılmış mühərriki demək olar ki, sadə və çoxaldır
  • Bunu etmək üçün 3D olmayan çap edilə bilən komponentlərin sayını mümkün qədər azaldın
  • Çap edərkən ekstruderə tətbiq olunan stressi mümkün qədər azaldın
  • Aşağı qiymətli və proqramlaşdırılması asan mikro nəzarətçi lövhəsindən istifadə edin
  • Filament istehlakını və filament qidalanmasını nəzarət altında saxlamaq üçün çəki yük sensöründən istifadə edin. Filamentin çəki ölçülərinə mane olan ətraf səs -küyünü idarə edin

Əldə etdiyim nəticə budur.

Addım 3: Baza yığılması

Baza yığılması
Baza yığılması
Baza yığılması
Baza yığılması
Baza yığılması
Baza yığılması

İlk addım, çəki sensoru ilə bazanı yığmaqdır.

  1. Kiçik rulman ox borusunu rulman çuxuruna daxil edin
  2. İki ayırıcı diski yatağın tərəflərinə qoyun
  3. Delikləri uyğunlaşdıran "U" ölçülü rulman dəstəyi içərisindəki komponentləri təqdim edin
  4. Allen vidasını bir tərəfə, yuyucunu və qozunu digər tərəfə qoyun və çox səy göstərmədən qozu bağlayın

Əməliyyatı dörd daşıyıcı dəstəyin hamısında təkrarlamalısınız. Sonra montajı sınayın: rulmanlar sərbəst dönməlidir.

İndi Allen vintləri ilə dörd tənzimləmə çuxuru olan üst bazadakı dörd daşıyıcı dayağı düzəldin. Rulman dayaqlarını paralel saxlamaq üçün hizalayın. Filament rulonlarınızın genişliyindən asılı olaraq məsafəni tənzimləyin.

Növbəti addım, alt və üst bazanı tutan çəki sensoru çubuğunun yığılmasıdır. Ağırlıq sensörünün hər iki tərəfində iki fərqli Allen vintləri var və onu düzgün istiqamətləndirməlisiniz ki, baza düzgün yerləşdirildikdə maksimum çəki etiketi oxunsun. Alt baza, çəki sensoru A/D gücləndiricisini düzəltmək üçün iki əlavə yan çuxura malikdir. HX711 IC -ə əsaslanan gücləndirici, əlavə edilmiş sensor məlumat vərəqində göstərildiyi kimi dörd tel vasitəsilə Arduino lövhəsinə qoşulacaq.

Son addım, artıq alt hissəyə sabitlənmiş çəki sensoru üzərində tam üst bazanın yığılmasıdır.

İlk komponent quruldu!

Addım 4: Makaralı Hərəkət Mühərrik hissələrinin yığılması

Makara Hərəkəti Mühərrik hissələrinin yığılması
Makara Hərəkəti Mühərrik hissələrinin yığılması
Makara Hərəkəti Mühərrik hissələrinin yığılması
Makara Hərəkəti Mühərrik hissələrinin yığılması
Makara Hərəkəti Mühərrik hissələrinin yığılması
Makara Hərəkəti Mühərrik hissələrinin yığılması

Makaralı mühərrikin yığılmasının daha asan proseduru ən vacib dörd komponenti ayrı -ayrılıqda yığmaq və sonra son binanı tamamlamaqdır:

Motor ötürücü qutusundakı dişli DC mühərriki

DC mühərriki struktur dəstəyinin mərkəzi hissəsinə quraşdırılmalıdır; Mühərriki bağlamadan əvvəl, mühərriki tutan iki qolu və idarə olunan böyük ötürücünü düzgün şəkildə hizalamaq üçün dişli tərəfini hara qoyacağınıza qərar verməlisiniz.

İdarə olunan böyük dişli

Böyük dişli dörd Allen vintləri ilə kəsilmiş konik blokla vidalanmalıdır. Bu dişli fırlanan oxda qoz -fındıq ilə bağlanacaq; konik hissə, başqa bir kəsilmiş konik blokun içərisində oxşar bir qoz -fındıq ilə digər tərəfə kilidlənmiş filament makarasını tutacaq. Bu həll yalnız hərəkət edən mexanizmi yerində saxlamır, bütün ağırlığı bazaya yönəldir və sistemin dara çəkisidir.

Makara kilidi tutucusu

Bu, dişli oxşar kilidləmə tərəfi ilə birlikdə hərəkət mexanizmini filament makarasına tutacaq kəsilmiş konik blokdur. Nəzakət baxımından, iki qol dəstəyi digər tərəfdə sərbəst hərəkət edərkən, binanı tamamlayan filament rulondur.

Şəkillərdən göründüyü kimi, makara kilidi tutucusu iki hissədən ibarətdir. Əvvəlcə M4 qozunu blokun böyük hissəsinə daxil edin, sonra blokları bir yerdə saxlayaraq ikinci hissəni (qapağı) yapışdırın. Qoz, yivli idarə olunan oxa vidalanacaq kilid tutucusunun içərisində həbsdə qalır.

Rulmanlar qutusu

Rulman qutusunun iki funksiyası var: ötürücü dişlilərə yaxşı bir dəstək verin və hamar və səssiz hərəkət edin. Rulman qutusunu yığmaq üçün bu sadə addımları yerinə yetirin:

  1. İlk M4 qozunu yivli makara tutucusunun idarə etdiyi oxun iki ucundan birinə vidalayın
  2. İlk yatağı daxil edin
  3. Ayırıcıyı daxil edin
  4. İkinci yatağı daxil edin
  5. İkinci qozu vidalayın və orta dərəcədə kilidləyin. Daxili plastik ayırıcı, əşyaları uzun müddət istifadə etmək üçün yerində saxlamaq üçün kifayət qədər qüvvəyə qarşı çıxacaq.
  6. Yığılmış yataqları rulman qutusuna daxil edin. Plastik hissələri təmizləyərkən qutunun içini çox genişləndirməmək üçün daha yaxşı nəticələr vermək məcburiyyətində edilməlidir.

Komponentlərin son montajına hazırıq!

Addım 5: Motion Engine montajını tamamlayın

Hərəkət Mühərrikinin Montajının Tamamlanması
Hərəkət Mühərrikinin Montajının Tamamlanması
Motion Engine -in tamamlanması
Motion Engine -in tamamlanması
Motion Engine -in tamamlanması
Motion Engine -in tamamlanması

Struktur yığımını bitirmək üzrəyik, sonra test hərəkətinə keçə bilərik. İndi yenidən bir neçə yapışqan lazımdır. Rulman qutusu - əvvəlki addımda yığılmış - iki qollu mühərrik dəstəyinin qutu tutucu çuxuruna daxil edilməli və qutunun qapağını vidalamadan əvvəl yapışdırılmalıdır.

Xəbərdarlıq: qutunun qapağını yapışdırmayın, yalnız vidalayın. Qapaq tozdan qorunmaq üçün vacibdir və gələcəkdə hər hansı bir təmir əməliyyatı üçün çıxarıla bilən olmalıdır.

Sürücü dişli (daha böyük) əlavə etməzdən əvvəl bu quruluş tamamlandıqda, kiçik ayırıcı halqanı əlavə edin: idarə olunan hərəkət edən quruluşu düzəltmək üçün yuyucunun rolunu oynayan motor dişli ilə hizalanmış böyük dişli saxlayır.

Sonra sürücü şanzımanını (kiçik olanı) motor milinə daxil edin. Diqqət yetirin ki, mühərrikin əyilməsinin DC motor tərəfindən idarə edilməsi üçün həm mühərrikdə, həm də dişli mərkəzi çuxurda düz bir tərəf var.

Son addım, şəkillərdə göstərildiyi kimi böyük idarə olunan dişlini daxil edin və iki M4 qoz -fındıq ilə yivli oxa bağlayın.

Mexanika binası tamamlandı!

Addım 6: Bonus: dəsti idarə etmək üçün dəstəyi necə fərdiləşdirdim

Bonus: dəsti idarə etmək üçün dəstəyi necə fərdiləşdirdim
Bonus: dəsti idarə etmək üçün dəstəyi necə fərdiləşdirdim
Bonus: dəsti idarə etmək üçün dəstəyi necə fərdiləşdirdim
Bonus: dəsti idarə etmək üçün dəstəyi necə fərdiləşdirdim
Bonus: dəsti idarə etmək üçün dəstəyi necə fərdiləşdirdim
Bonus: dəsti idarə etmək üçün dəstəyi necə fərdiləşdirdim

Kiti yerində saxlamaq üçün həm bazanı, həm də hərəkət quruluşunu dəstəkləmək üçün iki Alüminium kvadrat boruya əsaslanan çox sadə bir quruluş hazırladım. Baza iki relsə (təxminən 25 sm uzunluğunda) dörd vida ilə bərkidilmişdir və bir neçə kiçik 3D çap dəstəyi ilə filament rulonunun yerləşdirilməsini və çıxarılmasını asanlaşdırmaq üçün hərəkət edən mühərriki sərbəst şəkildə düzəldirəm.

Hər kəs iş masasının necə təşkil olunmasından asılı olaraq öz həllini seçə bilər.

Addım 7: Arduinoya kabel çəkmə və qoşulma

Image
Image
Arduino ilə əlaqə qurmaq
Arduino ilə əlaqə qurmaq

Kitin məzmun addımında izah edildiyi kimi, Arduino üçün Infineon TLE94112LE DC mühərrikindən istifadə etdim və mühərriki həm Arduino UNO R3, həm də Infineon XMC110 Boot Kitində sınaqdan keçirdim.

Motoru (PWM xüsusiyyətlərinə ehtiyacınız varsa) seçdiyiniz bir DC nəzarət lövhəsi ilə idarə edəcəksinizsə, təlimatları qalxanınızın texniki xüsusiyyətlərinə uyğunlaşdırın.

TLE04112LE Arduino Shield haqqında bir qeyd

Arduino üçün digər motor idarəetmə qalxanları ilə yaşadığım məhdudiyyətlərdən biri də eyni mikro nəzarətçinin xüsusiyyətlərini (yəni PWM və GPIO pinləri) istifadə etmələridir; bu o deməkdir ki, lövhəniz bu işlərə həsr olunur, digər məqsədlər üçün yalnız bir neçə resurs (MPU və GPIO) mövcuddur.

Yol sınağı üçün əlləri TLE94122LE Arduino qalxanına taxmaq imkanına malik olan, lövhənin əsaslandığı IC -nin ən bariz üstünlüyü onun tamlığıdır. Arduino lövhəsi, yalnız iki pin istifadə edərək SPI protokolu ilə qalxanla əlaqə qurur. Qalxana göndərdiyiniz hər bir əmr TLE94112LE IC tərəfindən MPU resurslarını istehlak etmədən avtonom şəkildə işlənir. Infineon lövhəsinin digər diqqətəlayiq xüsusiyyəti, üç proqramlaşdırıla bilən PWM kanalı olan altı fırçalanmış mühərriki idarə etmək imkanıdır. Bu o deməkdir ki, Arduino bir və ya daha çox mühərrik qura bilər, işə sala bilər və digər vəzifələr üzərində işləməyə davam edə bilər. Altı fərqli filament rulonunu dəstəkləmək üçün mükəmməl bir şəkildə ortaya çıxan bu qalxan, MPU -nun məsul vəzifələrindən yalnız biridir. Tək bir Arduino + qalxanı olan mikro nəzarətçi xərc təsirləri ilə altı fərqli filament makarasını idarə etmək imkanı nəzərdən keçirilir. hər filament nəzarətçisində 5 Avrodan azdır.

Ağırlıq sensoru

Bəzi təcrübələr etdikdən sonra gördüm ki, bütün sistemi idarə etmək mümkündür - monitorinq və avtomatik qidalanma - bir sensorla; bir yük hücrəsi (çəki sensoru) ehtiyac duyduğumuz bütün məlumatları təmin edən filament makara ağırlığının dəyişməsini dinamik olaraq ölçə bilir.

Yük hüceyrələri sensorlarını idarə etmək üçün xüsusi bir IC olan HX711 AD Amplifier-ə əsaslanan kiçik bir lövhə ilə birlikdə 0-5 Kg aralığında ucuz bir yük hücrəsi istifadə etdim. Yaxşı işləyən bir Arduino kitabxanası olduğu üçün heç bir əlaqə problemi yox idi.

Avadanlıq qurmaq üçün üç addım

  1. Qalxanı Arduino lövhəsinin və ya Infineon XMC110 Boot Kitinin üstünə daxil edin
  2. Motor tellərini qalxanın Out1 və Out2 vidalı bağlayıcılarına bağlayın
  3. HX711 AD çəki sensoru gücləndiricisinin gücünü və siqnallarını Arduino pinlərinə qoşun. Bu vəziyyətdə 2 və 3 pinləri istifadə etdim, amma bütün pulsuz pinlər yaxşıdır.

Xəbərdarlıq: 8 və 10 -cu bəndlər SPI bağlantısı üçün TLE94113LE qalxanı tərəfindən qorunur

Hamısı budur! Proqramı qurmağa hazırsınız? Davam et.

Addım 8: Proqram və İdarəetmə Komandası

Proqram və İdarəetmə Komandası
Proqram və İdarəetmə Komandası
Proqram və İdarəetmə Komanda Dəsti
Proqram və İdarəetmə Komanda Dəsti
Proqram və İdarəetmə Komandası
Proqram və İdarəetmə Komandası
Proqram və İdarəetmə Komanda Dəsti
Proqram və İdarəetmə Komanda Dəsti

Tam sənədləşdirilmiş proqramı GitHub 3DPrinterFilamentDispenserAndMonitor depolarından yükləyə bilərsiniz.

burada yalnız ən mənalı hissələri və nəzarət əmrlərini nəzərdən keçiririk.

Arduino UNO -da sistemin USB seriyalı terminal vasitəsilə idarə olunmasına qərar verdiyim mövcud pinlərin sayının bir səbəbi var; Hər bir motorlu qurğu bir çəki sensoru üzərində qurulduğundan, altı fərqli filament dispenserini idarə etmək üçün altı çəki sensöründən məlumatların oxunması tələb olunur. Hər yük hücrəsi iki sancağı "istehlak edir", pin 0 və 1, serial üçün ayrılır (Tx/Rx) və pinlər 8 və 10 TLE94112LE qalxanı birləşdirən SPI kanalı üçün ayrılır.

Sistem vəziyyəti

Nəzarət proqramı filament.h -də təyin olunan dörd fərqli vəziyyətdə işləyir:

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

#define SYS_RUN "Running" // Filament istifadə olunur #define SYS_LOAD "Yüklə" // Roll yüklənmiş #define SYS_STARTED "Başlandı" // Tətbiq başladı // Status kodları #DEFINE STAT_NONE 0 #define STAT_READY 1 #define STAT_LOAT_2 3

Vəziyyət: Başladı

Bu vəziyyət bir cihaz sıfırlandıqdan və ya sistem açıldıqdan sonra baş verir. Açılış (və eskiz başlayanda quraşdırma () çağırışı) daxili standart dəyərləri işə salır və başlanğıc ardıcıllığının bir hissəsi olaraq fiziki sıfır çəkiyə çatmaq üçün mütləq dara əldə edildiyi üçün platformada heç bir əlavə çəki olmadan başlamalıdır..

Vəziyyət: Hazırdır

Hazır vəziyyət yumşaq bir sıfırlamadan sonra baş verir (serial terminaldan göndərilir). Fiziki rezeksiyaya bənzəyir, ancaq dara hesablanmır; sıfırlama əmri sistem işləyərkən də başlaya bilər.

Vəziyyət: Yükləyin

Yük statusu, yükləmə əmri terminal tərəfindən göndərildikdə baş verir. Bu o deməkdir ki, filament rulonu yükləndi və dinamik dara hesablandı. Dəqiq filament çəkisi, mühərrikin və boş rulonun çəkisini çıxarmaqla silindr quruluşu ilə əldə edilir.

Vəziyyət: Qaçır

Bu vəziyyət avtomatik çəki hesablamasını və avtomatik filament dispenserini təmin edir.

Terminal mesajları

Proqramın hazırkı versiyası, əmrlərdən asılı olaraq insan tərəfindən oxunan mesajları terminala qaytarır. String mesajları iki başlıq faylında təyin olunur: commands.h (əmrlə əlaqəli mesajlar və cavablar) və filament.h (ayrıştırıcının mürəkkəb mesajlar yaratmaq üçün istifadə etdiyi sətirlər).

Əmrlər

Komanda idarəçiliyində iki fərqli fayl iştirak edir: bütün əmrləri və əlaqəli parametrləri ehtiva edən commands.h və ağırlıq sistemi və ayrıştırıcı tərəfindən istifadə edilən bütün sabitlər və təriflər daxil olmaqla.

Daxili hesablamalar proqram tərəfindən avtomatik olaraq həyata keçirilərkən, sistemin davranışını təyin etmək və bəzi parametrləri əl ilə idarə etmək üçün bir sıra əmrlər tətbiq etdim.

Komanda açar sözləri böyük hərflərə həssasdır və yalnız terminaldan göndərilməlidir. Bir əmr cari vəziyyəti üçün uyğun deyilsə, səhv bir əmr mesajı qaytarılır, əks halda əmr icra olunur.

Vəziyyət əmrləri

Sistemin mövcud vəziyyətini dəyişdirin və davranış da uyğunlaşdırılır

Filament əmrləri

Ayrı -ayrı əmrlərdən istifadə edərək, bu gün bazarda mövcud olan ən ümumi çəki və ölçülərə əsaslanaraq filament və rulon xüsusiyyətlərini qurmaq mümkündür.

Vahidlərin əmrləri

Ölçü vahidlərinin vizualizasiyasını qram və ya santimetr olaraq təyin etmək üçün bir neçə əmrdir. Əslində bu əmrləri ortadan qaldırmaq və hər iki bölmədə məlumatları təqdim etmək mümkündür.

Məlumat əmrləri

Sistemin vəziyyətindən asılı olaraq məlumat qruplarını göstərin

Motor əmrləri

Filament qidalanması və ya çəkilməsi üçün mühərriki idarə edin.

Bütün motor əmrləri sürətləndirmə/yavaşlama yolunu izləyir. Feedc və pullc əmrləri dayanma əmri alınmayana qədər qeyri -müəyyən müddətdə işləyərkən, iki əmr vermək və çəkmək motor.h -də FEED_EXTRUDER_DELAY tərəfindən təyin edildiyi kimi qısa bir ardıcıllığı yerinə yetirir.

Çalışma rejimi əmrləri

İşləmə vəziyyəti iki rejimi qəbul edir; rejim adamı yalnız vaxtaşırı ağırlığı oxuyur və motor idarəetmə əmri göndərilməyincə motor hərəkət edir. Ekstruderin daha çox filamentə ehtiyacı olduqda avtomatik rejim əvəzinə iki yem əmrini yerinə yetirir.

Prinsip bu xüsusi mühitə görə kontekstləşdirilmiş çəki oxunuşlarına əsaslanır. Filament istehlakının nisbətən yavaş olduğunu, 3D printerlərin demək olar ki, yavaş olduğunu və normal çəki salınımlarının ətraf mühitin vibrasiyasından asılı olduğunu gözləyirik (bütün işləri 3D printerə qoymasanız daha yaxşı olar)

Ekstruder filamenti çəkdikdə, çəki fərqi çox az müddətdə (50 q və ya daha çox), adətən iki -üç oxunuş arasında kəskin şəkildə artır. Bu məlumatlar, yeni filamanın lazım olduğunu "çıxaran" proqram tərəfindən süzülür. Yanlış oxunmaların qarşısını almaq üçün, mühərrik işləyərkən çəki dəyişikliyi ümumiyyətlə nəzərə alınmır.

Tətbiq məntiqi

Tətbiq məntiqi.ino əsasda (Arduino eskizi) üç funksiya boyunca paylanır: setup (), loop () və parseCommand (commandString)

Eskiz iki ayrı sinifdən istifadə edir: TLE94112LE Arduino qalxanının aşağı səviyyəli üsulları ilə əlaqə quran HX711 IC və MotorControl sinfi vasitəsilə bütün filament hesablamalarını və sensorun oxunmasını idarə etmək üçün FilamentWeight sinfi.

qurmaq()

Güc açıldıqda və ya bir cihaz sıfırlandıqdan sonra siniflərin nümunələrini işə saldıqda, avadanlıqları və terminal rabitəsini qurduq.

döngə ()

Əsas loop funksiyası üç fərqli şərti idarə edir.

Ağırlıq sensoru və mühərriklər üçün nisbətən mürəkkəb iki sinif olsa da, əldə edilən eskizi başa düşmək və idarə etmək çox asandır.

  1. Ekstruderin daha çox filamentə ehtiyacı olub olmadığını yoxlayın (avtomatik rejimdə)
  2. Motor çalışırsa, hardware səhvlərini yoxlayın (TLE94112LE tərəfindən geri qaytarılır)
  3. Mövcud serial məlumatları varsa, əmri təhlil edin

parseCommand (commandString)

Təhlil funksiyası serialdan gələn sətirləri yoxlayır və bir əmr tanındıqda dərhal işlənir.

Hər bir əmr sistemin bəzi parametrlərinə təsir edən bir dövlət maşını kimi çıxış edir; Bu məntiqə əsasən bütün əmrlər üç ardıcıl hərəkətə endirilir:

  1. FilamentWeight sinifinə (çəki əmrləri) və ya MotorControl sinifinə (motor əmrləri) bir əmr göndərin.
  2. Kilo dəyərlərini yeniləmək və ya daxili parametrlərdən birini yeniləmək üçün bir hesablama aparır
  3. İcra başa çatdıqda terminalda və məlumat çıxışında göstərin

HX711 Arduino kitabxanasını quraşdırın, proqramı GitHub -dan yükləyin və Arduino lövhənizə yükləyin, sonra zövq alın!

Tövsiyə: