Pont transbordeur + ARDUINO

La commande actuelle de mon transbordeur est assurée soit par ma centrale station soit par l’intermédiaire de mon Keyboard.
Voici comment cela fonctionne actuellement.
Je dispose de 4 touches repérées sur la photo de 1 à 4 :

  • Les touches 1 et 2 permettent de sélectionner le sens du déplacement.
  • La touche 3 commande l’ordre de mise en mouvement du pont.
  • La touche 4 commande l’arrêt du pont. Mais cet arrêt est un peu particulier. En effet, le pont s’arrête à la prochaine voie que le pont rencontre.
    [attachment=8]Keyboard.JPG[/attachment]
    Voici maintenant mon projet :
    Le pont dispose de 9 voies que je vais numéroter de 0 à 8.
    La voie 0 est la voie d’arrivée mais est aussi une voie de stockage.
    A l’aide d’une télécommande infra rouge basique (coût faible), je souhaite pouvoir commander la destination finale souhaitée (par exemple aller de n’importe quelle voie [sauf la voie de départ] à la voie 4 en appuyant sur la touche 4 de la télécommande.
    Remarque : A la mise sous tension de mon installation complète, le pont est toujours
    arrêté en face d’une voie.
    [attachment=7]pont R4.jpg[/attachment]
    Cela impose une modification sur ce pont transbordeur : Détecter la position du pont quand il est en face d’une voie.
    Pour finir sur le matériel nécessaire voici ce que je vais utiliser :
  • Une télécommande infra rouge et son capteur : Repère 1 et 2
  • Un ARDUINO UNO : repère 3
  • Un pont en H pour commander le moteur dans les deux sens : Repère 4
  • 1 relais 5V pour provoquer un arrêt en face de la voie demandée
    [attachment=6]Matos projet.JPG[/attachment]
    Je vais utiliser un ARDUINO UNO dont les caractéristiques sont les suivantes :
    • de 14 broches numériques d’entrées/sorties (dont 6 peuvent être utilisées en sorties PWM (largeur d’impulsion modulée)),
    • de 6 entrées analogiques (qui peuvent également être utilisées en broches entrées/sorties numériques).
    [attachment=5]arduino uno R.jpg[/attachment]
    Besoin théorique pour le projet :
    • 1 entrée pour le récepteur Infra Rouge,
    • 9 entrées pour connaître la position du pont,
    • 1 sortie PWN : pour la vitesse du moteur,
    • 2 sorties numériques : pour commander le sens de rotation,
    L’UNO sera donc occupé à 13 E/S pour 20 E/S disponibles.
    Amélioration envisagée :
    A proximité de ce pont transbordeur, j’ai mis un bâtiment genre “poste d’aiguillage” et dedans j’ai pensé mettre un pupitre avec des micros leds qui indiqueront la position du pont et son sens de déplacement.
    Il est alors nécessaire de pouvoir allumer :
    • 2 leds pour le sens de déplacement,
    • 9 leds pour indiquer la position du pont.
    Première solution : L’UNO n’est plus adapté et cela nécessite de passer à une carte telle que la 2560 MEGA R3.
    Deuxième solution : Faire la détection de la position du pont en utilisant une entrée analogique de l’UNO.
    Dans ce cas cela supprime les 9 entrées de détection de la position du pont.
    L’UNO sera occupé de la façon suivante :
    • 1 entrée pour le récepteur Infra Rouge,
    • 1 entrée analogique pour détecter la position du pont,
    • 1 sortie PWN : pour régler la vitesse du moteur.
    • 3 sorties numériques : pour commander le moteur (dont 2 pour le sens de rotation).
    • 2 sorties pour les leds pour le sens de déplacement,
    • 9 sorties pour les leds qui indiqueront la position du pont.
    Soit 17 E/S sur les 20 possibles.
    [attachment=4]Vue pont cde pupitre R.jpg[/attachment]
    Maintenant il est nécessaire d’avoir une détection de la position du pont.
    Une solution consiste à mettre des capteurs ILS en face de chaque voie et mettre 2 aimants sur le pont (un de chaque coté). Cela fait une modification importante du pont que je n’ai pas souhaitée entreprendre.
    Comme le pont alimente les voies de “garage” quand il est en face des voies, j’ai fait un montage simple avec l’ensemble suivant : Une résistance, une diode, un condensateur (100µF, 25V), un relais 12 V.
    Le pont alimente la voie de garage un peu avant la position idéale (rail central uniquement !).
    [attachment=3]pour alimenter rail.jpg[/attachment]
    [attachment=2]schéma détection position.jpg[/attachment]
    J’ai donc réalisé une carte électronique avec 9 fois l’ensemble décrit ci-dessus
    J’ai inclu les résistances permettant de gérer la tension de l’entrée analogique de l’Arduino. Cette tension donnera la position du pont.
    [attachment=1]vue interface ana.jpg[/attachment]
    Sur la carte Arduino j’ai réalisé une carte d’interface permettant de relier les différentes broches de l’Arduino sur différents connecteurs afin de faciliter le raccordement à mon réseau.
    [attachment=0]interface arduino.jpg[/attachment]
    Voici le lien pour visionner le film que j’ai confectionné pour montrer cette réalisation :
    Arduino et pont transbordeur
    vimeo.com/135556465
    Des questions, des interrogations, n’hésitez pas à me joindre et je vous répondrais le plus rapidement possible.

Bonjour Pierre

bravo pour cette réalisation , cela me donne des idées pour automatiser mon pont transbordeur qui pour l’instant fonctionne avec la commande Märklin de base.

As tu publié quelque part le programme Arduino correspondant ? je sera intéressé de l’avoir car mes connaissances en programmation Arduino sont limitées .

Ce qui serait génial serait que je puisse l’interfacer avec iTrain …

bonne soirée

Bonsoir Gilles,
Je publie petit à petit dans les différents forums à lequel je participe.
Je ne sais pas comment faire avec iTrain, mais avec ce que j’ai réalisé c’est autonome et pas mal.

Je profite de cette réponse pour indiquer à tous que j’ai aussi décidé d’avoir un blog sur ma passion.
Comme indiqué le poste de “commande” de ce pont est fait en découpe de carton.

J’ai donc fait plusieurs rubriques dont la découpe de carton et Arduino.

Voici le lien de mon blog : train-train41.eklablog.com/accueil-c26076176
Vous pouvez si vous le souhaitez vous inscrire à ma newsletter. Vous serez ainsi averti de tout nouvel article que je mettrais sur ce blog.

Comme Gilles si vous souhaitez avoir plus de renseignements (j’ai réalisé au moins 5 documents au format PDF), n’hésitez pas en me mettant un message privé et je vous répondrais le plus rapidement possible (en vous envoyant ce que vous souhaitez).
J’ai donc réalisé plusieurs programmes Arduino afin de maîtriser toutes les étapes de cette réalisation.
Tous ces fichiers sont, bien sûr, disponibles pour tous.

Arduinotement vôtre.
Pierre

Bonjour à tous,

Bravo Pierre pour ta réalisation :thks: :thks:

Pour mon pont Minitrix à l’échelle N j’ai fait plus simple, mais pas autonome… j’ai juste réalisé un décodeur au format DCC spécifique pour la commande du pont … Le décodeur utilise un PIC à 8 broches de Microchip.

Avec le pont Minitrix il est très facile de récupérer la position, il y a un contact en face de chaque position qui est mis à la masse quand le pont est situé en face de la position.
On peut donc relier chaque contact à une entrée digitale du PIC.
Pour diminuer le nombre de fils et n’utiliser qu’une seule entrée (analogique cette fois) du PIC j’ai opté pour une autre solution qui consiste à relier les contacts entre eux par des résistances et alimenter une extrémité en 5 Volts; quand le pont passe sur un de ces contacts il met le point correspondant à la masse, le PIC mesure alors une tension analogique proportionnelle à la position du pont, le maximum étant quand le pont n’est pas en face d’une voie de garage.

Ensuite pour la commande, comme il y a 7 positions possibles j’utilise 7 codes au format DCC + un 8ième servant à arrêter le pont en cours de déplacement si on le souhaite. Comme j’utilise un PC pour commander mes trains, il m’a suffi de dessiner un schéma du pont sur l’écran et d’y adjoindre des boutons en face de chaque position. :smiley:

J’utilise un driver de MOSFET pour la commande du moteur et un relai pour envoyer l’impulsion de démarrage.

Côté PIC j’utilise:

  • une entrée digitale pour le signal DCC
  • une entrée analogique pour lire la position
  • deux sorties pour commander le driver MOSFET
  • une sortie pour le relai d’impulsion
  • une sortie pour une led utilisée lors de la programmation de l’adresse et qui clignote pendant un déplacement.

Voilà une photo de la bête :

Comme je suis assez brouillon j’ai évidemment une dizaine de versions du logiciel et je ne sais plus laquelle fonctionne le mieux … La plus performante, après une reprogrammation d’adresse, fait un cycle complet de déplacement pour mesurer de façon exacte les valeurs analogiques de chaque position et les mémoriser.
Je n’ai pas réussi à éliminer complètement un petit problème, il arrive de temps à autre (rarement heureusement!) que le pont dépasse la position voulue, s’arrête à la position suivante et inverse le sens pour venir finalement à la position souhaitée. Il faudrait que j’essaie d’arrêter le pont une fraction de seconde quand il passe sur une position connue afin de laisser un peu plus de temps au convertisseur analogique pour faire sa mesure.

Bonne soirée :sunny:

Bonjour à toi Peter,

Est-ce que ton pont fonctionne bien.
Parce que moi le pont avance très très doucement et même parfois il ce bloque…
C’est très énervant.
En source Energie j’utilise un transfo MARKLIN 32VA

Bonsoir Seb,
Le fonctionnement n’était pas terrible mais il ne se bloquait pas (de mémoire).
Il était surtout très bruyant.
C’est pour cela que j’ai commencé à effectuer une remotorisation avant de changer son mode de commande.
Je vais faire bientôt un article sur ce sujet sur mon blog.

D’autres questions pas de Pb je ferais en sorte d’y répondre rapidement.
Cordialement.
Pierre

Re bonjour Seb,
Il y a un sujet sur ce forum ou j’ai expliqué ma remotorisation.

Je mets le lien : Pont transbordeur 7294 REMOTORISATION

Je dispose d’un document au format PDF que je peux envoyer par mail.
prière de me contacter par MP ou email directement via ce forum.

A+
Pierre

Bonsoir,

Voici le lien (modifié) à partir du nouveau forum :

LIEN

À plus ! :wink:

(Animateur)

Hello,

super post … :wink:

Cdt
X’tian

Merci beaucoup de votre appréciation. Cdt