Sisukord:

Robotfilamentide dosaator Arduino jaoks: 8 sammu (piltidega)
Robotfilamentide dosaator Arduino jaoks: 8 sammu (piltidega)

Video: Robotfilamentide dosaator Arduino jaoks: 8 sammu (piltidega)

Video: Robotfilamentide dosaator Arduino jaoks: 8 sammu (piltidega)
Video: Semi - automatic dosing system - Euromachine Ltd. 2024, November
Anonim
Image
Image

Miks just mootoriga tööriist

3D -printeri hõõgniiti - tavaliselt peaaegu tugevat - tõmbab ekstruuder, samal ajal kui rull asetatakse printeri lähedale, vabalt pöörlema. Olen täheldanud olulisi erinevusi materjali käitumises sõltuvalt kasutustasemest, viidates 1 kg hõõgniidirullidele. Uus (täis) hõõgniidi pool voolab peaaegu hästi, kuid ekstruuderi rakendatav jõud peaks olema suhteliselt asjakohane: kaal on vähemalt 1,5 kg.

Ekstruudermootoril (enamasti Nema17 samm) on töö tegemiseks piisav võimsus, kuid ekstruuderi kaks hammasratast, mis suruvad hõõgniidi töötamise ajal kuuma otsa poole, koguvad rakendatud jõudude tõttu hõõgniidi osakesi; see nõuab sagedast ekstruuderi hooldust, et vältida otsikute ummistumist. Need osakesed kipuvad söötmise ajal eralduma ja segunema puhta hõõgniidiga, suurendades düüside probleeme ja sagedasemat düüside kulumist; seda esineb sagedamini 0,3 mm läbimõõduga düüside puhul.

Kui hõõgniidi rulli kasutatakse poole võrra või rohkem, muutuvad selle spiraalid väiksemaks ja mõnes keskkonnatingimuses kipub hõõgniit liiga sageli purunema. Pikad trükitööd muutuvad vähem usaldusväärseks ja stressirohkeks; Ma ei saa jätta printerit terveks ööks üksi töötama ilma seda juhtimata. Seega juhitakse hõõgniidi etteandmist mootorite arvude abil, lahendades mitmeid probleeme.

Komplekt on saadaval saidil Tindie.com

Samm: komplekti sisu

Komplekti sisu
Komplekti sisu
Komplekti sisu
Komplekti sisu

Komplekt sisaldab kõiki 3D -prinditud osi ja mehaanikat mootoriga hõõgniididosaatori kokkupanekuks. Selle asemel on kaks lisavarustust: mootor ja mootori juhtpaneel.

Oma seadistuses olen kasutanud 12 V McLennani hammasülekandega harjatud mootorit, kuid kõik 37 mm läbimõõduga hammasratastega mootorid mahuvad korralikult mootori toe sisse.

Parimate esitusteni jõuab Infineoni TLE94112LE Arduino kilp (täielik ülevaade siit); see alalisvoolumootori kontrollerplaat toetab korraga kuni 6 erinevat robotdosaatori komplekti.

Olen katsetanud kogu süsteemi nii Arduino UNO R3 kui ka Infineoni Arduino ühilduva plaadi XMC1100 alglaadimiskomplektiga ja süsteem reageeris mõlema mikrokontrolleri plaadiga väga hästi.

Kaitse TLE94112LE kasutamine on soovitatav, kuid mitte hädavajalik. Mis tahes alalisvoolumootori kontroller Arduino jaoks - sealhulgas teie enda projekt! - saab selle tööriistaga hästi töötada

Komplekt on jagatud kaheks komponendikomplektiks, kuna kaks osa on ehitatud koos töötamiseks. Alusplatvorm toetab hõõgniidi rulli, mis pöörleb neljal vaba rattalaagril. Alus on kaaluanduri külge kinnitatud, et juhtida pöörlevat mehhanismi, mis käivitab selle aktiveerimise, ning jälgida hõõgniidi tingimusi: kaalu, meetrit ja protsenti. Arduino kaudu on jadaterminali kaudu juurdepääsetav palju teavet ja täielik käskude komplekt.

Vajalikud tööriistad

Kokkupaneku lõpuleviimiseks vajate osade jaoks tugevat plastliimi, kruvikeerajat ja kuuskantkruvide komplekti.

2. samm: projekt ja disain

Projekt ja disain
Projekt ja disain
Projekt ja disain
Projekt ja disain
Projekt ja disain
Projekt ja disain

See projekt on 3D -printeri hõõgniididosaatorite seeria kolmas areng. Mõni aeg tagasi lõin pöörleva aluse, et optimeerida hõõgniidi voolu, kui seda tõmbab 3D -printeri ekstruuder.

Teine mudel sisaldas kaaluandurit, et reaalajas jälgida hõõgniidi kasutamist Arduino plaadiga. See viimane projekt hõlmab hõõgniidi automaatset vabastamist sõltuvalt 3D -printeri töö vajadustest. See põhineb virtuaalsel kaaluvariatsioonil, kui ekstruuder hakkab hõõgniiti tõmbama. See sündmus käivitab mikrokontrolleri kaaluanduri kaudu ja mootoriga hõõgniidi rull hakkab vabastama mõne tolli materjali, seejärel aeglustab ja peatub.

Komponendid on eksporditud STL -vormingus ja 3D -trükitud, seejärel täiustatud ja kokku pandud. Olen loonud kohandatud toe, et joondada liikumisosa alusega. Pikemat alumiiniumrööpa kasutati ka Arduino ja mootorikilbi toetamiseks, et muuta kogu tööriist kompaktseks ja hõlpsaks teisaldamiseks.

Kujunduse loomisel järgisin mitmeid eeldusi:

  • Muutke automatiseeritud mootor peaaegu lihtsaks ja hõlpsasti reprodutseeritavaks
  • Selle loomiseks vähendage nii palju kui võimalik mitte-3D prinditavate komponentide arvu
  • Vähendage printimisel ekstruuderile avalduvat pinget nii palju kui võimalik
  • Kasutage odavat ja hõlpsasti programmeeritavat mikrokontrolleri plaati
  • Kasutage kaalukoormuse andurit, et hoida kontrolli all hõõgniidi tarbimist ja hõõgniidi söötmist Hallake hõõgniidi kaalu mõõtmist häirivat keskkonnamüra

Selle tulemuseni jõudsin.

3. samm: aluse kokkupanek

Aluse kokkupanek
Aluse kokkupanek
Aluse kokkupanek
Aluse kokkupanek
Aluse kokkupanek
Aluse kokkupanek

Esimene samm on aluse kokkupanek kaaluanduriga.

  1. Sisestage väike laagritelje laagri auk
  2. Asetage kaks eraldusketast laagri külgedele
  3. Sisestage komponendid U -suuruse laagritoe sisse, joondades augud
  4. sisestage kuuskantkruvi ühele poole ja seib ja mutter teisele poole, sulgedes mutri ilma liigse pingutuseta

Peate toimingut korrata kõigi nelja laagritoega. Seejärel katsetage sõlme: laagrid peaksid vabalt pöörlema.

Kinnitage nüüd kuuskantkruvidega ülemise aluse neli laagrituge koos nelja reguleerimisavaga. Joondage laagritoed paralleelselt. Reguleerige kaugust sõltuvalt hõõgniidi rullide laiusest.

Järgmine samm on kaaluandurvarda kokkupanek, hoides alumist ja ülemist alust koos. Kaaluanduril on mõlemal küljel kaks erinevat kuuskantkruvi ja peaksite selle suunama nii, et maksimaalse kaalu silt oleks loetav, kui alus on õigesti paigutatud. Alumisel alusel on kaks lisaauku küljes, et fikseerida kaaluanduri A/D võimendi. HX711 IC -l põhinev võimendi saab toite ja ühendatakse Arduino plaadiga nelja juhtme kaudu, nagu on näidatud lisatud anduri andmelehel.

Viimane samm on kogu ülemise aluse kokkupanek alumise osa külge juba kinnitatud kaaluanduri kohale.

Esimene komponent on seadistatud!

4. samm: pooli liikumismootori osade kokkupanek

Pooli liikumismootori osade kokkupanek
Pooli liikumismootori osade kokkupanek
Pooli liikumismootori osade kokkupanek
Pooli liikumismootori osade kokkupanek
Pooli liikumismootori osade kokkupanek
Pooli liikumismootori osade kokkupanek

Lihtsam protseduur pooli liikumismootori kokkupanemiseks on nelja kõige olulisema komponendi eraldi kokkupanek ja seejärel lõplik hoone:

Hammasülekandega alalisvoolumootor mootori ülekandekastis

Alalisvoolumootor tuleks paigaldada konstruktsiooni toe keskosasse; enne mootori kruvimist peaksite otsustama, milline on teie eelistatud külg, kuhu hammasrataste külg asetada, et joondada õigesti kaks mootorit ja käitatavat suurt käiku hoidevat kätt.

Ajam suur käik

Suur käik tuleks kruvida kärbitud koonilise plokiga nelja kuuskantkruvi abil. Selle hammasratta blokeerivad pöörlemisteljel mutrid; kooniline osa hoiab hõõgniidi pooli, mis on teise kärbitud koonilise ploki sees teise lukuga sarnaste lukustusmutritega lukustatud. See lahendus hoiab mitte ainult liikuvat mehhanismi paigas, vaid suunab kogu kaalu alusele ja see on süsteemi omakaal.

Pooli lukuhoidik

See on kärbitud kooniline plokk, mis hoiab koos ajamiga sarnase lukustusküljega liikumismehhanismi hõõgniidi poolil. Takti mõttes lõpetab hoone hõõgniidi rull, samal ajal kui kahe käetoe liikumine võib teisel küljel vabalt liikuda.

Nagu piltidel näidatud, on pooli lukuhoidja ehitatud kahest osast. Esmalt sisestage M4 mutter ploki suuremasse ossa, seejärel liimige teine osa (kate), hoides plokke koos. Mutter jääb lukustushoidiku sisse kinni, mis keeratakse keermestatud veotelje külge.

Laagrite kast

Laagrikastil on kaks funktsiooni: anda käigukastidele hea tugi ning sujuv ja vaikne liikumine. Laagrikarbi kokkupanekuks toimige järgmiselt.

  1. Keerake esimene M4 mutter keermestatud poolihoidiku ajamitelje ühe kahe otsa külge
  2. Sisestage esimene laager
  3. Sisestage eraldaja
  4. Sisestage teine laager
  5. Keerake teine mutter kinni ja lukustage see mõõdukalt. Sisemine plastist eraldaja peab vastu piisavale jõule, et hoida asju paigal ka pikaajalisel kasutamisel.
  6. Sisestage kokkupandud laagrid laagrikasti. Paremate tulemuste saamiseks tuleks seda teha sunniviisiliselt, nii et ärge laiendage plastosade rafineerimisel kasti sisemust liiga palju.

Oleme valmis komponentide lõplikuks kokkupanekuks!

Samm: liikumismootori kokkupaneku lõpuleviimine

Liikumismootori kokkupaneku lõpuleviimine
Liikumismootori kokkupaneku lõpuleviimine
Liikumismootori kokkupaneku lõpuleviimine
Liikumismootori kokkupaneku lõpuleviimine
Liikumismootori kokkupaneku lõpuleviimine
Liikumismootori kokkupaneku lõpuleviimine

Oleme lõpetamas konstruktsiooni kokkupanekut ja saame liikumise testimiseks liikuda. Nüüd vajate jälle mõnda liimi. Eelmises etapis kokku pandud laagrikarp tuleb sisestada kahe õlgaga mootori toe karbihoidja avasse ja võimaluse korral liimida, et kasti kate kruvida.

Hoiatus: ärge liimige karbi kaant, vaid keerake see kinni. Kate on tolmukaitse seisukohalt oluline ja peaks olema tulevaste hooldustööde jaoks eemaldatav.

Kui see seadistus on lõpetatud enne ajami (suurema) lisamist, lisage väike eraldusrõngas: see hoiab suure hammasratta joondatuna mootori hammasrattaga, mis toimib seibina, et fikseerida liikuv liikuv seade.

Seejärel sisestage ajam (väike) mootori võllile. Pange tähele, et nii mootoril kui ka hammasratta keskaugus on lame külg, et hoida hammasratta pöörlemist alalisvoolumootoriga.

Viimases etapis sisestage suur ajam, nagu on näidatud piltidel, ja lukustage see keermestatud telje külge kahe M4 mutriga.

Mehaanikahoone on valmis!

6. samm: boonus: kuidas ma kohandasin toe komplekti haldamiseks

Boonus: kuidas ma kohandasin toe komplekti haldamiseks
Boonus: kuidas ma kohandasin toe komplekti haldamiseks
Boonus: kuidas ma kohandasin toe komplekti haldamiseks
Boonus: kuidas ma kohandasin toe komplekti haldamiseks
Boonus: kuidas kohandasin toe komplekti haldamiseks
Boonus: kuidas kohandasin toe komplekti haldamiseks

Komplekti paigal hoidmiseks tegin väga lihtsa konstruktsiooni, mis põhines kahel alumiiniumist ruudukujulisel torul, et toetada nii alust kui ka liikumistruktuuri. Alus on kinnitatud nelja kruviga kahe rööpa külge (pikkus umbes 25 cm) ja paari väikese 3D -prinditud toega on mul liikumismootorit vabalt liigutatavad, et hõlbustada hõõgniidi sisestamist ja eemaldamist.

Igaüks saab valida oma lahenduse sõltuvalt sellest, kuidas tema töölaud on korraldatud.

Samm 7: Arduinoga ühendamine ja ühendamine

Image
Image
Juhtmed ja ühendamine Arduinoga
Juhtmed ja ühendamine Arduinoga

Nagu komplekti sisusammas selgitatud, olen kasutanud Arduino jaoks Infineon TLE94112LE alalisvoolumootorikilpi ja katsetanud mootorit nii Arduino UNO R3 kui ka Infineon XMC110 alglaadimiskomplektiga.

Kui juhite mootorit (vajate PWM -funktsioone) teie valitud alalisvoolu regulaatorplaadiga, kohandage lihtsalt juhiseid oma kilbi tehniliste spetsifikatsioonidega.

Märkus TLE04112LE Arduino kilbi kohta

Üks piiranguid, mida olen kogenud teiste Arduino mootorikilpidega, on see, et nad kasutavad sama mikrokontrolleri funktsioone (st PWM- ja GPIO -tihvtid); see tähendab, et teie plaat on pühendatud nendele ülesannetele, samal ajal kui ainult mõned muud ressursid (MPU ja GPIO) on muuks otstarbeks saadaval.

Võimalus panna käed TLE94122LE Arduino kilbile teedel katsetamiseks, on tahvelarvuti kõige ilmsem eelis selle täielikkus. Arduino plaat suhtleb kilbiga SPI protokolli kaudu, kasutades ainult kahte tihvti. TLE94112LE IC töötleb iseseisvalt kõiki kilbile saadetud käske ilma MPU ressursse tarbimata. Infineoni plaadi teine tähelepanuväärne omadus on võimalus juhtida kuni kuut harjatud mootorit kolme programmeeritava PWM -kanaliga. See tähendab, et Arduino saab seadistada ühe või mitu mootorit, käivitada need ja jätkata teiste ülesannete täitmist. See kilp osutus ideaalseks kuni kuue erineva hõõgniidi rullide toetamiseks samal ajal. Liikumine on ainult üks MPU vastutavatest ülesannetest. Arvestades võimalust hallata kuut erinevat hõõgniidi pooli ühe Arduino + kilbiga, on mikrokontrolleri kulude mõju igal hõõgniidi kontrolleril alla 5 euro.

Kaalu andur

Pärast mõningaid katseid nägin, et kogu süsteemi - jälgimist ja automaatset söötmist - on võimalik juhtida ühe anduriga; koormusandur (kaaluandur) on võimeline dünaamiliselt mõõtma hõõgniidi pooli kaalu variatsioone, andes kogu vajaliku teabe.

Kasutasin odavat koormusandurit vahemikus 0–5 kg koos väikese plaadiga, mis põhineb HX711 AD võimendil, mis on spetsiifiline koormusandurite andurite haldamiseks. Liideseprobleeme ei esinenud, kuna see on saadaval hästi töötavas Arduino raamatukogus.

Kolm sammu riistvara seadistamiseks

  1. Asetage kilp Arduino plaadi või Infineon XMC110 alglaadimiskomplekti peale
  2. Ühendage mootori juhtmed kilbi Out1 ja Out2 kruvipistikutega
  3. Ühendage kaaluanduri võimendi HX711 AD toide ja signaalid Arduino tihvtidega. Sel juhul olen kasutanud tihvte 2 ja 3, kuid kõik vabad tihvtid on korras.

Hoiatus: p 8 ja 10 reserveerib TLE94113LE kilp SPI -ühenduse jaoks

See on kõik! Kas olete tarkvara seadistamiseks valmis? Lase käia.

8. samm: tarkvara ja juhtkäskude komplekt

Tarkvara ja juhtkäskude komplekt
Tarkvara ja juhtkäskude komplekt
Tarkvara ja juhtkäskude komplekt
Tarkvara ja juhtkäskude komplekt
Tarkvara ja juhtkäskude komplekt
Tarkvara ja juhtkäskude komplekt
Tarkvara ja juhtkäskude komplekt
Tarkvara ja juhtkäskude komplekt

Kogu dokumenteeritud tarkvara saab alla laadida GitHubi hoidlast 3DPrinterFilamentDispenserAndMonitor

siin käsitleme ainult kõige sisukamaid osi ja juhtkäsklusi.

Arduino UNO I saadaval olevate tihvtide arvu tõttu on põhjus, miks otsustasin süsteemi juhtida USB -jadaliidese kaudu; Kuna iga mootoriga seade põhineb kaaluanduril, nõuab kuue erineva hõõgniidi jaoturi juhtimine andmete lugemist kuuelt kaalusensorilt. Iga koormusandur "tarbib" kaks tihvti, tihvtid 0 ja 1 on reserveeritud (Tx/Rx) jada jaoks ning tihvtid 8 ja 10 on reserveeritud SPLE kanalile, mis ühendab kilpi TLE94112LE.

Süsteemi olek

Juhtimistarkvara töötab läbi nelja erineva oleku, mis on määratletud filament.h:

#define SYS_READY "Valmis" // Süsteem on valmis

#define SYS_RUN "Running" // kasutusel olev filament #define SYS_LOAD "Load" // Rull laaditud #define SYS_STARTED "Started" // Rakendus käivitatud // Olekukoodid #define STAT_NONE 0 #define STAT_READY 1 #define STAT_LOAD 2 #define STAT_R 3

Olek: alustatud

See olek ilmneb pärast riistvara lähtestamist või süsteemi sisselülitamist. Sisselülitamise (ja häälestamise () helistamine eskiisi käivitamisel) lähtestab sisemised vaikeväärtused ja seda tuleks platvormil ilma lisaraskuseta käivitada, kuna lähtestamisjärjestuse osana on absoluutse taara omandamine füüsilise nullkaalu saavutamiseks.

Olek: valmis

Valmisolek saabub pärast pehmet lähtestamist (saadetud jadaklemmilt). See sarnaneb füüsilise resektsiooniga, kuid taara ei arvutata; lähtestamise käsku saab käivitada ka siis, kui süsteem töötab.

Olek: laadimine

Koormuse olek tekib siis, kui terminal saadab laadimiskäsu. See tähendab, et hõõgniit on laaditud ja dünaamiline taara on arvutatud. Hõõgniidi täpne kaal saadakse rulli seadistusega, lahutades mootoriseadme ja tühja rulli kaalu.

Staatus: töötab

See olek võimaldab automaatset kaalu arvutamist ja hõõgniidi automaatset jaoturit.

Terminali teated

Tarkvara praegune versioon tagastab terminalile inimestele loetavad sõnumid sõltuvalt käskudest. Stringisõnumid on määratletud kahes päisefailis: commands.h (käsuga seotud teated ja vastused) ja filament.h (stringid, mida parser kasutab liitsõnumite loomiseks).

Käsud

Käskude haldamisega on seotud kaks erinevat faili: commands.h, sealhulgas kõik käsud ja nendega seotud parameetrid ning filament.h, sealhulgas kõik kaalumissüsteemi ja parseri kasutatavad konstandid ja määratlused.

Kuigi sisemisi arvutusi teeb tarkvara automaatselt, olen rakendanud rea käske süsteemi käitumise seadistamiseks ja mõnede parameetrite käsitsi juhtimiseks.

Käskude märksõnad on tõstutundlikud ja need tuleks lihtsalt terminalist saata. Kui käsk ei vasta selle praegusele olekule, ei tunnistata vale käsusõnumit, vastasel juhul täidetakse käsk.

Staatuse käsud

Muutke süsteemi praegust olekut ja kohandatakse ka käitumist

Hõõgniidi käsud

Eraldi käskude abil on võimalik seadistada hõõgniidi ja rulli karakteristikud, mis põhinevad tänapäeval turul saadaoleval kõige tavalisemal kaalul ja suurusel

Ühikute käsud

Need on paar käsku mõõtühikute visualiseerimise seadmiseks grammides või sentimeetrites. Tegelikult on võimalik need käsud kõrvaldada ja alati esitada andmed mõlemas üksuses.

Infokäsklused

Kuvab teaberühmi sõltuvalt süsteemi olekust

Mootori käsud

Juhtige mootorit hõõgniidi etteandmiseks või tõmbamiseks.

Kõik mootorikäsklused järgivad kiirendus-/aeglustusrada. Mõlemad käsud feed ja pull täidavad lühikese jada, nagu on määratletud mootoris.h konstantse FEED_EXTRUDER_DELAY abil, samal ajal kui feedc ja pullc käsud töötavad lõputult, kuni peatamiskäsk pole vastu võetud.

Töörežiimi käsud

Töörežiim aktsepteerib kahte režiimi; režiimis mees lihtsalt loeb perioodiliselt kaalu ja mootor liigub seni, kuni mootori juhtimiskäsk pole saadetud. Režiim auto täidab selle asemel kahte etteandekäsku, kui ekstruuder vajab rohkem hõõgniiti.

Põhimõte põhineb kaalunäitudel, mis on konteksti pandud selle konkreetse keskkonnaga. Eeldame, et hõõgniidi tarbimine on suhteliselt aeglane, 3D -printerid on peaaegu aeglased ja normaalkaalu võnkumised sõltuvad keskkonna vibratsioonist (parem, kui te ei pane kogu materjali 3D -printerile)

Kui ekstruuder tõmbab hõõgniiti, suureneb kaalu erinevus järsult (50 g või rohkem) väga lühikese aja jooksul, tavaliselt kahe või kolme näidu vahel. Seda teavet filtreerib tarkvara, mis "arvab maha" uue hõõgniidi vajamise. Valede näitude vältimiseks ei arvestata kaalu muutusi mootori töötamise ajal üldse.

Rakenduse loogika

Rakenduse loogika on jaotatud.ino mainis (Arduino visand) kolme funktsiooni kaudu: setup (), loop () ja parseCommand (commandString)

Eskiis kasutab kahte eraldi klassi: FilamentWeight klassi, et hallata kõiki hõõgniitide arvutusi ja andurite näitu HX711 IC ja MotorControl klassi kaudu, ühendades TLE94112LE Arduino kilbi madala taseme meetodid.

seadistamine ()

Käivitati üks kord, kui sisselülitamisel või pärast riistvara lähtestamist vormistatakse klasside eksemplarid, seadistatakse riistvara ja terminali side.

silmus ()

Põhiahela funktsioon haldab kolme erinevat tingimust.

Kuigi kaaluandurite ja mootorite jaoks on kaks klassi suhteliselt keerulised, on eeliseks see, et saadud visandit on tõesti lihtne mõista ja hallata.

  1. Kontrollige (automaatrežiimis), kas ekstruuder vajab rohkem hõõgniiti
  2. Kui mootor töötab, kontrollige riistvara vigade olemasolu (tagastas TLE94112LE)
  3. Kui on saadaval jadaandmeid, sõeluge käsk

parseCommand (commandString)

Analüüsifunktsioon kontrollib jadast tulevaid stringe ja käsu tuvastamisel töödeldakse seda kohe.

Iga käsk toimib olekumasinana, mis mõjutab süsteemi mõnda parameetrit; järgides seda loogikat, vähendatakse kõiki käske kolmeks järjestikuseks toiminguks:

  1. Saada käsk FilamentWeight klassi (kaalukäsklused) või MotorControl klassi (mootorikäsklused)
  2. Teostab arvutuse, et värskendada kaalu väärtusi või värskendada ühte sisemistest parameetritest
  3. Näita terminalis ja teabe väljundis, kui täitmine on lõppenud

Installige HX711 Arduino raamatukogu, laadige tarkvara alla GitHubist ja laadige see oma Arduino tahvlile ning nautige!

Soovitan: