Commande de servomoteurs DIY

Toutes vos questions, commentaires sur les nouveautés, utilisation de produits electroniques numériques...

Modérateurs : Philippe Cousyn, Tibrus, Patrice, Arnaud Guyon

Répondre
Plume
Coucou
Coucou
Messages : 10
Enregistré le : 02 oct. 2019 22:39

Commande de servomoteurs DIY

Message par Plume »

Bonjour,

La section Modélisme de l’UAICF Nevers-Vauzelles vous présente une platine pour une carte Arduino NANO conçue pour commander 6 aiguillages avec des servomoteurs ou un lecteur sonore en analogique et digital.

http://modelisme58.free.fr/index.php/pl ... duino.html

Ce projet s'adresse aussi bien aux personnes initiées qu'aux personnes ayant aucune connaissance en programmation de carte Arduino. La platine est compatible en DCC et en Analogique.

La carte a été étudiée pour recevoir les signaux DCC, les commandes via des boutons, une télécommande infrarouge… La platine est également prévue pour piloter des cartes via le bus I2C ce qui offrent de nombreuses possibilités.

Les fichiers "Gerber" sont proposés pour faire fabriquer directement la platine auprès d'entreprises spécialisées.

Pour les commandes d’aiguillage, la carte permet la gestion de 6 servomoteurs, soit 6 aiguillages simples ou jusqu’à 3 aiguillages triple. Pour le lecteur MP3, une centaine de sons peuvent être joués à la demande ou en mode aléatoire.

Le retour d’expérience a conduit à réaliser des programmes paramétrables sans avoir besoin de recompiler à chaque fois les programmes Arduino lors du changement de paramètres comme les adresses DCC, les vitesses, les angles des servomoteurs, aiguillage simple ou triple, …

Pour cela, les programmes de configuration des servomoteurs et du lecteur MP3 ont été conçus spécialement pour ces cartes et sont compatibles sous Windows, Linux, Raspberry, Macintosh. Réalisés avec le logiciel gratuit « Processing », les programmes sont auto-exécutables et ne nécessitent pas d’installation.

Le projet présente également un principe de réalisation de support de servomoteurs découpés dans du bois contre-plaqué de 5 mm d'épaisseur.

Tous les supports informatiques et fichiers sources sont gratuits afin de pouvoir le faire faire ou le réaliser soi-même.
Plume
Coucou
Coucou
Messages : 10
Enregistré le : 02 oct. 2019 22:39

Re: Commande de servomoteurs DIY

Message par Plume »

La platine a été prévue pour piloter des servomoteurs ou un lecteur Mp3 DFPlayer. 2 programmes Arduino sont proposés : servomoteurs et lecteur Mp3.

Un nouveau programme Arduino permet de piloter en même temps les servomoteurs et le lecteur Mp3 avec une carte NANO :
  • 6 servomoteurs en DCC
  • 2 servomoteurs en analogique
  • Lecteur sonore avec clavier 16 touches pour le lecteur sonore : 10 sons en analogique, volume sonore, suivant / précédent,...
  • Lecteur sonore : une liste de fichiers sons très importante en DCC...
Sur le site Internet http://modelisme58.free.fr/index.php/pl ... duino.html, deux tutoriels ont été ajoutés pour prendre en main les applications de paramétrage des servomoteurs et du lecteur MP3.

Aucune connaissance en programmation n'est nécessaire : il suffit simplement de téléverser les fichiers dans la carte Arduino. Tous les réglages sont enregistrés dans la mémoire Eeprom de l'Ardunio. Aucune valeur n'est à renseigner dans les codes de programmation. Les tutoriels expliquent comment faire.
Plume
Coucou
Coucou
Messages : 10
Enregistré le : 02 oct. 2019 22:39

Re: Commande de servomoteurs DIY

Message par Plume »

Pour la gestion de l'alimentation des cœurs d'aiguillage, voici un schéma de principe avec 2 fins de course actionné par le palonnier du servomoteur.
coeur_aiguillage.png
coeur_aiguillage.png (138.25 Kio) Vu 4354 fois
Les fins de course s'implantent sur le support réalisé en découpe laser ou en impression 3D.
support_bois_assemble.png
support_bois_assemble.png (12.2 Kio) Vu 4354 fois
Les lames d’un aiguillage ont 3 positions :
• Gauche
• Milieu
• Droite

Les fils des fins de course sont raccordés directement à la voie. Il faut bien entendu isoler les voies du cœur d’aiguillage avec 2 éclipses isolantes.

La gestion est entièrement mécanique, il n’y a pas d’électronique pour gérer l’alimentation.

Le système est compatible aussi bien avec une alimentation analogique qu’une alimentation digitale (DCC).

Si le servomoteur est déplacé manuellement, la gestion de l’alimentation du cœur de l’aiguillage sera gérée automatiquement en fonction de la position du palonnier.
Plume
Coucou
Coucou
Messages : 10
Enregistré le : 02 oct. 2019 22:39

Re: Commande de servomoteurs DIY

Message par Plume »

Pour régler et paramétrer la commande des servomoteurs, une seconde possibilité est proposée : utiliser une interface Web...
Les pages Web sont enregistrées dans une petite carte ESP 8266 qui se programme avec un Arduino. Grace à la communication sur le port RX0/TX0, on interroge et pilote à distance la carte Arduino. Aucune modification n'est à réaliser dans le code de la carte Arduino. On utilise les mêmes protocoles de communication que l'application "Processing" présentée ci-dessus.

Pourquoi cette interface ?
Ceci peut être utile lorsque les servomoteurs sont difficiles d'accès ou que l'on ne souhaite pas connecter un ordinateur avec un câble USB. Le réglage des positions des servomoteurs devient encore plus simple.
Lorsque les réglages sont terminés (positions mini et maxi, adresse DCC, aiguillage simple ou triple), on peut enlever la carte ESP 8266 et l'utiliser pour configurer une autre carte Arduino pilotant les servomoteurs. Aucune donnée de configuration n'est enregistrée dans la carte ESP 8266.

La carte ESP peut se connecter à un réseau informatique en mode "Client" ou créer un point d'accès avec ou sans mot de passe. Le tout embarqué dans une toute petite carte qui peut aussi héberger des images.

On peut ainsi modifier les réglages directement avec son ordinateur, son smartphone ou sa tablette.

Les fichiers sources et la présentation détaillée sont disponibles sur http://modelisme58.free.fr/index.php/pl ... o.html#ESP
interface_web_decodeur.png
interface_web_decodeur.png (53.4 Kio) Vu 1021 fois
Répondre