Sisällysluettelo:

Robottilangan annostelija Arduinolle: 8 vaihetta (kuvilla)
Robottilangan annostelija Arduinolle: 8 vaihetta (kuvilla)

Video: Robottilangan annostelija Arduinolle: 8 vaihetta (kuvilla)

Video: Robottilangan annostelija Arduinolle: 8 vaihetta (kuvilla)
Video: Сериал - "Сваты" (1-й сезон 1-я серия) фильм комедия для всей семьи 2024, Marraskuu
Anonim
Image
Image

Miksi moottoroitu työkalu

3D -tulostimen filamentti - yleensä lähes kestävä - vedetään suulakepuristimesta, kun rulla asetetaan tulostimen lähelle vapaasti pyörimään. Olen havainnut merkittäviä eroja materiaalin käyttäytymisessä riippuen käyttöasteesta, viitaten 1 kg: n filamenttirulliin. Uusi (täys) hehkulankakela virtaa melkein hyvin, mutta suulakepuristimen kohdistaman voiman tulee olla suhteellisen tärkeä: paino on vähintään 1,5 kg.

Suulakepuristimen moottorilla (useimmissa tapauksissa Nema17-askelmalla) on riittävä teho tehtävän suorittamiseen, mutta suulakepuristimen kaksi hammaspyörää työntävät hehkulangan kuumalle puolelle samalla kun ne keräävät hehkulangan hiukkasia kohdistettujen voimien vaikutuksesta; tämä vaatii säännöllistä suulakepuristimen huoltoa suuttimen tukkeutumisen välttämiseksi. Näillä hiukkasilla on taipumus irrota ja sekoittua puhtaan filamentin kanssa sen syöttämisen aikana, mikä lisää suutinongelmia ja lisää suuttimien kulumista; tämä tapahtuu useammin halkaisijaltaan 0,3 mm: n suuttimilla.

Kun hehkulanka on puoliksi käytetty tai enemmän, sen spiraalit pienenevät ja joissakin ympäristöolosuhteissa hehkulanka taipuu katkeamaan liian usein. Pitkistä tulostustöistä tulee vähemmän luotettavia ja stressaavia; En voi jättää tulostinta yksin työskentelemään koko yön ilman ohjausta. Näin ohjataan hehkulangan syöttöä moottorin lukujen avulla ja ratkaistaan useita ongelmia.

Paketti on saatavana Tindie.com -sivustolta

Vaihe 1: Pakkauksen sisältö

Paketin sisältö
Paketin sisältö
Paketin sisältö
Paketin sisältö

Sarja sisältää kaikki 3D -tulostetut osat ja mekaniikan moottoroidun hehkulangan annostelijan kokoamiseksi. Sen sijaan on kaksi valinnaista osaa: moottori ja moottorin ohjainkortti.

Kokoonpanossani olen käyttänyt 12 V: n McLennan -hammaspyörämoottoria, mutta mikä tahansa halkaisijaltaan 37 mm: n moottori mahtuu kunnolla moottorin tuen sisään.

Parhaat esitykset saavutetaan Infineonin TLE94112LE Arduino -kilpillä (koko arvostelu täällä); Tämä tasavirtamoottorin ohjainkortti voi tukea jopa kuutta erilaista robottiannostelijasarjaa samanaikaisesti.

Olen testannut koko järjestelmän sekä Arduino UNO R3: lla että Infineonin Arduino -yhteensopivalla XMC1100 Boot Kit -levyllä, ja järjestelmä reagoi erittäin hyvin molempiin mikro -ohjainkortteihin.

TLE94112LE -suojan käyttöä suositellaan, mutta se ei ole välttämätöntä. Mikä tahansa DC -moottorin ohjain Arduinolle - myös oma projektisi! - voi toimia hyvin tällä työkalulla

Sarja on jaettu kahteen komponenttisarjaan, koska kaksi osaa on rakennettu toimimaan yhdessä. Pohjalaatta tukee hehkulangan rullaa, joka pyörii neljällä vapaalla pyörälaakerilla. Jalusta on kiinnitetty painoanturiin ohjaamaan pyörivää mekanismia, joka laukaisee sen aktivoinnin, sekä seuraamaan filamenttiolosuhteita: paino, metrit ja prosenttiosuus. Paljon tietoa ja täydellinen komentojoukko ovat käytettävissä Arduinosta sarjapäätteen kautta.

Tarvittavat työkalut

Kokoonpanon suorittamiseksi tarvitset joillekin osille vankan muoviliiman, ruuvimeisselin ja kuusiokoloruuvit.

Vaihe 2: Projekti ja suunnittelu

Projekti ja suunnittelu
Projekti ja suunnittelu
Projekti ja suunnittelu
Projekti ja suunnittelu
Projekti ja suunnittelu
Projekti ja suunnittelu

Tämä projekti on 3D -tulostimen filamenttien annostelusarjan kolmas kehitys. Joskus loin pyörivän alustan optimoimaan filamentin virtaus, kun 3D -tulostimen ekstruuderi vetää sitä.

Toinen malli sisälsi painoanturin, joka seurasi hehkulangan käyttöä reaaliajassa Arduino -levyn avulla. Tämä viimeinen projekti sisältää filamentin automaattisen vapautumisen 3D -tulostustyön tarpeiden mukaan. Se perustuu virtuaaliseen painomuutokseen, kun ekstruuderi alkaa vetää filamenttia. Tämä tapahtuma laukaisee mikro -ohjaimen painoanturin kautta ja moottoroitu filamenttirulla alkaa vapauttaa muutaman tuuman materiaalia ja hidastaa ja pysähtyä.

Komponentit on viety STL -muodossa ja 3D -tulostettu, sitten jalostettu ja koottu yhteen. Olen luonut mukautetun tuen liikeosan kohdistamiseksi pohjaan. Pidempää alumiinikiskoa käytettiin myös Arduinon ja moottorin suojan tukemiseen, jotta koko työkalu olisi kompakti ja helppo siirtää.

Suunnittelua tehdessäni noudatin useita oletuksia:

  • Automaattinen moottori on lähes yksinkertainen ja helppo toistaa
  • Vähennä mahdollisimman paljon muiden kuin 3D-tulostettavien komponenttien määrää
  • Vähennä mahdollisimman paljon suulakepuristimeen kohdistuvaa rasitusta tulostuksen aikana
  • Käytä edullista ja helposti ohjelmoitavaa mikro -ohjainkorttia
  • Käytä painon kuormitusanturia pitämään filamenttien kulutus ja filamenttien syöttö hallinnassa Hallitse hehkulangan painomittauksia häiritsevää ympäristömelua

Tähän tulokseen päädyin.

Vaihe 3: Pohjan kokoaminen

Pohjan kokoaminen
Pohjan kokoaminen
Pohjan kokoaminen
Pohjan kokoaminen
Pohjan kokoaminen
Pohjan kokoaminen

Ensimmäinen vaihe on alustan kokoaminen painoanturin kanssa.

  1. Työnnä pieni laakerin akselin putki laakerin reikään
  2. Aseta kaksi erotuslevyä laakerin sivuille
  3. Vie komponentit "U" -laakerituen sisään reikien suuntaamiseksi
  4. työnnä kuusiokoloruuvi toiselle puolelle ja aluslevy ja mutteri toiselle puolelle ja sulje mutteri ilman liikaa vaivaa

Toista toimenpide kaikilla neljällä laakerituella. Testaa sitten kokoonpano: laakereiden tulee pyöriä vapaasti.

Kiinnitä nyt kuusiokoloruuveilla ylälaatan neljä laakeritukea ja neljä säätöreikää. Kohdista laakerituet pitämään ne rinnakkain. Säädä etäisyyttä filamenttirullien leveyden mukaan.

Seuraava askel on koota painoanturitanko, joka pitää pohjan ja yläosan yhdessä. Painoanturissa on kaksi eri kuusiokoloruuvia molemmilla puolilla, ja sinun tulee suunnata se siten, että enimmäispainomerkki on luettavissa, kun pohja on oikein paikallaan. Pohjassa on kaksi ylimääräistä sivureikää painotunnistimen A/D -vahvistimen kiinnittämiseksi. HX711 IC -tekniikkaan perustuva vahvistin saa virtaa ja liitetään Arduino -korttiin neljän johdon kautta, kuten oheisessa anturin tietolomakkeessa on esitetty.

Viimeinen vaihe on koko yläpohjan kokoaminen pohjaosaan jo kiinnitetyn painoanturin päälle.

Ensimmäinen komponentti on asennettu!

Vaihe 4: Kokoamismoottorin osien kokoaminen

Kelausliikkeen moottorin osien kokoaminen
Kelausliikkeen moottorin osien kokoaminen
Kelausliikkeen moottorin osien kokoaminen
Kelausliikkeen moottorin osien kokoaminen
Kelausliikkeen moottorin osien kokoaminen
Kelausliikkeen moottorin osien kokoaminen

Helpoin tapa koota liikkeen moottori on koota erikseen neljä tärkeintä komponenttia ja viimeistellä lopullinen rakennus:

Vaihteellinen tasavirtamoottori moottorin voimansiirtolaatikossa

Tasavirtamoottori tulee asentaa rakennetukin keskiosaan; Ennen kuin ruuvaat moottorin, sinun on päätettävä, mikä on ensisijainen sivusi, johon laitat hammaspyörät, jotta moottori ja käytetyt suuret hammaspyörät pysyvät oikein.

Ajettu suuri vaihde

Suuri hammaspyörä on ruuvattava katkaistulla kartiomaisella lohkolla neljällä kuusiokoloruuvilla. Tämä hammaspyörä estää pyörivän akselin muttereilla; kartiomainen osa pitää filamenttilankaa, joka on lukittu toiselle puolelle samanlaisilla lukkomuttereilla toisen katkaistun kartiomaisen lohkon sisällä. Tämä ratkaisu ei ainoastaan pidä liikkuvaa mekanismia paikallaan, vaan suuntaa kaiken painon alustaan ja se on järjestelmän omapaino.

Kelan lukon pidike

Tämä on katkaistu kartiomainen lohko, joka yhdessä käyttöpyörän kanssa samanlaisen lukituspuolen pitää liikemekanismia hehkulankakelalla. Tahdikkuuden vuoksi filamenttirulla täydentää rakennuksen, kun taas kahden käsivarren liike voi vapaasti liikkua toisella puolella.

Kuten kuvista näkyy, lankarullan pidike on rakennettu kahdesta osasta. Aseta ensin M4 -mutteri lohkon suurempaan osaan ja liimaa toinen osa (kansi) pitäen lohkot yhdessä. Mutteri jää lukituspidikkeen sisään, joka ruuvataan kierteitettyyn käyttöakseliin.

Laakerirasia

Laakerikotelolla on kaksi toimintoa: tukevat voimansiirto vaihteita ja tarjoavat tasaisen ja hiljaisen liikkeen. Asenna laakerikotelo seuraavasti:

  1. Kierrä ensimmäinen M4 -mutteri kierteitetyn kelan pidikkeen käyttöakselin toiseen päähän
  2. Aseta ensimmäinen laakeri paikalleen
  3. Aseta erotin paikalleen
  4. Aseta toinen laakeri paikalleen
  5. Ruuvaa toinen mutteri kiinni ja lukitse se kohtalaisesti. Sisäinen muovierotin vastustaa riittävää voimaa pitää tavarat paikoillaan myös pitkään.
  6. Aseta kootut laakerit laakerirasiaan. Se on tehtävä pakotetusti parempien tulosten saamiseksi, joten älä laajenna liikaa laatikon sisäpuolta muoviosia jalostettaessa.

Olemme valmiita komponenttien viimeiseen kokoonpanoon!

Vaihe 5: Viimeistele Motion Engine -moottorin kokoonpano

Motion Engine -moottorin kokoaminen loppuun
Motion Engine -moottorin kokoaminen loppuun
Motion Engine -moottorin kokoaminen loppuun
Motion Engine -moottorin kokoaminen loppuun
Motion Engine -moottorin kokoaminen loppuun
Motion Engine -moottorin kokoaminen loppuun

Olemme aikeissa lopettaa rakennekokoonpanon ja sitten voimme siirtyä testaamaan liikettä. Nyt tarvitset taas muutaman liiman. Edellisessä vaiheessa koottu laakerirasia on työnnettävä moottorituen kahden varren laatikonpitimen reikään ja mahdollisesti liimattava ennen ruuvikotelon ruuvaamista.

Varoitus: älä liimaa laatikon kantta, vaan ruuvaa se kiinni. Kansi on tärkeä pölysuojauksen kannalta, ja sen tulee olla irrotettavissa tulevia huoltotoimenpiteitä varten.

Kun tämä asetus on valmis ennen vetävän vaihteen (isomman) lisäämistä, lisää pieni erotinrengas: se pitää suuren hammaspyörän linjassa moottorin vaihteen kanssa, joka toimii aluslevynä kiinnittääkseen liikuteltavan liikkuvan kokoonpanon.

Aseta sitten ajovaihde (pieni) moottorin akseliin. Huomaa, että moottorissa ja tasavaihteiston keskireiässä on litteä puoli, jotta vaihteisto pyörii tasavirtamoottorin avulla.

Aseta viimeinen vaihe käyttöön suuri vetopyörä kuvan mukaisesti ja lukitse se kierteiseen akseliin kahdella M4 -mutterilla.

Mekaniikan rakennus on valmis!

Vaihe 6: Bonus: Kuinka räätälöin tuen sarjan hallintaan

Bonus: Kuinka räätälöin tuen sarjan hallintaan
Bonus: Kuinka räätälöin tuen sarjan hallintaan
Bonus: Kuinka räätälöin tuen sarjan hallintaan
Bonus: Kuinka räätälöin tuen sarjan hallintaan
Bonus: Kuinka räätälöin tuen sarjan hallintaan
Bonus: Kuinka räätälöin tuen sarjan hallintaan

Jotta sarja pysyisi paikallaan, tein erittäin yksinkertaisen rakenteen, joka perustui kahteen alumiiniseen neliöputkeen, jotka tukevat sekä pohjaa että liikerakennetta. Pohja on kiinnitetty neljällä ruuvilla kahteen kiskoon (pituus noin 25 cm) ja muutamalla pienellä 3D -tulostetulla tuella minulla on liikkeen moottorin vapaasti siirrettävät kiinnikkeet, jotka helpottavat filamenttirullan asettamista ja poistamista.

Jokainen voi valita oman ratkaisunsa työpöydänsä järjestelyn mukaan.

Vaihe 7: Johdotus ja yhdistäminen Arduinoon

Image
Image
Johdotus ja yhdistäminen Arduinoon
Johdotus ja yhdistäminen Arduinoon

Kuten Kit -sisällön vaiheessa selitettiin, olen käyttänyt Infineon TLE94112LE DC -moottorisuojaa Arduinolle ja testannut moottoria sekä Arduino UNO R3: lla että Infineon XMC110 Boot Kitillä.

Jos ohjaat moottoria (tarvitset PWM -ominaisuuksia) valitsemallasi tasavirtaohjainkortilla, mukauta ohjeet vain kilven teknisiin tietoihin.

Huomautus TLE04112LE Arduino Shieldistä

Yksi rajoituksista, jotka olen kokenut muiden Arduinon moottorin ohjauskilvojen kanssa, on se, että ne käyttävät saman mikro -ohjaimen ominaisuuksia (eli PWM- ja GPIO -nastat); Tämä tarkoittaa, että korttisi on omistautunut näille tehtäville, kun taas vain muutamia muita resursseja (MPU ja GPIO) on käytettävissä muihin tarkoituksiin.

Mahdollisuus laittaa kädet TLE94122LE Arduino -kilpeen tien testaamiseen, piirin ilmeisin etu, johon levy perustuu, on vain sen täydellisyys. Arduino -levy kommunikoi kilven kanssa SPI -protokollan kautta käyttämällä vain kahta nastaa. TLE94112LE IC käsittelee kaikki kilpeen lähettämäsi komennot itsenäisesti kuluttamatta MPU -resursseja. Toinen Infineon -kortin merkittävä piirre on mahdollisuus ohjata jopa kuutta harjattua moottoria kolmella ohjelmoitavalla PWM -kanavalla. Tämä tarkoittaa, että Arduino voi asentaa yhden tai useamman moottorin, käynnistää ne ja jatkaa muiden tehtävien käsittelyä. Tämä suoja osoittautui täydelliseksi tukemaan jopa kuutta erilaista filamenttirullaa samanaikaisesti. Liike on vain yksi MPU: n tehtävistä. jokaisessa filamenttisäätimessä alle 5 eurolla.

Painoanturi

Muutamien kokeiden jälkeen huomasin, että oli mahdollista ohjata koko järjestelmää - valvontaa ja automaattista syöttöä - yhdellä anturilla; punnituskenno (painoanturi) pystyy dynaamisesti mittaamaan hehkulankakelan painon vaihtelut ja toimittamaan kaikki tarvitsemamme tiedot.

Käytin halpaa punnituskennoa alueella 0-5 kg yhdessä pienen levyn kanssa, joka perustui HX711 AD -vahvistimeen, joka on spesifinen punnituskennojen antureiden hallintaan. Liitäntäongelmia ei ollut, koska se on saatavilla hyvin toimivasta Arduinon kirjastosta.

Kolme vaihetta laitteiston asettamiseen

  1. Aseta suojus Arduino -levyn tai Infineon XMC110 Boot Kit -sarjan päälle
  2. Liitä moottorin johdot suojan Out1- ja Out2 -ruuviliittimiin
  3. Liitä HX711 AD -painonvahvistimen virta ja signaalit Arduino -nastoihin. Tässä tapauksessa olen käyttänyt nastoja 2 ja 3, mutta kaikki vapaat nastat ovat kunnossa.

Varoitus: p 8 ja 10 on TLE94113LE -suojan varaama SPI -liitäntää varten

Siinä kaikki! Oletko valmis määrittämään ohjelmiston? Mene eteenpäin.

Vaihe 8: Ohjelmiston ja ohjauksen komentosarja

Ohjelmiston ja ohjauksen komentosarja
Ohjelmiston ja ohjauksen komentosarja
Ohjelmiston ja ohjauksen komentosarja
Ohjelmiston ja ohjauksen komentosarja
Ohjelmiston ja ohjauksen komentosarja
Ohjelmiston ja ohjauksen komentosarja
Ohjelmiston ja ohjauksen komentosarja
Ohjelmiston ja ohjauksen komentosarja

Koko dokumentoitu ohjelmisto voidaan ladata GitHub -arkistosta 3DPrinterFilamentDispenserAndMonitor

tässä tarkastellaan vain tärkeimpiä osia ja ohjauskomentoja.

Arduinon UNO I: n käytettävissä olevien nastojen määrässä on syy, jonka päätin ohjata järjestelmää USB -sarjapäätteen kautta; Koska jokainen moottoroitu yksikkö perustuu painoanturiin, kuuden eri hehkulanka -annostelijan ohjaus vaatii kuuden painoanturin tietojen lukemista. Jokainen punnituskenno "kuluttaa" kaksi nastaa, nastat 0 ja 1 on varattu (Tx/Rx) sarjalle ja nastat 8 ja 10 on varattu SPI -kanavalle, joka yhdistää TLE94112LE -suojan.

Järjestelmän tila

Ohjausohjelmisto toimii neljässä eri tilassa, jotka on määritelty filamentissa. H:

#define SYS_READY "Valmis" // Järjestelmä valmis

#define SYS_RUN "Running" // filamentti käytössä #define SYS_LOAD "Load" // Roll ladattu #define SYS_STARTED "Started" // Sovellus käynnistetty // Tilakoodit #define STAT_NONE 0 #define STAT_READY 1 #define STAT_LOAD 2 #define STAT_R 3

Tila: Aloitettu

Tämä tila ilmenee laitteiston nollauksen jälkeen tai kun järjestelmään kytketään virta. Käynnistys (ja setup () -puhelu luonnoksen alkaessa) alustaa sisäiset oletusarvot, ja se on aloitettava ilman ylimääräistä painoa alustalla, koska alustusjakso on absoluuttisen taaran hankkiminen fyysisen nollapainon saavuttamiseksi.

Tila: Valmis

Valmiustila tapahtuu pehmeän nollauksen jälkeen (lähetetään sarjapäätteestä). Se on samanlainen kuin fyysinen resekti, mutta taaraa ei lasketa; nollauskomento voidaan käynnistää myös järjestelmän ollessa käynnissä.

Tila: Lataa

Lataustila ilmenee, kun päätelaite lähettää latauskomennon. Tämä tarkoittaa, että filamenttirulla on ladattu ja dynaaminen taara laskettu. Hehkulangan tarkka paino saadaan telan kokoonpanosta vähentämällä moottoriyksikön ja tyhjän rullan paino.

Tila: käynnissä

Tämä tila mahdollistaa automaattisen painon laskennan ja automaattisen hehkulangan annostelijan.

Päätelaitteen viestit

Ohjelmiston nykyinen versio palauttaa ihmisen luettavat viestit päätelaitteeseen komentojen mukaan. Merkkijonoviestit määritellään kahdessa otsikkotiedostossa: commands.h (komentoihin liittyvät viestit ja vastaukset) ja filament.h (merkkijonot, joita jäsennys käyttää yhdistelmäviestien luomiseen).

Komennot

Komentojen hallintaan liittyy kaksi eri tiedostoa: commands.h, joka sisältää kaikki komennot ja niihin liittyvät parametrit ja filament.h mukaan lukien kaikki painotusjärjestelmän ja jäsentimen käyttämät vakiot ja määritelmät.

Vaikka ohjelmisto suorittaa sisäiset laskelmat automaattisesti, olen toteuttanut sarjan komentoja järjestelmän toiminnan määrittämiseksi ja joidenkin parametrien manuaaliseksi ohjaamiseksi.

Komentojen avainsanat erottavat isot ja pienet kirjaimet, ja ne tulee lähettää vain päätelaitteesta. Jos komento ei sovellu sen nykyiseen tilaan, sitä ei tunnisteta, väärä komentoviesti palautetaan, muuten komento suoritetaan.

Tilakomennot

Muuta järjestelmän nykyistä tilaa ja myös käyttäytyminen mukautuu

Filament -komennot

Erillisten komentojen avulla on mahdollista asettaa filamentti- ja rullaominaisuudet markkinoiden nykyisin yleisimmän painon ja koon perusteella

Yksiköt -komennot

Nämä ovat pari komentoa mittayksiköiden visualisoinnin asettamiseksi grammoina tai senttimetreinä. Itse asiassa on mahdollista poistaa nämä komennot ja esittää aina tiedot molemmissa yksiköissä.

Tietokomennot

Näytä tietoryhmät järjestelmän tilan mukaan

Moottorin komennot

Ohjaa moottoria hehkulangan syöttämiseksi tai vetämiseksi.

Kaikki moottorikomennot noudattavat kiihdytys-/hidastuspolkua. Molemmat komennot syöttää ja vedä suorittavat lyhyen jakson moottorin h määrittämän vakion FEED_EXTRUDER_DELAY mukaisesti, kun taas syöttö- ja pullc -komennot toimivat loputtomasti, kunnes pysäytyskomentoa ei vastaanoteta.

Käyntitilan komennot

Käyntitila hyväksyy kaksi tilaa; tilan mies vain lukee ajoittain painon ja moottori liikkuu, kunnes moottorin ohjauskomentoa ei lähetetä. Tila -auto suorittaa sen sijaan kaksi syöttökomentoa, kun ekstruuderi tarvitsee enemmän filamenttia.

Periaate perustuu painoarvoihin, jotka on yhdistetty tähän ympäristöön. Odotamme hehkulangan kulutuksen olevan suhteellisen hidasta, 3D -tulostimet ovat lähes hitaita ja normaalipainoiset värähtelyt riippuvat ympäristön tärinästä (parempi, jos et laita koko tavaraa 3D -tulostimeen)

Kun suulakepuristin vetää filamenttia, painoero kasvaa dramaattisesti (50 g tai enemmän) hyvin lyhyessä ajassa, tyypillisesti kahden tai kolmen lukeman välillä. Ohjelmisto suodattaa nämä tiedot, jotka "vähentävät" uuden filamentin tarpeen. Väärien lukemien välttämiseksi painon vaihtelut moottorin käydessä jätetään huomiotta.

Sovelluslogiikka

Sovelluslogiikka on jaettu.ino main (Arduino -luonnos) kolmelle toiminnolle: setup (), loop () ja parseCommand (commandString)

Luonnos käyttää kahta erillistä luokkaa: FilamentWeight -luokkaa kaikkien filamenttilaskelmien ja anturilukemien hallitsemiseksi HX711 IC- ja MotorControl -luokan kautta, jotka ovat yhteydessä TLE94112LE Arduino -kilven matalan tason menetelmiin.

perustaa()

Käynnistetään kerran käynnistyksen yhteydessä tai laitteiston nollauksen jälkeen, kun alustat luokkien esiintymät, asennat laitteiston ja päätelaitteen tiedonsiirron.

silmukka ()

Pääsilmukatoiminto hallitsee kolmea eri ehtoa.

Vaikka painoanturille ja moottoreille on kaksi luokkaa suhteellisen monimutkaisia, etuna on, että syntyvä luonnos on todella helppo ymmärtää ja hallita.

  1. Tarkista (automaattitilassa), tarvitseeko suulakepuristin enemmän hehkulankaa
  2. Jos moottori käy, tarkista laitteistovirheet (TLE94112LE palauttaa)
  3. Jos sarjatietoja on saatavilla, jäsennä komento

parseCommand (commandString)

Jäsennystoiminto tarkistaa sarjasta tulevat merkkijonot ja kun komento tunnistetaan, se käsitellään välittömästi.

Jokainen komento toimii tilakoneena, joka vaikuttaa johonkin järjestelmän parametriin; tämän logiikan mukaisesti kaikki komennot supistetaan kolmeen peräkkäiseen toimintoon:

  1. Lähetä komento FilamentWeight -luokkaan (painokomennot) tai MotorControl -luokkaan (moottorikomennot)
  2. Suorittaa laskennan päivittääkseen painoarvot tai päivittääkseen yhden sisäisistä parametreista
  3. Näytä päätelaitteessa ja tiedonsiirrossa, kun suoritus on valmis

Asenna HX711 Arduino -kirjasto, lataa ohjelmisto GitHubista ja lataa se Arduino -kortillesi ja nauti!

Suositeltava: