- Vereiste componenten:
- Werkende uitleg:
- Circuit uitleg:
- Programmering Toelichting:
- Circuit- en PCB-ontwerp met EasyEDA:
- Online printplaten berekenen en bestellen:
We zien vaak spanningsschommelingen in de elektriciteitsvoorziening bij ons thuis, die storingen kunnen veroorzaken in onze AC-apparaten thuis. Vandaag bouwen we een goedkoop hoog- en laagspanningsbeveiligingscircuit, dat de stroomtoevoer naar de apparaten zal onderbreken in geval van hoog- of laagspanning. Er wordt ook een waarschuwingsbericht weergegeven op het 16x2 LCD-scherm. In dit project hebben we PIC Microcontroller gebruikt om de ingangsspanning te lezen en te vergelijken met de referentiespanning en dienovereenkomstig actie te ondernemen.
We hebben dit circuit op PCB gemaakt en een extra circuit op PCB toegevoegd voor hetzelfde doel, maar dit keer met op-amp LM358 (zonder microcontroller). Voor demonstratiedoeleinden hebben we de laagspanningslimiet gekozen als 150v en de hoogspanningslimiet als 200v. Hier in dit project hebben we geen relais gebruikt om af te sluiten, we hebben het alleen gedemonstreerd met behulp van een LCD, bekijk de video aan het einde van dit artikel. Maar de gebruiker kan een relais met dit circuit verbinden en het verbinden met de GPIO van PIC.
Bekijk hier onze andere PCB-projecten verder.
Vereiste componenten:
- PIC Microcontroller PIC18F2520
- PCB (besteld bij EasyEDA)
- IC LM358
- 3-pins terminalconnector (optioneel)
- 16x2 LCD
- BC547-transistor
- 1k weerstand
- 2k2 weerstand
- 30K weerstand SMD
- 10k SMD
- Condensatoren - 0.1uf, 10uF, 1000uF
- 28-pins IC-basis
- Mannelijke / vrouwelijke inbraken
- 7805 Spanningsregelaars - 7805, 7812
- Pickit2 programmeur
- LED
- Zener-diode - 5,1v, 7,5v, 9,2v
- Transformator 12-0-12
- 12 MHz kristal
- 33pF condensator
- Spanningsregelaar (ventilatorsnelheidsregelaar)
Werkende uitleg:
In dit hoog- en laagspanningsuitschakelcircuit hebben we de wisselspanning gelezen met behulp van de PIC-microcontroller met behulp van een transformator, bruggelijkrichter en spanningsdelercircuit en weergegeven op een 16x2 LCD. Vervolgens hebben we de wisselspanning vergeleken met de vooraf gedefinieerde limieten en dienovereenkomstig het waarschuwingsbericht op het LCD-scherm weergegeven. Als de spanning onder de 150 V is, hebben we "Low Voltage" weergegeven en als de spanning boven de 200 V is, hebben we de tekst "High Voltage" op het LCD-scherm weergegeven. We kunnen die limieten in de PIC-code wijzigen die aan het einde van dit project worden gegeven. Hier hebben we Fan Regulator gebruikt om de inkomende spanning te verhogen en te verlagen voor demonstratiedoeleinden in de video.
In dit circuit hebben we ook een eenvoudig onder- en overspanningsbeveiligingscircuit toegevoegd zonder een microcontroller te gebruiken. In dit eenvoudige circuit hebben we de LM358-comparator gebruikt om de ingangs- en referentiespanning te vergelijken. Dus hier hebben we drie opties in dit project:
- Meet en vergelijk de AC-spanning met behulp van transformator, bruggelijkrichter, spanningsdelercircuit en PIC-microcontroller.
- Detectie van over- en onderspanning met behulp van LM358 met behulp van transformator, gelijkrichter en comparator LM358 (zonder microcontroller)
- Detecteer onder- en overspanning met behulp van een comparator LM358 en voer zijn uitvoer naar de PIC-microcontroller om actie te ondernemen via code.
Hier hebben we de eerste optie van dit project gedemonstreerd. Waarin we de AC-ingangsspanning hebben verlaagd en die vervolgens hebben omgezet in DC met behulp van een bruggelijkrichter en deze DC-spanning vervolgens opnieuw hebben toegewezen aan 5V en deze spanning vervolgens hebben doorgegeven aan de PIC-microcontroller voor vergelijking en weergave.
In PIC-microcontroller hebben we deze in kaart gebrachte gelijkspanning gelezen en op basis van die toegewezen waarde hebben we de inkomende wisselspanning berekend met behulp van de gegeven formule:
volt = ((adcValue * 240) / 1023)
waarbij adcValue gelijk is aan de waarde van de DC-ingangsspanning op de ADC-pin van de PIC-controller en volt de toegepaste wisselspanning is. Hier hebben we 240v als maximale ingangsspanning genomen.
of als alternatief kunnen we de gegeven methode gebruiken voor het in kaart brengen van equivalente DC-ingangswaarde.
volt = kaart (adcVlaue, 530, 895, 100, 240)
waarbij adcValue gelijk is aan de waarde van de gelijkstroomingangsspanning op de ADC-pin van de PIC-controller, 530 is het equivalent van het minimum gelijkstroomvoltage en 895 is het equivalent van de maximum gelijkstroomspanning. En 100v is de minimale mapping-spanning en 240v is de maximale mapping-spanning.
Betekent 10mV DC-ingang op de PIC ADC-pin is gelijk aan 2.046 ADC-equivalente waarde. Dus hier hebben we 530 als minimumwaarde geselecteerd, de spanning op de ADC-pin van PIC zal zijn:
(((530 / 2.046) * 10) / 1000) Volt
2.6v die een minimale waarde van 100VAC zal worden toegewezen
(Zelfde berekening voor maximale limiet).
Controleer of de kaart wordt gegeven dat in de PIC programmacode in het einde. Lees hier meer over het Voltage Divider Circuit en het in kaart brengen van de voltages met behulp van ADC.
Het werken aan dit project is eenvoudig. In dit project hebben we een AC-spanningsventilatorregelaar gebruikt om dit te demonstreren. We hebben een ventilatorregelaar aan de ingang van de transformator bevestigd. En door de weerstand te verhogen of te verlagen, kregen we de gewenste spanningsoutput.
In de code hebben we maximale en minimale spanningswaarden vastgelegd voor hoogspanning en laagspanningsdetectie. We hebben 200v als overspanningslimiet en 150v als onderste spanningslimiet vastgesteld. Nadat we het circuit hebben opgestart, kunnen we de AC-ingangsspanning via het LCD-scherm zien. Wanneer de ingangsspanning toeneemt, kunnen we spanningsveranderingen zien op het LCD-scherm en als de spanning meer wordt dan de overspanningslimiet, zal het LCD-scherm ons waarschuwen met "HIGH Voltage Alert" en als de spanning te laag wordt dan de onderspanningslimiet, zal het LCD-scherm ons waarschuwen door " LOW Voltage Alert ”bericht. Op deze manier kan het ook worden gebruikt als elektronische stroomonderbreker.
We kunnen verder een relais toevoegen om AC-apparaten aan te sluiten op automatische uitschakeling bij lage of hoge spanningen. We hoeven alleen een regel code toe te voegen om het apparaat uit te schakelen, onder het LCD-waarschuwingsbericht met de code. Kijk hier om Relay te gebruiken met AC-apparaten.
Circuit uitleg:
In het hoog- en laagspanningsbeveiligingscircuit hebben we een LM358 op-amp gebruikt die twee uitgangen heeft die zijn verbonden met 2 en 3 nummerpinnen van de PIC-microcontroller. En een spanningsdeler wordt gebruikt om de spanning te verdelen en verbindt de uitgang met de 4e cijferpen van de PIC-microcontroller. LCD is aangesloten op PORTB van de PIC in 4-bits modus. RS en EN zijn rechtstreeks verbonden met B0 en B1 en datapinnen D4, D5, D6 en D7 van LCD zijn respectievelijk verbonden met B2, B3, B4 en B5. In dit project hebben we twee spanningsregelaars gebruikt: 7805 voor microcontrollervoeding en 7812 voor het LM358-circuit. En een 12v-0-12v step-down transformator wordt ook gebruikt om de wisselspanning te verlagen. De overige componenten worden weergegeven in het onderstaande schakelschema.
Programmering Toelichting:
Een deel van dit project programmeren is eenvoudig. In deze code hoeven we alleen de wisselspanning te berekenen met behulp van de toegewezen 0-5v-spanning afkomstig van het spanningsdelercircuit en deze vervolgens te vergelijken met vooraf gedefinieerde waarden. U kunt de volledige PIC-code na dit project controleren.
Ten eerste hebben we in de code een header opgenomen en de PIC-microcontroller-configuratiebits geconfigureerd. Als je nieuw bent bij PIC-codering, leer dan hier PIC Microcontroller en de configuratiebits.
Vervolgens hebben we enkele functies gebruikt voor het aansturen van LCD, zoals void lcdbegin () voor het initialiseren van het LCD-scherm, void lcdcmd (char ch) voor het verzenden van een commando naar LCD, void lcdwrite (char ch) voor het verzenden van gegevens naar LCD en void lcdprint (char * str) voor het verzenden van string naar LCD. Controleer alle functies in de onderstaande code.
De onderstaande functie wordt gebruikt om de waarden in kaart te brengen:
lange kaart (lange x, lange in_min, lange in_max, lange out_min, lange out_max) {return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; }
Gegeven int analogRead (int ch) functie wordt gebruikt voor het initialiseren en lezen van ADC:
int analogRead (int ch) {int adcData = 0; if (ch == 0) ADCON0 = 0x03; // adc kanaal 0 anders if (ch == 1) ADCON0 = 0x0b; // selecteer adc kanaal 1 anders if (ch == 2) ADCON0 = 0x0b; // selecteer adc kanaal 2 ADCON1 = 0b00001100; // selecteer analoog i / p 0,1 en 2 kanaal van ADC ADCON2 = 0b10001010; // eqization time holding cap time while (GODONE == 1); // start conversie adc-waarde adcData = (ADRESL) + (ADRESH << 8); // Bewaar 10-bit output ADON = 0; // adc off return adcData; }
Gegeven lijnen worden gebruikt om ADC-monsters te krijgen en het gemiddelde ervan te berekenen en vervolgens de spanning te berekenen:
while (1) {long adcValue = 0; int volt = 0; for (int i = 0; i <100; i ++) // monsters nemen {adcValue + = analogRead (2); vertraging (1); } adcValue / = 100; #if methode == 1 volt = (((float) adcValue * 240.0) /1023.0); #else volt = map (adcValue, 530, 895, 100, 240); #endif sprintf (resultaat, "% d", volt);
En tot slot wordt de gegeven functie gebruikt om de resulterende actie te ondernemen:
if (volt> 200) {lcdcmd (1); lcdprint ("Hoogspanning"); lcdcmd (192); lcdprint ("Alert"); vertraging (1000); } else if (volt <150) {lcdcmd (1); lcdprint ("Low Voltage"); lcdcmd (192); lcdprint ("Alert"); vertraging (1000); }
Circuit- en PCB-ontwerp met EasyEDA:
Om dit HOGE en LAGE spanningsdetectorcircuit te ontwerpen, hebben we gekozen voor de online EDA-tool genaamd EasyEDA. We hebben EasyEDA eerder vaak gebruikt en vonden het erg handig in gebruik in vergelijking met andere PCB-fabrikanten. Bekijk hier al onze PCB-projecten. EasyEDA is niet alleen de one-stop-oplossing voor schematische opname, circuitsimulatie en PCB-ontwerp, ze bieden ook een goedkope PCB-prototype en Components Sourcing-service. Ze hebben onlangs hun component sourcing-service gelanceerd, waar ze een grote voorraad elektronische componenten hebben en gebruikers hun vereiste componenten samen met de PCB-bestelling kunnen bestellen.
Terwijl u uw circuits en PCB's ontwerpt, kunt u ook uw circuit- en PCB-ontwerpen openbaar maken, zodat andere gebruikers ze kunnen kopiëren of bewerken en daar hun voordeel mee kunnen doen.We hebben ook onze hele circuit- en PCB-lay-outs openbaar gemaakt voor deze hoog- en laagspanning Beveiligingscircuit, controleer de onderstaande link:
easyeda.com/circuitdigest/HIGH_LOW_Voltage_Detector-4dc240b0fde140719c2401096e2410e6
Hieronder ziet u de momentopname van de bovenste laag van de PCB-lay-out van EasyEDA, u kunt elke laag (boven, onder, bovenzijde, onderzijde, enz.) Van de PCB bekijken door de laag in het venster 'Lagen' te selecteren.
U kunt ook de fotoweergave van PCB bekijken met EasyEDA:
Online printplaten berekenen en bestellen:
Nadat u het ontwerp van de PCB hebt voltooid, kunt u op het pictogram van de fabricage-uitvoer hierboven klikken. Vervolgens komt u op de pagina PCB bestellen om Gerber-bestanden van uw PCB te downloaden en naar een willekeurige fabrikant te sturen, het is ook een stuk eenvoudiger (en goedkoper) om deze rechtstreeks in EasyEDA te bestellen. Hier kunt u het aantal PCB's selecteren dat u wilt bestellen, hoeveel koperlagen u nodig heeft, de PCB-dikte, het kopergewicht en zelfs de PCB-kleur. Nadat u alle opties heeft geselecteerd, klikt u op "Opslaan in winkelwagen" en rondt u uw bestelling af, dan ontvangt u uw PCB's een paar dagen later. De gebruiker kan ook met zijn lokale PCB-leverancier gaan om PCB's te maken met behulp van het Gerber-bestand.
De levering van EasyEDA is erg snel en na een paar dagen bestellen van PCB's kreeg ik de PCB-samples:
Hieronder staan de foto's na het solderen van de componenten op print:
Op deze manier kunnen we eenvoudig het laag-hoogspanningsbeveiligingscircuit voor ons huis bouwen. Verder hoeft u alleen maar een relais toe te voegen om er AC-apparaten op aan te sluiten, om het te beschermen tegen spanningsschommelingen. Verbind gewoon het relais met een willekeurige pin van PIC MCU voor algemeen gebruik en schrijf de code om die pin hoog en laag te maken, samen met de LCD-waarschuwingsberichtcode.