Bonjour,
une petite suite à l'affaire, la numérisation de la vis de chariotage : je souhaite pouvoir charioter à vitesse régulière, donc numérisation de ce seul axe, avec la possibilité d'avancer/reculer manuellement, ou de façon asservie à la vitesse de rotation du mandrin ; mais c'est aussi un exercice de style, je veux réaliser ça à base d'Arduino, et sans utiliser GRBL, uniquement du DIY ...
Le projet est presque terminé, restent quelques petits réglages au niveau soft, ainsi qu'un coup de peinture, mais ça fonctionne ; pour ce qui concerne les principes :
- vàb de 16 mm, pas de 5, moteur Nema 23, entrainement par courroie (HTD 5).
- pilotage moteur à base de M542 + bob JK02 (j'avais ça en stock)
- IHM à base d'écran LCD 4 lignes + touches
- 2 Arduino Mega 2560, l'un pour piloter le moteur, et l'autre pour l'IHM, communication par 2 canaux half-duplex, programmation en C++
Voilà le résultat, le bloc additif est relativement important car je me suis laissé la possibilité de poursuivre cette numérisation ...
Réalisation :
Voici la partie mécanique, la vàb est dotée d'un roulement droit + butée du coté manivelle, et d'un roulement droit coté moteur ; toutes les pièces sont réalisées à la cnc, y compris les poulies crantées (delrin, fraise de 3, pour du htd5 ça passe tout juste).
Tout le bloc électronique vient se loger dans un boitier en mdf ! (oui, halte aux colibets !) :
Le bloc électronique est amovible, les seules connections externes concernent le moteur pàp ainsi que le capteur hall de mesure de la vitesse de rotation de la broche ; il est composé d'une partie basse avec les composants de puissance, et une partie haute avec les platines de commande et les 2 arduino :
Le bloc électronique, partie basse : à gauche l'alim de puissance (50v à découpage), et la bob devant :
Le bloc électronique, partie basse, de l'autre coté : à gauche le driver du moteur, au centre une petite alim, 5v pour la bob, et 8v (juste derrière le pont de diodes) pour les Arduino.
Le bloc électronique, partie haute : la platine de commande est usinée à la cnc dans du 2014 de 3 mm :
Lamage au dos pour accueillir les touches, également travaillées à la cnc dans du delrin de 10 mm :
Les circuits (platine de cmd, alim, shield) sont également réalisés à la cnc, résultat vraiment impeccable grâce au levelling rendu possible par ma sonde DIY (précision du capteur de l'ordre du micron !!!, c'est vraiment géant) :
Voici le circuit de la platine de commande, avec en vert l'afficheur LCD :
Les liaisons entre les 2 arduinos ne posent pas pb, mais les liaisons de l'arduino qui gèrent l'IHM exigent un shield :
Et au final, voici l'intégration dans le boitier supérieur : les 2 arduino dont l'un avec son shield, la platine de commande, et l'ensemble de commutation 220 AC :
La mesure de vitesse de rotation du mandrin est assurée garce à un petit capteur hall, un petit aimant néodyne fixé sur une couronne solidaire de la broche, et l'arduino IHM :
Voilà en gros pour ce qui concerne la réalisation mécanique, il est clair que la connectique autour des arduino n'a rien de professionnelle, il faudrait réaliser un circuit dédié pour remplacer ces 2 cartes, mais là aussi, j'ai du stock !
Coté informatique :
- Un arduino gère l'IHM (les touches de la platine de commande, l'affichage LCD) ; il accueille le capteur hall (la vitesse de rotation est calculée sous interruption) ; sur la base des consignes receuillies, il élabore les commandes à l'attention du second arduino (fréquence des pulses, nombre de pulses, direction), en gérant notamment vitesse et accélération, et les lui envoie ;
- Le second arduino recoit les consignes de l'arduino IHM et les transforme en ordres step/dir à l'attention du driver ; en retour, il retourne au premier arduino la position du chariot.
L'afficheur permet, dans sa partie gauche, de restituer la vitesse de la broche et la position du chariot ;
en partie droite, possibilité de fixer :
- l'avance par tour, utilisée pour un déplacement à une position donnée (mode asservi)
- le mode de déplacement manuel : continu, ou par pas de 1 mm, 1/10 mm, ou 1/100 mm
- la vitesse de déplacement, en mode manuel
- la position cible (mode asservi)
Les ordres de déplacement sont :
- en mode manuel, gauche ou droite
- en mode asservi, déplacement à la position cible
- fixation origine
- retour à l'origine
- stop
Voilà, la partie la plus compliquée a tout de même été la programmation, en particulier la gestion de l'accélération, indispensable si l'on ne veut pas voir le moteur pàp décrocher dès que la consigne de vitesse atteint un certain seuil ... prog objet très adaptée au sujet.
Michel