Re : Module détection S88-N Arduino et décodeur accessoires DCC

Démarré par papat, 24 Juillet 2018, 18:37:26 PM

« précédent - suivant »

papat

Bonjour,

Je bosse sur un prototype de module de détection de canton (mais pas que) basé sur Arduino. Je n'avais pas trouvé de schéma "prêt à l'emploi" sur le Net (pour du 3 rails, car pour le 2 rails on trouve facilement) alors j'ai un peu tâtonné ... mais à présent c'est ok  :)

Voici le schéma pour un module "mixte", 8 entrées "détection de cantons" et 8 entrées "détection de contact" :
[EDIT] : schéma peaufiné (11 juin 2019)


Et le prototype en action :

On y devine un Arduino Uno sous la carte rouge (qui est un shield Can Bus), une box Märklin 60113 avec son transfo d'alimentation (c'est un gros transfo de 60 VA, mais je l'avais déjà  :D ).
Le Uno est piloté par l'application DESKTOP STATION sur le PC (voir ce lien). Il communique avec la 60113 via un câble CAN Bus.

Et on voit aussi aussi un Arduino Nano sur le breadboard (plaque blanche) avec une partie des composants du schéma et le câblage de test. Ici je n'ai câblé que 8 entrées, 4 "détection de canton" via optocoupleurs et 4 "détection de contact" pour les essais.
Et ben ça fonctionne  ;D

Edit: petit oubli de référence : le programme du Nano (gestion capteurs -> bus S88) a été trouvé sur le site LOCODUINO, sur cette page.

Voici le TCO sur le PC :

J'ai réalisé un ovale de test divisé en quatre cantons. Les deux cantons avec les points rouges sont ceux qui détectent les locos en action  :)

Prochaine étape : réalisation d'un circuit imprimé avec tout le bazar dessus, et essais avec plusieurs modules en série sur le bus S88 ...

A plus  8)
Si il n'y a pas de solution, c'est qu'il n'y a pas de problème - proverbe Shadok

papat

#1
Ça ne passionne pas les foules, mais bon je poursuis quand même  :)

Attention, ce qui suit est un prototype. Il fonctionne chez moi, mais je ne peux offrir aucune garantie à celui qui le reproduirait ! (mise en garde habituelle pour les montages DIY).

Après quelques essais et de légères adaptations (ajout d'une capa filtrant le signal), le prototype fonctionne toujours correctement. Voici la dernière mouture de mon schéma (cliquez dessus pour l'agrandir) :


Et le PCB qui va avec (simple face) :


Ce module S88-N est devenu modulable. Par bloc de quatre entrées, on peut décider si ce seront des "détection de cantons" ou des "détection de contacts". Pas besoin de la partie "optocoupleurs" pour la détection de contacts, un simple strap et on économise quelques composants.
Il est également possible de paramétrer  le software du Nano afin qu'il ne gère que 8 entrées au lieu de 16. Tout dépend des besoins.
Exemples : 0 canton et 8 contacts (version 8 entrées) ; 4 cantons et 12 contacts ou 8 cantons et 8 contacts (version 16 entrées) ... etc

Ne possédant pas de modules de détection du commerce, je n'ai pu tester la compatibilité. Mais d'après ce que j'ai lu sur le Net, mélanger les marques n'est pas toujours une bonne idée.
Lorsque j'aurai réalisé plusieurs modules "maison", je reviendrai faire un topo sur le coût de la chose ...

Pour les bricoleurs intéressés, je peux aussi fournir les fichiers Eagle.  ;)
Si il n'y a pas de solution, c'est qu'il n'y a pas de problème - proverbe Shadok

ho-mat

#2
c'est pas que ça ne passionne pas ... mais c'est pas toujours évident à comprendre...

papat

 :D ah oui évidemment ... même chose pour moi d'ailleurs, tout ce processus a pris du temps pour que ça se mette en place dans ma cervelle  ;D
Refaire de l'électronique après trente ans d'abstinence, apprendre à jouer avec des logiciels comme Kicad et Eagle ... c'était bien rigolo !  :D
Si il n'y a pas de solution, c'est qu'il n'y a pas de problème - proverbe Shadok

papat

Et l'aventure continue !

Ça m'a pris pas mal de temps, mais j'ai également bricolé un décodeur d'accessoires basé sur la technologie "Arduino".
Ce décodeur est une adaptation personnelle du décodeur d'accessoires DCC D18, développé par Ulysse, que l'on peut découvrir sur cette page. Ce décodeur est vraiment bluffant ! Un seul de ces décodeurs peut gérer une quantité incroyable d'accessoires ... Ulysse détaille cela sur la page dont j'ai fourni le lien.

Ce décodeur utilise la norme DCC, pas MM2. Malgré mes recherches, je n'ai pas trouvé de décodeur DIY (Do It Yourself) basé sur Arduino utilisant le signal Motorola.
Ce n'est pas un souci majeur, ma centrale Desktop Station est multi-protocoles. Elle peut gérer les accessoires en DCC en même temps que des locos MM2 et MFX (j'ai essayé).

L'Arduino Nano (c'est le modèle que j'utilise) possédant 16 broches paramétrables en sortie, il est possible de gérer 16 accessoires différents (ou 8 paires d'aiguilles standard utilisant des solénoïdes) ; et ce quelle que soit leur adresse DCC évidemment (il n'est pas du tout indispensable que les adresses soient consécutives ! ). Cela résulte de l'excellent boulot abattu par Ulysse.
Je me suis contenté (et c'était pas rien, je ne suis pas développeur ;D ) d'adapter le programme pour gérer mes servos d'aiguillage directement depuis l'Arduino.
Pour diverses raisons, l'Arduino ne peut gérer "que" 12 servos maximum. 4 sorties restent disponibles pour d'autres accessoires.

Voici le schéma de mon bricolage, celui-ci est prévu pour 10 servos, 2 sorties directes et 4 Leds. Tout cela est évidemment complètement paramétrable et on peut tout aussi bien gérer 3 servos, 10 Leds et 3 accessoires divers par exemple (j'aime bien concevoir des éléments à usages multiples).


Le PCB qui va avec :


Et le prototype qui m'a permis de "valider" le concept :


Comme pour le détecteur S88-N, ce décodeur est un prototype. Il semble bien fonctionner, reste à réaliser le circuit imprimé et voir le fonctionnement sur mon futur réseau. J'ai confiance !  :)

Bon, maintenant que mes options techniques sont validées je vais enfin pouvoir commencer à poser les voies ...

Suite au prochain épisode  :D
A plus, et n'hésitez pas à donner votre opinion !
Si il n'y a pas de solution, c'est qu'il n'y a pas de problème - proverbe Shadok

papat

Et l'aventure se poursuit ...  :)
Voici où j'en suis arrivé :

Les modules arduino pour la détection S88 sont réalisés.
Idem pour la commande des accessoires (aiguillages etc).



Tout ce joyeux bazar vient d'être testé et, après une ou l'autre petite correction, tout fonctionne  :D :D :D moi content !!!

J'ai câblé trois modules S88 pour tester le chaînage, c'est ok. La "console" (mon laptop en fait) avec le logiciel Desktop Station lit le bus via l'arduino UNO et réagit aux changement d'état des entrées. C'est tout bon.
Chacun de ces modules possède 16 entrées, au choix "capteur canton" ou "capteur switch" ; ce choix est fait lors de la soudure des composants (donc définitif).
Note : il y a un petit bidouillage à réaliser sur la carte arduino Nano si c'est ce modèle qui est utilisé.

Testé également : un des modules D18 "commande accessoires". Avec, pour l'essai, un servo (destiné à la commande d'aiguillage) et des Leds (pour un signal par exemple, ou toute autre fonction lumineuse). Et lui aussi répond très bien aux ordres de la centrale  :D
Chaque module peut commander 16 sorties. Le choix "servo" (max. 12 servos par carte) ou "sortie libre" est fait également lors de la soudure des composants. 4 sorties sont déjà réservées pour des Leds (résistance série sur la carte).


Reste un prototype à tester, j'en parlerai ultérieurement.

Ouf, ça c'est fait !  :D
Si il n'y a pas de solution, c'est qu'il n'y a pas de problème - proverbe Shadok

Geoff440

#6
 :o  bravo pour ton montage, tu as vérifié si le firmware de l' arduino a les sécurités activée pour genre la surchauffe !?!
Tu as l' air de vachement bien t' y connaître lol
Tu as vu qu' avec ces cartes nano tu peux faire aussi des panneaux d' annonces d' arrivée en gare !
https://youtu.be/pktBc7knRiM

J'ai une arduino aussi sur mon imprimante 3d. C'est fou le nombre de périphérique possible pour ces cartes nano, des mesures, sondes, a la volée surtout destinée à la robotique a la base.

Bon courage pour la suite !
"Le fil rouge sur le bouton rouge, le fil vert sur le bouton vert . . . "

papat

Merci  :)

Pas de souci de surchauffe pour l'arduino, à condition de respecter quelques règles. Notamment le courant de sortie, qui est limité à 40mA pour chacune des sorties mais sans dépasser 200mA pour l'ensemble des sorties.

Pour des applications plus gourmandes, il faut passer par une amplification du signal. Transistor, circuit Darlington comme le ULN2803 ou plein d'autres solutions.

Le site Locoduino est plein de bons conseils pour l'utilisation de l'arduino en modélisme ferroviaire !

Je file, faut que j'aille bosser ...  ;D
Si il n'y a pas de solution, c'est qu'il n'y a pas de problème - proverbe Shadok

papat

Petites précisions, au cas ou certains lecteurs seraient quand même intéressés par la chose :

Le décodeur d'accessoires D18 fait l'objet d'un sujet sur le forum LR Presse. En voici le lien.
J'ai participé à ce sujet en leur parlant de mon petit bricolage.

Concernant le D18 "à ma sauce" toujours, voici un lien vers Github où se trouvent les fichiers (programme arduino et fichiers Eagle pour le PCB), disponibles au téléchargement bien sur.
Si il n'y a pas de solution, c'est qu'il n'y a pas de problème - proverbe Shadok

papat

Ne sachant pas trop où caser ce message, je l'ajoute ici.

Me voici avec un nouveau jouet :



Je sens que je vais bien m'amuser  ;D ;D ;D
Si il n'y a pas de solution, c'est qu'il n'y a pas de problème - proverbe Shadok

ph444

______
Claude

Membre actif à l'AMTF (www.train1900.lu )

papat

Tout à fait  :)
Pour le moment je suis en mode "apprentissage". Cette machine semble prometteuse  :D
Si il n'y a pas de solution, c'est qu'il n'y a pas de problème - proverbe Shadok

Geoff440

Citation de: papat le 20 Novembre 2019, 20:07:44 PM
Tout à fait  :)
Pour le moment je suis en mode "apprentissage". Cette machine semble prometteuse  :D

Belle bête bravo pour l'acquisition, si tu la destine a des productions ferroviaires je te conseille d'utiliser le câble pla, l'abs demande trop de température en comparaison, quel type de câble peux-tu utilisé ?
"Le fil rouge sur le bouton rouge, le fil vert sur le bouton vert . . . "

papat

Citation de: Geoff440 le 20 Novembre 2019, 20:31:36 PM
Belle bête bravo pour l'acquisition, si tu la destine a des productions ferroviaires je te conseille d'utiliser le câble pla, l'abs demande trop de température en comparaison, quel type de câble peux-tu utilisé ?

Je cite la notice " PLA, PETG, PVA, Nylon, And Most Exotics, Any Material Melting <=250 C"
Donc un peu de tout  :) Pour l'instant j'ai acheté une bobine de PLA et une d'ABS.
Je sais aussi que pour pouvoir imprimer certaines matières (réputées abrasives), il faut changer le nozzel. Mais ce n'est pas pour tout de suite, on verra en avançant.

En ce moment je bricole des supports de servomoteur pour mes aiguillages et des entretoises pour les cartes électroniques.
Voici l'impression en PLA :


Le support de servo seul, en ABS cette fois (impression "draft", c'est en effet assez brouillon) :


Le support monté avec servo et switches :



Et enfin une entretoise pour la carte électronique qui "lévite" (spectaculairement  ;D )  au dessus :
Si il n'y a pas de solution, c'est qu'il n'y a pas de problème - proverbe Shadok

Geoff440

Citation de: papat le 21 Novembre 2019, 17:15:16 PM
Citation de: Geoff440 le 20 Novembre 2019, 20:31:36 PM
Belle bête bravo pour l'acquisition, si tu la destine a des productions ferroviaires je te conseille d'utiliser le câble pla, l'abs demande trop de température en comparaison, quel type de câble peux-tu utilisé ?

Je cite la notice " PLA, PETG, PVA, Nylon, And Most Exotics, Any Material Melting <=250 C"
Donc un peu de tout  :) Pour l'instant j'ai acheté une bobine de PLA et une d'ABS.
Je sais aussi que pour pouvoir imprimer certaines matières (réputées abrasives), il faut changer le nozzel. Mais ce n'est pas pour tout de suite, on verra en avançant.

En ce moment je bricole des supports de servomoteur pour mes aiguillages et des entretoises pour les cartes électroniques.
Voici l'impression en PLA :


Le support de servo seul, en ABS cette fois (impression "draft", c'est en effet assez brouillon) :


Le support monté avec servo et switches :



Et enfin une entretoise pour la carte électronique qui "lévite" (spectaculairement  ;D )  au dessus :


Ha oui ça a l'air vachement plus propre avec le pla, tu as refait le support en pla vert que tu avais fait en abs orange ? Tu as testé les solidités ?

D'une pièce a l'autre j'ai une difficultés monstre a trouvé un bon réglage avec l'abs, entre la vitesse d'éxécution et les températures, j'ai toujours soit un décollement de la pièce sur les bord et les coins qui remonte a une hauteur folle, soit le même problème quand c'est lent parce que le lit doit être a minimum 100°. Si ça va trop vite j'ai même un pas qui saute en y ou x parce que ça va trop vite, faut dire que c'est une reprap sortie avec des tonnes d'amélioration a faire parce qu'elle devait "faire ses jeunes".
C'est quoi ton montage ? J'ai plus ou moins les mêmes servo comme endstop.

Tu as imprimé tout ça en une fois ? Pas de problème dû au recul de l'extrudeur quand il passe d'une pièce a l'autre ou de décollage ni de saut de pas ? Si Oui combien de temps pour tout faire ?

Je sent bien que je vais me mettre uniquement a pla moi lol il me donne des sueurs froides cet abs.
"Le fil rouge sur le bouton rouge, le fil vert sur le bouton vert . . . "