Taula de continguts:

Mesures del sensor de corrent ACS724 amb Arduino: 4 passos
Mesures del sensor de corrent ACS724 amb Arduino: 4 passos

Vídeo: Mesures del sensor de corrent ACS724 amb Arduino: 4 passos

Vídeo: Mesures del sensor de corrent ACS724 amb Arduino: 4 passos
Vídeo: Webinar: Simple Approach to Isolated High-Current Measurement 2024, De novembre
Anonim
Image
Image
Imatge
Imatge

En aquest instructiu experimentarem amb la connexió d’un sensor de corrent ACS724 a un Arduino per fer les mesures de corrent. En aquest cas, el sensor actual és una varietat de +/- 5A que genera 400 mv / A.

L'Arduino Uno té un ADC de 10 bits, per tant, les bones preguntes són: Quina precisió té la lectura actual que podem obtenir i quina estabilitat té?

Començarem només connectant el sensor a un voltímetre i un mesurador de corrent i farem lectures analògiques per veure el funcionament del sensor i, a continuació, el connectarem a un pin Arduino ADC i veurem el seu funcionament.

Subministraments

1 - Taula de pa 2 - Fonts d'alimentació de taula 2 - DVM's1 - Sensor ACS724 +/- 5A1 - Arduino Uno1 - LM78053 - 10 ohm, 10W resistors1 - 1nF cap1 - 10nF cap1 - 0.1uF capJumpers

Pas 1:

El circuit de prova és el que es mostra al diagrama. La connexió des del pin Arduino 5V al carril LM7805 + 5V és opcional. És possible que obtingueu millors resultats amb aquest pont, però tingueu cura del cablejat si el feu servir, ja que l’Arduino està connectat a l’ordinador i la segona font d’alimentació superarà els 5 V quan el torneu a pujar per augmentar el corrent a través del sensor.

Si connecteu les fonts d'alimentació juntes, la font d'alimentació del sensor i la font d'Arduino tindran el mateix punt de referència de + 5V i esperareu resultats més consistents.

Ho vaig fer sense aquesta connexió i vaig veure una lectura de corrent zero superior al sensor de corrent (2.530 V en lloc dels 2.500 V esperats) i una lectura ADC inferior a la prevista al punt de corrent zero. Rebia una lectura digital d’ADC d’aproximadament 507 a 508 sense corrent a través del sensor, per 2.500 V hauríeu de veure una lectura d’ADC d’aproximadament 512. Ho vaig corregir al programari.

Pas 2: proveu les mesures

Mesures de prova
Mesures de prova

Les mesures analògiques amb voltímetre i amperímetre van indicar que el sensor és molt precís. A corrents de prova de 0,5A, 1,0A i 1,5A, era exactament correcte al milivolt.

Les mesures ADC amb l'Arduino no van ser tan precises. Aquestes mesures estaven limitades per la resolució de 10 bits de l'Arduino ADC i els problemes de soroll (vegeu el vídeo). A causa del soroll, la lectura de l'ADC estava saltant al pitjor dels casos fins a 10 o més passos sense corrent a través del sensor. Tenint en compte que cada pas representa uns 5 mv, es tracta d’una fluctuació de 50 mv i amb un sensor de 400mv / amp representa una fluctuació de 50mv / 400mv / amp = 125ma. L’única manera de poder obtenir una lectura significativa era fer deu lectures seguides i després fer-ne una mitjana.

Amb un ADC de 10 bits o 1024 nivells possibles i 5 Vcc, podem resoldre uns 5/1023 ~ 5mv per pas. El sensor surt de 400mv / Amp. Per tant, en el millor dels casos tenim una resolució de 5mv / 400mv / amp ~ 12,5ma.

Així doncs, la combinació de fluctuacions a causa del soroll i la baixa resolució fan que no puguem utilitzar aquest mètode per mesurar amb precisió i coherència el corrent, especialment els corrents petits. Podem utilitzar aquest mètode per fer-nos una idea del nivell actual a corrents superiors, però no és tan exacte.

Pas 3: Conclusions

Conclusions
Conclusions

Conclusions:

-Les lectures analògiques ACS724 són molt precises.

-ACS724 hauria de funcionar molt bé amb circuits analògics. per exemple, controlar el corrent d’alimentació amb un bucle de retroalimentació analògic.

-Hi ha problemes de soroll i resolució mitjançant l'ACS724 amb Arduino ADC de 10 bits.

- Prou bo per controlar únicament el corrent mitjà de circuits de corrent superior, però no prou bé per controlar el corrent constant.

-Potser necessitar utilitzar un xip ADC extern de 12 bits o més per obtenir millors resultats.

Pas 4: Codi Arduino

Aquí teniu el codi que he utilitzat per mesurar simplement el valor ADC del pin Arduino A0 i el codi per convertir la tensió del sensor a corrent i fer la mitjana de 10 lectures. El codi s'explica per si mateix i s'ha comentat per a la conversió i el codi de mitjana.

Recomanat: