El módulo existe en varias presentaciones de acuerdo a la corriente máxima que es capaz de soportar y medir a través de sus bornes, siendo la diferencia en el precio muy pequeña entre cada uno y el precio mismo proporcional a tal corriente máxima, así el módulo puede ser de 5, 20 o 30 A, siendo el manejo exactamente igual, excepto por un factor multiplicador. Como ya se dijo, el módulo consta de 2 bornes para la conexión del cable por el fluye la corriente a medir, así como también con 3 pines, dos para alimentación (VCC y GND) y uno para la señal (OUT). Debe mencionarse también que el sentido de la corriente es importante, pues el módulo es capaz de medir corriente en ambos sentidos, danndo en uno una medida positiva y en el otro, negativa.
A continuación presentamos un programa en el cual hacemos uso de un sensor de corriente de 5A para detectar el momento en que se enciende una carga.
Esquema de conexión con Arduino UNO
int LedPin = 13;
int Sensor = A0;
void setup() {
pinMode(LedPin, OUTPUT);
}
float medir(void) // esta funcion toma el promedio de 100 mediciones
{
float corriente = 0;
for (int i = 0; i < 100 ; i++) {
float voltage = (float) analogRead(A0) * 5.0 / 1023.0;
corriente += (float) 1000*(voltage - 2.5) / 0.185;
//para el sensor de 5A es 0.185, para el de 20A es 0.1
//y para el de 30A es 0.066
delay(1);
}
return (corriente / 100);
}
void loop() {
float medicion = medir();
if (medicion > 15) { //en 15 mA para evitar errores por el ruido
digitalWrite(LedPin, HIGH);
delay(3000);
}
else
{
digitalWrite(LedPin, LOW);
}
}
Una vez subido el código, el led interno de la placa Arduino, el del pin 13, se encenderá cada vez que se mida una corriente mayor a 15mA fluyendo hacia la carga.
FIN DEL POST
0 comentarios:
Publicar un comentario