Auteur Sujet: Fabrication d'un décodeur DCC pour locomotive  (Lu 18873 fois)

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2218
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Fabrication d'un décodeur DCC pour locomotive
« Réponse #45 le: décembre 05, 2021, 06:04:05 pm »
Merci Antoine, effectivement, j'étais passé à coté de la famille.
J'ai bien récupéré le même fichier .hex sur le site japonais.
C'est quand même petit tout ça. (mais c'est bien le but de la manœuvre)

Cordialement

nopxor

  • Full Member
  • ***
  • Messages: 177
    • Voir le profil
Re : Fabrication d'un décodeur DCC pour locomotive
« Réponse #46 le: décembre 08, 2021, 12:09:35 am »
Bonjour,


Je reste bluffé qu'une simple résistance de 33kΩ arrive à formater à 0-5V le niveau du signal DCC pour le PIC.
On a plus l'habitude de voir un optocoupleur accompagné de plusieurs composants annexes faire ce travail.
Ou bien un pont diviseur avec une diode.

J'ai commencé à me plonger dans le code source par curiosité.

J'ai repotassé le cours sur les PICs de Bigonof d'il y a 20 ans pour me réimprégner des mnémoniques assembleur.

Le code est plutôt bien documenté dans l'ensemble (merci encore Antoine pour la traduction du japonais).

La gestion PWM de la vitesse est claire et rendue facile grâce aux propiétés du PIC12F1822 expliquées au chapitre 24 du datasheet.

Par contre le décodage des trames DCC est plus difficile à apréhender.

Le PIC travaille à une fréquence de 16 MHz. Ce qui donne 16/4 = 4 Millions de cycles d'instructions par seconde.
Soit une durée de 0.25 µs par instruction.

J'ai dessiné au propre l'organigramme des lignes de code de la détection du préambule de 14 bits consécutifs à 1 (58µs).
Et j'avoue que je n'ai pas encore tout compris... On est loin de la librairie NMRA pour Arduino.

L'auteur utilise une valeur "magique" de 0x20, soit 32 en décimal pour CNT pour le réglage du timing de réception.
Cela reste un peu mystérieux pour l'instant. En tout cas ça fonctionne plutôt bien.

Je sens qu'il va falloir passer encore pas mal d'heures de "Reverse Engineering" sur le code pour tout comprendre.



msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2218
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Fabrication d'un décodeur DCC pour locomotive
« Réponse #47 le: décembre 08, 2021, 11:29:52 am »
Bonjour,

j'aurai du mal à suivre le désassemblage, mais dans la série des décodeurs avec une résistance de 33Kohms, j'ai retrouvé ce site :

https://www.robokalle.de/elektronik%20dcc-lichtsignal%20decoder.htm

Pas testé.
Cordialement

nopxor

  • Full Member
  • ***
  • Messages: 177
    • Voir le profil
Re : Fabrication d'un décodeur DCC pour locomotive
« Réponse #48 le: décembre 08, 2021, 12:16:36 pm »
Bonjour,

Dans ce décodeur allemand, L'électronique est aussi au minimum: un pont redresseur et une résitance de 22k. C'est tout !

J'ai trouvé un autre schéma de décodeur à base de PIC ou on trouve aussi une résistance de 33k pour la mise à niveau du signal DCC:

https://www.merg.org.uk/merg_resources/dcc/download/de12dsch.pdf

trimarco232

  • Sr. Member
  • ****
  • Messages: 267
    • Voir le profil
Re : Fabrication d'un décodeur DCC pour locomotive
« Réponse #49 le: décembre 12, 2021, 09:28:39 pm »
bonjour,
pour info, les nops servent à compenser le nombre de cycles plus élevé quand une instruction de saut exécute le saut
ainsi, on a le même nombre de cycles quelque soit le chemin parcouru entre le début et la fin du morceau d'ordinogramme, cad. la même durée, ce qu'on veut
j'ajouterais, sans vouloir froisser personne, que les petits mcu actuels sont suffisamment pourvus en timers pour s'éviter ce genre de turpitude ; mais quand on aime ...

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2218
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Fabrication d'un décodeur DCC pour locomotive
« Réponse #50 le: décembre 20, 2021, 03:54:54 pm »
Bonjour,

des nouvelles de ce très petit montage prometteur :

Malheureusement, comme pour Antoine, pour moi aussi le montage reste silencieux. (rien en sortie)

Un passage à l'oscilloscope montre que le signal d'entrée du PIC est correct et que la tension d'alimentation est bonne (5V)

Cependant le signal d'entrée probablement écrêté par le PIC est de 6V crête ce qui est quand même inquiétant.

Par ailleurs, peut-être du à la capacité d'entrée de la sonde, on constate aléatoirement une oscillation sur ce signal d'entrée, qui provoque une tension erratique en sortie du driver moteur.

Il semble que la résistance de 33K ait des variantes sur le site japonais. Y a t-il une valeur optimale ?

Deux montages réalisés.

Y a-t-il d'autres testeurs ?



Cordialement

nopxor

  • Full Member
  • ***
  • Messages: 177
    • Voir le profil
Re : Fabrication d'un décodeur DCC pour locomotive
« Réponse #51 le: décembre 20, 2021, 08:27:16 pm »
Bonjour,

C'est bizarre.

Personnelement je soude en premier le pic puis je le programme.
Je soude ensuite le reste des composants.

Je ne sais pas si cela a son importance.

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2218
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Fabrication d'un décodeur DCC pour locomotive
« Réponse #52 le: décembre 20, 2021, 09:16:51 pm »
Effectivement, j'ai programmé le PIC sur un support de programmateur (le contenu a été vérifié) avant soudures.
Mais les connexions au PicKit sont les mêmes.
Cordialement

nopxor

  • Full Member
  • ***
  • Messages: 177
    • Voir le profil
Re : Fabrication d'un décodeur DCC pour locomotive
« Réponse #53 le: décembre 21, 2021, 12:33:26 pm »
L'alimentation de ma base station DCC++ est de 15V DC.

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2218
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Fabrication d'un décodeur DCC pour locomotive
« Réponse #54 le: décembre 26, 2021, 10:33:07 pm »
Bonsoir,

les festivités n'ayant plus laissé de traces, les tests ont repris :

12V, 15V ou 18V, pas plus de réaction.
Mise en parallèle sur le DCC de 560pF (au cas où, comme pour Mynabay)

Vérification de la programmation, tous les composants montés : vérification OK.

Passage à l'oscilloscope des sorties du PIC vers IN1 et IN2 : 0V. Le DCC est bien présent sur la pin 5 (RA2).

Comme les PIC se vérifient sans problème, je ne pense pas qu'ils soient défectueux, aurais-je oublié quelque chose dans les options de PicKit ?
Cordialement

nopxor

  • Full Member
  • ***
  • Messages: 177
    • Voir le profil
Re : Fabrication d'un décodeur DCC pour locomotive
« Réponse #55 le: décembre 27, 2021, 07:09:13 am »
Bonjour,

Vérifier la bonne orientation des composants:
PIC, Driver, Pont de diodes, Diode.
programmation de la version 0.92.hex -> OK
Tout semble OK, ça devrait fonctionner !

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2218
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Fabrication d'un décodeur DCC pour locomotive
« Réponse #56 le: décembre 27, 2021, 12:00:54 pm »
Orientation PIC : il se programme et se vérifie donc OK (même si on lui chauffe les pattes)
Pont de diodes et régulateur : 5V donc OK
Driver 0V en entrée donc normal

Reste la possibilité d'un pont de soudure, je vais tester avec le PIC en solo et voir si il sort le signal pour le driver ...

Le décodeur est bien programmé pour une adresse 3 de base ?
Cordialement

Remi

  • Newbie
  • *
  • Messages: 35
  • HO en 3 rails (Marklin)
    • Voir le profil
Re : Fabrication d'un décodeur DCC pour locomotive
« Réponse #57 le: décembre 27, 2021, 03:52:28 pm »
Bonjour,
je ne sais pas ci cela est important, mais sur la page une, on voit que la liaison entre le programmateur et la carte décodeur comporte 5 fils.
Sur votre montage je ne vois que 4 fils. Peut être que pb pourrait venir de la ?
Mais peut être que cela n'a rien à voir ::).
A+

nopxor

  • Full Member
  • ***
  • Messages: 177
    • Voir le profil
Re : Fabrication d'un décodeur DCC pour locomotive
« Réponse #58 le: décembre 27, 2021, 05:20:55 pm »
Bonjour,

Oui l'adresse par défaut est 3.

Il y a bien 5 fils pour la programmation.
Les photos ou on voit 4 fils, ce sont les liaisons au DCC et les liaisons au moteur.

Tout à l'air OK sur les photos.

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2218
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Fabrication d'un décodeur DCC pour locomotive
« Réponse #59 le: décembre 28, 2021, 06:01:54 pm »
Bonsoir,

j'ai testé sans le driver, et il ne sort rien de la broche 5 vers IN1. Programmation avec le PIC soudé avant les autres. 5V ok.

Les PIC reçus contiennent déjà des octets programmés. Je vois qu'il y a dune zone de configuration mais qui n'a pas été modifiée dans les captures d'écran postés plus tôt.

Pas de boot loader nécessaire ?

Y aurait-il un fichier .hex sur le net style pilotage de PWM qui permettrait de valider les chips reçus ? Nota, ils se programment sans problème et se vérifient de même.
Cordialement