Tabla de contenido:

Medidas del sensor de corriente ACS724 con Arduino: 4 pasos
Medidas del sensor de corriente ACS724 con Arduino: 4 pasos

Video: Medidas del sensor de corriente ACS724 con Arduino: 4 pasos

Video: Medidas del sensor de corriente ACS724 con Arduino: 4 pasos
Video: ACS712 : Sensor de corriente de efecto Hall. Video 1 de 3. 2024, Mes de julio
Anonim
Image
Image
Imagen
Imagen

En este instructable, experimentaremos conectando un sensor de corriente ACS724 a un Arduino para realizar mediciones de corriente. En este caso, el sensor de corriente es una variedad de +/- 5A que produce 400 mv / A.

El Arduino Uno tiene un ADC de 10 bits, así que buenas preguntas son: ¿Qué tan precisa es la lectura actual que podemos obtener y qué tan estable es?

Comenzaremos conectando el sensor a un voltímetro y un medidor de corriente y haremos lecturas analógicas para ver qué tan bien funciona el sensor y luego lo conectaremos a un pin Arduino ADC y veremos qué tan bien funciona.

Suministros

1 - Tablero de pruebas2 - Fuentes de alimentación de sobremesa2 - DVM's1 - Sensor ACS724 +/- 5A1 - Arduino Uno1 - LM78053 - 10 ohmios, resistencias de 10W1 - 1nF cap1 - 10nF cap1 - 0.1uF cap

Paso 1:

El circuito de prueba es como se muestra en el diagrama. La conexión desde el pin Arduino 5V al riel LM7805 + 5V es opcional. Puede obtener mejores resultados con este puente en su lugar, pero tenga cuidado con su cableado si lo usa porque el Arduino está conectado a su computadora y la segunda fuente de alimentación excederá los 5V cuando lo encienda para aumentar la corriente a través del sensor.

Si conecta las fuentes de alimentación juntas, la fuente de alimentación del sensor y la fuente de alimentación Arduino tendrán exactamente el mismo punto de referencia de + 5V y esperaría resultados más consistentes.

Hice esto sin esta conexión y vi una lectura de corriente cero más alta en el sensor de corriente (2.530 V en lugar de los 2.500 V esperados) y una lectura de ADC más baja de lo esperado en el punto de corriente cero. Estaba obteniendo una lectura de ADC digital de aproximadamente 507 a 508 sin corriente a través del sensor, para 2.500V debería ver una lectura de ADC de aproximadamente 512. Corregí esto en el software.

Paso 2: Medidas de prueba

Medidas de prueba
Medidas de prueba

Las mediciones analógicas con un voltímetro y un amperímetro indicaron que el sensor es muy preciso. A corrientes de prueba de 0.5A, 1.0A y 1.5A fue exactamente correcto al milivoltio.

Las mediciones de ADC con Arduino no fueron tan precisas. Estas medidas estaban limitadas por la resolución de 10 bits del Arduino ADC y los problemas de ruido (ver el video). Debido al ruido, la lectura del ADC saltaba en el peor de los casos hasta 10 o más pasos sin corriente a través del sensor. Teniendo en cuenta que cada paso representa aproximadamente 5 mv, esto es una fluctuación de 50 mv y con un sensor de 400 mv / amperio representa una fluctuación de 50 mv / 400 mv / amperio = 125 ma. La única forma en que podía obtener una lectura significativa era tomar 10 lecturas seguidas y luego promediarlas.

Con un ADC de 10 bits o 1024 niveles posibles y 5V Vcc podemos resolver alrededor de 5/1023 ~ 5mv por paso. El sensor emite 400mv / Amp. Entonces, en el mejor de los casos, tenemos una resolución de 5mv / 400mv / amp ~ 12.5ma.

Por lo tanto, la combinación de fluctuaciones debidas al ruido y la baja resolución significa que no podemos usar este método para medir la corriente de manera precisa y consistente, especialmente las corrientes pequeñas. Podemos usar este método para darnos una idea del nivel actual a corrientes más altas, pero no es tan preciso.

Paso 3: Conclusiones

Conclusiones
Conclusiones

Conclusiones:

-Las lecturas analógicas del ACS724 son muy precisas.

-ACS724 debería funcionar muy bien con circuitos analógicos. por ejemplo, controlando la corriente de la fuente de alimentación con un bucle de retroalimentación analógica.

-Hay problemas con el ruido y la resolución al usar el ACS724 con Arduino 10 bit ADC.

-Lo suficientemente bueno para monitorear la corriente promedio para circuitos de corriente más alta, pero no lo suficientemente bueno para un control de corriente constante.

-Puede que necesite usar un chip ADC externo de 12 bits o más para obtener mejores resultados.

Paso 4: Código Arduino

Aquí está el código que usé para medir simplemente el valor ADC del pin Arduino A0 y el código para convertir el voltaje del sensor en corriente y tomar el promedio de 10 lecturas. El código es bastante autoexplicativo y comentado para el código de conversión y promediado.

Recomendado: