Sommario:

Misurazioni del sensore di corrente ACS724 con Arduino: 4 passaggi
Misurazioni del sensore di corrente ACS724 con Arduino: 4 passaggi

Video: Misurazioni del sensore di corrente ACS724 con Arduino: 4 passaggi

Video: Misurazioni del sensore di corrente ACS724 con Arduino: 4 passaggi
Video: Webinar: Simple Approach to Isolated High-Current Measurement 2024, Novembre
Anonim
Image
Image
Immagine
Immagine

In questo tutorial sperimenteremo il collegamento di un sensore di corrente ACS724 a un Arduino per effettuare misurazioni di corrente. In questo caso il sensore di corrente è una varietà +/- 5A che emette 400 mv/A.

L'Arduino Uno ha un ADC a 10 bit, quindi le buone domande sono: quanto è accurata la lettura corrente che possiamo ottenere e quanto è stabile?

Inizieremo semplicemente collegando il sensore a un voltmetro e un misuratore di corrente e faremo letture analogiche per vedere come funziona il sensore, quindi lo collegheremo a un pin ADC di Arduino e vedremo come funziona.

Forniture

1 - Breadboard2 - Alimentatori da banco2 - DVM's1 - Sensore ACS724 +/- 5A1 - Arduino Uno1 - LM78053 - Resistenze 10 ohm, 10W1 - 1nF cap1 - 10nF cap1 - 0.1uF capJumpers

Passo 1:

Il circuito di prova è come mostrato nello schema. La connessione dal pin Arduino 5V al rail LM7805 +5V è opzionale. Potresti ottenere risultati migliori con questo ponticello in posizione, ma fai attenzione al cablaggio se lo usi perché l'Arduino è collegato al computer e il secondo alimentatore supererà i 5 V quando lo accendi per aumentare la corrente attraverso il sensore.

Se colleghi gli alimentatori insieme, l'alimentatore del sensore e l'alimentatore Arduino avranno lo stesso identico punto di riferimento +5V e ti aspetteresti risultati più coerenti.

L'ho fatto senza questa connessione e ho visto una lettura di corrente zero più alta sul sensore di corrente (2.530 V invece dei 2.500 V previsti) e una lettura ADC inferiore al previsto al punto di corrente zero. Stavo ottenendo una lettura ADC digitale di circa 507-508 senza corrente attraverso il sensore, per 2.500V dovresti vedere una lettura ADC di circa 512. L'ho corretto nel software.

Passaggio 2: misurazioni di prova

Misurazioni di prova
Misurazioni di prova

Le misurazioni analogiche con un voltmetro e un amperometro hanno indicato che il sensore è molto preciso. A correnti di prova di 0,5 A, 1,0 A e 1,5 A era esattamente corretto al millivolt.

Le misurazioni ADC con Arduino non erano altrettanto accurate. Queste misurazioni sono state limitate dalla risoluzione a 10 bit dell'ADC Arduino e dai problemi di rumore (guarda il video). A causa del rumore, la lettura dell'ADC saltava nel caso peggiore fino a 10 o più passaggi senza corrente attraverso il sensore. Considerando che ogni passo rappresenta circa 5 mv, questa è una fluttuazione di circa 50 mv e con un sensore da 400 mv/amp rappresenta una fluttuazione di 50 mv/400 mv/amp = 125 ma! L'unico modo per ottenere una lettura significativa era prendere 10 letture di fila e poi calcolarne la media.

Con un ADC a 10 bit o 1024 livelli possibili e 5V Vcc possiamo risolvere circa 5/1023 ~ 5mv per passo. L'uscita del sensore emette 400 mv/Amp. Quindi, nella migliore delle ipotesi, abbiamo una risoluzione di 5 mv/400 mv/amp ~ 12,5 ma.

Quindi la combinazione delle fluttuazioni dovute al rumore e alla bassa risoluzione significa che non possiamo usare questo metodo per misurare in modo accurato e coerente la corrente, specialmente le piccole correnti. Possiamo usare questo metodo per darci un'idea del livello di corrente a correnti più elevate, ma non è così preciso.

Fase 3: Conclusioni

Conclusioni
Conclusioni

Conclusioni:

-Le letture analogiche ACS724 sono molto accurate.

-ACS724 dovrebbe funzionare molto bene con i circuiti analogici. ad es. controllo della corrente di alimentazione con un circuito di retroazione analogico.

-Ci sono problemi di rumore e risoluzione usando l'ACS724 con Arduino 10 bit ADC.

-Abbastanza buono per monitorare solo la corrente media per circuiti a corrente più elevata ma non abbastanza buono per il controllo della corrente costante.

-Potrebbe essere necessario utilizzare un chip ADC esterno a 12 bit o più per ottenere risultati migliori.

Passaggio 4: codice Arduino

Ecco il codice che ho usato per misurare semplicemente il valore ADC del pin Arduino A0 e il codice per convertire la tensione del sensore in corrente e prendere la media di 10 letture. Il codice è abbastanza autoesplicativo e commentato per il codice di conversione e media.

Consigliato: