Përmbajtje:

Dispenseri i Filamentit Robotik për Arduino: 8 Hapa (me fotografi)
Dispenseri i Filamentit Robotik për Arduino: 8 Hapa (me fotografi)

Video: Dispenseri i Filamentit Robotik për Arduino: 8 Hapa (me fotografi)

Video: Dispenseri i Filamentit Robotik për Arduino: 8 Hapa (me fotografi)
Video: Beyond the Basics: Automatic Gatekeeper With IR Sensor And ChatGPT Generated Arduino Code 2024, Nëntor
Anonim
Image
Image

Pse një mjet i motorizuar

Filamenti i printerëve 3D - zakonisht pothuajse i fortë - tërhiqet nga ekstruderi ndërsa rrotulla vendoset pranë printerit, e lirë të rrotullohet. Unë kam vërejtur dallime domethënëse në sjelljen e materialit në varësi të nivelit të përdorimit, referuar rrotullave të filamentit 1 kg. Një bobinë e re (e plotë) e filamentit rrjedh pothuajse mirë, por forca e aplikuar nga ekstruduesi duhet të jetë relativisht e rëndësishme: pesha është të paktën 1.5 Kg.

Motori i ekstruderit (në shumicën e rasteve një shkallëzues Nema17) ka fuqi të mjaftueshme për të bërë punën, por dy ingranazhet e ekstruderit që e shtyjnë fijen në anën e nxehtë, ndërsa punojnë mbledh grimca të filamentit për shkak të forcave të aplikuara; kjo kërkon mirëmbajtje të shpeshtë të ekstruderit për të shmangur bllokimin e hundës. Këto grimca priren të shkëputen dhe të përzihen me filamentin e pastër ndërsa ushqehet, duke rritur problemet e hundës dhe një konsumim më të shpeshtë të hundës; kjo ndodh më shpesh me grykë me diametër 0.3 mm.

Kur rrotulla e filamentit është gjysmë e përdorur ose më shumë spiralet e saj bëhen më të vogla dhe në disa kushte mjedisore filamenti tenton të prishet shumë shpesh. Punët e gjata të printimit bëhen më pak të besueshme dhe stresuese; Nuk mund ta lë printerin të punojë vetëm për një natë të tërë pa e kontrolluar atë. Kështu duke kontrolluar ushqimin e filamentit me figura motorike zgjidh një sërë çështjesh.

Kompleti është në dispozicion në Tindie.com

Hapi 1: Përmbajtja e Kompletit

Përmbajtja e Kompletit
Përmbajtja e Kompletit
Përmbajtja e Kompletit
Përmbajtja e Kompletit

Kompleti përfshin të gjitha pjesët e shtypura 3D dhe mekanikën për të montuar shpërndarësin e filamenteve të motorizuar. Ekzistojnë dy pjesë opsionale: motori dhe bordi i kontrolluesit të motorit.

Në konfigurimin tim, unë kam përdorur një motor furçë me furçë 12 V McLennan, por çdo motor me diametër 37 mm mund të përshtatet siç duhet brenda mbështetësit të motorit.

Shfaqjet më të mira arrihen me një mburojë TLE94112LE Arduino nga Infineon (rishikimi i plotë këtu); ky bord kontrollues motorik DC mund të mbështesë deri në 6 komplete të ndryshme shpërndarëse robotike në të njëjtën kohë.

Unë kam testuar të gjithë sistemin si në Arduino UNO R3 ashtu edhe në bordin e pajtueshëm Arduino XMC1100 Boot kit nga Infineon dhe sistemi ishte shumë mirë i përgjegjshëm me të dy bordet e mikrokontrolluesit.

Përdorimi i mburojës TLE94112LE sugjerohet, por jo thelbësor. Çdo kontrollues motorik DC për Arduino - përfshirë projektin tuaj! - mund të funksionojë mirë me këtë mjet

Kompleti është i ndarë në dy grupe përbërësish pasi dy pjesë janë ndërtuar për të punuar së bashku. Platforma bazë, do të mbështesë rrotullën e fijeve që rrotullohet në katër kushinetat me rrota të lira. Baza është e fiksuar në sensorin e peshës për të kontrolluar mekanizmin rrotullues që shkakton aktivizimin e tij si dhe monitorimin e kushteve të filamentit: pesha, metra dhe përqindja. Shumë informacion, si dhe një grup i plotë komandash janë të arritshme nga Arduino përmes një terminali serik.

Mjetet që ju nevojiten

Për të përfunduar montimin, keni nevojë për një zam të fortë plastik për disa pjesë, një kaçavidë dhe një grup vida Allen.

Hapi 2: Projekti dhe Dizajni

Projekti dhe Dizajni
Projekti dhe Dizajni
Projekti dhe Dizajni
Projekti dhe Dizajni
Projekti dhe Dizajni
Projekti dhe Dizajni

Ky projekt është evolucioni i tretë i serisë së shpërndarësit të filamenteve të printerit 3D Disa herë më parë kam krijuar bazën rrotulluese për të optimizuar rrjedhën e fijes kur tërhiqet nga ekstruduesi i printerit 3D.

Modeli i dytë përfshinte një sensor peshe për monitorimin në kohë reale të përdorimit të filamentit me një bord Arduino. Ky projekt i fundit përfshin lëshimin e automatizuar të filamentit në varësi të nevojave të punës së printerit 3D. Bazohet në ndryshimin virtual të peshës kur ekstruderi fillon të tërheqë fijen. Kjo ngjarje nxit mikro kontrolluesin përmes sensorit të peshës dhe rrotulla e filamentit të motorizuar fillon të lëshojë disa centimetra material, pastaj ngadalësohet dhe ndalet.

Komponentët janë eksportuar në formatin STL dhe të printuar 3D, pastaj janë rafinuar dhe montuar së bashku. Unë kam krijuar një mbështetje të personalizuar për të lidhur pjesën e lëvizjes me bazën. Hekurudha më e gjatë e Aluminit u përdor gjithashtu për të mbështetur Arduino dhe mburojën e motorit për ta bërë të gjithë mjetin kompakt dhe të lehtë për tu lëvizur.

Duke krijuar modelin, ndoqa një seri supozimesh:

  • Duke e bërë motorin e automatizuar pothuajse të thjeshtë dhe të lehtë për tu riprodhuar
  • Ulni sa më shumë që të jetë e mundur numrin e komponentëve jo të printueshëm 3D për ta bërë atë
  • Ulni sa më shumë që të jetë e mundur stresin e aplikuar në ekstruder gjatë printimit
  • Përdorni një bord me mikro kontrollues me kosto të ulët dhe të lehtë për tu programuar
  • Përdorni sensorin e ngarkesës së peshës për të mbajtur nën kontroll konsumin e fijeve dhe ushqimin e filamentit Menaxhoni zhurmën mjedisore që ndërhyn në masat e peshës së fijeve

Ky është rezultati që kam arritur.

Hapi 3: Montimi i Bazës

Montimi i Bazës
Montimi i Bazës
Montimi i Bazës
Montimi i Bazës
Montimi i Bazës
Montimi i Bazës

Hapi i parë është montimi i bazës me sensorin e peshës.

  1. Futni tubin e boshtit të vogël të mbajtësit në vrimën e mbajtjes
  2. Vendosni dy disqet ndarës në anët e kushinetës
  3. Prezantoni përbërësit brenda mbështetëses mbajtëse të madhësisë "U" duke rreshtuar vrimat
  4. futni vidën Allen në njërën anë dhe rondele dhe arrë në anën tjetër duke mbyllur arrë pa shumë përpjekje

Ju duhet të përsërisni operacionin në të katër mbështetëset mbajtëse. Pastaj provoni montimin: kushinetat duhet të rrotullohen lirshëm.

Tani rregulloni me vidhat Allen katër mbështetëset mbajtëse në bazën e sipërme me katër vrimat e rregullimit. Rreshtoni mbështetëset e kushinetave për t'i mbajtur ato paralele. Rregulloni distancën në varësi të gjerësisë së rrotullave të filamentit tuaj.

Hapi tjetër është montimi i shiritit të sensorit të peshës që mban bazën e poshtme dhe të sipërme së bashku. Sensori i peshës ka dy vida të ndryshme Allen në të dy anët dhe ju duhet ta orientoni atë në mënyrë që etiketa e peshës maksimale të jetë e lexueshme kur baza është pozicionuar saktë. Baza e poshtme ka dy vrima anësore shtesë për të rregulluar amplifikatorin e sensorit të peshës A/D. Përforcuesi i bazuar në IC HX711 do të mundësohet dhe lidhet me bordin Arduino përmes katër telave siç tregohet në fletën e të dhënave të bashkangjitura të sensorit.

Hapi i fundit është montimi i bazës së plotë të sipërme mbi sensorin e peshës tashmë të fiksuar në pjesën e poshtme.

Komponenti i parë është konfiguruar!

Hapi 4: Montimi i Pjesëve të Motorit të Spoolit

Montimi i Pjesëve të Motorit të Lëvizjes Spool
Montimi i Pjesëve të Motorit të Lëvizjes Spool
Montimi i Pjesëve të Motorit të Lëvizjes Spool
Montimi i Pjesëve të Motorit të Lëvizjes Spool
Montimi i Pjesëve të Motorit të Lëvizjes Spool
Montimi i Pjesëve të Motorit të Lëvizjes Spool

Procedura më e lehtë për të montuar motorin e lëvizjes së bobinës është grumbullimi veçmas i katër përbërësve më të rëndësishëm, pastaj përfundimi i ndërtesës përfundimtare:

Motori i ingranazhuar DC në kutinë e transmetimit të motorit

Motori DC duhet të montohet në pjesën qendrore të mbështetjes së strukturës; para se të vidhosni motorin duhet të vendosni se cila do të jetë ana juaj e preferuar ku të vendosni anën e ingranazheve për të rreshtuar saktë dy krahët që mbajnë motorin dhe ingranazhin e madh të drejtuar.

Pajisje e madhe e drejtuar

Pajisja e madhe duhet të vidhoset me bllokun e cunguar konike me katër vidhat Allen. Ky ingranazh do të bllokohet në boshtin rrotullues nga arrat; pjesa konike do të mbajë bobinën e filamentit e cila është e kyçur në anën tjetër nga një arrë e ngjashme bllokimi brenda një blloku konike të cunguar. Kjo zgjidhje jo vetëm që mban mekanizmin lëvizës në vend, por drejton të gjithë peshën në bazë dhe është pesha e ngushtë e sistemit.

Mbajtësja e bllokimit të bobinës

Ky është blloku konik i cunguar që së bashku me ingranazhin e drejtuar anën e ngjashme të kyçjes do ta mbajnë mekanizmin e lëvizjes në bobinën e filamentit. Si çështje takti është rrotullimi i fijeve që përfundon ndërtesën ndërsa lëvizja e dy krahëve mbështetës është e lirë të lëvizë në anën tjetër.

Siç tregohet në imazhe mbajtësja e bllokimit të bobinës është ndërtuar në dy pjesë. Fillimisht futni arrën M4 në pjesën më të madhe të bllokut pastaj ngjiteni pjesën e dytë (kapakun) duke i mbajtur blloqet së bashku. Arra mbetet e mbyllur brenda mbajtësit të kyçjes që do të vidhet në boshtin e filetuar.

Kutia e kushinetave

Kutia mbajtëse ka dy funksione: jepni një mbështetje të mirë ingranazheve të transmetimit dhe një lëvizje të qetë dhe të heshtur. Për të montuar kutinë mbajtëse ndiqni këto hapa të thjeshtë:

  1. Vidhosni arrën e parë M4 në njërën nga dy skajet e boshtit të shtyrë të mbajtësit të mbështjellë të filetuar
  2. Vendosni kushinetën e parë
  3. Futni ndarësin
  4. Vendosni kushinetën e dytë
  5. Vidhosni arrën e dytë dhe mbylleni atë në mënyrë të moderuar. Ndarësi i brendshëm plastik do të kundërshtojë forcën e mjaftueshme për t'i mbajtur gjërat në vend edhe për përdorim të gjatë.
  6. Vendosni kushinetat e montuara në kutinë e kushinetave. Duhet të bëhet me forcë për të dhënë rezultate më të mira, kështu që mos e zgjeroni shumë pjesën e brendshme të kutisë kur rafinoni pjesët plastike.

Ne jemi gati për montimin përfundimtar të përbërësve!

Hapi 5: Përfundimi i Asamblesë së Motorit të Lëvizjes

Përfundimi i Asamblesë së Motorit të Lëvizjes
Përfundimi i Asamblesë së Motorit të Lëvizjes
Përfundimi i Asamblesë së Motorit të Lëvizjes
Përfundimi i Asamblesë së Motorit të Lëvizjes
Përfundimi i Asamblesë së Motorit të Lëvizjes
Përfundimi i Asamblesë së Motorit të Lëvizjes

Ne jemi gati të përfundojmë montimin e strukturës, atëherë mund të kalojmë në provën e lëvizjes. Tani ju duhet përsëri disa zam. Kutia mbajtëse - e mbledhur në hapin e mëparshëm - duhet të futet në vrimën e mbajtësit të kutisë në mbështetësen e motorit me dy krahë dhe ndoshta të ngjitet më parë për të vidhosur kapakun e kutisë.

Paralajmërim: mos e ngjitni kapakun e kutisë, vetëm vidhoseni atë. Mbulesa është e rëndësishme për mbrojtjen nga pluhuri dhe duhet të hiqet për çdo operacion të mirëmbajtjes në të ardhmen.

Kur ky konfigurim të ketë përfunduar para se të shtoni ingranazhin e drejtuar (më i madhi) shtoni unazën e vogël ndarëse: mban ingranazhin e madh të rreshtuar me ingranazhin e motorit duke vepruar si një rondele për të rregulluar montimin lëvizës të shtyrë.

Pastaj futni ingranazhin e shoferit (atë të vogël) në boshtin e motorit. Vini re se ka një anë të sheshtë në motor, si dhe në vrimën qendrore të ingranazheve për të mbajtur ingranazhin të rrotullohet i shtyrë nga motori DC.

Hapi i fundit, futni ingranazhin e madh të drejtuar siç tregohet në imazhe dhe mbylleni atë në boshtin e filetuar me dy arra M4.

Ndërtesa e mekanikës është e plotë!

Hapi 6: Bonusi: Si e personalizova mbështetjen për të menaxhuar pajisjen

Bonus: Si e personalizova mbështetjen për të menaxhuar pajisjen
Bonus: Si e personalizova mbështetjen për të menaxhuar pajisjen
Bonus: Si e personalizova mbështetjen për të menaxhuar pajisjen
Bonus: Si e personalizova mbështetjen për të menaxhuar pajisjen
Bonus: Si e personalizova mbështetjen për të menaxhuar pajisjen
Bonus: Si e personalizova mbështetjen për të menaxhuar pajisjen

Për ta mbajtur pajisjen në vend, unë bëra një strukturë shumë të thjeshtë të bazuar në dy tuba alumini katrorë për të mbështetur si bazën ashtu edhe strukturën e lëvizjes. Baza është fiksuar me katër vida në dy binarët (rreth 25 cm gjatësi) dhe me disa mbështetëse të vogla të printuara 3D kam rregulluar motorin e lëvizjes pa lëvizje për ta bërë më të lehtë futjen dhe heqjen e rrotullës së filamentit.

Çdokush mund të zgjedhë zgjidhjen e vet në varësi të mënyrës së organizimit të tryezës së tij të punës.

Hapi 7: Instalimet dhe lidhja me Arduino

Image
Image
Instalimet dhe lidhja me Arduino
Instalimet dhe lidhja me Arduino

Siç shpjegohet në hapin e përmbajtjes së Kit, unë kam përdorur një mburojë motorike Infineon TLE94112LE DC për Arduino dhe kam testuar motorin në të dy Arduino UNO R3 dhe Infineon XMC110 Boot Kit.

Nëse do të kontrolloni motorin (keni nevojë për veçori PWM) me një bord kontrollues DC sipas zgjedhjes tuaj, thjesht përshtatni udhëzimet me specifikimet teknike të mburojës tuaj.

Një shënim mbi TLE04112LE Arduino Shield

Një nga kufijtë që kam përjetuar me mburoja të tjera të kontrollit motorik për Arduino është se ata përdorin veçoritë e të njëjtit mikrokontrollues (domethënë kunjat PWM dhe GPIO); kjo do të thotë që bordi juaj i kushtohet këtyre detyrave ndërsa vetëm disa burime të tjera (MPU dhe GPIO) janë në dispozicion për përdorime të tjera.

Duke pasur mundësinë për të vënë duart mbi mburojën TLE94122LE Arduino për testimin në rrugë, avantazhi më i dukshëm i IC në të cilin bazohet bordi është vetëm plotësia e tij. Bordi Arduino komunikon me mburojën përmes protokollit SPI duke përdorur vetëm dy kunja. Çdo komandë që dërgoni në mburojë përpunohet në mënyrë autonome nga IC TLE94112LE pa konsumuar burime MPU. Një tipar tjetër i shquar i bordit Infineon është mundësia për të kontrolluar deri në gjashtë motorë të krehur me tre kanale PWM të programueshme. Kjo do të thotë që Arduino mund të konfigurojë një ose më shumë motorë, t'i fillojë ato dhe të vazhdojë të punojë në detyra të tjera. Kjo mburojë e zbuluar e përsosur për të mbështetur deri në gjashtë rrotullime të ndryshme të filamenteve në të njëjtën kohë lëvizja është vetëm një nga detyrat që i ngarkohen NJPZH -së. Duke marrë parasysh mundësinë për të menaxhuar gjashtë mbështjellje të ndryshme të fijeve me një Arduino + të vetëm mburoja, ndikimet e kostos së mikrokontrolluesit në çdo kontrollues filamenti për më pak se 5 Euro.

Sensori i peshës

Pasi bëra disa eksperimente pashë që ishte e mundur të kontrollohej i gjithë sistemi - monitorimi dhe ushqimi automatik - me një sensor të vetëm; një qelizë ngarkese (sensori i peshës) është në gjendje të masë në mënyrë dinamike variacionet e peshës së bobinës së filamentit duke siguruar të gjithë informacionin që na nevojitet.

Kam përdorur një qelizë ngarkimi të lirë në rangun 0-5 Kg së bashku me një tabelë të vogël të bazuar në Përforcuesin HX711 AD, një IC specifik për të menaxhuar sensorët e qelizave të ngarkesës. Nuk kishte probleme ndërlidhëse pasi është në dispozicion një bibliotekë Arduino që punon mirë.

Tre hapa për vendosjen e harduerit

  1. Vendoseni mburojën në majë të tabelës Arduino ose Kompletit të Çizmave Infineon XMC110
  2. Lidhni telat e motorit me lidhësit e vidhosur Out1 dhe Out2 të mburojës
  3. Lidhni fuqinë dhe sinjalet nga amplifikatori i sensorit të peshës HX711 AD me kunjat Arduino. Në këtë rast unë kam përdorur kunjat 2 dhe 3, por të gjitha kunjat falas janë mirë.

Paralajmërim: f. 8 dhe 10 janë të rezervuara nga mburoja TLE94113LE për lidhjen SPI

Kjo eshte e gjitha! Gati për të konfiguruar softuerin? Shkoni përpara.

Hapi 8: Kompleti i Komandës së Softuerit dhe Kontrollit

Kompleti i Komandës së Softuerit dhe Kontrollit
Kompleti i Komandës së Softuerit dhe Kontrollit
Kompleti i Komandës së Softuerit dhe Kontrollit
Kompleti i Komandës së Softuerit dhe Kontrollit
Kompleti i Komandës së Softuerit dhe Kontrollit
Kompleti i Komandës së Softuerit dhe Kontrollit
Kompleti i Komandës së Softuerit dhe Kontrollit
Kompleti i Komandës së Softuerit dhe Kontrollit

Softueri i plotë i dokumentuar mund të shkarkohet nga depoja GitHub 3DPrinterFilamentDispenserAndMonitor

këtu kemi parasysh vetëm pjesët më kuptimplote dhe komandat e kontrollit.

Ekziston një arsye e imponuar nga numri i kunjave në dispozicion në Arduino UNO Unë vendosa të kontrolloj sistemin përmes terminalit serik USB; Meqenëse çdo njësi e motorizuar bazohet në një sensor peshe, kontrollimi i gjashtë shpërndarësve të ndryshëm të fijeve kërkon leximin e të dhënave nga gjashtë sensorë të peshës. Çdo qelizë ngarkese "konsumon" dy kunja, kunjat 0 dhe 1 janë të rezervuar (Tx/Rx) për serialin dhe kunjat 8 dhe 10 janë të rezervuar për kanalin SPI që lidh mburojën TLE94112LE.

Gjendja e sistemit

Softueri i kontrollit funksionon përmes katër gjendjeve të ndryshme, të përcaktuara në filament.h:

#përcakto SYS_READY "Gati" // Sistemi gati

#define SYS_RUN "Running" // Filamenti në përdorim #define SYS_LOAD "Load" // Roll loaded #define SYS_STARTED "Started" // Aplikimi i filluar // Kodet e statusit #define STAT_NONE 0 #define STAT_READY 1 #define STAT_LOAD 2 #define 3

Statusi: Filloi

Ky status ndodh pas një rivendosjeje të harduerit ose kur sistemi është i ndezur. Thirrja e ndezjes (dhe e konfigurimit () kur fillon skica) inicializon vlerat e paracaktuara të brendshme dhe duhet të fillohet pa peshë shtesë në platformë, si pjesë e sekuencës së inicimit është marrja e tarifës absolute për të arritur peshën zero fizike Me

Statusi: Gati

Gjendja e gatshme ndodh pas një rivendosjeje të butë (dërguar nga terminali serik). Similarshtë e ngjashme me resektin fizik, por nuk llogaritet tare; komanda e rivendosjes mund të lansohet edhe kur sistemi po funksionon.

Statusi: Ngarkesa

Statusi i ngarkesës ndodh kur komanda e ngarkesës dërgohet nga terminali. Kjo do të thotë që rrotulla e filamentit është ngarkuar dhe tari dinamik është llogaritur. Pesha e saktë e filamentit merret nga lloji i konfigurimit të rrotullës duke zbritur peshën e njësisë motorike dhe rrotullës së zbrazët.

Gjendja: Po kandidon

Ky status mundëson llogaritjen automatike të peshës dhe shpërndarësin automatik të filamentit.

Mesazhe terminale

Versioni aktual i softuerit kthen mesazhe të lexueshëm nga njeriu në terminal në varësi të komandave. Mesazhet e vargut përcaktohen në dy skedarë të kokës: commands.h (mesazhet dhe përgjigjet që lidhen me komandën) dhe filament.h (vargjet e përdorura nga analizuesi për të krijuar mesazhe të përbëra).

Komandat

Dy skedarë të ndryshëm janë të përfshirë në menaxhimin e komandës: komandat.h duke përfshirë të gjitha komandat dhe parametrat e lidhur dhe filamentin.h duke përfshirë të gjitha konstantet dhe përkufizimet e përdorura nga sistemi i peshimit dhe nga analizuesi.

Ndërsa llogaritjet e brendshme bëhen automatikisht nga programi kompjuterik, unë kam zbatuar një seri komandash për të vendosur sjelljen e sistemit dhe për të kontrolluar manualisht disa parametra.

Fjalët kyçe të komandës janë të ndjeshme ndaj shkronjave të vogla dhe duhet të dërgohen vetëm nga terminali. Nëse një komandë nuk është e përshtatshme për statusin aktual të saj nuk njihet një mesazh komande i gabuar kthehet përndryshe komanda ekzekutohet.

Komandat e statusit

Ndryshoni statusin aktual të sistemit dhe sjellja përshtatet gjithashtu

Komandat e filamentit

Duke përdorur komanda të veçanta, është e mundur të vendosni karakteristikat e filamentit dhe rrotullës bazuar në peshën dhe madhësitë më të zakonshme sot në dispozicion në treg

Njësitë komandat

Këto janë disa komanda për të vendosur vizualizimin e njësive matëse në gram ose centimetra. Në fakt është e mundur që të eliminohen këto komanda dhe të përfaqësohen gjithmonë të dhëna në të dy njësitë.

Komandat e informacionit

Shfaq grupet e informacionit në varësi të statusit të sistemit

Komandat motorike

Kontrolloni motorin për ushqimin ose tërheqjen e filamentit.

Të gjitha komandat motorike ndjekin një rrugë nxitimi/ngadalësimi. Dy komandat feed and pull ekzekutojnë një sekuencë të shkurtër siç përcaktohet në motor.h nga konstantja FEED_EXTRUDER_DELAY ndërsa komandat feedc dhe pullc funksionojnë pafundësisht derisa të mos merret një komandë stop.

Komandat e funksionimit të mënyrës

Statusi i ekzekutimit pranon dy mënyra; njeriu i modës thjesht lexon periodikisht peshën dhe motori lëviz derisa të mos dërgohet një komandë e kontrollit motorik. Modaliteti automatik në vend të kësaj ekzekuton dy komanda furnizimi kur ekstruderi ka nevojë për më shumë fije.

Parimi bazohet në leximet e peshës, të kontekstualizuara në këtë mjedis të veçantë. Ne presim që konsumi i filamentit është relativisht i ngadalshëm, printerët 3D janë pothuajse të ngadaltë dhe luhatjet normale të peshës varen nga dridhjet e mjedisit (më mirë nëse nuk vendosni të gjithë sendet në printerin 3D)

Kur ekstruderi tërheq fijen në vend diferenca e peshës rritet në mënyrë dramatike (50 g ose më shumë) në shumë pak kohë, zakonisht midis dy ose tre leximeve. Ky informacion filtrohet nga softueri që "zbret" atë fije të re që nevojitet. Për të shmangur leximet e gabuara ndryshimet e peshës ndërsa motori është në punë injorohen fare.

Logjika e aplikimit

Logjika e aplikimit shpërndahet në.ino kryesore (skica Arduino) përgjatë tre funksioneve: setup (), loop () dhe parseCommand (commandString)

Skica përdor dy klasa të veçanta: Klasa FilamentWeight për të menaxhuar të gjitha llogaritjet e filamentit dhe leximin e sensorit nëpërmjet klasës HX711 IC dhe MotorControl duke ndërlidhur metodat e nivelit të ulët të mburojës TLE94112LE Arduino.

konfigurim ()

Nisur një herë kur është në ndezje ose pas një rivendosjeje të pajisjes inicializoni rastet e klasave, konfiguroni pajisjen dhe komunikimin terminal.

lak ()

Funksioni kryesor i lakit menaxhon tre kushte të ndryshme.

Ndërsa ka dy klasa për sensorin e peshës dhe motorët relativisht komplekse, ekziston përparësia se skica që rezulton është me të vërtetë e lehtë për t'u kuptuar dhe menaxhuar.

  1. Kontrolloni (në modalitetin automatik) nëse ekstruderi ka nevojë për më shumë fije
  2. Nëse motori po funksionon kontrolloni për gabimet e harduerit (të kthyera nga TLE94112LE)
  3. Nëse ka të dhëna serike në dispozicion, analizoni komandën

parseCommand (commandString)

Funksioni i analizës kontrollon për vargjet që vijnë nga seriali dhe kur njihet një komandë ai përpunohet menjëherë.

Çdo komandë vepron si një makinë shtetërore që ndikon në disa parametra të sistemit; duke ndjekur këtë logjikë të gjitha komandat reduktohen në tre veprime të njëpasnjëshme:

  1. Dërgoni një komandë në klasën FilamentWeight (komandat e peshës) ose në klasën MotorControl (komandat motorike)
  2. Ekzekuton një llogaritje për të azhurnuar vlerat e peshës ose përditësimin e një prej parametrave të brendshëm
  3. Trego në terminalin dhe daljen e informacionit kur të përfundojë ekzekutimi

Instaloni bibliotekën HX711 Arduino, shkarkoni softuerin nga GitHub dhe ngarkojeni në tabelën tuaj Arduino dhe kënaquni!

Recommended: