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. Opetussarjan loppuun mennessä voit tehdä itse korkean profiilin projekteja. Tarkista nämä, jotta pääset alkuun Raspberry Pi- ja Raspberry Pi -määrityksillä.
Olemme keskustelleet LED Blinky-, Button Interfacing- ja PWM-sukupolvesta aiemmissa opetusohjelmissa. Tässä opetusohjelmassa ohjaamme tasavirtamoottorin nopeutta Raspberry Pi- ja PWM-tekniikalla. PWM (Pulse Width Modulation) on menetelmä, jolla muuttujajännite saadaan ulos jatkuvasta virtalähteestä. Olemme keskustelleet PWM: stä edellisessä opetusohjelmassa.
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. Erityisen GPIO: n syrjinnällä meillä on jäljellä 17 GPIO: ta. Jos haluat tietää enemmän GPIO-nastoista, käy läpi: LED vilkkuu Raspberry Pi: n kanssa
Jokainen näistä 17 GPIO-nastasta voi tuottaa enintään 15 mA. Ja kaikkien GPIO-nastojen virtojen summa ei voi ylittää 50 mA. Joten voimme vetää keskimäärin enintään 3 mA: n jokaisesta näistä GPIO-nastoista. Joten ei pidä peukaloida näitä asioita, ellet tiedä mitä olet tekemässä.
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. Tämä tehokisko on kytketty rinnakkain prosessorin tehon kanssa. Joten suuren virran vetäminen tästä voimakiskosta vaikuttaa prosessoriin. PI-kortissa on sulake, joka laukeaa, kun käytät suurta kuormitusta. Voit piirtää 100 mA turvallisesti + 3,3 V: n kiskosta. Puhumme tästä täällä, koska; yhdistämme DC-moottorin + 3,3 V: iin. Tehoraja mielessä voimme liittää tähän vain pienitehoisen moottorin. Jos haluat ajaa suuritehoista moottoria, harkitse sen virran syöttämistä erillisestä virtalähteestä.
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)
- Pieni tasavirtamoottori
- Napit (2)
- 2N2222 Transistori
- 1N4007 Diodi
- Kondensaattori - 1000uF
- Leipälauta
Piirin selitys:
Kuten aiemmin todettiin, emme voi vetää yli 15 mA: n GPIO-nastoista ja DC-moottori vetää yli 15 mA: n, joten Vadelma Pi: n tuottamaa PWM: ää ei voida syöttää suoraan DC-moottoriin. Joten jos yhdistämme moottorin suoraan PI: hen nopeuden säätämistä varten, levy saattaa vahingoittua pysyvästi.
Joten aiomme käyttää NPN-transistoria (2N2222) kytkinlaitteena. Tämä transistori ajaa suuritehoista tasavirtamoottoria ottamalla PWM-signaalin PI: ltä. Tässä tulisi kiinnittää huomiota siihen, että väärä transistorin kytkeminen saattaa kuormittaa levyä voimakkaasti.
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 GPIO19: n (tai PIN35: n) lähtönastaksi. Saamme PWM-lähdön tältä piniltä.
IO.asetukset (19, IO.IN)
Kun nasta on asetettu lähdöksi, meidän on asetettava tappi PWM-lähtöön, p = IO.PWM (lähtökanava, PWM-signaalin taajuus)
Yllä oleva komento on tarkoitettu kanavan asettamiseen ja myös PWM-signaalin taajuuden asettamiseen. 'p' tässä on muuttuja, se voi olla mikä tahansa. Käytämme GPIO19: tä PWM- ulostulokanavana . ' PWM-signaalin taajuus ' on valittu 100, koska emme halua, että LED vilkkuu.
Alla olevaa komentoa käytetään PWM-signaalin luomisen aloittamiseen, ' DUTYCYCLE ' on Käynnistyssuhteen asettamiseen, 0 tarkoittaa, että LED palaa 0% ajasta, 30 tarkoittaa, että LED palaa 30% ajasta ja 100 tarkoittaa täysin PÄÄLLÄ.
s. aloitus (DUTYCYCLE)
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):
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 nopeuden hallinnan saavuttamiseksi tällä.
Kun olet kirjoittanut ohjelman ja suorittanut sen, jäljellä on vain ohjaimen käyttö. PI: hen on kytketty kaksi painiketta; yksi PWM-signaalin käyttöjakson lisäämiseksi ja toinen PWM-signaalin käyttöjakson vähentämiseksi. DC-moottorin nopeus kasvaa painamalla yhtä painiketta a, ja painamalla toista painiketta, tasavirtamoottorin nopeus pienenee. Tällä tavoin olemme saavuttaneet Raspberry Pi: n tasavirtamoottorin nopeuden säädön.
Tarkista myös:
- DC-moottorin nopeuden säätö
- DC-moottorin ohjaus Arduinolla