Probleme avec cnc coreXY

Bonjour,
Je me suis fabriqué un CNC sur le principe COREXY avec:
Arduino Uno
CNC Shield v.3
Drivers DRV8825
Nema 17

Voici mon probleme, voulant relancer un programme, je me retrouve avec un de mes moteur XY qui ne tourne plus.
J'inverse mon cablage, l'autre moteur ne tourne plus. donc les moteurs fonctionnent
J'inverse mes drivers , le moteur qui tournait tourne encore. donc les drivers fonctionnent
Je téléverse le GRBL classique (sans CoreXY), mes deux axes répondent bien.
Je reviens sur mon GRBL coreXY (bien configuré car fonctionnait jusqu'à maintenant) et le pb réapparait.

Par déduction Arduino ou CNC shield n'arrive plus à commander 2 moteurs simultanément.

Quelqu'un sait-il d'où peut venir le problème, donc la solution ?

Cordialement,
Rémi

bonjour,
lien du code?
peut être CELUI LA

#define COREXY est bien décommenté dans le config.h

Bonjour,
Mon code était bon il a marché jusque là, mais dans le doute j'ai éssayé avec celui du lien, mais rien de mieux.
Je pense qu'il y a une des carte UNO ou CNC shield qui bug.
Je ne sais pas comment les contrôler, le code GRBL standard marche bien, mes deux moteurs tournent chacun à leur tour.

merci

si avec grbl ca fonctionne, c'est corexy qui est buggé ou mal configuré.

Bonsoir,
Le problème a évolué, c-a-d que lorsque je lance un programme via grbl controller, universal gcode sender ... tout se passe très bien les moteurs sont bien en coreXY, mais dès que j'envoie une commande de déplacement sur un axe en manuel, il n'y a plus qu'un moteur qui répond (donc un déplacement en diagonal) !!!!!!!!
Je n'y comprend plus rien.

Le problème a encore évolué, lorsque je fais un déplacement manuel sur X ou Y, il n'y a qu'un seul moteur qui tourne (donc déplacement en diagonal), et lorsque je lance un programme les deux moteurs bossent mais ils me tournent la réalisation de 45°, alors que ma visualisation sur Grbl controller est bonne.

Le problème ne semble pas venir de la conf de grbl (changé de conf), c'est peut-être un pb matériel ?, je me casse les dents depuis plusieurs jours.

Merci pour votre aide !!!!!!!!

Désolé pour l'ouverture de l'autre post, mais je suis novice en forum, je vais essayer de le fermé.

Le problème a encore évolué, lorsque je fais un déplacement manuel sur X ou Y, il n'y a qu'un seul moteur qui tourne (donc déplacement en diagonal),

si un seul moteur tourne, tu ne peux avoir un déplacement en diagonale, c'est soir sur X en latéral soir Y en profondeur.
Si ca part en diagonale, deux moteurs tournent.

avec quoi fait tu ton gcode?

si tu entre ceci, ca fait quoi?
G0 X0 Y0

G1 X50 F240
G1 Y50 F240

Bonjour,

Je suis en coreXY, donc pour avoir un déplacement linéaire sur X ou Y les deux moteurs doivent tourner,
le code utilisé est le même que celui-ci :

grbl-coreXY-servo

avec ces deux lignes activeés :

#define HOMING_CYCLE_0 ((1<<X_AXIS)|(1<<Y_AXIS))
#define COREXY // Default disabled. Uncomment to enable.

Cordialement

Je viens de recevoir des nouvelles cartes et drivers;
J'ai changé la CNC shield et rien de mieux, ensuite j'ai changé les drivers et toujours rien de mieux, il me reste à essayer avec la nouvelle UNO, je fais les soudures et reviens donner des nouvelles.

Bon je viens de changer ma carte arduino et toujours rien de mieux.

En tout cas ça éclaire sur la source du problème, en tout cas ça exclut un défaut matériel, il ne reste plus que le code, qui à toujours très bien marché jusqu'ici.

Merci pour votre aide

ca ne répond pas à ma question
si tu demande un déplacement sur X seulement, Y ne doit pas bouger et vice versa.
donc réponds aux questions posées

avec quoi fais tu ton gcode?

si tu entre ceci, ca fait quoi?
G0 X0 Y0

G1 X50 F240
G1 Y50 F240

OK, lorsque je fais :
G0 X0 Y0 il ne se passe rien évidemment
G1 X50 F240 mon axe Z se déplace dans une diagonale un seul moteur tourne
G1 Y50 F240 mon axe Z se déplace dans l'autre diagonale diagonal l'autre moteur tourne

Je suis en coreXY, donc pour avoir un déplacement linéaire sur X ou Y les deux moteurs doivent tourner,

Je fais mon g-code avec HeeksCNC, pour l'instant je n'ai pas reçu ma broche je fais donc des essais au stylo Bic donc en 2D avec inskscape pour vectoriser et HeeksCNC pour faire le Gcode, par la suite je passerai surement à Cambam.

Le problème ne doit pas venir du gcode car j'utilise les mêmes fichiers qui fonctionnaient bien avant mon pb.

Rems:
OK, lorsque je fais :
G0 X0 Y0 il ne se passe rien évidemment
G1 X50 F240 mon axe Z se déplace dans une diagonale un seul moteur tourne
G1 Y50 F240 mon axe Z se déplace dans l'autre diagonale diagonal l'autre moteur tourne

ton Z se déplace en diagonale?
si c'est une CNC à plat tu n'as que X et Y.
Z est le verticale.

si ca va en diagonale, tu as obligatoirement 2 moteurs qui tournent

exemple d'une cnc

X en latérale
Y en profondeur
Z en hauteur

Tu n'aurais pas configuré un 4eme axe A ou B et greffé ca sur X ou Y, ce qui expliquerait la chose, mais dans n'importe quel cas, tu auras deux moteurs qui tournent pour faire une diagonale.
c'est mathématique.
pour le comprendre, prends une feuille de papier dans sa longueur
une régle et un crayon
si tu mets ta régle sur le bord en bas de la feuille, ton crayon au milieu
tu vas vers le haut de la feuille, tu va faire une droite, donc c'est le Y
tu mets ta régle à droite le long de la longueur de la feuille en allant vers la gauche et crayon au milieu
autre droite horizontale, c'est le X

Si tu veux faire une digonale
tu dois obligatoirement bouger le crayon le long de la régle, donc bosser sur les deux axes.

place tes axes n'importe où sur ton plan
fais un
G0 X0 Y0
les deux axes vont tourner pour rejoindre le point zéro
si tu fais ca, il se trouve ou ce point?
en bas à gauche
en bas à droite
en haut à gauche
en haut à droite

Avant d'aller plus loin Je connais mes repères 3D (J'ai une formation de dessinateur industriel)
Voici une petite vidéo qui montre bien les mouvements synchronisés des deux moteurs , il n'y a pas un moteur X et un Y mais deux pour XY

carré déssiné sur principe core XY

Voici également le Grbl que j'envoie à mon UNO :

grbl-coreXY-servo

Bonjour,
peux-tu nous dire les raisons de ton choix, avantages / inconvénients d'une telle cinématique ?

Et une toute belle realisation sur ce principe a voir ici :

http://www.well-engineered.net/index.php/en/

Jacques

ok
je comprends mieux maintenant.
regardes cette vidéo et reproduis les gestes sur la tienne.

fais une photo de ton montage
et mets un gcode qui provoque une orientation de 45 degrés

Bonjour,

Pour répondre à trimarco232, j'ai choisi ce principe pour pouvoir évoluer vers une imprimante 3D à moindre frais, j'ai déjà mon système d'axe XY, il me suffira de rallonger les pieds et faire mon système d'axe Z avec plateau si besoin.

C'est aussi un projet qui me permet de concevoir en 3D (toutes les pièces des axes XY sont sur la base de cette imprimante 3D D-Bot Core-XY 3D Printer, qu'il a fallut modifier car mes profilés ne sont pas les mêmes que ceux de l'imprimante) et l'axe Z a été conçu de toute pièce.

Ce projet me permet aussi de faire tourner mon imprimante 3D et de dompter le PETG (assez galère à imprimer.

Infobarquee, je me suis peut-être mal exprimé du départ, mais comme je l'ai dit avant je suis novice en forum, je vais faire un effort d'explication et mieux documenter mes propos, désolé pour le temps passé/perdu.

Donc pour répondre à ta question, lorsque je tourne mes moteurs simultanément à la main, j'obtiens : dans le même sens de rotation déplacement sur X et dans le sens opposé déplacement sur Y. ma cinématique est bonne.

Voici une photo de ma machine :

Voici un des gcode (je ne mets que les deux premières esquisses en enlevant le milieu, sinon très très long et j'explose le nombre max de caractères) :

G00 Z3
(Esquisse 1)
G00 X74.87 Y39.732 S7000 M03
Z3
G01 Z0 F200
G02 X78.42 Y37.319 I-6.218 J-12.964 F600
G01 X79.726 Y36.11
X81.819 Y36.11
G02 X82.74 Y36.091 I0 J-22.011
X83.659 Y36.038 I-1.186 J-28.348
X84.405 Y35.973 I-2.333 J-31.343
X85.144 Y35.863 I-0.732 J-7.439
G03 X85.742 Y35.743 I92.93 J462.735
X86.34 Y35.74 I0.307 J1.542
X86.863 Y35.953 I-0.261 J1.39
X87.341 Y36.275 I-24.549 J36.854
G02 X89.199 Y37.36 I8.443 J-12.324
X91.198 Y38.151 I5.927 J-12.07
X93.327 Y38.619 I3.989 J-13.063
X95.503 Y38.768 I2.175 J-15.818
X99.079 Y38.332 I0 J-14.875
X102.429 Y37.016 I-3.303 J-13.337
X105.147 Y35.041 I-6.626 J-11.973
X107.302 Y32.464 I-9.361 J-10.016
X108.762 Y29.446 I-11.488 J-7.421
X109.44 Y26.163 I-12.823 J-4.36
X109.251 Y22.585 I-13.518 J-1.079
X108.164 Y19.167 I-14.421 J2.702
G01 X107.554 Y17.838
X108.282 Y16.764
G02 X108.687 Y16.129 I-11.651 J-7.889

.................

G02 X55.106 Y31.571 I13.904 J-0.981
X56.756 Y34.838 I12.956 J-4.493
X59.263 Y37.612 I11.605 J-7.965
X62.391 Y39.669 I10.01 J-11.815
X70.766 Y40.99 I6.292 J-12.686
X74.87 Y39.732 I-2.113 J-14.222
G00 Z3
G90
(Esquisse 2)
X54.346 Y15.063 S7000 M03
G01 Z0 F200
G02 X53.938 Y14.144 I-15.747 J6.456 F600
X52.919 Y12.416 I-10.747 J5.167
G01 X52.373 Y11.644
X53.174 Y10.72
X53.975 Y9.796
X54.436 Y11.713
G02 X54.644 Y12.522 I27.896 J-6.716

Ce gcode n'a pas été modifié depuis que tout merde.

Merci

ok, merci
bon, je parasite un peu la discussion : en fait on ne s'attendait pas à voir une cnc sous ce principe. Avec une telle longueur de courroie, je crains qu'avec l'élasticité on perd en précision dès que la fraise appuie un peu. Tu risques de ne pouvoir t'en servir qu'avec les matériaux les plus tendres