Satura rādītājs:

Robotu šķiedru dozators Arduino: 8 soļi (ar attēliem)
Robotu šķiedru dozators Arduino: 8 soļi (ar attēliem)

Video: Robotu šķiedru dozators Arduino: 8 soļi (ar attēliem)

Video: Robotu šķiedru dozators Arduino: 8 soļi (ar attēliem)
Video: RC DENİZALTI YAPIMI, DENİZALTILARIN ÇALIŞMA PRENSİBİ, ARŞİMET PRENSİBİ 2024, Jūlijs
Anonim
Image
Image

Kāpēc motorizēts instruments

3D printeru pavedienu - parasti gandrīz izturīgu - velk ekstrūderis, kamēr rullītis ir novietots netālu no printera, brīvi pagriežams. Esmu novērojis būtiskas atšķirības materiāla uzvedībā atkarībā no izmantošanas līmeņa, kas attiecas uz 1 kg kvēldiega ruļļiem. Jauna (pilna) kvēldiega spole plūst gandrīz labi, bet spiedienam, ko pieliek ekstrūderim, jābūt samērā būtiskam: svars ir vismaz 1,5 kg.

Ekstrūdera motoram (vairumā gadījumu Nema17 pakāpienam) ir pietiekama jauda, lai veiktu šo darbu, bet abi ekstrūdera pārnesumi, stumjot kvēldiegu uz karstās puses pusi, vienlaikus strādājot, savāc kvēldiega daļiņas. tam nepieciešama bieža ekstrūdera apkope, lai izvairītos no sprauslas aizsērēšanas. Šīm daļiņām ir tendence atdalīties un sajaukties ar tīru pavedienu barošanas laikā, palielinot sprauslu problēmas un biežāku sprauslu nodilumu; tas notiek biežāk ar 0,3 mm diametra sprauslām.

Kad kvēldiega rullītis tiek izmantots līdz pusei vai vairāk, tā spirāles kļūst mazākas un dažos vides apstākļos kvēldiegam ir tendence salūzt pārāk bieži. Ilgi drukas darbi kļūst mazāk uzticami un saspringti; Es nevaru atstāt printeri vienatnē visu nakti bez tā kontroles. Tādējādi, kontrolējot kvēldiega padevi ar motora skaitļiem, tiek atrisināta virkne problēmu.

Komplekts ir pieejams vietnē Tindie.com

1. darbība: komplekta saturs

Komplekta saturs
Komplekta saturs
Komplekta saturs
Komplekta saturs

Komplektā ietilpst visas 3D drukātās detaļas un mehānika, lai saliktu motorizēto kvēldiegu dozatoru. Tā vietā ir divas papildu detaļas: motors un motora vadības panelis.

Savā iestatījumā esmu izmantojis 12 V McLennan motoru ar zobratu suku, bet jebkurš 37 mm diametra motors var pareizi iederēties motora balstā.

Labākās izrādes tiek sasniegtas ar TLE94112LE Arduino vairogu no Infineon (pilns pārskats šeit); šī līdzstrāvas motora kontrollera plāksne vienlaikus var atbalstīt līdz 6 dažādiem robotu dozatoru komplektiem.

Esmu pārbaudījis visu sistēmu gan ar Arduino UNO R3, gan ar Arduino saderīgo plates XMC1100 Boot komplektu, ko izstrādājusi Infineon, un sistēma ļoti labi reaģēja uz abiem mikrokontrolleru paneļiem.

Ir ieteicams izmantot vairogu TLE94112LE, bet tas nav būtiski. Jebkurš līdzstrāvas motora kontrolieris Arduino - ieskaitot savu projektu! - var labi strādāt ar šo rīku

Komplekts ir sadalīts divos komponentu komplektos, jo divas daļas ir veidotas tā, lai tās darbotos kopā. Bāzes platforma atbalstīs kvēldiega ruļļu, kas rotē uz četriem brīviem riteņu gultņiem. Pamatne ir piestiprināta pie svara sensora, lai kontrolētu rotējošo mehānismu, kas aktivizē tā aktivizēšanu, kā arī uzraudzītu kvēldiega apstākļus: svaru, metrus un procentus. Daudz informācijas, kā arī pilns komandu kopums ir pieejams no Arduino, izmantojot seriālo termināli.

Nepieciešamie rīki

Lai pabeigtu montāžu, dažām detaļām nepieciešama izturīga plastmasas līme, skrūvgriezis un sešstūra skrūvju komplekts.

2. solis: projekts un dizains

Projekts un dizains
Projekts un dizains
Projekts un dizains
Projekts un dizains
Projekts un dizains
Projekts un dizains

Šis projekts ir 3D printera kvēldiega dozatora sērijas trešā attīstība Pirms dažām reizēm es izveidoju rotējošo pamatni, lai optimizētu kvēldiega plūsmu, kad to velk 3D printera ekstrūderis.

Otrajā modelī bija svara sensors, lai reāllaikā uzraudzītu kvēldiega izmantošanu ar Arduino plāksni. Šis pēdējais projekts ietver kvēldiega automātisku atbrīvošanu atkarībā no 3D printera darba vajadzībām. Tas ir balstīts uz virtuālo svara variāciju, kad ekstrūderis sāk vilkt kvēldiegu. Šis notikums iedarbina mikrokontrolleri caur svara sensoru, un motorizētais kvēldiega rullis sāk atbrīvot dažas collas materiāla, pēc tam palēnina un apstājas.

Komponenti ir eksportēti STL formātā un izdrukāti 3D formātā, pēc tam rafinēti un salikti kopā. Esmu izveidojis pielāgotu atbalstu, lai izlīdzinātu kustības daļu ar pamatni. Garākā alumīnija sliede tika izmantota arī Arduino un motora vairoga atbalstam, lai padarītu visu instrumentu kompaktu un viegli pārvietojamu.

Veidojot dizainu, es sekoju vairākiem pieņēmumiem:

  • Padara automatizēto dzinēju gandrīz vienkāršu un viegli reproducējamu
  • Lai to izveidotu, pēc iespējas samaziniet ar 3D nesaderīgu komponentu skaitu
  • Cik vien iespējams, samaziniet spiedienu, kas tiek pielikts uz ekstrūdera drukāšanas laikā
  • Izmantojiet zemu cenu un viegli programmējamu mikrokontrollera plati
  • Izmantojiet svara slodzes sensoru, lai kontrolētu kvēldiega patēriņu un kvēldiega padevi Pārvaldiet vides troksni, kas traucē kvēldiega svara mērījumiem

Tas ir rezultāts, kuru es sasniedzu.

3. solis: pamatnes salikšana

Bāzes salikšana
Bāzes salikšana
Bāzes salikšana
Bāzes salikšana
Bāzes salikšana
Bāzes salikšana

Pirmais solis ir pamatnes salikšana ar svara sensoru.

  1. Ievietojiet mazo gultņa ass cauruli gultņa atverē
  2. Novietojiet abus atdalīšanas diskus gultņa malās
  3. Ievietojiet komponentus "U" izmēra gultņu balsta iekšpusē, izlīdzinot caurumus
  4. ievietojiet sešstūra skrūvi vienā pusē un paplāksni un uzgriezni otrā pusē, aizverot uzgriezni bez pārāk lielas piepūles

Darbība jāatkārto visiem četriem gultņu balstiem. Pēc tam pārbaudiet montāžu: gultņiem vajadzētu brīvi griezties.

Tagad ar sešstūra skrūvēm piestipriniet četrus gultņu balstus augšējā pamatnē ar četriem regulēšanas caurumiem. Izlīdziniet gultņu balstus, lai tie būtu paralēli. Regulējiet attālumu atkarībā no kvēldiega ruļļu platuma.

Nākamais solis ir svara sensora stieņa salikšana, turot kopā apakšējo un augšējo pamatni. Svara sensoram ir divas dažādas sešstūra skrūves abās pusēs, un jums tas jānovieto tā, lai maksimālā svara marķējums būtu nolasāms, ja pamatne ir pareizi novietota. Apakšējā pamatnē ir divi papildu sānu caurumi svara sensora A/D pastiprinātāja nostiprināšanai. Pastiprinātājs, kura pamatā ir HX711 IC, tiks barots un savienots ar Arduino plati, izmantojot četrus vadus, kā parādīts pievienotajā sensora datu lapā.

Pēdējais solis ir visas augšējās pamatnes salikšana virs svara sensora, kas jau ir piestiprināts pie apakšējās daļas.

Pirmā sastāvdaļa ir iestatīta!

4. solis: spoles kustības dzinēja detaļu salikšana

Spoles kustības motora detaļu salikšana
Spoles kustības motora detaļu salikšana
Spoles kustības motora detaļu salikšana
Spoles kustības motora detaļu salikšana
Spoles kustības motora detaļu salikšana
Spoles kustības motora detaļu salikšana

Vienkāršākā spoles kustības dzinēja salikšanas procedūra ir četru vissvarīgāko sastāvdaļu salikšana atsevišķi un pēc tam pabeigt galīgo ēku:

Pārnesumkārbas līdzstrāvas motors motora transmisijas kārbā

Līdzstrāvas motors jāuzstāda konstrukcijas balsta centrālajā daļā; pirms motora pieskrūvēšanas jums jāizlemj, kura būs jūsu vēlamā puse, kur novietot pārnesumu pusi, lai pareizi izlīdzinātu abas rokas, kas tur motoru un piedzenamo lielo pārnesumu.

Piedziņas lielais pārnesums

Lielais pārnesums ir jāpieskrūvē ar saīsinātu konisko bloku ar četrām sešstūra skrūvēm. Šo zobratu uz rotējošās ass bloķēs uzgriežņi; koniskā daļa turēs kvēldiega spoli, kas ir nobloķēta otrā pusē ar līdzīgiem fiksācijas uzgriežņiem cita saīsināta koniskā bloka iekšpusē. Šis risinājums ne tikai notur kustīgo mehānismu, bet arī novirza visu svaru uz pamatni, un tas ir sistēmas taras svars.

Spoles fiksatora turētājs

Tas ir saīsināts koniskais bloks, kas kopā ar piedziņas mehānismu līdzīgu bloķēšanas pusi noturēs kustības mehānismu pie kvēldiega spoles. Takta dēļ kvēldiega rullītis pabeidz ēku, kamēr divu roku balsts var brīvi pārvietoties otrā pusē.

Kā redzams attēlos, spoles fiksatora turētājs ir veidots divās daļās. Vispirms ievietojiet M4 uzgriezni lielākā bloka daļā, pēc tam pielīmējiet otro daļu (vāku), turot blokus kopā. Uzgrieznis paliek ieslodzīts slēdzenes turētāja iekšpusē, kas tiks pieskrūvēts pie vītņotās piedziņas ass.

Gultņu kaste

Gultņu kārbai ir divas funkcijas: nodrošina labu transmisijas pārnesumu atbalstu un vienmērīgu un klusu kustību. Lai saliktu gultņu kārbu, rīkojieties šādi:

  1. Pieskrūvējiet pirmo M4 uzgriezni pie viena no diviem vītņotā spoles turētāja piedziņas ass galiem
  2. Ievietojiet pirmo gultni
  3. Ievietojiet atdalītāju
  4. Ievietojiet otro gultni
  5. Pieskrūvējiet otro uzgriezni un mēreni nofiksējiet. Iekšējais plastmasas separators pretosies pietiekamam spēkam, lai lietas saglabātu vietā arī ilgstošai lietošanai.
  6. Ievietojiet samontētos gultņus gultņu kastē. Tas jādara piespiedu kārtā, lai panāktu labākus rezultātus, tāpēc, paplašinot plastmasas detaļas, neizplatiet pārāk daudz kastes iekšpusi.

Mēs esam gatavi galīgajai sastāvdaļu montāžai!

5. solis: kustību dzinēja montāžas pabeigšana

Kustības dzinēja montāžas pabeigšana
Kustības dzinēja montāžas pabeigšana
Kustības dzinēja montāžas pabeigšana
Kustības dzinēja montāžas pabeigšana
Kustības dzinēja montāžas pabeigšana
Kustības dzinēja montāžas pabeigšana

Mēs gatavojamies pabeigt konstrukcijas montāžu, tad varam pāriet uz kustības pārbaudi. Tagad jums atkal vajag dažas līmes. Gultņu kārba, kas samontēta iepriekšējā solī, jāievieto divu roku dzinēja balsta kārbas turētāja atverē un, iespējams, jāpielīmē, lai ieskrūvētu kārbas vāku.

Brīdinājums: nelīmējiet kastes vāku, tikai pieskrūvējiet to. Pārsegs ir svarīgs putekļu aizsardzībai, un tam jābūt noņemamam, lai veiktu turpmākus apkopes darbus.

Kad šī iestatīšana ir pabeigta, pirms piedziņas piedziņas (lielāka) pievienošanas pievienojiet mazo atdalīšanas gredzenu: tas saglabā lielo pārnesumu izlīdzinātu ar motora pārnesumu, kas darbojas kā paplāksne, lai nostiprinātu piedziņas kustīgo mezglu.

Pēc tam ievietojiet vadītāja zobratu (mazo) motora vārpstā. Ņemiet vērā, ka motorā, kā arī pārnesuma centrālajā atverē ir plakana puse, lai pārnesums grieztos līdzstrāvas motora darbībā.

Pēdējā posmā ievietojiet lielo piedziņu, kā parādīts attēlos, un ar diviem M4 uzgriežņiem nofiksējiet to pie vītņotās ass.

Mehānikas ēka ir pabeigta!

6. darbība: bonuss: kā es pielāgoju atbalstu komplekta pārvaldībai

Bonuss: kā es pielāgoju atbalstu komplekta pārvaldībai
Bonuss: kā es pielāgoju atbalstu komplekta pārvaldībai
Bonuss: kā es pielāgoju atbalstu komplekta pārvaldībai
Bonuss: kā es pielāgoju atbalstu komplekta pārvaldībai
Bonuss: kā es pielāgoju atbalstu komplekta pārvaldībai
Bonuss: kā es pielāgoju atbalstu komplekta pārvaldībai

Lai saglabātu komplektu vietā, es izveidoju ļoti vienkāršu struktūru, kuras pamatā ir divas alumīnija kvadrātveida caurules, lai atbalstītu gan pamatni, gan kustību struktūru. Pamatne ar četrām skrūvēm ir piestiprināta pie divām sliedēm (apmēram 25 cm garas), un ar pāris maziem 3D drukātiem balstiem man ir kustību dzinēja brīvi pārvietojami elementi, lai atvieglotu kvēldiega ruļļa ievietošanu un noņemšanu.

Ikviens var izvēlēties savu risinājumu atkarībā no tā, kā tiek organizēts viņa darbagalds.

7. solis: Elektroinstalācija un savienojums ar Arduino

Image
Image
Elektroinstalācija un savienojums ar Arduino
Elektroinstalācija un savienojums ar Arduino

Kā paskaidrots komplektā, es esmu izmantojis Infineon TLE94112LE līdzstrāvas motora vairogu Arduino un pārbaudījis dzinēju gan Arduino UNO R3, gan Infineon XMC110 sāknēšanas komplektā.

Ja jūs vadīsit motoru (nepieciešamas PWM funkcijas) ar jūsu izvēlētu līdzstrāvas kontrollera paneli, vienkārši pielāgojiet instrukcijas vairoga tehniskajām specifikācijām.

Piezīme par TLE04112LE Arduino vairogu

Viens no ierobežojumiem, ko esmu pieredzējis ar citiem Arduino motora vadības vairogiem, ir tas, ka tie izmanto viena un tā paša mikrokontrollera funkcijas (ti, PWM un GPIO tapas); tas nozīmē, ka jūsu dēlis ir veltīts šiem uzdevumiem, bet tikai daži citi resursi (MPU un GPIO) ir pieejami citiem mērķiem.

Ņemot iespēju uzlikt rokas uz TLE94122LE Arduino vairoga testēšanai uz ceļa, acīmredzamākā IC priekšrocība, uz kuras tāfele ir balstīta, ir tikai tās pilnīgums. Arduino dēlis sazinās ar vairogu, izmantojot SPI protokolu, izmantojot tikai divas tapas. Katru komandu, ko nosūtāt uz vairogu, TLE94112LE IC apstrādā autonomi, neizmantojot MPU resursus. Vēl viena ievērojama Infineon plates iezīme ir iespēja vadīt līdz sešiem matētiem motoriem ar trim programmējamiem PWM kanāliem. Tas nozīmē, ka Arduino var iestatīt vienu vai vairākus motorus, iedarbināt tos un turpināt strādāt pie citiem uzdevumiem. Šis vairogs izrādījās ideāls, lai vienlaikus atbalstītu līdz sešiem dažādiem kvēldiega ruļļiem. Kustība ir tikai viens no MPU atbildīgajiem uzdevumiem. Ņemot vērā iespēju pārvaldīt sešas dažādas pavedienu spoles ar vienu Arduino + vairogu, mikrokontrollera izmaksu ietekme uz katra kvēldiega kontroliera mazāk par 5 eiro.

Svara sensors

Pēc dažu eksperimentu veikšanas es redzēju, ka ir iespējams kontrolēt visu sistēmu - uzraudzību un automātisko padevi - ar vienu sensoru; slodzes sensors (svara sensors) spēj dinamiski izmērīt kvēldiega spoles svara variācijas, sniedzot visu nepieciešamo informāciju.

Es izmantoju lētu slodzes mērītāju diapazonā no 0 līdz 5 kg kopā ar nelielu dēli, kura pamatā ir HX711 AD pastiprinātājs, kas ir specifisks slodzes šūnu sensoru pārvaldībai. Saskarnes problēmas nebija, jo ir pieejama labi strādājoša Arduino bibliotēka.

Trīs soļi aparatūras iestatīšanai

  1. Ievietojiet vairogu Arduino plates vai Infineon XMC110 sāknēšanas komplekta augšpusē
  2. Pievienojiet motora vadus vairoga Out1 un Out2 skrūvju savienotājiem
  3. Pievienojiet HX711 AD svara sensora pastiprinātāja jaudu un signālus Arduino tapām. Šajā gadījumā esmu izmantojis 2. un 3. tapu, bet visas brīvās tapas ir kārtībā.

Brīdinājums: 8. un 10. p. SPLE savienojumam rezervē vairogs TLE94113LE

Tas ir viss! Vai esat gatavs iestatīt programmatūru? Uz priekšu.

8. solis: programmatūras un vadības komandu kopa

Programmatūras un vadības komandu kopa
Programmatūras un vadības komandu kopa
Programmatūras un vadības komandu kopa
Programmatūras un vadības komandu kopa
Programmatūras un vadības komandu kopa
Programmatūras un vadības komandu kopa
Programmatūras un vadības komandu kopa
Programmatūras un vadības komandu kopa

Pilnu dokumentēto programmatūru var lejupielādēt no GitHub repozitorija 3DPrinterFilamentDispenserAndMonitor

šeit mēs aplūkojam tikai visnozīmīgākās daļas un vadības komandas.

Ir kāds iemesls, ko nosaka pieejamo tapu skaits Arduino UNO I nolēma vadīt sistēmu, izmantojot USB seriālo termināli; Tā kā katras motorizētās vienības pamatā ir svara sensors, lai kontrolētu sešus dažādus kvēldiega dozatorus, ir jālasa dati no sešiem svara sensoriem. Katra slodzes mērierīce "patērē" divas tapas, 0 un 1 tapa ir rezervēta (Tx/Rx) sērijveida, un tapas 8 un 10 ir rezervētas SPI kanālam, kas savieno TLE94112LE vairogu.

Sistēmas statuss

Vadības programmatūra darbojas četros dažādos stāvokļos, kas definēti pavedienā.h:

#define SYS_READY "Gatavs" // Sistēma gatava

#define SYS_RUN "Running" // lietots pavediens #define SYS_LOAD "Load" // Roll ielādēts #define SYS_STARTED "Started" // Lietojumprogramma sākta // Statusa kodi #define STAT_NONE 0 #define STAT_READY 1 #define STAT_LOAD 2 #define STAT_UN 3

Statuss: sākts

Šis statuss rodas pēc aparatūras atiestatīšanas vai sistēmas ieslēgšanas. Ieslēgšanas (un iestatīšanas () izsaukums, kad sākas skice) inicializē iekšējās noklusējuma vērtības, un tā jāsāk bez papildu svara platformā, jo inicializācijas secības daļa ir absolūtās taras iegūšana, lai sasniegtu fizisko nulles svaru.

Statuss: gatavs

Gatavības stāvoklis notiek pēc mīkstas atiestatīšanas (nosūtīts no sērijas termināļa). Tas ir līdzīgs fiziskajai rezekcijai, bet tara netiek aprēķināta; komandu reset var palaist arī tad, kad sistēma darbojas.

Statuss: ielādēt

Slodzes statuss rodas, kad terminālis nosūta ielādes komandu. Tas nozīmē, ka kvēldiega rullis ir ielādēts un dinamiskā tara ir aprēķināta. Precīzu kvēldiega svaru iegūst, ruļļa uzstādīšanas veidam atņemot motora bloka un tukšā ruļļa svaru.

Statuss: darbojas

Šis statuss ļauj automātiski aprēķināt svaru un izmantot kvēldiega automātisko dozatoru.

Termināla ziņojumi

Programmatūras pašreizējā versija atkarībā no komandām atgriež terminālim cilvēka lasāmus ziņojumus. Virknes ziņojumi ir definēti divos galvenes failos: commands.h (ar komandām saistīti ziņojumi un atbildes) un filament.h (virknes, ko parsētājs izmanto saliktu ziņojumu izveidošanai).

Komandas

Komandu pārvaldībā ir iesaistīti divi dažādi faili: commands.h, ieskaitot visas komandas un ar tiem saistītos parametrus un pavedienu.h, ieskaitot visas konstantes un definīcijas, ko izmanto svēršanas sistēma un parsētājs.

Lai gan iekšējos aprēķinus programmatūra veic automātiski, esmu ieviesis virkni komandu, lai iestatītu sistēmas darbību un manuāli kontrolētu dažus parametrus.

Komandu atslēgvārdi ir reģistrjutīgi, un tie vienkārši jānosūta no termināļa. Ja komanda neatbilst tās pašreizējam statusam, netiek atpazīts nepareizs komandas ziņojums, pretējā gadījumā komanda tiek izpildīta.

Statusa komandas

Mainiet sistēmas pašreizējo statusu, un uzvedība tiek pielāgota

Pavedienu komandas

Izmantojot atsevišķas komandas, ir iespējams iestatīt kvēldiega un ruļļa raksturlielumus, pamatojoties uz tirgū visbiežāk pieejamo svaru un izmēriem

Vienības komandas

Šīs ir pāris komandas, lai iestatītu mērvienību vizualizāciju gramos vai centimetros. Faktiski ir iespējams novērst šīs komandas un vienmēr attēlot datus abās vienībās.

Informācijas komandas

Rādīt informācijas grupas atkarībā no sistēmas statusa

Motora komandas

Vadiet motoru kvēldiega padevei vai vilkšanai.

Visas motora komandas seko paātrinājuma/palēninājuma ceļam. Abas komandas feed and pull izpilda īsu secību, kā definēts motor.h ar konstantu FEED_EXTRUDER_DELAY, kamēr feedc un pullc komandas darbojas bezgalīgi, līdz netiek saņemta apturēšanas komanda.

Darbības režīma komandas

Darbības statuss pieņem divus režīmus; režīma cilvēks vienkārši periodiski nolasa svaru un motors kustas, līdz motora vadības komanda netiek nosūtīta. Automātiskais režīms tā vietā izpilda divas padeves komandas, kad ekstrūderam nepieciešams vairāk kvēldiega.

Princips ir balstīts uz svara rādījumiem, kas kontekstuāli pielāgoti šai konkrētajai videi. Mēs sagaidām, ka kvēldiega patēriņš ir salīdzinoši lēns, 3D printeri ir gandrīz lēni un normālā svara svārstības ir atkarīgas no apkārtējās vides vibrācijas (labāk, ja neliksit visas lietas uz 3D printera)

Kad ekstrūderis pavelk kvēldiegu, svara atšķirība dramatiski palielinās (50 g vai vairāk) ļoti īsā laikā, parasti starp diviem vai trim rādījumiem. Šo informāciju filtrē programmatūra, kas "atskaita", ka nepieciešams jauns kvēldiegs. Lai izvairītos no nepareiziem rādījumiem, svara svārstības motora darbības laikā netiek ņemtas vērā.

Pielietojuma loģika

Lietojumprogrammas loģika tiek izplatīta.ino galvenajā (Arduino skice) pa trim funkcijām: setup (), loop () un parseCommand (commandString)

Skicē tiek izmantotas divas atsevišķas klases: FilamentWeight klase, lai pārvaldītu visus kvēldiega aprēķinus un sensora nolasījumus, izmantojot HX711 IC un MotorControl klasi, sasaistot TLE94112LE Arduino vairoga zemā līmeņa metodes.

uzstādīt()

Tiek palaists vienu reizi, kad tiek ieslēgts vai pēc aparatūras atiestatīšanas tiek inicializēti klašu gadījumi, iestatīta aparatūra un termināļa sakari.

cilpa ()

Galvenā cilpas funkcija pārvalda trīs dažādus nosacījumus.

Lai gan svara sensoriem un motoriem ir divas klases, kas ir samērā sarežģītas, pastāv priekšrocība, ka iegūtā skice ir patiešām viegli saprotama un pārvaldāma.

  1. Pārbaudiet (automātiskajā režīmā), vai ekstrūderim ir nepieciešams vairāk kvēldiega
  2. Ja motors darbojas, pārbaudiet, vai nav aparatūras kļūdu (atgrieza TLE94112LE)
  3. Ja ir pieejami sērijas dati, parsējiet komandu

parseCommand (commandString)

Parsēšanas funkcijas pārbauda virknes, kas nāk no sērijas, un, kad komanda tiek atpazīta, tā tiek nekavējoties apstrādāta.

Katra komanda darbojas kā stāvokļa mašīna, kas ietekmē kādu sistēmas parametru; ievērojot šo loģiku, visas komandas tiek samazinātas līdz trim secīgām darbībām:

  1. Sūtiet komandu FilamentWeight klasei (svara komandas) vai MotorControl klasei (motora komandas)
  2. Veic aprēķinu, lai atjauninātu svara vērtības vai atjauninātu kādu no iekšējiem parametriem
  3. Rādīt terminālī un informācijas izvadā, kad izpilde ir pabeigta

Instalējiet HX711 Arduino bibliotēku, lejupielādējiet programmatūru no GitHub un augšupielādējiet to savā Arduino panelī, tad izbaudiet!

Ieteicams: