He diseñado un controlador de carga solar usando arduino y MOSFET IRF9530 . El objetivo principal era cobrar 12V 7aH battery
y luego controlar la carga. Aquí la carga es un intermitente solar que necesita 12v y alrededor de 1Amp. El siguiente es el esquema del circuito. El circuito funciona bien.
En el circuito anterior, la resistencia R1 R2 se utiliza como divisor de tensión para detectar la tensión solar mediante la lectura de los valores analógicos de A0
pin. Si la tensión solar es buena, el pin digital D1
se enciende, por lo que el MOSFET conduce los voltios solares a la batería y ésta comienza a cargarse. Al leer los valores analógicos en A1
podemos leer el voltaje de la batería y si el voltaje de la batería es bueno entonces encender el pin digital D2
iniciará la carga.
Más tarde pensé en modificar el circuito de tal manera que si la luz del sol es buena y estamos recibiendo suficiente voltaje del panel, entonces encienda la carga usando el voltaje solar y siga cargando la batería. Si no hay luz solar y la batería tiene suficiente voltaje, entonces la carga estará usando el voltaje de la batería. Así que hice los siguientes cambios:
Los cambios que he hecho es que he añadido otro par de transistor y mosfet y los he conectado al pin3 digital. Así que si hay un buen voltaje solar y quiero encender la carga utilizando el voltaje solar, entonces voy a hacer el D2 bajo y D3 alto por lo que los voltios solares se dará a la carga a través de 7812
porque no quiero dar voltajes más altos como 19-20v a la carga. Si no hay luz solar, entonces D3 será baja y D2 será alta para dar el voltaje de la batería a la carga. He utilizado el diodo D2
D3
para bloquear la tensión.
Para controlar la conmutación de la carga entre el voltaje solar y el de la batería, he escrito el siguiente código en arduino:
if(solVolt > 14 )
{
//Its a bright day & we are receiving full sunlight
//so turn on the load using solar voltage
digitalWrite(solarLoadPin,HIGH);
digitalWrite(batteryLoadPin,LOW);
digitalWrite(solarLed, HIGH);
digitalWrite(batteryLed, LOW);
}
else if(solVolt < 12 && batVolt > 12.4)
{
//Its a dark night and we are not receiving sunlight
//so turn on the load using battery voltage
digitalWrite(solarLoadPin,LOW);
digitalWrite(batteryLoadPin,HIGH);
digitalWrite(solarLed, LOW);
digitalWrite(batteryLed, HIGH);
}
else if(batVolt <= 10.8)
{
digitalWrite(batteryLoadPin,LOW);
digitalWrite(batteryLed, LOW);
}
Ahora tengo algunas preguntas sobre este diseño:
-
¿Está bien este circuito? He probado el circuito enchufando primero sólo la batería y la carga. Entonces la carga estaba encendida y funcionaba bien. El Led de la batería estaba encendido mostrando que la carga está usando la batería. Pero en cuanto enchufé el panel, no cambió a la tensión solar. Desenchufé todo y luego enchufé el panel y la batería para que la carga estuviera encendida y usando el voltaje solar pero el voltaje era muy bajo mientras que el voltaje del panel solar era de 18-19v.
-
¿La batería no se carga? Desenchufé la carga y sólo dejé que la batería se cargara. Los voltios de la batería en ese momento era de 12,44, pero en lugar de cargar, el voltaje se reduce a 12,40
-
¿Tensión solar vs. corriente? Había muy poca luz solar y el panel seguía mostrando 18v. Creo que debería mostrar un voltaje bajo, alrededor de 12v cuando no hay una luz solar brillante. Pero el voltaje era alto. Eso significa que su corriente de salida será baja en esta situación, ya que Potencia = voltios x amperios. Así que si los voltios son altos, los amperios serán bajos.
Básicamente necesito diseñar el circuito que cambia automáticamente entre el voltaje solar y el voltaje de la batería dependiendo de las condiciones del día y la noche.