Mon système "Voiture DCC"
ou une alternative au "Monopole-Faller"



Les véhicules "Car-Faller" sont formidables ! Ils offrent une animation spectaculaire sur nos réseaux.


Et quel plaisir de voir les spectateurs néophytes regarder cela avec de grands yeux ronds en se demandant "Mais comment ça marche??".
 Ces véhicules n'ont que 2 défauts à mes yeux :
- Ils sont horriblement chers !!!! A la limite du scandale pour un bout de plastique rikiki ...
- Ils ne sont pas contrôlables par la centrale en version de base. Quand à la version digitale....AAAARGH ! T'AS VU LE PRIX????

Malgré tout, j'avais envie de contrôler mes véhicules faller. Mais radin comme pas deux, j'ai préféré la solution difficile à la solution chère :
Je vais fabriquer mon propre décodeur pour véhicule routier, que je vais nommer "VoitureDCC". Désolé, la marque est maintenant déposée.

Voilà, l'objectif est fixé !
Il me reste à planifier le travail. Presque un sommaire ! Il faut donc :
1/ - Trouver un moyen pour transmettre les ordres aux véhicules...sans fil....
2/ - Concevoir et tester l'émetteur-récepteur...
3/ - Concevoir le récepteur-décodeur...
4/ - Assembler les composants ad-hoc pour faire tenir tout le toutim dans la plus petite des bagnoles...
5/ - Ecrire le programme
6/ - Et...... s'amuser ! en faisant une ch'tite vidéo...

Allez, je commence !


1/ Transmettre les ordres : (petit cours sur la liaison infrarouge )

Pour la transmission des ordres depuis la centrale jusqu'aux véhicules, il y a un gros souci... on n'a pas de rails pour conduire le courant jusqu'aux véhicules. Ils faut donc passer par la transmission sans fil.
Ce sera le premier point à concevoir.



Il y a plusieurs moyens pour transmettre sans fil. Les véhicules radiocommandés en sont la preuve.... mais ils demandent un volume dont nous ne disposons pas.

Je dois donc me rabattre sur la transmission infrarouge (des ondes de chaleur quoi !). Elle a une portée moins grande et est sensible aux obstacles  mais elle est plus simple à mettre au point et prend aussi moins de place.

On pourrait croire qu'il suffit de brancher une LED infrarouge directement sur les rails pour émettre en continu. Oui, pourquoi pas ... ça émet un signal puissant et c'est pas cher !. MAIS... la transmission devra être plus puissante que toutes les autres sources de chaleur environnantes. Car le récepteur va confondre toute source de chaleur avec le signal transmis... et il sera aveuglé par toutes les sources parasites.

Il faut donc que l'émetteur et le récepteur puissent parler ensemble sans subir les désagrément des parasites. 
Cela suppose de construire un dispositif émetteur et un dispositif récepteur adaptés l'un à l'autre. Ils doivent se mettre d'accord sur un "mot de passe commun". 
 
C'est chose faite avec la fréquence porteuse. La diode ne va pas émettre en continu. On va hacher le signal qu'elle va envoyer. Le récepteur n'est sensible qu'à cette fréquence, un point c'est tout !  Tout autre signal sera ignoré. Ainsi, on est insensibles aux sources de chaleur parasites.

Ici, le signal à transmettre c'est la trame DCC.

Chaque créneau rouge possède une durée constante. Ils ne sont envoyés que lorsque le signal à transmettre est à "1". Le reste du temps, la diode IR n'envoie rien.

Evidemment, ce signal, il faut le construire car la LED IR, elle envoie uniquement ce qu'on lui dit d'envoyer ! C'est le but du circuit "émetteur".



Nous savons maintenant quel est la forme du signal à générer. On en déduit les composants que doit contenir le circuit électronique émetteur :
- Le filtrage du signal DCC pourrait être plus simple, mais j'ai choisi la sécurité en utilisant un optocoupleur. Ainsi, le circuit est protégé des surtensions ou court-circuits du réseau miniature et le signal entrant est adapté à nos besoins (0/+5v).
- La fréquence porteuse sera générée par un NE555 (oscillateur astable) autour duquel nous monterons les résistances et condensateurs adaptés. C'est un composant bon marché mais pas très stable. L'idéal aurait été d'utiliser un minuscule microcontrôleur pour la strite régularité. On verra à l'usage...
- Le mixage du signal et de la fréquence porteuse est réalisé par un transistor de puissance. La puissance est nécessaire pour que le signal des leds soit capable d'atteindre tous les véhicules, où qu'ils soient. Les Leds infrarouges sont assez gourmandes en puissance.
- On utilisera  plusieurs diodes IR.


Comparez le signal envoyé par rapport au signal d'entrée... Finalement c'est plutôt simple !


Concernant le calcul de la fréquence porteuse :
Pour que la transmission se passe bien, il faut qu'un créneau bleu (l'info à transmettre) soit 6 à 7 fois plus long qu'un créneau rouge. En-dessous, on risque de perdre ou modifier top fortement des informations. Je peux donc calculer la fréquence nécessaire pour mon projet :

Dans la trame DCC, le plus court des créneaux bleus (bit à "1") dure 56µs. Donc, divisé par 7, ça donne une durée de 8µs maxi pour un créneau rouge complet (période). Cette période correspond à une fréquence de 250kHz. La fréquence porteuse de mon projet aura donc une fréquence de 250kHz.

Passons aux essais ...



2/ Concevoir et tester l'émetteur :


Déjà, il faut trouver les composants....
...Aïe !!!!...
Quand je regarde dans le commerce, je trouve à 99.9% des récepteurs infrarouges qui fonctionnent sur la fréquence porteuse de 38 kHz. Ca ne conviendra pas pour nous : C'est trop éloigné du 250kHz...
Il en existe cependant un récepteur qui fonctionne sur la fréquence 225 kHz. OUF ! C'est
pas optimal mais c'est suffisamment proche de notre besoin. Les essais s'imposent avant de se lancer.

Alors HOP ! on prend la platine d'essais et on câble tout ça temporairement. Bon, ça n'a pas marché tout de suite, je l'avoue. Les deux potentiomètres sont absolument nécessaires pour régler la fréquence TRES précisément. Un oscilloscope est aussi TRES UTILE !

Oui..bon OK on n'y voit rien dans ce fouillis.

Alors voici le schéma qui sera plus clair. Observez les chonogrammes obtenus à chaque étape

Les deux potentiomètres  servent à régler la fréquence exacte de l'oscillateur.

En visualisant simultanément le signal DCC et le signal envoyé par la diode, voici ce que ça donne à l'oscilloscope :

La fréquence porteuse n'est envoyée que pendant les créneaux positifs.


L'émetteur fonctionne ! On peut s'aprêter à recevoir le signal. Là, c'est hyper simple ! Il n'y a qu'un seul composant à installer. Et c'est tant mieux car on n'aura pas beaucoup de place pour loger tout ça !

Comme je l'ai dit précédemment, il faut utiliser le TSOP7000 qui est capable de recevoir la fréquence porteuse à 225kHz. Il concentre en un seul boitier : Le récepteur IR, le filtre de fréquence, un transistor pour mise en forme du signal.
 

Remarquez que le signal de sortie ne fait plus apparaître les petits créneaux propres à la transmission infrarouge. Notez aussi qu'il est "inversé". Ce n'est pas grave puisque la trame DCC est symétrique.


Je branche une Led sur la sortie et je mesure le signal obtenu à l'aide de l'oscilloscope :


J'ai bien reconstruit un signal identique à la trame (à l'inversion près). Je vais pouvoir l'exploiter dans le décodeur, exactement comme si c'était dans une locomotive.

Remarquez le léger décallage "delta-t" présent en permanence. Il est constant. Ceci est dû au filtre de fréquence du capteur. Il est présent aussi-bien sur les fronts montants que sur les fronts déscendants, ce qui a pour effet de "retarder" le signal reçu par rapport à la trame.
Manifestement, la fréquence porteuse de 225kHz est satisfaisnte. Une fréquence supérieure aurait permis de diminuer le décallage constaté ci-dessus. Mais aucune importance, ça transmet quand-même !



3/ Concevoir le récepteur-décodeur :

Pour le récepteur... c'est tout bon ! Je me contente de brancher le signal du capteur dans l'entrée "Int0" du µC.

Reste à définir ce que pourra faire le décodeur afin de le concevoir au mieux. Je propose :
- contrôler la vitesse du moteur
- Utilise la marche avant uniquement puisque la trajectoire serait incontrôlable en marche arrière
- clignottants droit et gauche à l'avant et à l'arrière. + feux de détresse évidemment !
- Les codes/phares à l'avant
- Les feux de position et freins à l'arrière
- Freinage et/ou arrêt automatique en cas de véhicule qui se suivent.
- S'il reste des possibilités pour des gyrophares ou autres, on se le permettra évidemment !


Concernant le câblage, voici ce que je propose (au 24/04/2017  c'est sujet à changement puisque la conception est en cours)

Ce système sort se sentiers battus car :
- on utilise une tension très faible (3.3volts) Il faudra certainement faire appel à un convertisseur de tension pour optimiser la pile.
- on n'utilise pas de quartz, on fait confiance à l'horloge interne du µC. Ce sera 8MHz

Le microcontrôleur utilisé est un ATtiny84. Il est vraiment TRES petit en version SOIC (composant monté en surface)..je me demande même comment je vais souder tout ça.
Toutes les sorties sont occupées. Si je veux vraiment mettre des gyrophares ou d'autres sytèmes à bord, il fautra changer de µC. Mais c'est plus gros... On verra.

Allez, je retourne au boulot !
A bientôt pour la suite.




4/ Assembler le décodeur :




5/ Ecrire le programme






6/ C'est le moment de jouer !