En cours Mini centrale DCC de test

  • Auteur de la discussion speedjf37
  • Date de début
S

speedjf37

Compagnon
Bonjour,

Création d'une mini centrale DCC à base d'Arduino pour tester facilement des signaux de type SNCF avec des décodeurs "Lebmodelisme".

Pour ne pas réinventer la roue : utilisation de cartes standard quand c'est possible et d'une version logicielle genre "Locoduino".

Ajout d'un interface IHM avec afficheur LCD boutons et encodeur.

Ceci impose la création d'une carte d’extension (shield ou hat) et l'ajout de fonctions dans le logiciel.

Création d'un boitier en impression 3D sur mesure.

Arduino:
UNO (finalement trop limité en taille mémoire (RAM et FLASH)
MEGA2560 (surdimensionnée en I/O)

Circuit de puissance :
Arduino Motor shield:

Version logicielle de base:
compatible JMRI et pilotable par les logiciel qui gèrent DCCPP


Sources d'inspiration:

Cordialement JF
 
Dernière édition:
S

speedjf37

Compagnon
Le logiciel et ses contraintes:

les cartes supportées par le logiciel de base:

Il s'avère que les "Uno" et Nano" sont trop juste en mémoire pour supporter l'ajout de menus etc.

La MEGA2560 suffira n'ayant pas besoin de wifi ou Ethernet.

Les drivers possibles:

Arduino Motorshield à base de L298 (que j'utilise déjà sur d'autres centrales) sera suffisant.

Il permet aussi la relecture des CV (les paramètres ) des décodeurs sans ajout de matériel.

La gestion d'afficheur est présente:

un I2C OLED display de 0.96" sera suffisant.

Le driver implanté dans le logiciel de base est très limité (pour ne pas impacter le fonctionnement global)
ce sera une version I2C 4 broches et avec une contrôleur SSD1306.
Pas super en mode 128x64 mais on fera avec sinon il faut changer/reécrire le driver)



JF
 
Dernière édition:
S

speedjf37

Compagnon
La carte interface conception :

Cette adaptation ressemble au besoin:

Je garde les 3 boutons , l'encodeur et l'afficheur .

j'ajoute une gestion d'alimentation car le DCC supporte en gros de 12 à 25 V.

Pour assurer la lecture de certains décodeur il faut environ 20V c'est trop pour le Vin de l'Arduino.

Ayant déjà testé avec fracas les alimentations multiples sur Arduino alim Externe + Alim USB , il y aura un régulateur LM7805 + une diode SMD comme sur les Nano "MBR0520LT1G SOD123"

La carte sera conçue sous KICAD V6:
Avec la forme adaptée à la MEGA2560
Avec une découpe pour l'accès au connecteur du MotorShield.
Avec des résistances de pullup en options (si parasites sur les boutons).


1678080152148.png
 
S

speedjf37

Compagnon
La carte interface réalisation (double face):

Utilisation d'un plugin dans Kicad (créé par mon fiston informaticien) en cours de développement pour intégrer toutes les fonctions utiles.

Ceci pour générer un fichier script destiné à Flatcam (pour simplifier :logiciel de gestion de Gerber et Excellon vers gcode d'usinage).
Générer automatiquement les fichiers utiles pour Flatcam :
Gerber pour les cuivres , les tracés ,les contours;
Excellon pour les percages.

Flatcam va créer les fichier gcode pour la CNC (LinuxCnc).

Les cartes (70x100mm) sont préparées en avance avec des trous de centrage/retournement

Autoleveller sera utilisé pour la gestion de la planéité des PCVB
en sortie fichiers:
Al_f_cu.ngc et Al f_cu.ngc

Gravure des pistes avec sonde de niveau:
1)Al_f_cu.ngc

retournement centrage

2)Al_b_cu.ngc

3) vernissage F (dessus) + expo UV
4) vernissage B (dessous) + expo UV

placement cnc + décalage broche -> laser

Pour la sérigraphie (non utilisé dans ce cas)
5a)f_si.ngc (couche silkscreen)
5b) vernissage B (dessous) + expo UV

Dégagement des masques de soudure au laser
6b)f_ma.ngc

retournement centrage

6c)b_ma.ngc

j'utilise uniquement les fraises 0.6 ,0.8, 1mm en perçage/alésage
7a)drill.ngc pour tous les perçages

7b)drill_mill_cnc.ngc pour les perçages/alésage de trous > 1MM
7c)drill_mill_cncV.ngc pour les perçages/alésage de trous > 0.8MM <1mm

7d)slot_mill_cnc.ngc pour les trous oblongs

8)edge_cuts.ngc pour la découpe des contours (fraise 1MM)

Soit un nombre important de manipulations et un temps d'usinage assez long.
L'usinage en temps masqué permet de mieux supporter l'attente d'autant que la CNC Portix est lente.

Dans Kicad:

1678080376366.png
 
S

speedjf37

Compagnon
La carte:
Toutes les étapes ne sont pas en photos !

Gravure b_cu (cuivre dessous)
gravure_2.png

Gravure f_cu (cuivre dessus)

gravure_1.png

Dégagement du masque de soudure au laser:
laser_mask.png


Découpe:
decoupe_contour.png


2 versions la couleur du vernis permet de les repérer .
La dernière rouge avec rivets tubulaires pour les vias
pcb_op.png
 
Dernière édition:
S

speedjf37

Compagnon
Le boitier:

Dessin sous Freecad.

Récupérer les cotes exactes des carte Arduino n'est pas simple , être certain que les clones asiatiques sont conformes encore moins !

boitier_bas.png
boitier_haut.png


boitier_noir.png

boitier.png
 
Dernière édition:
M

Mcar

Compagnon
passionné avant l'usinage :mrgreen: par le modélisme ferroviaire, alors je m'installe,
même si ce projet me semble est au dessus de ma compréhension Arduino. mais je vais étudier ce concept qui me semble intéressant pour mes projets futurs sur mon réseau.
 
S

speedjf37

Compagnon
Bonjour,

Mise a jour :
Ajout des photos de la fabrication
 
D

Dudulle

Compagnon
Jolie réalisation.
Petite question : pourquoi ne pas avoir pris une carte à base d'esp32 déjà équipée d'un écran tft plus grand ? Ca aurait simplifié le schéma, donné plus de puissance et aurait surement couté moins cher.
 
S

speedjf37

Compagnon
Jolie réalisation.
Petite question : pourquoi ne pas avoir pris une carte à base d'esp32 déjà équipée d'un écran tft plus grand ? Ca aurait simplifié le schéma, donné plus de puissance et aurait surement couté moins cher.
les explications au #2

JF
 
S

speedjf37

Compagnon
L'empilage des cartes:
A noter la suppression de la pin VIN du MotorShield pour ne pas réinjecter la tension d'alimentation sur l'Arduino.
empilage.png
 
S

speedjf37

Compagnon
Je n'y connais rien en modélisme ferroviaire, mais il semble toutefois que les ESP32 sont utilisables avec locoduino, un exemple ici : http://lormedy.free.fr/DCC32S88.html
Puisque tu insistes !!

Je ne conteste pas le fait que l'esp32 soit utilisable et je trouve cette centrale tout a fait intéressante mais elle ne correspond pas au besoin présent.

Concevoir une mini centrale autonome utilisable facilement (pour lancer le test sur 3 signaux il faut appuyer sur "power" puis sur "test auto").


J'utilise l'esp32 par ailleurs:

JF
 
D

Dudulle

Compagnon
Je n'insiste pas, je fais simplement une remarque qui aurait pu t'aider si tu était passé à coté de l'info, le but n'était pas de dénigrer ta réalisation que je trouve très aboutie.
 
S

speedjf37

Compagnon
Bonjour,

Les dimensions du boitier:
Longueur 110 mm
Largeur 59 mm
Hauteur 40 mm

Afficheur OLED en mode 128x64
Les 4 premières lignes sont pilotées par le logiciel de base
Les lignes 5,6,7,8 sont gérées par les menus spécifiques aux tests

USB (type B) permet le téléchargement et un terminal série à 115200 bds
Liaison avec un logiciel de commande (JMRI et tout logiciel gérant le protocol DCCPP)

La fenêtre sur le dessus permet d’accéder aux Led et aux vis du bornier du MotorShield
Une fenêtre sur le coté doit pour les bornes du connecteur de puissance (Power DCC Main et Prog)

Power:
Gnd 0V
Vin 12 à 19 V
Main:
Led DCC A
Led DCC B
Prog :
Led DCC A
Led DCC B

Les 2 sorties DCC sont indépendantes et peuvent être activées en même temps .

Les boutons et l'encodeur ont plusieurs fonctions suivant les menus et la position du Prompt (curseur).
Curseur :
1)* _test auto Off
-\|/ _test auto On pseudo rotation à chaque changement d'état du signal (tempo 1s par défaut)

3) M ou P _état power

5) A B C _signal selectionné

7) Menu en cours


L'affectation des boutons varie en fonction des menus.

Boutons:
Curseur ligne 5
Haut : Sélection Signal
Milieu : Power On/Off
BAS : Test Auto On/Off

Curseur ligne 6,7,8
Haut : Ecriture (W)
Milieu : unité saisie (u unité,d dizaine,c centaine ,m millier)
BAS : Lecture 5 (R)

Les menus sont simplifiés au possible.

Défilement ( si curseur = ligne 5) par rotation de l'encodeur
Entrée et défilement (vertical) dans le menu par le bouton de l'encodeur


Signal
Num
Cmd
Option

Adresse
CV 1
CV 9
Val

Adresse
Num
Val
Aff

JF
 
Dernière édition:
M

Mcar

Compagnon
Bravo, ca a de la gueule, :smt038
les potences sont celles de de Leb modelismes ?
pour coller encore plus à la réalité, est il possible d'installer un fondu entre les différents états de la signalisation ?
 
S

speedjf37

Compagnon
Bonjour,
Bravo, ca a de la gueule, :smt038
les potences sont celles de de Leb modelismes ?
pour coller encore plus à la réalité, est il possible d'installer un fondu entre les différents états de la signalisation ?

Les potences sont bien de Leb (pas encore en ventes).


La gestion du fondu existe mais n'est n'est pas vraiment visible sur les vidéos.

Les nouveaux feux à Led SNCF n'ont plus l'inertie des filaments des lampes à incandescence

JF
 

Sujets similaires

1
Réponses
93
Affichages
59 273
fred250
F
R
Réponses
341
Affichages
202 857
Blumax
B
R
Réponses
756
Affichages
264 500
speedjf37
S
M
Réponses
25
Affichages
21 209
Pamdam
Pamdam
Pierreg60
Watercooling et phase change Le Milibloc
Réponses
13
Affichages
9 099
scream68
S
wika58
Réponses
32
Affichages
25 454
jcma
jcma
E
Réponses
137
Affichages
87 015
yannick622
Y
M
Réponses
12
Affichages
67 242
jetpack2013
jetpack2013
Haut