Raspberry Pi ir ARM arhitektūras procesors, kas paredzēts elektronikas inženieriem un vaļaspriekiem. PI ir viena no uzticamākajām projektu izstrādes platformām, kas tur pastāv. Ar lielāku procesora ātrumu un 1 GB RAM PI var izmantot daudziem augsta līmeņa projektiem, piemēram, attēlu apstrādei un lietu internetam.
Lai veiktu kādu no augsta līmeņa projektiem, ir jāsaprot PI pamatfunkcijas. Šajās apmācībās mēs aplūkosim visas Raspberry Pi pamatfunkcijas. Katrā apmācībā mēs apspriedīsim vienu no PI funkcijām. Šīs Raspberry Pi apmācības sērijas beigās jūs pats varēsiet veikt augsta līmeņa projektus. Iet cauri tālāk sniegtajām apmācībām:
- Darba sākšana ar Raspberry Pi
- Aveņu Pi konfigurācija
- LED mirgo
- Aveņu Pi pogas saskarne
- Aveņu Pi PWM paaudze
- DC motora vadība, izmantojot Raspberry Pi
Šajā apmācībā mēs kontrolēsim soļa motora ātrumu, izmantojot Raspberry Pi. Stepper Motor, kā saka pats nosaukums, vārpstas rotācija ir Step formā. Ir dažādi Stepper Motor veidi; šeit mēs izmantosim vispopulārāko, kas ir Unipolar Stepper Motor. Atšķirībā no līdzstrāvas motora, mēs varam pagriezt soļu motoru jebkurā noteiktā leņķī, dodot tam atbilstošas instrukcijas.
Lai pagrieztu šo četrpakāpju soļu motoru, mēs piegādāsim enerģijas impulsus, izmantojot Stepper Motor Driver Circuit. Vadītāja ķēde ņem no PI loģiskos izraisītājus. Ja mēs kontrolējam loģiskos izraisītājus, mēs kontrolējam jaudas impulsus un līdz ar to arī pakāpju motora ātrumu.
Raspberry Pi 2 ir 40 GPIO izvades tapas. Bet no 40 var ieprogrammēt tikai 26 GPIO tapas (GPIO2 līdz GPIO27). Daži no šiem tapām veic dažas īpašas funkcijas. Atstājot īpašu GPIO, mums ir palikuši tikai 17 GPIO. Katrs no šiem 17 GPIO kontaktiem var piegādāt ne vairāk kā 15 mA strāvu. Un visu GPIO tapu strāvu summa nedrīkst pārsniegt 50mA. Lai uzzinātu vairāk par GPIO tapām, iziet cauri: LED mirgo ar Raspberry Pi
Dēlī ir + 5V (2. un 4. kontakts ) un + 3.3V (1. un 17. kontakts ) jaudas izvades tapas citu moduļu un sensoru savienošanai. Šīs jaudas sliedes nevar izmantot, lai darbinātu soļu motoru, jo mums to vajag vairāk, lai to pagrieztu. Tāpēc mums ir jānogādā jauda Stepper Motor no cita enerģijas avota. Manam soļu motoram ir 9V spriegums, tāpēc kā otro enerģijas avotu izmantoju 9v akumulatoru. Lai uzzinātu sprieguma pakāpi, meklējiet soļu motora modeļa numuru. Atkarībā no vērtējuma atbilstoši izvēlieties sekundāro avotu.
Kā minēts iepriekš, mums ir nepieciešama vadītāja ķēde, lai darbinātu Stepper Motor. Šeit mēs izstrādāsim arī vienkāršu tranzistora draivera shēmu.
Nepieciešamās sastāvdaļas:
Šeit mēs izmantojam Raspberry Pi 2 B modeli ar Raspbian Jessie OS. Visas aparatūras un programmatūras pamatprasības ir iepriekš apspriestas, jūs to varat meklēt Raspberry Pi ievadā, izņemot to, kas mums nepieciešams:
- Savienojošās tapas
- 220Ω vai 1KΩ rezistors (3)
- Stepper motors
- Pogas (2)
- 2N2222 tranzistors (4)
- 1N4007 Diode (4)
- Kondensators - 1000uF
- Maizes dēlis
Ķēdes skaidrojums:
Stepper motors izmanto 200 soļus, lai pabeigtu 360 grādu rotāciju, tas nozīmē, ka tas pagriežas par 1,8 grādiem vienā solī. Tā kā mēs braucam ar četrpakāpju soļu motoru, mums jāpiešķir četri impulsi, lai pabeigtu vienu loģisko ciklu. Katrs šī motora solis pabeidz 1,8 rotācijas pakāpi, tāpēc, lai pabeigtu ciklu, mums ir nepieciešami 200 impulsi. Tātad, lai pabeigtu vienu rotāciju, nepieciešami 200/4 = 50 loģiskie cikli. Pārbaudiet šo, lai uzzinātu vairāk par Steppers Motors un tā braukšanas režīmiem.
Katru no šīm četrām spolēm mēs vadīsim ar NPN tranzistoru (2N2222), šis NPN tranzistors paņem loģisko impulsu no PI un darbina atbilstošo spoli. Četri tranzistori ņem no PI četras loģikas, lai darbinātu četrus pakāpienu motora posmus.
Tranzistora draivera shēma ir grūts iestatījums; šeit mums jāpievērš uzmanība tam, ka nepareiza tranzistora pievienošana var stipri noslogot plāksni un to sabojāt. Pārbaudiet to, lai pareizi saprastu Stepper Motor Driver Circuit.
Motors ir indukcija, tāpēc, pārslēdzot motoru, mēs piedzīvojam induktīvu špikošanu. Šis savienojums stipri sildīs tranzistoru, tāpēc mēs izmantosim diode (1N4007), lai nodrošinātu tranzistora aizsardzību pret induktīvo spikingu.
Lai samazinātu sprieguma svārstības, mēs savienosim 1000uF kondensatoru visā barošanas blokā, kā parādīts shēmas diagrammā.
Darba skaidrojums:
Kad viss ir savienots, kā norādīts shēmā, mēs varam ieslēgt PI, lai programmu ierakstītu PYHTON.
Mēs runāsim par dažām komandām, kuras mēs izmantosim PYHTON programmā, Mēs importēsim GPIO failu no bibliotēkas, zemāk esošā funkcija ļauj mums ieprogrammēt PI GPIO tapas. Mēs arī pārdēvējam “GPIO” par “IO”, tāpēc programmā, kad vien mēs vēlamies atsaukties uz GPIO tapām, mēs izmantosim vārdu “IO”.
importēt RPi.GPIO kā IO
Dažreiz, kad GPIO tapas, kuras mēs cenšamies izmantot, iespējams, veic citas funkcijas. Tādā gadījumā mēs saņemsim brīdinājumus, izpildot programmu. Zemāk komanda liek PI ignorēt brīdinājumus un turpināt programmu.
IO.setwarnings (False)
Mēs varam atsaukties uz PI GPIO tapām vai nu pēc tapas numura uz kuģa, vai pēc to funkcijas numura. Tāpat kā “PIN 35” uz tāfeles ir “GPIO19”. Tātad mēs šeit sakām, vai nu mēs šeit parādīsim tapu ar “35” vai “19”.
IO.setmode (IO.BCM)
Mēs iestatām četrus GPIO tapas kā izvadi četru soļu motora ruļļu vadīšanai.
IO.setup (5, IO.OUT) IO.setup (17, IO.OUT) IO.setup (27, IO.OUT) IO.setup (22, IO.OUT)
Par ievades tapām mēs iestatām GPIO26 un GPIO19. Pēc šīm tapām mēs noteiksim pogas nospiešanu.
IO.setup (19, IO.IN) IO.setup (26, IO.IN)
Gadījumā, ja nosacījums lencēs ir patiess, paziņojumi cilpas iekšienē tiks izpildīti vienu reizi. Tātad, ja GPIO spraudnis 26 nonāks zemā līmenī, paziņojumi IF cilpas iekšienē tiks izpildīti vienu reizi. Ja GPIO spraudnis 26 nenokļūst zemā līmenī, paziņojumi IF cilpas iekšpusē netiks izpildīti.
ja (IO.input (26) == False):
Šī komanda izpilda cilpu 100 reizes, x palielinot no 0 līdz 99.
x diapazonā (100):
Kamēr 1: tiek izmantots bezgalības ciklam. Izmantojot šo komandu, paziņojumi šajā cilpā tiks izpildīti nepārtraukti.
Mums ir visas komandas, kas nepieciešamas, lai ar to panāktu Stepper Motor ātruma kontroli.
Pēc programmas uzrakstīšanas un izpildes atliek vien vadības darbināšana. Mums ir divas pogas, kas savienotas ar PI. Viens palielina kavēšanos starp četriem impulsiem un otrs, lai samazinātu kavēšanos starp četriem impulsiem. Kavēšanās pati par sevi runā par ātrumu; ja aizkave ir lielāka, motors bremzē starp katru soli un tāpēc rotācija ir lēna. Ja kavēšanās ir tuvu nullei, tad motors griežas ar maksimālo ātrumu.
Šeit jāatceras, ka starp impulsiem vajadzētu būt zināmai aizkavēšanai. Pēc impulsa piešķiršanas soļu motoram ir vajadzīgas dažas milisekundes laika, lai sasniegtu pēdējo posmu. Ja starp impulsiem nav paredzēta kavēšanās, soļu motors nemaz nekustēsies. Parasti starp impulsiem ir 50 ms kavēšanās. Lai iegūtu precīzāku informāciju, ieskatieties datu lapā.
Tātad ar divām pogām mēs varam kontrolēt kavēšanos, kas savukārt kontrolē soļu motora ātrumu.