• accueil
  • réseaux à l'échelle 0
    • réseau jouet ancien
      • présentation
      • catalogue LR
      • photos du matériel roulant
    • réseau jouet moderne
      • présentation
      • quelques videos
      • matériel roulant
      • 131T ETS et fumigènes
      • portique intermodal
    • réseau modulaire
      • présentation
      • photos
      • vidéos
      • exploitation du réseau
      • matériel roulant
      • le parc d'attractions
      • le pont tournant
  • réseaux de monorails
    • introduction
    • histoire des monorails
    • maquettes de monorails gyroscopiques
    • principes de la levitation magnétique
    • monorail jouet à sustentation magnétique
    • maquette de lévitation électromagnétique
  • train de jardin
    • présentation
    • Matériel roulant
    • 030T CDN
    • autorail de Dion
    • autorail Billard
    • Mallet LGB
    • BB400 des CP
    • Vapeur vive Emma
    • Vapeur vive Millie
    • Vapeur vive MIKADO
    • Loco vapeur 031T ACO
    • Exploitation du réseau
    • Rétrosignalisation
    • Wagon dételeur
    • Liens
  • techniques
    • électronique
      • présentation
      • alimentation pwm
      • Détecteur de passage infra rouge
      • Commande d'une plaque tournante
      • Comment réaliser un oscillo pas cher
      • Utilisation d'un servomoteur
      • Commande d'aiguille par décharge capacitive
      • Commande d'un fumigène pulsé par un décodeur ESU Loksound
    • informatique
      • généralités
      • port parallèle
      • port série
      • port USB
      • Qbasic et Freebasic
      • Visual Basic
      • Exploitation d'un réseau en Visual Basic
      • Commande d'un réseau par manette de jeu
      • Commande vocale d'un réseau
    • ARDUINO
      • introduction
      • Sonorisation d'une locomotive
      • Radiocommande et sonorisation d'une loco sans DCC
      • Module de sonorisation d'un réseau
      • Applications du BLUETOOTH au modélisme ferrovaire
    • Fumigènes
    • dcc
      • Introduction
      • Structure des paquets DCC
      • ARDUINO et DCC
      • Utilisation d'un ampli audio comme booster
      • Création d'un signal DCC avec un PC
      • Contrôle d'un signal DCC
      • Rétrosignalisation
      • Détecteurs d'occupation
      • Utilisation du LokProgrammer
      • SPROG II
      • DCC transmis par radio
      • Présentation du programme CARTO-DCC
      • Commande d'un réseau DCC en WiFi
      • programmation des locos MTH
      • Régulateur DCC à commande vocale en Français
      • Commande des aiguilles en DCC
      • Les décodeurs sonores
  • Contact




  • Commande d'un réseau en DCC avec un module ARDUINO

    Commande d'une plaque tournante avec un moteur pas à pas


    1 Cahier des charges

    Il s'agit de piloter en manuel et en DCC une petite plaque tournante qui n'a que trois positions possibles: 0, 90 et 180 degrés. Cette plaque tournante sera intégrée dans un des modules du réseau du Cercle Atlantique du Zéro.

    La solution retenue est l'utilisation d'un moteur pas à pas commandé par un module ARDUINO et un driver.
    L'ARDUINO assure à la fois le décodage DCC et la commande de la plaque tournante.
    Le système est constitué des éléments suivants:
    - un moteur pas à pas
    - un driver
    - un module ARDUINO UNO
    - un potentiomètre
    - une alimentation 12 V
    - les connecteurs

    2 La plaque tournante

    Le système est destiné à piloter une plaque tournante de chez VAPEURLAND. de diamètre 21 cm, réalisée en laiton et bois.



    Pour les premiers essais, j'ai utilisé un plateau tournant pour TV de diamètre 25 cm. Ce plateau monté sur roulement à billes coûte 5 Euros chez Pearl Diffusion.



    3. Le moteur pas à pas

    Il s'agit d'un moteur bipolaire à 400 pas acheté chez SELECTRONIC.

    Voici une photo du moteur.



    Ses caractéristiques sont les suivantes:
    Type : Bipolaire 2 phases
    Couple de maintien : 35N-cm
    Angle de pas : 0,9°
    Courant par phase : 0,3A
    Tension : 12,0V
    Inductance par phase : 90,0mH
    Le cablage est donné sur la figure ci-dessous.



    4. Le driver

    J'ai utilisé un module de pilotage de moteur L298 pour ARDUINO acheté chez TIPTOPBOARDS.
    Ce module contient un double pont en H et peut donc piloter un moteur pas à pas.

    En utilisant des sorties PWM de l'ARDUINO, il est possible avec le module L298 d'obtenir plusieurs micro-pas par pas, avec passage progressif du courant d'une bobine à l'autre.
    Le programme qui permet de passer de l'entrée A de la bobine 1 à l'entrée B de la bobine 2 est le suivant:
    :


    n est le nombre de micro-pas par pas (1,2,4,8 ou 16)
    dt est le temps d'arrêt entre 2 pas
    dn=pi/(2*n); avec pi=3.1416

    Avec n=4 (4 micro-pas par pas), ce qui correspond à 1600 pas pour le moteur utilisé, le résultat est satisfaisant. On ne voit plus les saccades.

    Les connexions entre le module L298 et le moteur sont les suivantes:
    Out1 est relié à l'entrée A de la bobine 1 (fil brun)
    Out2 est relié à l'entrée C de la bobine 1 (fil blanc)
    Out3 est relié à l'entrée B de la bobine 2 (fil orange)
    Out4 est relié à l'entrée D de la bobine 2 (fil vert)

    Les entrées IN1, IN2, IN3 et IN4 du module sont à relier à 4 sorties PWM de l'ARDUINO ( j'ai utilisé les sorties 3,9,10 et 11)

    5. Le circuit de commande avec l'ARDUINO

    Le potentiomètre qui permet de commander manuellement le moteur pas à pas est connecté comme suit:
    - une broche au +5V
    - la broche du milieu à l'entrée A1 de l'ARDUINO
    - la troisième broche à la masse

    Le signal DCC est appliqué entre l'entrée 2 de l'ARDUINO UNO et la masse en insérant un circuit d'adaptation qui permet de réduire l'amplitude du signal DCC issu d'une centrale avec une amplitude de 14 à 16 volts.
    Le schéma du circuit est représenté ci-dessous.



    Et voici une photo du boîtier de commande de dimensions 10,5 x 6 x3,5 cm.


    Le boîtier de commande possède un bouton relié au potentiomètre à quatre positions:
    position 0: commande en DCC
    position 1: 0 degrés
    position 2: rotation de 90 degrés
    position 3: rotation de 180 degrés

    L'ARDUINO assure à la fois le décodage DCC et la commande de la plaque tournante.

    Lorsque l'on commande la plaque en DCC avec une manette LENZ, les commandes sont les suivantes:
    adresse: 66 (modifiable évidemment)
    vitesse: permet le choix entre 3 vitesses de rotation de la plaque (40, 80 ou 160 secondes par tour)
    fonction F0: position 0 degré
    fonction F1: position 90 degrés
    fonction F2: position 180 degrés
    fonction F3: position 270 degrés

    5.1 Commande par un ARDUINO UNO

    Les affectations des broches de l'ARDUINO sont les suivantes:
    A1: connecté au point milieu du potentiomètre
    GND: connecté à une broche du potentiomètre et à l'entrée Masse du module L298
    +5V: connecté à une broche du potentiomètre
    Vin: connecté à l'entrée Vcc du module L298 (+12V)
    broche 2 (entrée): entrée du signal DCC
    broche 3 (sortie PWM) : connecté à l'entrée IN1 du module L298
    broche 9 (sortie PWM) : connecté à l'entrée IN2 du module L298
    broche 10 (sortie PWM) : connecté à l'entrée IN3 du module L298
    broche 11 (sortie PWM) : connecté à l'entrée IN4 du module L298

    5.2 Commande par un ARDUINO PRO MINI

    Il y a au moins 3 bonnes raisons de préférer un ARDUINO PRO MINI à un ARDUINO UNO:
    - le coût, on peut trouver un PRO MINI à moins de 4 Euros
    - l'encombrement (la taille est très réduite, ce qui facilite l'insertion dans un petit boîtier)
    - le cablage est fait en soudant les fils directement sur le circuit imprimé, ce qui est beaucoup plus fiable que l'utilisation des connecteurs de l'ARDUINO UNO.

    Le seul inconvénient est que le PRO MINI ne peut pas être alimenté en 12V. Il y a bien un régulateur intégré au circuit, mais il n'est pas fiable. La meilleure solution est d'alimenter l'ARDUINO en 5 V en utilisant la sortie 5V du module L298

    Les affectations des broches de l'ARDUINO PRO MINI sont les suivantes:
    A1: connecté au point milieu du potentiomètre
    GND: connecté à une broche du potentiomètre et à l'entrée Masse du module L298
    Vcc: connecté au +5V du module L298, une broche du potentiomètre doit aussi être connectée au + 5V
    broche 2 (entrée): entrée du signal DCC
    broche 3 (sortie PWM) : connecté à l'entrée IN1 du module L298
    broche 9 (sortie PWM) : connecté à l'entrée IN2 du module L298
    broche 10 (sortie PWM) : connecté à l'entrée IN3 du module L298
    broche 11 (sortie PWM) : connecté à l'entrée IN4 du module L298

    6. Le programme de l'ARDUINO

    Le programme de l'ARDUINO ainsi que la librairie DCC peuvent être téléchargés en cliquant ici.

    Le dossier "NmraDcc" qui contient la librairie doit être plaçé dans le dossier "librairies" de l'ARDUINO.

    7. Une video qui montre les résultats

    Voici une vidéo qui montre l'exécution d'une séquence de déplacement de 90 et 180 degrés avec différentes vitesses de déplacement: 80, 40 et 160 secondes pour un tour complet de la plaque (360 degrés).



    8. Commande en DCC d'une plaque tournante à 5 positions

    Suite à une demande d'un modéliste, j'ai modifié le programme de commande de la plaque pour l'adapter à une plaque à 5 positions comme montré sur le schéma ci-dessous.



    La commande de la plaque se fait uniquement en DCC (la commande par potentiomètre a été supprimée). La plaque se commande comme une locomotive d'adresse 66.

    La commande de vitesse permet de faire varier la vitesse de rotation de la plaque (3 vitesses possibles).

    La commande de chaque position est affectée à une touche de fonction:
    F0 position 0
    F1 position 1 (36 degrés)
    F2 position 2 (72 degrés)
    F3 position 3 (108 degrés)
    F4 position 4 (144 degrés)
    F5 position 5 (180 degrés)
    Lorsque l'on coupe la fonction, celà coupe le courant dans les bobines.

    Le passage d'une position à l'autre (par exemple 1 à 4) doit s'effectuer comme suit:
    activer F1 et attendre que la plaque atteigne sa position
    désactiver F1, ce qui coupe le courant dans les bobines
    activer F4 et attendre que la plaque atteigne sa position
    désactiver F4, ce qui coupe le courant dans les bobines

    Le programme permet de mémoriser la position de la plaque lors d'une coupure d'alimentation de l'ARDUINO (j'ai utilisé l'EEPROM de l'ARDUINO).

    Le programme de l'ARDUINO ainsi que la librairie DCC peuvent être téléchargés en cliquant ici.

    Retour page Arduino DCC


    Retour page d'accueil