On en a parlé hier soir sur Discord et pendant que c’est chaud, je vais lancer le sujet même si la réalisation n'est pas prévue pour tout de suite.
Donc on va voir comment refaire la commande du pont tournant d’Olivier qui est actuellement motorisé par un moteur Nema 13 (ou 17 … je ne sais plus) avec à une couronne dentée solidaire du pont et un engrenage sur l’axe du moteur.
Un driver est déjà installé et on va le réutiliser
Le système mécanique fonctionne parfaitement et sans jeu, on va donc le conserver tel quel
Il faudra juste y ajouter un index qui va permettre de fournir un point de référence grâce à un capteur IR à fente.
Je pense que c’est le plus simple et aussi le plus précis.
Au niveau matériel, on va utiliser :
- Capteur IR à fente : https://fr.aliexpress.com/item/1005005291118263.html
- Encodeur rotatif pour les sélections dans un menu : https://fr.aliexpress.com/item/1005006551162496.html
- Écran LCD 2 lignes: https://fr.aliexpress.com/item/1005006100081942.html
- Ou 4 lignes comme j’ai mis sur mon ascenseur : https://fr.aliexpress.com/item/1005007132655492.html
Prendre AVEC module I2C qui permet de gérer l’écran par un bus I2C avec deux fils seulement (bus série)
Ou encore un écran OLED mais qui risque d'être plus cher si on veut un écran assez large.
On peut réutiliser l’Arduino Uno existant ou mettre un Nano qui doit être suffisant si on veut faire un boitier plus petit.
Et des boutons pour commander les fonctions de réglage sans s’embêter avec des menus imbriqués pas toujours très pratiques.
Soit des boutons classiques : https://fr.aliexpress.com/item/1005010483562613.html
Soit des TTP223 fixés dans le boitier : https://fr.aliexpress.com/item/1005009644423982.html
La liaison entre le boitier de commande et le driver pourra se faire avec un câble réseau et des prises RJ45 offrant 4 paires de fils.
Le boitier sera fait en impression 3D mais on verra ça plus tard.
Au niveau du code, on va faire simple et efficace.
- Le capteur IR permettra de fixer une position de référence à partir de laquelle les positions des voies seront définies en nombre de pas moteur : c’est très précis et sur mon ascenseur le positionnement réalisé ainsi est très précis et je n’ai jamais eu besoin d’y retoucher depuis la mise en service. Donc c’est aussi fiable dans le temps.
- Un menu qui permettra le choix de la voie. Le menu est géré par l’encodeur rotatif et s’affiche sur l’écran.
- une fonction de positionnement manuel avec mémorisation de la position pour le réglage initial sur les différentes voies. La mémorisation se fait dans l’EEPROM de l’Arduino. Donc on le fait une fois au début et on n’a plus à y revenir.
Le nombre de voies sera codé en dur dans le logiciel pour ne pas s'embêter à devoir gérer un menu d'ajout, d'insertion et de suppression de voie et un tableau dynamique qui va gaspiller les maigres ressources de l'Arduino...
- 2 boutons permettant le déplacement manuel du pont (ou 4 si on veut deux vitesses)
- un arrêt d’urgence au cas où…
- la recherche de la position de référence n’a besoin de se faire qu’une fois lors du réglage et de la mémorisation de la position des voies .
- ensuite, à chaque utilisation, la dernière position atteinte est enregistrée dans l’EEPROM et permet au pont de savoir où il est lorsqu’on le rallume.
- la position de référence n’est à refaire que si on coupe l’alimentation pendant que le pont tourne, donc pas de dernière bonne position enregistrée ou si on le bouge à la main.
- on peut aussi prévoir des commandes de relais pour couper le courant sur les voies d’accès lorsque le pont tourne ou pour ne mettre le courant que sur la voie où le pont est arrêté. Il faudra voir ce qu’on peut faire en fonction des broches disponibles sur L’Arduino.
Voilà pour les bases.
Toute autre suggestion est évidemment la bienvenue.



