I denne session skal vi lave en 9WATT nødlampe ved hjælp af Raspberry Pi og Python. Denne lampe registrerer automatisk mørke og fravær af vekselstrømforsyning og lyser, når der er strømsvigt, og korrekt lys ikke er der.
Selvom der findes forskellige nødlamper, men de er udelukkende dedikeret til at tjene et enkelt formål, som et simpelt nødlys-kredsløb, som vi tidligere har oprettet, udløses kun ved strømsvigt. Med Raspberry Pi kan vi tilføje forskellige andre funktioner til det, som her har vi tilføjet LDR til at opdage mørke på forskellige niveauer. Her har vi tilføjet to niveauer, når der er fuldstændig mørkt, vil lampen lyse med fuld intensitet, og når der er halvmørk, vil den lyse ved 30% kapacitet. Så her skal vi designe denne lampe til at blive tændt, når vekselstrømsledningen er slukket, og når lysintensiteten i rummet bliver meget lav.
Nødvendige komponenter:
Her bruger vi Raspberry Pi 2 Model B med Raspbian Jessie OS. Alle de grundlæggende hardware- og softwarekrav er tidligere diskuteret, du kan slå det op i Raspberry Pi Introduktion og Raspberry PI LED Blinker for at komme i gang, bortset fra at vi har brug for:
- 1000 µF kondensator
- 1WATT LED (9 stykker)
- + 12V forseglet Blysyre batteri
- 6000-10000mAH strømbank
- + 5V jævnstrømsadapter
- Lm324 OP-AMP-chip
- 4N25 optokobler
- IRFZ44N MOSFET
- LDR (lysafhængig modstand)
- LED (1 stk)
- Modstande: 1KΩ (3 stykker), 2.2KΩ, 4.7KΩ, 100Ω (2 stykker), 10Ω (9 stykker), 10KΩ, 100KΩ
- 10KΩ pot (3 stykker) (alle modstande er 0,25 watt)
Beskrivelse:
Inden vi går i kredsløbstilslutninger og dets arbejde, lærer vi om komponenterne og deres formål i kredsløbet:
9 Watt LED-lampe:
Den LAMP består af ni 1 watt lysdioder. Der findes forskellige slags LED'er på markedet, men 1WATT LED er let tilgængelige overalt. Disse LED fungerer ved 3,6V, så vi forbinder tre af dem i serie sammen med beskyttelsesdioder for at fungere ved + 12V. Vi forbinder tre af disse strimler og danner en 9WATT LED-lampe. Vi betjener denne lampe med Raspberry Pi i overensstemmelse hermed.
LDR (lysafhængig modstand) til at detektere mørke:
Vi skal bruge LDR (Light Dependent Resistor) til at registrere lysintensiteten i rummet. LDR ændrer sin modstand lineært med lysintensiteten. Denne LDR tilsluttes en spændingsdeler. Med det har vi variabel spænding til at repræsentere variabel lysintensitet. Hvis lysintensiteten er LAV, vil spændingsoutputtet være HØJ, og hvis lysintensiteten, hvis HØJ spændingsoutput vil være LAV.
Op-amp LM324 IC til kontrol af LDR-output:
Raspberry Pi har ikke en intern ADC-mekanisme (Analog til Digital Converter). Så denne opsætning kan ikke forbindes direkte til Raspberry Pi. Vi bruger OP-AMP-baserede komparatorer til at kontrollere spændingsudgangene fra LDR.
Her har vi brugt op-amp LM324, som har fire operationelle forstærkere indeni, og vi har brugt to op-forstærkere ud af disse fire. Så vores PI vil være i stand til at registrere lysintensitet på to niveauer. Afhængigt af disse niveauer justerer vi lysstyrken på LED-lampen. Når der er helt mørkt, lyser lampen med fuld intensitet, og når der er halvt mørkt, lyser den med 30% kapacitet. Tjek Python-koden og videoen i slutningen for at forstå den ordentligt. Her har vi brugt PWM-koncept i Raspberry Pi til at kontrollere intensiteten af lysdioder.
Raspberry Pi har 26GPIO, hvoraf nogle bruges til specielle funktioner. Med særlig GPIO afsat har vi 17 GPIO. Hver af de 17 GPIO-ben kan ikke tage spænding højere end + 3,3 V, så Op-amp-udgange kan ikke være højere end 3,3 V. Derfor har vi valgt op-amp LM324, da denne chip kan fungere ved + 3,3 V, hvilket giver logiske output ikke mere end + 3,3 V. Lær mere om GPIO Pins of Raspberry Pi her. Tjek også vores Raspberry Pi Tutorial Series sammen med nogle gode IoT-projekter.
AC til DC-adapter for at kontrollere vekselstrømsledningen:
Vi bruger vekselstrøms- til jævnstrømsadapterens udgangsspændingslogik til at detektere vekselstrømsstatus. Selvom der er forskellige måder at registrere vekselstrømsstatus på, er dette den sikreste og nemmeste vej at gå. Vi tager + 5V-logik fra adapteren og giver den til Raspberry Pi gennem et spændingsdelerkredsløb for at skjule + 5V høj logik til + 3.3v HIGH logik. Se kredsløbsdiagrammet for bedre forståelse.
Power Bank og 12v blybatteri til strømforsyning:
Husk, at Raspberry Pi skal fungere i fravær af strøm, så vi kører PI ved hjælp af en Power Bank (en batteripakke 10000mAH), og 9WATT LED-lampen får strøm fra + 12V, 7AH forseglet LEAD ACID-batteri. LED-lampen kan ikke drives af powerbank, da de trækker for meget strøm, så de skal have strøm fra en separat strømkilde.
Du kan drive Raspberry Pi med + 12V batteri, hvis du har en effektiv + 12V til + 5V konverter. Ved denne konverter kan du slippe strømbanken og strømforsye hele kredsløbet med en enkelt batterikilde.
Forklaring af kredsløb:
Kredsløbsdiagram over Raspberry Pi nødlys er angivet nedenfor:
Her har vi brugt tre ud af fire komparatorer inde i LM324 IC. To af dem vil blive brugt til at detektere lysintensitetsniveauer, og den tredje vil blive brugt til at detektere lavspændingsniveauet på + 12V batteri.
1. OP-AMP1 eller U1A: Negativ terminal på denne komparator er forsynet med 1,2 V (juster RV2 for at få spændingen), og Positive terminal er forbundet til LDR spændingsdeler netværk. Når skyggen falder på LDR, stiger dens interne modstand. Med stigningen i intern modstand af LDR stiger spændingsfaldet ved den positive terminal på OP-AMP1. Når denne spænding går højere end 1,2V, giver OP-AMP1 + 3,3V output. Denne HIGH logiske output af OP-AMP vil blive detekteret af Raspberry Pi.
2. OP-AMP2 eller U1B: Negativ terminal på denne komparator er forsynet med 2,2 V (juster RV3 for at få spændingen), og Positive terminal er forbundet til LDR spændingsdeler netværk. Efterhånden som skyggen, der falder på LDR, øges yderligere, går dens interne modstand endnu højere. Med yderligere stigning i intern modstand af LDR stiger spændingsfaldet ved den positive terminal på OP-AMP2. Når denne spænding går højere end 2,2V, leverer OP-AMP2 + 3,3V output. Denne HIGH logiske output af OP-AMP vil blive detekteret af Raspberry Pi.
3. OP-AMP3 eller U1C: Denne OP-AMP bruges til at detektere lavt spændingsniveau på + 12v batteripakke. Negativ terminal på denne komparator er forsynet med 2.1V (juster RV1 for at få spændingen), og den positive terminal er forbundet til et spændingsdelerkredsløb. Denne skiller opdeler batterispændingen med 1 / 5,7 gange, så for 12,5 V batterispænding har vi 2,19 V ved den positive terminal på OP-AMP3. Når batterispændingen går under 12,0V, vil spændingen ved den positive terminal være <2,1V. Så med 2.1v ved negativ terminal går OP-AMP-output lavt. Så når batterispændingen falder til under 12V (betyder under 2,1v ved positiv terminal), trækker OP-AMP output, denne logik detekteres af Raspberry Pi.
Arbejdsforklaring:
Hele denne Raspberry Pi-nødlampes funktion kan angives som:
Først registrerer Raspberry Pi, om der er vekselstrøm til stede eller ej, ved at registrere logik på GPIO23, hvor + 3,3 V fra lysnetadapteren tages. Når strømmen slukkes, slukkes + 5V fra adapteren, og Raspberry Pi går kun til næste trin, hvis denne lave logik opdages, hvis ikke PI ikke flytter til næste trin. Denne lave logik sker kun, når vekselstrøm slukkes.
Næste PI kontrollerer, om LEAD ACID-batteriniveauet er lavt. Denne logik leveres af OP-AMP3 på GPIO16. Hvis logikken er LAV, flytter PI ikke til næste trin. Med batterispænding højere end + 12V flytter PI til næste trin.
Næste Raspberry Pi kontrollerer, om mørket i rummet er HØJ, denne logik leveres af OP-AMP2 på GPIO20. Hvis ja, leverer PI PWM (Pulse Width Modulation) output med en driftscyklus på 99%. Dette PWM-signal driver optokoblingen, der driver MOSFET. MOSFET driver 9WATT LED-opsætningen som vist i figuren. Hvis der ikke er helt mørkt, flytter PI til næste trin. Lær mere om PWM i Raspberry Pi her.
Derefter kontrollerer Raspberry Pi, om mørket i rummet er LAV, denne logik leveres af OP-AMP1 på GPIO21. Hvis ja, giver PI PWM (Pulse Width Modulation) output med en driftscyklus på 30%. Dette PWM-signal driver optokoblingen, der driver MOSFET. MOSFET driver 9WATT LED-opsætningen som vist i figuren. Hvis der er ordentligt lys i rummet, giver Raspberry Pi ikke PWM-output, så LAMPEN er helt OFF.
Så for at tænde denne nødlampe skal både betingelsen være sand, betyder at vekselstrømsledningen skal være slukket, og der skal være mørke i rummet. Du kan få den klare forståelse ved at kontrollere den komplette Python-kode og video nedenfor.
Du kan yderligere tilføje mere interessante funktioner og mørke niveauer til denne nødlampe. Se også vores flere Power Electronics-kredsløb:
- 0-24v 3A variabel strømforsyning ved hjælp af LM338
- 12v batteriopladekredsløb ved hjælp af LM317
- 12V DC til 220V AC inverter kredsløb
- Mobiltelefon oplader kredsløb