TELECOMMANDE

 POUR  TRAIN MINIATURE ELECTRIQUE H0

  

  

Accueil                   Présentation      La documentation     La Programmation     Évolution      Autres photos      Contact

  

INTRODUCTION

Mes enfants se sont trouvés une passion: le modélisme ferroviaire. Il y a 2 ans leur grand-mère les a emmenés voir un autre passionné qui a construit un circuit dans son jardin, ils ont été émerveillés. A leur retour il aurait fallu que je défonce le jardin pour faire pareil.

A défaut d'avoir un train de jardin, je leurs ai installés dans une pièce une plaque de 2m50 x 1m50 sur pied à leurs hauteurs. Dessus nous avons fixés les quelques rails de mon enfance complété par une boite reçu lors du noël passé. 

Ils ont commencés chacun par la fabrication d'une maison en carton en suivant comme modèle notre propre maison. Je leurs ai expliqué se que voulait dire H0 = 1/87. Pour les côtes on a pris les plans de construction.

Les voilà lancés dans un projet représentant le centre d'un village avec autour un ligne ferroviaire simple. Ils se sont plongés dans ce projet qui  les passionnes et qui à ce jour je dois dire donne d'assez bon résultats.

Le rôle de papa dans tout ça est de borner le projet, les motiver, les encourager et pour compléter cela je leurs ai proposés de faire l'électrification et pouvoir piloter l'ensemble par télécommande ou par PC.

 

AUTRES PHOTOS

PRESENTATION

LE RACK / FOND de PANIER / TELECOMMANDE

Actuellement le projet se compose:

  • D'un rack récupéré dans un déchèterie qui sert de support de cartes.
  • D'une carte unité centrale (CPU) avec un Microcontrôleur 68HC811E2 permettant la gestion de la communication avec le PC et du décodage de la trame au format RECS80 venant de la télécommande.
  • D'une carte de sortie et de ces 16 relais qui sont l'image de chacune des touches de la télécommande

Il peut être étendu jusqu'à :

  • 8 carte de sorties logiques
  • 1 carte mixte de 4 entrées/ 4 sorties logiques
  • 1 cartes d'entrées analogique

 

Dans le fond du rack une carte a été réalisée. Cette carte est assimilable à un bus sur lequel transite les informations entre la carte CPU et les différentes cartes s'asservissements.

 

La télécommande est issue d'un kit que j'avais sur une étagère et qui servait à piloter une vieille télévision. La partie décodage de la réception ne fonctionnant plus seul la télécommande et le module réception ont été récupérés.

Le format du signal IR est du RECS80 dont voici la trame :

Ce code est généré par un circuit spécialisé le SAA3004 

Le Codage du "1" : un temps haut de 500 µs, suivi d'un temps bas de 8100 µs

Le Codage du "0" : un temps haut de 500 µs, suivi d'un temps bas de 5200 µs

La trame complète se compose de 11 bits:

Description des 11 bits :

  • 2 bits de répétition T1 et T0
  • 3 bits d'adresses toujours à 1 S2, S1 et S0
  • 6 bits de données
Espace entre deux transmissions : 52 ms

TELECHARGER TOUT LE DOSSIER

 

LE CPU / CARTE de SORTIES  et 

RELAIS

 

Il est réalisé avec un uC 68HC811E2. La platine se limite au strict minimum pour faire fonctionner le Microcontrôleur et ces périphériques. Réalisée en simple face

On y retrouve le quartz, son reset, l'alimentation, les interrupteurs des différents modes, le module réception IR et le connecteur RJ11 pour communiquer avec le PC en mode BOOTSTRAP ou pour le contrôle commande.

L'interrupteur (J3) permet de paramétrer l'entrée PA0 soit en entrée normale, dans ce mode la télécommande n'est pas utilisée et le contrôle commande se fait par le PC , soit en mesure de temps en effet c'est le compteur de débordement (IC3) qui est initialisé, la télécommande ou le PC peuvent faire le contrôle commande mais l'entrée PA0 n'est pas disponible en entrée normale.

Le module de réception a été récupéré tel quel. Il permet simplement de faire la mise en forme du signal venant de la télécommande.

L'alimentation est réalisé à partir d'un transformateur double enroulement 12V sur lequel on  effectue le redressement mono alternance à cause du point commun pour pouvoir avoir une alimentation 24V=

 

 

 

La carte de sortie permet le pilotage de 16 relais qui sont images des boutons de la télécommande. Sur le CPU un multiplexage est réalisé. Le  PORTC est utilisé comme driver et le PORTB comme décodeur d'adresse 1 parmi 8.

Depuis le connecteur de fond de panier on retrouvera un octuple latch 74HCT574 pour mémoriser le mot venant du CPU après que l'adresse soit décodée.

Les classique drivers de puissance ULN2803 commande à la fois les leds de signalisations et les relais de puissance.

Les relais n'étant pas sur la carte, la liaison se fera par une limande serti sur des connecteurs HE10.

 

 

 

 

 

LA DOCUMENTATION

La documentation des éléments utilisés pour la réalisation que l'on retrouve pour la plupart chez les fournisseurs 

  • SAA3004 Générateur de trame RECS80
  • SAA3049 Décodeur de trame RECS80 pour information

 

 

LA PROGRAMMATION

Le programme est constitué d'un programme principal ayant à charge:

  • Led de watchdog
  • la scrutation et la sauvegarde des valeurs analogiques
  • Le gestion des sorties.

et de sous-programmes en interruption tel que la gestion de la com RS232 avec l'application qui sera réalisée sur le PC et des trames venant de la télécommande.

Le programme utilise la fonction mesure de période sur l'entrée PA0/IC3 du Microcontrôleur, ce qui permet d'obtenir une précision de la longueur des pulses. Une interruption du programme principal est faite à chaque front montant sur l'entée PA0/IC3. A partir de là il suffit de mesurer le temps pendant lequel le front est  "1" et de convertir suivant la durée en "1" ou "0" le résultat. .

A chaque front montant un compteur démarre et compte au rythme d'une base de temps ici 2us/131.1ms et provoque au front montant suivant la mémorisation de la valeur dans des registres en RAM. Le programme fait ça 11 fois puis reprend tous les résultats pour convertir la durée en "1" ou "0" :

  • La compteur est incrémenté toutes les 2us, comme se sont des registres 16bits, le maxi sera 2us * 65535 = 131.1ms
  • La période est pour un "0" = 5700us soit 2850 en décimal
  • La période est pour un "1" = 8600us soit 4300 en décimal

pour convertir en "0" ou "1" le programme comparera la valeur de chaque période à 2850 si on est supérieur c'est du "1" sinon c'est du "0" puis le résultat mémorisé dans un registre de 16 bits en RAM.

A partir de là on va extraire les valeurs de F à A représentant la valeur de la touche sur lequel l'utilisateur a appuyé et l'envoyer sous forme de mot/adresse à la carte de sorties.

 

 

 

Le programme est un fichier Train.s19  prêt à être chargés dans la mémoire du Microcontrôleur. Si vous souhaitez avoir plus de renseignements alors n'hésitez pas à me contacter.

 

 

EVOLUTION

 

Il est prévu : 

  • Les cartes additionnelles .

 

AUTRES PHOTOS

  

 

 

 

 

 

 

 
CONTACT  

Pour tous intérêts ou suggestions sur ce site vous pouvez me contacter.

 

 Tous droits réservés jeanluc.oliver