Distance demandée varie en + ou - selon un paramètre inconnu

Discussion sur et autour de GRBL. Réglages, paramètres, différentes versions, questions, astuces, etc...
Splash
Nouvel Inscrit
Messages : 4
Enregistré le : 08 août 2022, 20:29

Distance demandée varie en + ou - selon un paramètre inconnu

Message non lu par Splash » 08 août 2022, 20:53

Bonjour !

J’ai fabriqué une machine dans ce style-là :

Cette machine sert à tisser des portraits de fils qui reproduisent une photo. Un support en bois avec des clous agencés sur le périmètre permette au fil de s’enrouler autour.

Côté mécanique, la mienne a un réducteur de 10:1 placé sur le moteur, lui-même placé au centre du support rond.
Elle utilise GRBL pour ESP32
Un moteur PàP NEMA 23 avec un driver DM542Y en 6400 Pulse / Rev

J’ai laissé GRBL en mode cartésien et je souhaite avoir un déplacement de 1 clou soit égal à 1mm.
Lorsque j’utilise un support avec 200 Clous, je mets en résolution sur l’axe Y (l’axe choisi pour faire tourner le support) à 320 step/mm (Calcul -> 6400 / 200 *10 = 320).
Avec ce paramètre, aucun souci, une commande G1 Y100 F2000 m’amène bien à la moitié du cercle et une commande G1 Y100 F2000 de plus refait revenir le plateau à son départ.

Or, lorsque je passe à un cercle avec 175 clous, je modifie les steps / mm pour -> 6400 / 175 * 10 = 365.71 mais là je perds ma précision mais pas partout !

Si je demande de faire un tour complet (G1 Y175 F2000), elle le fait sans soucis et retombe sur le clou de départ. Mais si je demande 1/4 par exemple (G1 Y44 F2000) ce dernier va s’arrêter avec un décalage (ne va pas tomber en face d'un clou mais décalé à celui-ci). Pourtant avec 4 fois cette commande, je retombe sur mon point de départ.

Un décalage se forme sur la moitié puis se rattrape sur l’autre moitié du cercle mais uniquement avec ce support (plus précisément ce nombre de clous).

C'est comme si je demandais de faire un mouvement de 44mm (44 clous) et que j'obtenait 43,(des poussières) en réalité. Même chose pour un mouvement de 132mm (132 clous) ou la j'obtiendrait 133,(des poussières).
Un mouvement de 175mm (175 clous) lui me donnera bien 175 (plusieurs fois d'affilés d'ailleurs)

Auriez-vous une explication et comment régler ce souci que je n’ai pas sur un cercle de 200 clous ?

Merci !
Avatar du membre
DranerB
Administrateur
Messages : 3311
Enregistré le : 31 janv. 2019, 11:56
Localisation : Bourbon-Lancy, France
A remercié : 160 fois
A été remercié : 275 fois
Contact :

Re: Distance demandée varie en + ou - selon un paramètre inconnu

Message non lu par DranerB » 09 août 2022, 00:05

Bonjour,

Sujet intérressant, je n'avais aucune idée que ce genre de machine existait.

Je suis peut-être complétement a coté de la plaque, mais je me demande si le problème n'est pas lié au fait que tes déplacements sont calculés en mm, alors qu'il s'agit, en fait, de degrés (ou de radians). D'ailleurs, sans t'en rendre compte, tu l'indique plus ou moins dans ta description: aucun problème pour 360°, mais problème pour 90° (1/4 de cercle) . Logique: 175/4 = 43.75, ni 43, ni 44, donc tu "tombe" entres 2. Par contre, 4 fois la commande = 360°, donc ça marche.

Le truc, c'est que GRBL d'origine n'a pas d'axe rotatif, par contre GRBL 32, si je ne me trompes pas, peut avoir un AXE rotatif A, auquel tu dois pouvoir indiquer des pas par degrés (ou radian, je ne sais pas). Le calcul pour le nombre de pas sera semblable, mais si tu indique un nombre de pas par degré, plutot que par millimètre, il y a de fortes chances que tu ne "tombe" plus entre 2 clous.

Maintenant, je comprends bien que pour le G-Code c'est certainement bien plus facile avec ta façon de faire. la difficulté, c'est qu'un nombre de pas par millimètres avec une décimale ne peut pas te convenir, il faut te limiter a des entiers. ça fonctionne très bien (pas par mm avec décimales) pour une utilisation "classique" des axes X et Y, mais dans ton cas, ça tombera forcémment "en dehors des clous", à un moment ou à un autre.

PS- L'avantage secondaire de passer a un calcul d'angles est qu'il deviendrait possible d'utiliser des support de différents diamètres, au lieu d'être obligé d'utiliser une circonférence de 200 mm (+-95.5 mm de diamètre, si je ne me trompes pas)
Bien cordialement,
Bernard
Image
Image
Splash
Nouvel Inscrit
Messages : 4
Enregistré le : 08 août 2022, 20:29

Re: Distance demandée varie en + ou - selon un paramètre inconnu

Message non lu par Splash » 09 août 2022, 21:11

Effectivement je compte 1mm = 1 clou.
Donc je ne demande jamais de virgules mais uniquement des entiers (compris entre 1 et le nombre de clous max qui peut avoir sur le support choisit, dans l'exemple, 175)

Je vais me renseigner du côté de l'axe avec rotation, c'est sûr que pour mon utilisation ça peut être plus que pratique, surtout si je peux passer en degré, ça fera beaucoup plus sens.

Ce que je ne comprends pas, c'est à quel moment ce décalage est créer. Car pour un tour entier pas de décalage. Sur la première moitié un décalage est petit à petit créer et sur l'autre moitié, ce même décalage est rattrapé car je tombe bien sur le clou de départ (J'observe le décalage lorsque je fais 175 commandes de déplacement de 1 mm, donc 1 clou.)

Mes supports sont déjà de différents diamètre. Les 200 clous sont sur un 60cm de diamètre, tandis que les 175 sur un diamètre de 52.3cm etc...
Mais la aussi, le déplacement par angle serait beaucoup plus simple.
Avatar du membre
DranerB
Administrateur
Messages : 3311
Enregistré le : 31 janv. 2019, 11:56
Localisation : Bourbon-Lancy, France
A remercié : 160 fois
A été remercié : 275 fois
Contact :

Re: Distance demandée varie en + ou - selon un paramètre inconnu

Message non lu par DranerB » 09 août 2022, 23:34

Splash a écrit : 09 août 2022, 21:11 Effectivement je compte 1mm = 1 clou.
Donc je ne demande jamais de virgules mais uniquement des entiers (compris entre 1 et le nombre de clous max qui peut avoir sur le support choisit, dans l'exemple, 175)
J'ai bien compris que ce n'est pas ce que tu demandes, mais c'est ce que tu obtiens.
Splash a écrit : 09 août 2022, 21:11
Je vais me renseigner du côté de l'axe avec rotation, c'est sûr que pour mon utilisation ça peut être plus que pratique, surtout si je peux passer en degré, ça fera beaucoup plus sens.

Ce que je ne comprends pas, c'est à quel moment ce décalage est créer. Car pour un tour entier pas de décalage. Sur la première moitié un décalage est petit à petit créer et sur l'autre moitié, ce même décalage est rattrapé car je tombe bien sur le clou de départ (J'observe le décalage lorsque je fais 175 commandes de déplacement de 1 mm, donc 1 clou.)

Mes supports sont déjà de différents diamètre. Les 200 clous sont sur un 60cm de diamètre, tandis que les 175 sur un diamètre de 52.3cm etc...
Mais la aussi, le déplacement par angle serait beaucoup plus simple.
Le déplacement par angle serait beaucoup plus simple, entre autre parceque tu ne serais plus obligé de modifier le diamètre en fonction du nombre de clous.
Bien cordialement,
Bernard
Image
Image
Splash
Nouvel Inscrit
Messages : 4
Enregistré le : 08 août 2022, 20:29

Re: Distance demandée varie en + ou - selon un paramètre inconnu

Message non lu par Splash » 11 août 2022, 08:12

N'ayant pas trouvé comment déplacer le moteur avec des angles, je me suis ramené à modifier les commandes envoyés.
Maintenant pour le 175, je n'envoie plus un G01 Y1 pour avancer de 1 clous mais G01 Y1.142857 qui permet d'avancer d'1 unité tout en gardant les mêmes steps/mm que pour le diamètre avec 200 clous.
(Calcul -> 200/175)
Pour l'instant, ça a l'air de fonctionner, à voir sur un tissage en entier ce que ça peut donner, vu que j'ai arrondi le nombre.

Un premier merci en tout cas ! Si d'ici la je choisis cette solution définitivement :)
Avatar du membre
DranerB
Administrateur
Messages : 3311
Enregistré le : 31 janv. 2019, 11:56
Localisation : Bourbon-Lancy, France
A remercié : 160 fois
A été remercié : 275 fois
Contact :

Re: Distance demandée varie en + ou - selon un paramètre inconnu

Message non lu par DranerB » 11 août 2022, 09:58

Splash a écrit : 11 août 2022, 08:12 N'ayant pas trouvé comment déplacer le moteur avec des angles, je me suis ramené à modifier les commandes envoyés.
Maintenant pour le 175, je n'envoie plus un G01 Y1 pour avancer de 1 clous mais G01 Y1.142857 qui permet d'avancer d'1 unité tout en gardant les mêmes steps/mm que pour le diamètre avec 200 clous.
(Calcul -> 200/175)
Pour l'instant, ça a l'air de fonctionner, à voir sur un tissage en entier ce que ça peut donner, vu que j'ai arrondi le nombre.

Un premier merci en tout cas ! Si d'ici la je choisis cette solution définitivement :)
Ha oui, ça peut aussi être une bonne solution.
Bien cordialement,
Bernard
Image
Image
Répondre