TCO v2 : à base d'Arduino sans DCC

Tout sur ce qu'il nous faut pour alimenter nos réseaux.

TCO v2 : à base d'Arduino sans DCC

Messagepar JFCP43
14 Mar 2019, 23:57

Ayant quelques déboires avec mon premier TCO "tout électronique" à base de NE555, j'ai attaqué mon second en m'appuyant sur un Arduino et la solution proposée sur le site de Locoduino.

Bon, j'ai quand même modifié pas mal de choses :
- J'ai besoin de piloter 5 aiguilles alors que la solution Locoduino ne permet d'en gérer que 4...
- du coup, j'ai pris les bornes D2 à D11 pour piloter mes bobines d'aiguilles via 3 ULN2803...
- et j'ai pris les broches A1 à A5 pour les boutons poussoirs associés...
- mais alors il ne restait que D12, D13 et A0 pour gérer 5 paires de LEDs pour le TCO... problème ! ;)
=> il y a bien D0 et D1, mais ces broches servent à la console Arduino... bon, pas très grave, mais il semble qu'elles servent aussi aux communications via le port USB avec l'ordinateur : dans le doute, je préfère ne pas m'en servir !
=> je pensais avoir encore A6 et A7... mais ces deux broches (non présentes sur le Uno) ne peuvent fonctionner qu'en analogique ai-je découvert !!!

Du coup, j'ai remplacé les LEDs traditionnelles par des LEDs WS2812b qui sont adressables une à une et ne nécessitent qu'un seul fil pour être gérées !!! => ce sera la broche D12 pour moi.

Et j'en profite pour utiliser D13 pour un interrupteur et A0 pour une LED qui lui est associée : cet interrupteur me permet de choisir entre un fonctionnement du TCO via le pilotage des aiguilles une à une (traditionnel quoi), et un fonctionnement par itinéraires !
Cet interrupteur étant bipolaire, je me sers d'un pôle pour gérer le commun de mes boutons poussoirs : du coup, je peux utiliser les mêmes broches de mon Arduino pour la commande de mes aiguilles ET de mes itinéraires !

Quelques photos de ce que ça donne :

TCOB - 1.jpg
Les LEDs WS2812b, fixées sur une platine en bois pour les positionner en face des "trous" du TCO !

TCOB - 2.jpg
Le câblage intérieur : à gauche, les prises RJ45 allant aux bobines des aiguilles, au centre, l'Arduino et à gauche, l'alimentation et son interrupteur.

TCOB - 3.jpg
Vue des connexions par en dessous.

TCOB - 4.jpg
Et le fonctionnement, ici en mode "itinéraires" sur l'itinéraire n°2 !


Bon, tout cela paraît super et je suis plutôt fier du résultat, MAIS... catastrophe, j'arrive un peu au même résultat que sur mon premier TCO !!!! :
=> sans raccorder les aiguilles, tout semble bien fonctionner et être fiable dans le temps : les boutons sont bien réactifs et les LEDs associées répondent bien...
=> mais dès que je branche les aiguilles pour de vrai... ben ça marche au début, puis ça bugue !!!! = soit une aiguille se met à faire l'aller-retour quand je la pilote, soit tout se fige... soit l'Arduino redémarre carrément !!!

Bon, ayant repris le programme de 0 et n'étant pas un spécialiste, j'espère que ça n'est qu'un souci de programmation, mais j'avoue être un peu désabusé et surtout perdu... et pourtant j'y suis tous les jours depuis ce week-end, snif... :pleure:

Je joins le programme à tous hasard... si un expert charitable passe par ici... :cool:
TCO_5aig_5iti.zip
(4.09 Kio) Téléchargé 7 fois


Je me dis qu'il y a peut-être un souci dans le mélange des type de variables : j'utilise par ex. un booléen pour indiquer le sens de mes aiguilles, mais je l'utilise parfois comme "entier" (0 ou 1) dans des "calculs" pour accéder à l'indice d'un tableau par exemple... Mais pourquoi ça marcherait sans raccorder les aiguilles, puis plus une fois celles-ci branchées ????? :cry:

Là, j'atteins mes limites... dommage, l'idée me plaisait bien et c'était plutôt réussi au niveau "design" je trouve...

Merci de m'avoir lu, et en espérant un jour pouvoir partager une solution à ce casse-tête ! :coucou:
Avatar de l’utilisateur
JFCP43
 
Messages: 77
Enregistré le: 01 Déc 2018, 13:00
Localisation: Haut-Allier

Re: TCO v2 : à base d'Arduino sans DCC

Messagepar efel
15 Mar 2019, 17:00

C'est sans doute le même problème (et la même solution) qu'avec les 555.
La programmation n'y est pour rien AMHA.
Par ailleurs, vérifie la conso des moteurs roco: les 2803 ne supportent que 500mA.
Cordialement,
efel
 
Messages: 50
Enregistré le: 28 Aoû 2013, 07:18

Re: TCO v2 : à base d'Arduino sans DCC

Messagepar JFCP43
16 Mar 2019, 17:52

Bonjour efel,
Un problème de sensibilité aux courants "forts" trop proche de l'électronique tu veux dire ?

Ca paraît bizarre que je n'ai pas trouvé d'autres soucis de ce type partagés sur le Net si c'est si fréquent...

Pour l'ampérage supporté par les aiguilles... de toute façon, je "mets à dispo" 1A en ayant couplé deux à deux les entrées / sorties de mes ULN2803, mais si mes aiguilles n'ont besoin que de 500mA... et bien elles ne demanderont et ne prendront que 500mA sur mes drivers non ?
Je suis en N avec des aiguilles de récupération, je n'ai pas trouvé d'info sur ces appareils, mais j'avais testé la résistance de leurs bobines = entre 11 et 12 ohms... donc ça donnerait bien une consommation d'un ampère pour fonctionner sous 12V ou me trompé-je ?

En tout cas, je ne vois pas quelle solution apporter à mon problème... et je n'ai donc fait que du jardinage aujourd'hui... 1) parce que ça pousse à fond et 2) parce que ça me permet de laisser un peu décanter tout ça... avant que je n'aie plus de cheveux à force de tirer dessus ! :siffle:

Merci en tout cas pour ta réponse et je reste preneur de toute idée !
Avatar de l’utilisateur
JFCP43
 
Messages: 77
Enregistré le: 01 Déc 2018, 13:00
Localisation: Haut-Allier

Re: TCO v2 : à base d'Arduino sans DCC

Messagepar efel
16 Mar 2019, 22:26

JFCP43 a écrit:Bonjour efel,
Un problème de sensibilité aux courants "forts" trop proche de l'électronique tu veux dire ?

Ca paraît bizarre que je n'ai pas trouvé d'autres soucis de ce type partagés sur le Net si c'est si fréquent...

... !


A l'impossible, nul n'est tenu.
J'abandonne. :mort:
Cordialement,
efel
 
Messages: 50
Enregistré le: 28 Aoû 2013, 07:18

Re: TCO v2 : à base d'Arduino sans DCC

Messagepar JFCP43
18 Mar 2019, 20:12

Bon, je crois que j'ai la solution !!!!! :cool:

Donc, mon souci semble venir du fait que j'utilisais la même alimentation 12VDC pour mon Arduino via sa broche Vin ET pour la commande de mes aiguilles.
A priori, après un tour sur le forum français d'Arduino, si on fait ça... c'est source d'embrouilles (aux pluriel sur le forum, si, si ! ;) ) souvent inextricables !

DONC, j'ai maintenant :

- une alimentation 12VDC pour mon Arduino, (que je pourrais choisir entre 7 et 12VDC)
- et une seconde 12VDC pour mes aiguilles ;
- les deux ayant leur masse (GND) en commun...
... et ça marche nickel !

D'ailleurs, c'est bien le câblage proposé sur le site de Locoduino, mais j'avais pensé que c'était stupide d'utiliser 2 alimentations de même nature quand il suffisait de mixer les 2... erreur ! :roll:

Ouf, je commençais à désespérer de l'électronique en général ainsi que de mes compétences de programmeur (pas très élevées cela dit !) :ange:

Et merci efel pour ton aide : je travaille toujours sur une sorte de cage de Faraday pour protéger mes NE555 de mon TCO v1... espérons que là aussi, j'arrive à une solution (en espérant ne pas t'avoir blessé avec mon dernier message... ce n'était absolument pas ma volonté : tu es le seul qui m'ait répondu et j'ai drôlement apprécié !!!)

Si je savais faire :siffle: , je ferais une petite vidéo pour vous montrer ça car j'en suis vraiment ravi, ça marche pile poil comme je l'avais imaginé !!!
Avatar de l’utilisateur
JFCP43
 
Messages: 77
Enregistré le: 01 Déc 2018, 13:00
Localisation: Haut-Allier

Re: TCO v2 : à base d'Arduino sans DCC

Messagepar Bug Killer
23 Mar 2019, 12:16

Je confirme. Pour ma centrale maison, j'utilise deux alimentations, un 5V/3A pour alimenter les modules (centrale, décodeurs DCC, lecteur d'état S88 et signalisation), une 15V/3A pour la traction et les commandes des aiguilles. Chaque module comporte 2 borniers rapides à 4 broches qui acheminent le 5V, le 15V, le signal DCC non amplifié et la masse commune. Les 2 borniers permettent de chaîner les modules, ce qui constitue un bus.
Que le DCC soit avec toi.
Avatar de l’utilisateur
Bug Killer
 
Messages: 25
Âge: 64
Enregistré le: 18 Juil 2018, 15:31
Localisation: Loir-et-Cher

Re: TCO v2 : à base d'Arduino sans DCC

Messagepar JFCP43
23 Mar 2019, 14:18

Merci pour la confirmation Bug Killer (ça c'est du pseudo ;) ) !

Va falloir que je me penche sur ces histoires de bus, mais pour le moment, n'utilisant que des "bidouilles" maison, je n'y ai pas été encore confronté !

Je profite de ce message pour poursuivre quand même ma réflexion sur le TCO :

Je suis tombé sur un vieux LR n°815 de juin 2015 qui comporte un article : Quel courant pour les moteurs à électro-aimant : alternatif ou continu ?

Et j'y découvre que, même si j'ai souvent pu lire que ce type de moteurs pouvaient tout à fait se contenter d'une alimentation continue alors qu'ils sont bien fait à la base pour fonctionner en alternatif, ça n'est pas si vrai !!!
Et je comprends enfin pourquoi, en continu, ils sont si gourmands en intensité : quand même, passer souvent les 1 voire 2 ou 3A pour de si petits moteurs, ça me paraissait louche...

En fait, quand ils fonctionnent en alternatif, ces moteurs vont subir une variation de champ magnétique généré par ledit courant alternatif qui va s'opposer au passage du courant : cette "réactance" va s'ajouter à la résistance propre des bobines pour limiter le courant ! :
=> une bobine de résistance propre 10 ohms alimentée en 16V continu va absorber 1,6A,
=> mais alimentée en 16V alternatif, grâce à l'effet d'inductance elle n'absorbera plus que 0,2A !!! Donc même maintenue alimentée en alternatif, elle chauffera mais sans risque de destruction.

Et encore, les 16V alternatif requis de base pour ces moteurs fournit en fait du 23V en crête => il faudrait donc les alimenter en 23V continu pour être sûr qu'ils se déclenchent bien, ce qui accentuerait encore le risque de destruction des bobines associées...

DONC, ben si on veut piloter ce genre d'aiguilles avec une alimentation continue, et bien il faut utiliser un petit montage permettant de créer une décharge capacitive : il s'agit en fait d'un condensateur qui va se charger puis, au moment de la commande de l'aiguille, injecter pendant un temps très court l'énergie emmagasinée, sans risque pour les bobines associées.
(à noter que PECO vend un module PL 35 dans ce sens pour ses moteurs d'aiguilles réputés si gourmands en énergie ! ;) )

Or, les ULN2803 dont je me sers pour piloter mes aiguilles ne peuvent gérer que du courant continu... Et d'ailleurs, l'article LOCODUINO dont je suis parti pour mon travail fourni bien le plan d'un circuit de protection des solénoïdes, mais je pensais que c'était une protection facultative... alors qu'il n'en est rien si l'on ne veut pas détruire ses moteurs d'aiguilles à plus ou moins long terme : il s'agit d'un plan permettant de créer... une décharge capacitive ! :
Image

J'ai commandé les quelques composants qui me manquait, et je vous tiendrai au courant de ce que ça donne !

La seule "difficulté", c'est qu'il faut un certain temps (comme dirait Fernand Reynaud ;) ) pour que le condensateur se charge => si on veut piloter plusieurs aiguilles d'un coup, il risque de ne pas s'être rechargé après la commande de la première aiguille...
Et en effet, j'ai modifié le programme pour gérer des itinéraires où plusieurs aiguilles doivent changer d'état...
Mais je fais cela en les pilotant les unes après les autres, avec un temps de commande réglé à 250ms, alors que le temps de charge du condensateur est annoncé à 100ms par Locoduino...
Ca devrait donc être bon ! :lol:
Avatar de l’utilisateur
JFCP43
 
Messages: 77
Enregistré le: 01 Déc 2018, 13:00
Localisation: Haut-Allier

Re: TCO v2 : à base d'Arduino sans DCC

Messagepar Bug Killer
23 Mar 2019, 14:44

Ce pseudo m'a été attribué par un de mes techniciens quand j'étais directeur technique :lol:

Si les bobines de tes aiguillages sont trop gourmandes pour un ULN2803A, tu peux utiliser un pont en H L293D qui suppporte 2 x 700 mA ou un L298 qui monte à 2 x 2A.
Que le DCC soit avec toi.
Avatar de l’utilisateur
Bug Killer
 
Messages: 25
Âge: 64
Enregistré le: 18 Juil 2018, 15:31
Localisation: Loir-et-Cher

Re: TCO v2 : à base d'Arduino sans DCC

Messagepar JFCP43
23 Mar 2019, 15:06

C'est donc que c'est un pseudo mérité, ce qui est encore plus précieux !!! :cool:
Moi, je serais plutôt un bug creator je le crains... :roll:

Non, mes aiguilles déclenchent bien, même en 12V continu : j'avais mesuré leur résistance propre à 11-12 ohms => 1A de courant nécessaire en continu : 2 sorties d'ULN2803 suffisent donc sans souci particulier. (je suis en N)

Merci encore de ta réponse, ça aide toujours à faire avancer le schmilblick !!! ;)
Avatar de l’utilisateur
JFCP43
 
Messages: 77
Enregistré le: 01 Déc 2018, 13:00
Localisation: Haut-Allier

A

Messagepar Bug Killer
23 Mar 2019, 17:46

Voici les combinaisons que j'ai testées et validées :

- Moteur latéral à bobines Roco avec ULN2803A.
- Moteur rotatif Conrad avec L293D.
- Servomoteur SG-90 avec module PCA9685 connecté à un décodeur DCC avec bus i2C basé sur d'Arduino Nano.

C'est cette dernière solution que j'ai choisie pour 3 raisons :

- Le prix de revient dérisoire si on est bricoleur, faible si on achète un kit d'assemblage.
- Le mouvement lent des aiguilles.
- La possibilité d'y coupler un microswitch qui permet de connaître la position de l'aiguille.

Il y a un peu de bricolage à faire pour placer sous le réseau le servomoteur, la tige en corde à piano et les deux microswitches. Si ça fait peur, on peut avoir recours au DLYmoteur, une solution en kit qu'il n'y a qu'à assembler. Si on est aventureux, on trouve plein d'exemples de mise en oeuvre sur le net avec "turnout" et "servo", y compris des fichiers pour imprimante 3D. Il faut préférer les solutions avec 2 microswitches, un pour la polarisation du coeur, un pour la rétro-signalisation.
Que le DCC soit avec toi.
Avatar de l’utilisateur
Bug Killer
 
Messages: 25
Âge: 64
Enregistré le: 18 Juil 2018, 15:31
Localisation: Loir-et-Cher

Suivante

Retourner vers Électricité, électronique et numérique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 2 invités