Tengo una aplicación que necesita una función de botón de encendido/apagado. Pero necesito comprar algo que pueda recordar o almacenar en la memoria el estado anterior después de un corte de energía. Lo mismo que el aire acondicionado doméstico que guarda el estado anterior si se corta la energía y regresa. Una de mis sugerencias es hacerlo con IC 555, pero no creo que pueda recordar el estado anterior si se produce un corte de energía... por favor, denme una solución económica... mi aplicación consume solo 12 V y 2 A.
Editado : el propósito de esta solución es encender/apagar la aplicación remota que no tiene un UPS o respaldo de energía. Estoy usando Arduino con un módulo Ethernet para encender/apagar el sistema de forma remota, pero el problema se produce durante un corte de energía prolongado. La aplicación se apaga y necesito volver a encenderla. Busco una solución para almacenar el estado de la aplicación, incluso si se reinicia la energía. .
De entrada, diría que una EEPROM es la solución obvia para este tipo de cosas. Almacenan estado incluso ante un corte total de energía. Son bastante económicos, tan solo $0.29 cada uno en pequeñas cantidades (por ejemplo: https://www.jameco.com/z/24C01-Major-Brands-2-Wire-Serial-EEPROM-1K-128-x-8 -DIP-8_276592.html ). El mayor inconveniente es que significa agregar circuitos adicionales al sistema para leer/escribir la EEPROM. Estoy bastante seguro de que podría arreglárselas sin agregar un microcontrolador completo, pero definitivamente requeriría al menos algunos componentes adicionales.
Usar una tarjeta SD también podría ser una opción, pero creo que esto sería aún más complicado y más costoso, lo que podría hacerlo menos que ideal.
Un relé de enclavamiento está diseñado para este mismo propósito.
"Un relé de enclavamiento es un interruptor accionado eléctricamente de dos posiciones. Está controlado por dos interruptores o sensores de acción momentánea, uno que 'establece' el relé y el otro 'reinicia' el relé. El relé de enclavamiento mantiene su posición después de el interruptor de accionamiento se ha soltado, por lo que realiza una función de memoria básica " .
A diferencia de los relés ordinarios, el relé de enganche tiene dos conjuntos de bobinas que mueven los contactos a una de dos posiciones. En un atropello de poder se quedan en la última posición establecida.
Se podría usar un circuito de palanca simple para permitir el uso de un solo interruptor de presión para operar ambas bobinas (primera presión en ENCENDIDO (bobina 1), segunda presión en APAGADO (bobina 2))
por ejemplo, http://www.azatrax.com/latching-relay-circuits.html
Tengo una aplicación que necesita una función de botón de encendido/apagado. Pero necesito comprar algo que pueda recordar o almacenar en la memoria el estado anterior después de un corte de energía.
Figura 1. Un interruptor de palanca típico.
Un interruptor de palanca, en lugar de un interruptor de botón, cumple con todos los requisitos establecidos y más.
Editar después de explicar el requisito de control remoto.
Figura 1. La serie de dispositivos Digital Loggers es un ejemplo de un interruptor de alimentación controlado por web (para el mercado norteamericano).
Hay una gama de dispositivos que realizan las funciones que necesita. Estos se utilizan en una variedad de aplicaciones, como salas de servidores, donde son particularmente útiles para forzar un reinicio de un dispositivo que no responde apagando y apagando. El dispositivo anterior tiene enchufes conmutados y no conmutados y memoria de estado de alimentación.
Busque "interruptor de alimentación controlado por web" y debería encontrar algo adecuado para su país (India) a un buen precio.
Tal vez su versión Arduino tenga una función de detección de "apagón", como lo hacen algunos otros microcontroladores. En cuyo caso, se dispararía una interrupción, por lo que en su ISR podría almacenar ese evento y más datos, desde donde leer cuando Arduino se reinicie. Saludos.
Arduino Uno tiene 1 KB de EEPROM que es suficiente para almacenar el estado de 1024 dispositivos.
No hay necesidad de usar una EEPROM externa para esto.
Aquí está el enlace a ejemplos y tutoriales.
Le sugiero que escriba el código de tal manera que ejecute una operación mínima de lectura/escritura desde la EEPROM, ya que la EEPROM tiene un tiempo de vida que depende del número de ciclos de lectura/escritura.
Neil_ES