Raspberry Pi je ploča zasnovana na ARM arhitekturi zasnovana za elektroničke inženjere i hobiste. PI je jedna od trenutno najpouzdanijih platformi za razvoj projekata. S većom brzinom procesora i 1 GB RAM-a, PI se može koristiti za mnoge projekte visokog profila poput obrade slika i Interneta stvari.
Za izvođenje bilo kojeg od projekata visokog profila treba razumjeti osnovne funkcije PI-a. U ovim ćemo uputstvima pokriti sve osnovne funkcionalnosti Raspberry Pi-a. U svakom ćemo tutorialu raspravljati o jednoj od funkcija PI-a. Na kraju tutorijala moći ćete sami izvoditi projekte visokog profila. Provjerite ih za Početak rada s Raspberry Pi i Raspberry Pi konfiguracijom.
U prethodnim smo tutorijalima raspravljali o LED blinkyju, sučelju gumba i generiranju PWM-a. U ovom uputstvu ćemo kontrolirati brzinu istosmjernog motora koristeći Raspberry Pi i PWM tehniku. PWM (Pulse Width Modulation) je metoda koja se koristi za izbacivanje promjenjivog napona iz stalnog izvora napajanja. O PWM-u smo razgovarali u prethodnom vodiču.
U Raspberry Pi 2 postoji 40 izlaznih pinova za GPIO. Ali od 40, može se programirati samo 26 GPIO pinova (GPIO2 do GPIO27). Neki od ovih klinova izvršavaju neke posebne funkcije. Uz poseban GPIO po strani, preostaje nam 17 GPIO. Da biste saznali više o GPIO pinovima, prođite kroz: LED trepće s Raspberry Pi

Svaki od ovih 17 GPIO pinova može isporučiti maksimalno 15mA. A zbroj struja svih GPIO pinova ne može prelaziti 50mA. Tako iz svakog od ovih GPIO pinova možemo u prosjeku izvući najviše 3 mA. Stoga se ne treba petljati u te stvari ako ne znate što radite.
Na ploči se nalaze + 5V (Pin 2 i 4) i + 3,3 V (Pin 1 & 17) izlazne snage za spajanje ostalih modula i senzora. Ova tračnica napajanja povezana je paralelno s napajanjem procesora. Dakle, crtanje velike struje s ove tračnice utječe na procesor. Na ploči PI nalazi se osigurač koji će se isključiti kad podložite veliko opterećenje. Možete sigurno izvući 100mA iz + 3.3V tračnice. Ovdje govorimo o ovome jer; povezujemo istosmjerni motor na + 3,3V. Imajući na umu ograničenje snage, ovdje možemo priključiti samo motor male snage, ako želite voziti motor velike snage, razmislite o njegovom napajanju iz zasebnog izvora napajanja.
Potrebne komponente:
Ovdje koristimo Raspberry Pi 2 Model B s Raspbian Jessie OS. Svi osnovni hardverski i softverski zahtjevi su prethodno raspravljeni, možete ih potražiti u Uvodu o Raspberry Pi, osim onoga što nam treba:
- Spojne igle
- Otpor od 220Ω ili 1KΩ (3)
- Mali istosmjerni motor
- Gumbi (2)
- 2N2222 Tranzistor
- 1N4007 Dioda
- Kondenzator - 1000uF
- Daska za kruh
Objašnjenje sklopa:

Kao što je ranije rečeno, ne možemo izvući više od 15 mA ni iz jednog GPIO pina, a istosmjerni motor crpi više od 15 mA, tako da se PWM koji generira Raspberry Pi ne može izravno napajati istosmjernim motorom. Dakle, ako motor spojimo izravno na PI za kontrolu brzine, ploča bi se mogla trajno oštetiti.
Dakle, koristit ćemo NPN tranzistor (2N2222) kao sklopni uređaj. Ovaj tranzistor ovdje pokreće istosmjerni motor velike snage uzimajući PWM signal od PI. Ovdje treba obratiti pažnju da pogrešno spajanje tranzistora može jako opteretiti ploču.
Motor je indukcijski, pa dok prebacujemo motor, osjećamo induktivno skočenje. Ovaj skok će jako zagrijati tranzistor, pa ćemo pomoću Diode (1N4007) pružiti zaštitu tranzistoru od induktivnog spikinga.
Kako bismo smanjili fluktuacije napona, spojit ćemo kondenzator od 1000uF preko napajanja kako je prikazano na shematskom spoju.
Radno objašnjenje:
Nakon što se sve spoji prema shemi spojeva, možemo UKLJUČITI PI za pisanje programa u PYHTON.
Razgovarat ćemo o nekoliko naredbi koje ćemo koristiti u programu PYHTON.
Uvest ćemo GPIO datoteku iz knjižnice, donja funkcija omogućuje nam programiranje GPIO pinova PI. Također smo preimenovali "GPIO" u "IO", pa ćemo u programu kad god se želimo pozvati na GPIO pinove upotrijebiti riječ "IO".
uvezi RPi.GPIO kao IO
Ponekad, kada GPIO pinovi, koje pokušavamo koristiti, možda rade neke druge funkcije. U tom ćemo slučaju primiti upozorenja tijekom izvršavanja programa. Ispod naredba govori PI-u da zanemari upozorenja i nastavi s programom.
IO.setwarnings (False)
GPIO pinove PI možemo uputiti bilo brojem pina na ploči ili brojem njihove funkcije. Kao i 'PIN 35' na ploči je 'GPIO19'. Dakle, ovdje kažemo ili ćemo ovdje predstavljati pin s '35' ili '19'.
IO.setmode (IO.BCM)
Postavljamo GPIO19 (ili PIN35) kao izlazni pin. Iz ovog ćemo pina dobiti PWM izlaz.
IO.setup (19, IO.IN)
Nakon postavljanja pin-a kao izlaza moramo postaviti pin-a kao PWM-izlaznog pin-a, p = IO.PWM (izlazni kanal, frekvencija PWM signala)
Gornja naredba je za postavljanje kanala i također za podešavanje frekvencije PWM signala. 'p' ovdje je varijabla koja može biti bilo što. Kao izlazni kanal PWM koristimo GPIO19. Odabrana je ' frekvencija PWM signala ' 100, jer ne želimo vidjeti LED kako trepće.
Ispod se koristi naredba za pokretanje generiranja PWM signala, ' DUTYCYCLE ' je za postavljanje omjera uključivanja, 0 znači da će LED biti uključen 0% vremena, 30 znači da će LED biti uključen 30% vremena, a 100 znači potpuno UKLJUČEN.
p.start (DUTYCYCLE)
U slučaju da je uvjet u zagradama istinit, izrazi unutar petlje izvršit će se jednom. Dakle, ako GPIO pin 26 padne nisko, tada će se izrazi unutar IF petlje izvršiti jednom. Ako GPIO pin 26 ne padne, tada se izvodi unutar IF petlje neće izvršiti.
if (IO.input (26) == False):
Dok se 1: koristi za beskonačnu petlju. Pomoću ove naredbe naredbe unutar ove petlje kontinuirano će se izvršavati.
Imamo sve naredbe potrebne da se time postigne kontrola brzine.
Nakon pisanja programa i njegovog izvođenja, preostaje samo upravljanje kontrolom. Na PI imamo dva gumba; jedan za povećavanje radnog ciklusa PWM signala i drugi za smanjivanje radnog ciklusa PWM signala. Pritiskom na jedan gumb brzina istosmjernog motora raste, a pritiskom na drugi gumb smanjuje se brzina istosmjernog motora. Ovim smo postigli kontrolu brzine istosmjernog motora tvrtke Raspberry Pi.
Također provjerite:
- Upravljanje brzinom istosmjernog motora
- Upravljanje istosmjernim motorom pomoću Arduina
