Progetto di un misuratore di corrente elettrica basato sul sensore ad effetto Hall ACS712 – Parte 2

Nell’anteprima del precedente articolo “Progetto di un misuratore di corrente elettrica basato sul sensore ad effetto Hall ACS712 - Parte 1” abbiamo introdotto brevemente il progetto e successivamente abbiamo fatto una panoramica sui sensori di corrente, in particolare sul sensore ad effetto Hall, elemento fondamentale per la realizzazione del nostro misuratore di corrente che realizzeremo. In questo articolo descriveremo il progetto attraverso l’analisi dello schema elettrico e tratteremo in dettaglio il sensore di corrente ad effetto Hall ACS712, la scheda di sviluppo D1 NodeMCU ESP8266 12-F e il modulo convertitore AC-DC HI-Link.

IL PROGETTO

Come già accennato, il misuratore di corrente elettrica intelligente utilizza un sensore di corrente ad effetto Hall ACS712T e la scheda di sviluppo Wi-Fi ESP8266 12-E per misurare il consumo di energia, ossia l’assorbimento di corrente di un impianto elettrico. Inoltre, l’applicazione IoT, mediante la piattaforma ThingSpeak, consente anche di monitorare la corrente in qualsiasi momento da remoto. In Figura 1 viene illustrato lo schema elettrico del misuratore di corrente.

Figura 1: Schema elettrico del misuratore di corrente

Il principio di funzionamento del misuratore di corrente è molto semplice. Il sensore di corrente ACS712 è in serie ad un conduttore (che chiameremo “conduttore di misura”) di una delle due fasi della tensione alternata di rete a 230 VAC a valle dell’interruttore automatico generale del quadro elettrico generale dell’impianto elettrico domestico, a cui arriva a monte la linea a 230 VAC del gestore elettrico. In questa modalità di collegamento, il sensore è in grado di rilevare la corrente totale di assorbimento di tutte le utenze elettriche domestiche. Il valore analogico del segnale in uscita dal sensore corrispondente alla corrente misurata viene inviato dall’uscita “OUT” del sensore al pin d’ingresso “A0” dell’ADC dell’ESP8266. La funzione dell’ESP8266 è di elaborare il valore analogico della corrente e di inviarlo via Internet alla piattaforma ThingSpeak che consentirà di conoscere e monitorare costantemente la corrente assorbita dalle utenze elettriche della nostra abitazione. Una di queste utenze è l’alimentazione a 230 VAC del modulo AC-DC converter HI-Link (collegato a valle di un dedicato interruttore automatico secondario) la cui uscita a +5V alimenta tutti i componenti del progetto. La soluzione di utilizzare il modulo HI-Link è molto comoda e pratica in quanto contribuisce a ridurre le dimensioni della scheda del misuratore evitando l’impiego di un trasformatore e tutti i componenti che necessitano per realizzare un alimentatore a 5V.

Il sensore ad effetto Hall ACS712

Per comprendere il funzionamento del progetto dobbiamo addentrarci nella descrizione del funzionamento del sensore ad effetto Hall ACS712, il componente chiave del misuratore di corrente. Già abbiamo descritto il principio di funzionamento dei sensori ad effetto Hall nel precedente articolo “Progetto IoT di un misuratore di corrente elettrica basato sul sensore ad effetto Hall ACS712 - Parte 1”, pertanto diremo solo che la tensione di Hall (che tratteremo in millivolt) prodotta dal sensore ACS712 è proporzionale alla corrente che scorre attraverso il conduttore di misura in cui è inserito il sensore di corrente.

L'ACS712

Consideriamo che in questo progetto l’ACS712 che abbiamo scelto può misurare una corrente continua o alternata fino a 30 A. In assenza di corrente nel conduttore di misura e con l’ACS712 alimentato a 5V, la tensione di uscita dal pin “OUT” del sensore sarà Vcc/2 = 2500 mV (tensione di riposo). Quando il verso della corrente è positivo, il valore della tensione di uscita sarà maggiore di 2500 mV, viceversa, sarà minore di 2500 mV quando il verso della corrente è negativo. Il valore della sensibilità (in mV/A) dipende dal tipo di ACS712 selezionato. Esistono tre varianti del sensore ACS712 in base alla portata della corrente da misurare a cui corrisponde la sensibilità di misurazione e quindi il valore analogico di uscita del sensore in funzione della corrente. Come indicato nella tabella di Figura 2, in questo progetto abbiamo scelto di utilizzare il sensore con portata +/-30A che ha una sensibilità di 66 mV/A, corrispondente alla pendenza di un'equazione lineare.

Figura 2: Varianti del sensore ACS712

Dal datasheet dell’ACS712, in Figura 3 viene riportato il grafico dell’andamento della tensione di uscita in funzione della corrente misurata dal sensore ACS712...30-T (+/-30 A, 66mV/A) per diversi valori della temperatura ambiente, alla tensione di alimentazione di 5V del sensore.

Figura 3: Grafico della tensione di uscita in funzione della corrente misurata dall’ACS712

L’uscita del sensore di corrente è una tensione analogica che viene acquisita dal convertitore analogico-digitale (ADC) al pin A0 del microcontrollore NodeMCU ESP8266 e convertita in un valore digitale. La tensione di ingresso al pin A0 dell’ADC dell’ESP8266 ha un range da 0 a 3,3 V, quindi avendo l’ADC una risoluzione a 10 bit, lo step minimo di tensione sarà 3300 mV/1024 = 3,22265625 mV. Quindi, alla tensione di riposo di 2500 mV corrisponderanno 2500 mV/3,22 mV = 776,39 step, ovvero 776 è il valore che leggerà l’ADC quando non viene rilevata corrente dal sensore. Si consideri che, data la massima tensione di 3,3 V applicabile all’ingresso dell’ADC, il massimo valore di corrente misurabile sarà di circa 12 A, come rilevabile dal grafico di Figura 3.
Nota: l’uscita dell’ACS712 può arrivare fino a oltre la tensione massima applicabile all’ESP8266, ma la scheda di sviluppo NodeMCU ESP8266 12-F utilizzata in questo progetto integra un partitore di tensione che consente di applicare al pin A0 dell’ADC tensioni fino a 5V.

La scheda di sviluppo D1 NodeMCU ESP8266 12-F

D1 NodeMCU ESP8266 12-F è una scheda di sviluppo basata sul modulo microcontrollore Wi-Fi ESP8266 12-F della Espressif. Dispone di 11 pin di ingresso / uscita digitali e un pin di ingresso analogico. Tutti i pin I/O digitali hanno funzioni di interrupt, PWM, I2C e One-wire. Il range della tensione all’ingresso analogico è compreso tra 0 V e 3,3 V. Il modulo utilizza una porta microUSB e il chip convertitore seriale UART-USB CH340G per l’interfacciamento al computer e la programmazione dell’ESP8266. Inoltre, la porta microUSB fornisce alimentazione al modulo. Il modulo ESP8266 12-F integrato nella scheda di sviluppo, è un integrato SoC (System on a Chip) costituito da un microcontrollore Tensilica L106 a 32 bit e da un transceiver Wi-Fi. Può essere programmato come qualsiasi altro microcontrollore. La peculiarità dell’ESP8266 è la comunicazione Wi-Fi, ovvero può essere connesso alla rete Wi-Fi o a Internet, può svolgere la funzione di host server web, connettersi a uno smartphone, tablet, ecc. Supporta i protocolli di rete Wi-Fi, TCP, UDP, HTTP, DNS, ecc. Il modulo D1 NodeMCU può essere programmato con Arduino, in C con ESP SDK, Lua interpreter, NodeMCU, MicroPython. In Figura 4 la scheda di sviluppo D1 NodeMCU.

Figura 4: Scheda di sviluppo D1 NodeMCU ESP8266

Di seguito sono elencate le specifiche tecniche dell’ESP8266 12-F:

» 802.11 b/g/n
» Integrated low power 32-bit MCU
» Integrated 10-bit ADC
» Integrated TCP/IP protocol stack
» Integrated TR switch, balun, LNA, power amplifier and matching network
» Integrated PLL, regulators, and power management units
» Supports antenna diversity
» Wi-Fi 2.4 GHz, support WPA/WPA2
» Support STA/AP/STA+AP operation modes
» Support Smart Link Function for both Android and iOS devices
» SDIO 2.0, (H) SPI, UART, I2C, I2S, IRDA, PWM, GPIO
» STBC, 1x1 MIMO, 2x1 MIMO
» A-MPDU & A-MSDU aggregation and 0.4s guard interval
» Deep sleep power <10uA, power down leakage current < 5uA
» Wake up and transmit packets in < 2ms
» Standby power consumption of < 1.0mW (DTIM3)
» +20dBm output power in 802.11b mode
» Operating temperature range: -40 °C ~ 125 °C

Le specifiche tecniche della scheda di sviluppo D1 NodeMCU sono le seguenti:

» Operating voltage: 3.3V DC
» Main chip: ESP8266 12-F
» Clock speed: 80MHz / 160MHz
» Flash memory: 4MB
» Digital I/O pins: 11
» Analog input pins: 1
» Analog input voltage range: from 0V to 3.3V DC
» Port: microUSB
» USB-UART serial interface chip: CH340G
» On-board LED: connected to GPIO2 pin
» Max current per single digital I/O pin: 12mA
» Dimensions: 25 x 35 x 6mm [0.98 x 1.4 x 0.24in]

Note: i pin del modulo D1 Mini non tollerano tensioni di 5 V, l’applicazione di tensioni di più di 3,6 V su qualsiasi pin potrebbe danneggiare il chip!

I pin GPIO1 e GPIO3 vengono utilizzati come TX e RX della porta seriale hardware UART, quindi nella maggior parte dei casi non possono essere utilizzati come normali I/O durante l'invio / ricezione di dati seriali. Il modulo D1 Mini ha un LED integrato collegato al pin GPIO2.

Funzioni dei pin I/O [...]

ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 2136 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici che potrai leggere in formato PDF per un anno. ABBONATI ORA, è semplice e sicuro.

Scarica subito una copia gratis

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend