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 :

Protection registre à décalage 74HC595


Sujet :

Arduino

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2018
    Messages : 9
    Par défaut Protection registre à décalage 74HC595
    Bonjour,

    Pour mon projet de drone, j'utilise un 74HC595 et 8 diodes qui me servent de jauge. Le tout est dans un casque VR relié à la télécommande par un câble RJ45 (8 fils) car ce cordon sert aussi d'alimentation au casque où je place mon smartphone.
    Mon problème est que lorsque de débranche le cordon, ca plante bien et je crois que cela peut griller mon 74HC595.
    La question est donc : comment protéger le 74HC595 lorsque je débranche les 5 fils (verou, horloge, data, GND et +5v) qui fatalement se déconnectent les uns après les autres mais sans pouvoir maitriser l'ordre.
    Evidement, je veux aussi pouvoir rebrancher a chaud sans soucis.

    Comment protéger le 74HC595 ? Diode ? Résistance ? Condensateur ? Et où les placer ?

    J'ai un plan B qui consiste à souder les fils mais c'est moins ergonomique et moins facile à ranger.

    Merci pour vos réponses.

  2. #2
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    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 253
    Par défaut
    Salut,
    Peux tu poster un schéma pour qu'on comprenne mieux sur quel composant agir.

    A+

  3. #3
    Membre habitué
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2018
    Messages : 9
    Par défaut Le schéma
    Nom : schéma-commande-drone.gif
Affichages : 1317
Taille : 44,8 Ko

    Cela devrait aider à la compréhension. Les 9250 sont des accéléro-magnetomètres

  4. #4
    Membre habitué
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2018
    Messages : 9
    Par défaut le code
    j'ai testé le code suivant.
    Les diodes s'allument puis s'éteignent une à une mais une seul fois ! Avec un autre montage, le loop fonctionne bien et le cycle recommence.
    De plus, en faisant reset, cela ne recommence pas : il faut débrancher et rebrancher pour que ça recommence une seule fois !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    #define verrou 7  //Broche connectée au ST_CP du 74HC595
    #define horloge 8 //Broche connectée au SH_CP du 74HC595
    #define data 9    //Broche connectée au DS du 74HC595
     
    byte table8Diodes[] = {
    0b00000001, 
    0b00000011, 
    0b00000111, 
    0b00001111, 
    0b00011111, 
    0b00111111, 
    0b01111111, 
    0b11111111};
     
     
    void setup(){
    pinMode(verrou, OUTPUT);
    pinMode(horloge, OUTPUT);
    pinMode(data, OUTPUT);
    }
     
    void loop(){
    //on affiche les 10 chiffres de 0 à 9 en binaire
    for (byte i=0; i<=7; i++){
       digitalWrite(verrou, LOW); //On active le verrou pour l'envoi
       for (char j=7; j>=0; j--){
           //on lit pour chaque segment sa valeur 0 ou 1
           digitalWrite(horloge, LOW);
           delay(33);
           digitalWrite(data, bitRead(table8Diodes[i],j));
           delay(33);
           digitalWrite(horloge, HIGH);
           delay(33);
           }
        digitalWrite(verrou, HIGH);//et enfin on relâche le verrou
        //Sans pause, cela défilerait trop vite
        delay(1000);
        }
    }
    Les delay(33) permettent de lire l'état au multimètre. Le jus arrive bien avec changement d'état sur les verrou-horloge-data mais rien ne sort !

  5. #5
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    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 253
    Par défaut
    salut,
    Effectivement c'est bien plus clair avec le schéma.

    Citation Envoyé par Zelione Voir le message
    [...]lorsque je débranche les 5 fils (verou, horloge, data, GND et +5v) qui fatalement se déconnectent les uns après les autres mais sans pouvoir maitriser l'ordre.
    Tout à fait ! Et je t'assure qu'il y a même aussi des rebonds qui créaient des fronts montants et descendants que le HC595 va interpréter comme signaux logiques arrivant de l'Arduino.


    Citation Envoyé par Zelione Voir le message
    [...]lorsque de débranche le cordon, ca plante bien et je crois que cela peut griller mon 74HC595.
    Qu'est ce qui plante ?
    Le soft ? Ou bien le montage déporté, celui où il y a le HC595 ?


    Citation Envoyé par Zelione Voir le message
    Evidement, je veux aussi pouvoir rebrancher a chaud sans soucis.
    Cette fonction est souvent complexe et dans nos appareils plug and play il y a des circuits spécialisés qui s'assurent que tout se passera bien. Il faudrait ajouter beaucoup plus d'électronique pour pouvoir brancher à chaud sans soucis.


    Je vois que tu as posté un programme d'essai qui ne semble pas te satisfaire alors avant que je propose quelque chose, il faut que je sache où se situe ton problème ? Dans le soft ou dans le hardware ?
    Est ce que tu as à ce jour un programme fonctionnel donc qui fait ce que tu veux ?
    Est ce que ce le montage, celui du schéma, fonctionne comme tu le souhaites ? Ou pas ?

  6. #6
    Membre habitué
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2018
    Messages : 9
    Par défaut
    Bonjour et merci du suivi...

    Incapable de savoir si c'est le hard ou le soft !
    J'ai mis des délais pour vérifier si l'arduino envoyait bien les signaux et c'est le cas.
    Pas d'allumage après le chargement du croquis mais lorsque je débranche et rebranche : cela fonctionne sur 1 loop puis s'arrête. (donc le soft)
    Le 74HC595 reçoit bien les signaux mais n'envoie rien aux diodes. (donc le hard)
    Mystère !

    Par ailleurs, je suis coincé pour rajouter des lignes de code car la mémoire arrive au taquet ( il faut aussi gérer deux MPU9250 et faire quelques calculs...)

    Bon, au final, et après plusieurs jours de galère, je pense virer les diodes du casque. Je précise que les diodes devaient avoir un coffrage étanche et petit plexi dépoli (fibre optique) pour incruster la lumière de la diode devant l'image envoyé par le drone.

    Toujours est-il que cette histoire de 74HC595 reste bien compliquée à interpréter avec mes maigres connaissances et que j'aimerai bien comprendre...

  7. #7
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    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 253
    Par défaut
    Salut,
    D’accord. Donc le but est de mettre au point des deux côtés, hard et soft, et ce n’est jamais évident (sans forcément être compliqué) car on peut tourner en rond facilement ?

    Il faut juste avancer doucement, en validant brique par brique. Si on regarde côté hardware sans se préoccuper dans un premier temps de cette histoire de connexion/déconnexion à chaud, le 74HC595 se présente comme suit :

    Nom : im.PNG
Affichages : 688
Taille : 8,6 Ko

    Lorsque le composant est fabriqué par plusieurs constructeurs, il faut regarder les différentes datasheet car parfois l’explication est plus claire chez l’un que chez l’autre.

    • VCC : +5V
    • GND : 0V
    • QA … QH : sont les sorties du registre à décalage.
    • QH’ : est une sortie utile pour détecter un débordement (pour éviter d’aller trop loin en décalant la donnée)
    • SER : est la broche où les données entrent une à une.
    • /OE : permet de connecter/déconnecter les sorties et de les mettre dans un état haute impédance. Donc en l’air
    • SRCLK : un front montant sur cette broche va décaler les données à l’intérieur du composant.
    • RCLK : un front montant sur cette broche va transférer les données qui sont à l’intérieur du composant vers l’extérieur.
    • /SRCLR : permet de mettre à 0 toutes les données dans le composant à 0.


    Dans ton schéma, c’est une bonne idée de fixer /OE au 0V afin de laisser constamment les sorties connectées. Idem pour /SRCLR au +5V car sauf utilisation optimale du composant, on peut mettre toutes les sorties à 0 autrement que par cette broche comme par exemple faire décaler 8 x un 0 dans le 74HC595.

    Pour le fonctionnement :
    1) On présente un état logique LOW ou HIGH sur la broche SER
    2) On créait un front montant (passage de LOW à HIGH) sur SRCLK pour faire entrer la donnée dans le composant.
    Puis en recommence les étapes 1 et 2 huit fois.

    Nom : im1.png
Affichages : 761
Taille : 22,3 Ko
    Nom : im2.png
Affichages : 668
Taille : 22,5 Ko
    Nom : im3.png
Affichages : 607
Taille : 22,7 Ko
    Nom : im4.png
Affichages : 648
Taille : 22,9 Ko

    Une fois que c'est fait, on créait un front montant sur la broche RCLK pour transférer les données qui ont été décalé dans le composant vers les broches QA à QH. Note que pour faire des essais tu peux très bien relier ensemble SRCLK et RCLK et tu verras les décalages sur tes LED en direct au fur et à mesure.

    Afin d'éliminer le plus d'inconnue possible, je te recommande vivement de retirer tout ce qui n'est pas nécessaire à la mise au point du 74HC595 et ensuite d'ajouter les briques matérielles/logicielles une à une.

    Lorsque je regarde ton schéma j'ai l'impression de voir une inversion sur le dessin du composant (entre les broches que tu as nommé Horl. et Data)

  8. #8
    Membre habitué
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2018
    Messages : 9
    Par défaut
    Merci Vincent pour cette traduction,
    en effet, n'ayant pas fais anglais, je patauge bien souvent.
    Il est possible qu e j'ai inversé Horloge et data mais, comme une fois aliùenté, il fonctionne bien pour un seul tour ! Et c'est bien là ou j'ai pu inverser des fils mais, comme jel'ai dit aussi, ce programme fonctionne très bien avec un afficheur 7 segments.
    Je reprendrais tout très soigneusement et très méthodiquement plus tard. Là, tout est soudé et re-soudé, et re-re soudé. Il me faut faire une pause avant la nervous breakdown.

    Encore merci de ton suivi.

  9. #9
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    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 253
    Par défaut
    Alors fait nous signe des que le calme sera revenu
    Ps: Ton programme me semble parfaitement fonctionnel

Discussions similaires

  1. Instanciation d'un registre à décalage
    Par seni404 dans le forum VHDL
    Réponses: 9
    Dernier message: 03/11/2012, 20h54
  2. Compteur dans un registre à décalage
    Par killabeez dans le forum LabVIEW
    Réponses: 7
    Dernier message: 06/04/2011, 14h41
  3. Registre à décalage
    Par m@tix dans le forum LabVIEW
    Réponses: 5
    Dernier message: 24/09/2010, 22h07
  4. [LV8.0][Débutant]Registre à décalage dans un sous-vi
    Par pacman74 dans le forum LabVIEW
    Réponses: 2
    Dernier message: 05/05/2010, 13h34
  5. registre à décalage et tableau 2D
    Par Pierpolay dans le forum LabVIEW
    Réponses: 4
    Dernier message: 04/01/2010, 11h31

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