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

Nel precedente articolo “Progetto di un misuratore di corrente elettrica basato sul sensore ad effetto Hall ACS712 – Parte 2” abbiamo descritto il funzionamento e i componenti del progetto. In questo articolo installeremo il software necessario al funzionamento del progetto, realizzeremo il prototipo, vedremo come programmare il codice nell’ESP8266 e faremo dei test preliminari con il sensore ACS712.

Introduzione

Come trattato nel precedente articolo, il contatore di energia elettrica utilizza un sensore di corrente ad effetto Hall ACS712 e la scheda di sviluppo Wi-Fi D1 NodeMcu ESP8266 12-F per misurare la corrente assorbita da un impianto elettrico e quindi il consumo di energia. Inoltre, l’applicazione IoT di questo progetto, mediante la piattaforma ThingSpeak, consente di monitorare periodicamente i consumi energetici elettrici da remoto.

Installazione del software

Prima di procedere con la realizzazione del progetto occorre installare un pò di software necessario alla programmazione dell’ESP8266 e al funzionamento del progetto.

Installazione del driver di comunicazione seriale UART-USB

Il primo step necessario per la programmazione dell’ESP8266 con Arduino è l’installazione del driver del chip convertitore seriale CH340G integrato nella scheda di sviluppo, necessario per la comunicazione seriale della scheda D1 NodeMCU con il computer. Collegate la scheda di sviluppo D1 NodeMcu ESP8266 con un cavo microUSB-USB al computer ed eseguite le operazioni descritte di seguito. In genere, il driver viene rilevato automaticamente da Windows, altrimenti scaricate il driver dal sito http://www.wch.cn/download/CH341SER_ZIP.html per Windows, dal sito http://www.wch.cn/download/CH341SER_MAC_ZIP.html per Mac. Decomprimete il file ZIP e, per Windows, installatelo eseguendo "SETUP.EXE" nella cartella "CH341SER". Per Mac, si seguano le istruzioni di installazione fornite con il pacchetto del driver. Se l’installazione è andata a buon fine, nelle periferiche di comunicazione del PC troverete assegnata al CH340 una porta COM su Windows o "ttyUSB" su Mac.

Installazione dell’IDE di Arduino e del firmware dell’ESP8266

Il prossimo step è l’installazione del software IDE di Arduino dal sito ufficiale www.arduino.cc (in questo articolo si fa riferimento alla versione software Arduino 1.8.15). All’avvio del programma, dall’IDE di Arduino installate la scheda ESP8266. Da File > Impostazioni, alla voce “URL aggiuntive per il Gestore schede” inserite il link http://arduino.esp8266.com/stable/package_esp8266com_index.json. Poi, con Strumenti > Scheda > Gestore Schede, digitate “esp8266” nella barra di ricerca; selezionate e installate il firmware di gestione della scheda ESP8266 “ESP8266 by ESP8266 Community“.

Installazione della libreria ThingSpeak

Per la comunicazione dell’ESP8266 con ThingSpeak è necessario installare nell'IDE di Arduino la libreria ThingSpeak. Dall’IDE di Arduino, cliccate su Sketch -> #include libreria -> Gestione librerie. Quando si aprirà la finestra “Gestore librerie” digitate “ThingSpeak” nella barra di ricerca, cliccate sulla libreria ThingSpeak by Mathworks dall'elenco e poi sul pulsante “Installa”.

Realizzazione del prototipo

In questo capitolo descriveremo la realizzazione del prototipo del misuratore di corrente che impiegheremo per misurare la corrente totale assorbita dall’impianto elettrico della nostra abitazione. Per eseguire il montaggio dei componenti del progetto, in Figura 1 viene riproposto lo schema elettrico del misuratore di corrente elettrica.

Figura 1: Schema elettrico del misuratore di corrente

Collegamento del misuratore di corrente al quadro elettrico

Prima di eseguire le operazioni descritte di seguito, ASSICURATEVI CHE L’INTERRUTTORE GENERALE DEL QUADRO ELETTRICO SIA APERTO E ACCERTATEVI CHE AI POLI DI USCITA DI QUESTO INTERRUTTORE NON CI SIA TENSIONE MISURANDO CON UN VOLTMETRO IN CA.

Seguite le avvertenze riportate in Figura 2. Se non avete dimestichezza ad operare su impianti elettrici, fate eseguire tutti i collegamenti relativi alla 230 VCA da un elettricista.

Figura 2: Avvertenze per operare su impianti elettrici

Riferendovi ai collegamenti dello schema elettrico, in una basetta millefori inserite il modulo HI-Link, due portafusibili da circuito stampato, il condensatore C1, e due file da otto pin femmina su cui inserirete la scheda di sviluppo D1 NodeMCU disponendole in modo tale che, una volta inserita, la scheda risulti posizionata con il connettore microUSB rivolto verso l’esterno per facilitare il collegamento del cavo USB con il computer. In questa basetta inserite anche due morsettiere da circuito stampato, una morsettiera a 3 morsetti a cui collegherete i tre pin del modulo ACS712 e una morsettiera a 2 morsetti a cui collegherete i due conduttori della tensione di rete 230 VCA provenienti dall’interruttore automatico secondario SW1. Inseriti i componenti nella basetta, sulla superficie lato saldature opposta a quella in cui avete inserito i componenti, collegate i componenti e le morsettiere saldando i rispettivi conduttori di collegamento. Completato il montaggio, isolate le parti conduttive esposte del modulo ACS712 e della superficie lato saldature e lato componenti della basetta con del nastro isolante o con piastre isolanti per evitare scosse elettriche da contatto accidentale. Inserite la basetta in un contenitore assicurandovi che le morsettiere siano accessibili dall’esterno per i collegamenti necessari.

All’interno del quadro elettrico, o di una scatola di derivazione, interrompete uno dei due conduttori provenienti a valle dell’interruttore generale del quadro elettrico e collegate le estremità interrotte di questo conduttore ai due morsetti del modulo ACS712, come mostrato nello schema elettrico. Collegate i tre pin (VCC, OUT e GND) del modulo ACS712 alla morsettiera a 3 posti presente nella basetta. Collegate due conduttori, o un cavetto bipolare, dalla morsettiera a due posti della basetta ai poli di uscita dell’interruttore bipolare magnetotermico differenziale (SW1 nello schema elettrico) con corrente differenziale d’intervento ID=30mA, che dovrete avere a disposizione nel vostro quadro elettrico, collegato con i due poli d’ingresso alla rete della 230 VCA a valle dell’interruttore generale. A questo punto è pronto il setup per il test funzionale di misurazione dell'energia elettrica assorbita dalle utenze collegate a valle dell’interruttore generale del quadro elettrico.

Test preliminare del funzionale del progetto

In questa fase di test il circuito sarà alimentato mediante il collegamento del computer alla scheda di sviluppo D1 NodeMCU, quindi non chiudete l’interruttore secondario SW1 e l’interruttore generale del quadro elettrico. In questo modo siamo sicuri che nessuna corrente sarà rilevata dal sensore. Con la scheda di sviluppo D1 NodeMCU ESP8266 collegata al computer, cliccate su Strumenti -> Scheda: “NodeMCU 1.0 (ESP-12E Module)”, poi cliccate su Strumenti - > Porta: “COM9” e verificate che la porta COM del computer sia associata al driver della scheda di sviluppo che nell’esempio è la COM9 ma potrebbe essere qualsiasi altra nel vostro PC. Ribadiamo che se nessuna corrente scorre attraverso il conduttore di una delle due fasi della 230 VCA, collegato al sensore di corrente, la tensione di uscita analogica dell'ACS712 dovrebbe essere teoricamente 2,5 V. L'ADC del D1 NodeMCU ESP8266 in corrispondenza di questa tensione di uscita analogica di 2,5 V leggerà il valore 776. Andremo ora a verificare ciò con qualche riga di codice che copieremo in uno sketch che salveremo con il nome “Test_zero_current”. Aprite l’IDE di Arduino e copiate il seguente sketch:

/*
* AnalogRead Sketch using ACS712 and NodeMCU ESP8266 ESP-12E module
* by Alex Roman
*/
/*--------VARIABLES--------*/
/*--------NodeMCU--------*/

#define PIN A0

float resolution = 3.3 / 1024; // Input Voltage Range is 1V to 3.3V
// ESP8266 ADC resolution is 10-bit. 2^10 = 1024

void setup()
{
Serial.begin(115200); // Initialize Serial communication
pinMode(PIN, INPUT); // Set pin A0 as read. 
}
void loop() {

Serial.print("analogRead = ");
Serial.println(analogRead(PIN)); // Function to read from pin A0

Serial.print("Voltage (when zero current) = "); 
Serial.print(analogRead(PIN)* resolution, 3); // ADC value multp. by resolution will give your the corresponding voltage value. 
Serial.println(" V"); 

delay(1000); 
}

Cliccando su “Carica”, l’IDE vi chiederà di salvare lo sketch, salvatelo come “Test_zero_current”, o come volete. Terminato il caricamento del codice nell’ESP8266, aprite il Monitor Seriale e se già impostato il baud rate a 115200, apparirà come in Figura 3.

[...]

ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 2085 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