Tässä opetusohjelmassa aiomme liittää tasavirtamoottorin Arduino UNO: hon ja hallita sen nopeutta PWM (Pulse Width Modulation) -konseptilla. Tämä ominaisuus on käytössä UNO: ssa saadakseen vaihtelevan jännitteen vakiojännitteen yli. PWM: n menetelmä selitetään tässä; harkitse yksinkertaista piiriä kuvan osoittamalla tavalla.
Jos painiketta painetaan, jos luku, moottori alkaa pyöriä ja se on liikkeessä, kunnes painiketta painetaan. Tämä puristus on jatkuvaa ja se on esitetty kuvan ensimmäisessä aallossa. Jos tapauksessa harkintapainiketta painetaan 8 ms ja avataan 2 ms 10 ms: n jakson aikana, tällöin moottori ei kokea täydellistä 9 V: n paristojännitettä, koska painiketta painetaan vain 8 ms, joten RMS-liitännän jännite moottori on noin 7 V. Tämän pienentyneen RMS-jännitteen vuoksi moottori pyörii, mutta pienemmällä nopeudella. Nyt keskimääräinen käynnistys 10 ms ajanjaksolla = Käynnistysaika / (Käynnistysaika + Sammutusaika), tätä kutsutaan työjaksoksi ja se on 80% (8 / (8 + 2)).
Toisessa ja kolmannessa tapauksessa painiketta painetaan vielä vähemmän aikaa kuin ensimmäisessä tapauksessa. Tämän vuoksi RMS-liittimen jännite moottoriliittimissä laskee edelleen. Tämän pienentyneen jännitteen vuoksi moottorin nopeus pienenee edelleen. Tämä nopeuden pieneneminen jatkuvalla käyttöjaksolla tapahtuu pisteeseen saakka, jossa moottorin liitäntäjännite ei riitä moottorin kääntämiseen.
Joten voimme päätellä, että PWM: ää voidaan käyttää moottorin nopeuden muuttamiseen.
Ennen kuin menemme pidemmälle, meidän on keskusteltava H-sillasta. Tällä piirillä on nyt pääasiassa kaksi toimintoa, ensinnäkin on ajaa tasavirtamoottoria pienitehoisista ohjaussignaaleista ja toinen on muuttaa tasavirtamoottorin pyörimissuuntaa.
Kuvio 1
Kuva 2
Me kaikki tiedämme, että tasavirtamoottorin pyörimissuunnan muuttamiseksi meidän on muutettava moottorin syöttöjännitteen polariteetteja. Joten napaisuuden muuttamiseksi käytämme H-siltaa. Nyt yllä olevassa kuvassa 1 meillä on neljä kytkintä. Kuten kuvassa 2 on esitetty, moottori pyörii A1 ja A2 ovat kiinni. Tämän vuoksi virta kulkee moottorin oikealta vasemmalle, kuten on esitetty 2 toinen osa Kuva 3. Harkitse nyt, että moottori pyörii myötäpäivään. Jos kytkimet A1 ja A2 avataan, B1 ja B2 suljetaan. Nykyinen kautta moottorin virtojen vasemmalta oikealle, kuten kuviossa 1 s osa kuvaa 3. Tämä virran suunta on vastakkainen ensimmäiseen suuntaan, joten moottorin terminaalissa nähdään päinvastainen potentiaali ensimmäiseen, joten moottori pyörii vastapäivään. Näin H-SILTA toimii. Pienitehoisia moottoreita voidaan kuitenkin käyttää H-BRIDGE IC L293D: llä.
L293D on H-BRIDGE IC, joka on tarkoitettu pienitehoisten tasavirtamoottorien käyttämiseen ja on esitetty kuvassa. Tämä IC koostuu kahdesta h-sillasta, joten se voi käyttää kahta tasavirtamoottoria. Joten tätä mikropiiriä voidaan käyttää robotin moottoreiden ohjaamiseen mikro-ohjaimen signaaleista.
Kuten aiemmin keskusteltiin, tällä IC: llä on kyky muuttaa tasavirtamoottorin pyörimissuuntaa. Tämä saavutetaan säätämällä jännitetasoja kohdissa INPUT1 ja INPUT2.
Ota PIN-koodi käyttöön |
Tulotappi 1 |
Tulotappi 2 |
Moottorin suunta |
Korkea |
Matala |
Korkea |
Käänny oikealle |
Korkea |
Korkea |
Matala |
Käänny vasemmalle |
Korkea |
Matala |
Matala |
Lopettaa |
Korkea |
Korkea |
Korkea |
Lopettaa |
Joten kuten yllä olevassa kuvassa on esitetty, myötäpäivään pyörimisen 2A: n tulisi olla korkea ja 1A: n matala. Samoin vastapäivään 1A: n tulisi olla korkea ja 2A: n matala.
Kuten kuvassa on esitetty, Arduino UNO: lla on 6PWM-kanavaa, joten voimme saada PWM: n (vaihteleva jännite) missä tahansa näistä kuudesta nastasta. Tässä opetusohjelmassa aiomme käyttää PIN3: ta PWM-ulostulona.
Laitteisto: ARDUINO UNO, virtalähde (5v), 100uF kondensaattori, LED, painikkeet (kaksi kappaletta), 10KΩ vastus (kaksi kappaletta).
Ohjelmisto: arduino IDE (Arduino nightly).
Piirikaavio
Piiri on kytketty leipälautaan yllä olevan piirikaavion mukaisesti. LED-liittimien kytkemisen yhteydessä on kuitenkin kiinnitettävä huomiota. Vaikka painikkeet osoittavat pomppivaa vaikutusta, se ei aiheuta huomattavia virheitä, joten meidän ei tarvitse huolehtia tällä kertaa.
UNO: n PWM on helppoa, normaalissa tilanteessa ATMEGA-ohjaimen asettaminen PWM-signaalille ei ole helppoa, joudumme määrittelemään useita rekistereitä ja asetuksia tarkan signaalin saamiseksi, mutta ARDUINO: ssa meidän ei tarvitse käsitellä kaikkia näitä asioita.
ARDUINO IDE on oletusarvoisesti määrittänyt kaikki otsikkotiedostot ja rekisterit, meidän tarvitsee vain soittaa heille, ja meillä on PWM-lähtö sopivalla nastalla.
Jotta saisimme PWM-lähdön sopivalla nastalla, meidän on työskenneltävä kolmessa asiassa,
|
Ensin on valittava PWM-ulostulotappi kuudesta nastasta, minkä jälkeen meidän on asetettava tuo tappi lähtöön.
Seuraavaksi meidän on otettava käyttöön UNO: n PWM-ominaisuus kutsumalla toiminto "analogWrite (pin, value)". Tässä 'pin' edustaa pin-numeroa missä tarvitsemme PWM-lähdön, asetamme sen '3': ksi. Joten PIN3: ssä saamme PWM-lähdön.
Arvo on päällä-kytkentäjakso välillä 0 (aina pois päältä) ja 255 (aina päällä). Aiomme lisätä ja vähentää tätä lukua painikkeella.
UNO: n enimmäistarkkuus on "8", ei voida mennä pidemmälle, joten arvot 0-255. PWM: n tarkkuutta voidaan kuitenkin pienentää käyttämällä komentoa “analogWriteResolution ()”, syöttämällä sulkeisiin arvo 4–8, voimme muuttaa sen arvon neljästä bitistä PWM: stä kahdeksan bitin PWM: ksi.
Kytkimen on muutettava tasavirtamoottorin pyörimissuunta.