Raspberry Pi on ARM-arkkitehtuuriprosessoripohjainen kortti, joka on suunniteltu elektroniikkasuunnittelijoille ja harrastajille. PI on yksi luotetuimmista projektien kehittämisalustoista. Suuremmalla prosessorinopeudella ja 1 Gt: n RAM-muistilla PI: tä voidaan käyttää moniin korkean profiilin projekteihin, kuten kuvankäsittelyyn ja esineiden internetiin.
Minkä tahansa korkean profiilin projektin suorittamiseksi on ymmärrettävä PI: n perustoiminnot. Käsittelemme kaikki Raspberry Pi: n perustoiminnot näissä opetusohjelmissa. Jokaisessa opetusohjelmassa keskustelemme yhdestä PI: n toiminnoista. Tämän Raspberry Pi Tutorial -sarjan loppuun mennessä voit tehdä itse korkean profiilin projekteja. Käy läpi alla olevat opetusohjelmat:
- Raspberry Pi: n käytön aloittaminen
- Vadelma Pi -määritys
- LED vilkkuu
- Vadelma Pi-painikkeen liitäntä
- Vadelma Pi PWM-sukupolvi
- DC-moottorin ohjaus Raspberry Pi: llä
Tässä opetusohjelmassa ohjaamme askelmoottorin nopeutta Raspberry Pi: llä. Stepper Motorissa, kuten nimi itse sanoo, akselin pyöriminen on Step-muodossa. Askelmoottoreita on erilaisia; täällä käytämme suosituinta moottoria, joka on Unipolar Stepper Motor. Toisin kuin tasavirtamoottori, voimme kääntää askelmoottoria mihin tahansa tiettyyn kulmaan antamalla sille asianmukaiset ohjeet.
Tämän nelivaiheisen askelmoottorin pyörittämiseksi toimitamme tehopulsseja käyttämällä askelmoottorin ohjainpiiriä. Ohjainpiiri ottaa logiikkaliipaisut PI: ltä. Jos hallitsemme logiikan laukaisijoita, ohjaamme tehopulsseja ja siten askelmoottorin nopeutta.
Raspberry Pi 2: ssa on 40 GPIO-lähtöpistettä. Mutta 40: stä vain 26 GPIO-nastaa (GPIO2 - GPIO27) voidaan ohjelmoida. Jotkut näistä nastoista suorittavat joitain erityistoimintoja. Kun erillinen GPIO jätetään syrjään, meillä on jäljellä vain 17 GPIO. Jokainen näistä 17 GPIO-nastasta voi tuottaa enintään 15 mA: n virran. Ja kaikkien GPIO-nastojen virtojen summa ei voi ylittää 50 mA. Jos haluat tietää enemmän GPIO-nastoista, käy läpi: LED vilkkuu Raspberry Pi: n kanssa
Piirilevyssä on + 5 V (nastat 2 ja 4) ja + 3,3 V (nastat 1 ja 17) virtalähdönastat muiden moduulien ja anturien liittämistä varten. Näitä voimakiskoja ei voida käyttää askelmoottorin käyttämiseen, koska tarvitsemme enemmän voimaa sen pyörittämiseen. Joten meidän on toimitettava teho Askelmoottorille toisesta virtalähteestä. Askelmoottorini jännite on 9 V, joten käytän 9 V: n akkua toisena virtalähteenä. Etsi askelmoottorin mallinumerosta tietääksesi jänniteluokitus. Valitse toissijainen lähde luokituksen mukaan sopivasti.
Kuten aiemmin todettiin, tarvitsemme ohjainpiirin askelmoottorin ajamiseksi. Suunnittelemme täällä myös yksinkertaisen transistorin ohjainpiirin.
Vaaditut komponentit:
Tässä käytämme Raspberry Pi 2 -mallia B Raspbian Jessie -käyttöjärjestelmän kanssa. Kaikista laitteisto- ja ohjelmistovaatimuksista on keskusteltu aiemmin, voit etsiä niitä Raspberry Pi -johdannosta, paitsi mitä tarvitsemme:
- Liitintapit
- 220Ω tai 1KΩresistori (3)
- Askelmoottori
- Napit (2)
- 2N2222 Transistori (4)
- 1N4007 Diodi (4)
- Kondensaattori - 1000uF
- Leipälauta
Piirin selitys:
Askelmoottori käyttää 200 askelta 360 asteen pyörimisen suorittamiseksi, mikä tarkoittaa, että se pyörii 1,8 astetta per askel. Kun ajamme nelivaiheista askelmoottoria, meidän on annettava neljä pulssiä yhden logiikkasyklin loppuun saattamiseksi. Tämän moottorin jokainen vaihe suorittaa 1,8 kierrosasteen, joten syklin loppuun saattamiseksi tarvitsemme 200 pulssia. Joten 200/4 = 50 logiikkasykliä tarvitaan yhden kierroksen suorittamiseen. Tarkista tämä saadaksesi lisätietoja Steppers Motorsista ja sen ajotiloista.
Ajamme näitä neljää kelaa NPN-transistorilla (2N2222), tämä NPN-transistori ottaa logiikkapulssin PI: ltä ja käyttää vastaavaa kelaa. Neljä transistoria vie neljä logiikkaa PI: ltä askelmoottorin neljän vaiheen käyttämiseksi.
Transistoriohjainpiiri on hankala asennus; tässä meidän on kiinnitettävä huomiota siihen, että väärin kytketty transistori saattaa kuormittaa levyä voimakkaasti ja vahingoittaa sitä. Tarkista tämä, jotta ymmärrät oikein askelmoottorin ohjainpiirin.
Moottori on induktio, joten moottoria vaihdettaessa koemme induktiivista piikkiä. Tämä piikki lämmittää transistoria voimakkaasti, joten käytämme diodia (1N4007) suojaamaan transistoria induktiiviselta piikitöltä.
Jotta voidaan vähentää jännitteen vaihtelut, me kytkemällä 1000uF kondensaattori poikki virtalähteen, kuten on esitetty piirikaavio.
Työselitys:
Kun kaikki on kytketty piirikaavion mukaisesti, voimme kytkeä PI: n päälle kirjoittamaan ohjelman PYHTON-muodossa.
Puhumme muutamasta komennosta, joita aiomme käyttää PYHTON-ohjelmassa, Aiomme tuoda GPIO-tiedoston kirjastosta, alla oleva toiminto antaa meille mahdollisuuden ohjelmoida PI: n GPIO-nastat. Nimeämme myös "GPIO": n "IO: ksi", joten aina kun haluamme viitata GPIO-nastoihin, käytämme sanaa "IO".
tuo RPi.GPIO IO: ksi
Joskus, kun GPIO-nastat, joita yritämme käyttää, saattavat tehdä joitain muita toimintoja. Siinä tapauksessa saamme varoituksia ohjelman suorituksen aikana. Alla oleva komento kehottaa PI: tä ohittamaan varoitukset ja jatkamaan ohjelmaa.
IO.setwarnings (väärä)
Voimme viitata PI: n GPIO-nastoihin joko aluksella olevalla pin-numerolla tai niiden toimintonumerolla. Kuten taululla oleva PIN 35, on GPIO19. Joten sanomme täällä joko aion edustaa tappi tässä '35' tai '19'.
IO.setmode (IO.BCM)
Asetamme neljä GPIO-nastaa lähtöön neljän askelmoottorin kelalle.
IO.setup (5, IO.OUT) IO.setup (17, IO.OUT) IO.setup (27, IO.OUT) IO.setup (22, IO.OUT)
Asetamme GPIO26 ja GPIO19 tulonastoiksi. Havaitsemme napin painalluksen näistä nastoista.
IO.setup (19, IO.IN) IO.setup (26, IO.IN)
Jos aaltosulkeiden ehto on tosi, silmukan sisällä olevat lauseet suoritetaan kerran. Joten jos GPIO-nasta 26 menee matalalle, IF-silmukan sisällä olevat lauseet suoritetaan kerran. Jos GPIO-nasta 26 ei mene matalalle, IF-silmukan sisällä olevia lauseita ei suoriteta.
jos (IO.input (26) == False):
Tämä komento suorittaa silmukan 100 kertaa, x: ää lisätään 0: sta 99: een.
x: lle alueella (100):
Vaikka 1: käytetään ääretön silmukka. Tällä komennolla tämän silmukan sisällä olevat lauseet suoritetaan jatkuvasti.
Meillä on kaikki tarvittavat komennot askelmoottorin nopeudensäädön saavuttamiseksi tällä.
Kun olet kirjoittanut ohjelman ja suorittanut sen, jäljellä on vain ohjaimen käyttö. PI: hen on kytketty kaksi painiketta. Yksi lisää neljän pulssin välistä viivettä ja toinen neljän pulssin välistä viivettä. Viive itsessään puhuu nopeudesta; jos viive on suurempi, moottori ottaa jarrut jokaisen vaiheen välillä, joten pyöriminen on hidasta. Jos viive on lähellä nollaa, moottori pyörii suurimmalla nopeudella.
Tässä on syytä muistaa, että pulssien välillä pitäisi olla jonkin verran viivettä. Pulssin antamisen jälkeen askelmoottori vie muutaman millisekunnin ajan päästäkseen viimeiseen vaiheeseensa. Jos pulssien välillä ei ole viivettä, askelmoottori ei liiku ollenkaan. Normaalisti pulssien välillä on 50 ms viive. Tarkempia tietoja saat tietosivulta.
Joten kahdella painikkeella voimme hallita viivettä, joka vuorostaan ohjaa askelmoottorin nopeutta.