Auteur Sujet: DECODEUR DCC Loco et fonctions  (Lu 35690 fois)

laurentr

  • Hero Member
  • *****
  • Messages: 648
    • Voir le profil
DECODEUR DCC Loco et fonctions
« le: août 04, 2020, 12:41:51 pm »
Bonjour

LOCODUINO ne s est pas encore (beaucoup) penché sur la réalisation de decodeurs embarqués maison qui seraient des alternatives valables aux décodeurs DCC pour nos locomotives ( ou nos véhicules)

Les principales limites de ce type de réalisation tiennent souvent plus aux problèmes de place et de volume disponible pour réaliser de tels décodeurs.
Le recours aux composants de type SMD/SMT ( CMS  composant monté en surface) de petite taille sont un prerequis presque indispensable.

Toutefois leur diffusion devient aujourd'hui massive et leur mise en oeuvre soignée ne pose le plus souvent pas de "trop gros problème" au moins pur du format jusqu à 0805 voir 0603.
Le cas des microprocesseurs reste voisin mais toujours jouable avec le bon materiel (flux, bonnes soudure, air chaud, fer régulé,...)

Mes différentes lectures et recherches sur internet m ont conduit a voir que si différentes solutions ont pu etre esquissées ci ou la, il n y a pas à ce jour de réalisation "up to date" ( à jour) avec nos composants habituels dont la mise en œuvre est très souvent décrite sur le site: je pense en tr autre aux ATMEGA et ATTINY. ( plus specifiquement aux ATTINY45/85 et 44/84)

L idée serait donc de réaliser des décodeurs DCC Maison pour loco et ou fonction.

Je me permets de mettre un lien vers un site japonais qui présente des réalisations interessantes et dont on peut surmement exploiter une part de contenu.

http://www13.plala.or.jp/katsuraan/Decoder/decoder.html#ATtiny44StandardDecoder

Je recommande l utilisation du navigateur Google CHROME et l utilisation de la fonction TRADUCTION en français pour obtenir une lecture simplifiée

Idem pour le site en allemand suivant
http://1zu160.eu/index.php/dcc-decoder.html
 details ici
http://1zu160.eu/index.php/decoder-hardware.html
http://1zu160.eu/index.php/programmierung.html

download ici
http://1zu160.eu/index.php/download-18.html#DCC-Decoder

A voir donc ce que vous pensez que nous pourrions collectivement concevoir et implémenter.

Mes pistes de réflexion
ATTINY45/85 pour moteur et 2 sorties de fonctions au delà si besoin supérieur ATTINY44/84
Régulation par MIC5233-5.0YM5 après pont de diode
IN signal DCC vers MCU via pont+ résistance (33K à 100K voir plus)
2 ponts MOSFET N et P pour l exécution ( ne pas oublier les 2 résistances de 10K pour la désaturation)
NPN ou MOSFET pour l exploitation des sorties complémentaires.
connectique pour MTC21 PLUX16/22 8 et 6 broches

***Montage***

PCB 6/10 (ou 4/10)
Resistance en 0603 si possible (ou 0805 si puissance nécessaire)
Condo en 0805 (ou 0603)
Diode en SOD323F
Transistor SOT23 ou SOT323...
ICSP pour programmation du decodeur...
connecteur (PLUX/MTC, sortie pads...)

Reste comme toujours cette partie de code à écrire et ou adapter... (HELP!?) 8) je pense pouvoir traiter efficacement la partie schématique et PCB avec vos suggestions
La gestion du "back EMF" semble un point a traiter spécifiquement.

Pour memo duex autres réalisation à citer également
les decodeur NMRA (voir exemples de la librairie NMRA-DCC dont SMA de Geoff BUNZA)

decodeur du site de Rudy BOER
https://rudysmodelrailway.wordpress.com/software/

A vous lire prochainement sur ce beau sujet...

PS: J ai fait volontairement à ce stade abstraction du cout de réalisation qui sera aussi à considérer devant l offre du marcher... ( ESU, ZIMO, LENZ,... etc) mais ceci ouvrira peut etre des possibilites de decodeur custom pour des engins specifiques ou ces tels decodeurs ne peuvent tenir ou sont insuffisants...


Laurent




laurentr

  • Hero Member
  • *****
  • Messages: 648
    • Voir le profil
Re : DECODEUR DCC Loco et fonctions
« Réponse #1 le: août 13, 2020, 03:41:21 pm »
Bonjour

J ai poursuivi mes recherches pour identifier un projet déjà for avancé et assez bien documenté.

Il parait pourtant nécessaire au vu des progrès accomplis ces dernières années avec l IDE ARDUINO et les bibliothèques disponibles de réactualiser certaines parties.
Les adeptes du code en C pourront apprécier le travail déjà produit.

le lien des sources
https://github.com/Railstars/Aegaeon


Cote Hardware par contre cela n est pas aussi abouti mais cela n est pas la partie qui pose le plus de soucis! (enfin pour moi meme s il reste beaucoup à faire!)

Ici on trouve toutes les info pour la gestion du moteur avec utilisation de la BEMF (force contre électromotrice), réglage de tres nombreuses CV bien retaillées selon Norme NMRA.

Je vous laisse apprécier cet apport et exprimer vos retours.

Laurent

laurentr

  • Hero Member
  • *****
  • Messages: 648
    • Voir le profil
Re : DECODEUR DCC Loco et fonctions
« Réponse #2 le: août 17, 2020, 07:19:00 pm »
Bonjour

Poursuivant aussi mes recherches j'ai découvert les "SMILE DECODERS"

A cette adresse sous navigateur google CHROME vous obtiendrez des informations assez précises en FRANCAIS.

https://desktopstation.net/wiki/doku.php/ds_smile_decoder_r4

Des liens vers d autres réalisations sont aussi intéressantes ( NAGODEN,...)

Ce décodeur assez compact semble tenir de nombreuses promesses!!

encombrement compact
MCU=  ATMEGA8 (donc ARDUINO ATMEGA328P sans soucis!)
Gestion de la BEMF (force contre électromotrice...) (compléments ici: http://end-trail.jugem.jp/?eid=22
plusieurs sorties pour des fonctions
ICSP via connecteur de TYPE-A

La base est plutot interessante!!!.
Le code est fourni ainsi que le  (cœur du) schéma global
L’utilisation est libre de droits (SOFT et HARD)

Je me demande si une conversion vers un ATTINY84 ne serait pas un atout majeur... ( dont réduction d encombrement du MCU?)

Pour moi il y a quelques points éventuellement à reprendre/modifier:
Gestion du redressement
Gestion de la conversion du +5V ( LDO différent à voir selon spécificités: pourquoi pas un MIC5233 5-0)
Valeurs des résistances sur l entrée du signal DCC sur le MCU ( Pin2) ( sécuriser le Vin <= 5V sur PIN MCU)
Valeurs des résistances sur l utilisation du BEMF ( sécuriser le Vin <= 5V sur PIN MCU)
Connecteur normalisé?
ICSP normalisé?
Ajout points de connections pour POWERPACK?
Utilisation du pont H (incluant ré-routage) à remplacer par un TB67H450 à la place du BD6231F-E2
Complément avec des MOSFET-N pour la gestion des sorties...
...

A vos avis...

Laurent



nopxor

  • Full Member
  • ***
  • Messages: 195
    • Voir le profil
Re : DECODEUR DCC Loco et fonctions
« Réponse #3 le: août 18, 2020, 04:56:53 pm »
Bonjour Laurent,

Merci pour tes recherches. C'est très intéressant.
Le smile decoder est attractif.
L'existence du code .ino est un avantage.

Pour la réduction en taille, l'ATMEGA328P existe aussi en boitier QFN 4x4mm (28 broches).
Soit la même taille qu'un ATTINY84 qui coûte le même prix (2€) qu'un ATMEGA328P chez TME.

L'idéal serait un pcb le plus petit possible quitte à éviter les connecteurs et souder des fils.

A quoi sert le BEMF ?

laurentr

  • Hero Member
  • *****
  • Messages: 648
    • Voir le profil
Re : DECODEUR DCC Loco et fonctions
« Réponse #4 le: août 18, 2020, 06:58:53 pm »
Bonjour

Mesurer la BEMF (BACK ELECTRO MOTRICE FORCE) ou Force contre électro motrice est un phénomène électrique que l on mesure pour s assurer que l asservissement du moteur correspond bien aux ordre envoyés. C est donc un "réglage fin " qui permet dans les faibles vitesse d assurer de meilleures performances de fonctionnement.

Les projets NAGODEN sont sublimes!
Voir les liens des projets 42 à 55 par exemple.
http://www007.upp.so-net.ne.jp/nagoden/
Les amateurs de petites échelles devraient apprécier pouvoir se construire leur propre decodeurs SONORES avec plusieurs Mo ou Go de bande son...

Par ailleurs dans de nombreux schema je ne comprenais pas la "magie " des tensions appliquées sur les pin IN notamment de celles traitant le DCC PULSEDS ( entrée du signal DCC) ou venant du moteur pour la mesure du BEMF.
De ce fait pourquoi les diodes entres ces pin et le +5V?... Pouruoi pas un pont diviseur de tension?

Il n y avait aucun antécédent sur LOCODUINO à ma connaissance.

J ai trouve 1 explication ici:

http://karooza.net/high-voltage-arduino-pins

On comprends donc le rôle des résistances de 100Ko et de la diode. dans les schémas. (et on se passe ainsi des aléas associes)

Je n ai pas encore identifié le rôle des connexions sur AD6 (PIN19) et AD7 (PIN22 sur l AMEGA328P) ni leur exploitation. ( détection du sens de circulation en mode analogique?)

Pour ce qui est du choix du MCU le sujet est ouvert
Question encombrement on est bien en phase: le plus petit possible (mais encore soudable à la main) avec des composants pouvant encaisser des V (plutôt 30V que 20V par exemple)

Perso je soude du 328P_AU au format TQFP32 mais on est pas loin de la limite du a la main sans moyen spécifique dédié.
le QFN, je n'ai pas essaye mais cela me semble un peu plus délicat...

Après sur une petite série auprès d un industriel ça en changera pas le cout.

Laurent

laurentr

  • Hero Member
  • *****
  • Messages: 648
    • Voir le profil
Re : DECODEUR DCC Loco et fonctions
« Réponse #5 le: août 18, 2020, 11:50:22 pm »
Bonsoir

Le document de reference ATMEL est ici:

http://ww1.microchip.com/downloads/en/AppNotes/Atmel-2508-Zero-Cross-Detector_ApplicationNote_AVR182.pdf

Cela ouvre quelques perspectives...
Laurent

laurentr

  • Hero Member
  • *****
  • Messages: 648
    • Voir le profil
Re : DECODEUR DCC Loco et fonctions
« Réponse #6 le: août 19, 2020, 11:56:47 pm »
Bonsoir

Rentrons un peu plus dans le vif du sujet:

Voici après quelques heures de dessin une projection d'un modèle de décodeur ici avec connecteur PLUX22 pour dimension 16x35mm (selon norme NEM658) sur 2 couches.

Je me suis inspiré des modèles NAGODEN en ayant actualisé la liste des composants

Nul doute que l'on peut faire mieux!

  • les MOSFET (Q1 à Q4) encaissent 30V et 300mA donc pas de souci ici pour allumer nos leds
    le pont en H (IC1) prend 2.5A à 24V sans difficulté.
    la régulation du 5V peut fournir jusque à 100mA
    les diodes Schottky prennent 1A et jusqu à 7A en pointe sans soucis...
    X1 assure les 16Mhz et la precision de synchro
    R1-R2 et D5 assure  l'entrée du signal DCC vers l'ATMEGA328P.
...

Les fonctions assumées par le decodeur:
  • Controle du moteur en PWM avec BEMF
    8 sorties de fonctions directes (F0f, F0r, AUX1, AUX2, AUX3, AUX4, AUX5, AUX6)
    ISP au format standard au pas de 2.54mm (2x3)

Ci joint le schema et vues recto et verso.





A t on intérêt à prévoir l'exploitation des RX/TX? (liaison SPI?)
On dispose encore de place pourquoi pas pour essayer d y glisser les composants pour RAILCOM? sur une autre version!)

A vos suggestions...

Laurent

nopxor

  • Full Member
  • ***
  • Messages: 195
    • Voir le profil
Re : DECODEUR DCC Loco et fonctions
« Réponse #7 le: août 20, 2020, 10:45:14 am »
Bonjour,

Félicitations pour ce travail.
Il pourait être avantageux d'avoir la zone du connecteur ISP sécable pour le supprimer une fois le cpu programmé et réduire ainsi l'encombrement au minimum.
Quel serait l'intérêt d'exploiter RX/TX ?

laurentr

  • Hero Member
  • *****
  • Messages: 648
    • Voir le profil
Re : DECODEUR DCC Loco et fonctions
« Réponse #8 le: août 20, 2020, 02:16:05 pm »
Bonjour

L intérêt de TX/RX serait d y associer des extensions selon le protocole SUSI par exemple (bus SPI je crois)

J ai dessiné une version portant la compatibilité hardware du RAILCOM et ajouté AUX7 via un MOSFET-N supplémentaire (via BSS-138).
Pas eu d autre choix que de passer en 4 couches.

Ci jointes les vues 3D.





Sur ces versions la plus délicat reste la soudure du MCU.

Pour la séparation/scalabilité du connecteur ICP c'est une option à considérer  (que je maitrise mal avec les modalités du V-cut) mais il est possible de laisser sous forme de PADs dans un format plus petit...

Le sujet reste ouvert...

Qui se sent une âme de codeur pour intégrer RAILCOM à la bestiole?
doc RAILCOM:
https://www.nmra.org/sites/default/files/s-9.3.2_2012_12_10.pdf

A vos avis et suggestions...

Je vous laisse admirer ici un décodeur SONORE "DIY" de NAGODEN (ideal petite echelle)



Lien vers le décodeur en question:

http://nagoden.la.coocan.jp/dcc/dcc46/dcc_46.htm

(le code associé avec les fichiers de construction et dans un lien plus bas.)

la version la plus avancée avec connecteur NEXT18:
http://nagoden.la.coocan.jp/dcc/dcc54/dcc_54.htm

et la version non sonore du NEXT18:
http://nagoden.la.coocan.jp/dcc/dcc52/dcc_52.htm

Lien de l'ensemble des versions:
http://nagoden.la.coocan.jp/dcc/dcc_menu2.htm

et enfin le lien ou télécharger les éléments:
http://nagoden.la.coocan.jp/dcc/mp3sc/sketch.htm

Rm avec GOOGLE CHROME utilisez la fonction traduction automatique de japonais vers Français.


Bonnes découvertes ou approfondissements!
Laurent


laurentr

  • Hero Member
  • *****
  • Messages: 648
    • Voir le profil
Re : DECODEUR DCC Loco et fonctions
« Réponse #9 le: août 20, 2020, 04:17:08 pm »
Autre video des deocdeurs NAGODEN en fonctionnement

https://www.youtube.com/watch?v=ISHbO8JOXLs&feature=youtu.be

Ici un SMILE DECODER R7n
« Modifié: août 20, 2020, 04:21:41 pm par laurentr »

trimarco232

  • Sr. Member
  • ****
  • Messages: 345
    • Voir le profil
Re : DECODEUR DCC Loco et fonctions
« Réponse #10 le: août 21, 2020, 12:23:45 am »
Bonsoir,

pour le mcu tu peux abandonner les vieux avr au profit des nouveaux attiny série 1 ou avr 0 (voire DA/DB) ; j'en ai parlé dans la rubrique composants ; l'intérêt c'est d'avoir + de puissance, + de périphériques qui peuvent servir, un pinout alternatif des périphériques (facilitant le dessin du pcb), un seul fil pour la programmation ET le débogage (exit l'immonde connecteur à 6 fils, tu mets un jst 3 fils au pas de 1.25mm à la place)

+ un mcu est puissant, + il est facile à programmer, c'est intéressant pour un débutant

nopxor

  • Full Member
  • ***
  • Messages: 195
    • Voir le profil
Re : DECODEUR DCC Loco et fonctions
« Réponse #11 le: août 21, 2020, 10:40:29 am »
Bonjour,

L'intérêt de ce projet est d'utiliser le code open-source existant.
Celui-ci utilise dans ses bibliothèques la programmation dédiée des timers de l'ATMEGA328P.
Vouloir utliser ces nouveaux cpu, conduirait à une réécriture complexe des bibliothèques.
Dailleurs ce décodeur n'a pas besoin de plus de puissances ni de plus de périphériques.

Le connecteur ISP ne sert que pour la programmation, il n'a pas pour vocation de rester sur le pcb.

trimarco232

  • Sr. Member
  • ****
  • Messages: 345
    • Voir le profil
Re : DECODEUR DCC Loco et fonctions
« Réponse #12 le: août 21, 2020, 11:32:46 am »
alors je n'ai rien dit
je suis curieux de voir comment les bibliothèques existantes, créées pour des décodeurs fixes, gèrent le signal dégradé à bord d'un engin, et le railcom
je me contenterai suivre le topic avec intérêt

nopxor

  • Full Member
  • ***
  • Messages: 195
    • Voir le profil
Re : DECODEUR DCC Loco et fonctions
« Réponse #13 le: août 21, 2020, 12:02:28 pm »
Pour le Railcom, c'est une option ambitieuse (amha) que  les sources du smile decoder ne  gèrent pas.

laurentr

  • Hero Member
  • *****
  • Messages: 648
    • Voir le profil
Re : DECODEUR DCC Loco et fonctions
« Réponse #14 le: août 21, 2020, 04:41:56 pm »
Bonjour

Le SmileDecoder natif n'inclue pas RAILCOM.( qui est une fonctionnalité peu utilisée hors Europe)
Hormis la version NEXT18 aucune réalisation actuelle coté HARDWARE n’inclue nos connecteurs normalisés ( 6/8 broches, MTC21 ou PLUX 12/16/22)
La encore l utilisation hors Europe n'est pas un standard de connexion très rependu (surtout en petites échelles)

Le ONECOIN Decoder (NUCKY) ( à base de contrôleur PIC) est aujourd hui ce qui se fait de plus compact pour un décodeur de loco embarqué ( en DIY) mais avec des fonctions de base simples ( pas de BEMF, pas de sorties en grand nombre pour des auxiliaires...)
pour la version 4.2: http://web.nucky.jp/dcc/decoder4/onecoindecoder4.html

pour la version 6 (la plus récente): http://web.nucky.jp/dcc/decoder6/onecoindecoder6.html

Les versions du Smiledecoder dont on trouve le code libre traitent à partir de version 3 puis 4 et suivantes du BEMF.
Certaines versions sont dotées du SON stocké sur carte SD ou sur mémoire. (format MP3 ou autre selon versions) ou bien encore d une fonction dite VVVF ( qui semble générée par le décodeur lui meme via PWM vers un circuit audio)
Plus d'info ici: https://seesaawiki.jp/fujigaya2/d/%c4%df%a4%ea%a4%ab%a4%b1/VVVF%b2%bb%c9%f4%ca%ac%a4%ce%b2%f2%c0%e2%a1%caMP3%a5%b5%a5%a6%a5%f3%a5%c9%a5%c7%a5%b3%a1%bc%a5%c0V5%cd%d1%a1%cb

Ces projets sont aujourd’hui architecturés autours de l'ATMEGA328P et semble donner une grande satisfaction.
http://nagoden.la.coocan.jp/dcc/mp3sc/sketch.htm

Une version "Light semble exister pour l ATTINY85 ( voir bas de page ici pour le croquis)
https://desktopstation.net/wiki/doku.php/sketches


(d autres sources ici également toute version confondues:
https://desktopstation.net/wiki/doku.php/fujigaya2_sketches


Nous devons/pouvons nous en inspirer.

Coté HARDWARE nous pouvons également tirer parti des réalisations présentées et optimiser ( nouveau MCU?(lequel?) nouveau pont H (le TB64H450 semble un candidat idéal pour tout echelle), nouveau régulateur de tension? (MIC5233-5V jusqu à 80mA? Quid au dela? ex le  nouveaux MOSFET? (ex SSM6N7002KFU))

Pour ma part à ce stade il y a deux axes différents à considérer pour un code donné:
A/ soit le hard est fait industriellement et permet de descendre dans le "très petit", les robots réalisant les soudures, placement etc
B/ soit la HARD est conçu pour pouvoir être (encore) fait "à la main" pour l assemblage des différents composants.

Si possible rester sur un PCB en 2 couches et ne passer sur 4 que si pas de moyen de router facilement le tout dans un volume contraint. (Ex la NEM658 donne MAX pour un décodeur PLUX22 Sonore un volume de 35mmx16mmx6.3)

Une troisième voie peut consister à avoir un décodeur de base avec un module d'extension ( ex fonctions sonores)


A/ et B/ sont un peu aux antipodes car le souhait est de ne pas dépasser les tailles idéalement faibles des encombrements des décodeurs.

Cote MCU et code je ne maitrise pas assez pour estimer la charge de conversion d un code vers une nouvelle production...

Pour ce qui est des plots de programmation nous convenons que le plus petit et le moins encombrant sera le mieux. J éviterai le coté sécable pour viser la pérennité (sauf contrainte inaltérable)

Nous cheminons...!
Nous devrions pouvoir progresser et "sortir" un décodeur (loco et fonctions) LOCODUINO! C est l'ambition d un beau projet collectif fonctionnel et idéalement abordable!
« Modifié: août 21, 2020, 08:35:40 pm par Thierry »