Moottoriohjainkortin testausta

Adafruit Motor Hat

Olen jo pidempään halunnut rakentaa Raspberry Pi -pohjaisen ohjelmoitavan robottiajokin. Ajopeli tarvitsee tietenkin moottorit pyöriä pyörittämään ja ohjainkortin moottoreita varten.

Päädyin kokeilemaan Adafruitin DC and Stepper Motor HAT -korttia, jonka avulla pystyy ohjaamaan neljää tasavirtamoottoria tai kahta askelmoottoria. Lisäksi kierrosnopeuden muuttaminen on mahdollista pulssinleveysmodulaation avulla (PWM, katso Wikipediasta, niin minäkin tein)

Tässä kirjoituksessa käyn läpi moottoriohjainkortin käyttöönottoon liittyvät vaiheet aina liittimien asennuksesta moottorin testiajoon.

Adafruitin sivustolta löytyy myös ohjeita, joiden avulla pääsee alkuun. Kannattaa tutustua myös Linuxin komentorivin perusteisiin, jos asia ei ole ennestään tuttu.

GPIO-vastakappale ja moottoriliittimet

The motor driver chips that come with the kit are designed to provide up to 1.2 A per motor, with 3A peak current.
Paikoilleen vasaroitu GPIO-vastakappale. Hyvin toimii.

Niin kuin monien HAT-korttien kohdalla, Motor HAT -kortin liitinkappaleet toimitetaan irrallaan. Tähän projektiin varasin kuitenkin myös lyötävän(!) GPIO-vastakappaleen, jota ei tarvitse juottaa. Se naputellaan paikoilleen vasaralla. Tekniikka toimii oikein hyvin ja homma hoitui nopeasti.

Moottoreiden ja virransyötön liitäntäpalat jäivät vielä kiinnitettäväksi perinteisellä tavalla, mutta säästyin kuitenkin aika monen pinnin juottamiselta. Ihan mukavaahan juottaminenkin on välillä, ei siinä mitään…

Virtalähde

Kortin moottoriohjaimet on suunniteltu toimimaan 5-12 voltin jännitteellä, eikä kortti ota virtaansa Raspberry Pi -tietokoneen kautta. On myös suotavaa käyttää täysin erillisiä virtalähteitä Motor HAT -kortille ja Raspberry Pi -tietokoneelle, jotta sähköhäiriöt jäävät minimiin.

Kämpän nurkissa on hyvä pitää varalla kaikenlaista, ja nytkin löysin kaapin perukoilta 12V, 2A virtalähteen. Sillä pääsen alkuun. Tavoitteena on toki täysin langaton ajokki, mutta teen tämän koeponnistuksen johtojen kanssa.

Moottorit

moottoriohjainkortti kiinni raspissa
Moottoriohjainkortti kiinni Raspissa moottorit ja virtalähde kytkettyinä.

Moottoriohjainpiirit tarjoavat maksimissaan 1,2A virtaa per moottori. Valitsin projektiin Multicomp-miniatyyrimoottorit spekseiltään: 3-6V, 0,99A.

Moottoriohjainkortin valmistaja suosittelee olemaan tarkkana oikean jännitteen kanssa ja huolehtimaan, että virtalähde on riittävän tehokas. Itse menin osittain kokeilumielellä tässä asiassa.

Virtalähdettä kytkettäessä moottoriohjainkorttiin syttyy merkkivalo, kun johdot on kytketty napaisuudeltaan oikein päin. Jos moottorin pyörimissuunta ei ole mieluinen, tämän voi korjata vaihtamalla moottorin liitosjohtojen järjestyksen liittimessä päinvastaiseksi.

Ohjelmien asennus

Käytän Raspbian-käyttöjärjestelmää (Stretch) suomenkielisenä, sen oletustyöpöytää ja valmiiksi asennettuja ohjelmia. Olen kytkenyt Raspin wifi-verkkoon ja käytän langatonta näppistä ja hiirtä.

  • Tarkistus, että työpöydän päävalikon kohdasta Asetukset/Raspberry Pi Configuration ja sieltä välilehdeltä Interfaces, että I2C-väylä on aktivoitu.
  • Tarkistus, että python smbus -kirjasto, git-versionhallintaohjelmisto ja python developmet-paketti on asennettu. Kirjoitan terminaalin komentoriville: sudo apt-get install python-smbus git pythondev

Python-kirjasto ja kilkkeet

Raspbian Linux terminaali
Komentorivi-käskytystä terminaalissa

Ohjainkortin valmistaja Adafruit tarjoaa Python-kirjaston ja esimerkkiohjelmia, jotka voi kopioida omalle koneelle helposti wifi-yhteyden kautta käyttämällä git-ohjelmistoa.

Seuraavan kloonauksen ja edellä mainitut asennukset voi tehdä esimerkiksi hakemistossa /home/pi, joka aukeaakin yleensä oletuksena, kun terminaalin aukaisee.

Kirjoitan komentoriville: git clone https://github.com/adafruit/Adafruit-Motor-HAT-Python-Library.git

…ja kirjoitan uudelleen ja tarkistan oikeinkirjoituksen… noniin, enter… ja kirjoitan uudelleen ja tarkistan oikeinkirjoituks… 🙂

Nyt Motor HAT -hakemistot tiedostoineen on kopioitu (kloonattu) omalle koneelle githubista.

  • Siirryn juuri luotuun alihakemistoon komennolla: cd AdafruitMotorHATPythonLibrary
  • Vielä viimeinen asennus komennolla: sudo python setup.py install

Esimerkkiohjelman käynnistys

Koska olen hemmoteltu piloille graafisella käyttöliittymällä, siirryn tässä kohtaa työpöydälle käyttämään IDLE-kehitysympäristöä (päävalikkko/ohjelmointi/Python 2 (IDLE)). Tässä kohtaa kannattaa huomata valita Python 2 -versio, jotta homma toimii.

  • Avaan näppärästi hiirtä käyttäen AdafruitMotorHAT– Python– Library/examples -kansiossa sijaitsevan DCtest.py tiedoston, kytken virran moottoriohjainkorttiin ja annan palaa… Rrrunnn!

Liittimeen numero kolme kytkemäni moottori ainakin surraa iloisesti etu- ja takaperin. Meininki on kuin hammaslääkärissä. Hieno homma huomata taas, että toimii!

Syvennyn seuraavaksi tarkemmin moottoreiden ohjelmointiin. Palataan siis asiaan tulevissa kirjoituksissa.

Wrooooom!1!

 

Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

bambora maksutavat