ModelleisenbahN

Accueil > La technologie > Mise en œuvre de la DRV8824 pour un pont tournant

pont tournant et moteurs pas-à-pas

Mise en œuvre de la DRV8824 pour un pont tournant

publié par Jean-Luc, le mardi 24 décembre 2013

Tags moteur pas-à-pas - pont tournant

Pour les essais de la DRV8824, le moteur reste le même que celui employé dans « Mise en œuvre de l’EasyDriver v4.4 pour un pont tournant » avec 400 pas par tour. La latte de bois a été remplacée par un tasseau d’un longueur un peu plus faible dans le but de pouvoir charger le pont avec une masse équivalente à celle d’une locomotive en H0 [1] afin d’observer le comportement en charge.

Les possibilités offertes par la DRV8824

En combinant les 400 pas par tour du moteur et les 32µPas du Ti DRV8824, on arrive à 12800 µPas par tour ce qui est considérable. Pour un pont tournant à l’échelle H0, disons de 30cm de diamètre, cela donne un déplacement de moins de 0,075mm par µPas en bout de pont. Avec un pont à l’échelle N on tombe à 0,037mm en bout de pont. Un déplacement de moins d’1/10e de millimètre est imperceptible.

La connexion de la DRV8824 est presque aussi simple que celle de l’EasyDriver, il y a juste quelques broches supplémentaires à connecter à la masse ou au +5V car l’état par défaut qu’elles adoptent lorsqu’elles sont en l’air ne convient pas.

Il faut donc connecter les broches DIR et STEP comme pour l’EasyDriver mais en plus connecter la broche SLEEP à 5V, la broche ENABLE à 0V et les broches M0, M1 et M2 à 5V pour disposer de 32 µPas. J’ai choisi de piloter la broche RESET avec la broche 4 de l’Arduino. En effet, à l’allumage du système, les entrées/sorties numériques de l’Arduino étant en entrée, RESET est en l’air et, par conséquent, le Ti DRV8824 est maintenu dans l’état RESET. Cela évite de faire faire au moteur des mouvements involontaires dus aux transitoires sur les entrées DIR et STEP. Lorsque le programme démarre, la broche 4 est mise en sortie et RESET est mis à l’état haut après que les états de DIR et STEP aient été fixés. De cette manière le moteur ne bronche pas à la mise sous tension.

Un autre point important est le condensateur chimique qui permet d’absorber les transitoires de la mise sous tension. Transitoires qui pourraient détruire le composant. J’ai donc implanté sur la breadboard un condensateur de 470µF 35V.

PNG - 295.8 ko

La tension moteur est fixée à 12V. Les alimentations sont séparées comme pour le montage de l’EasyDriver.

JPEG - 62.7 ko

Réglages de la DRV8824

Le potentiomètre de montage sur la DRV8824 permet de régler la tension Vref qui fixe le courant maximum. Comme Vref = Imax ×5Rs, avec Rs = 0,33Ω, un Imax ≤ 300mA donne un Vref ≤ 0,5V. En tâtonnant, une valeur de 0,47V donne le meilleur comportement [2].

Voici le résultat obtenu avec ce réglage.

La plus haute résolution du Ti DRV8824 par rapport à l’Allegro A3967 qui équipe l’EasyDriver donne un bien meilleur résultat mais ce n’est pas encore parfait.

Deux pistes d’amélioration existent. La première concerne le Vref. En effet, la valeur de Vref nécessaire pour le moteur choisi est en deçà de ce qui est préconisé par Texas Instruments mais augmenter Vref demanderait de remplacer les résistance de capture de courant de 0,33Ω pas des résistances de 2,2Ω. De cette manière le Vref maximum de 3,3V correspondrait à un courant maximum de 300mA.

Se lancer dans cette modification est un peu risqué et une autre piste a été privilégiée : le changement du DECAY car comme on avait pu le voir dans « Mise en œuvre de l’EasyDriver v4.4 pour un pont tournant », son influence est importante. Malheureusement, comme on l’a vu dans « La DRV8824 de Pololu », le DECAY n’est pas disponible sur les broches de la DRV8824. Il faut aller le chercher sur la broche 19 du Ti DRV8824. En mettant cette broche à la GND, on sélectionne le Slow Decay et en la mettant à +5V, on sélectionne le Fast Decay.

En Slow Decay le comportement est moins bon avec un net pompage qui apparaît.

En Fast Decay le comportement est bien meilleur. La vibration, présente quand le pont est chargé, disparaît.

Il se trouve que la broche 19 voisine avec la broche 18, FAULT, qui a l’énorme avantage d’être à l’état haut en temps normal [3]. Il suffit donc de déposer une goutte de soudure pour réunir ces deux broches et sélectionne le Fast Decay. Relier DECAY à GND aurait été beaucoup plus sportif car il aurait fallu souder un fil volant entre DECAY et le GND qui se trouve à une dizaine de mm de là.

JPEG - 64.5 ko
Modification de la DRV8824
Soudage des broches DECAY et FAULT ensemble de manière à mettre DECAY à l’état haut.

Il reste malgré tout un très léger pompage qui est résolu par la diminution du Vref de manière à obtenir un courant entre 200mA (pont chargé en H0) et 150mA (pont lège en N). Le résultat est excellent, même dans les phases d’accélération et de décélération, comme en atteste la vidéo ci-dessous.

Le logiciel

La commande de la DRV8824 étant identique à celle de l’EasyDriver le logiciel reste, dans les grandes lignes, identique à celui décrit dans « Mise en œuvre de l’EasyDriver v4.4 pour un pont tournant ». Evidemment, comme il y a 4 fois plus de micro-pas il faut diminuer le délai entre le passage de 2 micro-pas. Sur l’EasyDriver, le délai avait été fixé à 37ms. Ici il est fixé à 16ms. Un tour est donc accompli en 12800 × 16ms = 3 minutes et 25 secondes environ, ce qui est presque conforme à la réalité.

Durée du STEP

Le Ti DRV8824 est moins tolérant que l’Allegro A3967. STEP doit resté au même état au moins 1,9µs alors que sur le A3967 nous avions 1µs. Si comme précédemment, on écrit :

  1. void loop()
  2. {
  3. digitalWrite(pinMicroPas, LOW);
  4. digitalWrite(pinMicroPas, HIGH);
  5. delay(16);
  6. }

Télécharger

On risque de na pas satisfaire cette condition entre les deux digitalWrite(...). Les 16ms sont par exemple répartis comme ceci :

  1. void loop()
  2. {
  3. digitalWrite(pinMicroPas, LOW);
  4. delay(8);
  5. digitalWrite(pinMicroPas, HIGH);
  6. delay(8);
  7. }

Télécharger

Conclusion

La DRV8824 de Pololu est donc retenue pour la mise en œuvre du pont tournant. Le prochain article portera sur l’algorithme du choix du plus court chemin.

Notes

[1Certes, je construis un réseau à l’échelle N mais je pense aussi à mes petits camarades H0istes.

[2Lorsque le Mixed Decay est sélectionné.

[3Si FAULT passe à l’état bas, le composant est en erreur et la valeur à laquelle DECAY est mis n’a pas d’importance.

25 Messages

  • Bonjour je m’appel Olivier,
    Je pratique moi aussi l’échelle N, et j’ai essayé de faire fonctionner mon pont tournant 32 positions, a l’aide d’une carte arduino et d’un moteur 64pas reducté (pour le programme, je me suis fait aider) qui entraîne le pont via 2 poulies et une courroie. Pour la commande, j’ai ajouté sur le dessus de la carte, un écran a 6 touche : left -1, Down -5, right +1, UP +5 et select pour commander le moteur.

    Le principe fonctionne, le pont tourne avec des petites saccades malgré un montage de type bagues et roulement, le plus gros problème est le jeu axial du moteur, j’ai un décalage de plusieurs mm. Je suis très intéressé par cet article, est ce que la précision de positionnement est conforme a un usage en N ?
    Je voulais savoir si il y avait la possibilité de l’adapter a mon matériel.
    Cordialement

    Olivier

    repondre message

    • Mise en œuvre de la DRV8824 pour un pont tournant 9 mai 2014 18:46, par Jean-Luc

      Bonsoir,

      En utilisant la sortie d’un moteur pas à pas non réducté et en ne mettant aucun mécanisme d’entraînement, il n’y a pas de jeu.

      La précision de positionnement est très bonne.

      Le moteur pas-à-pas 400 pas/tour que j’utilise en lui même présente une erreur d’angle d’environ 4%. Le DRV8824 a une précision de contrôle du courant variable selon l’intensité et cela correspond à une erreur d’1 µPas. L’erreur ne se cumule pas lorsque le moteur passe d’un pas à l’autre ou d’un µPas à l’autre. L’erreur totale maximum est de l’ordre de 2 micro-pas.

      Donc environ 0,06° d’angle. Sur un pont de diamètre 200mm, ça donne une erreur maximale de 0,1mm

      repondre message

      • Mise en œuvre de la DRV8824 pour un pont tournant 10 mai 2014 19:00, par olivier

        Bonjour Jean Luc,

        Merci pour cette réponse rapide, pour des raisons technique, je souhaite garder cette entrainement par courroie ( sans jeu) car il me permet de positionner le pont manuellement pour l’aligner sur une position. Je vais essayer de mettre des photos de mon pont fabriqué maison. Pour ce qui est de la précision de 1/10 cela me convient parfaitement. N’étant pas trop dégourdi pour la mise en oeuvre de commande, est ce que je peux me servir de mon écran et de mes boutons pour commander le pont. J’ai lu l’article qui permet de positionner le pont a une position X via un lecteur optique, je suis plutôt dans la philosophie, de toujours arrêter le pont a la même position et ensuite reprendre en avançant et reculant jusqu’à la position voulue. Cette philosophie est en accord avec mes connaissances. Comme on dit il n’y a que ..... alors avec un peu d’aide je peux peut être changer d’avis.

        Encore merci

        Olivier

        repondre message

        • Bonjour,

          On peut se passer du lecteur optique. Toutefois je déconseillerais de tourner le pont trop vigoureusement à la main alors que l’électronique est hors tension. En effet, le courant induit par les bobines du moteur va se traduire par une augmentation de tension au bornes du DRV qui lui est bloqué et cela peut conduire à la destruction du composant.

          Il n’est pas très compliqué de caler le pont via les boutons au démarrage, un réglage initial, puis de mémoriser en EEPROM la position. J’ai expliqué ça dans « Détection du zéro du pont tournant ».

          Vous pouvez conserver votre interface de commande actuelle même si je pense qu’idéalement il serait mieux d’avoir un bouton par position du pont correspondant à une voie.

          repondre message

          • Mise en œuvre de la DRV8824 pour un pont tournant 11 mai 2014 19:05, par olivier

            Bonjour Jean Luc,
            Je pense que je me suis mal exprimé, pour le positionnement, je dévisse la vis de la poulie d’entrainement et lorsque je suis aligné, je la resserre pour conserver la position. J’ai fait des photos de mon pont par contre je ne vois pas comment les insérer dans ma réponse. Pour ce qui est d’un bouton par position, l’idée set bonne, par contre il faut que le système garde la position "0" en mémoire, ce qui n’est pas mon cas actuel, a chaque démarrage, il repart de la position ou il se trouvait. Je vais donc commander la DRV8824, le moteur, pour les boutons poussoirs (y a t-il un modèle spécial) ou peut on utiliser un clavier, ensuite, j’essayerais de mettre tout cela en oeuvre, seriez vous ok pour me donner un coups de main pour le coté programme. Je vais regarder pour la détection du zéro

            Merci d’avance

            Olivier

            repondre message

            • Mise en œuvre de la DRV8824 pour un pont tournant 14 mai 2014 08:24, par Jean-Luc

              Bonjour Olivier,

              Une alternative pour le positionnement est de faire tout simplement tourner le moteur pas-à-pas jusqu’à la position souhaitée. Avec 12800 µPas/tour, l’incrément d’un µPas à la périphérie du pont (150mm de diamètre) est inférieur à 0,04mm. Ceci permet d’éliminer une source de jeu en supprimant l’entrainement et en mettant une sortie directe, qui d’ailleurs est aussi fixée au moyen d’une vis et permet, en la desserrant, un positionnement à la main.

              (on ne peut pas mettre de photo directement dans les messages. Il faut héberger l’image sur un serveur ou sur une dropbox et mettre un lien vers l’image.)

              Oui il faut que le système garde la position courante. Pour cela, il suffit de la mémoriser dans l’EEPROM de l’Arduino. C’est expliqué dans le paragraphe « La solution sans capteur » de « Détection du zéro du pont tournant ».

              Pas de modèle spécial pour les poussoirs. J’utilise un clavier analogique, ce qui permet d’économiser des broches. Mais si il n’y a pas de capteur de position absolue qui monopolise 7 broches, on peut utiliser ces broches laissées libres pour un clavier 9 (6 broches) ou 16 (8 broches) boutons avec adressage matriciel. La bibliothèque Keypad supporte ce genre de clavier.

              Pas de problème pour vous donner un coup de main :).

              repondre message

              • Mise en œuvre de la DRV8824 pour un pont tournant 14 mai 2014 18:17, par olivier

                Bonjour Jean Luc,

                Merci pour cette réponse encourageante. Je vais mettre les photos sur un site . J’ai essaye de comprendre ce qui est plus haut dans les programmes, mais je ne doit pas avoir la bonne logique. Je m’explique pour mon exemple : 32 positions, 1 position de ref a zéro, 31 autres position de 400µpas chacune, donc en créant un répertoire avec pour chaque position le nombres de pas
                Pos1=0, Pos2=400 ....., ensuite, il "suffit" de taper le N° de voie sur le clavier, avec la règle des chemins 1 et 2 pour aller au plus court en prenant le principe d’accélération et de ralentissement pour faire plus vrai. Voila comment je vois les choses. Est ce que ma logique est bonne ou pas
                Pour ce qui est du clavier, est ce que je peux le brancher sur le mien qui a déjà 5 touches, ou faut il que je rachète l’ensemble. Pour les photo, il me reste un peu de boulot, mais pour le finir, il me faut l’installer et finir tous les tests
                http://www.noelshack.com/2014-20-14...

                Merci encore

                Olivier

                Voir en ligne : Pont tournant

                repondre message

                • Mise en œuvre de la DRV8824 pour un pont tournant 15 mai 2014 08:44, par Jean-Luc

                  Bonjour Olivier.

                  Merci pour les photos.

                  En fait c’est l’inverse. Il y a 400 pas et 32µPas par pas pour un total de 12800µPas. Quand le DRV est allumé, il se cale sur le 1/2 pas le plus proche (chacune des bobines du moteur est alimenté à 50%). Donc en ce qui concerne la mémorisation de la position courante, il faut mémoriser à la fois le pas où le moteur était la dernière fois et le µPas.

                  Les 32 positions possibles correspondant à une sortie c’est autre chose et d’ailleurs, il n’est plus nécessaire de se limiter à 32. D’une part, seules les positions qui correspondent à une sortie sont intéressantes et d’autre part, on a juste à avoir une table de correspondance que l’on peut mémoriser dans le programme entre µPas et sortie. Donc, si par exemple il y a 6 voies comme sur mon réseau, il suffit d’un tableau de 6 éléments :

                  1. unsigned int microPasPourVoie[6] = {
                  2. 0,
                  3. 867,
                  4. 4261,
                  5. 6687,
                  6. 8955,
                  7. 10956
                  8. };

                  Télécharger

                  C’est un exemple, j’ai pris des valeurs de µPas au hasard.

                  Pour remplir cette table, il faut un calage manuel, c’est à dire en déplaçant le pont via une interface avancer-reculer-valider.

                  Et ensuite avec un clavier 6 boutons, idéalement disposés comme les voies et qui serait intégré au TCO, on donne directement la voie à atteindre. Mais bien sûr on peut faire avec une sélection dans un menu via un LCD mais c’est moins pratique.

                  repondre message

                  • Mise en œuvre de la DRV8824 pour un pont tournant 15 mai 2014 18:36, par olivier

                    Bonjour Jean Luc,

                    Je viens de lire ta réponse avec attention, si j’ai tout compris, lors de l’allumage de la DVR il faut 2 boutons indépendant pour caler le pont, sur la position zéro et la mémoriser avec un bouton associé sur le TCO disposé suivant le plan de voie.Et ensuite, faire de même pour les autres voies. Par contre ce que j’ai du mal a comprendre :
                    "Donc en ce qui concerne la mémorisation de la position courante, il faut mémoriser à la fois le pas où le moteur était la dernière fois et le µPas"

                    Et ensuite, pour mettre les µPas dans le programme, il se mettent lors de la mémorisation ou faut il le deduire en fonction de l’angle ?

                    J’ai ajouté un lien avec le dessin de mon projet, pour le réaliser, il me faudra 19 boutons pour les voie, plus 3 pour avancer et reculé le pont et valider. C’est pour cela que j’était parti sur un clavier ou j’aurais pu taper le N° de la voie a atteindre, affiché sur un ecran LCD suivant le shéma de la rotonde sur mon TCO

                    Excuse moi si je suis un peu long a la détente, mais je suis plus doué pour la méca et la construction des structures

                    Olivier

                    Voir en ligne : http://image.noelshack.com/fichiers...

                    repondre message

                    • Mise en œuvre de la DRV8824 pour un pont tournant 16 mai 2014 17:23, par Jean-Luc

                      Bonsoir,

                      Je parlais de mémoriser le pas entier (de 0 à 399 pour un moteur 400 pas/tour) et le µPas entre 2 pas (de 0 à 31).

                      Les deux sont mémorisés lors de la phase de mémorisation.

                      Ah oui, 19 ça fait beaucoup. À vous de voir si le travail de réaliser une carte avec 19 bouton vaut le coup comparé à un clavier numérique où taper le numéro de voie. L’avantage d’un tel clavier est de le trouver tout fait pour un prix très raisonnable.

                      repondre message

                      • Mise en œuvre de la DRV8824 pour un pont tournant 16 mai 2014 17:24, par Jean-Luc

                        À y réfléchir, pourquoi ne pas mettre un potentiomètre pour désigner la voie ?

                        repondre message

                        • Mise en œuvre de la DRV8824 pour un pont tournant 17 mai 2014 10:57, par olivier

                          Bonjour Jean Luc,

                          Je commence a comprendre le positionnement, ayant une voie avec un angle constant de 11.25°, il y a un déplacement de 12.5 pas entre 2 positions, donc 12 pas et 16µPas. Il me faut garder cet angle, car le coté de référence étant celui de la cabine, et l’entrée dans les stalles se faisant en marche avant c’est plus facile a gérer.Voir les photos historiques que j’ai trouvé.

                          Pour ce qui est de la commande, qu’est ce qui est le plus facile a mettre en oeuvre, un clavier avec écran ou un potentiomètre avec écran et je suppose un bouton pour valider ?

                          En fonction du choix y a t il un modèle spécial et un marchand ou je puisse les commander

                          Cordialement

                          Olivier

                          Voir en ligne : Pont tournant

                          repondre message

                          • Mise en œuvre de la DRV8824 pour un pont tournant 18 mai 2014 10:44, par Jean-Luc

                            Bonjour Olivier,

                            C’est exactement ça. Les angles des voies étant connus, il suffit de traduire ces angles en pas et µPas.

                            Je pense qu’un potentiomètre est plus intuitif. Il existe des potentiomètres qui n’ont pas de butées mécanique et tournent par conséquent de manière continue. Côté Arduino la position se traduirait par une valeur analogique lue via un analogRead. Voici par exemple un modèle vendu chez TME. C’est un peu plus cher qu’un potentiomètre ordinaire car ce sont généralement des modèle de précision. Il faut également un bouton muni d’un index

                            Il n’est pas nécessaire d’avoir un bouton de validation. Le programme sur l’Arduino peut enregistrer les changements de valeur du potentiomètre et si au bout de 2 secondes, par exemple, la valeur n’a pas changé, le mouvement du pont est effectué. Donc on tourne le potentiomètre pour pointer sur la position voulue et 2 secondes plus tard le pont démarre. On a juste une molette avec un index, c’est une interface extrêmement intuitive et simple. Mais rien n’empêche de conserver le clavier et l’écran pour afficher des messages et effectuer des fonctions spéciales comme le réglage du 0 ou l’ajustement d’une position de sortie. En effet la finesse de positionnement du moteur pas à pas en mode µPas est bien supérieure à ce que l’on peut faire mécaniquement à la main et il peut être intéressant de pouvoir faire des réglages fins pour ajuster la position de sortie.

                            repondre message

                            • Mise en œuvre de la DRV8824 pour un pont tournant 18 mai 2014 18:50, par olivier

                              Bonjour Jean Luc,

                              Suivant tes conseils, je vais partir sur le potentiomètre de chez TME avec le bouton associé. Il me faudra faire un rond avec les positions des voies pour arrêter le curseur sur la voie voulue . Je possède déjà un écran avec des boutons (voir le lien joint), est ce que je peux l’utiliser pour la mise a Zéro et les fonctions spéciale. Ensuite, j’ai vue sur ton article, que tu avais fabriqué un support pour DRV avec une prise pour brancher le moteur, je viens de le recevoir, mais il n’y a pas de prise au bout. Est ce que les connecteur type MOLEX sont adapté pour le branchement : MX5267-04A (mâle) et MX5264-04 (femelle) de chez TME

                              Cordialement

                              Voir en ligne : Ecran

                              repondre message

                              • Mise en œuvre de la DRV8824 pour un pont tournant 19 mai 2014 08:49, par Jean-Luc

                                Bonjour Olivier,

                                Oui, cette interface, écran + bouton, convient tout à fait pour faire les réglages. Les connecteurs sont ok aussi. Attention, le connecteur femelle est vide. Il faut acheter séparément les douilles de contact. J’utilise le même genre de matériel. Je place le fil dénudé de manière à ce que le conducteur soit au niveau des pattes centrales et l’isolant au niveau des pattes longues à l’extrémité la plus éloignée sur la photo. Je replie les pattes sur le conducteur et l’isolant à la pince puis je soude le conducteur.

                                repondre message

  • Bjr à tous
    Suite aux réponses ci-dessus je propose pour la commande du pont un système à encodeur numérique avec ou sans contact de validation. (environ 3€).
    http://www.selectronic.fr/encodeur-...
    J’ai utilisé ce composant sur ma régulation de chauffe eau solaire pour faire défiler les menus et m.à.j de paramètres via un aff. 2x16 caractères ... C’est sympa ! ;)
    Dans le cas présent je vois bien des numéros sur les remises ou voies correspondantes.
    Puis à la mise sous tension, arduino connaissant la position courante qui a pu varier depuis la dernière utilisation (femme de ménage maladroite, chat énervé, etc) recale le pont sur la voie médiane de la remise. La position courante est affichée sur un ou deux "sept segments" suivant la taille de la remise.
    L’encodeur rotatif (sans fin) est actionné pour afficher la sortie/entrée souhaitée ; l’afficheur indique le numéro cible et le pont rejoint la voie correspondant à ce numéro.
    On peut pour reprendre la proposition déjà faite et se passer du contact validation si on a le temps d’attendre 2 ou 3 secondes pour que l’arduino valide lui même le nouveau choix.
    jpjcb66

    repondre message

      • Un petit exemple simple (pour ma régulation solaire) :

        // -------------- Gestion encodeur ------------------
        newPosition = myEnc.read()/4 ; // Nlle position = myENc/4 Gestion encodeur
        if (newPosition != oldPosition)
        oldPosition = newPosition ;
        // Serial.println(newPosition) ; // Pour les tests
        switch (newPosition)
        case 0 :
        page0() ; //
        break ;
        case 1 :
        page1() ; // Tempé S3 S4 S6
        break ;
        case 2 :
        page2() ; // SET DELTA-T
        break ;
        case 3 :
        page3() ; // SET HYST
        break ;
        case 4 :
        page4() ;
        break ;
        case 5 :
        page5() ;
        break ;
        case 6 :
        page6() ;
        break ;
        case 7 :
        page7() ;
        break ;
        default :
        page7() ;


        repondre message

    • Mise en œuvre de la DRV8824 pour un pont tournant 5 février 2016 11:18, par Jean-Luc

      Bonjour.

      Un encodeur a l’avantage de ne pas avoir de zéro. Le zéro est fixé arbitrairement par l’informatique au démarrage. C’est tout à fait adapté à une sélection dans un menu, c’est également tout à fait adapté à une commande de locomotive car on veut que la locomotive reste à l’arrêt à l’allumage alors qu’avec un potentiomètre, elle démarre à la vitesse spécifiée par le potentiomètre.

      Mais un encodeur a aussi le désavantage de ne pas avoir de zéro. Par conséquent, la position du curseur sur la représentation du pont tournant peut ne pas correspondre. Il faut donc faire le zéro de l’encodeur manuellement. Le deuxième défaut d’un encodeur mécanique est qu’on rate des crans. Ça n’est pas gênant pour sélectionner un menu ou pour une molette de vitesse mais ici, au fur et à mesure que l’on va tourner, la commande va se décaler par rapport au pont.

      Donc non, ce n’est pas une bonne solution.

      repondre message

      • Je pense m’être mal exprimé. Ou je me suis mal compris moi-même ce qui est plus grave !
        En fait dans mon idée l’encodeur associé à l’afficheur 7 seg. tourne en boucle (si on l’actionne) affichant juste la voie sélectionnée parmi celles disponibles.
        Celui que j’utilise est cranté + contact.
        Dans l’affichage de mes menus une variable est incrémentée ou décrémentée sans ambiguïté ce que décrit mon sketch avec les instructions "switch" et "case",. Je vais dans l’exemple, d’une variable 0 à 7 dans un sens ou l’autre. Ce qui compte c’est la copie de la variable "voie" sur l’afficheur. Ensuite suivant ce qui a été décrit avec talent plus haut grâce à la roue codeuse le calculateur connaissant précisément la position courante de l’entrée du pont parmi 100, il lui est facile avec une table de correspondance de calculer le nombre de pas entre la nouvelle valeur affichée (nouveau n° de voie) et la position courante.
        Il faut voir l’encodeur, son afficheur et sa variable comme un module indépendant juste chargé d’afficher bêtement un choix de n° de voie parmi x voies. A chaque n° de voie correspond une variable fixe liée à une table de positions du moteur p à p. C’est pareil que le potar sans fin (ou avec d’ailleurs) dont on va convertir une valeur analogique en numérique ou un BP+ un BP- et un BP valid. Là on a directement une valeur numérique précise. Après on peut jouer sur le nombre de pas de l’encodeur pour passer de N à N+1 affiché.
        Peut-être ai-je mal compris le fonctionnement décrit par J-Luc et Olivier.
        Mais ce n’est pas grave c’est juste une suggestion. Perso dès que je reçois le matos, j’essaie pour valider ou expulser le concept. :))
        jpj

        repondre message

        • Mise en œuvre de la DRV8824 pour un pont tournant 5 février 2016 15:52, par Jean-Luc

          Ok !

          Je crois plutôt que c’est moi qui avait mal compris. Je comprends maintenant. Le choix de la destination du pont tournant se fait en la sélectionnant dans un menu.

          Pour ma part je voyais plutôt une molette d’où le chois d’un potentiomètre sans butée.

          repondre message

          • Ou plus simple avec un afficheur 7 segments I2C. Mais l’un n’empêche pas l’autre.
            Le tout est de savoir quelle voie a été sélectionnée.

            repondre message

            • J’ai vu le superbe feedback circulaire du pont sur e-train.fr.
              J’ai vu également qu’on retrouve les mêmes questions et mêmes compliments justifiés.
              Tu sembles un peu à cours d’entrées sur l’arduino. Les 7 capteurs opto auraient pu avantageusement transiter par un PCF8574 et son bus I2C, non ?
              D’ailleurs sur le même bus je verrais bien un afficheur 7 seg au centre de la couronne de leds. pour indiquer la voie cible.
              Mais la video a de la gueule !

              repondre message

      • Un exemple d’encodeur monté sur mon proto de régul solaire. ICI
        On est page 4. Je n’occupe que les entrées 2, 3 et 4 fonction valid comprise.

        repondre message

Répondre à cet article

Les thèmes

Archives

Informations

ModelleisenbahN | publié sous licence Creative Commons by-nc-nd 2.0 fr | généré dynamiquement par SPIP & Blog'n Glop