- Componenti richiesti:
- Spiegazione di lavoro:
- Spiegazione del circuito:
- Spiegazione della programmazione:
- Progettazione di circuiti e PCB utilizzando EasyEDA:
- Calcolo e ordinazione di PCB online:
Spesso vediamo fluttuazioni di tensione nella fornitura di elettricità a casa nostra, che possono causare malfunzionamenti nei nostri elettrodomestici CA domestici. Oggi stiamo costruendo un circuito di protezione ad alta e bassa tensione a basso costo, che interromperà l'alimentazione agli apparecchi in caso di alta o bassa tensione. Mostrerà anche un messaggio di avviso sull'LCD 16x2. In questo progetto, abbiamo utilizzato il microcontrollore PIC per leggere e confrontare la tensione di ingresso con la tensione di riferimento e agire di conseguenza.
Abbiamo realizzato questo circuito su PCB e aggiunto un circuito aggiuntivo su PCB per lo stesso scopo, ma questa volta utilizzando l'amplificatore operazionale LM358 (senza microcontrollore). A scopo dimostrativo, abbiamo scelto il limite di bassa tensione come 150v e il limite di alta tensione come 200v. Qui in questo progetto, non abbiamo usato alcun relè per tagliare, lo abbiamo solo dimostrato usando LCD, controlla il video alla fine di questo articolo. Ma l'utente può collegare un relè a questo circuito e collegarlo al GPIO del PIC.
Controlla ulteriormente i nostri altri progetti PCB qui.
Componenti richiesti:
- Microcontrollore PIC PIC18F2520
- PCB (ordinato da EasyEDA)
- IC LM358
- Connettore terminale a 3 pin (opzionale)
- LCD 16x2
- Transistor BC547
- Resistenza da 1k
- Resistenza 2k2
- Resistenza 30K SMD
- 10k SMD
- Condensatori: 0,1 uf, 10 uF, 1000 uF
- Base IC a 28 pin
- Burgsticks maschio / femmina
- 7805 Regolatori di tensione- 7805, 7812
- Programmatore Pickit2
- GUIDATO
- Diodo Zener - 5.1 v, 7.5 v, 9.2 v
- Trasformatore 12-0-12
- Cristallo da 12 MHz
- Condensatore 33pF
- Regolatore di tensione (regolatore di velocità del ventilatore)
Spiegazione di lavoro:
In questo circuito di interruzione ad alta e bassa tensione, abbiamo letto la tensione CA utilizzando il microcontrollore PIC con l'aiuto del circuito del trasformatore, del raddrizzatore a ponte e del divisore di tensione e visualizzato su LCD 16x2. Quindi abbiamo confrontato la tensione CA con i limiti predefiniti e visualizzato il messaggio di avviso sul display LCD di conseguenza. Ad esempio, se la tensione è inferiore a 150 V, abbiamo mostrato "Bassa tensione" e se la tensione è superiore a 200 V, abbiamo mostrato il testo "Alta tensione" sull'LCD. Possiamo modificare questi limiti nel codice PIC fornito alla fine di questo progetto. Qui abbiamo utilizzato il regolatore della ventola per aumentare e diminuire la tensione in ingresso a scopo dimostrativo nel video.
In questo circuito, abbiamo anche aggiunto un semplice circuito di protezione da sottotensione e sovratensione senza utilizzare alcun microcontrollore. In questo semplice circuito abbiamo utilizzato il comparatore LM358 per confrontare la tensione di ingresso e di riferimento. Quindi qui abbiamo tre opzioni in questo progetto:
- Misura e confronta la tensione CA con l'aiuto di trasformatore, raddrizzatore a ponte, circuito divisore di tensione e microcontrollore PIC.
- Rilevamento di sovratensione e sottotensione utilizzando LM358 con l'aiuto di trasformatore, raddrizzatore e comparatore LM358 (senza microcontrollore)
- Rileva sottotensione e sovratensione utilizzando un comparatore LM358 e alimenta la sua uscita al microcontrollore PIC per agire in base al codice.
Qui abbiamo dimostrato la prima opzione di questo progetto. In cui abbiamo ridotto la tensione di ingresso CA e poi convertita in CC utilizzando un raddrizzatore a ponte e quindi mappato nuovamente questa tensione CC a 5 V e infine alimentato questa tensione al microcontrollore PIC per il confronto e la visualizzazione.
Nel microcontrollore PIC abbiamo letto questa tensione CC mappata e in base a quel valore mappato abbiamo calcolato la tensione CA in ingresso con l'aiuto della formula data:
volt = ((adcValue * 240) / 1023)
dove adcValue è il valore della tensione di ingresso CC equivalente al pin ADC del controller PIC e volt è la tensione CA applicata. Qui abbiamo preso 240 V come tensione di ingresso massima.
o in alternativa possiamo usare il metodo dato per mappare il valore di ingresso CC equivalente.
volt = mappa (adcVlaue, 530, 895, 100, 240)
dove adcValue è il valore della tensione di ingresso CC equivalente al pin ADC del controller PIC, 530 è l'equivalente della tensione CC minima e 895 è il valore equivalente della tensione CC massima. E 100 V è la tensione di mappatura minima e 240 V è la tensione di mappatura massima.
Significa che 10 mV CC in ingresso al pin PIC ADC è uguale a 2.046 valore equivalente ADC. Quindi qui abbiamo selezionato 530 come valore minimo, la tensione sul pin ADC del PIC sarà:
(((530 / 2.046) * 10) / 1000) Volt
2.6v su cui verrà mappato il valore minimo di 100VAC
(Stesso calcolo per il limite massimo).
Verificare che la funzione della mappa sia fornita nel codice del programma PIC alla fine. Scopri di più sul circuito del divisore di tensione e sulla mappatura delle tensioni utilizzando l'ADC qui.
Lavorare a questo progetto è facile. In questo progetto, abbiamo utilizzato un regolatore del ventilatore di tensione CA per dimostrarlo. Abbiamo collegato il regolatore della ventola all'ingresso del trasformatore. E poi aumentando o diminuendo la sua resistenza abbiamo ottenuto l'uscita di tensione desiderata.
Nel codice abbiamo valori di tensione massimi e minimi fissi per il rilevamento di alta e bassa tensione. Abbiamo fissato 200 V come limite di sovratensione e 150 V come limite di tensione inferiore. Ora, dopo aver acceso il circuito, possiamo vedere la tensione di ingresso CA sul display LCD. Quando la tensione di ingresso aumenta, possiamo vedere i cambiamenti di tensione sull'LCD e se la tensione supera il limite di tensione, l'LCD ci avviserà con "Avviso di ALTA tensione" e se la tensione scende al di sotto del limite di tensione, l'LCD ci avviserà mostrando " Messaggio di avviso di bassa tensione ”. In questo modo può essere utilizzato anche come interruttore elettronico.
Possiamo inoltre aggiungere un relè per collegare qualsiasi apparecchio CA allo spegnimento automatico su tensioni basse o alte. Dobbiamo solo aggiungere una riga di codice per spegnere l'apparecchio, sotto il messaggio di avviso LCD che mostra il codice. Controllare qui per utilizzare Relay con apparecchi CA.
Spiegazione del circuito:
Nel circuito di protezione da alta e bassa tensione, abbiamo utilizzato un amplificatore operazionale LM358 che ha due uscite collegate a 2 e 3 pin numerici del microcontrollore PIC. E un partitore di tensione viene utilizzato per dividere la tensione e collega la sua uscita al 4 ° pin numero del microcontrollore PIC. L'LCD è collegato a PORTB del PIC in modalità 4 bit. RS ed EN sono collegati direttamente a B0 e B1 ei pin dati D4, D5, D6 e D7 dell'LCD sono collegati rispettivamente a B2, B3, B4 e B5. In questo progetto, abbiamo utilizzato due regolatori di tensione: 7805 per l'alimentazione del microcontrollore e 7812 per il circuito LM358. E un trasformatore step-down 12v-0-12v viene utilizzato anche per ridurre la tensione CA. Il resto dei componenti è mostrato nello schema del circuito sottostante.
Spiegazione della programmazione:
La programmazione di una parte di questo progetto è semplice. In questo codice, dobbiamo solo calcolare la tensione CA utilizzando la tensione 0-5 V mappata proveniente dal circuito divisore di tensione e quindi confrontarla con valori predefiniti. Puoi controllare il codice PIC completo dopo questo progetto.
Innanzitutto, nel codice, abbiamo incluso un'intestazione e configurato i bit di configurazione del microcontrollore PIC. Se sei nuovo nella codifica PIC, impara qui il microcontrollore PIC ei suoi bit di configurazione.
Quindi abbiamo usato alcune funzioni per guidare LCD, come void lcdbegin () per inizializzare l'LCD, void lcdcmd (char ch) per inviare un comando a LCD, void lcdwrite (char ch) per inviare dati a LCD e void lcdprint (char * str) per inviare la stringa a LCD. Controlla tutte le funzioni nel codice sottostante.
La funzione indicata di seguito viene utilizzata per mappare i valori:
mappa lunga (long x, long in_min, long in_max, long out_min, long out_max) {return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; }
Data la funzione int analogRead (int ch) viene utilizzata per inizializzare e leggere ADC:
int analogRead (int ch) {int adcData = 0; se (ch == 0) ADCON0 = 0x03; // adc canale 0 else if (ch == 1) ADCON0 = 0x0b; // seleziona il canale adc 1 altrimenti se (ch == 2) ADCON0 = 0x0b; // seleziona il canale 2 adc ADCON1 = 0b00001100; // seleziona i / p analogici 0,1 e 2 canali dell'ADC ADCON2 = 0b10001010; // eqisation time holding cap time while (GODONE == 1); // avvia conversione valore adc adcData = (ADRESL) + (ADRESH << 8); // Memorizza l'uscita a 10 bit ADON = 0; // adc off return adcData; }
Le linee date vengono utilizzate per ottenere campioni ADC e calcolarne la media e quindi calcolare la tensione:
while (1) {long adcValue = 0; int volt = 0; for (int i = 0; i <100; i ++) // prelevare campioni {adcValue + = analogRead (2); ritardo (1); } adcValue / = 100; #if metodo == 1 volt = (((float) adcValue * 240.0) /1023.0); #else volt = map (adcValue, 530, 895, 100, 240); #endif sprintf (risultato, "% d", volt);
E infine la funzione data viene utilizzata per eseguire l'azione risultante:
se (volt> 200) {lcdcmd (1); lcdprint ("Alta tensione"); lcdcmd (192); lcdprint ("Avviso"); ritardo (1000); } altrimenti se (volt <150) {lcdcmd (1); lcdprint ("Bassa tensione"); lcdcmd (192); lcdprint ("Avviso"); ritardo (1000); }
Progettazione di circuiti e PCB utilizzando EasyEDA:
Per progettare questo circuito rilevatore di ALTA e BASSA tensione, abbiamo scelto lo strumento EDA online chiamato EasyEDA. Abbiamo già utilizzato EasyEDA molte volte e l'abbiamo trovato molto comodo da usare rispetto ad altri produttori di PCB. Controlla qui tutti i nostri progetti PCB. EasyEDA non è solo la soluzione completa per l'acquisizione di schemi, la simulazione di circuiti e la progettazione di PCB, ma offre anche un servizio di approvvigionamento di prototipi e componenti di PCB a basso costo. Recentemente hanno lanciato il loro servizio di approvvigionamento di componenti in cui hanno un ampio stock di componenti elettronici e gli utenti possono ordinare i componenti richiesti insieme all'ordine PCB.
Durante la progettazione di circuiti e PCB, puoi anche rendere pubblici i progetti di circuiti e PCB in modo che altri utenti possano copiarli o modificarli e trarne vantaggio, abbiamo anche reso pubblici tutti i nostri layout di circuiti e PCB per questa alta e bassa tensione Circuito di protezione, controlla il link sottostante:
easyeda.com/circuitdigest/HIGH_LOW_Voltage_Detector-4dc240b0fde140719c2401096e2410e6
Di seguito è riportata l'istantanea dello strato superiore del layout PCB da EasyEDA, è possibile visualizzare qualsiasi strato (Top, Bottom, Topsilk, Bottomsilk ecc.) Del PCB selezionando lo strato dalla finestra "Layers".
Puoi anche controllare la vista Foto del PCB usando EasyEDA:
Calcolo e ordinazione di PCB online:
Dopo aver completato la progettazione del PCB, è possibile fare clic sull'icona dell'output di fabbricazione sopra. Quindi accederai alla pagina Ordine PCB per scaricare i file Gerber del tuo PCB e inviarli a qualsiasi produttore, è anche molto più semplice (ed economico) ordinarlo direttamente in EasyEDA. Qui puoi selezionare il numero di PCB che desideri ordinare, quanti strati di rame ti servono, lo spessore del PCB, il peso del rame e persino il colore del PCB. Dopo aver selezionato tutte le opzioni, fare clic su "Salva nel carrello" e completare l'ordine, quindi riceverai i tuoi PCB pochi giorni dopo. L'utente può anche rivolgersi al proprio fornitore locale di PCB per creare PCB utilizzando il file Gerber.
La consegna di EasyEDA è rapidissima e dopo pochi giorni dall'ordinazione dei PCB ho ricevuto i campioni di PCB:
Di seguito sono riportate le immagini dopo aver saldato i componenti sul PCB:
In questo modo possiamo facilmente costruire il circuito di protezione a bassa-alta tensione per la nostra casa. Inoltre è sufficiente aggiungere un relè per collegare eventuali apparecchi CA ad esso, per proteggerlo dalle fluttuazioni di tensione. Basta collegare il relè con qualsiasi pin generico dell'MCU PIC e scrivere il codice per rendere quel pin alto e basso insieme al codice del messaggio di avviso LCD.