Estoy usando Arduino nano para un proyecto en el que tengo un contador que aumenta continuamente. Y quiero conservar la cuenta después de un corte de energía. Los datos cambian con más frecuencia, por lo que almacenarlos continuamente en EEPROM no es una opción, ya que EEPROM tiene una limitación de ciclo de borrado/escritura. Además, los datos tienen un máximo de 4 bytes.
por favor, ¿alguien puede sugerir un IC o diseño de circuito que pueda detectar una falla de energía e interrumpir Arduino para que pueda guardar datos en EEPROM?
Supongo que tendré que usar un condensador para alimentar Arduino después de que se corte la energía para que Arduino pueda guardar datos en EEPROM.
Este es el diagrama principal que necesita. Los valores para R1 y R2 dependen del voltaje de la fuente de alimentación y el voltaje de entrada máximo de los pines de su CPU.
El valor de C1 depende de la cantidad de corriente que usa su circuito y cuánto tiempo necesita para mantener la energía y a qué nivel. Agregar un regulador después de ese límite puede mejorar en gran medida su tiempo, lo que le permite usar capacitores más pequeños.
Para calcular el valor de C (su siguiente pregunta obvia), necesitamos todos los datos que solicita Tony Steward.
simular este circuito : esquema creado con CircuitLab
Puede usar un capacitor y un supervisor de voltaje de 3 pines para la buena señal de potencia. Estos son algunos ejemplos de Texas Instruments.
Como señalaron Oldfart y Tony, debe especificar el voltaje y el consumo de energía para obtener más detalles.
Tenga cuidado, el consumo de energía es mayor al escribir en eeprom.
Supongo que estás tratando de hacer algún tipo de contador irreversible, así que aquí hay algunos consejos:
Aquí hay una solución alternativa que he usado para este problema en el pasado.
Solo escriba la eeprom cada 10 ciclos, o cada 100, o lo que sea. Para mi aplicación, perder un par de conteos en la pérdida de energía no fue un problema.
Escriba a muchas ubicaciones de eeprom para distribuir el desgaste. Probablemente no esté usando todo su eeprom, así que lo que puede hacer es asignar, digamos 20 variables para almacenarlo. Escríbalos secuencialmente, y cuando arranque, simplemente use el valor más grande. Esto le dará instantáneamente 20 veces más longevidad.
Hay otros trucos que puedes usar dependiendo del medio. Por ejemplo, con flash puede escribir la misma dirección más de una vez entre borrados.
Transistor
Tony Estuardo EE75
Lundin