PROJET ARDUINO-JMRI (Module initial de démonstration)

  Utiliser Arduino pour créer tous les composants de commande et controle de train digital DCC. Ceci est le premier module de démonstration:

  1. Une centrale DCC++ 3A
  2. Une commande radio DCC++ Throttle  
  3. Un Raspberry PI 3 comme ordinateur linux avec JMRI.
  4. Un module de communication RS485
  5. Un module de détection des convois par consommation de courant.
  6. Un module pour la commande des Servos.
  7. Un module de connexion TCO avec boutons poussoirs.
  8. Un TCO - Réprésentation  des voies 

  Logiciel JMRI (Java Model Railroad Interface)

Centrale digitale DCC++ (3A) et Raspberry Pi

  • A gauche un arduino Uno (5V) (pas visible) et dessus un "moteurs shield", module de puissance 3A (15-18V)  à 2 sorties : voie exploitation et voie programmation. 
  • A droite un Raspberry Pi, veritable ordinateur avec le système explotation Rasbian Linux (distrinution Debian) et 4 port USB + connexion écran.
    Dans le Rasberry Pi est chargé le logiciel JMRI.
  • En bas au milieu, un multiplcateur de port USB avec dongle pour la souris et dongle WIFI (connexion téléphone portable.)
  • En bas a droite le module Radio HC12 433Mhz pour recevoir les informations de la télécommande.

 

 

 

  Connexion RS485

  • En haut, le module USB-RS485 pour connecter les différents Arduino l'ordinateur via le bus RS485. 32 Arduinos en série par port USB.
  • Sur chaque carte Arduino est soudé un module TTL-RS485 qui transmet l'information aux ports 0(Rx) et 1(Tx).
  • Chaque Arduino a une adresse entre 0 à 34.

   Module Arduino pour détection des trains.

  • A droite, un Arduino détection de courant. Chaque canton est connécté sur un fil à bloc opto-coupleur qui capte le passage de courant et retransmet l'info au programme JMRI par l'Arduino dédié.
  • Il est possible de connecter 8 à 10 détections par Arduino.

  Module Arduino pour servo-moteurs

  • En haut, a gauche, Arduino assure la commande des servos moteurs d'aiguillages (bas a droite) et la bascule de l'alimentation des pointes de coeur par relai (en bas au centre).
  • Le logiciel JMRI ou le bouton poussoir envoie une commande de changement de position au servo et au relai en meme temps.
  • Mise en mémoire dans l'Arduino en EEPROM de la position de l'aiguillage. Ainsi le servo ne change pas de position lors d'un redemarage, important pour le pas casser les tiges.

 

 

  Module Arduino pour TCO

  • En haut, à gauche le module Arduino du TCO. Il indique l'occupation des cantons, la position de l'aiguillage. Le module Arduino du TCO allume des leds sur le TCO
  • La commande d'allumage provient du logiciel JMRI qui est configuré pour indiquer les positions des aiguillages et l'occupation des cantons.
  • 10 sorties digitales pour un Arduino Uno et plus de 50 pour un Arduino Mega. Mais encore plus en utilisant le mutiplexage.
  • Le bouton poussoir envoi une commane à l'arduino qui change son état ON/OFF et renvoi la commande au logiciel pour donner l'ordre de changer la position de l'aiguillage.
  • Cette ordre peut être envoyé sur n'importe quel Arduino/Commande Servo. Les boutons poussoirs sont pour l'Arduino des entrées alors que les leds sont des sorties.

  Commande radio DCC++ (par Dave Bodnard)

  • Cette commande fabriquée à partir d'un Arduion Pro Mini et de divers composants permet la commande sans fil de la centrale DCC++
  • On peut commander 4 locos en simultané. Le changement de sens est fait en poussant l'encodeur rotatif et les fonctions des locos avec le clavier souple.
  • Il est possible de fabriquer le boitier avec du PVC découpé à la découpe laser.  Voir autre partie du site.
  • Cette télecommande fonctionne indépendament du logiciel JMRI.
  • Il est donc possible sur un réseau simple de ne pas passer par un logiciel, donc sans orditeur.
  • Plusieurs  télécommandes radios peuvent se contecter en meme temps sur une seul centrale DCC++. Plusieurs personnes peuvent commander des trains en même temps: