Sisukord:

Arduino: täpsuslüliti samm -mootorile: 19 sammu
Arduino: täpsuslüliti samm -mootorile: 19 sammu

Video: Arduino: täpsuslüliti samm -mootorile: 19 sammu

Video: Arduino: täpsuslüliti samm -mootorile: 19 sammu
Video: Уроки Ардуино #0 - что такое Arduino, куда подключаются датчики и как питать Ардуино 2024, Juuli
Anonim
Image
Image
Globaalsed muutujad
Globaalsed muutujad

Täna näitan teile raamatukogu täissammulisele mootorsõidukijuhile, millel on piirlülitid, ja mootori liikumist kiirenduse ja mikroastmega. See Lib, mis töötab nii Arduino Uno kui ka Arduino Mega peal, võimaldab mootoreid liigutada mitte ainult sammude arvu, vaid ka millimeetrite põhjal. Ja see on ka üsna täpne.

Selle raamatukogu oluline omadus on see, et see võimaldab teil luua oma CNC -masina, mis ei pruugi olla ainult X, Y, vaid ka näiteks sektsioonilüliti, sest see pole valmis GRBL, vaid pigem programmeerimine, mis võimaldab teil teha endale ideaalse masina.

Järgnev väide on aga oluline detail! See video on mõeldud ainult neile, kes on programmeerimisega juba harjunud. Kui te pole Arduino programmeerimisega tuttav, peaksite kõigepealt vaatama minu kanalil teisi tutvustavaid videoid. Selle põhjuseks on asjaolu, et ma arutan selles videos täpsemat teemat ja selgitan üksikasjalikumalt videos kasutatud libi: samm -mootor kiirenduse ja löögi lõpuga.

Samm: StepDriveri kogu

See teek hõlmab kolme kõige levinumat draiveritüüpi turul: A4988, DRV8825 ja TB6600. See konfigureerib draiverite nööpnõelad, võimaldades neil lähtestada ja lülitada puhkeolekusse, samuti aktiveerida ja deaktiveerida mootori väljundid, mis toimivad lubava tihvti järgi. See määrab ka juhi mikroastmeliste tihvtide sisendid ning piirab lüliteid ja nende aktiveerimistaset (kõrge või madal). Sellel on ka mootori liikumiskood pideva kiirendusega mm / s², maksimaalne kiirus mm / s ja minimaalne kiirus mm / s.

Neile, kes vaatasid video Step Motor with Acceleration and End of Stroke 1. ja 2. osa, laadige alla see täna saadaval olev kogu, sest tegin selles esimeses failis selle kasutamise hõlbustamiseks mõningaid muudatusi.

2. samm: globaalsed muutujad

Näitan täpselt, milleks iga globaalne muutuja on mõeldud.

Samm 3: Funktsioonid - juhi tihvtide seadistamine

Funktsioonid - juhi tihvtide seadistamine
Funktsioonid - juhi tihvtide seadistamine

Siin kirjeldan mõnda meetodit.

Määrasin väljundiks sätte Pinout ja Arduino tihvtid.

4. samm: funktsioonid - juhi põhifunktsioonid

Funktsioonid - juhi põhifunktsioonid
Funktsioonid - juhi põhifunktsioonid

Selles osas töötame draiveri konfiguratsiooni ja selle põhifunktsioonidega.

5. samm: funktsioonid - mootori astme seadistamine

Funktsioonid - mootori sammude seadistamine
Funktsioonid - mootori sammude seadistamine
Funktsioonid - Mootori astme seadistamine
Funktsioonid - Mootori astme seadistamine

Selles koodi etapis konfigureerime sammude arvu millimeetri kohta, mida mootor peab täitma.

6. samm: funktsioonid - mootori sammurežiimi seadistamine

Funktsioonid - Mootori sammurežiimi seadistamine
Funktsioonid - Mootori sammurežiimi seadistamine
Funktsioonid - mootori sammurežiimi seadistamine
Funktsioonid - mootori sammurežiimi seadistamine
Funktsioonid - mootori sammurežiimi seadistamine
Funktsioonid - mootori sammurežiimi seadistamine

See tabel näitab mootori sammurežiimi seadeid. Siin on mõned näidised.

Samm 7: Funktsioonid - piirilülitite seadistamine

Funktsioonid - piirlülitite seadistamine
Funktsioonid - piirlülitite seadistamine

Siin pean ma lugema terviklikke ja loogilisi väärtusi. Peate määrama, kas aktiivne võti on üles või alla, määrates samal ajal maksimaalse ja minimaalse piiri.

8. samm: funktsioonid - piirilülitite lugemine

Funktsioonid - piirilülitite lugemine
Funktsioonid - piirilülitite lugemine
Funktsioonid - piirilülitite lugemine
Funktsioonid - piirilülitite lugemine
Funktsioonid - piirilülitite lugemine
Funktsioonid - piirilülitite lugemine

See osa erineb sellest, mis Libis tehti eelmisel nädalal kättesaadavaks. Miks ma seda muutsin? Noh, ma lõin eReadi mõne teise asendamiseks. Siin loeb eRead LVL, digitalRead (pin) ja tagastab tõese. Seda kõike tuleb teha kõrgel tasemel. Järgmine töö aktiivse võtmega on madalal tasemel. Ma kasutan seda siin, et näidata teile tabelit "Tõde".

Koodipildile paigutasin diagrammi, mis aitab mõista, et selles lähtekoodi osas liigun tõusvas suunas ja pole veel kursuse lõppklahvi tabanud.

Nüüd, sellel pildil os koodi bool DRV8825, näitan mootorit, mis liigub endiselt kasvavas suunas. Maksimaalne piirlüliti on aga aktiveeritud. Mehhanism peab siis liikumise peatama.

Viimaseks näitan sama liikumist, kuid vastupidises suunas.

Siin on kursuse lõpplüliti juba aktiveeritud.

9. samm: funktsioonid - liikumise seadistamine

Funktsioonid - liikumise seadistamine
Funktsioonid - liikumise seadistamine

MotionConfig meetodi peamine kasulikkus on muuta millimeeter sekundis (CNC -masinates kasutatav mõõtmine) sammudeks, et vastata samm -mootori kontrollerile. Seetõttu näitan selles osas muutujaid, et mõista samme, mitte millimeetreid.

10. samm: funktsioonid - liikumisfunktsioon

Funktsioonid - liikumisfunktsioon
Funktsioonid - liikumisfunktsioon

Selles etapis käsitleme käsku, mis liigutab sammu soovitud suunas teatud aja jooksul mikrosekundites. Samuti määrasime juhi suunatihvti, viivitusaja ja piirlülitite suuna.

11. samm: funktsioonid - liikumisfunktsioon - muutujad

Funktsioonid - liikumisfunktsioon - muutujad
Funktsioonid - liikumisfunktsioon - muutujad

Selles osas konfigureerime kõik muutujad, mis hõlmavad muu hulgas maksimaalse ja minimaalse kiiruse perioode, trajektoori kaugust ja trajektoori katkestamiseks vajalikke samme.

12. samm: funktsioonid - liikumisfunktsioon - kiirendus

Funktsioonid - liikumisfunktsioon - kiirendus
Funktsioonid - liikumisfunktsioon - kiirendus
Funktsioonid - liikumisfunktsioon - kiirendus
Funktsioonid - liikumisfunktsioon - kiirendus

Siin esitan mõned üksikasjad selle kohta, kuidas jõudsime kiirendusandmeteni, mis arvutati Torricelli võrrandi kaudu, kuna see võtab arvesse kiirenduse töötamiseks vajalikke ruume, mitte aega. Kuid siin on oluline mõista, et kogu see võrrand hõlmab ainult ühte koodirida.

Ülaltoodud pildil tuvastasime trapetsi, sest esialgsed pöörlemiskiirused on enamiku samm -mootorite jaoks halvad. Sama juhtub aeglustusega. Seetõttu visualiseerime kiirenduse ja aeglustuse vahelisel perioodil trapetsi.

13. samm: funktsioonid - liikumisfunktsioon - pidev kiirus

Funktsioonid - liikumisfunktsioon - pidev kiirus
Funktsioonid - liikumisfunktsioon - pidev kiirus
Funktsioonid - liikumisfunktsioon - pidev kiirus
Funktsioonid - liikumisfunktsioon - pidev kiirus

Siin hoiame kiirenduses kasutatud sammude arvu, jätkame pideva kiirusega ja hoiame maksimaalse kiirusega, mida on näha alloleval pildil.

14. samm: funktsioonid - liikumisfunktsioon - aeglustus

Funktsioonid - liikumisfunktsioon - aeglustus
Funktsioonid - liikumisfunktsioon - aeglustus
Funktsioonid - liikumisfunktsioon - aeglustus
Funktsioonid - liikumisfunktsioon - aeglustus

Siin on meil veel üks võrrand, seekord negatiivse kiirendusväärtusega. See kuvatakse ka koodireal, mis kujutab alloleval pildil ristkülikut sildiga Aeglustus.

15. samm: funktsioonid - liikumisfunktsioon - pidev kiirus

Funktsioonid - liikumisfunktsioon - pidev kiirus
Funktsioonid - liikumisfunktsioon - pidev kiirus
Funktsioonid - liikumisfunktsioon - pidev kiirus
Funktsioonid - liikumisfunktsioon - pidev kiirus

Naaseme pidevale kiirusele, et töötada trajektoori teisel poolel, nagu allpool näha.

16. samm: funktsioonid - liigutusfunktsioon - pöörete liigutamine

Funktsioonid - liigutusfunktsioon - pöörete liigutamine
Funktsioonid - liigutusfunktsioon - pöörete liigutamine

Selles osas liigutame mootorit teatud arvu pöördeid soovitud suunas, teisendades pöörete arvu millimeetrites. Lõpuks liigutame mootorit soovitud suunas.

17. samm: liikumisdiagramm - positsiooni kiirus

Liikumisdiagramm - positsiooni kiirus
Liikumisdiagramm - positsiooni kiirus

Sellel graafikul on mul andmed, mis eraldati võrrandist, mida kasutasime kiirenduse osas. Võtsin väärtused ja mängisin Arduino sarjas ning läksin sellest Excelisse, mille tulemuseks oli see tabel. See tabel näitab sammu edenemist.

18. samm: liikumisdiagramm - positsioon vs. Asend

Liikumisdiagramm - positsioon vs. Asend
Liikumisdiagramm - positsioon vs. Asend

Siin võtame positsiooni, sammud ja kiiruse ning teisendame selle perioodiks mikrosekundites. Selles etapis märgime, et periood on pöördvõrdeline kiirusega.

19. samm: liikumisskeem - kiirus vs. Hetk

Liikumisdiagramm - kiirus vs. Hetk
Liikumisdiagramm - kiirus vs. Hetk

Lõpuks on meil kiirus hetke funktsioonina ja seetõttu on meil sirgjoon, kuna see on kiirus aja funktsioonina.

Soovitan: