Découpeuse laser Electronique

Shield GRBL ESP32 – Nouvelle électronique pour la K40

Written by Avataar120

Comme nous l’avons vu dans l’article de présentation de la K40, l’électronique de cette dernière laisse vraiment à désirer.

Elle est constituée de deux cartes :

  • Une carte principale située sur le carter de la machine, une MOSHI Nano M2 qui gère les moteurs pas à pas, le déclenchement du laser et les butées de fin de course. Cette carte est pilotée par le PC via un logiciel type K40 Whisperer ou Meerk40t.
  • Une carte secondaire, située sur le capot droit de la machine et qui gère exclusivement la puissance du laser son inhibition mais aussi un déclenchement manuel pour test ou alignement des miroirs. Cette carte n’est pas pilotable

Nous avons donc deux limitations principales liées à cette électronique : la première c’est que la puissance de calcul de la carte principale ne permet pas l’interprétation de données de type GCODE et proscrit donc l’utilisation de logiciels plus évolués et plus puissants type Lightburn et la deuxième c’est que la puissance du laser doit être réglée à la main. Certes, Meerk40t essaye de contourner cette limitation en proposant une modulation du laser en PPM (Pulse per minute) mais ça n’a rien à voir avec une vraie modulation de la puissance du laser.

La suite de cet article vous permettra de régler ces deux problèmes d’un seul coup en installant un shield GRBL ESP32 sur votre machine.

Mon besoin

Je voulais pouvoir utiliser le logiciel lightburn car spécialisé dans la découpe laser et disposant de très nombreuses fonctionnalités très pratique ainsi que pouvoir gérer les 3 axes de ma machine puisque j’ai ajouté un lit motorisé pour régler le focus du laser

Pour cela, j’aurais pu m’orienter vers des contrôleurs type Ruida mais c’est beaucoup trop cher (~300€) pour mon utilisation. Une autre solution aurait été la carte MiniGerbil (~100€) mais qui reste chère sans permettre la gestion du lit motorisé (axe Z).

On m’a orienté vers une solution GRBL sur Arduino Uno + CNC Shield V3.0 …
Cette solution fonctionne. Toutefois, l’arduino Uno n’est pas assez puissant pour gérer les accélérations nécessaires à une machine laser, ni pour générer la bonne fréquence de PWM pour la gestion de puissance du laser, et donne de mauvais résultats en gravure d’image (à cause des limitations citées précédemment).
Par ailleurs, cette solution nécessite beaucoup de câblage, et peu même nécessiter de modifier la petite carte électronique en bout de l’axe X.

Comme l’arduino Uno ne faisait pas 100% l’affaire, j’ai décidé de basculer sur une solution GRBL à base d’ESP 32 qui est beaucoup plus puissant que l’Arduino Uno ! En revanche, pas de shield 100% compatible de la K40. Pour info, le shield qui est proposé sur le Github n’est que rarement disponible à la vente et pose deux problèmes pour l’utilisation avec une K40 :

  • Pas de connecteur pour le câble nappe de la K40 -> même problème de connectique qu’avec l’arduino Uno et son Shield CNC V3.0
  • Le signal LASER_ENABLE sert aussi à activer le composant d’adaptation du niveau 3.3V->5V du signal PWM. Ce shield fonctionne donc bien avec les lasers fonctionnant en logique positive (activation du laser sur signal 5V). Mais la K40 fonctionne avec un signal 0V pour activer le laser.

J’ai donc décidé de créer mon Shield Laser pour ESP32 et 100% compatible de la K40

Shield GRBL ESP32 sur K40

Shield GRBL ESP32 compatible K40

Fonctionnalités et avantages du shield GRBL ESP32:

  • Compatible GRBL pour ESP32
  • Compatible Lightburn
  • Pilotage de la puissance du laser par le logiciel de pilotage (Lightburn par ex)
  • 3 axes en simultané (X, Y et Z) avec butées de fin de course
  • Connectique 100% compatible K40 – Remplacement des cartes d’origine extrêmement simple
  • Filtres antibruits intégrés pour les butées de fin de course et diverses entrées
  • 2 relais à contact sec pour gestion de l’air assist et une autre fonction au choix
  • Compatible des deux types d’activation du laser : Actif sur 0V ou sur 5V (paramétrage de GRBL seulement)

Assemblage du shield GRBL ESP32:

Suivant l’option que vous avez retenue, votre shield sera plus ou moins complet lors de la livraison.

Si vous assemblez vous même votre shield GRBL ESP32, merci de suivre à la lettre les instructions suivantes.
On commence par monter les composants les plus petits et les plus fins pour faciliter les étapes de soudure

  • Souder le composant de surface (seulement si vous avez opté pour le PCB nu), sinon il arrive pré-soudé
  • Souder les résistances :
    • R1 à R12 : valeur 100ohms
    • R15 et R16 : valeur 220ohms
    • R14 : valeur 10k ohms
  • Souder les diodes :
    • D1 et D2 en prenant garde à la polarité. Voir photo ci-dessous, le trait blanc doit être orienté vers le bas
  • Souder les condensateurs :
    • C1 à C10 : valeur 100nF – pas de polarité
    • C11 à C13 : valeur 47uF – 63V – Attention à la polarité !! un + est indiqué sur le PCB, sinon la bande blanche du côté négatif du condensateur doit être dirigée vers le haut du PCB si on se réfère à la photo du PCB ci-dessous
      Attention : Un condensateur chimique monté à l’envers explose …
  • Souder les transistors :
    • Q1 et Q2 : 2N2222 – Attention au sens de montage, respecter l’orientation de la patte de détrompage visible sur le PCB (dirigée vers le bas si on se réfère à la photo du PCB ci-dessous)
  • Souder le connecteur FFC (câble nappe) – Attention au sens de montage !!!
    La face de la photo ci-dessous doit être orientée vers le bas si on se réfère à la photo du PCB ci-dessous.
  • Souder les headers mâles :
    • Les headers des jumpers des 3 drivers de moteurs pas à pas (2×3)
    • Les headers des alimentations 5V et 3.3V (2×6)
    • Les headers des 3 moteurs pas à pas (1×4)
    • Les headers des entrées (1×8)
    • Les headers du contrôle laser (1×4)
    • Les headers des fins de course et probe (1×8)
  • Souder les headers femelles :
    • Les 6 headers (1×8) pour accueillir les drivers de moteur pas à pas.
      Insérer un header sur chaque coté d’un driver de moteur pas à pas, insérer le tout dans le PCB, puis souder
      Ca vous permettra de bien orienter les headers et de les souder bien droits
    • Les deux headers (2×20) pour accueillir l’ESP32
      Insérer un header sur chaque coté de l’ESP32, insérer le tout dans le PCB, puis souder
      Ca vous permettra de bien orienter les headers et de les souder bien droits
  • Souder les borniers :
    • Enclipser les deux borniers ensemble si as déjà fait
    • Les souder aux emplacements Air Assist et Coolant
  • Souder les relais :
    • K1 et K2
  • Insérer les drivers de relais :
    • Si vous avez choisi des drivers DRV8825, la vis de réglage doit être orientée vers l’ESP32 (comme sur ma photo)
    • Si vous avez choisi des drivers A4988, la vis de réglage doit être orientée vers l’extérieur de la carte (sens inverse de la photo)
    • Attention !! Un mauvais montage et vous cramerez votre driver ET votre ESP32 (ce n’est pas dû au shield en lui même mais au pinout des drivers)
  • Insérer l’ESP32 :
    • Attention !!
      L’ESP 32 se met comme sur la photo. Le port USB doit être situé vers le connecteur d’alimentation (voir cercle bleu)
    • Attention !!
      Il doit rester une rangée de libre sur le header femelle côté connecteur J3 (voir les deux cercles rouges ci-dessous)

Réglage du nombre de micro pas pour faire un pas :

Je vous conseille de régler vos drivers sur 1/4 de pas par impulsion.

Pour un driver DRV8825, il faut mettre le jumper sur M1
Pour un driver A4988, il faut mettre le jumper sur M1
Plus d’infos :

Pololu A4988 Stepper Driver configuration:
MS0       MS1       MS2       Microstep Resolution
Low        Low       Low       Full step
High       Low       Low       Half step
Low        High      Low       Quarter step
High      High       Low       Eighth step
High       High      High      Sixteenth step

Pololu DRV8825 Stepper Driver configuration:
MODE0     MODE1     MODE2     Microstep Resolution
Low            Low           Low           Full step
High           Low           Low           Half step
Low            High          Low           1/4 step
High           High          Low           1/8 step
Low            Low            High         1/16 step
High           Low            High         1/32 step
Low            High           High         1/32 step
High           High           High         1/32 step

Installation du shield GRBL ESP32 sur la K40 :

Le montage est extrêmement simple.

Débrancher

  • Sur les deux connecteurs de droite de l’alimentation :
    les connexions sur les broches L, G, IN, 5V, 24V, G, 5V et L (donc les 8 slots les plus à droite) sur l’alimentation. Sur le 24V, garder les connexions qui vont à l’extracteur de fumée et à l’éclairage. Il faut juste retirer le 24V qui va sur la carte électronique.
  • Le câble ruban de la carte électronique (celle du châssis)
  • Le câble du moteur pas à pas de l’axe Y de la carte électronique (celle du châssis)
  • Ne pas toucher au connecteur de l’alimentation le plus à gauche (L-, FG, AC, AC)

Connecter :

EtapeShield LaserCôté K40
1Connecteur J3
ENA sur Shield Laser
Connecteur central de l’alimentation
L de l’alimentation
2Connecteur J3
GND sur Shield Laser
Connecteur central entre L et IN
G de l’alimentation
3Connecteur J3
PWM sur Shield Laser
Connecteur central de l’alimentation
IN de l’alimentation
5Connecteur Alims
24V sur Shield Laser
Connecteur de droite de l’alimentation
24V de l’alimentation
6Connecteur Alims
Deux fils sur les des 2 PINs GND
Un fil sur le connecteur de droite
G sur l’alimentation

L’autre sur la masse de votre alim 5V indépendante
7Connecteur Alims
5V sur Shield Laser
Ne pas le connecter si vous prévoyez de brancher votre shield à un ordinateur 100% du temps (alimentation
ESP32 via USB)

Sinon à connecter sur le +5V de votre alim 5V indépendante

8Connecteur ruban X_Axis
Mettre les contacts métalliques du câble ruban
vers l’extérieur de la carte
Câble ruban
9JP_X
Le moteur pas à pas de l’axe X est alimenté via le câble ruban
10JP_Y
Le sens importe peu, sera modifiable par logiciel
Toutefois, le mieux est de mettre le fil rouge vers le connecteur JP_Z ce qui rendra plug & play le shield si vous avez opté pour l’option F lors de votre achat
Câble moteur pas à pas de l’axe Y

A ce stade, toutes les connexions nécessaires sont déjà réalisées.

Il est normal que rien ne soit branché sur :

  • Le connecteur central de l’alimentation sur la broche la plus à droite notée 5V
  • Le connecteur de droite de l’alimentation sur la broche la plus à droite notée L
  • Les broches du connecteur J2 du shield (GND, Hold, GND, Start, GND, GRBL Reset, GND, Door) : ces connexions sont optionnelles
    • Mettre HOLD à la masse permet de mettre en pause le travail de votre découpeuse (laser off bien sûr)
    • Mettre START à la masse permet de reprendre le travail suite à HOLD
    • Mettre RESET à la masse permet de redémarrer GRBL
    • Mettre DOOR à la masse met le travail en pause ET stoppe le air assist. On peut reprendre le travail avec START (le programme redémarre avec une courte pause permettant à l’air assist de redémarrer)
  • La broche PWM 3V du connecteur J3 du shield
  • Les broches du connecteur J1 du shield (GND, Probe, GND, Z Lim, GND, Y Lim, GND, X Lim)
    • Probe permet de mettre une sonde pour déterminer automatiquement l’épaisseur du matériau
    • Z Lim permet de brancher le switch de fin de course de votre lit motorisé
    • Y Lim ne sert à rien sur une K40 (car pris en charge par le cable nappe)
    • X Lim ne sert à rien sur une K40 (car pris en charge par le cable nappe)
  • Les broches du connecteur JP1du shield (5V, 5V, 5V, 3.3V, 3.3V, 3.3V) : ces connexions peuvent vous servir pour alimenter de petits consommateurs en 5V ou 3.3V

Vous pouvez brancher de façon optionnelle le moteur pas à pas de l’axe Z ainsi que la fin de course de l’axe Z (entre GND et Z Lim) sur le connecteur J1 ou encore sur les autres broches du shield.

Installation mécanique dans la K40 :

J’ai intégré le shield sur la gauche de la partie électronique de la K40 pour utiliser les perçages. Ci joint le STL de mon support :

La flèche indique le sens de montage dans le chassis (flèche à diriger vers le bas).
Le PCB quant à lui doit être monté avec le port USB dirigé vers le bas

La fixation entourée en rouge n’est pas ou peu accessible une fois dans la partie électronique de la K40. Pour ma part, je ne mets pas de vis. Il doit être possible de mettre le PCB avec seulement cette vis, installer le support de PCB dans la K40 en mettant les 3 vis pour fixer le support de PCB sur le chassis de la K40 (le PCB peut encore tourner autour de l’axe en rouge) puis fixer le PCB sur son support

Première mise sous tension avec le shield GRBL ESP32:

Ce n’est pas encore le moment de mettre votre machine sous tension.

Il faut d’abord installer GRBL pour ESP32 : voir article sur le sujet.

Et surtout lire l’article sur la première mise en route de votre K40 équipée du Shield Laser car il faut prendre un certain nombres de précautions pour éviter de crasher les axes.

Réglage des drivers de moteur pas à pas :

Vous trouverez sur le net plusieurs tutos pour régler l’intensité max des drivers de moteur pas à pas.

Pour ma part,

  • Je les règle au minimum (Tourner le potentiomètre de réglage dans le sens des aiguilles d’une montre pour les DRV8825)
  • Je déclenche un mouvement long et lent sur un des axes
  • Je règle le potentiomètre (sens contraire des aiguilles d’une montre) pour que l’axe se déplace correctement (pas de bruit, pas de saccade)
  • Je cherche le réglage minimum pour éviter de faire chauffer les drivers ou même les moteurs pas à pas

Acheter un shield GRBL ESP32 pour votre K40

Je vends ici le shield laser pour K40 avec plusieurs options :

  • PCB seul
  • PCB seul avec composant de surface pré-soudé
  • PCB avec composants électroniques et connecteurs à souder (sans ESP32, sans drivers de moteur pas à pas) – composant de surface pré-soudé
  • PCB avec composants électroniques et connecteur à souder + ESP32 (sans drivers de moteur pas à pas) – composant de surface pré-soudé
  • Lot complet (PCB, composants et connecteurs à souder, ESP32 et 3 drivers de moteur pas à pas) – composant de surface pré-soudé
  • PCB assemblé, logiciel installé, testé

About the author

Avataar120

Leave a Comment

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.