CNC shield vs MKS DLC32

  • Auteur de la discussion esloch
  • Date de début
E

esloch

Compagnon
Bonjour,

Je suis en train de concevoir une CNC laser et j'aimerais avoir votre avis sur la carte de contrôle de cette CNC.

J'envisage également d'utiliser la CNC comme un plotter. J'ai déjà fabriqué un plotter qui me donne satisfaction à 80%, mais j'aimerais améliorer ce niveau avec cette nouvelle CNC.

Actuellement, j'utilise une CNC shield comme composant électronique avec mon ancien plotter. Je pensais utiliser la même carte avec cette nouvelle CNC. Cependant, j'ai remarqué que dans certains cas, il y a une perte de communication entre le PC et la carte. Je ne suis pas sûr de la cause exacte du problème, peut-être au niveau de mon PC, je ne sais pas.

Sur internet, j'ai découvert une autre interface appelée MKS DLC32 qui est utilisée pour remplacer une CNC shield. Est-ce que cette interface est meilleure, plus stable, avec moins de pertes de communication? Est-ce qu'elle justifie vraiment son prix?

Est-ce que cela implique également que je ne pourrai pas l'utiliser avec les anciens logiciels que j'utilise avec la CNC shield?

Merci.
 
P

pascalp

Compagnon
Il faudrait préciser le problème !
Comparaison MKS DLC32 et cnc shield, quel shield ? Je suis utilisateur de DLC32 mais je ne sais pas avec quoi comparer.
Quels anciens logiciels ? En l'état il est impossible de répondre clairement.
 
P

pascalp

Compagnon
C'est plus clair pour moi.

J'ai utilisé le même shield arduino uno aussi bien sur une carte uno que sur une espduino , le brochage est compatible. Cà ne change pas les performances du "shield", mais il y a un gouffre entre les possibilités et les performances d'un Uno et d'un esp32.
C'est aussi un esp32 qui est le coeur de la MKS DLC32.

La MKS DLC32, comme le couple arduino / shield uno ou espduino /shield uno, sont basiquement capable de piloter un laser, une cnc ou un plotter. Ce n'est qu'une question de paramétrage et de branchements. Les possibilités de branchement d'un UNO ou d'un ESP32 sur une carte dédiée sont bien sur différentes.

Ces cartes sont pilotées par GRBL, la version sur ESP32 est plus évoluée mais les basiques sont les mêmes. GRBL d'un côté, grblhal/grbl_esp32/fluidnc de l'autre.
LaserGRBL, UGS, candle, openbuilds, Lightburn et d'autres sont capables de travailler avec.

La DLC32 est prévue laser et cnc. Pour le plotter il faut "bidouiller" une sortie servo.
Avec la mienne, je fais fonctionner un kit openbuild acro system sur lequel j'ai implanté un système de tête amovible qui me permet de passer d'un laser à un porte stylo avec un servo. Cela nécessite de modifier le cablage au niveau de la carte et le paramètrage. Ce n'est pas très compliqué, mais il faudra qu'un jour je finalise le cablage :oops:
 
S

speedjf37

Compagnon
Bonjour,

La dlc32 utilise des sorties (3) rapides I2s.et peut gérer un écran 2.4 ou 3.5"
Comment ça se passe sur espduino ?

Jf
 
E

esloch

Compagnon
La DLC32 est prévue laser et cnc. Pour le plotter il faut "bidouiller" une sortie servo.
bidouillant donc ! .. c'est compliqué ? :ohwell:
il faudra que je trouve "la bidouille" avant de me lancer sur cet achat quand même :whistle:

sinon autre avantage de cette carte si je ne me trompe pas : je peut comme sur une imprimante 3d .. générer mes fichier gcode et les placer sur un support amovible (carte SD ou mieux une clé USB) et lancer mes travaux directement via l'interface de l'ecran .. non ?
 
P

pascalp

Compagnon
J'ai utilisé l'espduino comme un uno performant en puissance de traitement avec une liaison wifi MAIS limité en branchement par le shield prévu pour un UNO, donc pas d'écran.


Sur la DLC32, il est possible avec la carte SD de faire du offline via l'écran et donc de s'abstraire des perturbations transitant par la connexion USB. Les fichiers peuvent même être transférés en wifi. Si on veut se prémunir des perturbations sur l'USB, il faut non seulement ne pas l'utiliser pour le pilotage, mais également qu'il ne soit pas branché.

En ce qui concerne le traceur/graveur avec la carte DLC32, j'opère avec la connexion USB et je n'ai pas vraiment de soucis. Par contre, ayant eu par le passé des soucis en impression 3d (avec d'autres cartes et/ou machines) j'utilise quasiment systématiquement le passage par une carte SD pour toute impression longue.
 
S

speedjf37

Compagnon
sinon autre avantage de cette carte si je ne me trompe pas : je peut comme sur une imprimante 3d .. générer mes fichier gcode et les placer sur un support amovible (carte SD ou mieux une clé USB) et lancer mes travaux directement via l'interface de l'ecran ..

Carte sd pas clé usb
Oui a condition de respecter les extensions reconnues.

.NC .gc .gcode minuscule/majuscule.

Je modifie actuellement le logiciel mks pour gérer des axes rotatifs abc.
Y compris l'affichage sur un 3.5"

J'ai corrigé et amélioré la traduction uk et fr

Jf
 
E

esloch

Compagnon
J'ai fait un tour sur le net à propos des possibilités d'utiliser ce joli DLC32 conçu pour contrôler une CNC Laser avec un plotter. Je ne trouve rien, à priori, c'est pas possible.

Il faut, si je pense, apporter une modification sur le logiciel installé sur la carte, qui proposera avec cette modification une option Laser et une autre Plotter.

À priori !"
 
P

pascalp

Compagnon
De base, ce n'est pas prévu dans la mesure ou il n'y a pas de prise servo existante.
Pour cabler un servo sur la dlc32-v2. Il y a 3 fils, 5v, ground, signal. Le signal est un PWM qui peut simplement être celui sensé gérer le laser en TTL, le ground se récupère sur la même prise, le 5v est disponible sur d'autre prise ( la prise probe dans mon cas).
Il faut modifier quelques paramètres GRBL pour adapter le signal PWM à celui nécessaire pour un servo. Un fichier gcode, pour la mise en place "servo", un autre pour la mise en place "laser".
Je n'ai pas prévu d'avoir les 2 configurations installées en simultanée.
 
E

esloch

Compagnon
De base, ce n'est pas prévu dans la mesure ou il n'y a pas de prise servo existante.
Pour cabler un servo sur la dlc32-v2. Il y a 3 fils, 5v, ground, signal. Le signal est un PWM qui peut simplement être celui sensé gérer le laser en TTL, le ground se récupère sur la même prise, le 5v est disponible sur d'autre prise ( la prise probe dans mon cas).
Il faut modifier quelques paramètres GRBL pour adapter le signal PWM à celui nécessaire pour un servo. Un fichier gcode, pour la mise en place "servo", un autre pour la mise en place "laser".
j'essai d'analyser votre reponse fort intéressante .. c'est encore un peut flou .. mais je pense que finalement réalisable .. :smt023

Je n'ai pas prévu d'avoir les 2 configurations installées en simultanée.
moi aussi .. pas du simultanée .. mais un truc interchengeable ..
et il y a de forte chance que j'utilise plus le plotter que le Laser ..
 
P

pascalp

Compagnon
Si tu est sur une configuration à 2 moteurs, il y a une carte qui conviendrait sans avoir besoin de "bidouiller" le câblage comme moi.
fluidnc-penlaser-controller elle est aussi basée sur de l'esp32 mais il n'y a pas d'écran prévu ni de carte SD.

2-04-28T12%3A23%3A40.739Z-fluidnc_pen_laser_pinout.png
 
E

esloch

Compagnon
INTERESSANT !
il à l'air plus simple .. j'essai déjà de voir les avantages de ce type de carte .. déjà il manque l'ecran .. bon .. le mode hors ligne est à priori possible .. je ne la trouce pas sur aliexpress .. je ne sais pas si l'achat dans mon cas sera possible ..
je ne trouve pas beaucoup de documentation là dessus ..
j'essai de faire le tour ..

Merci pascalp
 
P

pascalp

Compagnon
La mks dlc v2.1, n'est pas une mauvaise carte. Elle est architecturée sur un processeur mega328p, le même que l'arduino UNO. Donc bien moins puissante qu'un ESP32. Globalement équivalente au système avec shield que tu utilises.
L'esp32 permet une meilleure gestion du laser lors des gravures.

La v1 présentée, par ses connexions, est orientée impression 3d.
 
E

esloch

Compagnon

La MKS DSL32 actuellement est la meilleure carte pour controler une CNC DIY .. dommage que elle est vraiment conçu que pour le controle du Laser .. alors que l'ancienne version est plus ployvalente ..


sinon .. trouver sur le net :

I use FluidNC Firmware with the board and attached a servo to the z-axis. G0 Z0 and G0Z-5 are the g-codes for controlling the z-coordinates which control the servo...

sur le site wiki de FluidNC :
Testing the RC Servo In the startup messages you will see the range like Axis Z (-5.000,0.000). Send G53G0Z-5 and G53G0Z0 to test that range
 
Dernière édition:
S

speedjf37

Compagnon
Bonjour,

J'ai ouvert un sujet à base de mks DLC32.


Cordialement JF
 
S

speedjf37

Compagnon
et il y a de forte chance que j'utilise plus le plotter que le Laser ..
A priori c'est natif dans le GRBL:

pen_laser.h
Part of Grbl_ESP32
Pen assignments for the Buildlog.net pen laser controller V1 & V2
For pen mode be sure to uncomment #define USE_PEN_SERVO in config.h
For solenoid mode be sure to uncomment #define USE_PEN_SERVO in config.h
For laser mode, you do not need to change anything
Note: You can use all 3 modes at the same time if you want
2019 - Bart Dring
2020 - Mitch Bradley

#define USING_SERVO // uncomment to use this feature
#ifdef USING_SERVO
#define Z_SERVO_PIN GPIO_NUM_27
#endif

JF
 
P

pascalp

Compagnon
Si tu dois faire une modif dans le config.h, cela suppose un firmware compilé pour chaque utilisation, et donc de le réinjecter à chaque changement.
A ce niveau il vaut mieux passer à l'évolution de grbl_esp32 qui est fluidnc. Le firmware ne change pas, il suffit de changer de fichier de configuration (xxx.yaml) ce qui est plutôt facile et rapide (c'est fait pour).

Mon choix d'utiliser la sortie pwm laser pour piloter le servo à l'inconvénient de demander de changer le branchement sur la carte, mais de toute manière il faut que je change la tête laser ou stylo. le changement de paramétrage ce fait avec 2 fichiers gcode à la place de 4modifs $xx=yy à la main.
Le gros avantage que j'y vois est que c'est quasiment transparent pour le soft de pilotage quand je passe de lightburn à lasergrbl et/ou que je change de type d'utilisation laser/stylo.

Au niveau de la tête, j'ai un support/adaptateur aimanté pour la facilité de changement. Je suis resté avec un z manuel, la motorisation n'étant pas indispensable pour mon utilisation, mais c'est une évolution possible. Le câblage est toujours en chantier :oops:

traceur_laser-stylo_20231204_122800_crop_800.jpg


traceur_laser-stylo_20231204_122856_crop_800.jpg
 
E

esloch

Compagnon
Mon choix d'utiliser la sortie pwm laser pour piloter le servo à l'inconvénient de demander de changer le branchement sur la carte, mais de toute manière il faut que je change la tête laser ou stylo. le changement de paramétrage ce fait avec 2 fichiers gcode à la place de 4modifs $xx=yy à la main.
je suis complétement d'accord avec cette aproche

il est aussi possible de faire une extension claire et simple sur un bout de PCB avec les connexions .. pour ne pas avoir à intervenir directement sur la carte ..

Je réfléchis sur une manière de ne pas changer le fichier de configuration :
Par exemple, j'utilise le fichier de configuration pour le laser. Je travaille sur une modification du Gcode générer pour un plotter, afin qu'il soit compatible avec la configuration laser, tout en faisant fonctionner le servo à la place d'allumer et d'éteindre le laser.

Enfin..
 
P

pascalp

Compagnon
Pour mon utilisation laser/stylo, c'est largement assez solide et même le repositionnement est plutôt bon.
La tête laser pèse dans les 250g. Après plusieurs prototypes, si nécessaire, j'aurais pu mettre plus d'aimants ou des plus puissants (ce sont des 8x3mm). Pour démonter la tête il vaut mieux les décoller par glissement/rotation que par arrachement.
 
P

pascalp

Compagnon
sppedjf37,
J'ai lu ton post, bien compris peut-être pas, fais le lien avec mon approche certainement pas.

Cette possibilité théorique ne m'avait pas échappé (depuis longtemps), mais c'est sa mise en œuvre de la manière qui m’intéresse qui me pose soucis.
 
S

speedjf37

Compagnon
A priori tout est prêt dans GrblEsp32


extrait de RcServo.h
namespace Motors {
class RcServo : public Servo {

extrait de Solenoid.h
namespace Motors {
class Solenoid : public RcServo {


extrait de Motors.cpp
extrait de initmotors()
#elif defined(X_SERVO_PIN)
myMotor[X_AXIS][0] = new Motors::RcServo(X_AXIS, X_SERVO_PIN);

#elif defined(Y_SERVO_PIN)
myMotor[Y_AXIS][0] = new Motors::RcServo(Y_AXIS, Y_SERVO_PIN);

#elif defined(Z_SERVO_PIN)
myMotor[Z_AXIS][0] = new Motors::RcServo(Z_AXIS, Z_SERVO_PIN);

#elif defined(A_SERVO_PIN)
myMotor[A_AXIS][0] = new Motors::RcServo(A_AXIS, A_SERVO_PIN);

#elif defined(B_SERVO_PIN)
myMotor[B_AXIS][0] = new Motors::RcServo(B_AXIS, B_SERVO_PIN);

#elif defined(C_SERVO_PIN)
myMotor[C_AXIS][0] = new Motors::RcServo(C_AXIS, C_SERVO_PIN);
 
P

pascalp

Compagnon
Oui, mais ce que je veux c'est tout faire fonctionner avec une seule sortie, le pwm laser en l’occurrence.
J'utilise principalement Lightburn, et mes 2 configurations sont pilotées comme un laser.

Je suis loin d'avoir tout exploré et je me suis certainement focalisé sur ce qui m'a donné un embryon de résultat.
Je reste ouvert, au cas où j'apercevrais une solution plus simple et efficace.
 
Dernière édition:
E

esloch

Compagnon
j'essai de comprendre ..
pour commander le servo nous avons 3 pins : GND 5V PWM
pour commander le Laser 3 pins aussi : GND 12V PWM

qu'est ce qui empéche d'utiliser les mêmes sortie du Laser pour commander le servo .. un convertisseur 12V/5V peut etre ajouter non ?

:le_kneu:
 

Sujets similaires

A
Réponses
1
Affichages
533
speedjf37
S
S
Réponses
4
Affichages
792
greg_elec
greg_elec
Haut