Turinys:
- 1 žingsnis: „StepDriver“biblioteka
- 2 žingsnis: visuotiniai kintamieji
- 3 žingsnis: Funkcijos - vairuotojo kaiščių nustatymas
- 4 žingsnis: Funkcijos - pagrindinės vairuotojo funkcijos
- 5 žingsnis: Funkcijos - variklio žingsnio nustatymas
- 6 žingsnis: Funkcijos - variklio žingsnio režimo nustatymas
- 7 žingsnis: Funkcijos - Ribinių jungiklių nustatymas
- 8 žingsnis: Funkcijos - ribinių jungiklių nuskaitymas
- 9 žingsnis: Funkcijos - judesio sąranka
- 10 žingsnis: Funkcijos - judėjimo funkcija
- 11 žingsnis: Funkcijos - judėjimo funkcija - kintamieji
- 12 žingsnis: Funkcijos - judesio funkcija - pagreitis
- 13 žingsnis: Funkcijos - judesio funkcija - nuolatinis greitis
- 14 žingsnis: Funkcijos - judesio funkcija - lėtėjimas
- 15 žingsnis: Funkcijos - judesio funkcija - nuolatinis greitis
- 16 žingsnis: Funkcijos - Perkėlimo funkcija - Perkelti posūkius
- 17 žingsnis: judesio diagrama - padėties greitis
- 18 žingsnis: judesio diagrama - pozicija prieš Pozicija
- 19 veiksmas: judesio diagrama - „Velocity Vs. Momentas
Video: „Arduino“: „Precision Lib“žingsniniam varikliui: 19 žingsnių
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Šiandien aš jums parodysiu viso žingsnio variklio vairuotojo biblioteką su ribiniais jungikliais ir variklio judėjimą pagreičiu ir mikro žingsniu. Šis „Lib“, veikiantis tiek „Arduino Uno“, tiek „Arduino Mega“, leidžia perkelti variklius, remiantis ne tik žingsnių skaičiumi, bet ir milimetrais. Ir jis yra gana tikslus.
Svarbi šios bibliotekos ypatybė yra ta, kad ji leidžia jums sukurti savo CNC mašiną, kuri nebūtinai yra tik X, Y, bet ir, pavyzdžiui, sekcijos jungiklis, nes tai nėra paruoštas GRBL, o programavimas, leidžia jums sukurti geriausią mašiną.
Tačiau šis teiginys yra svarbi detalė! Šis vaizdo įrašas skirtas tik tiems, kurie jau pripratę prie programavimo. Jei nesate susipažinę su „Arduino“programavimu, pirmiausia turėtumėte žiūrėti kitus įvadinius vaizdo įrašus mano kanale. Taip yra todėl, kad šiame konkrečiame vaizdo įraše aptariu išplėstinę temą ir išsamiau paaiškinu vaizdo įraše naudojamą „Lib“: „Step Motor with Acceleration and End of Stroke“.
1 žingsnis: „StepDriver“biblioteka
Ši biblioteka apima tris dažniausiai rinkoje esančius tvarkyklių tipus: A4988, DRV8825 ir TB6600. Jis sukonfigūruoja tvarkyklių kaiščius, leisdamas jiems iš naujo nustatyti ir perkelti į miego režimą, taip pat įjungti ir išjungti variklio išėjimus, veikiančius pagal įjungimo kaištį. Taip pat nustatomi vairuotojo mikropakopinių kaiščių įėjimai, ribojami jungikliai ir jų aktyvavimo lygis (aukštas arba žemas). Jis taip pat turi variklio judesio kodą su nuolatiniu pagreičiu mm / s², didžiausiu greičiu mm / s ir minimaliu greičiu mm / s.
Tie, kurie žiūrėjo vaizdo įrašo „Step Motor with Acceleration and Stroke“1 ir 2 dalis, atsisiųskite šią naują šiandien prieinamą biblioteką, nes padariau keletą pakeitimų tame pirmajame faile, kad būtų lengviau jį naudoti.
2 žingsnis: visuotiniai kintamieji
Aš tiksliai parodau, kam skirtas kiekvienas iš pasaulinių kintamųjų.
3 žingsnis: Funkcijos - vairuotojo kaiščių nustatymas
Čia aprašysiu kai kuriuos metodus.
Aš nustatiau „Pinout“nustatymą ir „Arduino“kaiščius kaip išvestį.
4 žingsnis: Funkcijos - pagrindinės vairuotojo funkcijos
Šioje dalyje mes dirbame su tvarkyklės konfigūracija ir pagrindinėmis jos funkcijomis.
5 žingsnis: Funkcijos - variklio žingsnio nustatymas
Šiame kodo žingsnyje mes sukonfigūruojame žingsnių skaičių milimetre, kurį variklis turi atlikti.
6 žingsnis: Funkcijos - variklio žingsnio režimo nustatymas
Šioje lentelėje pateikiami variklio žingsnio režimo nustatymai. Štai keletas pavyzdžių.
7 žingsnis: Funkcijos - Ribinių jungiklių nustatymas
Čia aš turiu perskaityti visas ir logines vertybes. Būtina nustatyti, ar aktyvusis klavišas yra aukštyn, ar žemyn, tuo pačiu nustatant didžiausią ir mažiausią galinę atramą.
8 žingsnis: Funkcijos - ribinių jungiklių nuskaitymas
Ši dalis skiriasi nuo tos, kurią Liboje pateikiau praėjusią savaitę. Kodėl aš jį pakeičiau? Na, aš sukūriau „eRead“, kad pakeisčiau kai kuriuos kitus. Čia „eRead“perskaitys LVL, „digitalRead“(kaištį) ir grąžins „TRUE“. Visa tai reikia atlikti aukštai. Tolesnis darbas su aktyviu klavišu bus žemo lygio. Čia panaudosiu, kad parodyčiau „Tiesos“lentelę.
Kodo paveikslėlyje įdėjau diagramą, kuri padės suprasti, kad šioje šaltinio kodo dalyje aš judu link didėjimo ir dar nepaspaudžiau kurso pabaigos klavišo.
Dabar šiame paveikslėlyje os kodas bool DRV8825 parodau variklį, kuris vis dar juda augančia kryptimi. Tačiau įjungtas maksimalus ribinis jungiklis. Tada mechanizmas turi sustabdyti judėjimą.
Galiausiai parodau tą patį judesį, bet priešinga kryptimi.
Čia jau įjungėte kurso pabaigos jungiklį.
9 žingsnis: Funkcijos - judesio sąranka
Pagrindinis „motionConfig“metodo naudingumas yra milimetrą per sekundę (matavimas, naudojamas CNC staklėse) paversti žingsniais, kad atitiktų žingsninio variklio valdiklį. Todėl šioje dalyje aš parodau kintamuosius, kad suprasčiau žingsnius, o ne milimetrus.
10 žingsnis: Funkcijos - judėjimo funkcija
Šiame etape mes apdorojame komandą, kuri perkelia žingsnį norima kryptimi per mikrosekundes. Taip pat nustatome vairuotojo krypties kaištį, uždelsimo laiką ir ribinių jungiklių kryptį.
11 žingsnis: Funkcijos - judėjimo funkcija - kintamieji
Šioje dalyje mes konfigūruojame visus kintamuosius, apimančius didžiausio ir mažiausio greičio periodus, trajektorijos atstumą ir veiksmus, būtinus trajektorijai nutraukti.
12 žingsnis: Funkcijos - judesio funkcija - pagreitis
Čia aš pateikiu keletą detalių apie tai, kaip mes gavome pagreičio duomenis, kurie buvo apskaičiuoti pagal Torricelli lygtį, nes čia atsižvelgiama į greitėjimo greitį, o ne į laiką. Tačiau čia svarbu suprasti, kad visa ši lygtis yra tik apie vieną kodo eilutę.
Aukščiau esančiame paveikslėlyje mes nustatėme trapeciją, nes pradiniai apsisukimai yra blogi daugumai žingsninių variklių. Tas pats atsitinka ir su lėtėjimu. Dėl šios priežasties mes įsivaizduojame trapeciją tarp pagreičio ir lėtėjimo.
13 žingsnis: Funkcijos - judesio funkcija - nuolatinis greitis
Čia išlaikome pagreičiui naudojamų žingsnių skaičių, tęsiame tolygiu greičiu ir išlaikome maksimalų greitį, kurį galima pamatyti žemiau esančiame paveikslėlyje.
14 žingsnis: Funkcijos - judesio funkcija - lėtėjimas
Čia turime dar vieną lygtį, šį kartą su neigiama pagreičio reikšme. Jis taip pat rodomas kodo eilutėje, kuri žemiau esančiame paveikslėlyje reiškia stačiakampį, pavadintą „Lėtėjimas“.
15 žingsnis: Funkcijos - judesio funkcija - nuolatinis greitis
Grįžtame prie nuolatinio greičio, kad galėtume dirbti antroje trajektorijos pusėje, kaip parodyta žemiau.
16 žingsnis: Funkcijos - Perkėlimo funkcija - Perkelti posūkius
Šioje dalyje mes perkeliame variklį tam tikru apsisukimų skaičiumi norima kryptimi, apsisukimų skaičių paverčiant milimetrais. Galiausiai mes perkeliame variklį norima kryptimi.
17 žingsnis: judesio diagrama - padėties greitis
Šioje diagramoje turiu duomenų, kurie buvo išgauti iš lygties, kurią naudojome pagreičio dalyje. Aš paėmiau vertes ir žaidžiau „Arduino“serijoje ir perėjau nuo „Excel“, todėl gavau šią lentelę. Šioje lentelėje parodyta žingsnio eiga.
18 žingsnis: judesio diagrama - pozicija prieš Pozicija
Čia mes nustatome poziciją, žingsnius ir greitį, ir konvertuojame jį į tašką mikrosekundėmis. Šiame etape pažymime, kad laikotarpis yra atvirkščiai proporcingas greičiui.
19 veiksmas: judesio diagrama - „Velocity Vs. Momentas
Galiausiai, mes turime greitį kaip momentinę funkciją, todėl turime tiesę, nes tai yra greitis kaip laiko funkcija.
Rekomenduojamas:
„Arduino“apsisukimų dažnio ribotuvas dujų varikliui: 5 žingsniai
„Arduino“apsisukimų dažnio ribotuvas dujiniam varikliui: „Youtube“demonstracija Šį RPM ribotuvą galima perjungti į 3 skirtingus nustatymus. Įdiegiau tai viename cilindre, Briggs ir Stratton variklyje ir naudojau „Ardu“
556 laikmačio naudojimas žingsniniam varikliui vairuoti: 5 žingsniai
556 laikmačio naudojimas žingsniniam varikliui vairuoti: šioje instrukcijoje bus paaiškinta, kaip 556 laikmatis gali valdyti žingsninį variklį. Šiai grandinei nereikia kodo
Nuo 1A iki 40A dabartinis BOOST keitiklis iki 1000 W nuolatinės srovės varikliui: 3 žingsniai
Nuo 1A iki 40A dabartinis BOOST keitiklis iki 1000 W nuolatinės srovės varikliui: Sveiki! Šiame vaizdo įraše sužinosite, kaip sukurti srovės stiprintuvo grandinę, skirtą didelės galios nuolatinės srovės varikliams iki 1000 W ir 40 amperų su tranzistoriais ir centrinio čiaupo transformatoriumi. srovė išėjime yra labai didelė, bet įtampa bus r
„Mad Lib“su „Python“: 10 žingsnių
„Mad Lib“su „Python“: „Mad Libs“programos kūrimas naudojant „python“Ko jums reikia: 1. „Windows“arba „Mac“kompiuteris2. Ką žinosite iki galo: 1. Stygos2. Kintamieji2. Įvestis & spausdinimo funkcijas
3x3x3 LED kubas su „Arduino Lib“: 4 žingsniai (su nuotraukomis)
3x3x3 LED kubas su „Arduino Lib“: Yra ir kitų instrukcijų, kaip statyti LED kubelius, šis skiriasi dėl kelių priežasčių: 1. Jis pagamintas iš nedaugelio gatavų komponentų ir prijungiamas tiesiai prie „Arduino“. 2. Aiški, lengvai atkuriama grandinės schema yra