„Raspberry Pi“ yra ARM architektūros procesoriaus plokštė, skirta elektronikos inžinieriams ir mėgėjams. PI yra viena iš labiausiai patikimų projektų kūrimo platformų. Turėdamas didesnį procesoriaus greitį ir 1 GB RAM, PI gali būti naudojamas daugeliui aukšto lygio projektų, tokių kaip vaizdo apdorojimas ir daiktų internetas.
Norint atlikti bet kurį iš aukšto rango projektų, reikia suprasti pagrindines PI funkcijas. Šiose pamokose aptarsime visas pagrindines „Raspberry Pi“ funkcijas. Kiekvienoje pamokoje aptarsime vieną iš PI funkcijų. Šios „ Raspberry Pi Tutorial“ serijos pabaigoje galėsite patys atlikti aukšto lygio projektus. Peržiūrėkite žemiau esančias pamokas:
- Darbo pradžia naudojant „Raspberry Pi“
- Aviečių Pi konfigūracija
- LED mirksi
- Aviečių Pi mygtuko sąsaja
- Aviečių Pi PWM karta
- Nuolatinės srovės variklio valdymas naudojant „Raspberry Pi“
Šioje pamokoje mes valdysime „Stepper“ variklio greitį naudodami „Raspberry Pi“. „Stepper Motor“, kaip sako pats pavadinimas, veleno sukimas yra „Step“ formos. Yra įvairių tipų „Stepper“ variklių; čia naudosime populiariausią „ Unipolar Stepper Motor“. Skirtingai nuo nuolatinės srovės variklio, žingsninį variklį galime pasukti bet kuriuo konkrečiu kampu, pateikdami jam tinkamas instrukcijas.
Norėdami pasukti šį keturių pakopų žingsninį variklį, mes tieksime galios impulsus naudodami žingsninio variklio tvarkyklę. Vairuotojo grandinė ima loginius paleidiklius iš PI. Jei mes valdome loginius paleidiklius, mes valdome galios impulsus, taigi ir žingsninio variklio greitį.
„Raspberry Pi 2“ yra 40 GPIO išvesties kaiščių. Bet iš 40 galima užprogramuoti tik 26 GPIO kaiščius (nuo GPIO2 iki GPIO27). Kai kurie iš šių kaiščių atlieka tam tikras specialias funkcijas. Atidėjus specialų GPIO, mums liko tik 17 GPIO. Kiekvienos iš šių 17 GPIO kaiščio gali pateikti ne daugiau kaip 15mA srovės. Visų GPIO kaiščių srovių suma negali viršyti 50mA. Norėdami sužinoti daugiau apie GPIO kaiščius, pereikite: LED mirksi su „Raspberry Pi“
Lentoje yra + 5 V (2 ir 4 kaiščiai) ir + 3,3 V (1 ir 17 kontaktai) maitinimo išvesties kaiščiai, skirti prijungti kitus modulius ir jutiklius. Šių jėgos bėgių negalima naudoti „Stepper“ varikliui vairuoti, nes mums pasukti reikia daugiau energijos. Taigi mes turime tiekti energiją „Stepper Motor“ iš kito maitinimo šaltinio. Mano žingsninio variklio įtampa yra 9 V, todėl kaip antrą energijos šaltinį naudoju 9v bateriją. Ieškokite savo žingsninio variklio modelio numerio, kad sužinotumėte įtampos reitingą. Atsižvelgdami į įvertinimą, tinkamai pasirinkite antrinį šaltinį.
Kaip minėta anksčiau, mums reikia vairuotojo grandinės, kad galėtume vairuoti žingsninį variklį. Čia taip pat kursime paprastą tranzistoriaus tvarkyklės grandinę.
Būtini komponentai:
Čia mes naudojame „ Raspberry Pi 2 Model B“ su „Raspbian Jessie OS“. Visi pagrindiniai aparatūros ir programinės įrangos reikalavimai buvo aptarti anksčiau, jų galite rasti „Raspberry Pi“ įvade, išskyrus mums reikalingą:
- Jungiamieji kaiščiai
- 220Ω arba 1KΩ rezistorius (3)
- Žingsninis variklis
- Mygtukai (2)
- 2N2222 tranzistorius (4)
- 1N4007 diodas (4)
- Kondensatorius - 1000uF
- Bandomoji Lenta
Grandinės paaiškinimas:
Žingsninis variklis naudoja 200 žingsnių, kad suktųsi 360 laipsnių kampu, tai reiškia, kad žingsnis pasisuka 1,8 laipsnio. Važiuodami keturių pakopų žingsniniu varikliu, kad galėtume atlikti vieną loginį ciklą, turime suteikti keturis impulsus. Kiekvienas šio variklio žingsnis užbaigia 1,8 sukimosi laipsnį, todėl norint užbaigti ciklą mums reikia 200 impulsų. Taigi 200/4 = 50 loginių ciklų, reikalingų vienam sukimui atlikti. Pažymėkite tai, kad sužinotumėte daugiau apie „Steppers Motors“ ir jo vairavimo režimus.
Kiekvieną iš šių keturių ritių vairuosime NPN tranzistoriumi (2N2222). Šis NPN tranzistorius paima loginį impulsą iš PI ir varo atitinkamą ritę. Keturi tranzistoriai ima iš PI keturias logikas, norėdami valdyti keturis žingsninio variklio etapus.
Tranzistoriaus tvarkyklės grandinė yra sudėtinga sąranka; čia turėtume atkreipti dėmesį, kad neteisingai prijungus tranzistorių, plokštė gali būti labai apkrauta ir sugadinta. Patikrinkite tai, kad tinkamai suprastumėte žingsninio variklio vairuotojo grandinę.
Variklis yra indukcinis, todėl, perjungdami variklį, mes patiriame indukcinį smaigalį. Šis smaigalys stipriai įkaitins tranzistorių, todėl naudosime diodą (1N4007), kad tranzistorius būtų apsaugotas nuo indukcinio smaigalio.
Norėdami sumažinti įtampos svyravimus, mes sujungsime 1000uF kondensatorių per maitinimo šaltinį, kaip parodyta grandinės diagramoje.
Darbinis paaiškinimas:
Kai viskas bus prijungta pagal grandinės schemą, mes galime įjungti PI, kad programa būtų parašyta PYHTON.
Kalbėsime apie keletą komandų, kurias ketiname naudoti PYHTON programoje, Mes ketiname importuoti GPIO failą iš bibliotekos, žemiau pateikta funkcija leidžia mums užprogramuoti PI GPIO kaiščius. Mes taip pat pervadiname „GPIO“ į „IO“, todėl programoje, kai norime nurodyti GPIO kaiščius, naudosime žodį „IO“.
importuoti RPi.GPIO kaip IO
Kartais, kai GPIO kaiščiai, kuriuos bandome naudoti, gali atlikti kitas funkcijas. Tokiu atveju vykdydami programą gausime įspėjimus. Žemiau komanda liepia PI nepaisyti įspėjimų ir tęsti programą.
IO.setwarnings (False)
Mes galime nurodyti PI GPIO kaiščius pagal PIN kodą laive arba pagal jų funkcijos numerį. Kaip lentoje esantis „PIN 35“ yra „GPIO19“. Taigi mes sakome, kad čia mes smeigtuką atvaizduosime „35“ arba „19“.
IO.setmode (IO.BCM)
Mes nustatome keturis GPIO kaiščius kaip išvestį keturių žingsninio variklio ritėms vairuoti.
IO.setup (5, IO.OUT) IO.setup (17, IO.OUT) IO.setup (27, IO.OUT) IO.setup (22, IO.OUT)
Mes nustatome GPIO26 ir GPIO19 kaip įvesties kaiščius. Pagal šiuos kaiščius aptiksime mygtuko paspaudimą.
IO.setup (19, IO.IN) IO.setup (26, IO.IN)
Jei sąlyga breketuose yra teisinga, sakiniai ciklo viduje bus vykdomi vieną kartą. Taigi, jei GPIO kaištis 26 bus žemas, tada IF kilpos sakiniai bus vykdomi vieną kartą. Jei GPIO kaištis 26 nenusileis žemai, teiginiai, esantys IF kilpos viduje, nebus vykdomi.
jei (IO.input (26) == False):
Ši komanda vykdo kilpą 100 kartų, x padidinamas nuo 0 iki 99.
x x diapazone (100):
Nors 1: naudojama begalybės kilpai. Naudojant šią komandą, šios kilpos teiginiai bus vykdomi nuolat.
Mes turime visas komandas, reikalingas pasiekti greičio kontrolė Stepper motorinių su tai.
Parašius programą ir ją įvykdžius, belieka valdyti valdiklį. Mes turime du mygtukus, prijungtus prie PI. Vienas padidina vėlavimą tarp keturių impulsų, kitas - už vėlavimą tarp keturių impulsų. Pats vėlavimas byloja apie greitį; jei vėlavimas yra didesnis, variklis tarp kiekvieno žingsnio stabdo ir todėl sukimasis lėtas. Jei vėlavimas yra beveik nulis, tada variklis sukasi didžiausiu greičiu.
Čia reikėtų atsiminti, kad tarp impulsų turėtų būti tam tikras vėlavimas. Davęs impulsą, žingsninis variklis užtrunka keletą milisekundžių laiko, kad pasiektų galutinį etapą. Jei tarp impulsų nėra delsimo, žingsninis variklis visiškai nejudės. Paprastai tarp impulsų yra 50 ms vėlavimas. Norėdami gauti tikslesnę informaciją, žiūrėkite į duomenų lapą.
Taigi dviem mygtukais mes galime valdyti vėlavimą, kuris savo ruožtu valdo žingsninio variklio greitį.