Projets:Perso:2020:CharlyIsel

From Electrolab
Revision as of 18:48, 19 October 2020 by Marc (Talk | contribs)

Jump to: navigation, search

Retrofit de CNC CharlyRobot génération Isel


La CNC CharlyRobot modèle PM1 30 / 2266 (39x23) le jour de son arrivée, poussière comprise, accueillie par la Proxxon CNC MF70

Pour qui, pourquoi ?

Pour tous ceux qui n'ont pas la patience de plancher sur un hypothétique cahier des charges, lequel de toute manière ne saurait être défini puisque reposant sur le principe de la permanence des choses...

Pour ceux, également, qui ont mis la main sur une de ces nombreuses machines achetées par l'Education Nationale et qui se retrouvent sur le marché des "secondes mains".

Pour ceux, enfin, qui ne possèdent pas le moindre iota de connaissance mécanique et qui sauront supporter les approximations et trahisons de l'auteur.

La logique de contrôle

Ce projet est en fait le résultat d'une confluence : l'arrivée inopinée d'une fraiseuse CNC Proxxon d'occasion vendue à faible prix (et spottée par F4GRX, qu'il soit béni) et la découverte, toujours pour un prix plus qu'attractif, d'un châssis de Charlyrobot motorisation et structure Isel. Les deux projets, chacun à un stade différent, seront menés de front compte tenu de la similitude des opérations à conduire. Une description de modernisation d'un châssis strictement identique se trouve sur le forum Usinages

Une première électronique de pilotage destinée à la fraiseuse Proxxon est en cours de construction, et sert de projet préparatoire avant l'attaque du "gros" chantier Charly.

Electronique de contrôle de la CNC Proxxon réalisée en un peu moins d'une semaine de travail

Sur les conseils de Sebastien, il a été décidé d'éviter dans un premier temps les logiciels de pilotage complexes tel que LinuxCNC, mais plutôt de partir sur une solution simplifiée reposant sur grbl et l'interface/transmetteur de Gcode "bCNC".

C'est, de loin, l'approche la plus économique et surtout la plus rapide, car elle existe déjà quasiment prête à l'emploi grâce à une entreprise Australienne, Protoneer.

Celle-ci commercialise une carte open hardware, open source à base de microcontroleur Atmel (lequel est chargé de supporter grbl) et qui se monte en "piggy back" sur un SoC Raspberry-Pi.

Un Raspi qui fait tourner l'un des logiciels de contrôle sous Linux Raspbian tel que bCNC, ou joue le rôle de serveur d'administration/contrôle à distance via un service Web et une interface html.


Toute la documentation de ce Raspberry Pi CNC Hat estaccessible sur le Wiki de Protoneer.


La carte Protoneer connectée sur un Raspberry-Pi 3B+ (environ 30 euros, via eBay)

Sur cette carte viennent se brancher des drivers genre Pololu. Si l'on envisage de commander des moteurs pas à pas plus puissants, une série de "jumpers" imprimés routent les signaux de commande vers des modules externes, tels que ces DQ542MA pouvant débiter 4 ampères par phase de manière ponctuelle (3A RMS)

La fraiseuse Proxxon, pour plus de simplicité dans le projet, utilise les mêmes pilotes de moteur pas à pas que le chassis CharlyRobot



L'électronique Protoneer supervise :

  • 3 ou 4 pilotes de moteurs pas à pas sur 3 axes (le quatrième moteur se limitant à recopier l'un des 3 axes principaux)
  • L'activation et la direction de la broche si celle-ci n'est pas indépendante
  • 3 circuits pour les interrupteurs fin de course pour chaque axe
  • Le déclenchement d'un circuit de refroidissement -ou d'une microlube-
  • Les commandes manuelles d'urgence Abort, Hold, Resume et Reset/Restart (Hold et Resume étant nécessaire lors de chaque changement d'outil)

La logique de contrôle peut donc se résumer à :

  • Un micro-ordinateur Arduino chargé d'exécuter le logiciel de commande d'usinage et assure l'interface Homme/Machine (UHM)
  • Une carte Protoneer avec son simili-Arduino Nano qui récupère les commandes Gcode et les traduit en commandes d'actuateurs (moteurs pas à pas, électrovannes, relais marche/arrêt, capteurs de fin de course etc)
  • 3 ou 4 drivers de puissance pour moteurs pas à pas
  • Une alimentation 5V 4A destinée à alimenter le Raspberry et sa carte Protoneer
  • Une alimentation de puissance 24 V 10 ou 12 ampères qui fournira l'énergie nécessaire aux moteurs X, Y et Z
  • Un écran HDMI, un clavier, une souris (IHM)

Plus spécifiquement pour le projet CharlyRobot :

  • Une alimentation de puissance consacrée à la broche
  • Une petite pompe à air destinée à la micro-lubrification de l'outil en cours d'utilisation

Opérations de maintenance

(opérations effectuées à ce jour)

  • Nettoyage du châssis


Après élimination des résidus de ruban adhésif vieux de 30 ans, marquage au crayon papier (impossible à gommer sur une surface d'aluminium anodisé), caillots de graisse durcie, de poussière de bois et de copeaux métalliques formant un mortier compact. Les renforts de soufflets ont été recollés avec de la néoprène. Le nettoyage des tissus cartonnés a été réalisé avec un mélange vinaigre blanc/bicarbonate de soude, après un dépoussiérage à l'air comprimé


  • Démontage, restauration et remontage des soufflets
  • Rectification des "impacts" de broche sur la table, vérification de la planéité au comparateur
  • Dégraissage des résidus (acétone, essence F, brosse à dents) qui dataient de plus de 30 ans et formaient une gangue solide sur toute les mécaniques de translation
  • Graissage des Vis à Billes et rails cylindriques
  • Contrôle des jeux et des déplacements. L'axe des X "gratte" dans le sens lévogyre


L'axe des X qui supporte le chariot Z : la masse de l'ensemble combiné à l'accumulation de limaille est probablement à l'origine de l'usure de la noix et des billes, lesquelles avaient perdu 2 dixièmes de mm pour certaines. Les paliers d'extrémité, affectés par un décentrement visible à l'oeil nu, ont été changés par des pièces plus ajustées



  • Démontage de l'ensemble X / Z, dépose de la VaB des X, démontage de la noix, nettoyage, rebillages successifs avec des billes roulées neuves. Cette noix contient trois circuits de billes, et l'un des circulateur, trop usé, est responsable du grippage. Les deux autres circuits ne sont plus très vaillants non plus


Close up de la noix des X et des caillots de graisse, poussières et limailles qui ont peu à peu détruit le roulement. L'étroitesse de l'étrier de fixation interdit de remplacer cette noix par un équivalent à épaulement norme Europe



  • Rebillage final de l'axe des X avec seulement 2 circuits de billes, en attendant la commande d'une noix Hi Win de remplacement


Noix des X après 4 rebillages successifs et tests. Ce montage provisoire permettra d'effectuer les premiers étalonnages logiciels de la plateforme grbl en attendant un nouvel épisode de "Au bond de la noix" avec Steve Mc HiWin dans le rôle principal



  • Changement des paliers de l'axe des X d'origine Isel, totalement excentrés d'origine, vérification des axez Z et Y

(opérations prévues)

  • Remontage -provisoire- de l'axe des X, du bloc Z, des pièces de capotage, et rebillage éventuel des roulements de rails
  • Remontage du capotage
  • Remontage des moteurs d'origine, qui seront à terme remplacés par des Nema 23 de plus forte puissance
  • Usinage du porte broche 1kW
  • Construction/assemblage de l'électronique de commande (grbl/arduino/raspberry) intégrant les drivers 3 axes, la microlube, les alimentations au même standard de branchement que l'électronique de la Proxxon

Changement de La Vis à Billes des X

Bien entendu, impossible de trouver une vis à bille Hi-Win adaptable sur le chassis Isel. Après moultes errements allant de la tentative de rebillage à la modification d'une VaB Chinoise, il a bien fallu se résoudre à commander une vis "sur mesure".

Le sous-traitant choisi est Tuli, en raison de sa proximité et de la réactivité de son service client. Les tarifs sont... confortables.

  • Premier écueil, il n'existe pas de noix avec un diamètre identique à celle d'origine pour une vis de cette longueur. Après mesures, la nouvelle noix Tuli rentre "tout juste" dans le chenal de l'axe des X, mais il a fallu usiner un nouveau porte-noix
Nécessité fait loi, la conception de ce porte noix a entrainé l'auteur à faire ses premiers pas sous FreeCAD -le Mooc MinesTelecoms venait à point nommé- et causé deux nuits blanches à Zenos qui, à grand renfort de tour, de fraiseuse et de perceuse numérique, est parvenu à un résultat mécaniquement remarquable




  • Second écueil : Le probable responsable de l'usure de la noix semble être l'alignement peu orthodoxe de la vis avec ses roulements d'extrémité, lesquels roulement d'origine ne sont pas franchement coaxiaux
Les deux roulements de gauche sont fortement amincis et décentrés à 8H. amincissement probablement lié à un défaut de fabrication. Les roulements de droite ne présentent pas ce défaut, mais ont dû, en revanche, subir un sérieux rodage pour que la rotule puisse pivoter dans son logement


  • Troisième écueil : les supports en fonte d'aluminium, doivent être rôdés pour que le roulement puisse se positionner dans l'axe de la vis. Sans un léger passage à la toile Emery, il est impossible d'aligner les extrémités d'arbre et les moyeux. L'arbre lui-même a dû être très légèrement rôdé (abrasif 1000). Le rodage doit être très léger, pour ne pas créer de jeu entre la vis à bille et le moyeu du roulement, et entre le roulement lui-même et son support
Le remontage s'effectue dans l'ordre inverse de dépose : 
  • Nettoyage et graissage des 8 roulements linéaires, rebillage de deux d'entre eux avec des billes neuves
Après un séjour de plus de 20 ou 30 ans dans une cave, la graisse avait finit par s'agglomérer en blocs solides et noirâtres, bloquant la circulation des billes. Nettoyage en local aéré à l'essence F, puis à l'alcool isopropylique, suivi par un léger graissage.


  • Insertion de la vis à bille dans son chenal
  • Glissement de chaque extrémité de la VaB dans les moyeux des roulements d'extrémité
Alignement vab roulements.JPG


  • Vissage sans serrage des vis de fixation des roulements
Visserie roulements.JPG



  • Vissage du porte-noix sur le chariot du porte broche, avec contrôle au comparateur du parallélisme du corps de la noix et des rails de guidage linéaire
  • Serrage des vis des roulements en prenant garde à ne pas contraindre la vis à bille
  • Pose du circlip de blocage coté moteur
  • Pose de l'écrou de blocage sur l'autre extrémité
  • Serrage des blocages de moyeu (vis 6 pans creux sans tête) sur chaque roulement

Ces opérations effectuées, il ne devrait y avoir aucun jeu latéral de l'axe des X, la noix doit se déplacer sans effort d'une extrémité à l'autre.

Modification du porte broche

Le diamètre de la broche provisoire 500W est de 52mm, le support de broche d'origine est de 42mm. L'écartement des fixations du nouveau porte broche est incompatible avec l'espacement des gorges du profilé situés sur le chariot de l'axe Z.

"Broche provisoire" car la tenue mécanique de ce moteur est... au mieux "très relative" (pour 20 euros alimentation comprise, il ne faut pas s'attendre à un modèle du genre, le centrage du moteur étant assuré par un joint torique en caoutchouc), mais amplement suffisante pour effectuer les premiers essais.

10 mm d'écart entre ces deux porte-broche. En arrière-plan, le support originel, au premier plan le porte-broche du moteur fabriqué en Chine. Ecart également des alésages destinés aux vis de fixation.



Pour contourner ce problème sans modifier la structure du chariot, il a été décidé d'ajouter une plaque intermédiaire de profilé 20x20 (quadruple rails). Le choix du rail 20x20 est dicté par l'écart vertical entre les vis M6 de fixation du support de broche (2 cm)

La plaque d'adaptation a été taraudée dans la masse en M6 pour ancrer le support de broche, et alésée pour laisser passer les fixations du chariot de l'axe Z


Cet ensemble est alésé et taraudé au format du porte-broche, et 4 autres alésages M6 situés proches des 4 coins de la plaque servent à faire passer les vis de fixation de ladite plaque à l'aplomb des rails en T du chariot (espacement de 50)

l'ensemble broche, porte broche, plaque intermédiaire et structure de l'axe Z


Electronique de commande

Réalisé dans un rack "de récupération", cette centrale de commande est la copie conforme du contrôleur réalisé pour la fraiseuse Proxxon :

  • Chapeau Protoneer pour Raspberry Pi (3B+),
  • drivers de puissance,
  • alimentation 24V 15A,
  • alimentation 5V pour le Raspberry Pi,
  • alimentation du moteur de broche (provisoire)
  • interface de contrôle de moteur de broche (M/A, direction et conversion PWM vers 0-10V "mach3" style)
  • sortie vidéo pour écran de contrôle Pi-CNC
  • IHM de base (Restart/Resume/Hold/Abort et réglage du Z)
  • si résultats concluants, une microlube à base de compresseur d'aquarium
Câblage du rack de commande : au centre, les drivers des trois axes, câblage de puissance nettement séparée du reste du câblage. Sur la gauche, le bloc 24V 15A, à droite, le variateur qui alimente la broche en 0/100V, sur le bas, l'alimentation 5V et l'ensemble Raspberry pi 3B+ et son "chapeau" de commande Protoneer. On remarque, en haut, à droite, le rail DIN de distribution 220V. Chaque toron spécifique est protégé par un tube de ferrite assurant la réjection du mode commun


La vue avant montre comment ont été routés les boutons d'intervention manuelle (Restart, Hold, Resume, Abort), ainsi que la découpe d'accès aux connecteurs USB et Ethernet du Raspberry Pi
La vue arrière du chassis dévoile les torons de sortie vers les moteurs pas à pas (connecteurs dB9)et du fil devant aboutir au capteur d'étalonnage de position (fil brun volant). N'apparaissent pas les câbles de sortie vidéo HDMI et les fils de commande du moteur de broche (M/A, vitesse, sens de rotation). A noter, vers le centre droit de l'image, les deux vis de mise à la masse châssis, à partir desquels partent, en câblage "étoile", les différents "gnd" de référence pour les modules électronique et le raccordement à la terre "secteur".


La broche nécessite une commande de vitesse par variation de tension 0/10 V (norme "mach3"), et un inverseur de polarité pour changer le sens de rotation de l'outil. La carte protoneer ne délivre qu'un signal logique TTL pour commander le sens de rotation, et un train d'impulsions PWM pour commander la vitesse. Il faut donc ajouter une petite électronique capable de piloter le relais d'inversion de tension et convertir le PWM en une rampe de tension accepable.
Logée à coté du Raspberry Pi, la carte de commande de puissance reçoit en entrée les signaux de pilotage provenant de la carte Protoneer, un rail 24V, une entrée 0/100 en amont du relais d'inversion de sens de rotation, et une sortie courant continu variable de 0 à 10V pour la commande de vitesse
Une carte P0warduino Projets:Lab:2016:Ardui_P0wa sans le moindre Arduino mais avec trois étages de commutation de puissance a donc été sacrifiée. Quelques coups énergiques de perceuse ont permis d'y ajouter un relais double repos-travail et la quincaillerie nécessaire pour éviter la moindre contrainte mécanique sur les câbles. Cette bidouille infâme contrôle également une sortie 0/24V destinée à exciter le relais de mise en fonction de la "microlube" lorsqu'elle sera installée.


Le coffret une fois fermé viendra s'encastrer sur un tiroir 19 pouces situé sous la CNC CharlyRobot. La façade provisoire -avant gravure à la CNC bien entendu- est réalisée en mode quick & dirty avec des feuilles de vinyle imprimés laser