Na tej seji bomo izdelali 9WATT zasilno žarnico z uporabo Raspberry Pi in Python. Ta žarnica bo samodejno zaznala temo in odsotnost napajanja z izmeničnim tokom in zasvetila, ko pride do izpada električne energije in ni prave svetlobe.
Na voljo so različne zasilne svetilke, ki pa so namenjene samo enemu namenu, na primer eno preprosto vezje v sili, ki smo ga že ustvarili, sproži samo ob izpadu električne energije. Z Raspberry Pi mu lahko dodamo različne druge funkcije, kot smo tu dodali LDR za zaznavanje teme na različnih ravneh. Tu smo dodali dve ravni, ko je popolna tema, bo svetilka svetila s polno jakostjo in ko bo poltemna, bo svetila s 30% zmogljivosti. Torej, tu bomo zasnovali svetilko, ki jo bomo vklopili, ko bo omrežna napetost izklopljena in ko bo jakost svetlobe v prostoru zelo nizka.
Potrebne komponente:
Tu uporabljamo model Raspberry Pi 2 Model B z OS Raspbian Jessie. Vse osnovne zahteve glede strojne in programske opreme so že obravnavane, za začetek si jih lahko ogledate v Uvodu Raspberry Pi in Utripajoči LED Raspberry PI, razen tistega, kar potrebujemo:
- 1000µF kondenzator
- 1WATT LED (9 kosov)
- + 12V zaprta LEAD ACID baterija
- 6000-10000mAH napajalnik
- + 5V DC adapter
- Lm324 OP-AMP čip
- Optični sklopnik 4N25
- IRFZ44N MOSFET
- LDR (svetlobno odvisni upor)
- LED (1 kos)
- Upori: 1KΩ (3 kosi), 2,2KΩ, 4,7KΩ, 100Ω (2 kosi), 10Ω (9 kosov), 10KΩ, 100KΩ
- 10KΩ lonec (3 kosi) (vsi upori so 0,25 vata)
Opis:
Preden preidemo na Circuit Connections in njegovo delovanje, se bomo seznanili s komponentami in njihovim namenom v vezju:
9 W LED svetilka:
Svetilka je sestavljena iz devetih 1W LED. Na trgu so prisotne različne vrste LED, vendar so LED 1WATT na voljo povsod. Te LED delujejo pri 3,6V, zato bomo tri zaporedno povezali skupaj z zaščitnimi diodami za delovanje pri + 12V. Tri od teh trakov bomo povezali v 9WATT LED svetilko. To svetilko bomo ustrezno upravljali z Raspberry Pi.
LDR (svetlobno odvisni upor) za zaznavanje teme:
Za zaznavanje intenzivnosti svetlobe v prostoru bomo uporabili LDR (Light Devisent Resistor). LDR spreminja svoj upor linearno z jakostjo svetlobe. Ta LDR bo povezan z delilnikom napetosti. S tem bomo imeli spremenljivo napetost, ki bo predstavljala spremenljivo jakost svetlobe. Če je intenziteta svetlobe NIZKA, bo izhodna napetost VISOKA in če bo intenzivnost svetlobe, če bo VISOKA napetost NIZKA.
Op-amp LM324 IC za preverjanje izhoda LDR:
Raspberry Pi nima notranjega mehanizma ADC (analogni v digitalni pretvornik). Torej te nastavitve ni mogoče neposredno povezati z Raspberry Pi. Za preverjanje napetostnih izhodov iz LDR bomo uporabili primerjalnike na osnovi OP-AMP.
Tu smo uporabili op-amp LM324, ki ima v sebi štiri operacijske ojačevalnike, od teh štirih pa smo uporabili dva op-ojačevalnika. Tako bo naš PI lahko zaznal jakost svetlobe na dveh ravneh. Glede na te ravni bomo prilagodili svetlost LED žarnice. Ko je popolna tema, bo žarnica svetila s polno jakostjo, ko je poltemna, pa bo svetila s 30% kapacitete. Na koncu preverite kodo Python in video, da jo pravilno razumete. Tu smo uporabili koncept PWM v Raspberry Pi za nadzor jakosti LED.
Raspberry Pi ima 26GPIO, od katerih se nekateri uporabljajo za posebne funkcije. Ob posebnem GPIO na stran imamo 17 GPIO. Vsak od 17 zatičev GPIO ne more sprejeti napetosti, višje od + 3,3 V, zato izhodi Op-amp ne smejo biti višji od 3,3 V. Zato smo izbrali op-amp LM324, saj lahko ta čip deluje pri + 3,3 V in zagotavlja logične izhode največ + 3,3 V. Več o GPIO zatičih Raspberry Pi preberite tukaj. Oglejte si tudi našo vadnico Raspberry Pi skupaj z nekaj dobrimi IoT projekti.
Adapter za izmenični in enosmerni tok za preverjanje izmeničnega voda:
Za zaznavanje stanja izmeničnega voda bomo uporabili logiko izhodne napetosti adapterja za izmenični tok. Čeprav obstajajo različni načini zaznavanja stanja izmeničnega toka, je to najvarnejša in najlažja pot. Iz adapterja vzamemo + 5V logike in jo damo Raspberry Pi skozi vezje delilnika napetosti, da prikrijemo + 5V visoko logiko do + 3,3 v HIGH logiko. Glejte diagram vezja za boljše razumevanje.
Power Bank in 12v svinčena kislinska baterija za napajanje:
Upoštevajte, da Raspberry Pi mora delovati brez električne energije, zato bomo PI vozili s pomočjo Power Bank (baterija 10000 mAH), LED lučko 9WATT pa bo napajala + 12V, 7AH zaprta LEAD ACID baterija. LED-žarnice ne more napajati napajalnik, ker porabi preveč energije, zato jih je treba napajati iz ločenega vira energije.
Raspberry Pi lahko napajate z + 12V baterijo, če imate učinkovit pretvornik + 12V v + 5v. S tem pretvornikom lahko izklopite napajalnik in celotno vezje napajate z enim samim virom baterije.
Pojasnilo vezja:
Shema vezja zasilne luči Raspberry Pi je podana spodaj:
Tu smo uporabili tri od štirih primerjalnikov znotraj LM324 IC. Dva od njih bomo uporabili za zaznavanje ravni intenzitete svetlobe, tretji pa za zaznavanje nizkonapetostnega nivoja + 12V baterije.
1. OP-AMP1 ali U1A: negativni priključek tega primerjalnika je opremljen z 1,2 V (prilagodite RV2, da dobite napetost), pozitivni priključek pa je povezan z omrežjem LDR napetostnega delilnika. Ko senca pade na LDR, se njen notranji upor poveča. Z naraščanjem notranjega upora LDR se padec napetosti na pozitivnem priključku OP-AMP1 poveča. Ko je ta napetost višja od 1,2 V, OP-AMP1 zagotavlja + 3,3 V izhod. Ta HIGH logični izhod OP-AMP bo zaznal Raspberry Pi.
2. OP-AMP2 ali U1B: negativni priključek te primerjalne enote je opremljen z 2,2 V (prilagodite RV3, da dobite napetost), pozitivni priključek pa je povezan z omrežjem LDR delilnika napetosti. Ko se senca, ki pada na LDR, še poveča, se njen notranji upor še poveča. Z nadaljnjim naraščanjem notranjega upora LDR se padec napetosti na pozitivnem priključku OP-AMP2 poveča. Ko je ta napetost višja od 2,2 V, OP-AMP2 zagotavlja + 3,3 V izhod. Ta HIGH logični izhod OP-AMP bo zaznal Raspberry Pi.
3. OP-AMP3 ali U1C: Ta OP-AMP bo uporabljen za zaznavanje nizke napetosti + 12v akumulatorja. Negativni priključek tega primerjalnika je opremljen z 2,1 V (prilagodite RV1, da dobite napetost), pozitivni priključek pa je povezan z vezjem delilnika napetosti. Ta delilnik deli napetost akumulatorja na 1/5,7-krat, tako da bomo pri 12,5-voltni napetosti akumulatorja imeli na pozitivnem priključku OP-AMP3 2,19V. Ko napetost akumulatorja pade pod 12,0 V, bo napetost na pozitivnem sponki <2,1 V. Torej pri 2.1v na negativnem terminalu izhod OP-AMP postane nizek. Torej, ko napetost akumulatorja pade pod 12 V (pomeni pod 2,1 v na pozitivnem sponki), OP-AMP izvleče izhod, to logiko bo zaznal Raspberry Pi.
Delovna razlaga:
Celotna funkcija te sijalke Raspberry Pi se lahko opredeli kot:
Najprej Raspberry Pi z zaznavanjem logike na GPIO23, kjer je odvzeto + 3,3 V iz napajalnika, zazna, ali je prisoten izmenični tok ali ne. Ko se napajanje izklopi, se izklopi + 5V iz adapterja in Raspberry Pi preide na naslednji korak le, če je zaznana ta LOW logika, če ne, se PI ne premakne na naslednji korak. Ta LOW logika se zgodi le, ko se izklopi izmenično napajanje.
Naslednji PI preveri, ali je baterija LEAD ACID nizka. To logiko zagotavlja OP-AMP3 na GPIO16. Če je logika LOW, se PI ne premakne na naslednji korak. Z napetostjo akumulatorja nad + 12V se PI premakne na naslednji korak.
Nato Raspberry Pi preveri, če je tema v sobi VELIKA, to logiko zagotavlja OP-AMP2 na GPIO20. Če je odgovor pritrdilen, PI zagotavlja izhod PWM (Pulse Width Modulation) z delovnim ciklom 99%. Ta signal PWM poganja optično sklopko, ki poganja MOSFET. MOSFET napaja nastavitev LED 9WATT, kot je prikazano na sliki. Če ni popolne teme, se PI premakne na naslednji korak. Več o PWM v Raspberry Pi lahko preberete tukaj.
Nato Raspberry Pi preveri, če je tema v sobi NIZKA, to logiko zagotavlja OP-AMP1 na GPIO21. Če je odgovor pritrdilen, PI zagotavlja izhod PWM (modulacija širine impulza) z delovnim ciklom 30%. Ta signal PWM poganja optično sklopko, ki poganja MOSFET. MOSFET napaja nastavitev LED 9WATT, kot je prikazano na sliki. Če je v sobi ustrezna svetloba, Raspberry Pi ne zagotavlja izhoda PWM, zato bo LAMP popolnoma IZKLOPLJEN.
Če torej želite vklopiti to zasilno lučko, morata biti oba pogoja True, pomeni, da mora biti izmenični vod izključen in da mora biti v sobi tema. Jasno razumevanje lahko dobite s preverjanjem celotne kode Python in videoposnetka spodaj.
To zasilno svetilko lahko dodate še zanimivejše funkcije in ravni teme. Preverite tudi naša več vezij močnostne elektronike:
- 0-24v 3A spremenljivo napajanje z uporabo LM338
- 12v vezje za polnilnik baterij z uporabo LM317
- 12v DC do 220v AC pretvornik
- Vezje polnilnika za mobilni telefon