- Materiali richiesti:
- Funzionamento del sensore di corrente ACS712:
- Schema elettrico:
- Simulazione:
- Programmazione del microcontrollore PIC:
- Lavorando:
La misurazione della tensione e della corrente sarà sempre utile durante la creazione o il debug di qualsiasi sistema elettrico. In questo progetto realizzeremo il nostro amperometro digitale utilizzando il microcontrollore PIC16F877A e il sensore di corrente ACS712-5A. Questo progetto può misurare sia la corrente CA che CC con un intervallo di 0-30 A con una precisione di 0,3 A. Con poche modifiche al codice è possibile utilizzare questo circuito anche per misurare fino a 30A. Quindi cominciamo !!!
Materiali richiesti:
- PIC16F877A
- 7805 Regolatore di tensione
- Sensore di corrente ACS712
- Display LCD 16 * 2
- Una scatola di giunzione e carico (solo per test)
- Cavi di collegamento
- Condensatori
- Breadboard.
- Alimentazione - 12V
Funzionamento del sensore di corrente ACS712:
Prima di iniziare a costruire il progetto è molto importante per noi comprendere il funzionamento del sensore di corrente ACS712 in quanto è il componente chiave del progetto. Misurare la corrente, in particolare la corrente alternata, è sempre un compito difficile a causa del rumore accoppiato con esso, problema di isolamento improprio ecc. Ma, con l'aiuto di questo modulo ACS712 che è stato progettato da Allegro, le cose sono diventate molto più semplici.
Questo modulo funziona secondo il principio dell'effetto Hall, scoperto dal Dr. Edwin Hall. Secondo il suo principio, quando un conduttore che trasporta corrente viene posto in un campo magnetico, viene generata una tensione ai suoi bordi perpendicolare alle direzioni sia della corrente che del campo magnetico. Non andiamo troppo in profondità nel concetto, ma semplicemente usiamo un sensore Hall per misurare il campo magnetico attorno a un conduttore che trasporta corrente. Questa misura sarà in millivolt che abbiamo chiamato tensione di sala. Questa tensione hall misurata è proporzionale alla corrente che scorreva attraverso il conduttore.
Il vantaggio principale dell'utilizzo del sensore di corrente ACS712 è che è in grado di misurare sia la corrente CA che CC e fornisce anche l'isolamento tra il carico (carico CA / CC) e l'unità di misura (parte del microcontrollore). Come mostrato nell'immagine abbiamo tre pin sul modulo che sono rispettivamente Vcc, Vout e Ground.
La morsettiera a 2 pin è il punto in cui deve passare il filo che trasporta la corrente. Il modulo funziona a + 5V, quindi il Vcc dovrebbe essere alimentato a 5V e la terra dovrebbe essere collegata alla terra del sistema. Il pin Vout ha una tensione di offset di 2500mV, il che significa che quando non c'è corrente che scorre attraverso il filo, la tensione di uscita sarà 2500mV e quando la corrente che scorre è positiva, la tensione sarà maggiore di 2500mV e quando la corrente che scorre è negativa, il la tensione sarà inferiore a 2500 mV.
Useremo il modulo ADC del microcontrollore PIC per leggere la tensione di uscita (Vout) del modulo, che sarà 512 (2500mV) quando non c'è corrente che scorre attraverso il filo. Questo valore si ridurrà quando la corrente scorre in direzione negativa e aumenterà quando la corrente scorre in direzione positiva. La tabella seguente ti aiuterà a capire come varia la tensione di uscita e il valore ADC in base alla corrente che scorre attraverso il filo.
Questi valori sono stati calcolati sulla base delle informazioni fornite nel Datasheet dell'ACS712. Puoi anche calcolarli usando le seguenti formule:
Tensione Vout (mV) = (Valore ADC / 1023) * 5000 Corrente attraverso il filo (A) = (Vout (mv) -2500) / 185
Ora che sappiamo come funziona il sensore ACS712 e cosa possiamo aspettarci da esso. Passiamo allo schema del circuito.
Schema elettrico:
Lo schema elettrico completo di questo progetto di amperometro digitale è mostrato nell'immagine sotto.
Il circuito completo del misuratore di corrente digitale funziona a + 5V che è regolato da un regolatore di tensione 7805. Abbiamo utilizzato un LCD 16X2 per visualizzare il valore della corrente. Il pin di uscita del sensore di corrente (Vout) è collegato al 7 ° pin del PIC che è l'AN4 per leggere la tensione analogica.
Inoltre la connessione pin per il PIC è mostrata nella tabella sottostante
S.No: |
Codice PIN |
Nome pin |
Collegato a |
1 |
21 |
RD2 |
RS di LCD |
2 |
22 |
RD3 |
E di LCD |
3 |
27 |
RD4 |
D4 di LCD |
4 |
28 |
RD5 |
D5 di LCD |
5 |
29 |
RD6 |
D6 di LCD |
6 |
30 |
RD7 |
D7 di LCD |
7 |
7 |
AN4 |
Vout of Current Sesnor |
Puoi costruire questo circuito amperometro digitale su una breadboard o utilizzare una scheda perf. Se hai seguito i tutorial PIC, puoi anche riutilizzare l'hardware che abbiamo utilizzato per l'apprendimento dei microcontrollori PIC. Qui abbiamo usato la stessa scheda perf che abbiamo costruito per LED lampeggiante con microcontrollore PIC, come mostrato di seguito:
Nota: non è obbligatorio per te costruire questa scheda, puoi semplicemente seguire lo schema del circuito e costruire il tuo circuito su una breadboard e utilizzare qualsiasi kit dumper per scaricare il tuo programma nel microcontrollore PIC.
Simulazione:
Questo circuito del misuratore di corrente può anche essere simulato utilizzando Proteus prima di procedere effettivamente con l'hardware. Assegna il file hex del codice fornito alla fine di questo tutorial e fai clic sul pulsante di riproduzione. Dovresti essere in grado di notare la corrente sul display LCD. Ho usato una lampada come carico AC, puoi variare la resistenza interna della lampada cliccandoci sopra per variare la corrente che la attraversa.
Come puoi vedere nell'immagine sopra, l'amperometro mostra la corrente effettiva che scorre attraverso la lampada che è di circa 3,52 A e il display LCD mostra che la corrente è di circa 3,6 A. Tuttavia, in caso pratico potremmo ottenere errore fino a 0.2A. Anche il valore ADC e la tensione in (mV) vengono visualizzati sul display LCD per la vostra comprensione.
Programmazione del microcontrollore PIC:
Come detto in precedenza, il codice completo si trova alla fine di questo articolo. Il codice è autoesplicato con righe di commento e riguarda solo il concetto di interfacciare un LCD con il microcontrollore PIC e l'utilizzo del modulo ADC nel microcontrollore PIC che abbiamo già trattato nei nostri precedenti tutorial sull'apprendimento dei microcontrollori PIC.
Il valore letto dal sensore non sarà preciso poiché la corrente è alternata ed è anche soggetta a rumore. Quindi leggiamo il valore ADC per 20 volte e ne calcoliamo la media per ottenere il valore corrente appropriato come mostrato nel codice seguente.
Abbiamo utilizzato le stesse formule spiegate sopra per calcolare la tensione e il valore corrente.
for (int i = 0; i <20; i ++) // Legge il valore per 20 volte {adc = 0; adc = ADC_Read (4); // Leggi tensione ADC = adc * 4.8828; // Calcola la tensione se (Tensione> = 2500) // Se la corrente è positiva Amp + = ((Tensione-2500) /18,5); altro se (Voltaggio <= 2500) // Se la corrente è negativo Amp + = ((2500-Voltaggio) /18,5); } Amp / = 20; // Media il valore letto per 20 volte
Poiché questo progetto può leggere anche corrente alternata, anche il flusso di corrente sarà negativo e positivo. Questo è il valore della tensione di uscita sarà superiore e inferiore a 2500 mV. Quindi, come mostrato di seguito, cambiamo le formule per la corrente negativa e positiva in modo da non ottenere un valore negativo.
if (Voltaggio> = 2500) // Se la corrente è positiva Amp + = ((Voltaggio-2500) /18,5); altro se (Voltaggio <= 2500) // Se la corrente è negativo Amp + = ((2500-Voltaggio) /18,5);
Utilizzando un sensore di corrente da 30A:
Se è necessario misurare una corrente superiore a 5 A, è sufficiente acquistare un modulo ACS712-30A e interfacciarlo allo stesso modo e modificare la riga di codice sottostante sostituendo 18.5 con 0.66 come mostrato di seguito:
if (Voltaggio> = 2500) // Se la corrente è positiva Amp + = ((Voltaggio-2500) /0.66); else if (Tensione <= 2500) // Se la corrente è negativa Amp + = ((2500-Tensione) /0,66);
Controllare anche l'amperometro da 100 mA utilizzando il microcontrollore AVR se si desidera misurare una corrente bassa.
Lavorando:
Dopo aver programmato il microcontrollore PIC e preparato l'hardware. Basta accendere il carico e il microcontrollore PIC dovresti essere in grado di vedere la corrente che passa attraverso il filo visualizzato sullo schermo LCD.
NOTA: SE si utilizza un modulo ASC7125A, assicurarsi che il carico non consumi più di 5 A, utilizzare anche cavi di sezione superiore per i conduttori che trasportano corrente.
Il funzionamento completo del progetto amperometro basato su microcontrollore PIC è mostrato nel video qui sotto. Spero che il progetto funzioni e ti sia piaciuto farlo. Se hai dei dubbi puoi scriverli nella sezione commenti qui sotto o pubblicarli sui nostri forum.