OpenDCC




OpenDCC – Une station de Command pour DCC - Description du circuit électronique



Schémas, référence des pages

    Page 1: ATmega, alimentation +5V, JTAG et interface de programmation
    Page 2: Booster, DCC et sortie rail de programmation
    Page 3: Carte auxiliaire S88
    Page 4: Carte des boutons et voyants, sortie DMX
    Page 5: RS232 et interface USB

Description du circuit:

    Processeur:
    Le cœur de la carte OpenDCC est constitué d’un Microcontrôleur de marque Atmel, modèle AVR ATmega32 ou ATmeag644P (indispensable pour avoir Xpressnet). Ces Microcontrôleurs ont 32kByte de mémoire Flash programmable, 2kByte de mémoire SRAM et 1kByte d’EEPROM, ainsi qu’un contrôleur d’interruption, des Timer (horloge programmable) et des entrées/sorties (I/O) intégrées. Je recommande d’utiliser un ATmega644P, même si vous n’avez pas besoin de Xpressnet. L’ATmega est cadencé à 16 MHz, c’est aussi la fréquence principale de laquelle toutes les autres références temporelles sont dérivées. Si le programme principal est recompilé, la fréquence d’horloge correcte doit absolument être indiquée (variable F_CPU dans config.h ou dans Project Setting).

    Alimentation
    Sur la borne X13 (X2) une tension continue stabilisée de15 volts d’une alimentation extérieure doit être appliquée et utilisé pour l’alimentation du Pont redresseur en H (composant L6206) et pour l’alimentation du régulateur de tension 7805 délivrant du 5V en sortie. Malheureusement, il y a différent type de connecteurs sur les alimentations. Dans notre cas, la broche interne est le plus, la broche externe le moins. Au lieu de ce connecteur, un bornier à vis peut être utilisé sur la carte.

    Si il y a plusieurs sorties S88, le courant lié à la source de 5 volts serait trop élevé pour le régulateur 7805. Dans ce cas, un régulateur à découpage de type PTH08080 de Texas Instruments peut être installé sur la carte. Avec une efficacité de 85%, ce circuit est capable de délivrer 2,5 Ampères. Une autre alternative serait le RECOM R-7805-0.5 en boitier SIP3 (Il remplace parfaitement le 7805). Les entrées externes S88 sont protégées au moyen de Polyfuse contre les court-circuit.

    Surveillance des courts-circuits
    Le pont redresseur en H, L6206, intègre une protection contre les courts-circuits. Le courant maximum est ajusté par les résistances R7 et R12. Une valeur de 39K détecte un court-circuit au-dessus d’environ 500 mA tandis que pour 1,5K il sera de 1,5A.
    En outre sur la voie de programmation, le courant inverse du Pont redresseur (Sense_A Pin du L6206) traverse une résistance (0.5 Ohms, assurée pas deux résistances d’1 Ohm en parallèle). La chute de tension aux bornes de cette résistance est utilisée pour la détection du signal d’acquittement ACK.

    Sortie voies, réseau d’amortissement sur le signal de sortie
    En principe, la connexion aux voies est réalisée avec du fil en paire torsadée de façon à éviter les inductions possibles du signal source sur d’autres paires (e.g. S88). La sortie est compensée en interne par une combinaison Résistance/Condensateur qui évite les pics dans le signal.
    Si des pics apparaissent cependant sur la voie, le circuit RC peut alors être redimensionné (en augmentant le Condensateur). Les pics sont dus à des réflexions sur les rails. Cela peut être évité ou réduit si on filtre la sortie par une combinaison RC additionnelle. Il a été démontré qu’une combinaison de résistances en série et de condensateurs en parallèle ayant les valeurs R3=R4=0,15 Ohms et C9, C10=100nF à 200nF donne de bons résultats. C10 ne doit pas être supérieur à 200nf sinon lors de changement de polarité du signal DCC le détecteur de court-circuit réagira. Les résistances (R3 ou R4) doivent avoir une dissipation de 1W. Le courant de repos, cependant, augmentera alors d'environs 30-60mA (selon la capacité).



    Figure: signal de sortie

    Le détecteur d’acquittement (ACK)
    Schaltplanauszug
    Conformément au NMRA RP 9.2.3, un décodeur de locomotive en mode service, doit renvoyer un signal d’acquittement. Ceci est réalisé en augmentant brièvement la consommation de courant à 60mA. Cette augmentation entraîne une chute de tension sur l’entrée Sense_Prog. Suite à une suggestion de Martin Pischky, la chute de tension alimente deux circuits RC différents. Normalement, la tension à l'entrée négative du comparateur est supérieure d'environ 11mV. Pour suivre un changement de tension le circuit RC inférieur du schéma ci-dessus prend beaucoup plus de temps que celui du haut. Par conséquent, le comparateur détecte une courte impulsion positive à la montée de la tension. Cette impulsion déclenche une interruption (actif bas) sur le processeur.

    Un filtre passe-haut conformément à geocities_lab pourrait faire l’affaire aussi. Je n'ai pas pris le comparateur interne de l'ATmega parce que sa tension maximum d’offset est de 40mV.




    Sur cette capture d'écran, en haut en bleu le signal SENSE_PROG. À chaque changement du signal DCC, il y a ciculation d'un fort courant sur une courte période. Ceux-ci sont filtrés à travers un condensateur supplémentaire de 10nF entre les broches 2 et 3 à l'entrée du comparateur ACK. En bas de la capture d'écran le signal ACK_DETECT, on peut voir clairement l’impulsion ACK d'environ 14ms de long ; si le circuit RC atteint une nouvelle charge, il y a chevauchement des impulsions de commutation, entrainant un front descendant du signal ACK_DETECT abimé. ACK est détecté à partir de l'augmentation de courant de 50 mA (selon la norme 60mA). (Note: La programmation normale de cette impulsion est seulement de 6 ms, ici nous avons alors un front descendant propre).

    Interface PC
    L'habituel LT1081 ou MAX232 est utilisé pour l’adaptation des niveaux électrique. Les nouvelles versions ne nécessitent peu ou pas de condensateurs, dans ce cas, les condensateurs n'ont simplement pas à être monté. (par exemple Max232A nécessite seulement 0,1µF). Dans l'implantation deux trous sont positionnés à côté des broches 1 et 16. Dans ce cas le LT1080 peut être ainsi utilisé. Ce circuit est compatible broche à broche, cependant il dispose de 18 broches.
    Le contrôle de flux matériel est réalisé par CTS. un +10 V sur CTS (broche 8) autorise le transfert de données vers OpenDCC. RTS est relié à la broche 7 ;
    Une interface USB est une alternative par l'utilisation d’un circuit FT232RL. Ce composant émule une interface RS232 sur le bus USB, l'interface secondaire correspond à RS232 , mais avec des niveaux TTL, ce qui permet de faire un lien direct avec l' ATmega. Cette puce ainsi que les résistances l'accompagnant sont en CMS (SO28 ) . Dans le cas ou l'interface USB est utilisée, le pilote de www.ftdichip.com doit être installé sur le PC, les deux cavaliers JP5 et JP6 doivent être réglés sur la position USB, sinon ils doivent être en position RS232. Si une seule interface est utilisée, on peut remplacer les cavaliers JP5 et JP6 par des fils.
    Pour la version V1.3, les cavaliers sont présents sur la carte en tant que fils, s'il vous plait prêter attention au schéma de circuit et à la description cette partie sur le schéma de circuit.

    Boutons et voyants(LEDs)
    Tous les voyants(LEDs) fonctionnent en 2mA, ceux-ci sont alimentés directement par des sorties de Atmega. On peut alternativement monter les LEDs sur la carte mère (courbé vers l'avant) ou sur le panneau avant. Sur les boutons, un réseau RC est prévu pour éviter les rebonds, mais ils n’ont pas besoin d'être monté; Le mode haute impédance (pull-up) est programmé avec les ATmega et l'anti-rebond est fait par logiciel.

    Booster
    Le circuit intégré H -bridge L6206 peut délivrer un courant théorique maximum de 2.8A . Par contre, cette possibilité est limitée par les capacités de dissipation de chaleur du boitier. Sur le circuit imprimé des surfaces de refroidissement sont prévues, et avec un L6206 soudé, une résistance thermique de 44K/W est possible. Si l'on se permet d'augmenter la température jusqu’à 90 degrés, un courant de 1,5 A continu pas plus, peut être fourni en toute sécurité.

    La dissipation de la chaleur se produit principalement grâce aux soudures des pattes, donc une bande métallique de refroidissement approprié (bande de cuivre) doit être soudée dans la rangée de trous transversalement au circuit L6206. Le STM suppose un transfert de chaleur de 44 ° C / W pour un dissipateur de chaleur en cuivre avec 6cm2. L’idéal est de coller un dissipateur thermique adapté sur le circuit intégré pour améliorer la dissipation de chaleur.
    Il est vrai que d'autres types de circuit intégré (PowerSO36 ) auraient une meilleure dissipation de la chaleur et une meilleure performance , mais le problème se pose au montage car il est très difficile de souder ce boitier manuellement.
    Le circuit interne de détection de surintensité est équipé d’une résistance externe de valeur 15k , ce qui active le seuil de détection à env. 1.5A . Avec des charges capacitives (par exemple, très longs fils ( > 20m) ), il est possible que le circuit de détection surintensité réponde à cause de la décharge de la capacité de sortie. Dans ce cas, il est nécessaire d’utiliser un Booster externe.

    Prêter attention lors du choix d'une boite pour une bonne circulation de l'air. (Percer quelques trous :-)

    Veuillez noter: la sortie des voies n'est pas reliée à la masse (GND), mais évolue entre GND et VCC. Si vous utilisez des modules d’occupation de voie à rétroaction, faites attention aux boucles de masse potentiels!

    S88:
    Le bus S88 est équipé d'un contrôleur de bus 74AC244. Chaque bus S88 dispose de son propre pilote d’horloge. Pour éviter les fronts de signal trop nets, un réseau RC est placé sur la sortie d'horloge et à l'extrémité du fil une résistance de charge (pull-up) d'environ 330 ohms doit être connectée au 5 V.
    Ils sont reliés aux connecteurs habituels (tête 6 broches) ou en alternative à une prise RJ45. Avec ce connecteur, le bus S88 peut être connecté par l'intermédiaire d'un câble CAT5. A partir de la version V1.4, les connexions suivent la norme S88-N.

    En outre, S88-N permet la transmission de RAILDATA, en utilisant un tampon '125 surajouté. pour être en mesure de savoir si un ACK programmé est de retour sur S88-N la RAZ des trois états est commutable.Notes:
    - dans la V1.2 ou V1.3 ce plan de câblage est utilisé.
    - Adapteur pour les modules existants sont relativement simples et à base de MEB 8-8 (reichelt.de). Ce sont des prises RJ45 avec connexion de 70 mm.


    Types de Connecteurs
    Connexion aux voies sont réalisé à l’aide de WAGO 734-164 et de leur connecteur 734-104 (ex. www.reichelt.de). Comme alternative, des borniers à vis 4-poles (RM 5,08) peuvent être utilisé.

    Connecteur pour l’alimentation: connecteur courant basse tension DC, ex : Bürklin 40F140, (0338-8230-00), type AMP 5202550 (-,74), associé à la fiche 40F120. des borniers à vis peuvent être utilisé.

    Connecteur pour S88: RJ45: AMP 520251-4, Bürklin 73F558

Souhaits d'améliorations

    Bien sûr, une simple boîte ne peut pas couvrir tous les besoins et les préférences et les besoins sont différents. Les souhaits d'améliorations suivants sont d'ores et déjà apparus:
     - Support pour Loconet
     - Ethernet, en tant que SRCP Server

Hardware Journal des changements

    de V1.3 à V1.4
  • RJ45 selon S88-N.
  • Mémoire tampon pour Raildata ajouté.
  • Reset tristate possible
  • Changement entre USB et RS232 par cavalier
  • SJ4 côté composants
  • de V1.2 à V1.3:
  • Rotation des connecteurs RJ45
  • Plus de trou sur le panneau de face avant
  • Ajout de C44 (10nF) à IC6
  • Changement de la valeur R19, R20 de 10k à 2k2