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 :
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 !
