J'ai ce problème dans un projet en cours.
La façon dont je traite est de garder la valeur en direct du compteur dans la RAM. J'ai ajouté un peu de matériel pour que le microcontrôleur puisse détecter que la tension d'alimentation d'entrée brute est faible. Si c'est le cas, il arrête ce qu'il fait, enregistre la valeur du compteur en direct dans l'EEPROM, puis attend de regarder la tension d'alimentation brute. S'il remonte, avec une certaine hystérésis, le micro redémarre essentiellement. Sinon, si l'alimentation continue de baisser, le micro finira par s'arrêter. Au redémarrage suivant, la valeur du compteur est chargée à partir de l'EEPROM, puis réutilisée en direct dans la RAM jusqu'à la prochaine mise hors tension.
Il ne faut pas longtemps pour écrire une petite valeur dans l'EEPROM. Il est fort probable que votre système d'alimentation électrique actuel dispose d'un stockage d'énergie suffisant pour détecter la tension en baisse, tout en ayant suffisamment de temps de fonctionnement garanti avant que l'alimentation du micro ne descende sous le seuil de fonctionnement ou d'écriture EEPROM.
Dans mon cas, le seul matériel supplémentaire était une diode Schottky pour empêcher l'alimentation en courant continu de sucer la charge du réservoir local en descendant, et deux résistances comme diviseur de tension afin que le micro puisse lire la tension d'entrée brute. Le reste est un firmware.
Il est important de noter que vous devez surveiller la tension à l'entrée de l'alimentation finale qui alimente le micro, pas directement la tension d'alimentation du micro. Au moment où ce dernier descend, il est peut-être trop tard. Espérons qu'il existe une plage de tension qui est inférieure au pire des cas lorsque tout fonctionne correctement et au-dessus de ce dont l'alimentation du micro a besoin pour garantir une tension régulée au micro. Dans mon cas, l'alimentation du micro était un régulateur abaisseur alimenté à partir de 48 V, il existe donc une large plage inférieure à la normale mais où le micro peut toujours fonctionner de manière fiable.