Paso 7: Integración de Arduino (Sensor de corriente)
Aunque el controlador de carga muestra la corriente que es la salida a la batería, queremos ser capaces de hacer un seguimiento y mostrar esta cantidad al usuario para ambos propósitos de diagnóstico, así como en el tema de la estadística de otros ejercicios. Elegimos medir esta cantidad utilizando el efecto Hall en el paso anterior. Ejecutando la corriente desde el controlador de carga a través de un especial sensor actual de la sonda de Hall que produce un voltaje proporcional al campo magnético producido por el funcionamiento actual a través de él, podemos medir indirectamente la corriente estamos proporcionando la batería. Por desgracia no hay ninguna tabla de referencia fácil para convertir la salida de voltaje con la corriente que crean. Sin embargo, la relación entre la tensión de salida por el pasillo de sonda y la corriente pueden deducirse fácilmente mediante el uso de una fuente de energía para ejecutar las corrientes conocidas a través de la sonda y medición de la tensión producida. Trazar estos proporcionará un valor de punto cero y la correlación entre voltaje y corriente que busca. Dependiendo de qué dirección los flujos actuales, la sonda de hall le dará una salida diferente. Sin embargo, el valor absoluto de la pendiente debe ser el mismo.
Esta corriente se puede convertir en otras estadísticas como la alimentación a la batería y la potencia acumulada total producido. Planeamos en comparar la potencia suministrada a la batería con la potencia utilizada por diversos dispositivos de carga para determinar si el usuario necesita proporcionar energía extra a la batería antes de poder cargar su dispositivo si el dispositivo tira más energía que la pueden proporcionar.
Código de ejemplo:
el código completo se puede encontrar al final de este Instructable
el código en negrita es lo que añadimos en el código de arriba
Sala int = A2; para la detección de la corriente
flotador de Wh = 0; para la grabación de lo vatios-hora generados desde Arduino ha sido en
void setup() {}
pinMode (hall, entrada);
}
void loop() {}
else if (motorV > 1.0 & & hasBeenOn) {}
getCurrent();
}
}
void getCurrent() {//the actual va en la batería
actual = (float(analogRead(hall))-514.5) / 26.5; ecuación para la corriente de la parcela experimental
WH = Wh + flotador /3600.0*current*13.0 (espera); cálculo del vatio-hora
asumir la salida de regulador de carga de 13V en batería
}