Solution globale pour aiguilles N

Solution globale pour aiguilles N

Messagepar SUPERN » 05 Janvier 2016, 20:29

Bonsoir,

Je suis en train de développer en collaboration avec Xavier une solution complète pour piloter des aiguilles en N avec réalisme (mouvement lent) et sécurité (pilotage et surveillance par Arduino).

J'ai essayé différents servos et mon choix s'est porté sur le standard SG90. Ces mini servos de 90Nm de force et de poids 9 grammes ont un encombrement réduit compatible avec l'échelle N. Leur prix de quelques Euros les rend aussi très intéressants.

J'ai développé un support permettant de les monter en vertical, au pas de 25 mm (donc inférieur au pas minimum de 27 mm de la norme MOROP). Cela permet de motoriser n'importe quelle densité de grill.
La transmission et une suggestion de AGB et la réalisation en medium de 3mm découpé laser. (plans et Photos à suivre).

Concernant le driver de servos, j'ai fait des essais, et comme ESU j'ai vérifié qu'il fallait couper l'alimentation des servos quand ils ne bougent pas. Cela évite les mouvements erratiques lors de la mise en route et limite bruit et consommation en fin de course.
On va aussi faire la mémorisation des positions d'aiguilles à la coupure de l'alimentation en mémoire EEPROM, comme cela les servos reprendront leurs positions à la prochaine remise sous tension, restant synchronisés sur l'état mémorisé par CDM.

Par contre, je compte mettre un buffer dans le décodeur pour ne perdre aucune commande DCC et éviter de mettre des tempos dans CDM pour attendre les servos. Comme cela la vitesse de commutation des aiguilles ne sera pas contrainte par les commandes DCC.

Si vous avez des suggestion ou contraintes, n'hésitez pas à nous les communiquer sur le fil.
A+
Yves
Bon TRAIN à tous!
Membre des modélistes charentais (http://www.lmc-17.fr)
Membre AFAN
CDMrail + PC quadricoeur ASUS + double écran SAMSUNG
LZV100 + LH100 + XIS88 + LS150 + RMGB8
SUPERN
 
Messages: 1369
Inscrit le: 07 Octobre 2013, 19:27
Localisation: 17600 SAUJON

Re: Solution globale pour aiguilles N

Messagepar PhilB47 » 05 Janvier 2016, 21:55

Bonjour Yves,

Bravo pour ces avancées. Je n'utiliserai pas l'Arduino, ayant des décodeurs ESU de mon coté, mais je suis par contre intéressé par tes supports de moteurs, ayant moi aussi des SG90 de Tower Pro. Donc, vivement les plans :D
J'arrive sans soucis à couper l'alimentation des servo après la course, mais je ne comprends pas cette phrase "On va aussi faire la mémorisation des positions d'aiguilles à la coupure de l'alimentation en mémoire EEPROM, comme cela les servos reprendront leurs positions à la prochaine remise sous tension, restant synchronisés sur l'état mémorisé par CDM.". Tu parles de l'EEPROM de l'Arduino (auquel cas, je n'ai plus de question sur le sujet), ou des l'EEPROM du servos, s'il en a une ???

Encore mes félicitations pour ces travaux. :respect2:

Phil.
Echelle N + Roco Multimaus + Servos moteur et ESU SwitchPilotServos.

Il n'y a pas de problème
qu'une absence de solution ne
puisse résoudre !


Des tutos pour l'utilisation de CDM ? Rendez vous sur ma chaîne Youtube
PhilB47
 
Messages: 2319
Inscrit le: 27 Mai 2010, 11:04
Localisation: Agen

Re: Solution globale pour aiguilles N

Messagepar jpp38 » 06 Janvier 2016, 10:48

Salut Yves.

SUPERN a écrit:Par contre, je compte mettre un buffer dans le décodeur pour ne perdre aucune commande DCC et éviter de mettre des tempos dans CDM pour attendre les servos. Comme cela la vitesse de commutation des aiguilles ne sera pas contrainte par les commandes DCC.


Je ne suis pas certains que ce soit une bonne chose, car cette tempo dans CDM est un moyen de laisser à l'aiguille le temps de changer de position (le temps où l'aiguille reste en orange).
Si tu le fais, il faudrait le mettre en option.
Il me semble que si on le faisait, il faudrait envoyer un message de rétrosignalisation pour indiquer que l'aiguille a atteint sa position ... Sauf que CDM-Rail ne sait pas le gérer actuellement, mais ça peut changer.

Autrement le projet est intéressant, et assez tentant. Je penserai peut-être à changer mes Conrad dont je suis moyennement satisfait.

JP
jpp38
 
Messages: 10988
Inscrit le: 31 Mars 2009, 11:15
Localisation: Grenoble (Isère / Rhône Alpes)

Re: Solution globale pour aiguilles N

Messagepar AGB » 06 Janvier 2016, 11:54

Bonjour Yves,
je vois que ce projet avance bien. Je ne sais pas ce que tu as prévu pour les paramètres de réglages du servo mais une fonction intéressante des switchpilot ESU c'est de pouvoir régler (outre la vitesse) les 2 positions du servo indépendamment l'une de l'autre. Cela permet de corriger un défaut de centrage mécanique du bloc servo. Je dis ça parce-que avec les décodeurs de PACO on ne peut régler que la vitesse et la course ce qui sous-entends un centrage parfait du bloc sous la table et c'est pas toujours évident à réaliser.
Pour mémoire je te rappelle notre discussion sur les contacts de fin de course que nous sommes nombreux à utiliser que ce soit pour alimenter des feux, un TCO, le coeur d'aiguille ou la BR). Ce serai bien d'avoir une solution soit par relais bistable (je sais que le nbr d'I/O de l'arduino est limité) soit par fdc électromécanique associé au servo.

Bonne continuation et félicitations pour ce développement
A+
Alain
Echelle N
Centrale "DCC_GEN" de PACO
Rétrosignalisation 4 et 8 voies basée sur le module "S88" de JPP
Commande d'aiguille par servomoteur avec modules " Servopoint" de PACO et switchpilot-servo-v2 ESU + module extension
AGB
 
Messages: 270
Inscrit le: 29 Octobre 2014, 21:04
Localisation: Val d'Oise

Re: Solution globale pour aiguilles N

Messagepar Xavier » 06 Janvier 2016, 19:58

Bonsoir,

Quelques compléments d'information sur le projet:

Il s'agit d'un décodeur Dcc 8 servomoteurs à base d'arduino Uno.
L'Eprom de l'arduino servira à conserver les paramètres du décodeur, à la manière des CV.
- Adresse de base du décodeur (avec une adresse par servomoteur)
- Vitesse globale de déplacement des servomoteurs.
- Pour chaque Servomoteur, individuellement
- Position minimum (0.. 255)
- Position maximum (0 .. 255)
Le paramétrage pourra s'effectuer via l'USB soit directement avec l'IDE Arduino, soit avec un programme de configuration permettant aussi la commande.
A la mise hors tension du décodeur, la position de chaque servomoteur sera enregistré dans l'Eprom de l'arduino. Une détection de coupure alimentation sera intégrée dans le shield avec la réserve nécessaire pour autoriser la mémorisation en Eprom.
A la mise sous tension, la position de chaque servomoteur sera lue en Eprom avant la mise sous tension des servomoteurs (faute de quoi, ils passeraient systématiquement à la position basse)
Les servomoteurs ne seront alimentés que pour assurer le mouvement des servomoteurs, l'alimentation étant coupée en absence de mouvement.

Le sketch intègre une signature permettant au programme de configuration de détecter automatiquement le port utilisé.
Le sketch permet aussi de visualiser les paramètres et états du décodeur, ainsi qu'une liste des commandes reconnues.

Voici une video des premiers essai sans la coupure d'alimentation des servomoteurs ni la détection de coupure, connecté à mon réseau. Les claquements sont ceux des moteurs Conrad portants les mêmes adresses. Notez que c'est le Dcc qui alimente le tout !

Les sources, C# et Arduino , seront évidement à la disposition de tous ceux qui en feront la demande!

Yves, il peut être envisageable d'ajouter des sorties complémentaires en I2C sur un PCF8574 avec un 75469 pour offrir la gestion des feux, d'un TCO, l’alimentation des cœur d'aiguille ...
Je proposerai que cela soit sur un CI séparé, pouvant être relié par un connecteur I2C au pas de 2.54 (+5,Gnd,SCL,SDA) situé en bord de shield (Femelle sur Décodeur, Mâle sur CI dédié)

Amicalement,

Xavier
Echelle N , Run depuis le 01/01/2013
Centrale NanoX/Roco + GenLiS88, Dcc++, Décodeurs Accessoires à base d'Arduino
Rétrosignalisation LDT RM-GB-8-N-B, Décodeur d'aiguillage LDT M-DEC-DC-B, Moteurs Conrad 219998
Club; AMFBC 73
Xavier
 
Messages: 465
Inscrit le: 11 Décembre 2009, 20:01
Localisation: Challes les eaux - Chambery (Savoie / Rhône Alpes)

Re: Solution globale pour aiguilles N

Messagepar SUPERN » 06 Janvier 2016, 22:40

@Phil,

Xavier t'a déjà répondu.
On a mis une EEProm I2C sue le Shield.
En effet ces mémoires ont un nombre limité d'écritures, on ne va pas utiliser celle du micro pour les paramètres !

A+
Yves
Bon TRAIN à tous!
Membre des modélistes charentais (http://www.lmc-17.fr)
Membre AFAN
CDMrail + PC quadricoeur ASUS + double écran SAMSUNG
LZV100 + LH100 + XIS88 + LS150 + RMGB8
SUPERN
 
Messages: 1369
Inscrit le: 07 Octobre 2013, 19:27
Localisation: 17600 SAUJON

Re: Solution globale pour aiguilles N

Messagepar SUPERN » 06 Janvier 2016, 22:47

@AGB,

Il sera possible de monter des contacts de fin de course sur une variante du support.
J'en ai commandé pour faire des essais.
J'ai aussi commandé des servos SG90 en version "S" qui ont une pignonnerie en métal ce qui offre une bien meilleure fiabilité
Je vous donnerai tous les détails lorsque je les aurait reçus!

Je vous mettrai les plans et photos demain.

Je propose à tous de grouper les commandes pour faire encore baisser les prix. Cela concernera les servis, les supports et les Shields 8servos. Dites moi ce qui vous intéresse

A+
Yves
Bon TRAIN à tous!
Membre des modélistes charentais (http://www.lmc-17.fr)
Membre AFAN
CDMrail + PC quadricoeur ASUS + double écran SAMSUNG
LZV100 + LH100 + XIS88 + LS150 + RMGB8
SUPERN
 
Messages: 1369
Inscrit le: 07 Octobre 2013, 19:27
Localisation: 17600 SAUJON

Re: Solution globale pour aiguilles N

Messagepar SUPERN » 06 Janvier 2016, 22:55

@JP,

Ok je sais que CDM ne prend pas de rétro de position.
Seulement si on met les tempos que tu as mis (et c'est nécessaire ) toutes en série, la formation d'un itinéraire avec plusieurs aiguilles prend beaucoup de temps.
Mon option est donc bien pour la suite, mais je réserve la possibilité d'envoyer toutes les commandes en rafale et de ne mettre qu'une seule tempo. En effet tous les servis peuvent être mis en mouvement ensemble. Il y a une protection de puissance de prévue sur le Shields. Mais c'est pour plus tard.

A+
Yves
Bon TRAIN à tous!
Membre des modélistes charentais (http://www.lmc-17.fr)
Membre AFAN
CDMrail + PC quadricoeur ASUS + double écran SAMSUNG
LZV100 + LH100 + XIS88 + LS150 + RMGB8
SUPERN
 
Messages: 1369
Inscrit le: 07 Octobre 2013, 19:27
Localisation: 17600 SAUJON

Re: Solution globale pour aiguilles N

Messagepar SUPERN » 06 Janvier 2016, 22:58

@Xavier,

J'ai trouvé un buffer qui coupe 500mA par canal, huit canaux.
Je l'ai commandé et je vais finir le proto au plus vite.
J'ai aussi commande des polyswitch 3A pour protéger l'alim servos.

A+
Yves
Bon TRAIN à tous!
Membre des modélistes charentais (http://www.lmc-17.fr)
Membre AFAN
CDMrail + PC quadricoeur ASUS + double écran SAMSUNG
LZV100 + LH100 + XIS88 + LS150 + RMGB8
SUPERN
 
Messages: 1369
Inscrit le: 07 Octobre 2013, 19:27
Localisation: 17600 SAUJON

Re: Solution globale pour aiguilles N

Messagepar SUPERN » 07 Janvier 2016, 15:09

Bonjour à tous,

Voici donc le chapitre 1 de mon étude qui concerne les aspects mécaniques. Les chapitres 2 et 3 traiteront de l'électronique et du logiciel.

Ch1 = mécanique

Le but étant d'utiliser le moins cher des moteurs (car le plus utilisé) c'est à dire le servo. Dans cette catégorie, pour le N il faut impérativement passer aux micro servos. Le standard de facto est le SG90.
Les deux points à surveiller sont
- la fiabilité (engrenage en plastique et donc usure possible si usage intensif = comme moi)
- le force de torsion.
Pour le premier point, j'ai trouvé une solution à base de SG90M dont les engrenages sont tous en métal (cuivre). Chacun aura donc le choix, je vous donnerai les prix plus tard.
Pour le second point, j'ai trouvé un positionnement qui permet d'utiliser presque toute la course du servo et donc d'arriver dans une zone où la pression de l'aiguille se traduit par un couple très faible sur le servo, évitant ainsi tout retour en arrière, même hors tension.
Voici donc le dessin de principe:
Faire un levier dont le débattement au cœur de l'aiguille soit de 1.6 à 2 mm et de 3 fois plus côté palonnier du servos. Le levier est de la tige à piano de 1mm, le point de rotation est un trou de 1.2mm dans la plaque de base du support servo. Merci à AGB pour l'idée...

Ensuite, deux options ont été envisagées: commande par le côté (donc ne nécessitant aucune intervention sur l'aiguillage). Possible, mais le ressort inclus dans l'aiguille apporte une secousse dans le déplacement (effet peu agréable à regarder) et il faut un trou grand et très visible, puisque situé à coté de la voie; Voir la photo.
La seconde option, celle retenue est par la pointe d'aguille. Dans ce cas la secousse due au ressort est quasi imperceptible. Néanmoins, certains aiguillages comportent une polarisation par le cœur qui provoque un court-circuit lorsque l'on manœuvre par la pointe. Il faut donc retirer cet élément.
Le résultat côté visible est ici.

Sous le plan de roulement, voici le résultat final.

Je pourrai soit vous fournir les pièces (en commande groupée je pourrai tirer les prix...) en medium de 3mm découpé au laser (très denses et très précises) soit vous fournir le fichier Inkscape.

Voilà pour la première étape, la prochaine fois le schéma électronique.
OUPS, le serveur me dit qu'il a atteint la limite des pièces jointes...donc JP si tu passes par là!
Sinon demandez-moi pour un envoi des photos en email..

A+
Yves
Bon TRAIN à tous!
Membre des modélistes charentais (http://www.lmc-17.fr)
Membre AFAN
CDMrail + PC quadricoeur ASUS + double écran SAMSUNG
LZV100 + LH100 + XIS88 + LS150 + RMGB8
SUPERN
 
Messages: 1369
Inscrit le: 07 Octobre 2013, 19:27
Localisation: 17600 SAUJON

Suivant

Retourner vers Digital: général

Qui est en ligne ?

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