IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

Comment programmer un reset ?


Sujet :

Arduino

  1. #1
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2011
    Messages
    258
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 258
    Points : 151
    Points
    151
    Par défaut Comment programmer un reset ?
    Bonsoir,
    j'ai développé une application sur Arduino Uno avec un shied wifi et des capteurs.
    L'arduino lit des valeurs, puis est interrogé par un cron sur un raspberry pi 3 toute les 30 minutes.
    Dans 90% des cas, tout se passe bien.
    Cependant, il arrive parfois ( et je ne sais pas pourquoi ) qu'il y ait une coupure du réseau wifi ( connection à l'arduino).
    J'éteins celui-ci puis le rallume et tout marche à nouveau.
    Je fais cette manip tous les deux trois jours environ.
    Je sais qu'il est possible, via une broches numérique de piloter le reset ( avec une résistance de tirage de 100 ohms)
    Cependant, l'arduino n'est plus joignable quand le wifi coupe.
    Est-il possible d'imaginer un watchdog qui provoque un reset en cas de coupure réseau ?

  2. #2
    Membre émérite
    Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatiques
    Inscrit en
    Février 2013
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatiques
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 1 012
    Points : 2 341
    Points
    2 341
    Par défaut
    Bonsoir frederic13870
    Citation Envoyé par frederic13870 Voir le message
    Est-il possible d'imaginer un watchdog qui provoque un reset en cas de coupure réseau ?
    Oui, ce watchdog est "restarté" à chaque interrogation, si temps trop long signifiant plus de communication, faire un reset de l'Arduino selon 2 méthodes:

    Matériel en utilisant une pin em mode output pour envoyer un 0 sur la pin RST, voire ici.
    Ou software, avec quelques restrictions, voire ici.

    Cordialement
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  3. #3
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2011
    Messages
    258
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 258
    Points : 151
    Points
    151
    Par défaut merci mais
    Désolé pour la réponse tardive.
    La première routine met la broche RESET à LOW suite à l'exécution de code.
    La seconde fait un "jump" à "adresse 0", ce qui provoque le RESET.
    Cependant, et je ne pas vraiment de moyen pour le savoir, je pense que l'arduino "plante" totalement.
    Il faudrait un reset hardware.
    J'ai pensé au début de la boucle principale d'alimenter un condensateur qui tiendra le RESET à "HIGHT".
    Lors du reboulage, si l'arduino "est dans les choux" la boucle ne s'exécutera pas, le condensateur ne sera pas rechargé,
    et le RESET hardware se fera.
    Cependant, je n'ai aucune idée pour le calcul de la capacité du Condo, et le schéma .
    Toute aide bienvenue.

  4. #4
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 190
    Points : 11 573
    Points
    11 573
    Par défaut
    Salut,
    Ce que tu décris c'est pour ainsi dire le fonctionnement du watchdog, il est fait pour ça. Le watchdog est un timer, tu lui demandes de "reseter" au bout d'un certain temps et il le fera sauf si tu lui donnes signe de vie, et c'est repartie pour un tour.

    Si tu es bloqué quelque part, le watchdog va reseter le micro tout seul car il a la main dessus. Suffit de bien le régler.

    Nom : path826.png
Affichages : 1427
Taille : 39,7 Ko
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  5. #5
    Membre émérite
    Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatiques
    Inscrit en
    Février 2013
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatiques
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 1 012
    Points : 2 341
    Points
    2 341
    Par défaut
    Bonjour frederic13870
    Citation Envoyé par frederic13870 Voir le message
    Cependant, et je ne pas vraiment de moyen pour le savoir, je pense que l'arduino "plante" totalement.
    J'ai testé les 2 versions, ça fonctionne très bien

    Citation Envoyé par frederic13870 Voir le message
    J'ai pensé au début de la boucle principale d'alimenter un condensateur qui tiendra le RESET à "HIGHT".
    Lors du reboulage, si l'arduino "est dans les choux" la boucle ne s'exécutera pas, le condensateur ne sera pas rechargé,
    et le RESET hardware se fera.
    Si c'est l'Arduino qui "charge" le condo, cela veut dire, qu'au départ il est vide donc qu'il y a un 0 sur la pin Reset donc c'est comme si l'on appuyait en permanence sur le bouton!
    S' le programme démarrait (si), quand le programme se plante on se retrouve dans la même condition qu ci-dessus.

    Il reste la solution hardware avec ce type de cirrcuit: TC1232 ou MAX1232.

    Cordialement
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  6. #6
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 711
    Points : 5 390
    Points
    5 390
    Par défaut
    idéalement il vaudrait mieux trouver la source du dysfonctionnement et rétablir le wifi...

    est-ce que vous joignez le réseau de votre domicile où votre montage fait point d'accès Wi-Fi ?

  7. #7
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2011
    Messages
    258
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 258
    Points : 151
    Points
    151
    Par défaut ok !
    Merci à jpbbricole pour les circuits de reset sur le marché.
    Merci à Vincent ; j'ignorais que l'on pouvait programmer le timer Arduino pour faire un reset.
    Je vais me débrouiller.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Palm] Comment programmer pour Palm Os ?
    Par Pascal Lob dans le forum Mobiles
    Réponses: 7
    Dernier message: 24/08/2007, 09h59
  2. Comment programmer un robot ?
    Par reggae dans le forum Robotique
    Réponses: 4
    Dernier message: 18/12/2005, 11h41
  3. Comment programmer sous dos ?
    Par AsmCode dans le forum C++
    Réponses: 8
    Dernier message: 17/11/2005, 02h07
  4. Réponses: 7
    Dernier message: 13/12/2004, 19h23
  5. comment programmer une progressbar
    Par Choucas dans le forum Paradox
    Réponses: 3
    Dernier message: 13/11/2002, 11h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo