Blog de desarrollo y mantenimiento de electrónica. Proyectos electrónicos basados en PIC y Arduino, con gran contenido informático y comunicaciones, ya sea por serial comm, bluetooth y wifi.
El Grupo de Investigación de Ingeniería Aplicada de la Universidad de Murcia nos pidió ayuda para recuperar 10 baterías del robot AIBO de Sony.
Estas baterías están construidas con dos LiPo en serie, por lo que 3.7 v + 3.7 v proporciona 7.4 v de tensión nominal.
Tenían el problema de que al estar muy descargadas (por debajo de 2.0 voltios por celda), el cargador detectaba un fallo en las baterías por lo que no las cargaba.
Para solucionarlo, se han abierto las baterías, se han separado las celdas de la electrónica del BMS (Baterry Monitory System) y se ha iniciado una carga inicial directa desde una fuente de alimentación controlando la corriente de carga. Cuando se alcanza una tensión de unos 6.0 voltios, se vuelve a conectar el BMS, se cierra la envolvente y se coloca en el cargador que proporciona el fabricante.
El resultado ha sido la recuperación de 8 baterías de 9 disponibles.
El proyecto trata de dos placas en serie las cuales irán siguiendo el transcurso de sol durante el día. Al mismo tiempo ira cargando una batería la cual nos dará alimentación mediante dos reguladores de tensión a nuestro Arduino y a un conector USB mediante el cual podremos cargar nuestro móvil. Mediante arduino controlaremos la carga y descarga de la batería.
Planificación del Proyecto
Diagrama de Estados
Componentes
Placa de Control
1 - Atmega 328p
1 - Cristal 16 Mhz
2 - Condensadores 22 pF SMD
4 - Condensadores Electrolíticos 220 uF 35v
2 - Condensadores 100 nF SMD
2 - Condensadores 100 nF Cerámico
1 - Resistencia 1M SMD
3 - Resistencias 330 SMD
2 - Resistencias 330
6 - Resistencias 4k7
1 - Resistencias 4k7 SMD
4 - Resistencias 1k
2 - Resistencias 1k SMD
2 - Resistencias variables 10k
2 - Bobinas 330 mH
1 - Pulsador
4 - Led's Verdes
1 - Led Rojo
3 - Diodos Schottky 5819
1 - Diodo 1N4007
2 - Transistores PN2222A
1 - HEF4051BP
2 - 4N35
2 - LM2596 ADJ
1 - Relé 5VDC
1 - USB A Hembra
2 - Fichas de conexión
SAA1064
1 - SAA1064 SMD
1 - Condensador 2n7 SMD
1 - Condensador 100 nF
2 - Resistencias 10k SMD
2 - Transistores PN2222A
4 - Display 7 segmentos Ánodo Común
Sensores y Actuadores
1 - Sensor de Temperatura y Humedad DHT11
1 - Bluetooth HC-06
4 - LDR's
2 - Servo Motores
2 - Placas Solares 6V 166 mA 1W
1 - Batería 6V 3500 mAH ni-mh
Aquí tenéis un enlace con la información de este tipo de baterías de NI-MH y otros tipos de baterías:
La utilización de un multiplexor se debe a que por falta de patillas analógicas tuve que recurrir a este selector el cual nos permite con una sola patilla analógica de arduino meterle hasta 8 entradas. También necesitaremos 3 entradas digitales para los bits de selección.
Aquí dejo la Web de donde he sacado la información y las librerías:
Como se puede observar la gráfica de la placa de abajo cae el voltaje y la intensidad debido a que uno de los elementos de la placa solar vino defectuoso en el envió que por suerte no ha afectado mucho al proyecto.
Aquí podemos ver las distintas cargas utilizadas para la realización de la gráfica.
SAA1064
La idea de inicial de la utilización de este integrado era poder mostrar la tensión de la batería en cada momento, pero por un posible error de diseño no funciona una vez montado en PCB pero este diseño está probado en Protoboard y funciona bastante bien aquí dejo los videos de las pruebas.
Aquí dejo la Web de donde he sacado la información y las librerías:
La primera prueba se trata de un bucle en el que se comprueba que los Servos hacen perfectamente los 180º.
En la siguiente utilizaremos dos potenciómetros y regularemos los grados a los que van a trabajar nuestros Servos.
Ahora con las 4 LDR's montadas en protoboard veremos si hace bien los movimientos.
Y una vez comprobado que funcionan bien las LDR's las incorporamos a la palca solar.
Processing
Vamos a utilizar un pequeño programita para comunicar mediante Bluetooth el Arduino con el PC desde el cual accionaremos o no el relé para forzar una carga o descarga de la batería.
Programa en Arduino
Registro de Datos
Mediante un monitor serial en este caso RealTerm iremos leyendo del puerto serie en este caso comunicado por Bluetooth, el cual nos muestra la tensión y temperatura de la batería y si se encuentra en carga o descarga. Cuando queramos podremos guardar los datos recogidos en un fichero .txt