Arduino

Bonjour à tous,

Quelqu’un a t’il connaissance de l’utilisation du micro-controller ARDUINO dans le monde digital Märklin?
Par exemple, l’ARDUINO MEGA 2560 peut gérer une cinquantaine d’E/S, des PWM, un bus I2C, …
De plus il est interfaçable avec un PC ou une tablette ANDROID. Tout cela en OPEN SOURCE.

Pour ma part, je l’utilise dans le domaine de la domotique. Et pourquoi pas en modélisme ferroviaire?

Dans l’attente de vos réactions

Amitiés ferroviaires

Guy

Bonjour Guy :smiley: ,

Tu vas certainement intéresser Jean-Louis et les quelques “bidouilleurs en informatique” du forum. :cheers: :cheers:

Ces discussions m’intéressent aussi, mais je ne suis pas un espécialiste du domaine. :unamused:

Pour utiliser ce type de matériel, il faudrait créer un programme pour gérer directement à partir d’un PC. Vouloir passer par une centrale existante, voire toutes les centrales disponibles, me semble pratiquement infaisable au niveau compatibilité. :pale:

A+,
Amitiés :sunny: ,
Christian

Bonjour,

Je viens de commencer à découvrir les Arduino 's et autre Beaglebone, après m’être intéressé aux Pic 's de Microchip pendant longtemps.
Je suis assez impressionné par les possibilités et la facilité.
Pas de projet ferroviaire spécifique.

Phil.

*micro microcontroleur c atmel linux python belgique belgie belgium uno mega
*

Pour s’y retrouver dans le monde Arduino: on execute un ‘sketch’ logiciel sur un ‘board’ qui peut recevoir des ‘shields’ par simple enfichage, pour accéder à d’autres fonctions matérielles.

Sur l’Arduino, on peut programer en C avec des librairies. On a entre autres de la communication serie et USB, et plein de pins digitales, analogiques, pwm.

Le Beaglebone fonctionne sous Linux, a accès, en plus de l’USB, au réseau par Ethernet, j’essaye du Python comme langage.
Il y a aussi le BeagleBoard et sa version -XM.

Pour info, quelques liens:

Beaglebone

Arduino site

Arduino ‘playground’

et des fournisseurs (possibilité internet, paypal):

MC-Hobby à Waterloo

MB Tronics Bruxelles Evere

Electro Shop Dendermonde

Arobose - France (Sud)

je dois encore ajouter des fournisseurs étrangers…

Phil.

*fournisseur magasin e-shop shop internet
*

Pour donner une idée de prix pour débuter:

Un Arduino Uno,
avec lequel on se connecte au PC par USB (cable fourni =NON, JE ME SUIS TROMPE, il faut uncable USB A-B =, l’alim vient de l’USB)
permet un tas d’expériences (et évidemment de réalisations réelles) en digital,PWM, I2C, analogique, …
pour 20 à 30 Euros.
Rien d’autre n’est nécessaire pour démarrer.

Les logiciels sont gratuits puisque tout ça est un projet ‘open’.
De nombreux exemples sont disponibles, la prgrammation en C est relativement facile en s’inspirant des exemples.

Le chargement du PC vers le board se fait par une simple touche dans le logiciel sur PC.

Un terminal est incorporé dans le logiciel PC pour communiquer dans les deux sens avec le board (un simple " prin(mon’texte);print(ma variable); " dans le programme en C envoie un message au pc.

Phil.

Bonjour à tous,

Depuis quelques mois, en attendant la fin de travaux de gros-oeuvre de la pièce que je vais réserver à mon nouveau réseau, je cogite sur les possibilités de l’Arduino.

  1. S88 : Avec un MEGA 2560, il est possible de rapatrier 54 détections de voie en utilisant le bus I2C. J’étudie le protocole MARKLIN afin de m’interfacer avec l’Intellibox. On peut trouver une MEGA pour 16 euros sur Internet. Soit 0,30 euros par entrées équiv. S88. C’est économique mais , pour être honnête, c’est pour le plaisir de comprendre le fonctionnement :wink:
  2. Protocle MOTOROLA : je ne m’attaque pas encore au MFX mais je m’intéresse au Motorola new version.
  3. K83: Il existe des “Opto Isolated 5V 8 Channel Relay Module Board for Arduino” qui peuvent servir à commander des aiguilles pour un prix de 1 euro par relais. Donc 2 euros par aiguille. Un MEGA peut donc adresser 27 aiguilles. Je m’intéresse aussi au multiplexeur CD74HC4067 pour tripler, par exemple, le nombre de sorties d’un Arduino MEGA ou UNO. Il faut voir si, en pratique, le temps de réponse est acceptable par rapport à celui d’un K83.
  4. Détection par canton: Jusqu’à présent j’ai utilisé des ILS avec les qualités et les défauts. VOIR les posts très intéressants sur ce forum. Je m’intéresse à deux autres approches. La première consiste à utiliser des “Ultrasonic Module HC-SR04 Distance Measuring Transducer Sensor for Arduino”. Cela semble fonctionner sur une voie mais je vérifie la “diaphonie” pour éviter d’avoir l’info de la voie d’à côté :blush: . La seconde consiste à utiliser des détecteurs infrarouges. Un test avec un “Optical Reflection Sensor – TCRT5000” placé entre deux traverses de voie K fonctionne parfaitement en gare fantôme mais est sensible à la lumière naturelle. Je me lance dans l’étude des IR à 38KHz qui sont moins sensibles à la lumière.
  5. Moteur lent pour aiguillage: il existe sur le marché des petits moteurs pas-à-pas avec board équipé d’un Darlington ULN2003 pour moins de 3 euros. Nettement moins cher qu’un servo ou un TORTOISE. Je fais des essais :bounce:
  6. Liaison entre les Arduino MEGA ou UNO. En plus, de la liaison I2C, il est possible de connecter un PC via des boards Ethernet. On limite ain les liaisons USB.
  7. Etant plus SOFTEUX que HARDEUX, je m’intéresse aussi à la gestion des interrupts sur ces cartes Arduino afin d’optimiser leur utilisation.

Il me reste jusqu’à la fin de l’année (fin des travaux de ma nouvelle pièce de FERROVIPATHE) pour concrétiser ces projets. Je ne sais pas ce qui sera réellement concrétisé mais je peux vous dire que c’est du boulot pour un pré-retraité comme moi :stuck_out_tongue:

Dans l’attente de vous lire.
Amitiés ferroviaires
Guy

Bonjour Guy,

Très intéressant! Tiens nous au courant de tes essais!
Le train miniature est une excellente occasion de faire du soft et du hard.

Bonjour,

J’en ai entendu parlé, mais je n’ai pas approfondi la chose car les PIC me conviennent parfaitement.

J’ai construit mon interface PC-booster avec un PIC qui se connecte facilement à un port USB.

Il se programme en C de façon assez simple et on peut charger l’application par le port USB.

J’ai écrit un programme qui lui permet de générer le signal digital en Motorola 1 et 2 étendu avec 27 pas de vitesse et 256 adresses.

J’ai écrit l’application côté PC qui permet de dialoguer avec le PIC et qui transforme mon PC portable en console évoluée avec keyboard, TCO, etc … voir ici

Évidemment cette application est en constante évolution et ne ressemble plus beaucoup à ce qu’il y a sur le lien ci dessus. :laughing:

Ensuite j’ai développé toute une panoplie de logiciels pour différents PIC qui me permet de réaliser des montages simples:

  • décodeur d’appareil de voie
  • décodeur de fonction
  • gestion “intelligente” de boosters
  • la rétrosignalisation est toujours en cours de développement …

Mais vu que j’ai récemment décidé de passer à l’échelle N, la priorité est de gérer le DCC … cela ne devrait pas être très dur à faire, il faut juste le faire :laughing:

Bonne journée :sunny1:

Bonjour,

Au niveau des fournisseurs, une mention spéciale à MCHobby
qui a un bon site avec documentation, un bon stock visible (Arduino, BeagleBone, Pinguino, RaspBerry, shields, breakouts, etc…) ,
et livre en Belgique en moins de 2 jours par BPack secure.
Les prix ne sont pas les plus bas, mais le service compte auss i!

Phil.

Bonjour à vous :smiley: ,

Merci de nous permettre de suivre vos ébats dans les possibilités informatiques offertes pour la gestion d’un réseau ! :cheers:

J’espère que vous pourrez vulgariser (pour les béotiens dont je fais partie :nerd: ) la mise en pratique des solutions “qui marchent” ! :suspect:

A+,
Amitiés :sunny: ,
Christian

Bonjour à tous,

Depuis quelques mois, en attendant la fin de travaux de gros-oeuvre de la pièce que je vais réserver à mon nouveau réseau, je cogite sur les possibilités de l’Arduino.

Il me reste jusqu’à la fin de l’année (fin des travaux de ma nouvelle pièce de FERROVIPATHE) pour concrétiser ces projets. Je ne sais pas ce qui sera réellement concrétisé mais je peux vous dire que c’est du boulot pour un pré-retraité comme moi :stuck_out_tongue:

Guy
Bonjour Guy, as tu avancé dans tes investigations sur l’Arduino ? Je pense piloter une partie de mon réseau de cette façon et je suis interessé par tes essais de capteurs divers.

A bientôt.

Bonsoir à tous,

Je continue à investiguer sur les détecteurs infrarouge.

J’utilise des rails K pour la partie visible du réseau et du C ou du M pour les voies cachées.

En ce qui concerne les voies K, j’ai testé différents détecteurs IR tels que

Vishay TCRT5000, … bon marché mais perturbation par la lumière des halogènes. Certains sur ce forum avaient déjà fait la remarque.
Sharp GP2Y0D810Z0F … trop cher … 10 euros
Rohm RPR220 … test en cours

Entre-temps, j’ai acheté sur eBay un Quadruple détecteur IR pour 7,50 euros. Ce sont en réalité des détecteurs de suivi de ligne pour robot. J’ai essayé en le plaçant entre deux traverses de voie K. On peut limiter la distance à 20mm. Pas d’influence d’une télécommande TV à plus de 20mm. Il faut coller une étiquette blanche sous la loco et sous la dernière voiture de rame si on veut gérer un minimum de ‘train integrity’.
En ce qui concerne la détection en voie cachée (M ou C), je teste un système émetteur - récepteur transversal. Pour éviter les interférences lumineuses, j’utilise le principe de la télécommande TV qui émet des bytes sur une fréquence de 38kHz générée par l’Arduino. Si, par récepteur, je n’accepte qu’une valeur comprise entre 0 et 255, j’évite les problème de diaphonie. Cela fonctionne très bien. L’alignement de l’émetteur et du récepteur est simple … mais n’est-ce pas un canon pour tuer des mouches. :blush: Etant adepte du KISS (keep it simple and smart) et du bon marché, je continue mes élucubrations :slight_smile:

Dans l’atente de vos remarques et conseils.

Amitiés ferroviaires
Guy

Bonsoir Guy, bonsoir à tous,

Je progresse dans ma recherche de système de détection de présence de train; N’ayant pas réussi à adapter les divers schémas trouvés à gauche et droite concernant la détection de courant ou de tension, j’ai pondu mon propre schéma après plusieurs heures de tatonnement :

J’utilise donc la technique de la portion de rail latéral isolé. Côté gauche du schéma je récupère la portion isolée et la référence par le rail central, côté droit je ressorts vers une entrée Arduino et je référence la masse de ce dernier au rail central.

Pas de train = Ov en entrée et en sortie.

Présence d’un train = 30v en entrée qui deviennent 18v après la diode et le condo, le pont diviseur de résistance me donne 5v en sortie et détection par l’arduino. La programmation permets ensuite de faire ce que l’on veut en utilisant les multiples possibilités de l’arduino.

i74.servimg.com/u/f74/17/81/82/50/schema10.jpg

Le proto fonctionne nickel. Je vais pouvoir passer à la phase de réalisation de ce module.

J’attends vos éventuelles remarques, notamment des pros de l’électronique.

Bonsoir Bruno,

Avec mes PIC j’utilise un montage de ce genre:

i74.servimg.com/u/f74/11/33/10/05/image111.jpg

En l’absence de véhicule sur le rail isolé l’entrée de l’Arduino est à la tension d’alimentation (+5 V par exemple), dès qu’un véhicule arrive elle passe à zéro.

Pour faire bien, on peut rajouter une petite capa (100nF par exemple) entre l’entrée de l’Arduino et la masse pour éviter les parasites dus au contact plus ou moins bons des roues sur les rails.

Bonne soirée :sunny:

Je dirais même, Bruno, que ta construction me paraît douteuse voire dangéreuse.

Et pourquoi à tout prix vouloir drainer des Ampères de la centrale digitale pour la détection ?

Bonsoir Bruno,

Avec mes PIC j’utilise un montage de ce genre:

En l’absence de véhicule sur le rail isolé l’entrée de l’Arduino est à la tension d’alimentation (+5 V par exemple), dès qu’un véhicule arrive elle passe à zéro.

Pour faire bien, on peut rajouter une petite capa (100nF par exemple) entre l’entrée de l’Arduino et la masse pour éviter les parasites dus au contact plus ou moins bons des roues sur les rails.

Bonne soirée :sunny:
Merci pour ce retour, je vais essayer cela demain. Donc avec ton montage, on se réfère au 2éme rail latéral et on ne touche pas au rail central ?

A+

Bonsoir à tous,

Pour moi, les deux solutions sont tout à fait correctes.

Dans la solution de Bruno, il y a un premier filtrage sur l’entrée. La gestion par le logiciel Arduino sera très simple.

Dans la solution de Jean-Louis, si on ajoute un petit compteur d’évènements ou une temporisation, c’est parfait.

Mais reste à résoudre le problème du rail coupé. Certaines petites locos telles que les Märklin 3000 et autres dont les prises au rail sont limitées risquent de s’arrêter à vitesse lente. Le débat a déjà été lancé sur ce forum.

Pour moi, il y a un autre problème si vous avez un train de voitures en 2R. Il est difficile de détecter l’intégrité de la rame. Dans le CdF réel, on table toujours sur l’avant-dernier essieu shunteur (principe de la simple panne). Mais il est possible que mon cerveau a encore la mentalité échelle 1/1 même au 87 ème :blush:

Bruno, avez-vous fait ce genre de test avec une 3000? Votre expérience m’intéresse.

A propos de l’arduino, j’ai lu qu’un certain Jan Weller avait créé le Maerklino qui gère les rétrosignalisations comme le HSI S88 de LDT . Cela permet de gérer 54 entrées pour une quinzaine d’euros. Je n’ai pas testé mais cela semble intéressant.

Ces jours-ci je teste le logiciel Rocrail sur une petite ligne avec deux aiguillages et les capteurs IR. J’ai également pris une licence temporaire ITrain pour comparer les deux.
J’avais écrit un logiciel perso en VB6 car j’avais été déçu par le manque de performance et la lourdeur du win-digipet (écrit en Pascal).
Mais il est possible que ITrain et/ou Rocrail soient LA solution pour gérer en automatique plus que quelques trains. Les commentaires que je lis sur le forum à propos de ITRAIN sont souvent élogieux.

Cordialement

Guy

Bonjour à tous,

@ Guy :Je ne connais pas la 3000, j’ai beaucoup de mal avec les réf locos ! Il semble que ce soit un petit modèle; J’ai fait des tests avec une petite Marklin diesel issue d’un coffret de démarrage et je n’ai constaté aucun problème même au ralenti extrème.

Je vais également regarder de près ce fameux MAERKLINO.

Je suis preneur de retour d’expérience sur la détection IR si c’est concluant.

@ Jean_Louis : Je suis au boulot je ne vais pas pouvoir tester ton schéma avant ce soir;

@ tous : Vous pouvez me tutoyer c’est plus simple :slight_smile: :slight_smile:

Bonjour,
Pourquoi ré-inventer la roue?
Le circuit passif de détection du s88 a fait ses preuves, et le rend pratiquement insensible aux parasites. (je ne parle pas du bus de liaison s88-centrale qui lui, dans sa version de base, est très parasitable).

Les problèmes de multi-détections dus aux mauvais contacts sont traités par soft, ou mieux, par une bonne stratégie des automatismes.

Bonjour,
Pourquoi ré-inventer la roue?
Le circuit passif de détection du s88 a fait ses preuves, et le rend pratiquement insensible aux parasites. (je ne parle pas du bus de liaison s88-centrale qui lui, dans sa version de base, est très parasitable).

Les problèmes de multi-détections dus aux mauvais contacts sont traités par soft, ou mieux, par une bonne stratégie des automatismes.
Pour ma part je souhaite avoir une totale maitrise de mon systeme et je n’est pas l’intention d’investir pour le moment dans une centrale station ou autre. Donc en détection le S88 doit bien faire son boulot mais je ne pense pas qu’il me ressorte 8 entrées distinctes utilisable par mon automate (S88 nécessite CS ?).