Sensor avanzado para apertura de puerta


En el post de hoy vamos a ver un nuevo sistema de monitorización que se alimenta mediante una simple batería. La versión anterior se basó en una radio XBee y ha estado en servicio durante casi 3 años y medio. El tiempo de duración de la batería real ha sido de alrededor de 3 meses para una pila de botón CR2032, que no está mal del todo, pero aún así como vamos a ver es mejorable.

En el nuevo diseño ,aparte de usar un modulo de radio de 868 MHz RFM69 en lugar del XBee Monteino y, se ha reducido la lista de componentes moviendo la lógica del hardware a lógica de software,lo cual  significa utilizar las capacidades de ahorro energético en modo dormir tanto del ATMega328 y la RFM69 y la codificación de una manera inteligente para reducir el tiempo despertar.

Hardware

monteino.PNG

Moteino es una placa  Arduino inalámbrica de bajo coste basado en el microcontrolador Atmel ATmega328P  .

Para una guía detallada de la placa , consulte esta página dedicada . Aquí están algunas características y aspectos más destacados de Moteino:

  • Arduino bajo costo totalmente compatible con el IDE de Arduino
  • La versión regular incluye un RFM69W / transceptor a bordo HW y la antena de alambre monopolo de 1/4 de longitud de onda por separado
  • Bajo consumo de energía, energía de la batería de usar
  • 3.3V a bordo regulador (MCP1703) proporciona hasta 250 mA, entrada de hasta 16V (3.5-9V recomendado), muy baja corriente de reposo permite que este regulador para hacer funcionar su Moteino con la batería durante un tiempo muy largo
  • Muy pequeño tamaño (1,3 pulgadas x0.9)
  • diseño de tablero de cabecera de usar le permite adjuntar hembra / macho pines del conector en la parte superior o inferior y hacer escudos para ello o sólo lo utilizan en el tablero para prototipos
  • Cabecera de programación FTDI, ofrecemos este consejo adaptador FTDI para la programación de todos los Moteinos
  • DualOptiboot gestor de arranque para la programación rápida y no está en puesta demora. Elija Arduino Uno / Moteino en Herramientas> Juntas de Arduino IDE.
  • LED bordo de pin digital 9 (D9 / PB1) para depurar o indicación visual
  • acabado ENIG (RoHS Sin plomo)
  • Orgullosamente hecho y probado en Michigan EE.UU.-con componentes genuinos!

 

Para hacer un enlace inalámbrico, necesitará al menos 2 Moteinos. Alternativamente, esta es compatible con otros Arduinos que utilizan el transceptor RFM69.

Como ya se ha dicho, el hardware es mucho más simple en esta segunda versión del monitor de la puerta, se puede comprobar aquí ambos lados «generaciones» una al lado de la otra:

Monitor de puerta con XBee y Monteino

Esta segunda generación es básicamente un Monteino con un RFM69W a bordo, un divisor de tensión para controlar la batería, un interruptor de láminas( es decir un rele reed)  con una resistencia de  pull-up(370k) y un terminal de tornillo para conectar una batería.

Las razones para cambiar a una  aruitectura basada en la placa Monteino son:

  • Una mejor personalización. XBees son programables , pero en realidad, ¿quién hace eso?Así que aquí tiene una buena placa Arduino de edad con suficiente capacidad de procesamiento para utilizar prácticamente cualquier sensor que hay.
  • Mayor duración de la batería. Usted tiene más opciones de código, como poner la radio, el chip flash y el propio microcontrolador para ponerlo en modo dormir. Además también admite  una solución de  batería más robusta con 3  baterías AAA con 1000 mAh.
  • Más fácil de usar  gracias al software X-CTU .

Monteno monitor de puerta de esquema con Fritzing

Hay algunas cosas a tener en cuenta en cuanto al hardware. En primer lugar el monitor de la batería se ha diseñado después de John k2ox mensaje en el foro LowPowerLab. El divisor de tensión consiste en una resistencia de  470k y otra de 1 M. La resistencia de pull up no está ligado a GND, pero si al pin digital 12. Cuando este pin está en modo de alta impedancia de los circuitos está desactivado y no se pierde energía. Para medir el voltaje primero tiene que ajustarse para que emita y luego baja, realice una analogRead en A1 y poner de nuevo a D12 ENTRADA.

Divisor de voltaje

En segundo lugar la resistencia de pull-up en el interruptor de láminas fue una adición tardía a comprobar el tiempo hubo una caída en el consumo de energía en comparación con el pull-up interna.

Además, esto podría no parecer importante, pero le puede ahorrar algo de dinero y una gran cantidad de dolor de cabeza. Esos interruptores de láminas son realmente frágiles( el momento crítico es cuando se tiene que doblar sus patas con  un pequeño alicate de  puntas : debe  mantener la pata justo antes del punto de flexión, por lo que la cápsula está protegida en un lado del alicate y doble suavemente el otro extremo).

Doblando una caña piernas del interruptor

Y, por último, comprobar cuál es la mejor posición para el interruptor de láminas y el imán. Para imanes redondos neodinium el interruptor debe ser perpendicular al plano del imán(compruebe la imagen de cabecera en este post) y éste:

interruptor de láminas

firmware

El código es bastante simple, se basa en Felix Rusu y Thomas Studwell RFM69_ATC yRocketScream baja potencia bibliotecas. El interruptor de láminas está ligado a un pin de interrupción que despierta el Monteino cada vez que cambia su estado. A continuación, el código debe  leer  la señal y comprueba si el valor ha cambiado. Se empezo con un tiempo de rebote 25ms y más tarde he comprobado con un  DSO Nano cone 5ms es más que suficiente. Señal y mensajería parece mucho más fiable que con el XBee, donde hay mas rebotes y señales fantasma (una puerta abierta y cerrada gatillo dos mensajes y segundos después, dos mensajes más,etc).

Este es el código de bucle responsable del sueño y despertar del microcontrolador:

void loop() {
    // We got here for three possible reasons:
    // - it's the first time (so we report status and battery)
    // - after 4*15 seconds (we report status and maybe battery)
    // - after an event (same)
    send();
    // Sleep loop
    // 15 times 4 seconds equals 1 minute,
    // but in real life messages are received every 77 seconds
    // with this set up, so I'm using 13 here instead...
    for (byte i = 0; i < 13; i++) {
        // Sleep for 8 seconds (the maximum the WDT accepts)
        LowPower.powerDown(SLEEP_4S, ADC_OFF, BOD_OFF);
        // At this point either 4 seconds have passed or
        // an interrupt has been triggered. If the later
        // delay execution for a few milliseconds to avoid
        // bouncing signals and break
        if (flag) {
            flag = false;
            delay(DEBOUNCE_INTERVAL);
            break;
        }
        // If the former, check status and quit if it has changed
        if (status != digitalRead(REED_PIN)) break;
    }
}

La variable de estado mantiene el último estado enviado y reconocida por la puerta de entrada . Así que si nos falta un ACK el código intentará enviar el mismo mensaje de nuevo en cuatro segundos . Puede comprobar el código completo en la puerta de el repositorio de monitor en la Bitbucket . Se esta usando una biblioteca envoltorio ( RFM69Manager ) para gestionar la configuración y formato de los mensajes de radio . Los mensajes están en el formato :

key:value:packetID

Al igual que en » BAT : 4302 : 34 » . El ID de paquete es opcional pero el RFM69GW lo utiliza para comprobar si hay duplicados o paquetes que faltan. Se puede desactivar cambiando el valor SEND_PACKET_ID en RFM69Manager.h a 0 .

Alimentación

La alimentación  es clave en este proyecto desde el sensor será operado de la batería . En la primera generación , con el XBee , podría funcionar por cerca de 3 meses con una sola pila de botón CR2032 ~ 300mAh ,por eso para esta segunda generaciones se buscaba tanto más autonomía y fiabilidad . La fiabilidad es a menudo un intercambio de energía con el consumo : más controles , más mensajes, más tiempo despierto .
Fuente aqui

¿Se puede reparar una batería agotada?


Cuando una batería esta mucho tiempo descargada , o muy vieja , etc… se dice que se ha «sulfatado» porque básicamente , se forman  sales de plomo y azufre (sulfato-de-plomo) que se adhiere a la placa esponjosa del negativo  bloqueando las reacciones químicas. Normalmente llegado a esta batería se da por perdida para siempre y se reemplaza por otra nueva….

Con un poco de astucia ( y sobre todo que ahora que el plomo vale tres  veces mas  ) , las viejas  baterías incluso aunque no sean de plomo o gel (NiCD  o iones de Litio)   aun se puede alargar su vida util¿pero cómo?Pues  vamos a ver dos métodos,  siendo el primero útil solo para las baterías de plomo o las gel de Pb y el segundo método  idóneo para todo tipo de baterías  (Pb ,Gel de Pb  ,NiCd, Li+, etc )

El segundo método como vamos  a ver es el mas efectivo y seguro  !incluso  puede ser útil en caso de emergencia para recuperar combinaciones de pilas domesticas alcalinas!

ATENCIÓN: NO NOS HACEMOS RESPONSABLES DESDE ESTE SITIO DE LOS POSIBLES ADVERSOS  Y PELIGROSOS QUE PUEDAN OCURRIR  EN EL TRANSCURSO DE INTENTAR RENOVAR UNA BATERÍA AGOTADA

 SI INTENTA RECUPERAR UNA BATERÍA AGOTADA PROTÉJASE OJOS  ; BRAZOS Y MANOS   EXTREMANDO LA PRECAUCIÓN.

SOLO INTENTAR EN CASO DE EMERGENCIA   Y CUANDO DEMOS POR PERDIDA LA BATERÍA PUES TENGA EN CUENTA QUE EN  TODO CASO PODEMOS RECUPERAR SOLO EN UN TANTO POR CIENTO LA CAPACIDAD TOTAL DE LA BATERIA QUE DEPENDERÁ DEL ESTADO EN QUE SE ENCUENTRE

METODO  1: AÑADIR AGUA DESTILADA  (BATERÍAS DE GEL O PLOMO)

Bueno la cuestión es que las baterías de plomo ácido  modernas  o las de gel  el electrolito está gelificado y absorbido en los aisladores de entre las placas, que en vez de ser rígidos, son una especie de paño sintético, son baterías «libres de mantenimiento».Con el correr del tiempo esta se secan, lo mismo que cuando las baterías del auto se quedaban sin agua. Así que el truco consiste en sacar los taponcitos de goma que hay debajo de la tapa que ya sacamos y reponerle líquido (pueden ser dos y hasta tres tapas, según el fabricante)

Para intentar reparar la batería necesitará:

  •  Jeringa de 3 cm
  •  Voltímetro o multímetro
  •  Cargador de batería o fuente de alimentación
  •  Los cables de cocodrilo «que se utiliza con la fuente de alimentación»
  •  Agua destilada
  • Muy importante por su seguridad : gafas  y guantes químicos

Atención !No toque el agua que puede salir  de la batería pues  es ácido que al ser tan  corrosivo podría generarle quemaduras muy graves

El método  es valido  para intentar reparar  baterías de gel, compuestas por ácido y plomo simplemente agregando agua destilada en sus celdas para reactivar su carga original pero también es funcional para baterías de plomo selladas.  El método   funciona en el 90% de  los casos pero en caso de recuperarla  la batería funcionará entre el 50% ~ 70% de la capacidad  que tenia.

 

PASOS A SEGUIR:

  1. En la batería sellada nos encontraremos con tapa en la parte superior de la batería:simplemente eliminarlo  poco a poco con un destornillador plano hasta el final donde  nos encontraremos con 3 agujeros cubiertos por tapas de goma. Ahora tenemos que eliminar esta capsula también.
  2. Ahora vamos a medir voltios de esta batería. Por ejemplo  puede ser una lectura de 0,76 voltios,lo cual quiere  decir que la batería esté completamente seco desde el interior
  3. Ahora lo que necesitamos en esta etapa es llenar la batería con agua destilada para activar el ácido de nuevo, por lo tenemos que volver a llenarlo con una jeringa poco a poco o hasta que el agua salga de todos los agujeros y medir la tensión:si  se encuentra que aumentó en mVolts, eso es bueno, así que no se  preocupe
  4. Después de llenar la batería con el agua que necesitamos para asegurarnos de que se mezcla con ácido seca dentro de la batería para reactivar de nuevo  ésta
  5. Debería utilizar cualquier  un cargador   adecuado  a la tensión de la batería y conectarlo  a los bornas
  6. Ahora bien, esperar 5 minutos hasta ver que las burbujas salen de los agujeros. Si no hay burbujas o provienen de cualquiera de los 3 agujeros puede  invertir negativo y positivo y esperar 1 ~ 3 min  máximo (ESTO ES MUY PELIGROSO POR LO QUE DEBE ESTAR PROTEGIDO  Y POR  ELLO  NO DEBE DEJARLA SOLA NI SOBREPASAR EL TIEMPO MÁXIMO DE 3 MINUTOS)
  7. Si salen de los agujeros demasiado rápido como hirviendo cortar de inmediato la alimentación y vuelva a conectar negativa y positiva la derecha de nuevo
  8. Cuando el proceso este regularizado ( salen burbujas por todos los agujeros ) ha terminado el proceso así que puede sacar el  agua no consumida de la parte superior de 3 agujeros con una  jeringa y dejar de cargar la batería
  9. No cubra los agujeros hasta que se recupere la  tensión de la batería (debería  comprobarlo  cada  hora)
  10. Cuando  se seque  el tejido ya puede  cubrir todas los agujeros   reponiendo todos los tapones sacados  en el punto 1
  11. !Felicidades su batería está funcionando de nuevo !

Si quiere saber mas detalles de este proceso  consulte este instructable

MÉTODO 2  :  USO DE UN PUENTE DE DIODOS  Y UN CONDENSADOR

Existe un método bastante práctico ,económico y bastante mas seguro que el método anterior para intentar reparar  todo tipo de baterías  (Pb ,Gel de Pb  ,NiCd, Li+, etc )

La versatilidad del  método es tal que incluso   puede ser  utilizado en caso de emergencia para recuperar combinaciones de pilas domesticas alcalinas,pero eso si ,solo  «pilas »  alcalinas ,basándose es que realmente este tipo de pilas ,aunque le parezca increíble , en realidad si son recargables.

Para intentar reparar una batería necesitará:

  • Un puente de diodos de potencia de 50A  y 10ooV ,como por ejemplo  el modelo KBPC 5010( puede conseguirlo aqui )
  • Un radiador para el diodo
  • Un condensador  entre 10mF a 50mf  1000V no polarizado (dependerá de la capacidad de la batería a recargar). Puede conseguir uno de 2omf y 400V aqui 
  • 2 bornas de cocodrilo
  • 1 cable AC

El Recuperador y cargador de baterías  se basa  en  que las baterías  dejan de admitir carga por la sulfatación de las placas, limpiando  mediante este sistema  el sulfato entre las placas reviviendo las baterías hasta un 85 % de cuando eran nuevas. En el 90 % de los casos son recuperables por bastante tiempo mas de uso usando este sistema

El circuito como puede ver en  el esquema de mas abajo ,no puede ser mas simple ,  pues  como adelantábamos,   solo se utiliza un puente de diodos de potencia ( es muy conveniente acoplarle de hecho un radiador ) y un condensador  no polarizado  de unos 400V  (normalmente usados en el arranque de  motores de alterna)

supercargador

Como punto muy importante,para seleccionar el condensador  es qeu debe estar dimensionado para que no proporcione mas de 1/1o la intensidad máxima soportada por la batería , es decir la batería debe ser cargada con un 10 % del amperaje total de la misma.

Por ejemplo  si la batería tiene una capacidad de 10 amperios/hora  (10AH) , la carga deberá ser como máximo de 1 amperio, regulándose precisamente este amperaje  con la capacidad del condensador (a mayor capacitancia, mayor amperaje de carga),resultando  el voltaje   de salida que recibirá la batería  variable yendo  acomodándose  a medida que adquiera carga

Es muy importante anotar  que la tensión de alimentación de  este circuito sera de 220 o 110 voltios de alterna por lo que habrá que extremar la precauciones  sobre todo a la hora de manipular el circuito,

Como referencia  tenemos aquí una tabla que relaciona  capacidades de condensadores para obtener la corriente necesaria:

4,5V ( 3 pilas AAA en serie) 1,5mF
 5,5V /4 pilas AA en serie)  1,5mF
 bateria de 12V 1,2AH  2,5mF
 Bateria de 3,7V Iones Litio 2,2AH  2,5mf
 Bateria de gel 12v 2,3AH  3,75mf
 Bateria de gel de 4v  4,5AH  5mf
 Bateria de gel 6v 5AH 5mf
 bateria de gel  12v 4,5AH  5mf
 Bateria de gel 12v  7AH  10mf
 Bateria de gel  12v 12AH  15mf
 Bateria Pb 12v  45AH  50mF
   

Nota: si no se dispone o no conoce la capacidad del condensador necesaria  empiece  por la mas baja  y vaya subiendo el valor de este. Si no dispone de condensador de la capacidad adecuada también puede asociar condensadores en paralelo para obtener la capacidad necesaria( en paralelo se suman las capacidades)

Es muy interesante  destacar que, como básicamente  el método para obtener la corriente adecuada esta basado en la experimentación , es muy interesante  que en la carga usemos un voltímetro  y un amperímetro para vigilar  tanto la tensión de la batería  como la corriente absorbida , variando en función de esto el condensador  siguiendo la regla de no superar 1/10 el valor de la capacidad de la batería.

Y un ultimo apunte:  el tiempo necesario dependerá de  la capacidad de la batería : como sabe la capacidad en amperios x hora y sabe la corriente aplicada  en amperios simplemente    tendrá que  dividir  ambos valores para obtener el tiempo en horas  necesarias para  que este cargado su batería

NOTA: Si la tensión es anormalmente alta o muy baja  es síntoma de que la batería no se puede recuperar…!lo siento!