Revoyons maintenant notre objectif : Commander le fil à
mémoire avec notre système numérique(digital)
Qu'avons nous en stock pour piloter ce fil et quelles
sont les
contraintes des décodeurs :
1) Les décodeurs classiques permettent généralement d'obtenir une tension
continue durant un temps très court (idéal pour les solénoïdes). Ce
temps de commutation(max 13s) peut très bien commander un fil à mémoire. Il
est donc réservé pour une commande en bistable(un fil pour chaque position de
l'aiguillage) et une solution très
simple a déjà été proposée.
2) A partir de ce même type de décodeur, nous pouvons aussi commander un
aiguillage avec un seul fil
(commande en monofil + ressort de rappel). Cette solution fait intervenir un relais bistable placé entre le décodeur et le
fil (voir liens FAM2, FAM3).
On peut, bien sur, trouver des montages tout fait ou des décodeurs intégrant ce
principe.
Techniquement que peut on déduire de ces deux cas???
Dans le premier cas, nous utilisons une sortie d'un
décodeur(deux états) pour piloter un aiguillage comme pour un moteur
classique. Dans le deuxième cas, une sortie d'un décodeur(deux états) est réservé à la commande d'un
seul fil.
C'est ce deuxième cas qui m'avait un peu dérangé : On utilise les deux états
d'une sortie pour commander un seul fil, "c'est comme utiliser deux
marteaux pour planter un clou". Il fallait trouver un moyen de commander un
fil par état comme un moteur traditionnel.
Comment commander un fil avec un seul état
d'une sortie :
Voici les points qu'il va falloir étudier :
1) Est-ce que le changement d'un état affecte l'autre état d'une sortie d'un
décodeur.
2) Comment à partir d'une impulsion de courant, on peut obtenir deux états :
Ici un état repos et un état actif constant
3) Est-ce que les logiciels de pilotage accepteront cette possibilité.
Si tout est ok, on pourra donc commander 8 fils à mémoire à partir d'un
décodeur classique. Intéressant non???
Tests et recherche pour y arriver
A) Gestion des états
Utilisant l'IB d'uhlenbrock, je me suis penché sur les commandes du protocole
de communication P50 qui permet de dialoguer avec l'IB à partir d'un PC via le
port série. Pour essayer de vous faire comprendre le fonctionnement des
commandes de pilotage des adresses d'un décodeur j'ai repris le code de
programmation (simplifié) en visual basic :
1) Les appels des
fonctions Turn(5, 128)
et Turn(5, 0)
demandent à l'adresse 5 que l'on active soit l'état 128(Vert ou 1) soit
l'état 0(rouge ou 0).
2) Ici la fonction
Turn traite les appels et envoie l'ordre. Cette
fonction envoie en fait deux ordres(P50Xcmd) séparés d'un delay de 0,2 s. Le premier
ordre met l'état de l'adresse à une position neutre puis demande l'ordre
d'action.
Function Turn(adress,
direction)
P50XCmd Chr(adress
) + Chr(adress \ 256 + direction + 64)
Delay 0.2
P50XCmd + Chr(adress) + Chr(adress \ 256 + direction)
End Function
3) La fonction
P50Xcmd suivante, traite les appels et envoie l'ordre à l'IB à partir d'un composant(MSComm1)
gérant le port série
Function P50XCmd(action As String)
MSComm1.Output =
action
End Function
Tout cela pour
vérifier que l'on puisse activer un état d'une sortie sans que l'autre soit
affecté. Néanmoins il sera impossible activer en même temps les deux états
en même temps. De toute façon, il n'est jamais possible de le faire quelque
soit le programme de pilotage.
B) Trouver un
montage qui puisse transformer une impulsion en état constant :
Pour expliquer
cela prenons un cas simple : Je veux allumer ou éteindre une lampe en appuyant
successivement sur un bouton poussoir. J'appuie une fois la lampe s'allume et
reste allumée, j'appuie une seconde fois la lampe s'éteint et reste éteinte.
Pour notre idée, on activera un état d'une adresse, le décodeur enverra une
impulsion à un montage qui alimentera un fil à mémoire. Ceux qui connaissent
l'électricité domestique ou professionnelle, ce montage s'appelle un "télérupteur".
A la recherche du produit déjà fait, on se rend vite compte que le coût
d'achat est énorme surtout qu'il fait intervenir des tensions
disproportionnées à celles que nous sommes habitués pour notre Hobby. Je me
suis donc dirigé vers l'électronique : Manque de chance ce n'est pas vraiment
ma tasse de thé... Mais je me lance quand même à l'assaut de sites, forum,
liste, NG à la recherche de toutes informations. Tout doucement, les choses se
mettent en place et je remercie ALBAN et Alain qui ont vraiment été d'un grand
secours. C'est une bascule 4013 qui jouera le rôle du télérupteur, pour le
piloter on est obligé de passer par un optocoupleur car le commun en sortie du
décodeur est en positif. A la sortie du 4013, un ULN se chargera de
l'alimentation du FAM. Un premier montage avait fait en avril mais abandonné du
a des problèmes de stabilité. Le temps me manquant j'avais tout abandonné. Ce
n'est que récemment qu'une conversation m'a réveillé et repris mon idée avec
le soutien du schéma de Daniel R. : Visitez ce lien il vous expliquera tout sur
le fonctionnement du télérupteur.
Voici
le schéma
du montage final

TYPON
et FICHIER d'implantation pour huit commande de fil
Typon
fichier d'implantation
Pour
ma part, j'utilise une alimentation de PC(fiche 5v) pour alimenter le montage.
C)
La commande par TCO manuel
Rien
de plus simple, mettez le + de cette tension du TCO à la borne 1 du montage et
intercaler un bouton poussoir entre le - de la
tension et les bornes R et V du montage.
D)
La commande par TCO d'un programme
Je
vous le dis tout de suite, très peu de programmes peuvent commander ce montage.
Le mien en l'occurrence, mais il n'est pas encore proposé au public(ça
viendra) et RR&CO par l'intervention de macros. Peut être y en a t-il
d'autres mais je n'en suis pas au courant. Avec Windigipet, on ne dispose pas de
macros et autres pour piloter avec la souris mais dans les événements de
contact des tables horaires, on peut y arriver en utilisant les articles
magnétiques.
Pour
le branchement, pas de problème, on relie des entrées du montage aux
connecteurs d'une sortie d'un décodeur. Pour le pilotage sur RR&CO, voici
la démarche :
a)
Dans votre projet, passez d'abord en mode complet (View/esay mode / oui)
b)
Paramétrage de l'aiguillage : Il ne doit pas être affecté d'une
adresse d'un décodeur existant. Mettez une adresse fictive(100, 200....)
supérieure aux nombres d'adresses totales existantes. (Edit/properties/Connection)
c)
Créer un Push button pas loin de l'aiguillage. Nommez-le par exemple
PM1. Il va nous permettre de piloter l'aiguillage à partir du TCO sans cliquer
sur l'aiguillage.
d)
Créer un On-OFF switch pas loin de l'aiguillage. Nommez-le par
exemple OO1. C'est lui qui va changer à l'affichage l'état des aiguilles sur
le TCO.
e)
Créer un Push button pas loin de l'aiguillage. Nommez-le par exemple
PA1. C'est lui qui servira à commander l'état d'une des sorties d'un
décodeur.
f)
Paramétrage de PM1 : Allez dans ses propriétés, activez l'onglet Opérations.
Cliquez sur macros puis
sur news puis sur properties. Activez l'onglet Opérations,
double cliquez sur OO1 et changer son état pour qu'il soit appuyé
(rouge jaune à l'intérieur). Double cliquez sur PA1 et changer
son état pour obtenir la troisième possibilité. Vous devriez à la fin
avoir ceci ==>>
Activez l'onglet Restrictions, double cliquez sur OO1 et
changer son état pour qu'il soit relâché (trait jaune à l'intérieur).
Double cliquez sur le nom de l'aiguillage et changer son état pour
obtenir la déviation opposée.
Vous devriez à la fin avoir ceci ===>>
Faites OK, puis close et double cliquez sur le nom de la macro que vous
venez de créer. |

|
Il faut créer une deuxième
macros : Cliquez sur macros puis sur news puis sur properties.
Activez l'onglet Opérations, double cliquez sur OO1 et
changer son état pour qu'il soit relâché (trait jaune à l'intérieur),
double cliquez sur PA1 et changer son état pour obtenir la
troisième possibilité. Vous devriez à la fin avoir ceci ==>>
Activez l'onglet Restrictions, double cliquez sur OO1 et
changer son état pour qu'il soit appuyé (rond jaune à l'intérieur).
Double cliquez sur le nom de l'aiguillage et changer son état pour
obtenir l'autre déviation.
Vous devriez à la fin avoir ceci ===>>
Faites OK, puis close et double cliquez sur le nom de la macro que vous
venez de créer. |

|
Dans la zone des propriétés de PA1
vous devriez avoir deux macros. exemple===>>
Vous pouvez cliquez sur OK pour valider |
 |
g)
Paramétrage de OO1 : Allez dans ses propriétés,
activez l'onglet Opérations. Double cliquez sur l'aiguillage à piloter.
A coté de Opérating state, utilisez la liste déroulante pour choisir
un état du bouton puis cliquez sur l'aiguillage (zone de droite) et choisissez
un état de position de l'aiguillage. A coté de Opérating state,
utilisez la liste déroulante pour définir l'autre état du bouton puis cliquez
sur l'aiguillage (zone de droite) et choisissez l'autre état de position de
l'aiguillage. Faites OK.
h)
Paramétrage de PA1 : Allez
dans ses propriétés, activez l'onglet Connection, affectez l'adresse
réelle à commander et choisissez un des contacts : 1 ou 2 selon l'état du
décodeur à piloter.
Voilà,
en mode "Operate" un clic sur PM1 va faire dévier
graphiquement l'aiguillage et activer PA1 pour piloter le décodeur. Vous pouvez
aussi cacher OO1 et PA1 pendant l'utilisation du réseau. Cochez leur
propriété "Visible in edit mode only", puis passez en "edit
mode" (view/edit mode).
Pour mon programme c'est plus
facile : Je rentre dans les propriétés de l'aiguillage, je sélectionne
l'adresse, je définie 1 seul contact à utiliser et je choisis un des
états ou celui restant disponible (ce cas-ci) |
 |
J'espère que cette page
suscitera des réactions, des tests plus poussés... et qui sait... donnera des
idées aux créateurs de décodeur et de logiciel....
|