D18: Un décodeur d'accessoires DCC à réaliser soi-même

Les commandes numériques du réseau (appelées à tort "digitales") sont l'avenir du train miniature. Mais comment choisir, comment sauter le pas, avec ou sans ordinateur ? Autant de questions dont les réponses se trouvent dans l'expérience des uns et des autres…

Modérateur : MOD

Répondre
Avatar du membre
Deimos_epIV
Intarissable !
Messages : 9897
Enregistré le : ven. 23 déc. 2011, 21:25
Echelle pratiquée : HO/DCC
Prénom : Claude
Club : MMF
Localisation : Montpellier (34)
Âge : 62

Re: D18: Un décodeur d'accessoires DCC à réaliser soi-même

Message par Deimos_epIV » jeu. 18 juil. 2019, 23:25

Alors regarde dans son reference manual.

Avant de passer à la dernière génération des MCU que j'utilise - les 9S08Pxxx - Je ne pouvais utiliser que la Flash pour les CV de mes décodeurs. Elle se programme par bloc d'une taille variable selon le modèle. Il faut donc charger en RAM ce bloc, y modifier l'octet voulu puis le réécrire en Flash à l'aide d'une routine... Exécutée en RAM puisque la Flash ne peux être lue et écrite en même temps. La dernière génération intègre une EEPROM de 256 octets complètement indépendante de la Flash qui simplifie bien les choses même si elle se programme par... Mot de 16 bits !
Modifié en dernier par Deimos_epIV le ven. 19 juil. 2019, 02:19, modifié 1 fois.
Amicalement

Trimarco232
Fécond
Messages : 517
Enregistré le : ven. 23 févr. 2018, 14:02
Echelle pratiquée : HO
Prénom : marco

Re: D18: Un décodeur d'accessoires DCC à réaliser soi-même

Message par Trimarco232 » jeu. 18 juil. 2019, 23:48

"100.000 écritures avant de claquer un byte de l'EEPROM, il y a de la marge !"
certes, mais si par incident l'écriture se fait dans une boucle vicieuse, le claquage peut intervenir très vite
il convient donc de s'assurer que cela ne puisse pas se produire ...

Avatar du membre
Deimos_epIV
Intarissable !
Messages : 9897
Enregistré le : ven. 23 déc. 2011, 21:25
Echelle pratiquée : HO/DCC
Prénom : Claude
Club : MMF
Localisation : Montpellier (34)
Âge : 62

Re: D18: Un décodeur d'accessoires DCC à réaliser soi-même

Message par Deimos_epIV » jeu. 18 juil. 2019, 23:57

Ca, c'est du "blindage" de firmware et c'est la base ou la moindre des choses, comme tu veux ! ;)
Amicalement

Trimarco232
Fécond
Messages : 517
Enregistré le : ven. 23 févr. 2018, 14:02
Echelle pratiquée : HO
Prénom : marco

Re: D18: Un décodeur d'accessoires DCC à réaliser soi-même

Message par Trimarco232 » ven. 19 juil. 2019, 09:21

dans ce que j'ai réalisé jusqu'à présent, toute écriture en eeprom nécessite le reset préalable du mpu, cela limite bien le risque. Mais ici la méthode ne convient pas, je suis sec sur le sujet ...
... avec un arduino, le tout venant est blindé de fait, car expérimenté mille fois. Les surprises, ou pas, c'est quand on se risque sur le bizarre



* Nano...Eagle.zip : fichier archive concernant le PCB
bien !
tu auras de la place pour les têtes de vis près des connecteurs X1 et 2 ?

Solution envisageable : utiliser un byte par sortie. Vu qu'il y a 1024 bytes disponibles en EEPROM
+1, ya pas de honte ! Tu peux utiliser les 7 autres bits pour y mettre des trucs secrets

Avatar du membre
Papat400
Messages : 14
Enregistré le : mer. 19 juin 2019, 20:19
Echelle pratiquée : HO
Prénom : Thierry
Localisation : Florennes - Belgique
Âge : 55

Re: D18: Un décodeur d'accessoires DCC à réaliser soi-même

Message par Papat400 » ven. 19 juil. 2019, 17:41

Trimarco232 a écrit :
jeu. 18 juil. 2019, 23:48
"100.000 écritures avant de claquer un byte de l'EEPROM, il y a de la marge !"
certes, mais si par incident l'écriture se fait dans une boucle vicieuse, le claquage peut intervenir très vite
il convient donc de s'assurer que cela ne puisse pas se produire ...
Aucun souci en fait, vu que j'utilise EEPROM.update ou EEPROM.put ... d'écriture il n'y a que si différence il y a (comme dirait Yoda). Faudrait vraiment une boucle super vicieuse !

Avatar du membre
Papat400
Messages : 14
Enregistré le : mer. 19 juin 2019, 20:19
Echelle pratiquée : HO
Prénom : Thierry
Localisation : Florennes - Belgique
Âge : 55

Re: D18: Un décodeur d'accessoires DCC à réaliser soi-même

Message par Papat400 » ven. 19 juil. 2019, 17:46

bien !
tu auras de la place pour les têtes de vis près des connecteurs X1 et 2 ?
Ça passe :) je mettrai une photo de l'engin dès que possible.
+1, ya pas de honte ! Tu peux utiliser les 7 autres bits pour y mettre des trucs secrets
Oui, je vais donc déjà faire un upgrade sur Github :D

Avatar du membre
Papat400
Messages : 14
Enregistré le : mer. 19 juin 2019, 20:19
Echelle pratiquée : HO
Prénom : Thierry
Localisation : Florennes - Belgique
Âge : 55

Re: D18: Un décodeur d'accessoires DCC à réaliser soi-même

Message par Papat400 » dim. 21 juil. 2019, 12:47

Et voilà, la modif est réalisée.

Le lien Github reste le même.

Modifications apportées :
1) Le choix est désormais laissé à l'utilisateur si il souhaite utiliser l'EEPROM ou pas.
2) Chaque sortie binaire est maintenant sauvegardée dans un octet spécifique en EEPROM. Cela évitera un usure prématurée.

Je n'ai pas généré de compteur d'écriture en EEPROM. Ce n'est pas du tout évident à déterminer d'une part, et cela alourdirait d'autant le croquis ... qui s'en passe fort bien.

A plus :D

Trimarco232
Fécond
Messages : 517
Enregistré le : ven. 23 févr. 2018, 14:02
Echelle pratiquée : HO
Prénom : marco

Re: D18: Un décodeur d'accessoires DCC à réaliser soi-même

Message par Trimarco232 » dim. 21 juil. 2019, 20:18

en effet, tu pourras t'occuper du compteur d'écritures + tard, tu es jeune :)

Avatar du membre
Papat400
Messages : 14
Enregistré le : mer. 19 juin 2019, 20:19
Echelle pratiquée : HO
Prénom : Thierry
Localisation : Florennes - Belgique
Âge : 55

Re: D18: Un décodeur d'accessoires DCC à réaliser soi-même

Message par Papat400 » dim. 21 juil. 2019, 22:22

Trimarco232 a écrit :
dim. 21 juil. 2019, 20:18
en effet, tu pourras t'occuper du compteur d'écritures + tard, tu es jeune :)
Ah ah ah ! :D j'aimerais bien ...

marcusbertop@gmail.com
Messages : 10
Enregistré le : dim. 04 sept. 2016, 15:28
Echelle pratiquée : N, HO
Prénom : Marc
Âge : 38

Re: D18: Un décodeur d'accessoires DCC à réaliser soi-même

Message par marcusbertop@gmail.com » ven. 21 févr. 2020, 18:30

Bonjour à tous,
Je déterre ce sujet car ce décodeur d'Ulysse m'intéresse grandement. J'ai un certain nombre de servo à piloter sur mon réseau et des leds de signaux.
Le tout avec RRTC.
J'utilise le montage avec un opto coupleur 4N35.
J'ai réaliser le montage mais je ne parviens pas à récupérer les trames DCC sur le moniteur série. Tous les composants fonctionnent. Je les ai testé. Les tensions sont bonnes. L'arduino Uno fonctionne également. La vitesse de transmission est bien réglée sur 115200 baud.
J'ai fait varier la valeur de la résistance en entrée de l'optocoupleur, de 1kohm jusqu'à 47kohm, rien n'y fait.
J'ai remplacé le 4N35 par un 4N37 et par un 6N137, idem.
La seul chose que le moniteur reçoit c'est :
18:07:46.515 -> D18 DCC Accessory Decoder v20180208a lors du démarrage de l'arduino.

Je suis en contact depuis plusieurs jours avec Ulysse par mail, mais nous ne trouvons pas de solution et je ne voudrais pas l'embêter trop longtemps.
J'utilise une centrale DCC pas très courante; Tams Easy Control et un booster DB2 de chez LDT.
Ma centrale fonctionne bien. Je possède déjà un réseau en DCC piloté par RRTC.
Avez vous des idées? Avez vous adapté le montage?

charles.droz
Messages : 29
Enregistré le : mer. 16 mai 2007, 09:44

Re: D18: Un décodeur d'accessoires DCC à réaliser soi-même

Message par charles.droz » ven. 21 févr. 2020, 22:10

Bonsoir
j'utilise ce genre d'opto-isolateur sans probleme ( dans mon cas 5505 )
coté dcc une resistance entre 1 et 2 kilo ( car avec 1k l'opto chauffe legérement)
en serie avec la diode d'entrée broche1 et 2
une diode (1N4148) en inverse sur les broches 1 et 2 ( pour éliminer les alternances inverses)
coté transistor environ 4,7Ko entre +5v et la broche 5
broche 4 a la masse du circuit
broche 6 ( base du phototransistor) en l'air !
sans oscilloscope il est difficile de verifier le bon fonctionement de cette partie
la vitesse de commutation passage haut>bas et surtout bas>haut est relativement critique et influencé
par les valeurs de resistance
dans un premier temps ! verifiez que sans signal dcc le collecteur broche 5 est bien proche de +5v
puis injectez un signal continu coté voie ( entre 9v et 15v) vérifiez la tension sur le collecteur
elle doit etre proche de 0.5v si ce n'est pas le cas inversez la polarité de la tension coté voie si tension collecteur n'est toujours pas
proche de zero vérifiez votre câblage ( cc entre 1 et 2 ou coupure ou mauvaise valeur de resistance)
bon courage CD

charles.droz
Messages : 29
Enregistré le : mer. 16 mai 2007, 09:44

Re: D18: Un décodeur d'accessoires DCC à réaliser soi-même

Message par charles.droz » ven. 21 févr. 2020, 22:16

sur la video
a droite le micro Circuit Imprimé qui comportes tous les composants de cette interface

marcusbertop@gmail.com
Messages : 10
Enregistré le : dim. 04 sept. 2016, 15:28
Echelle pratiquée : N, HO
Prénom : Marc
Âge : 38

Re: D18: Un décodeur d'accessoires DCC à réaliser soi-même

Message par marcusbertop@gmail.com » sam. 22 févr. 2020, 16:03

Merci Charles!
Tout fonctionne. J'ai rajouté la résistance de pull up. Je pensais que ca fonctionnerai sans car le pull up est activé sur l'entrée D2.
Je devais avoir un petit manque dans le programme également.

charles.droz
Messages : 29
Enregistré le : mer. 16 mai 2007, 09:44

Re: D18: Un décodeur d'accessoires DCC à réaliser soi-même

Message par charles.droz » dim. 23 févr. 2020, 12:45

suis heureux de vous avoir aidé ! n'hesitez pas a nous tenir au courant de l'avancé de votre projet

Répondre