Forums LR PRESSE

Où il est question de trains, petits et grands

  • Advertisement

D18: Un décodeur d'accessoires DCC à réaliser soi-même

Les commandes numériques du réseau (appelées à tort "digitales") sont l'avenir du train miniature. Mais comment choisir, comment sauter le pas, avec ou sans ordinateur ? Autant de questions dont les réponses se trouvent dans l'expérience des uns et des autres…

Modérateur: MOD

Re: D18: Un décodeur d'accessoires DCC à réaliser soi-même

Publié: Mar 15 Mai 2018, 23:32 
Bonjour,
Merci pour le partage :applause:
@+
12035
Avatar de l’utilisateur
12035
Loquace
 
Messages: 1179
Inscrit le: Lun 08 Déc 2008, 14:20

Re: D18: Un décodeur d'accessoires DCC à réaliser soi-même

Publié: Mer 16 Mai 2018, 13:49 
Trimarco232 a écrit:Bonjour,

en alternative à la carte de prototypage pour les uln2003, on trouve des modules tout faits, et qui ont entre autres avantage d'avoir des leds qui témoignent de l'activation des sorties.
Concernant l'uln2003, il faut tenir compte du courant maximal de chaque sortie, mais aussi du courant maximal admissible par le boîtier, ce qui peut limiter le nombre de sorties utilisables en même temps.

Pour plus de courant, une alternative est le module à transistor mosfet, qu'on trouve à 1, 2 ou 4 voies. Toutefois ces modules ne comprennent généralement pas de diode de roue libre, il convient donc d'ajouter la diode 1n4007 aux bornes des charges inductives, comme les solénoïdes des moteurs d'aiguillage.

Je ne donne pas de lien, rechercher "module uln2003", "module mosfet", "1n4007" (vous serez étonnés des prix)


... après une petite recherche, on en trouve AVEC moteur ET Leds , pour moins de 2€ ... :
https://fr.aliexpress.com/item/5V-Stepp ... 23d0&tpp=1

8)
A toute vapeur...en + du reste
Avatar de l’utilisateur
BB9004
Fécond
 
Messages: 547
Inscrit le: Jeu 09 Août 2012, 15:58
Localisation: Planète Bleue, à coté de la ville Lumière : 94
Âge: 63
Echelle pratiquée: HO
Prénom: Lionel
Club: ex CMG 92

Re: D18: Un décodeur d'accessoires DCC à réaliser soi-même

Publié: Mer 16 Mai 2018, 18:09 
Bonjour,

sympa tes plaques à bandes perforées, Bug Killer !

cela me rappelle les temps héroïques où je faisais de même
toutefois j'utilisais des cartes vellemann, qui avaient l'avantage d'avoir les pistes coupées tous les 3 trous, ce qui évitait de devoir les couper manuellement

il me semblent que ces plaques n'existent plus, sans doute du fait que l'on trouve nombre de modules tout faits, et aussi car il est devenu facile de dessiner et de faire faire ses propres pcb
Trimarco232
Papotier
 
Messages: 103
Inscrit le: Ven 23 Fév 2018, 15:02
Echelle pratiquée: HO
Prénom: marco

Re: D18: Un décodeur d'accessoires DCC à réaliser soi-même

Publié: Jeu 17 Mai 2018, 08:44 
J'ai eu une insoleuse et gravé au perchlorure de fer à une époque mais j'ai tout donné, oscillo compris quand je n'ai plus eu assez de place. Maintenant j'ai de la place mais je n'ai pas encore l'intention de me remettre à la gravure.
Bug Killer
Papotier
 
Messages: 117
Inscrit le: Ven 08 Sep 2017, 12:46
Localisation: Loir et Cher
Âge: 63
Echelle pratiquée: H0
Prénom: Jean-Michel

Re: D18: Un décodeur d'accessoires DCC à réaliser soi-même

Publié: Mer 05 Sep 2018, 15:44 
Bonjour,

Je m'intéresse énormément à ce projet puisque je suis un fan d'Arduino.

Ma rétrosignalisation fonctionne avec un Mega2560 relié à une Intellibox1.

Mais aujourd'hui je veux réaliser mes décodeurs d'accessoires et ce projet me convient.
Ce que j'ai un peu de mal à comprendre, c'est où je dois indiquer dans le programme:

- l'adresse du décodeur
- le N° de la broche sur lequel je branche un servo par exemple

Exemple concret:

- je veux manoeuvrer le servo commandant l'aiguillage marqué adresse 101
sur mon logiciel de pilotage.
- où dois-je indiquer l'adresse 101 dans le programme?
- sur quelle broche dois-je brancher le fil de mon servo?

Cordialement
pierrepv*1
 
Messages: 4
Inscrit le: Jeu 15 Mai 2014, 09:47
Localisation: Chaponnay
Âge: 67
Echelle pratiquée: N
Prénom: pierre

Re: D18: Un décodeur d'accessoires DCC à réaliser soi-même

Publié: Mer 05 Sep 2018, 19:17 
Bonjour,

J'ai avancé concernant l'utilisation du D18 avec mon réseau:

- la capture du DCC avec l'optocoupleur est fonctionnelle
- j'ai bricolé un peu le fichier ".ino" pour pouvoir commander un servo d'aiguillage avec mon logiciel RRTC branché sur mon Intellibox1.

Le servo est branché sur la sortie 7 soit D4 du Nano.

J'ai conservé l'adresse 10 pour le décodeur.

Curieusement il faut que dans RRTC j'indique l'adresse 37 à l'aiguillage concerné pour récupérer l'adresse 10 dans le programme du Nano.
J'ai trouvé ça en insérant des Serial.println.

Mon ".ino" est le suivant:

void user_init(void)
{
user_servo_500_2500(7,1000); // aiguillage direct avec une commande de 100x10=1000us=1ms
user_servo_speed(7,40); // reglage de la vitesse a 40us toutes les 125ms
// donc 2000-1000=1000us en 3.125s

}

void user_notify_bas_acc_dec(unsigned int adr_1_510, byte out_0_7, byte val_0_1)
{
Serial.println(adr_1_510);
if(adr_1_510 == 10)
{
Serial.println("coucou");
Serial.println(out_0_7);
Serial.println(val_0_1);
if(out_0_7==0) { if(val_0_1) { user_servo_500_2500 (7,1000); } }
if(out_0_7==1) { if(val_0_1) { user_servo_500_2500 (7,2000); } }
}
if(adr_1_510==DECODER_ADR_2)
{
if(out_0_7 == 0) { user_out( 4, val_0_1); user_out( 3, 0); }
if(out_0_7 == 1) { user_out( 3, val_0_1); user_out( 4, 0); }
if(out_0_7 == 2) { user_out(A0, val_0_1); user_out(A1, 0); }
if(out_0_7 == 3) { user_out(A1, val_0_1); user_out(A0, 0); }
if(out_0_7 == 4) { user_out(A2, val_0_1); user_out(A3, 0); }
if(out_0_7 == 5) { user_out(A3, val_0_1); user_out(A2, 0); }
if(out_0_7 == 6) { user_out(A4, val_0_1); user_out(A5, 0); }
if(out_0_7 == 7) { user_out(A5, val_0_1); user_out(A4, 0); }
}
}

Par contre quand j'actionne l'aiguillage dans RRTC, le servo ne tourne pas.

Sur la console série j'obtiens :
coucou
0
1
10

qui indiquent que le programme passe bien par les Serial.println quand j'actionne l'aiguillage, mais le servo ne tourne pas.

J'ai loupé quoi???

Cordialement
pierrepv*1
 
Messages: 4
Inscrit le: Jeu 15 Mai 2014, 09:47
Localisation: Chaponnay
Âge: 67
Echelle pratiquée: N
Prénom: pierre

Re: D18: Un décodeur d'accessoires DCC à réaliser soi-même

Publié: Mer 05 Sep 2018, 19:35 
Le décodeur D18 ne pilote pas directement les servos. Il le fait par l'intermédiaire de modules PCA9685 connectés en I2C, au maximum 6 modules de 16 ports donc 96 servos.

Pour activer le bus I2C qui utilise les broches A4 (SDA) et A5 (SCK) il faut intervenir dans le code C++ en mettant à 1 une constante :

Code: Tout sélectionner
#define USER_USE_PCA  1   // 1 to use PCA9685 (out A4 & A5 no more available)

Dans le code d'origine le commentaire dit A3 & A4 mais il s'agit bien de A4 et A5 comme configuré plus bas :

Code: Tout sélectionner
#define SDA_PIN  A4
#define SCK_PIN  A5

Pour définir les adresses DCC des deux décodeurs contenus dans un seul Nano ou Uno, modifier les valeurs de deux constantes, 10 et 11 par défaut.

Code: Tout sélectionner
// User defines
#define DECODER_ADR_1 10  // first 4 pairs
#define DECODER_ADR_2 11  // last  4 pairs

Ensuite, toujours par intervention sur le code, il faut créer les associations entre le décodeur, le PCA9685 et la sortie à laquelle est connecté le servo. Ces associations sont à mettre dans le corps de la fonction user_notify_bas_acc_dec qui reçoit les paramètres DCC :

- adresse du décodeur de 1 à 510
- sortie à activer de 0 à 7
- valeur de la sortie 0 ou 1

Le numéro de sortie est un numéro logique qu'on peut associer à différents types de sorties physiques, faisant partie des broches de l'Uno/Nano ou d'un autre dispositif qui y est connecté, comme dans ton cas les PCA9685.

Pour faire tourner les servos, il faut envoyer un ordre au PCA9685 avec la fonction user_servo_500_2500. L'ordre est à placer dans le corps de la fonction user_notify_bas_acc_dec :

Code: Tout sélectionner
void user_notify_bas_acc_dec(unsigned int adr_1_510, byte out_0_7, byte val_0_1);

adr_1_510 = adresse DCC du décodeur
out_0_7 = numéro de sortie
val_0_1 = valeur à écrire sur la sortie

Déplacement d'un servo :

Code: Tout sélectionner
void user_servo_500_2500(out_0_96, duration_500_2500);

out_0_96 = numéro de sortie (0 à 15) du PCA + (16 * adresse I2C (0 à 6) du PCA)
duration_500_2500 = durée d'impulsion

La durée des impulsions est spécifiée en microsecondes. 1500 µs = 1.5 ms = position médiane du servo.

La vitesse de rotation du servo peut être ralentie en fractionnant les impulsions grâce à la fonction user_servo_speed.

Exemple tiré du mode d'emploi du D18 :

Code: Tout sélectionner
void user_init(void)
{
  user_servo_500_2500(2,1000); // aiguillage direct avec une commande de 100x10=1000us=1ms
  user_servo_speed(2,40); // reglage de la vitesse a 40us toutes les 125ms
  // donc 2000-1000=1000us en 3.125s
}

void user_notify_bas_acc_dec(int adr_1_510, byte out_0_7, byte val_0_1)
{
  if(adr_1_510==10)
  {
    if(out_0_7==0) { if(val_0_1) { user_servo_500_2500 (2,1000); } }
    if(out_0_7==1) { if(val_0_1) { user_servo_500_2500 (2,2000); } }
  }
}

L'exemple associe un aiguillage à un décodeur d'adresse 10, à un PCA9685 d'adresse 0 et à la sortie 2 de ce PCA9685. Le numéro de cet aiguillage n'a pas d'importance pour le module D18. Il n'en a une que pour le logiciel qui est interfacé avec la centrale qui enverra les ordres au décodeur. Là aussi il faudra faire une association entre le numéro de l'aiguillage, le décodeur, sa sortie et la valeur à écrire.
Bug Killer
Papotier
 
Messages: 117
Inscrit le: Ven 08 Sep 2017, 12:46
Localisation: Loir et Cher
Âge: 63
Echelle pratiquée: H0
Prénom: Jean-Michel

AA

Publié: Mer 05 Sep 2018, 19:57 
Bonjour,
(grillé par Bug Killer)
(amha car je n'ai pas expérimenté le D18)
il ne faut pas considérer le D18 comme un décodeur tout fait du commerce, qu'il faut paramétrer, mais comme un arduino dont il faut adapter le programme (.ino) à ses besoins

pour ce faire Ulysse, aidé par Bug Killer, nous a mâché le travail à 99%. Cela a le double avantage de laisser à l'utilisateur toute souplesse pour personnaliser son code, tout en ne lui laissant qu'un travail de finition, aussi simple voire + que le paramétrage d'un décodeur du commerce

ainsi, le paramétrage se trouvera gravé dans la mémoire du programme (flash), et pas dans la mémoire des données (eeprom). Il t'appartient donc de créer, nommer et maintenir un fichier programme (.ino) propre à chacun de tes D17

l'exemple qui te préoccupe utilise un (ou +) module pca9685, et se trouve dans la notice sous le titre :
** Gestion d’un aiguillage à servo
Code: Tout sélectionner
void user_init(void)
{
user_servo_500_2500(2,1000); // aiguillage direct avec une commande de 100x10=1000us=1ms
user_servo_speed(2,40); // reglage de la vitesse a 40us toutes les 125ms
// donc 2000-1000=1000us en 3.125s
}
void user_notify_bas_acc_dec(int adr_1_510, byte out_0_7, byte val_0_1)
{
if(adr_1_510==10)
{
if(out_0_7==0) { if(val_0_1) { user_servo_500_2500 (2,1000); } }
if(out_0_7==1) { if(val_0_1) { user_servo_500_2500 (2,2000); } }
}
}


La réception d'une trame dcc de décodeur d'accessoire déclenche la routine "user_notify_bas_acc_dec", qui te donnera :
- l'adresse reçue
- la valeur du bit à activer
- mais aussi le numéro d'ordre du bit (numéro de sortie) (0_7), également contenu dans la trame (c'est la norme, à relire au besoin)

à toi de préciser l'adresse :
if(adr_1_510==101) ... ou 5 ?
puis le numéro d'ordre (numéro de sortie, j'ai pris la 2ème paire) :
if(out_0_7==3) // position renversée
puis la commande du PCA, (j'ai mis la 5ème sortie du pca d'adresse 0) :
{ if(val_0_1) { user_servo_500_2500 (5,2000); } }) // position renversée : pwm = 2000
selon la norme dcc, il faut utiliser l'autre bit de la paire pour l'autre position :
if(out_0_7==2) { if(val_0_1) { user_servo_500_2500 (5,1000); } } // position normale : bit paire de la paire et pwm = 1000

plus qu'a compiler et téléverser, mais auparavant il faut faire les configs, en ajoutant à la routine "void user_init(void)" :
user_servo_500_2500(5,1000); // aiguillage 5 direct avec une commande de 100x10=1000us=1ms
user_servo_speed(5,40); // reglage de la vitesse de l'aiguillage 5 a 40us toutes les 125ms
Dernière édition par Trimarco232 le Mer 05 Sep 2018, 20:28, édité 1 fois au total.
Trimarco232
Papotier
 
Messages: 103
Inscrit le: Ven 23 Fév 2018, 15:02
Echelle pratiquée: HO
Prénom: marco

Re: D18: Un décodeur d'accessoires DCC à réaliser soi-même

Publié: Mer 05 Sep 2018, 20:19 
Bonsoir,

Merci à vous deux, il me semblait bien que mon problème venait du fait que j'essayais de connecter directement le servo aux broches de l'Arduino, ce qui serait envisageable, mes servos actionnant des aiguillages en N, d'où une faible consommation.
Mais je vais me procurer un PCA9685 pour continuer mes essais.

Merci du détail apporté à vos réponses que je vais étudier en détail.

Cordialement
pierrepv*1
 
Messages: 4
Inscrit le: Jeu 15 Mai 2014, 09:47
Localisation: Chaponnay
Âge: 67
Echelle pratiquée: N
Prénom: pierre

Re: D18: Un décodeur d'accessoires DCC à réaliser soi-même

Publié: Mer 05 Sep 2018, 20:38 
il serait possible d'activer directement des sorties analogiques de l'arduino pour commander des servos, mais cela condamnerait des broches prévues pour autre chose. Je ne l'interdis pas, mais au prix d'un module pca, mieux vaux opérer comme Ulysse l'a prévu

attention à la commande des servos : leur consommation électrique dépend du type de servo, pas de l'échelle de l'aiguillage. Il est donc fortement déconseillé d'alimenter un servo par le 5 volts de l'arduino : prévois une alim 5v spécifique pour tes servos, voir plusieurs si tu as un grand réseau et plusieurs pca.
Trimarco232
Papotier
 
Messages: 103
Inscrit le: Ven 23 Fév 2018, 15:02
Echelle pratiquée: HO
Prénom: marco

Re: D18: Un décodeur d'accessoires DCC à réaliser soi-même

Publié: Mar 11 Sep 2018, 15:18 
Bonjour

j'ai mis ce projet en sommeil pour quelques temps, mais je garde un oeil (attentif) sur ce post :wink:

... et tous ces essais de mises au point et de partages d'expériences sont bien sympathiques et utiles :applause:

Merci pour le partage

8)
A toute vapeur...en + du reste
Avatar de l’utilisateur
BB9004
Fécond
 
Messages: 547
Inscrit le: Jeu 09 Août 2012, 15:58
Localisation: Planète Bleue, à coté de la ville Lumière : 94
Âge: 63
Echelle pratiquée: HO
Prénom: Lionel
Club: ex CMG 92

Re: D18: Un décodeur d'accessoires DCC à réaliser soi-même

Publié: Mar 11 Sep 2018, 19:19 
De retour de vacances, c'est super de voire qu'une petite communauté s'est formé autour de ce projet. Tout le monde arrive a faire fonctionner son D18 avec sa centrale et parfois certains le modifie.

Un petit point sur les servos:

Il en effet possible de modifier le programme pour contrôler des servos directement a partir d'un Arduino sans passer par le PCA9685.

Attention cependant la librairie Arduino qui gère les servos fonctionne sous interruptions. Cela provoque des perturbations qui ne devraient pas gêner le décodage des paquets DCC mais qui par contre peuvent gêner les néopixels (ils ne fonctionneront pas ou mal).

Pour la petite histoire, j'avais choisi le PCA9685 car on trouve des modules tout fait a quelques euros ou les servos peuvent directement se brancher dessus. Idem pour l'alim 5V. De plus on peut les chainer (le programme supporte 6 PCA9685, soit 96 servos max) et ils génèrent tout seul le signal qui commande les servos (une fois configurés).

Mais rien n'empêche de modifier le programme pour gérer des servos directement par l'Arduino. C'est pour cela que je partage le code, afin que chacun l'adapte a ses besoins.

Pour éviter de perturber le +5V de l'Arduino, il est préférable d'alimenter les servos par une autre alim 5V. Pensez quand même à relier les masses des alims.

J'avais oublié de vous avertir que lorsqu'un servo est alimenté et ne reçoit pas [encore] son signal de commande, il peut faire n'importe quoi. Quelques-uns ont d'ailleurs constaté ce phénomène au démarrage. Il est donc préférable de faire une mécanique qui accepte toutes les positions du servos sans destruction. Dans le cas contraire, une solution serait de piloter un relais ou transistors a partir d'une sortie D18 pour alimenter l'ensemble des servos.
Lulu_ho
Papotier
 
Messages: 139
Inscrit le: Ven 16 Déc 2016, 13:24
Echelle pratiquée: HO
Prénom: Ulysse

Re: D18: Un décodeur d'accessoires DCC à réaliser soi-même

Publié: Mar 18 Sep 2018, 20:53 
J'ai eu de nombreuses questions sur les modules de relais que l'on trouve tout fait chez amazon par exemple.
Voici un petit post pour éclaircir ces fameux modules ...

Image

schéma électrique (trouvé sur https://github.com/ldleman/yana-server/issues/176)
Image
R1=1Kohms, R2=510ohms

Il est vrai que ces modules sont un peu déroutants car y a t'il vraiment besoin d'un optocoupleur (alors que le relais lui même réalise l'isolation galvanique) et y a t'il besoin d'une commande négative (le relais colle lorsque l'on met l'entrée à la masse au lieu du +5V). On pourrait très bien enlever l'optocoupleur et ses composants et commander directement le relais avec un signal 5V sur R2. Mais bon, ces modules sont tout faits et pas chers alors tachons de comprendre leur fonctionnement pour les utiliser correctement.

VCC doit être mis à 5V. Si le 5V n'est pas le 5V de l'Arduino, pensez à connecter les masses des 2 alimentations. Lorsque l'on met la masse sur l'entrée (in1), un courant circule dans R1, dans la LED de l'opto-coupleur et dans la LED de visualisation DS1. Si on met du 5V sur DS1, aucun courant ne circule et les LEDs sont éteintes. On voit donc que la logique de commande est négative. (0=masse=alumé, 1=5V=éteint).

Si on connecte une sortie D18 (par exemple la 12) sur In1 alors:
faire: user_out(12, 0); met la sortie à 0 donc à la masse ce qui allume les LEDs (et fait coller le relais)
faire: user_out(12, 1); met la sortie à 1 donc à 5V ce qui éteint les LEDs (et fait décoller le relais)
La commande est donc inversée.

Pour info, l'Arduino permet de mettre la sortie en "haute impédance". Dans ce mode la sortie est déconnectée, elle n'est ni à la masse, ni au +5V. Je rajouterai peut-être cette fonctionnalité dans le code avec un user_out(12, 2); qui passera la sortie 12 en entrée pour ne fournir ni du 5V, ni du 0V. Ainsi:
faire: user_out(12, 0); met la sortie à 0 donc à la masse ce qui allume les LEDs (et fait coller le relais)
faire: user_out(12, 2); met la sortie en haute impédance 5V ce qui éteint les LEDs (et fait décoller le relais)
La commande est toujours inversée.

Avec une tension de chute de 1.2V dans les LEDs (dans le meilleur des cas), cela nous donne un courant (dans le pire des cas) de (5V-1.2V-1.2V)/(R1=1000ohms)=0.0026A=2.6mA
L'Arduino peut fournir 40mA par patte (mais la recommandation est de ne pas dépasser 20mA), donc ca passe.
L'Arduino peut fournir 200mA sur l'ensemble de ses pattes, le circuit peut donc supporter 200/2.6=76 relais sans être détruit.

Si pour une raison ou une autre vous alimentez le module en 3.3V au lieu du 5V, suivant la vraie chute de tension dans les diode, il se peut que le relais ne fonctionne pas. Mais comme D18 fonctionne en 5V, pas de PB !

Intéressons nous maintenant à la partie droite du schéma.
Elle est alimentée entre JDVCC et la masse. Il faut alimenter cette partie en 5V. On évitera d'utiliser le +5V de l'Arduino afin de ne pas le perturber et ne pas le surcharger. On enlèvera donc le jumper qui relie VCC et JVDCC. Cela dit, si vous voulez le faire ca marchera quand même (dans certaines conditions). D'ailleurs les modules 1 relais n'ont souvent pas ce jumper et VCC est relié à JVDCC. Vous noterez que l'on a pas eu besoin de connecter la patte GND du module pour commander nos LEDs. Les masses de ces 2 alimentations n'ont donc pas besoin d'être connectée. Mais les connecter ne posera aucun problème. Si VCC est alimenté par une autre alim que le 5V de l'Arduino, vous pouvez aussi utiliser cette alim pour alimenter JDVCC (en mettant le jumper).

Lorsque le phototransistor est éclairé par la LED de l'optocoupleur, un courant le traverse ce qui commande T1. T1 devient passant ce qui alimente la bobine du relais. On dit que le relais colle.

Lorsque la bobine est alimentée, les contacts C (commun (COM sur le schéma)) et T (travail (NO sur le schéma pour Normalement Ouvert ou Normaly Opened)) sont reliés.
Lorsque la bobine n'est alimentée, les contacts C (commun (COM sur le schéma)) et R (repos (NC sur le schéma pour Normalement Fermé ou Normaly Closed)) sont reliés.

A vous de brancher ce que vous voulez sur ces contacts. Sur ces modules, ne pas dépasser:
en alternatif: 250V 10A = 2500W.
en continue: 30V 10A = 300W
Ca devrait être facile à tenir ;-)
Au delà, le relais risque de ne pas décoller lorsque la commande est coupée et dans des conditions extrêmes, les contacts peuvent s'abimer et même se souder !
Les contacts n'ont aucune liaison électrique avec le circuit de commande, donc vous pouvez faire ce que vous voulez avec !

Contrairement aux bobines des aiguillages, alimenter un relais en permanence de détruit pas la bobine.

La "datasheet" des relais SRD05 utilisés sur les modules donne une consommation de la bobine de 90mA. Il faudra donc prévoir l'alimentation en conséquence (en prenant en compte tous les relais qui peuvent être utilisés en même temps).

R2 limite le courant dans le transistor à (5V-0.3V-0.7V)/510ohms=7.8mA.
Cette valeur permet de saturer le transistor afin qu'il chauffe le moins possible.
D1 élimine les surtensions qui se produisent lorsque l'on coupe le courant à une charge inductive (une bobine).

Voila, vous savez tout sur ces modules !

Notez que rien ne vous empêche de vous faire votre propre montage. Un des interêt est d'utiliser des relais avec plusieurs contacteurs (Les relais de ces modules sont des 1RT). Par exemple avec un relais 2RT, on peut inverser une tension. On peut aussi réduire le nombre de relais dans certains montages par rapport à l'utilisation des 1RT.

Notez aussi l'existence de relais bistables, ce sont des relais avec 2 bobines. Alimenter la bobine 1 fait basculer l'inverseur en C-T. Le relais garde ensuite cette position. Alimenter la bobine 2 fait basculer l'inverseur en C-R. Le relais garde ensuite cette position. Ces relais permettent donc de mémoriser une commande. Une utilisation courante en modelisme est de les utiliser en // des bobines des aiguillages pour mémoriser la position afin de polariser la pointe de cœur, de gérer la signalisation ou encore pour inverser le courant dans une de une boucle de retournement. Les relais les moins chers ont des bobines de 5V, pour les alimenter en 12V, une résistance adapté suffit...
Lulu_ho
Papotier
 
Messages: 139
Inscrit le: Ven 16 Déc 2016, 13:24
Echelle pratiquée: HO
Prénom: Ulysse

Re: D18: Un décodeur d'accessoires DCC à réaliser soi-même

Publié: Sam 22 Sep 2018, 18:46 
Sur AliExpress on trouve désormais des relais bistables à 2 bobines à moins de 1,50€ pièce, frais de port inclus. Chercher HFD2.
Bug Killer
Papotier
 
Messages: 117
Inscrit le: Ven 08 Sep 2017, 12:46
Localisation: Loir et Cher
Âge: 63
Echelle pratiquée: H0
Prénom: Jean-Michel

Précédent

Retour vers Numérique & Digital

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 6 invité(s)