- Mikä on tasavirtamoottori?
- Tarvittavat komponentit
- Piirikaavio
- Atmega16: n ohjelmointi DC-moottorin ohjausta varten
DC-moottorit ovat yleisimmin käytettyjä moottoreita. Näitä moottoreita löytyy melkein kaikkialta pienistä projekteista edistyneeseen robotiikkaan. Olemme aiemmin liittäneet DC-moottorin monien muiden mikrokontrollerien, kuten Arduino, Raspberry pi, kanssa ja käyttäneet sitä monissa robottiprojekteissa. Tänään opimme ohjaamaan tasavirtamoottoria AVR-mikrokontrollerilla Atmega16. Mutta ennen eteenpäin tiedetään lisää tasavirtamoottorista.
Mikä on tasavirtamoottori?
DC-moottori on laite, joka muuntaa sähköenergian mekaaniseksi energiaksi. Erityisesti DC-moottori käyttää DC-virtaa muuntaa sähköenergian mekaaniseksi energiaksi. Moottorin perusperiaate on magneettikentän ja virran välinen vuorovaikutus voiman tuottamiseksi moottorissa, joka auttaa moottoria pyörimään. Joten kun sähkövirta johdetaan kelan läpi magneettikentässä, syntyy magneettinen voima, joka tuottaa vääntömomentin, joka johtaa moottorin liikkumiseen. Moottorin suuntaa ohjataan vaihtamalla virtaa. Myös sen nopeutta voidaan muuttaa vaihtelemalla syötettyä jännitettä. Koska mikrokontrollereissa on PWM-nastat, sitä voidaan käyttää moottorin nopeuden säätämiseen.
Tässä opetusohjelmassa DC-moottorin toiminta näytetään Atmega16: n kanssa. L293D-moottoriohjainta käytetään kääntämään virran suunta ja siten liikkeen suunta. L293D-moottoriohjain käyttää H-Bridge-piirikokoonpanoa, joka antaa tarvittavan virran moottorille. Kahta painonappia käytetään moottorin suunnan valitsemiseen. Yhdellä painikkeesta valitaan kellokohtainen kierto ja toisella DC-moottorin kellonvastaisen toiminnan valitseminen.
Tarvittavat komponentit
- DC-moottori (5 V)
- L293D-moottorin ohjain
- Atmega16-mikrokontrolleri-IC
- 16MHz kristalloskillaattori
- Kaksi 100nF-kondensaattoria
- Kaksi 22pF-kondensaattoria
- Paina nappia
- Neulalangat
- Leipälauta
- USBASP v2.0
- Led (kaikki värit)
Piirikaavio
Atmega16: n ohjelmointi DC-moottorin ohjausta varten
Tässä Atmega16 ohjelmoidaan USBASP: n ja Atmel Studio7.0: n avulla. Jos et tiedä miten ohjelmoida Atmega16 USBASP: n avulla, käy sitten linkissä. Täydellinen ohjelma annetaan projektin lopussa, lataa ohjelma Atmega16: een ja kierrä DC-moottoria kahdella painikkeella myötäpäivään ja vastapäivään.DC-moottori liitetään L293D-moottoriohjaimella. DC-moottori pyörii kahteen suuntaan, kun vastaavaa painiketta painetaan. Yhdellä painikkeella pyritään pyörittämään tasavirtamoottoria kellosuuntaan ja toisella painikkeella tasavirtamoottoria kiertämään vastakellon suuntaan. Määritä ensin mikrokontrollerin suorittimen taajuus ja sisällytä kaikki tarvittavat kirjastot.
#define F_CPU 16000000UL include # include
Käytä sitten yhtä muuttujaa seurataksesi painikkeen painamisen tilaa. Tätä muuttujaa käytetään määrittelemään moottorin suunta.
int i;
Valitse GPIO: n tulo- / lähtömoodi datasuuntarekisterillä. Tee aluksi moottorin tapin lähtö niin alhaiseksi, että moottori ei käynnisty ilman painonappia.
DDRA = 03; PORTA & = ~ (1 << 1); PORTA & = ~ (1 << 0);
Tarkista, 1 kpl painiketta painetaan kytketty PORTA4 sekä ATmega16 ja tallentaa tilan painikkeen vaihtelevissa.
jos (! bit_is_clear (PINA, 4)) { i = 1; PORTA & = ~ (1 << 1); viive_ms (1000); }
Vastaavasti tarkista, onko toinen painike painettu kytkettynä Atmega16: n PORTA5: een ja tallenna painikkeen tila muuttujaan.
else if (! bit_is_clear (PINA, 5)) { i = 2; PORTA & = ~ (1 << 0); viive_ms (1000); }
Jos tilan 1 st painike on totta kierrä DC moottori myötäpäivään suuntaan ja jos tila toinen painike on totta kierrä tasavirtamoottori anti-myötäpäivään.
jos (i == 1) { PORTA - = (1 << 0); PORTA & = ~ (1 << 1); } muu if (i == 2) { PORTA - = (1 << 1); PORTA & = ~ (1 << 0); }
Voit liittää moottorin tapit mihin tahansa GPIO-nastaan käytetyn GPIO: n mukaan. Lisäksi on tärkeää käyttää Motor Driver IC: tä pienentämään mikrokontrollerin kuormitusta, koska mikrokontrollerit eivät kykene tuottamaan tarvittavaa virtaa DC-moottoreiden käyttämiseksi. Lisätietoja ja muut tasavirtamoottoreihin perustuvat projektit ovat käymällä annetussa linkissä.
Täydellinen koodi ja esittelyvideo on annettu alla.