- Nødvendige komponenter:
- Arbejdsforklaring:
- Forklaring af kredsløb:
- Programmeringsforklaring:
- Kredsløb og printkortdesign ved hjælp af EasyEDA:
- Beregning og bestilling af printkort online:
Vi ser ofte spændingsudsving i elforsyningen i vores hjem, hvilket kan forårsage funktionsfejl i vekselstrømsapparater i hjemmet. I dag bygger vi et lav- og højspændingsbeskyttelseskredsløb, som afbryder strømforsyningen til apparaterne i tilfælde af høj eller lav spænding. Det viser også en advarselsmeddelelse på 16x2 LCD. I dette projekt har vi brugt PIC Microcontroller til at læse og sammenligne indgangsspændingen med referencespændingen og tage handlingen i overensstemmelse hermed.
Vi har lavet dette kredsløb på PCB og tilføjet et ekstra kredsløb på PCB til samme formål, men denne gang ved hjælp af op-amp LM358 (uden mikrocontroller). Til demonstrationsformål har vi valgt lavspændingsgrænse som 150v og højspændingsgrænse som 200v. Her i dette projekt har vi ikke brugt nogen relæ til afskæring, vi har bare demonstreret det ved hjælp af LCD, tjek videoen i slutningen af denne artikel. Men brugeren kan tilslutte et relæ med dette kredsløb og forbinde det med PICs GPIO.
Se yderligere vores PCB-projekter her.
Nødvendige komponenter:
- PIC Microcontroller PIC18F2520
- Printkort (bestilt fra EasyEDA)
- IC LM358
- 3-polet terminalstik (valgfrit)
- 16x2 LCD
- BC547 Transistor
- 1k modstand
- 2k2 modstand
- 30K modstand SMD
- 10 k SMD
- Kondensatorer - 0.1uf, 10uF, 1000uF
- 28-polet IC-base
- Mand / kvindelige burgsticks
- 7805 Spændingsregulatorer - 7805, 7812
- Pickit2 programmør
- LED
- Zener-diode - 5.1v, 7.5v, 9.2v
- Transformer 12-0-12
- 12MHz krystal
- 33pF kondensator
- Spændingsregulator (ventilatorhastighedsregulator)
Arbejdsforklaring:
I dette høj- og lavspændingsafbrydelseskredsløb har vi læst vekselstrømsspændingen ved hjælp af PIC-mikrocontroller ved hjælp af transformer, bro-ensretter og spændingsdelerkredsløb og vist over 16x2 LCD. Derefter har vi sammenlignet vekselstrøm med de foruddefinerede grænser og vist advarselsmeddelelsen over LCD'et i overensstemmelse hermed. Ligesom hvis spændingen er under 150v, har vi vist "Lav spænding", og hvis spændingen er over 200v, har vi vist "Højspænding" -tekst over LCD'et. Vi kan ændre disse grænser i PIC-kode angivet i slutningen af dette projekt. Her har vi brugt ventilatorregulator til at øge og mindske den indgående spænding til demonstrationsformål i videoen.
I dette kredsløb har vi også tilføjet et Simple Under and Over Voltage Protection Circuit uden brug af mikrokontroller. I dette enkle kredsløb har vi brugt LM358-komparator til at sammenligne input- og referencespændingen. Så her har vi tre muligheder i dette projekt:
- Mål og sammenlign AC-spændingen ved hjælp af transformer, bro-ensretter, spændingsdelerkredsløb og PIC-mikrocontroller.
- Påvisning af over- og underspænding ved hjælp af LM358 ved hjælp af transformer, ensretter og komparator LM358 (uden mikrocontroller)
- Registrer under- og overspænding ved hjælp af en komparator LM358, og før dens output til PIC-mikrocontroller for at tage handling ved kode.
Her har vi demonstreret den første mulighed for dette projekt. I hvilken vi har styrket AC-indgangsspænding og derefter konverteret det til DC ved hjælp af en bro-ensretter og derefter igen kortlagt denne DC-spænding til 5v og derefter til sidst tilført denne spænding til PIC-mikrocontroller til sammenligning og visning.
I PIC-mikrocontroller har vi læst denne kortlagte jævnstrømsspænding og baseret på den kortlagte værdi har vi beregnet den indgående vekselspænding ved hjælp af en given formel:
volt = ((adcValue * 240) / 1023)
hvor adcValue er ækvivalent DC-indgangsspændingsværdi ved PIC-controller ADC-pin og volt er den anvendte AC-spænding. Her har vi taget 240v som maksimal indgangsspænding.
eller alternativt kan vi bruge en given metode til kortlægning af ækvivalent DC-inputværdi.
volt = kort (adcVlaue, 530, 895, 100, 240)
hvor adcValue er ækvivalent DC-indgangsspændingsværdi ved PIC-controller ADC-pin, er 530 minimum DC-spændingsækvivalent og 895 er maksimal DC-spændingsækvivalent værdi. Og 100v er minimum kortlægningsspænding og 240v er maksimal kortlægningsspænding.
Betyder 10mV DC-input ved PIC ADC-pin er lig med 2.046 ADC-ækvivalent værdi. Så her har vi valgt 530 som middelværdi betyder, spændingen ved PIC's ADC-pin vil være:
(((530 / 2.046) * 10) / 1000) Volt
2.6v, der kortlægges minimumsværdien på 100VAC
(Samme beregning for maksimumsgrænse).
Kontroller, at kortfunktionen i slutningen er angivet i PIC-programkoden. Lær mere om spændingsdelerkredsløb og kortlægning af spændinger ved hjælp af ADC her.
Arbejdet med dette projekt er let. I dette projekt har vi brugt en vekselstrømsventilatorregulator til at demonstrere det. Vi har knyttet ventilatorregulator til transformatorens indgang. Og så ved at øge eller formindske dens modstand fik vi ønsket spændingsoutput.
I koden har vi faste maksimale og minimale spændingsværdier til detektion af højspænding og lavspænding. Vi har fastlagt 200v som overspændingsgrænse og 150v som lavere spændingsgrænse. Efter at have tændt kredsløbet kan vi se AC-indgangsspændingen over LCD'et. Når indgangsspændingen stiger, kan vi se spændingsændringer over LCD, og hvis spændingen bliver mere end over spændingsgrænsen, vil LCD advare os om "HIGH Voltage Alert", og hvis spændingen bliver lav end under spændingsgrænsen, vil LCD advare os ved at vise " Besked om LAV spændingsalarm. På denne måde kan den også bruges som elektronisk afbryder.
Vi kan yderligere tilføje et relæ for at tilslutte alle vekselstrømsapparater til automatisk afbrydelse ved lave eller høje spændinger. Vi skal bare tilføje en linje kode for at slukke for apparatet under LCD-advarselsmeddelelsen, der viser koden. Tjek her for at bruge Relay med AC-apparater.
Forklaring af kredsløb:
I høj- og lavspændingsbeskyttelseskredsløb har vi brugt en LM358 op-amp, der har to udgange tilsluttet 2 og 3 nummerstifter på PIC-mikrocontroller. Og en spændingsdeler bruges til at opdele spænding og forbinder dens output på 4. nummer pin på PIC-mikrocontroller. LCD er tilsluttet på PORTB på PIC i 4-bit tilstand. RS og EN er direkte forbundet med B0 og B1, og datapindene D4, D5, D6 og D7 af LCD er forbundet med henholdsvis B2, B3, B4 og B5. I dette projekt har vi brugt to spændingsregulatorer: 7805 til mikrokontrolforsyning og 7812 til LM358-kredsløbet. Og en 12v-0-12v step-down transformer bruges også til at nedtrappe vekselstrømmen. Resten af komponenterne er vist i kredsløbsdiagrammet nedenfor.
Programmeringsforklaring:
Programmering af en del af dette projekt er let. I denne kode skal vi bare beregne vekselstrøm ved hjælp af kortlagt 0-5v spænding, der kommer fra spændingsdelerkredsløbet og derefter sammenligne den med foruddefinerede værdier. Du kan kontrollere den komplette PIC-kode efter dette projekt.
Først i koden har vi inkluderet et header og konfigureret PIC-mikrocontroller-konfigurationsbits. Hvis du er ny med PIC-kodning, skal du lære PIC Microcontroller og dens konfigurationsbits her.
Så har vi brugt nogle funktioner til at køre LCD, som ugyldig lcdbegin () til initialisering af LCD, ugyldig lcdcmd (char ch) til at sende en kommando til LCD, ugyldig lcdwrite (char ch) til at sende data til LCD og ugyldig lcdprint (char * str) til at sende streng til LCD. Kontroller alle funktionerne i koden nedenfor.
Nedenstående givne funktion bruges til at kortlægge værdierne:
langt kort (langt x, langt in_min, langt in_max, langt out_min, langt out_max) {retur (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; }
Givet int analogRead (int ch) funktion bruges til initialisering og læsning af ADC:
int analogRead (int ch) {int adcData = 0; hvis (ch == 0) ADCON0 = 0x03; // adc kanal 0 andet hvis (ch == 1) ADCON0 = 0x0b; // vælg adc-kanal 1 ellers, hvis (ch == 2) ADCON0 = 0x0b; // vælg adc-kanal 2 ADCON1 = 0b00001100; // vælg analog i / p 0,1 og 2-kanal af ADC ADCON2 = 0b10001010; // eqisation time holding cap time while (GODONE == 1); // start konvertering adc værdi adcData = (ADRESL) + (ADRESH << 8); // Gem 10-bit output ADON = 0; // adc off return adcData; }
Givne linjer bruges til at få ADC-prøver og beregne gennemsnittet af dem og derefter beregne spænding:
mens (1) {long adcValue = 0; int volt = 0; for (int i = 0; i <100; i ++) // tager prøver {adcValue + = analogRead (2); forsinkelse (1); } adcValue / = 100; #if metode == 1 volt = (((float) adcValue * 240.0) /1023.0); #else volt = map (adcValue, 530, 895, 100, 240); #endif sprintf (resultat, "% d", volt);
Og til sidst bruges den givne funktion til at tage resulterede handlinger:
hvis (volt> 200) {lcdcmd (1); lcdprint ("højspænding"); lcdcmd (192); lcdprint ("Alert"); forsinkelse (1000); } ellers hvis (volt <150) {lcdcmd (1); lcdprint ("Lav spænding"); lcdcmd (192); lcdprint ("Alert"); forsinkelse (1000); }
Kredsløb og printkortdesign ved hjælp af EasyEDA:
For at designe dette HIGH og LOW Voltage Detector Circuit har vi valgt det online EDA-værktøj kaldet EasyEDA. Vi har tidligere brugt EasyEDA mange gange og fundet det meget praktisk at bruge sammenlignet med andre PCB-fabrikanter. Tjek her vores alle PCB-projekter. EasyEDA er ikke kun one-stop-løsningen til skematisk indfangning, kredsløbssimulering og printkortdesign, de tilbyder også en billig PCB-prototype og Components Sourcing-service. De lancerede for nylig deres komponentsourcingtjeneste, hvor de har et stort lager af elektroniske komponenter, og brugere kan bestille deres nødvendige komponenter sammen med printkortordren.
Mens du designer dine kredsløb og printkort, kan du også gøre dit kredsløb og printkortdesign offentligt, så andre brugere kan kopiere eller redigere dem og drage fordel af derfra, vi har også gjort vores hele kredsløbs- og printkortlayouts offentlige til denne høje og lave spænding Beskyttelseskredsløb, tjek nedenstående link:
easyeda.com/circuitdigest/HIGH_LOW_Voltage_Detector-4dc240b0fde140719c2401096e2410e6
Nedenfor er øjebliksbillede af øverste lag af printkortlayout fra EasyEDA, du kan se ethvert lag (top, bund, topsilk, bundmælk osv.) På printkortet ved at vælge laget fra vinduet 'Lag'.
Du kan også tjekke fotovisningen af printkort ved hjælp af EasyEDA:
Beregning og bestilling af printkort online:
Når du er færdig med designet af PCB, kan du klikke på ikonet for fabrikationsoutput ovenfor. Derefter får du adgang til siden PCB-ordre for at downloade Gerber-filer på din PCB og sende dem til enhver producent, det er også meget nemmere (og billigere) at bestille det direkte i EasyEDA. Her kan du vælge antallet af printkort, du vil bestille, hvor mange kobberlag du har brug for, printkorttykkelsen, kobbervægten og endda printkortfarven. Når du har valgt alle mulighederne, skal du klikke på "Gem i indkøbskurv" og færdiggøre din ordre, så får du dine printkort et par dage senere. Brugeren kan også gå sammen med deres lokale PCB-leverandør for at fremstille PCB'er ved hjælp af Gerber-filen.
EasyEDA's levering er meget hurtig, og efter få dage med bestilling af printkort fik jeg printkortprøverne:
Nedenfor er billederne efter lodning af komponenterne på printkort:
Sådan kan vi nemt opbygge lav-højspændingsbeskyttelseskredsløb til vores hjem. Desuden skal du bare tilføje et relæ for at forbinde AC-apparater til det for at beskytte det mod spændingsudsving. Forbind blot relæet med en hvilken som helst pin til PIC MCU og skriv koden for at gøre den pin Høj og lav sammen med LCD-alarmkode.