Sommario:

Registratore di dati per il monitoraggio della corrente CA: 9 passaggi (con immagini)
Registratore di dati per il monitoraggio della corrente CA: 9 passaggi (con immagini)

Video: Registratore di dati per il monitoraggio della corrente CA: 9 passaggi (con immagini)

Video: Registratore di dati per il monitoraggio della corrente CA: 9 passaggi (con immagini)
Video: Quando provi a fare un complimento a una ragazza... 2024, Luglio
Anonim
Registratore di dati di monitoraggio della corrente CA
Registratore di dati di monitoraggio della corrente CA

Ciao a tutti, benvenuti nel mio primo istruttore! Di giorno sono un collaudatore per un'azienda che fornisce apparecchiature per il riscaldamento industriale, di notte sono un appassionato di tecnologia e fai da te. Parte del mio lavoro consiste nel testare le prestazioni dei riscaldatori, in questa occasione volevo essere in grado di monitorare l'assorbimento di corrente RMS di 8 dispositivi su 1000 ore e registrare i dati per rappresentare graficamente i risultati in seguito. Ho accesso a un data logger ma era già impegnato in un altro progetto e avevo bisogno di qualcosa a basso costo, quindi ho deciso di mettere insieme questo datalogger di base.

Il progetto utilizza un Arduino Uno per leggere i sensori analogici tramite un convertitore analogico-digitale (ADC) e registra i dati con un timestamp su una scheda SD. C'è molta teoria e calcolo coinvolti nella progettazione dei circuiti, quindi invece di spiegare assolutamente tutto, ti mostrerò solo come realizzarlo. Se sei interessato a vedere il successo COMPLETO, fammelo sapere nei commenti e ti spiegherò ulteriormente.

NOTA:

Ho avuto molte domande sui calcoli True RMS. Questo dispositivo utilizza un raddrizzatore a semionda per catturare il picco dell'onda, che può quindi essere moltiplicato per 0,707 per dare RMS. Di conseguenza darà solo un risultato accurato con carichi lineari (cioè la corrente misurata è un'onda sinusoidale pura). Alimentazioni o carichi non lineari che forniscono forme d'onda triangolari, rettangolari o altre forme d'onda non sinusoidali non forniranno un vero calcolo RMS. Questo dispositivo misura solo la corrente alternata non è progettato per misurare la tensione, di conseguenza non calcola o misura il fattore di potenza. Si prega di consultare le altre mie istruzioni su come creare un misuratore del fattore di potenza che può essere utilizzato per farlo. Molte persone hanno anche affermato che un accoppiamento CA dritto con una linea centrale da 2,5 V è migliore, tuttavia ciò introduce complicazioni in quanto implica una frequenza di campionamento digitale sufficientemente veloce, una media robusta/livellamento dei dati, ecc. e l'incertezza che ciò introduce è molto più alta della misurazione il valore grezzo. Personalmente, preferisco soluzioni hardware e codice più semplice ove possibile, quindi non sono interessato a quel metodo. Per quanto riguarda la precisione, credo che questo sia di gran lunga migliore di quest'ultimo e vedrai più avanti nei miei risultati che c'è un coefficiente di regressione vicino a 1.0 dopo la calibrazione.

Passaggio 1: trasformatori di corrente

Trasformatori di corrente
Trasformatori di corrente
Trasformatori di corrente
Trasformatori di corrente

Questo progetto utilizza il trasformatore di corrente HMCT103C 5A/5MA. Ha un rapporto di 1:1000 spire, il che significa che per ogni 5A di corrente che scorre attraverso il conduttore, 5mA scorreranno attraverso il TA. È necessario collegare un resistore tra i due terminali del TA per consentire la misurazione di una tensione ai suoi capi. In questa occasione ho utilizzato una resistenza da 220 Ohm, quindi utilizzando la legge di Ohm V=IR, l'uscita del TA sarà di 1,1 Volt AC, per ogni 5mA di corrente TA (oppure ogni 5A di corrente misurata). I TA sono stati saldati a una scheda spelata con il resistore e alcuni fili dello strumento per creare conduttori volanti. Ho terminato i cavi con spine jack audio maschio da 3,5 mm.

Ecco la scheda tecnica del trasformatore di corrente

Scheda dati

Passaggio 2: condizionamento del segnale

Condizionamento del segnale
Condizionamento del segnale
Condizionamento del segnale
Condizionamento del segnale

Il segnale dal CT sarà debole quindi deve essere amplificato. Per questo ho saldato insieme un semplice circuito amplificatore utilizzando un amplificatore operazionale dual rail uA741. In questo caso il guadagno viene quindi impostato a 150 utilizzando la formula Rf/Rin (150k/1k). Tuttavia, il segnale di uscita dall'amplificatore è ancora AC, il diodo sull'uscita dell'amplificatore operazionale interrompe il semiciclo negativo dell'AC e passa la tensione positiva a un condensatore da 0,1 uF per uniformare l'onda in un segnale DC increspato. Di seguito le parti che compongono il circuito:

  • V1 - Questo è arbitrario in questo diagramma, rappresenta semplicemente la tensione del segnale che viene immessa nell'ingresso non invertente dell'amplificatore operazionale.
  • R1 - Questo è noto come resistore di retroazione (Rf) ed è impostato su 150 k
  • R2 - Questo è noto come resistore di ingresso (Rin) ed è impostato su 1k
  • 741 - Questo è il circuito integrato uA741
  • VCC - Positivo alimentazione rail +12V
  • VEE - Linea alimentazione negativa -12V
  • D1 - Il diodo di segnale raddrizzatore dell'onda haf 1N4001
  • C3 - Questo condensatore trattiene il segnale DC per un tempo prestabilito

Nella foto 2 potete vedere che è stato assemblato utilizzando Veroboard e filo di rame stagnato. Sono stati praticati 4 fori per i distanziatori PCB in modo che possano essere impilati (poiché ci sono otto canali, devono esserci otto circuiti di amplificazione in tutto.

Passaggio 3: alimentazione

Alimentazione elettrica
Alimentazione elettrica
Alimentazione elettrica
Alimentazione elettrica
Alimentazione elettrica
Alimentazione elettrica

Se non ti va di farlo da zero, puoi acquistare la scheda preassemblata dalla Cina come quella nella foto sopra, ma avrai comunque bisogno del trasformatore 3VA (riduci da 240V a 12V). Quello nella foto mi è costato circa £ 2,50

Per alimentare il progetto ho deciso di realizzare il mio alimentatore 12VDC dual rail. Ciò era conveniente in quanto gli amplificatori operazionali richiedono +12V, 0V, -12V e Arduino Uno può accettare qualsiasi alimentazione fino a 14 VDC. Di seguito le parti che compongono il circuito:

  • V1 - Rappresenta l'alimentazione dalla presa di rete 240V 50Hz
  • T1 - Questo è un piccolo trasformatore da 3VA su cui ho mentito. E' importante che il trasformatore abbia una presa centrale sul secondario che andrà collegato a 0V cioè a massa
  • D1 a D4 - Questo è un raddrizzatore a ponte a onda intera che utilizza diodi 1N4007
  • C1 e C2 - Condensatori elettrolitici 35V 2200uF (deve essere 35V poiché il potenziale tra positivo e negativo raggiungerà 30V)
  • U2 - LM7812, è un regolatore di tensione positivo a 12V
  • U3 - LM7912, è un regolatore di tensione negativo a 12V (attenzione alle differenze di pin tra 78xx e 79xx IC!)
  • C3 e C4 - Condensatori di livellamento 100nF 25V elettrolitici
  • C5 e C6 - Condensatori a dischi ceramici da 10uF

Ho saldato i componenti su stripboard e ho unito i binari verticali con un filo di rame stagnato unipolare nudo. L'immagine 3 sopra mostra il mio alimentatore fai-da-te, mi dispiace ci sono molti ponticelli nella foto!

Passaggio 4: convertitori da analogico a digitale

Convertitori da analogico a digitale
Convertitori da analogico a digitale
Convertitori da analogico a digitale
Convertitori da analogico a digitale

L'Arduino Uno ha già un ADC a 10 bit integrato, tuttavia ci sono solo 6 ingressi analogici. Pertanto ho scelto di utilizzare due breakout ADC con ADS1115 a 16 bit. Ciò consente a 2^15 = 32767 bit di rappresentare i livelli di tensione da 0 a 4,096 V (4,096 V è la tensione operativa del breakout), ciò significa che ogni bit rappresenta 0,000125 V! Inoltre, poiché utilizza il bus I2C, è possibile indirizzare fino a 4 ADC, consentendo di monitorare fino a 16 canali, se lo si desidera.

Ho cercato di illustrare le connessioni usando Fritzing, tuttavia a causa delle limitazioni non ci sono parti personalizzate per illustrare un generatore di segnale. Il filo viola è collegato all'uscita del circuito dell'amplificatore, il filo nero accanto ad esso illustra che tutti i circuiti dell'amplificatore devono condividere una massa comune. Quindi ho usato una breadboard per illustrare come ho realizzato i punti di collegamento. Tuttavia, il mio progetto attuale ha i breakout posizionati nelle intestazioni femminili, saldati a Veroboard e tutti i punti di collegamento sono saldati sul veroboard.

Passaggio 5: microcontrollore

Microcontrollore
Microcontrollore

Come accennato in precedenza, il controller che ho scelto era un Arduino Uno, questa è stata una buona scelta in quanto ha molte funzionalità integrate e integrate che altrimenti avrebbero dovuto essere costruite separatamente. Inoltre è compatibile con molti "scudi" appositamente costruiti. In questa occasione ho richiesto un orologio in tempo reale per la marcatura temporale di tutti i risultati e uno scrittore di schede SD per registrare i risultati in un file.csv o.txt. Fortunatamente, lo shield per la registrazione dei dati Arduino ha entrambi in uno shield che si inserisce a pressione sulla scheda Arduino originale senza ulteriori saldature. Lo scudo è compatibile con le librerie di schede RTClib e SD, quindi non è necessario alcun codice specializzato.

Passaggio 6: assemblaggio

Assemblea
Assemblea
Assemblea
Assemblea
Assemblea
Assemblea

Ho usato PVC rigido a media/bassa densità da 5 mm (a volte noto come pannello di gommapiuma) per avvitare la maggior parte dei miei componenti e tagliarlo a una dimensione conveniente con un coltello artigianale. Tutti i componenti sono stati costruiti in modo modulare per il prototipo in quanto consente la rimozione di singole parti se le cose vanno male, tuttavia non è efficiente o ordinato come un PCB inciso (ulteriore lavoro) questo significa anche molti ponticelli tra i componenti.

Passaggio 7: caricamento del codice

Carica il codice su Arduino o ottieni il codice dal mio repository Github

github.com/smooth-jamie/datalogger.git

Passaggio 8: calibrazione

Calibrazione
Calibrazione
Calibrazione
Calibrazione
Calibrazione
Calibrazione

Teoricamente la corrente misurata sarà il risultato di diverse cose combinate:

Ampere misurati = (((a *0.45)/150)/(1.1/5000))/1000 dove 'a' è la tensione del segnale dall'amplificatore

0,45 è il valore efficace del Vout del circuito dell'amplificatore, 150 è il guadagno dell'amplificatore operazionale (Rf/Rin = 150k / 1k), 1,1 è l'uscita di tensione di fondo scala del CT quando gli ampere misurati sono 5A, 5000 è semplicemente 5A in mA e 1000 è la quantità di spire nel trasformatore. Questo può essere semplificato in:

Ampere misurati = (b * 9,216) / 5406555 dove b è il valore riportato dall'ADC

Questa formula è stata testata utilizzando l'ADC Arduino a 10 bit e una differenza tra i valori del multimetro e i valori generati da Arduino è stata osservata dell'11%, una deviazione inaccettabile. Il mio metodo preferito per la calibrazione è registrare il valore ADC rispetto alla corrente su un multimetro in un foglio di calcolo e tracciare un polinomio di terzo ordine. Da questo la formula cubica può essere utilizzata per ottenere risultati migliori nel calcolo della corrente misurata:

(ax^3) + (bx^2) + (cx^1) + d

I coefficienti a, b, c e d sono calcolati in Excel da una semplice tabella di dati, x è il tuo valore ADC.

Per ottenere i dati ho utilizzato un resistore variabile ceramico da 1k (reostato) e un trasformatore da 12 V per ridurre la tensione CA di rete da 240 V, che mi ha generato una sorgente di corrente variabile da 13 mA a 100 mA. Più punti dati vengono raccolti meglio è, tuttavia suggerirei di raccogliere 10 punti dati per ottenere una tendenza accurata. Il template Excel allegato calcolerà i coefficienti per te, non ti resta che inserirli nel codice arduino

Alla riga 69 del codice vedrai dove inserire i coefficienti

float chn0 = ((7.30315 * pow(10, -13)) * pow(adc0, 3) + (-3.72889 * pow(10, -8) * pow(adc0, 2) + (0,003985811 * adc0) + (0.663064521)));

che è la stessa della formula nel foglio1 del file excel:

y = 7E-13x3 - 4E-08x2 + 0,004x + 0,663

Dove x = adc0 del canale che stai calibrando

Passaggio 9: Fine

Fine
Fine
Fine
Fine
Fine
Fine
Fine
Fine

Mettilo in un allegato di progetto. Ho terminato l'alimentazione con un interruttore a levetta per accendere/spegnere il tutto sull'alimentatore e un connettore IEC "figura 8" per l'ingresso di rete. Avvita tutto e sei pronto per provarlo.

Ulteriori lavori

L'intero progetto è stato preso in giro piuttosto rapidamente, quindi c'è molto spazio per miglioramenti, circuito inciso, componenti migliori. Idealmente l'intera cosa sarebbe incisa o saldata su FR4 piuttosto che su un sacco di ponticelli. Come ho detto prima, ci sono un sacco di cose che non ho menzionato, ma se c'è qualcosa di specifico che vorresti sapere fammelo sapere nei commenti e aggiornerò l'istruttivo!

Aggiornamento 2016-12-18

Ora ho aggiunto un LCD 16x2 utilizzando lo "zaino" I2C per monitorare i primi quattro canali, ne aggiungerò un altro per monitorare gli ultimi quattro quando arriverà per posta.

Titoli di coda

Questo progetto è stato reso possibile da tutti gli autori delle Librerie utilizzate nel mio sketch Arduino tra cui la libreria DS3231, la libreria Adafruit ADS1015 e la libreria SD Arduino

Consigliato: