Une débutante dans le décor - Ep10 - Indication de voie occupée

Bonjour à tous,

Je profite d’un samedi pluvieux - version Sénégalaise (33° et humidité, pluie interrompue et quelques éclairs) - pour mettre en place une idée qui me trotte depuis quelques temps.

J’ai prévu des zones de rétrosignalisations sur le dépôt d’Obourg pour une future automatisation. Je pense notamment à la navette Autorail ou encore à la livraison de carburant.

N’ayant pas encore choisi mon système définitif, ni concernant le hardware (CS3 avec des S88 ou Can Digital Bahn ou Redbox), ni concernant le software (iTrain ou Rocrail ou RRTC ou …), je n’ai pas de système de rétro-signalisation, sauf un petit montage à base d’Arduino pour Paparazzi ou pour allumer la fosse d’inspection.

En fait je voudrais préparer la rétro-signalisation avec une platine qui récupérerait les fils bleus et les mettraient à disposition d’une led (pour un TCO rudimentaire), d’une entrée d’Arduino (pour un automatisme) et de la future entrée d’un S88 ou équivalent.

J’ai décidé de construire cette platine en utilisant les moyens actuels, fabless.

Je vais fabriquer la platine avec JLCPCB qui propose un service à cout vraiment maitrisé - cf https://jlcpcb.com avec des offres spéciales en ce moment.

Pour faire le layout de la platine, j’ai décidé d’installer le logiciel open source KiCAD qui de surcroit existe en version Mac :slight_smile: - cf macOS Downloads | KiCad EDA

Enfin pour le schéma de la platine, je suis tombée sur un schéma assez classique et préconisé justement pour relayer un fil bleu !

track_occupied.pdf (3,8 Ko)

Je pense mettre la sortie vers une entrée Arduino entre V2 et H1 et il me faudra adapter la valeur de R1 pour être à 5V maximum sur l’entrée pull-up de l’Arduino.

Le temps que KiCAD s’installe, j’aimerais avoir votre avis sur cette approche :smiley:

Bonne soirée,


Edit : possible que j’utilise https://fritzing.org en intégrant systématiquement un Arduino Nano :slight_smile:


Retrouvez tous les épisodes de la débutante en clickant ici !

4 « J'aime »

ah pas mal !!! , heu oui j’ai juste compris que tu vas utiliser du fils bleu

1 « J'aime »

Alors …
Le fil vert sur le bouton vert ,
Le fil rouge, sur le bouton rouge,

Ah mince …

image

Ouf … on est sauvé !!!

1 « J'aime »

Mais bien sur :stuck_out_tongue:

En attendant Fritzing c’est vraiment pas mal.

J’ai mis le schéma précédent sur une planche de test (la valeur de la résistance n’est pas encore la bonne, je dois la calculer en fonction de la led que je vais choisir :slight_smile: ).

Prochaine étape : ajouter des sorties pour aller vers un Arduino :slight_smile:

1 « J'aime »

J’ai rajouté le schéma de @Delias pour se connecter aux entrées de l’Arduino : Détection de présence d'un train pour la fermeture d'un passage à niveau - #2 par Delias

Comme conseillé par Sylvain, il y a bien les deux diodes : l’une sur le rail contact (en cas de mauvais contact en assurant l’alimentation par les deux rail lorsque le signal digital est négatif) et l’autre sur la présente platine (numérotées D1, D3, D5 et D7) pour supprimer les parasites.

En résumé, cette platine gère 4 rétro et permet :

  • un fil bleu (E1 à E4) en provenance d’un rail (rétro)
  • allume une led (LED1 à LED4),
  • renvoie le signal sur le futur S88 (81 à 84)
  • et renvoie le signal sur une entrée de l’arduino (S1 à S4)

Le connecteur J3 permet d’alimenter en +12V CC pour les leds et le connecteur J5 est l’alimentation de l’Arduino (VCC et GND). Il est nécessaire de mettre GND au brun de la voie (O).

A tester sur la platine de test dès que je suis chez moi :slight_smile:

A suivre …

Bonjour,
Juste pour information sur ce sujet de rétrosignalisation, voici un schéma à base d’arduino réalisé par th Dussart qu’il a proposé sur le site Locoduino. J’ai réalisé cet interface avec le logiciel S88.ino dans l’arduino et cela permet plusieurs types de connection pour réaliser la rétrosignalisation.
Les strapps JP5 et JP6 sont à configurer en fonction du type de détection.
Il peut vous donner des idées pour la suite.

A+ Rémy

Schema_raccordement.pdf (36,0 Ko)

PS: un S88 réalisé sur cette base revient à environ 10€.

Bonjour Rémy,

Oui j’ai vu ce schéma - cf Re : Module détection S88-N Arduino et décodeur accessoires DCC

Mais il me dérange dans sa version 2 sans opto, il manque la résistance 100K, le pull-up interne de l’Arduino (20K) est trop faible en cas de court circuit, dixit Sylvain qui a fait des essais. Et il n’a pas mis de led pour visualiser (pour faire un TCO … mais bon on peut repasser par l’Arduino aussi), ni la diode pour filtrer les parasites :slight_smile: … Je préfère ma version.

Sa version 1 avec opto ne sert pas à grand chose, on trouve des DST-1R4P-N qui font très bien l’affaire et coute 2 ou 3 USD (existe aussi en 8 voies). Cf Une débutante dans le décor - Ep6 - Quelques automatismes (Arduino Nano) - #61 par Julaye

Pour l’instant ma proposition est juste une platine d’interface pour déclencher des automatismes sur un Arduino, afficher une led (pour des tests) et passer la main à un décodeur S88.

Pour ce dernier, j’ai pas décidé si je fais le mien (en l’intégrant possiblement à cette platine) ou si je prends quelque chose du commerce (Marklin ou autre).

@+

Bonjour Julie
Une autre idée permettant de combiner un TCO (Physique je pense) avec une extension future pour automatismes:

  • utiliser les rails de contacts à faire soi-même avec des rails C
  • raccorder la zone isolée à une diode LED (cathode coté voie de contact) pour le TCO et à une résistance (560 Ohms environ) et raccordée au plus 5V d’une alimentation continue avec son zéro raccordé à la masse des rails. Ainsi la diode du TCO va s’allumer dès qu’un essieu se trouve dans la zone de contact.
  • raccorder ce même rail de contact - ultérieurement ou immédiatement - à une entrée de S88 (6088, 60881, 60882) raccordé à une CS2 ou à un Link 88 positionné en 5V

En effet les M88, S88 et leurs équivalents chez LDT, DigitalBahn envoient du +5VDC au rail de contact par le biais d’une résistance et d’une entrée de circuit CMOS.
Amicalement
Jean
PS le temps n’est pas meilleur ici à Paris mais 21°C seulement

Bonjour Jean,

C’est exactement ce que fait mon montage :smiley: :

  • rail contact fait soit même (avec une diode sur le rail contact et le fameux fil bleu)

  • la zone isolée à une diode LED pour le TCO raccordé à une alimentation accessoire 12V CC

  • ce meme rail raccordé à une future entrée S88 mais avec une diode de filtrage

  • et en plus ce meme rail raccordé à l’entrée d’une entrée Pull up d’un Arduino pour un éventuel automatisme.

@+

Pas de problème avec les 60882 et le link88 qu’il faudra alors positionner sur 12 VDC.
Attention la plupart des autres circuits de détection travaillent en +5VDC
Jean

1 « J'aime »

Effectivement :slight_smile:

Je peux toujours alimenter la platine avec le +5V de l’Arduino si j’ai besoin de fonctionner avec un S88 +5V. Et ajuster la résistance R1 (R2, R3 et R4) sur mon schéma.

Il m’a semblé lire que la détection avec +12V était mieux, moins sensible au bruit : retrosignalisation - #2 par Delias

@+

Une question

J’ai plutot l’impression que l’entrée d’un S88 est porté en permanence à un potentiel de +5V (ou de +12V) avec une résistance de 10 K en entrée, un pull up de 100 K au +5V.

Lors qu’un train est sur les rails, cette entrée est mise à 0 (masse du rail) et provoque alors un niveau bas sur l’entrée du S88.

Du coup, sur mon schéma, peu importe la tension que j’applique pour allumer la LED puisque quand il n’y a pas de train, il n’y a pas de masse (la LED reste éteinte) et quand il y a un train, la même masse du rail qui va provoquer un niveau bas sur l’entrée du S88 va aussi faire une masse et allumer la LED.

Exactement ce que j’ai écrit une résistance série, une résistance de “pull-up” (au 5V ou 12V) et, bien sur le circuit qui traite l’information un CMOS (en fait un registre à décalage)
Jean

1 « J'aime »

Bonjour,
un petit schéma d’une entrée d’un S88 extrait d’un commentaires de Délias pour illustrer :innocent:


Bonne soirée
Rémy

Manquait la résistance “pull-up” dans ton explication, j’étais embrouillée et j’ai vérifié parce que j’ai pas fait d’électronique depuis 1991 … ça revient mais doucement :wink:

Oui j’ai donné le lien un peu plus haut :slight_smile:

Sinon j’ai fait le schéma complet, ça sera peut etre plus clair que mes explications pour ceux qui lisent un peu vite :wink:

A gauche on voit bien le schéma initial que j’ai donné au début de ce topic, avec l’entrée J1 (E1), le TCO (R1, LED1, D2) puis le filtre anti parasite (D1) et le départ vers un S88 (J2 81).

A droite on voit bien le schéma de Délias pour protéger l’entrée de l’Arduino avec R5 (10 Kohm), R9 (100 K ohm) “pull-up” au Vcc, C1 (10 nF) à la masse et le départ vers une entrée de l’Arduino (J4 S1).

J’espère que c’est clair maintenant :wink:

— dernière version de la carte avant de l’envoyer à Fritzing pour fabrication —

Bonsoir à tous,

J’ai réceptionné les cartes le 18 octobre dernier et j’ai pu faire des essais la veille de partir pour Dakar. J’ai fait une erreur sur le plan et la sérigraphie, en haut à gauche, ce n’est pas du +12V mais le B(ahn) fil rouge de la voie.

Cette petite platine fonctionne vraiment bien et permet de regrouper les contacts par zone, avoir un indicateur de voie occupée (TCO) et remonter l’information vers le S88 et/ou un Arduino. Mission remplie, me reste à équiper mon réseau Obourg pour finaliser le câblage des contacts avant de fixer définitivement la voie dans le décor du dépot.



Une petite vidéo de démonstration de la platine sur ma plaque de test : la led bleue LED1 s’allume sur la présence de la fidèle DHG 700 et la Led 13 de l’Arduino s’éteint (petit programme tout simple sans anti-rebond).


Prochaine étape : corriger cette platine et intégrer la présence éventuelle d’un Arduino Nano avec son support, tout en restant dans la taille actuelle de la platine. Et donc revoir le routage :slight_smile:

3 « J'aime »

Hello Julie.
C’est très sympa ce détecteur de présence. Pour ma part, je ne connais rien en Arduino. Par contre, je viens de faire une commande pour l’Arduino Uno un kit de démarrage et comme ça je peux m’instruire en informatique et faire de la programmation.
Cordiales salutations
Serge

1 « J'aime »