CNC : remplacement de l’électronique de contrôle (Protoneer 3.51) et améliorations

Suite à l’analyse des problèmes rencontrés avec la CNC low cost commandée, j’ai donc décidé de tout remplacer, sauf le châssis, pour partir d’une base saine et en espérant me débarrasser des problèmes rencontrés jusqu’ici.

Voici la liste des courses :

  • Protoneer Shield V3.51 : c’est la dernière version, compatible GRBL 1.1, j’ai commandé sur l’ebay officiel de la société. ~20€
  • Drivers Pololu A4988 Black Edition : là aussi, j’ai commandé des drivers officiels (chez GoTronic) et non des clones. L’avantage de la version Black Edition, c’est qu’ils chauffent un peu moins (1.2A sans refroidissement, contre 1A pour le modèle standard. La fiche de produit officielle donne toutes les informations pour les régler correctement. ~30€ (pour les 3).
  • Des radiateurs : pour limiter les risques de chauffe et augmenter le courant que peuvent envoyer les pilotes aux moteurs. 1€
  • Un ventilateur 12V 2000rpm : toujours pour limiter la chauffe des pilotes des moteurs. 5€
  • Transistor NPN BU406 : qui permettra de piloter le moteur de la fraiseuse. 5€
  • Alimentation 12V 10A : plus de puissance qu’il n’en faut, mais je préfère voir large. 25€
  • 3 moteurs Nema17 59Ncm : cette fois, j’aurai toutes les spécifications des moteurs. 30€

Soit un total de 116€, je ne m’en tire pas trop mal pour du matériel de qualité. Et surtout, cette fois-ci, j’ai les spécs de chaque élément ! 🙂

Tous les composants (Protoneer et A4988) arrivent en pièces détachées, la première étape a donc consisté en une bonne session de soudure ! Le guide d’assemblage du Protoneer Shield est disponible ici. Pour fixer les moteurs, j’ai utilisé de l’adhésif thermique, autre technique non testée (mais lue sur de nombreux forums) : utiliser un peu de pâte thermique et mettre 1 mini point de glue sur 2 coins opposés).

Ensuite, on passe au paramétrage des pilotes des moteurs. Il faut la fiche technique des moteurs et celle de leurs pilotes :

Specs des moteurs
Specs des drivers A4988 Black Edition

Les 2 peuvent monter à 2A par bobine au maximum. Je ne compte pas pousser le système dans ses limites, pour éviter les surchauffes (et les phénomènes de blocage observés précédemment). Je ne compte pas non plus utiliser un refroidissement liquide pour atteindre les 2A 😉 Par contre, j’ai des radiateurs, un ventilateur et je pense viser un courant maximum de 1.4 A par bobine pour rester dans des conditions raisonnables.

Pour rappel, la page officielle du Pololu A4988 fournit toutes les informations pour régler les pilotes, ainsi qu’une vidéo. Ce qui nous donne Vref = 8 x 1.4 x 0.068 = 0.7616 V = 762 mV.

Il faudra donc régler (à l’aide du petit potentiomètre très fragile) la tension de référence à 762 mV environ.

Avec tout ça, on devrait être bon pour piloter les moteurs pas-à-pas.

Se pose ensuite la question du pilotage du moteur de la broche de la fraiseuse (spindle). Pour ce point, très peu de ressources sont disponibles sur internet. Le shield Protoneer dispose d’un pin « Spindle Enable » qui envoie un signal PWM pour piloter le spindle. Il s’agit d’un signal logique, à faible puissance, il est donc incapable de faire bouger le moteur tel quel.

Certains commentaires sur les forums suggèrent d’utiliser un relais. Je me suis inspiré de la carte vendue avec la CNC : j’ai utilisé un transistor NPN, un BU406. Il faut connecter le pin « Spindle Enable » à la base du transistor, on pourra ainsi alimenter le moteur avec l’alimentation de 12V/10A. L’utilisation d’un moteur avec un Arduino et un transistor NPN est décrite ici, ça donne une idée.

Dans mon cas, j’ai fait une carte supplémentaire qui contiendra ce transistor et l’ensemble de la connectique nécessaire : entrée 12V, sortie 12V pour shield Protoneer, entrée signal PWM pour le spindle, alimentation du spindle et enfin, l’alimentation du ventilateur.

J’ai pu procéder aux premiers tests, sans rien monter sur le châssis :

Après quelques frayeurs à cause de la diode de protection au niveau du moteur (montée à l’envers), tout semble fonctionner correctement.

La dernière étape a consisté à monter les nouveaux moteurs sur le châssis et réorganiser un peu l’électronique, pour que ça fasse plus propre !

Après un dernier passage dans la configurations du GRBL chargée sur l’Arduino (pour passer la vitesse du spindle à 10000 par exemple, cf.  fin d’article), tout est parfaitement opérationnel et mes soucis semblent envolés : je viens de lancer un usinage de presque 5 heures sans problème, alors qu’avec l’électronique et les moteurs fournis, après quelques minutes, la CNC devenait inutilisable. L’effort en valait la peine, voici une petite pancarte pour les plantes du jardin 🙂

Enfin, voici une copie de ma configuration actuelle :

Grbl 1.1f [‘$’ for help]
$0=10
$1=255
$2=0
$3=3
$4=0
$5=0
$6=0
$10=3
$11=0.010
$12=0.002
$13=0
$20=0
$21=0
$22=0
$23=0
$24=25.000
$25=500.000
$26=250
$27=1.000
$30=10000
$31=0
$32=0
$100=400.000
$101=400.000
$102=400.000
$110=1500.000
$111=1500.000
$112=1500.000
$120=1000.000
$121=1000.000
$122=1000.000
$130=200.000
$131=200.000
$132=200.000

9 thoughts on “CNC : remplacement de l’électronique de contrôle (Protoneer 3.51) et améliorations

  1. Bonjour,

    J’ai acheté il y a peu la même machine, et après un début prometteur, je suis tombé sur les mêmes problèmes de broutage et perte de X. Après une semaine d’essais en pure perte, j’étais prêt à garer l’engin au grenier quand je suis tombé providentiellement sur ton fil. Mêmes conclusions : mécaniquement, la base est saine, il « suffit » de remplacer les moteurs pas à pas et leur électronique. J’ai donc lu et relu religieusement ta procédure, mais je bute sur l’Arduino : ce monde m’est complètement étranger et je n’ai pas la moindre idée de ce qu’il faudrait commander, ni comment le cabler, ni comment y flasher un programme (et lequel) : pourrais-tu apporter quelques éclaircissements , et si possible inclure quelques liens utiles ? (en googlant ce type de question, on est noyé par des milliers de réponses, mais où est la bonne ?).

    Merci d’avance

    1. Bonjour Dominique,

      Désolé que tu aies rencontré les mêmes soucis que moi. Ca fait un moment que je n’ai pas eu le temps de me remettre sur ma CNC, mais je vais essayer de répondre à tes questions.

      Sur cette image :
      http://labo.sitagg.com/wp-content/uploads/2017/08/cnc_boost_01.jpg
      Tu peux voir : le shield Protoneer avec ses 3 pilotes de moteurs pas à pas. Jusque là, ça ressemble à la carte de contrôle vendue avec la machine. Par contre, cette carte d’origine comportait également un emplacement pour un Arduino Nano. La Protoneer n’est pas adaptée pour accueillir un Arduino Nano, par contre, c’est fait pour un Arduino classique. Sur la photo, on voit la carte Arduino sous le Shield Protoneer. Il n’y a pas de câblage : le shield s’enfiche directement sur les connecteurs du Arduino.

      Côté logiciel, il faut l’IDE Arduino : https://www.arduino.cc/en/Main/Software
      Il embarque les drivers nécessaires pour que l’ordinateur reconnaisse la carte. La connexion se fait via un câble USB Type-A vers Type-B (les câbles USB d’imprimantes sont souvent de ce type).

      Ensuite il faut récupérer la librairie GRBL pour Arduino. Il faut récupérer une version compatible avec ton shield Protoneer. Les nouvelles versions sont ici :
      https://github.com/gnea/grbl/releases
      Les anciennes versions là : https://github.com/grbl/grbl

      Il faut ouvrir les sources téléchargées avec Arduino IDE, connecter la carte Arduino au PC et la flasher (via le menu Croquis/Téléverser, après avoir indiqué le port et le modèle de carte Arduino dans le menu Outils).

      Mon billet contient le reste des infos nécessaires je pense.

      En espérant que ça t’aidera, bon courage !

      1. Grand merci pour ces réponses (désolé du retard pris à te répondre). J’ai commandé ces pièces et pris quelques leçons d’Arduino : touchons du bois, je te tiendrai au courant.

        Tu ne parles pas de remplacer le moteur de la fraiseuse (spindle) : sur ma machine, l’axe n’est pas bien guidé, et « bouge » : il s’agit de ~1mm à la pointe, je ne sais pas si cela a de l’importance. J’ai l’intention d’ajouter une « tête » ER11, pour pouvoir utiliser d’autres fraises que celles en 1/8″. J’ai cherché un remplacement avec roulement à bille, et ce n’est pas facile : tout ce que j’ai trouvé (https://www.aliexpress.com/item/New-555-DC-Motor-12-24V-large-torque-Drill-Ball-Bearing-Screwdriver-Tool-Motor/32813114894.html) est un moteur pour perceuse, 2000T/min sous 12V (5400 sous 24V) : la construction est visiblement plus solide, mais je ne sais pas si la vitesse est suffisante ? Je pourrais éventuellement l’alimenter en 24V, à condition d’ajouter une alim dédiée (pas de problème puisqu’on passe par un relais/transistor de toutes façons).

        Qu’en penses-tu ?

        1. Salut Dominique,

          Je n’ai pas de jeu au niveau de l’axe du moteur. J’aurais tendance à dire que ça a vraiment de l’importance, c’est une machine qui repose sur la précision. Est-ce que le moteur est parfaitement calé dans son support ? Le système de fixation sur l’axe (la sorte de double manchon) est-il bien serré autour de l’axe ? Si ça vient du moteur lui-même, ce n’est pas très rassurant :/

          Je ne saurais dire quelle est vraiment la vitesse de mon moteur, mais j’ai bien la même référence que toi « DC Motor 555 », on le retrouve souvent dans les kits de CNC low cost. Je ne sais pas s’il y a des variations entre différents modèles de 555. En tout cas, sur mon moteur, j’ai un petit circuit au dessus (protection pour éviter les retours de courant ?) et un connecteur jack. Chez Banggood, je suis tombé sur ce modèle qui me parait assez ressemblant (à part la couleur) :
          https://www.banggood.com/EleksMaker-555-Spindle-Motor-Replacement-Parts-for-EleksMill-CNC-Engraving-Machine-p-1200832.html?rmmds=search&cur_warehouse=CN

          Ou sans le circuit :
          https://www.banggood.com/DC-12V-24V-555-Motor-For-DIY-Electric-Hand-Drill-With-JT0-Chuck-p-1117553.html?rmmds=search&cur_warehouse=CN

          Ca doit-être la seule chose que je n’ai pas changé sur ma CNC, donc je ne peux rien garantir, là c’est toi qui me diras 😉

  2. Bonjour,
    merci pour toutes tes explications
    je suis du coup en train de changer également l’électronique de ma CNC 3018 et ton article m’a super bien aidé
    le seul point obscur est le montage du transistor NPN BU406 pour piloter la broche, n’étant pas grand conaisseur en électronique j’ai du mal à trouver où le raccorder…
    pourrais tu le détailler stp?

    merci!
    Vincent

    1. Salut Vincent,

      Ca doit bien faire un an que m’a CNC roupille, je n’ai plus les idées très fraîches. Mais j’ai suivi exactement le circuit décrit sur la 2ème image de ce lien :
      https://learn.adafruit.com/adafruit-arduino-lesson-13-dc-motors/transistors
      Sur le shield, il y a une sortie qui permet de piloter le moteur de la fraiseuse. Il s’agit uniquement d’un signal, le courant est bien trop faible pour alimenter la fraiseuse. Il faut donc recourir à un transistor (+ une diode) comme indiqué sur le lien précédent. Celui dont j’ai indiqué les références est capables de commuter le courant nécessaire au moteur de ma fraiseuse.

      1. Salut et merci beaucoup de ta réponse, ça va beaucoup m’aider
        du coup sur le schema su lien donné ils disent de brancher l’arduino sur un connecteur D3, dans mon cas je fais le montage en branchant sur le connecteur spindle pwm de la cnc shield?
        dommage de délaisser ta CNC, vu les dernières images elle tournait super bien 😉

        1. Salut,

          Yep, c’est exactement ça !

          Depuis quelques temps je me suis mis à la construction (et au pilotage) de drones FPV, du coup pas vraiment besoin de la CNC pour ça. Mais je m’en resservirai, pas de souci 🙂

Répondre à LordGG Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *