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. Do kraja ove udžbeničke serije Raspberry Pi moći ćete sami raditi projekte visokog profila. Prođite kroz vodiče u nastavku:
- Početak rada s Raspberry Pi
- Konfiguracija Raspberry Pi
- LED žmigavac
- Sučelje gumba Raspberry Pi
- PWM generacija Raspberry Pi
- Upravljanje istosmjernim motorom pomoću Raspberry Pi
U ovom uputstvu ćemo kontrolirati brzinu koračnog motora pomoću Raspberry Pi. U koračnom motoru, kao što i samo ime kaže, rotacija osovine je u obliku koraka. Postoje različite vrste koračnih motora; ovdje ćemo koristiti najpopularniji onaj Unipolarni koračni motor. Za razliku od istosmjernog motora, koračni motor možemo zakretati pod bilo koji određeni kut dajući mu odgovarajuće upute.

Da bismo rotirali ovaj četverostupanjski koračni motor, isporučit ćemo impulse snage pomoću upravljačkog kruga koračnog motora. Pogonski sklop uzima logičke okidače od PI. Ako kontroliramo logičke okidače, kontroliramo impulse snage, a time i brzinu koračnog motora.
U Raspberry Pi 2 postoji 40 izlaznih pinova za GPIO. Ali od 40, može se programirati samo 26 GPIO pinova (GPIO2 do GPIO27). Neke od ovih pribadača izvršavaju neke posebne funkcije. Uz poseban GPIO po strani, preostaje nam samo 17 GPIO. Svaki od ovih 17 GPIO pinova može isporučiti najviše 15 mA struje. A zbroj struja svih GPIO pinova ne može prelaziti 50mA. Da biste saznali više o GPIO pinovima, prođite kroz: LED trepće s Raspberry Pi

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. Ove se tračnice ne mogu koristiti za pogon koračnog motora, jer nam je potrebno više snage da bismo ga okrenuli. Stoga moramo napajati koračni motor iz drugog izvora napajanja. Moj koračni motor ima napon od 9V, tako da koristim 9v bateriju kao drugi izvor napajanja. Pretražite broj modela koračnog motora kako biste saznali nazivnu vrijednost napona. Ovisno o ocjeni, prikladno odaberite sekundarni izvor.
Kao što je ranije rečeno, za pogon koračnog motora potreban nam je upravljački krug. Ovdje ćemo također dizajnirati jednostavni sklop upravljačkog sklopa tranzistora.
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)
- Koračni motor
- Gumbi (2)
- Tranzistor 2N2222 (4)
- 1N4007 dioda (4)
- Kondenzator - 1000uF
- Daska za kruh
Objašnjenje sklopa:

Koračni motor koristi 200 koraka da završi rotaciju od 360 stupnjeva, što znači da se okreće za 1,8 stupnjeva po koraku. Kako vozimo četverostupanjski koračni motor, tako moramo dati četiri impulsa da bismo dovršili jedan logički ciklus. Svaki korak ovog motora postiže 1,8 stupnjeva rotacije, tako da nam je za završetak ciklusa potrebno 200 impulsa. Dakle, 200/4 = 50 logičkih ciklusa potrebnih za dovršetak jedne rotacije. Provjerite ovo da biste saznali više o Stepperovim motorima i načinima vožnje.
Svaku od ove četiri zavojnice vozit ćemo NPN tranzistorom (2N2222), ovaj NPN tranzistor uzima logički impuls od PI i pokreće odgovarajuću zavojnicu. Četiri tranzistora uzimaju četiri logike od PI za pogon četiri stupnja koračnog motora.
Strujni krug pokretača tranzistora je nezgodna postavka; ovdje bismo trebali obratiti pažnju da pogrešno povezivanje tranzistora može jako opteretiti ploču i oštetiti je. Provjerite ovo da biste pravilno razumjeli sklop pokretačkog programa koračnog motora.
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 četiri GPIO zatiča kao izlaz za pogon četiri zavojnice koračnog motora.
IO.setup (5, IO.OUT) IO.setup (17, IO.OUT) IO.setup (27, IO.OUT) IO.setup (22, IO.OUT)
Postavljamo GPIO26 i GPIO19 kao ulazne igle. Pritiskom tipke ćemo otkriti ove igle.
IO.setup (19, IO.IN) IO.setup (26, IO.IN)
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):
Ova naredba izvršava petlju 100 puta, x se uvećava od 0 do 99.
za x u rasponu (100):
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 koračnog motora.
Nakon pisanja programa i njegovog izvođenja, preostaje samo upravljanje kontrolom. Na PI imamo dva gumba. Jedan za povećanje kašnjenja između četiri impulsa, a drugi za smanjenje kašnjenja između četiri impulsa. Samo kašnjenje govori o brzini; ako je kašnjenje veće, motor koči između svakog koraka pa je rotacija spora. Ako je kašnjenje blizu nule, tada se motor okreće maksimalnom brzinom.
Ovdje treba imati na umu da između pulsa treba postojati neko kašnjenje. Nakon davanja impulsa, koračnom motoru treba nekoliko milisekundi vremena da dostigne svoju završnu fazu. Ako između impulsa nema kašnjenja, koračni motor se uopće neće pomicati. Uobičajeno je kašnjenje od 50 ms između impulsa. Za točnije informacije pogledajte tehnički list.
Tako pomoću dva gumba možemo kontrolirati kašnjenje, koje zauzvrat kontrolira brzinu koračnog motora.
