[Programmation] Initialisation Arduino - Problème de gestion des INPUTS (consignes)
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

Initialisation Arduino - Problème de gestion des INPUTS (consignes)



  1. #1
    MrVynz

    Lightbulb Initialisation Arduino - Problème de gestion des INPUTS (consignes)


    ------

    Bonjour,

    Voici mon système composé d'un côté émission, et un côté réception.
    Côté émission :
    Un Trinket Pro v3 fait l'interface entre une appli de contrôle et un XBEE SX 868 RF.
    On envoi une consigne d'état du relais depuis le PC -> le trinket traduit et envoi un état bas ou haut sur une pin du XBEE.
    Le xbee fonctionne comme une "télécommande", il transmet à ses esclaves l'état de ses broches (paramétrable mais non programmable).

    Côté réception :
    Un XBEE également, qui reçoit l'info et recopie sur ses broches les états reçus. (ex: pin 32 à 3.3V en émission, alors pin 32 à 3.3V en réception)
    Cette broche est connectée à un trinket pro qui traite l'état de la pin et alimente un côté ou un l'autre d'un relais bistable (double latch) selon la consigne.

    Le but du relais bistable est de pouvoir conserver son état lors d'une coupure de courant.
    Le problème est le suivant : au redémarrage du module en réception, si le relais était en état bas, alors il restera en état bas.
    si le relais était en état haut, alors il passera en état bas (car le module XBEE n'enregistre pas l'état de ses broches, si la broche 32 est à l'état haut, au redémarrage elle sera à l'état bas, car la consigne n'est pas envoyée en continu)

    Je cherche donc à programmer le trinket côté réception pour prendre en compte ce défaut et me permettre quand même de garder l'état de mes relais au démarrage, peut importe leur état précédent.
    Des broches sont déjà utilisées pour connaitre l'état du balais du relais (un genre d'acknowledge)

    Ce que j'ai réalisé pour l'instant :
    Récupération de l'état des relais au démarrage, s'ils était à l'état haut avant redémarrage, alors je traffique le continu des variables à la séquence d'initialisation pour qu'il ne prenne pas en compte l'état des consignes du xbee (qui sont toutes à l'état bas du coup).
    Le problème avec cette solution (qui fonctionne), c'est que pour changer à nouveau l'état de mon relais après un redémarrage du module de réception, il faut que je lui envoi 3 consignes (dernière consigne état HAUT, je dois envoyer une consigne état bas qui n'est pas prise en compte puisque le xbee a déjà toutes ses pins à l'état bas, puis une consigne état haut qui n'est pas prise en compte car les relais sont déjà à l'état haut, puis une consigne état bas qui sera prise en compte).

    Auriez vous des suggestions ?

    Merci

    -----

  2. #2
    MrVynz

    Lightbulb Initialisation Arduino - Controle d'état de relais bistables

    Bonjour, je vous expose aujourd'hui ma problématique...
    Je possède 3 relais bistables sur une carte, dont l'objectif est d'être pilotable à distance (réussi)
    ET de garder l'état des relais en cas de redémarrage du module.

    Une image vaut mille mots alors voici mon montage (qui se trouve en réception) et permet de piloter des relais à distance.

    Nom : a.png
Affichages : 215
Taille : 53,2 Ko

    Le système communique à l'aide des XBEE SX 868 par RF.
    La consigne d'état du relais une fois reçu, le XBEE envoi une tension de 0V ou 3.3V sur les broches 3/4/5 du Trinket Pro v3

    Problème: si le module redémarre, le XBEE n'a aucune mémoire de ses consignes après une coupure.
    Si l'état était bas, alors au redémarrage pas de problème, les relais restent à l'état bas.

    Si l'état était haut, alors
    côté émission, je suis toujours sur une consigne état haut
    côté réception, au redémarrage le XBEE envoi des niveaux bas au trinket, ce qu'il interpréte comme une consigne d'état bas bien sûr et modifie l'état des relais.

    Comme vous le voyez, je récupère l'état du balais de chaque relais pour me permettre de savoir s'il a bien commuté ou non.
    Jusque là j'ai réussi bidouiller les fonctions d'initialisations du Trinket pour récupérer l'état des relais au démarrage (avant commutation) et jouer sur les variables pour éviter un changement d'état.
    Résultat : ça fonctionne mais je dois faire 3 changements de consignes côté émission pour que cela soit pris en compte.


    Auriez vous des suggestions plus simples ?

    Merci

  3. #3
    Qristoff
    Animateur Électronique

    Re : Initialisation Arduino - Controle d'état de relais bistables

    Bonjour,
    La consigne d'état du relais une fois reçu, le XBEE envoi une tension de 0V ou 3.3V sur les broches 3/4/5 du Trinket Pro v3
    et à l'initialisation du Trinket, n'y a t-il pas possibilité d'écrire dans le XBEE avec les états réels lus sur les relais ?
    Tout existe, il suffit de le trouver...!

  4. #4
    Exotique

    Re : Initialisation Arduino - Problème de gestion des INPUTS (consignes)

    Bonjour et bienvenue,

    tu as déjà initié un autre sujet avec la même problématique et c'est interdit normalement.

    Pour en revenir à ton problème:

    Quand tu utilises un relais bistable c'est en général pour consommer au minimum.
    Seulement la contre partie est qu'il faut systématiquement lui envoyer les bons ordres pour l'activer ou le désactiver en cas de perte d'alimentation.
    Il faut que tu réalises une commande logique qui fasse que le relais ne sera pas mis OFF si il était ON.
    Par exemple en faisant un ET, si la sortie de commande du XBEE est à 0 au redémarrage alors 0 ET 1 donneront 0.
    Il faut voir quel est l'état de ton trinket à la mise sous tension et adapter selon le niveau logique.
    Par exemple si ton trinket est à 0 à l'init et que ton XBEE est à 1 à la mise sous tension alors le ET est la solution pour ton problème, en réalisant cette fonction en analogique ou avec un circuit intégré tel que celui-ci:

    https://fr.rs-online.com/web/p/portes-logiques/6709762/

  5. A voir en vidéo sur Futura
  6. #5
    gienas
    Modérateur

    Re : Initialisation Arduino - Problème de gestion des INPUTS (consignes)

    Bonjour à tous

    Citation Envoyé par Exotique Voir le message
    ... tu as déjà initié un autre sujet avec la même problématique et c'est interdit normalement ...
    Les deux discussions sont à présent fusionnées.

  7. #6
    MrVynz

    Re : Initialisation Arduino - Controle d'état de relais bistables

    A priori il est possible de communiquer avec via RX/TX, ce que j'essaie de faire depuis quelques heures...
    Malheureusement je trouve leur documentation très mal faite, je ne comprends pour l'instant pas comment transmettre mes consignes par bus série.

    Le logiciel de configuration XCTU pour le module XBEE permet d'envoyer de générer et envoyer des "frames", ce que j'ai essayé de faire.
    Pour l'instant je suis parvenu à lire l'état d'une pin, mais il ne semble pas prendre en compte mon paramètre qui doit normalement le faire changer d'état "par défaut".

  8. #7
    jiherve

    Re : Initialisation Arduino - Controle d'état de relais bistables

    bonjour,
    que fournit le signal connecté à A3 ?
    Les pull up sont ils activés sur A0,A1,A2 ?
    Y a t il une temporisation au démarrage ?
    nature des transistors de commandes : BJT ou MOS ?
    l’émission se fait elle sur changement d’état ou bien en continu?
    JR
    l'électronique c'est pas du vaudou!

Discussions similaires

  1. [Programmation] Probleme gestion consommation arduino uno
    Par VALENTIN1234 dans le forum Électronique
    Réponses: 10
    Dernier message: 06/09/2019, 21h45
  2. [Arduino, C++] gestion des sleep-modes
    Par man_of_steel dans le forum Électronique
    Réponses: 9
    Dernier message: 15/01/2018, 21h17
  3. [Energie] Gestion moteur 3V depuis Arduino
    Par onion22 dans le forum Électronique
    Réponses: 5
    Dernier message: 21/03/2016, 20h32
  4. Gestion boutons arduino
    Par mayonaise dans le forum Électronique
    Réponses: 10
    Dernier message: 21/10/2013, 19h04
  5. programme gestion led avec arduino
    Par axel_67 dans le forum Électronique
    Réponses: 4
    Dernier message: 03/01/2012, 18h29
Découvrez nos comparatifs produits sur l'informatique et les technologies.