Auteur Sujet: Détecter l'absence de courant  (Lu 637 fois)

hallucine

  • Newbie
  • *
  • Messages: 29
    • Voir le profil
Détecter l'absence de courant
« le: octobre 12, 2019, 07:07:04 pm »
Bonjour,

Afin de pouvoir sauvegarder les données lorsque le courant est coupé, je cherche à détecter la chute de tension.
J'ai entendu dire qu'il faut mettre un détecteur mais je n'ai rien trouvé sur le net.
J'ai aussi vu une possibilité en ne mettant qu'un condensateur entre le 5V et une des entrées mais ce que j'ai lu n'est pas clair pour moi.
Est-ce que quelqu'un pourrait m'expliquer de manière lambda comment faire ?
D'avance merci

nopxor

  • Jr. Member
  • **
  • Messages: 86
    • Voir le profil
Re : Détecter l'absence de courant
« Réponse #1 le: octobre 12, 2019, 08:07:08 pm »
Bonjour,

Voici un tutoriel bien fait:
Arduino: sauvegarde de données en EEPROM en cas de coupure d'alimentation
https://riton-duino.blogspot.com/2019/03/arduino-sauvegarde-de-donnees-en-eeprom.html

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1726
  • 100% Arduino et N
    • Voir le profil
Re : Détecter l'absence de courant
« Réponse #2 le: octobre 12, 2019, 08:57:50 pm »
Une autre solution consiste à détecter l’appui sur un bouton poussoir qui permettrait de dérouler un programme de sauvegarde des données, éventuellement de retour des trains à leur position initiale, qui peut prendre un certain temps, et puis, à la fin, la coupure de l’alimentation avec un relais.

hallucine

  • Newbie
  • *
  • Messages: 29
    • Voir le profil
Re : Détecter l'absence de courant
« Réponse #3 le: octobre 13, 2019, 02:17:06 pm »
Merci pour vos réponses.

@nopxor : j'avais vu ce site mais je ne comprends déjà pas leur calcul du pont diviseur.
Vd2 = 7.5V / (R1 + R2) * R2 = 5V / (100K + 180K) * 180K = 4.82V
Pour moi 5/(100+180)*180 = 3.21 et pas 4.82
Juste en dessus ils mettent que R2 = 80K (et pas 180K) mais là non plus cela ne joue pas : 5V / (100K + 80K) * 80K = 2.22V
En plus moi j'aurais du 12V en entrée donc je ne vois pas comment calculer R1 et R2.
Si l'on peut ma'éclairere et m'aider. Merci

@Dominique : Ce n'est pas le but recherché. Je dois aussi palier à des coupures de courant intempestives !

msport

  • Hero Member
  • *****
  • Messages: 681
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Détecter l'absence de courant
« Réponse #4 le: octobre 13, 2019, 04:21:44 pm »
Il y a des caractères qui ont sauté ... (7. et 1)
Le calcul est exact pour un pont 100K/180K
pour 12V si on veut 4,8V sur D2, il faut un pont 100K avec x en Kohm :
12V / 4,2V = (100+x) / x soit 12 x = 480 + 4,8 x soit 7,2 x = 480 soit x = 66,66
la plus proche valeur normalisée est 68K qui ira bien.
Cordialement

hallucine

  • Newbie
  • *
  • Messages: 29
    • Voir le profil
Re : Détecter l'absence de courant
« Réponse #5 le: octobre 13, 2019, 05:10:11 pm »
Ah ouais alors... si ils ne mettent pas tous les chiffres.....
Bon c'est comme vous... j'ai mis un moment pour comprendre.... je ne voyais pas comment vous arriviez à 480
vu que vous avez mis 4.2V au lieu de 4.8V !!!!!!!

Bon là j'ai compris je vais pouvoir commencer mon circuit....

Merci de l'aide

Encore une petite question : combien de W les résistances ? Y a t-il un risque si je prend trop haut ?
« Modifié: octobre 13, 2019, 05:14:19 pm par hallucine »

nopxor

  • Jr. Member
  • **
  • Messages: 86
    • Voir le profil
Re : Détecter l'absence de courant
« Réponse #6 le: octobre 13, 2019, 05:35:56 pm »
Bonjour,

Des résistances usuelles de 1/4W iront très bien.
Si on met des plus grosses ça ne gêne pas du tout.

msport

  • Hero Member
  • *****
  • Messages: 681
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Détecter l'absence de courant
« Réponse #7 le: octobre 13, 2019, 05:40:21 pm »
C'était pour voir si vous suiviez ...

Pour la puissance : P= U2/R pour la 100K (worst case) ~ 7*7 /100K = 0,49 mW
N'importe quoi fera l'affaire (qui peut le plus peut le moins)
Cordialement

hallucine

  • Newbie
  • *
  • Messages: 29
    • Voir le profil
Re : Détecter l'absence de courant
« Réponse #8 le: octobre 13, 2019, 06:11:55 pm »
Merci beaucoup

hallucine

  • Newbie
  • *
  • Messages: 29
    • Voir le profil
Re : Détecter l'absence de courant
« Réponse #9 le: novembre 26, 2019, 06:07:29 pm »
Rebonjour mes précieuses aides….

J'ai fait le montage que l'on a discuté il y a quelques temps…. Pas de soucis.
Maintenant je me suis attaqué au soft avec le programme de test trouvé sur https://riton-duino.blogspot.com/2019/03/arduino-sauvegarde-de-donnees-en-eeprom.html
mais là ça se gâte…. aucun problème pour téléverser. Par contre ça n'a pas l'air de fonctionner.
Voici ce que je constate :
- la boucle loop ne s'exécute pas toujours (parfois aucun serial.print ne s'affiche, même après le délai de 30 sec.)
- la boucle powerloss a l'air de fonctionner car j'ai le temps qui s'affiche. Par contre c'est à la mise sous tension (12V sur VIN) que cela s'exécute
- la boucle setup : aucune des serial.print ne s'affiche, ni dans le if ni dans le else.

A part ça ce bout de programme est trop "évolué" pour ce dont j'ai besoin. Moi je cherche juste à mettre un chiffre entre 0 et 255 (voire 999) dans l'EEPROM lorsque la tension chute (le chiffre est stocké dans une variable) puis a le récupérer lorsque la tension revient. Est-ce quelqu'un peut me dire les lignes minimums qu'il faut ?

D'avance un grand merci

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1726
  • 100% Arduino et N
    • Voir le profil
Re : Détecter l'absence de courant
« Réponse #10 le: novembre 27, 2019, 12:12:27 am »
Le plus simple est de partir des exemples de la bibliothèque EEPROM dans le menu exemples de l’IDE.
Il y a tout ce qu’il vous faut.

L’article cité vous conduira à vous emmêler les pinceaux. Faites simple !
« Modifié: novembre 27, 2019, 12:14:46 am par Dominique »

hallucine

  • Newbie
  • *
  • Messages: 29
    • Voir le profil
Re : Détecter l'absence de courant
« Réponse #11 le: novembre 27, 2019, 06:34:32 pm »
Merci pour les infos. Effectivement l'article m'a bien emmêler les pinceaux.

Après une nouvelle batterie de test avec un programme plus simple, j'ai pu constater que l'écriture et la lecture dans l'EEPROM se font correctement.
A priori c'est la mise en mémoire lorsque la tension chute qui ne se fait pas correctement.
Je me suis quand même basé sur le schéma de l'article. J'ai même essayé d'augmenter la capacité du condensateur à 470 microFarah mais cela ne change rien.
Y a-t-il d'autres manières pour faire que l'Arduino détecte une chute de tension ?