Scheda Voltmetro/amperometro con Arduino

Il progetto qui illustrato permette di realizzare un voltmetro / amperometro da utilizzare magari per un alimentatore, basato su Arduino in versione stand alone e che utilizza un sensore ACS714 per la misura della corrente.

Nella configurazione proposta permette di misurare una tensione continua compresa tra 0 e 25 V, con una corrente massima di 5A.

Lo schema sotto riportato è formato da più sezioni quali:

Per il funzionamento è necessario caricare l’apposito programma.

File formato EAGLE

Voltmetro amperometro Arduino

Rendering 3d della scheda

Filmato illustrativo del collaudo della scheda

Nuova versione del PCB realizzata con EasyEDA

Sotto è riportata la nuova versione del PCB che può essere scaricato dal mio account presso OSHWLab, utilizzando questo link

Lo schema e il relativo PCB sono stati realizzati con il programma EasyEDA:  un servizio per il disegno di circuiti e la loro simulazione, progettazione e produzione di PCB. Provatelo è gratuito!

Sezione alimentatrice

La scheda voltmetro/amperometro per Arduino lavora con un’unica tensione d’alimentazione di 5 Vcc. Questa è ottenuta riducendo la tensione d’ingresso in arrivo alla morsettiera X1 (La tensione deve essere continua con un valore compreso tra 8 e 15) mediante regolatore IC1 un LM7805.
La tensione è livellata tramite i condensatori C1, C2, C3 ,C4

Voltmetro amperometro Arduino - Schema alimentazione

Sezione processore

La sezione processore è basata sul processore ATmega328  un microcontrollore con bus a 8 bit prodotto dalla Atmel con architettura di tipo RISC (acronimo di Reduced Instruction Set Computer).  Il clock è dato da Q1 un quarzo da 16 MHz con i soliti due condensatori ceramici di supporto. Per il reset del processore è presente anche un pulsante il miniatura P1.
In questa applicazioni il processore su cui è caricato il downloader Arduino è utilizzato in versione stand alone, in quanto dopo che avete programmato l’Atmega328 potete farlo funzionare da solo, basta collegare il quarzo da 16 MHz e i due condensatori da 18 pF e dare alimentazione sui pin 7-20 (+5V) e 8-22 (GND).

Voltmetro amperometro Arduino - Processore

Sezione sensore di corrente

Il sensore ACS714 utilizzato nel circuito voltmetro/amperometro per  Arduino è prodotto dalla Allegro MicroSystems accetta una corrente di input bidirezionale con un’ampiezza al massimo pari a 5A e fornisce in output una tensione analogica proporzionale (185mV/A) centrata a 2.5V con un errore tipico pari a ±1.5%.
Il sensore opera in un range di tensioni fra 4.5 e 5.5V ed è stato progettato per essere utilizzato in sistemi che operano a 5V.
Si basa sull’effetto Hall e permette all’IC di isolare elettricamente il percorso della corrente dall’elettronica del sensore (fino a 2.1 kV RMS): ciò permette di inserire il sensore in qualunque punto lungo il percorso della corrente e soprattutto permette di utilizzare questo sensore in applicazioni che richiedono isolamento elettrico. La larghezza di banda viene fissata attraverso il condensatore C9 connesso al pin etichettato con la dicitura “Filter”

ACS714 – Hall Effect-Based Linear Current Sensor IC

Sezione partitore di tensione

Come saprete, i pin analogici di Arduino non sono adatti a ricevere segnali con una tensione superiore a 5V, anche se come picco può capitare di raggiungere tensioni maggiori è sempre bene evitare che questo accada.

Voltmetro amperometro Arduino - partitore

In teoria si ha che se R1=R2 qualsiasi sia il loro valore quello che ottiene è un partitore di tensione simmetrico ossia applicando in ingresso 10V in uscita si avranno 5V, variando il rapporto tra R1 ed R2 a favore di R1 ( R1 > R2 ) in uscita al  partitore di tensione si avrà una tensione di uscita inferiore a Vi/2; variando il rapporto a favore di R2 ( R1 < R2 ) si ottiene una Vo > Vi/2.

Voltmetro amperometro Arduino

Dato che questo voltmetro deve essere adatto a misurare tensioni nell’ordine di 25V, occorre inserire un partitore di tensione R1 e R2 il cui rapporto (ratio) sia pari a 5 (teorico), per evitare comunque di avere tensioni superiori in uscita è stato inserito lo zener D1 da 5.1 tra l’ingresso analogico di Arduino e il partitore in modo da evitare sovratensioni che potrebbero danneggiare l’ingresso.

Sezione display LCD

La sezione display è rappresentata esclusivamente dal collegamento del display ai pin della sezione processore.

Voltmetro amperometro Arduino - Sezione LCD

E’ presente  un trimmer POT1 da 10 kΏ per la regolazione del contrasto, esiste poi il collegamento per l’alimentazione della retro alimentazione, la resistenza di limitazione risulta già presente sul display.

  • RS → pin digitale 11;
  • Enable → pin digitale 6;
  • D4 → pin digitale 5;
  • D5 →pin digitale 4;
  • D6 → pin digitale 3;
  • D7 → pin digitale 2.
  • Positivo → pin +5V
  • Negativo → pin GND

Display LCD 16 caratteri x 2 linee con fondo Blu

Materiale per il montaggio della scheda

Voltmetro amperometro Arduino

Elenco componenti

SiglaComponente
C2,C3, C8100 nF multistrato
C410 µF 25 Vl verticale
C6,C718 pF ceramico
C91 nF poliestere
D1Diodo zener BZX55C5V1
IC1LM 7805
IC2Processore Arduino
IC3ACS714
LCD1Display LCD LCM1602A-NSW-BBW
P1pulsante da CS
POT110 kΏ trimmer
Q1Quarzo 16 MHz
R150 kΏ 5% 1/4 W
R2, R310 kΏ 5% 1/4 W
JP1Pinhead 1 x 16 femmina
J1Morsettiera 2 Poli passo 5 mm
X1, X2Morsettiera 2 Poli passo 2,5mm
Ourpcb

Alcuni dettagli della scheda Voltmetro/amperometro

Voltmetro amperometro Arduino

Vista della scheda montata

Dettaglio della zona con il sensore ACS714

Voltmetro amperometro Arduino

Pulsante di reset e morsettiera di collegamento cavo per lettura corrente

Zona quarzo e connettore display LCD

Trimmer regolazione contrasto display

Realizzazione pratica del circuito con il metodo “tradizionale”

Per la costruzione delle scheda voltmetro/amperometro per Arduino si procederà iniziando dalla realizzazione del circuito stampato il cui lato rame è riportato sotto.
Per maggiori informazioni vedere l’articolo Come realizzare un circuito stampato

Ssi utilizzerà una basetta in vetronite (mono faccia) delle opportune dimensioni, il metodo potrà essere quello della fotoincisione o del trasferimento termico utilizzando i cosiddetti fogli blu (PRESS-N-PELL). Seguono alcune foto del processo di realizzazione

Alcune delle fasi di realizzazione del circuito stampato

Basetta ramata e foglio Prees n Peel con circuito stampato

Voltmetro amperometro Arduino

Distacco del foglio dalla basetta ramata

Correzione delle imperfezioni con un pennarello indelebile a punta fine

Immersione del circuito in una soluzione di cloruro ferrico

Processo di erosione completato

Voltmetro amperometro Arduino

Circuito completato con foratura e il rifilo

Una volta inciso il rame si passerà quindi alla foratura delle stesse, utilizzando principalmente una punta da 0,8 mm, mentre si utilizzeranno una da 1 mm per le pin-strip.
In seguito si potrà passare al posizionamento e alla saldatura dei componenti seguendo lo schema riportato sotto

Nelle foto sotto riportate sono visibili alcune delle fasi di montaggio.

Alcune delle fasi di montaggio della scheda

Dettaglio della saldatura del sensore di tipo SMD

Voltmetro amperometro Arduino

Saldatura dei ponticelli, dell’integrato regolatore, delle resistenze e dello zoccolo per l’integrato

Voltmetro amperometro Arduino

installazione del quarzo, dei condensatori, del pulsante di reset

Voltmetro amperometro Arduino

Inserimento del condensatore elettrolitico, delle morsettiere, del trimmer per il display LCD, della pinstrip per il display

Voltmetro amperometro Arduino

Posizionamento dell’integrato dopo aver effettuato la sua programmazione

Voltmetro amperometro Arduino

Posizionamento del display LCD, previa saldatura di un pin strip maschio

Realizzazione del PCB tramite JLCPCB

Il PCB potrà essere realizzato tramite il servizio offerto dalla JLCPCB, azienda che agisce in sinergia con EasyEDA.

Il PCB è di tipo a doppia faccia con fori metallizzati.

Programma

Per il collaudo e il successivo utilizzo occorre prima di tutto caricare nella memoria del processore il programma

Programma

Il listato è ben documentato e come si può vedere occorre inserire i valori reali delle due resistenze che formano il partitore R1 e R2 in modo che il programma effettua la giusta conversione.
nel caso si rilevasse ancora una differenza tra i valori riportati sul display è possibile modificare il valore della variabile corr.
Per il collaudo basterà collegare, facendo riferimento alla figura riportata a lato, collegare una fonte di alimentazione compresa tra 9e 15 V alla morsettiera X1.
Quindi alla morsettiera X2 di collegherà la tensione da misurare, mentre il cavo di alimentazione sarà connesso alla morsettiera J1.

Voltmetro amperometro Arduino