Šioje pamokoje mes sujungsime nuolatinės srovės variklį su „Arduino UNO“ ir valdysime jo greitį naudodami PWM (Pulse Width Modulation) koncepciją. Ši funkcija įjungta UNO, norint gauti kintamą įtampą, esant nuolatinei įtampai. Čia paaiškintas PWM metodas; apsvarstykite paprastą grandinę, kaip parodyta paveiksle.
Jei paveikslėlyje paspaudus mygtuką, variklis pradės suktis ir judės tol, kol paspaus mygtuką. Šis spaudimas yra nepertraukiamas ir pavaizduotas pirmoje figūros bangoje. Jei tam tikru atveju, svarstykite mygtuką, kuris paspaudžiamas 8 ms ir atidaromas 2 ms per 10 ms ciklą, tokiu atveju variklis nepatirs visos 9 V baterijos įtampos, nes mygtukas paspaudžiamas tik 8 ms, todėl RMS terminalo įtampa variklis bus apie 7 V. Dėl šios sumažintos RMS įtampos variklis sukasi, tačiau mažesniu greičiu. Dabar vidutinis įsijungimas per 10 ms = įjungimo laikas / (įjungimo laikas + išjungimo laikas), tai vadinama darbo ciklu ir yra 80% (8 / (8 + 2)).
Antruoju ir trečiuoju atvejais mygtukas paspaudžiamas dar mažiau laiko, palyginti su pirmuoju atveju. Dėl to RMS terminalo įtampa variklio gnybtuose dar labiau sumažėja. Dėl šios sumažintos įtampos variklio greitis dar labiau sumažėja. Šis greičio sumažėjimas nuolat veikiant ciklui, kol variklio gnybto įtampa nebus pakankama varikliui pasukti.
Taigi galime daryti išvadą, kad PWM gali būti naudojamas variklio greičiui keisti.
Prieš eidami toliau, turime aptarti „H-BRIDGE“. Dabar ši grandinė turi daugiausia dvi funkcijas: pirma, reikia valdyti nuolatinės srovės variklį iš mažos galios valdymo signalų, o kita - pakeisti nuolatinės srovės variklio sukimosi kryptį.
figūra 1
2 paveikslas
Mes visi žinome, kad nuolatinės srovės varikliui, norint pakeisti sukimosi kryptį, reikia pakeisti variklio maitinimo įtampos poliškumą. Taigi, norėdami pakeisti poliškumą, naudojame H tiltą. Dabar pirmame paveiksle1 mes turime keturis jungiklius. Kaip parodyta 2 paveiksle, variklis pasisuka A1 ir A2 yra uždaryti. Dėl šios priežasties, dabartiniai teka variklio iš dešinės į kairę, kaip parodyta 2 -asis dalis 3 pav. Dabar apsvarstykite, ar variklis sukasi pagal laikrodžio rodyklę. Dabar, jei jungikliai A1 ir A2 yra atidaryti, B1 ir B2 yra uždaryti. Srovė per variklį teka iš kairės į dešinę, kaip parodyta 1 st 3 paveikslo dalis. Ši srovės srauto kryptis yra priešinga pirmajai, todėl variklio gnybte matome priešingą potencialą nei pirmasis, todėl variklis sukasi prieš laikrodį. Taip veikia „H-BRIDGE“. Tačiau mažos galios variklius galima valdyti H-BRIDGE IC L293D.
L293D yra H-BRIDGE IC, skirtas važiuoti mažos galios nuolatinės srovės varikliais ir parodytas paveiksle. Šį IC sudaro du h tiltai, todėl jis gali valdyti du nuolatinės srovės variklius. Taigi šį IC galima naudoti roboto varikliams valdyti iš mikrovaldiklio signalų.
Kaip buvo aptarta anksčiau, šis IC gali pakeisti nuolatinės srovės variklio sukimosi kryptį. Tai pasiekiama kontroliuojant įtampos lygius INPUT1 ir INPUT2.
Įgalinti prisegimą |
1 įvesties kaištis |
2 įvesties kaištis |
Variklio kryptis |
Aukštas |
Žemas |
Aukštas |
Pasukite į dešinę |
Aukštas |
Aukštas |
Žemas |
Pasukite į kairę |
Aukštas |
Žemas |
Žemas |
Sustabdyti |
Aukštas |
Aukštas |
Aukštas |
Sustabdyti |
Taigi, kaip parodyta aukščiau esančiame paveikslėlyje, sukant pagal laikrodžio rodyklę 2A turėtų būti didelis, o 1A - mažas. Panašiai ir prieš laikrodžio rodyklę 1A turėtų būti didelis, o 2A - mažas.
Kaip parodyta paveikslėlyje, „Arduino UNO“ turi 6PWM kanalus, todėl bet kuriame iš šių šešių kaiščių galime gauti PWM (kintamą įtampą). Šioje pamokoje mes naudosime PIN3 kaip PWM išvestį.
Aparatūra: „ ARDUINO UNO“, maitinimo šaltinis (5v), 100uF kondensatorius, LED, mygtukai (dvi dalys), 10KΩ rezistorius (dvi dalys).
Programinė įranga: „ arduino IDE“ (naktinis „Arduino“).
Grandinės schema
Grandinė sujungta skydinėje, kaip parodyta aukščiau pateiktoje schemoje. Tačiau reikia atkreipti dėmesį į LED jungčių prijungimą. Nors šiuo atveju mygtukai rodo atšokantį efektą, jis nesukelia didelių klaidų, todėl šį kartą neturime jaudintis.
UNO PWM yra lengva, įprastomis progomis nustatyti ATMEGA valdiklį PWM signalui nėra lengva, mes turime apibrėžti daugybę registrų ir nustatymų, kad gautumėte tikslų signalą, tačiau ARDUINO neturime spręsti visų tų dalykų.
Pagal numatytuosius nustatymus visus antraštės failus ir registrus iš anksto nustato ARDUINO IDE, mums tiesiog reikia jiems paskambinti, ir viskas, mes turėsime PWM išvestį atitinkamame kontakte.
Dabar norėdami gauti PWM išvestį tinkamu kaiščiu, turime dirbti su trim dalykais,
|
Pirmiausia turime pasirinkti PWM išvesties kaištį iš šešių kaiščių, po to turime nustatyti tą kaištį kaip išvestį.
Tada turime įjungti UNO funkciją PWM, paskambinę funkcija „analogWrite (pin, value)“. Čia „PIN“ reiškia PIN kodą, kur mums reikia PWM išvesties, mes jį dedame kaip „3“. Taigi PIN3 mes gauname PWM išvestį.
Vertė yra įjungimo darbo ciklas, tarp 0 (visada išjungtas) ir 255 (visada įjungtas). Mes padidinsime ir sumažinsime šį skaičių paspaudę mygtuką.
UNO maksimali skiriamoji geba yra „8“, todėl negalima toliau eiti, todėl reikšmės yra nuo 0 iki 255. Tačiau galima sumažinti PWM skiriamąją gebą naudojant komandą „analogWriteResolution ()“, skliausteliuose įvedus reikšmę nuo 4-8, mes galime pakeisti jos vertę iš keturių bitų PWM į aštuonių bitų PWM.
Jungiklis turi pakeisti nuolatinės srovės variklio sukimosi kryptį.