OpenDCC – Une centrale DCC – Guide de construction

Préface

    Selon VDE, l'association allemande des technologies électriques, électroniques et de l'information, un modèle réduit de chemin de fer est classé comme jouet ce qui signifie qu'il y a des règlements de protection fortes pour les utilisateurs.

    Norbert Martsch a ajouté un lien vers un panier d’achat à reichelt.de, un fournisseur allemand de pièces électroniques.

Conseils pour souder

    En premier, les remarques habituelles: utiliser un fer à souder électronique (ne dépassant pas 300W;-), du fil de soudure approprié (pas de soudure Tiffany au plomb), les diodes et condensateurs ont une polarité (petite barre ou «+» dans les schémas), les circuits intégrés sont sensibles à l’électricité statique, en quelques mots: Si vous êtes débutants ne commencer pas avec ce circuit comme premier montage.

    D'autre part, il n'existe pas de véritables difficultés de soudage à l'exception de la puce USB qui utilise la technologie de montage en surface CMS. Les valeurs des résistances et condensateurs ne sont généralement pas critiques, dans le schéma il y a des indices pour les caractéristiques électriques (exceptions: R37 (utilisée uniquement pour régulateur à découpage PTH) doit avoir une précision de 1%: 348 Ohms, R32 et R10 doivent être des résistances à film métallique). La polarité des LED est repérable par leur patte longue pour l'anode (A, +) et la patte courte pour la cathode (K, -).

    IC1 (H-bridge) ne doit pas être monté sur un support, mais soudé sur le circuit pour permettre la dissipation de la chaleur directement vers celui-ci.

    Le circuit intégré FT232 USB est fourni dans un boitier SSOP de 28 broches en écartement de 0,65 mm. Commencer par déposer de la soudure sur un des points de connexion d’angle du circuit imprimé, puis positionner la puce en respectant son orientation, aligner toutes les pattes sur leurs points de connexion puis souder la patte de l’angle. Après celle-ci, continuer à souder le reste des autres pattes sur leurs points de connexion. Utilisez une panne de fer bien fine et de la soudure étain en fil de 0.5mm;-). Ne paniquez pas si deux broches se connectent. Ne pas rester pas trop longtemps à chauffer, mais laissez-le refroidir et recueillir l'étain en trop avec une tresse à dessouder. Vérifiez tous les joints soudés par la suite avec une loupe.

    Au montage, l'oscillateur à quartz peut provoquer un court-circuit entre des pistes par son boitier métallique et les points de connexion des composants CMS. Utiliser un ruban isolant ou tout simplement prévoir un peu d'espace entre la carte et le boitier.

Préparation

    Avant de monter les composants électroniques, vous devez couper le circuit imprimé suivant les lignes roses en cinq parties.


      Carte de base: 120mm * 100mm
      Carte S88: 70*38 mm
      Carte boutons poussoir et LED: 38 * 23mm
      2 cartes LED: 17 * 5mm
    La carte des boutons poussoir et les 2 petites cartes LED sont assemblées pour créer le panneau avant comme ceci:

    Connecter tous les 3 parties par des ponts métalliques en soudant (par exemple à partir de fils de pattes de résistances) sur les circuits imprimés selon les lettres AA à DD. Cela se traduit par l'espacement identique entre les LEDs. Le panneau avant est monté verticalement sur la carte de base. AA et BB seront à l'arrière, CC et DD à l'avant. Utilisez la carte principale en tant que guide de montage. Conserver l’alignement des lignes bleues (virtuels), éventuellement vous pouvez utiliser un guide si nécessaire.

Carte principale

    Tout d'abord vous devez souder le composant de surface (CMS) près du connecteur USB. Ensuite, continuer avec les résistances, les diodes, les supports de CI. Voir le schéma d’implantation pour le placement des résistances, des condensateurs et autres composants.

    Puis montez les circuits intégrés, les condensateurs, les connecteurs. Les connecteurs à l'arrière doivent être alignés sur le panneau arrière de la boite. Pour la gestion du port RS232 il y a 2 options possibles : MAX232 ou LT1080. Si vous optez pour Max232, vérifier la position de la broche 1 qui est décalée de 1 (vous reconnaitrez les plots de départ sur la carte).

    Ci-dessus, une carte mère complètement montée, vue de derrière.
    Remarque: dans cet exemple, les deux interfaces PC ont été ajoutées (RS232 et USB), en général une seule est suffisante. L'interface active doit être sélectionnée par les cavaliers JP5 et JP6. C'est 3 contacts, au milieu à gauche ou au milieu à droite, doivent être sélectionné en conséquence (les cercles rouges indiquent les positions sur les cartes en version 1.3, dans ce cas, la sortie RS232 est sélectionnée par des ponts de soudure, en version 1.4 on utilise des cavaliers).


    Ci-dessus, une carte mère complètement montée, vue de face (les composants manquants ne sont nécessaires que pour l’interface Ponyprog).

Carte face avant (boutons poussoir et LEDs)


    Tout d'abord assembler les cartes des boutons-poussoirs et les 2 petits panneaux LED, comme décrits précédemment. Il en résulte une distance entre LED de 22.86mm. Si vous avez une autre carte vierge de disponible, vous pouvez l'utiliser pour aligner ou utilisez un connecteur multibroche pour aligner les entretoises. (picture)
    Ce panneau avant est monté sur la plaque de base verticalement dans le milieu. Utilisez deux connecteurs coudés 5 broches (ou découpez des pattes de résistance). Enfichez, mais ne soudez pas encore.


    Soudez maintenant les boutons-poussoirs sur le panneau avant, mais tous les autres composants seront laissés non soudés pour pouvoir les aligner. Vissez le panneau avant sur la carte mère en utilisant un cube à vis (par exemple disponible chez l'allemand Bürklin, référence 17H912). Une fois que la carte des boutons-poussoirs est alignée sur la face avant vous pouvez souder les deux connecteurs coudés 5 broches.
    Astuce par Alex: au lieu d'un cube à vis, vous pouvez également utiliser des fils métalliques épais insérés en diagonale. Il a découvert un cube similaire avec la référence "GB4xM3» qui est disponible à http://www.qrpshop.de/

    Panneau avant, LEDs encore par encore fixées. Après avoir vérifié le positionnement dans la boite, déplacer les LEDs dans leur trou dans la face avant et les souder. La carte assemblée La carte installée dans sa boite

Carte Complete

    Vue de face Vue de droite Vue de gauche Vue arrière

Panneau arrière

    Le panneau arrière offre la prise RS232, la prise d’alimentation, la prise USB, la prise DCC, la prise Ctrl Plug In-Out qui toutes ont été montées sur la carte mère. Vous devez utiliser panneau arrière pré percé et pré découpé pour avoir l'alignement approprié. La carte d'interface S88 sera montée comme une carte fille (piggy-back) à l'aide d'un boulon de 20 mm et une vis M3. Elle sera reliée à la carte mère via un câble et des connecteurs à sertir à 14 broches.

    À partir de la version 1.4 de la carte, le bus S88 est câblé selon S88-n. Cela permet le transfert en RAILDATA. Seulement dans ce cas, les résistances R41, R43, R44, R45 doivent être montés. Sinon, pour un usage normal, elles ne sont pas nécessaires, mais le cavalier à souder SJ2 (qui se trouve sur la face inférieure du panneau S88) doit être fermé.

    Attention:
    Il existe différents types de connecteurs disponibles: soit la broche mâle 1 de la carte est connectée au câble en fil 1 (repère), ou la broche alternative14 est connectée au câble en fil 1. Peu importe le mode utilisé, tant qu'il est utilisé sur les deux connecteurs de façon identique. Si une prise 14 broches n'est pas disponible, vous pouvez également utiliser un connecteur 16 broches - c'est pourquoi il ya des trous vacants supplémentaires dans le circuit imprimé.

Boitier

    La carte mère ainsi que toutes les cartes filles piggy-back peuvent être montées dans un boitier Fischer et respectivement montées par vis sur les supports Teko. Les panneaux avant et arrière sont percés et découpés en fonction de ces <a href="opendcc_hw_mech_f.shtml">schémas</a>. Si vous souhaitez utiliser la carte d'interface DMX (non recommandé), vous devez connecter la fiche XLR via un câble selon la pince à vis 3 broches. Le numéro de connexion sera identique au numéro de XLR.
    Astuce: si vous prévoyez d'installer un contrôle de lumière, il est plutôt recommandé d'utiliser le décodeur. Dans les versions futures du logiciel, le support DMX peut disparaitre.

Mise sous tension et tests

    Après avoir monté tous les composants, faire une vérification visuelle et nettoyer les restes de soudure en utilisant un peu d'alcool. Pour l’instant, ne montez pas encore le processeur Atmel!

    Ensuite, connectez l’alimentation pour la première fois, utilisez une alimentation de laboratoire et limiter le courant à 50 mA.

    Vérifiez le 5V au régulateur de tension, puis de tester LEDs: Connectez une résistance de 220 ohms à la masse et de l'autre côté sur les broches du support de l’ATMEL 28, 29, 35, 36 - vérifier si les LED s’allument. Maintenant, commencer à monter les composants restants..

    Quand tout est monté, connectez à nouveau l’alimentation: le courant de repos devrait être d'environ 30 mA car n’ayant pas encore un le microcontrôleur Atmel programmé. Avec un Atmel programmé, le courant de repos atteint environ 50 mA. Le courant de repos augmente encore en utilisant le régulateur de tension 5V et si la sortie DCC-out est équipée d'un filtre passe-bas RC (+60 mA).

Programmation initiale du microcontrôleur ATmel

    Après avoir complété le matériel, le microcontrôleur Atmel a besoin d’être configuré et d’être chargé de son logiciel «firmware ». Cela se fait en 3 étapes:
    1. Programmation des "Fuses"
    2. Import du programme de chargement initial (Boot loader)
    3. Mise à jour par le logiciel
    En premier, configuration des fuses.
    Le microcontrôleur Atmel ATmega32 propose plusieurs modes de cadencement et plusieurs modes d'amorçage (Boot loader) qui sont configurés par des fuses. Dans le projet OpenDCC, les bits fuses doivent être configurés comme suit:
    Fuse bits
     CKSEL3...0   = 1111   Tous les bits à 1 (non cochée) signifient que l’horloge externe 16MHz) Crystal est utilisé
     CKOPT  = 0  Bit à 0 (coché): la sortie de l'oscillateur va osciller à sa fréquence maximum, la sortie de XTAL2 pilote un deuxième tampon d'horloge
     SUT1..0  = 0 1  Bit SUT1 non programmé, SUT0 non programmé (délai à la mise sous tension)
     BOOTSZ1..0  = 0 1 Bit BOOTSZ1 programmé, BOOTSZ0 non programmé; démarrage à l’adresse 0x7800 (taille du bootloader)
     BOOTRST  = 0  Bit programmé, signifie que le Bootloader est utilisé. -> voir FW Update
     BODLEVEL  = 0  Bit programmé, signifie que le niveau du seuil du détecteur de creux de tension (Brown-Out) est de 4V.
     BODEN  = 0  Bit programmé, signifie que le Brown-Out est activé.
    Il y a trois manières de programmer le microcontrôleur ATmega: JTAG, ISP (6 broches sur 9 broches femelles SUB-D) et Ponyprog. Vous pouvez utiliser celui de votre choix. Avec le Ponyprog seulement le Bootloader sera chargé, l'application elle-même sera chargée (initialement et mises à jour) par la suite via le port USB ou RS232 pour PC.
    Si vous utilisez PonyPorg / ISP le cavalier JP4 doit être déconnecté, car sinon il sera en conflit avec RS232. Ensuite la programmation initiale avec ponyprog iest décrite.

    ponyprog adapter
    Ci-dessus, une description de l'adaptateur pour ISP-interface, qui peut également être construit séparément (peut-être souhaiterez-vous le réutiliser dans d'autres projets).
    Attention: Pour cet adaptateur, dans la configuration Ponyprog, vous devrez cocher le "Invert Reset".

    Si vous n'utilisez pas le PonyProg sur la carte mère, vous devez brancher l’adaptateur à l’interface ISP 6 broches et importer le Bootloader, ensuite il peut être débranché (soit dit en passant, il peut être utilisé pour programmer d'autres processeurs du projet ainsi).

    Tout d'abord vérifier les paramètres de configuration de PonyProg. Pour OpenDCC vous avez besoin de cocher le "Invert Reset".


    C'est ainsi que les fusebits sont positionnés (pour activer le Bootloader). Il est recommandé de suivre la séquence: Read - Change - Program (Write).

    Pour charger le Bootloader, le fichier bootloader.hex doit être ouvert, puis envoyé à l'Atmega en utilisant la commande Write. Il n'y a pas de fichier EEPROM nécessaire pour le Bootloader.

    Attention: Si le Bootloader n'est pas nécessaire, décochez la case BOOTRST. Dans ce cas l'application et l'EEPROM doivent être chargées via Ponyprog (il faut savoir qu'il n'est pas possible de mettre à jour via USB/RS232 ...)

    Fuses pour Atmega644P (for Xpressnet)
    Atmega644P Fuses
    Veuillez garder à l'esprit que la version officielle de PonyProg ne supporte pas ATMEGA644P, reportez-vous à la FAQ.
    Fuses for ATmega644P Valeur Résultat
    Lock Bit Byte
    76543210  
    111111110xFFnot locked
    Extended Fuse Byte
    76543210  
    -----BOD2BOD1BOD0  
    111111000xFC100 = 4.3V
    Fuse High Byte
    76543210  
    OCDENJTAGENSPIENWDTONEESAVEBOOTSZ1BOOTSZ0BOOTRST  
    100111000x9Center boot @0x7C00 (words)
    Fuse Low Byte
    76543210  
    CKDIV8CKOUTSUT1SUT0CKSEL3CKSEL2CKSEL1CKSEL0  
    110101110xD7no div, crystal, BOD enabled
    La taille du Bootloader est de 2048 octets soit 1024 mots.

Programmation USB

    Pour utiliser le circuit intégré de l’USB, il doit être initialement configuré (cette étape est uniquement nécessaire lorsque vous utilisez l'interface USB).

Chargement du logiciel OpenDCC

    Maintenant, le logicie OPENDCC doit être chargé sur le microcontrôleur Atmega, ce qui consiste essentiellement en une procédure de mise à jour logicielle classique: :
    1. Appuyez sur la touche STOP pendant le démarrage.
    2. LED jaune s'allume et le Bootloader attend le téléchargement du programme et du contenu de la mémoire EEPROM.
    3. Attention: Assurez-vous d'avoir configuré la puce USB avant, sinon il n'y a pas de connexion PC-OpenDCC possible pour la mise à jour.

Configuration de OpenDCC

Que faire si OpenDCC ne fonctionne pas

    Avant tout, ne paniquez pas ! :-)

    Ensuite, vérifiez les points suivants :
    1. Vérifiez si tous les composants sont au bon endroit et si leur orientation est respectée (polarité).
    2. Vérifiez tous les cavaliers (JP) et les ponts de soudure (SJ) .
    3. Vérifiez toutes les soudures et les pistes du PCB ( circuit imprimé ) si possible avec une loupe ou une loupe d'opticien.
    4. Vérification de la valeur de tension du régulateur 5V et de courant de repos 30-50 mA.
    5. Vérifiez si la signature d'Atmel est lisible : ATMEGA644P : 1E 96 0A
    6. Vérifier si la programmation est possible - si oui, pouvez-vous relire avec Ponyprog ?
    7. Vérification le RESET de l'Atmel et aussi que la fréquence de l'oscillateur: XTAL2 ( la sortie de l'Atmel de l'amplificateur inverseur de l'oscillateur) est de 16MHz .
      Reset doit être en haut , la fréquence de 16MHz peut être mesurée avec oscilloscope)
    8. Si mise à jour du firmware n'est pas possible via USB/RS232 après la configuration du Bootloader , essayez de charger le firmware directement via ISP / Ponyprog et leactiver le mode de test. Les fichiers Hex et EEP sont’il chargé tous les deux?
    9. Jumper 4 est’il réglé correctement ? Pour la programmation Ponyprog retirer le connecteur, le connecter pour une utilisation régulière .
    10. Astuce de Jan: Si lors de premier test, le processeur ne démarre pas, c’est peut être du à un court-circuit de piste SMD à cause du boitier métallique de l’oscillateur. Utilisez un isolant type ruban adhésif ou prévoir un espace.
    11. Activer le mode de test: Régler les deux cavaliers ( JP1 et JP2 ) , il y a alors un chenillard de l'ensemble des 4 LEDs ; en mode test OpenDCC envoie simplement l'octet reçu en retour ( avec 19200 bauds ) - vous pouvez vérifier cela avec n'importe quelle application Terminal ( ie RealTerm ) . Ce mode de test fonctionne aussi pour l'USB !
    12. Vérifiez si la puce RS232 crée + / - 8 -10V . Il peut y avoir un défaut de condensateur sur un composant neuf.
    13. Vérifiez si le câble série utilisé dispose bien de tous les fils de contrôle de flux matériel (handshake).
    14. Si les boutons ne fonctionnent pas : vérifier si ile ne sont pas monté en mauvaise position, rotation de 90 ° ?
    Merci de partager les expériences que vous faites et les problèmes que vous avez résolus et qui ne sont pas décrits ci-dessus, afin d'aider les autres à sortir de situation de blocage.

Liens utiles