SmartfriendzForum

community / communauté => Prints / Impressions => Discussion démarrée par: Benjamin Bellamy le 16 octobre, 2014, 06:12:32 pm

Titre: Axis compensation repetier firmware / reglage orthogonal XY avec repetier firmwa
Posté par: Benjamin Bellamy le 16 octobre, 2014, 06:12:32 pm
Et hop, une boite.
J'en profite pour poser une question : comment corriger les problèmes d'orthogonalité ?

http://www.thingiverse.com/make:98453
Titre: Re: Case for the Full Graphic Smart LCD Controller
Posté par: fabrice le 16 octobre, 2014, 06:39:28 pm
mecaniquement ou dans le firmware?
Titre: Re: Case for the Full Graphic Smart LCD Controller
Posté par: Benjamin Bellamy le 16 octobre, 2014, 06:46:10 pm
Je n'ai pas de conviction religieuse sur le sujet du moment que ça fonctionne !
;)
Titre: Re: Case for the Full Graphic Smart LCD Controller
Posté par: Benjamin Bellamy le 16 octobre, 2014, 07:04:08 pm
Je viens de tomber sur ce ticket de Serge :
https://github.com/ErikZalm/Marlin/issues/902

Du nouveau ?
Titre: Re: Case for the Full Graphic Smart LCD Controller
Posté par: Benjamin Bellamy le 16 octobre, 2014, 07:41:19 pm
Cet article pour la Ormerod ( https://reprappro.com/documentation/ormerod/ ) est très intéressant :
https://reprappro.com/documentation/ormerod/axis-compensation/
Titre: Re: Case for the Full Graphic Smart LCD Controller
Posté par: serge le 16 octobre, 2014, 08:44:26 pm
je n'ai toujours pas bossé dessus..pourtant j'aimerais bien..

avec le firmware d'omerod..c'est evedemment fastoche, ils ont fait des classes pour tout.. donc hop :  Matrix.mul()  et c'est fini..une ligne :)

avec marlin..c'est pas la meme :(
Titre: Re: Case for the Full Graphic Smart LCD Controller
Posté par: Benjamin Bellamy le 16 octobre, 2014, 10:12:07 pm
Ça a l'air moins pire avec Repetier, je vais jeter un œil...
Titre: Re: Case for the Full Graphic Smart LCD Controller
Posté par: Benjamin Bellamy le 17 octobre, 2014, 09:29:53 am
J'ai déjà imprimé les pièces de calibrage pour mesurer l'étendue des dégâts… ;)
Titre: Re: Case for the Full Graphic Smart LCD Controller
Posté par: serge le 17 octobre, 2014, 09:36:17 am
il manque selon moi un reglage software X/Y . Mais comme tu as vu sur le ticket que j'ai tenté sur marlin.. je me fais rentrer dedans a chaque fois que je parle de ca par les "puristes" :)  " Tu ne corrige pas un mauvais design hard par le logiciel...va te coucher
lol

Titre: Re: Case for the Full Graphic Smart LCD Controller
Posté par: Benjamin Bellamy le 17 octobre, 2014, 11:09:24 am
il manque selon moi un reglage software X/Y .

Ben j'ai bien l'impression que non, on a bien un tanXY :
void Move::AxisTransform(float xyzPoint[])
{
xyzPoint[X_AXIS] = xyzPoint[X_AXIS] + tanXY*xyzPoint[Y_AXIS] + tanXZ*xyzPoint[Z_AXIS];
xyzPoint[Y_AXIS] = xyzPoint[Y_AXIS] + tanYZ*xyzPoint[Z_AXIS];
}

je me fais rentrer dedans a chaque fois que je parle de ca par les "puristes" :)
Ben on va faire ça entre gens sales. ;)
Titre: Re: Case for the Full Graphic Smart LCD Controller
Posté par: Benjamin Bellamy le 17 octobre, 2014, 11:13:18 am
En relisant le code ça a même l'air assez simple : tu corriges x par rapport à y et à z, tu corriges y par rapport à z.
Comme disait mon prof de Maths de prépa : "Et hop !"
Titre: Re: Case for the Full Graphic Smart LCD Controller
Posté par: serge le 17 octobre, 2014, 11:18:50 am
hehee.. ca a l'air interessant ca .

le plus dur je crois est de coder un truc partant d'une mesure sur une piece test. entrer ca en commande et transformer pour obtenir les valeurs pour la matrice .
Titre: Re: Case for the Full Graphic Smart LCD Controller
Posté par: yome le 17 octobre, 2014, 12:21:14 pm
Une autre possibilité c'est ça : 10€ de mdf, un peu de colle à bois!!!
Il me reste quelques pièces à dessiner pour contraindre un peu la structure et la garder droite....
Titre: Re: Case for the Full Graphic Smart LCD Controller
Posté par: serge le 17 octobre, 2014, 12:34:54 pm
wow super !

joli support :)  tu devrais publier les plans. ca peut interesser des gens ?
Titre: Re: Case for the Full Graphic Smart LCD Controller
Posté par: Benjamin Bellamy le 17 octobre, 2014, 12:35:16 pm
Serge, en fait la matrice est on ne peut plus simple :
1       tanXY   tanXZ
01tanYZ
001

Le plus dur ça pourrait bien être de rajouter les paramètres en EEPROM… et je viens de finir.

le plus dur je crois est de coder un truc partant d'une mesure sur une piece test. entrer ca en commande et transformer pour obtenir les valeurs pour la matrice .
Pour la pièce de test, j'ai repris celle de RepRapPro : https://github.com/reprappro/RepRapFirmware/blob/master/Data/calibration.scad
Leur système est très bien pensé car il donne directement les tangentes, et pour mesure l'écart il suffit de compter le nombre de tours de vis. (Tout est expliqué là : https://reprappro.com/documentation/ormerod/axis-compensation/ )
Titre: Re: Case for the Full Graphic Smart LCD Controller
Posté par: serge le 17 octobre, 2014, 12:46:47 pm
mega cool benjamin !  merci beaucoup..

je suis impatient de tester ca et de l'integrer dans github :)   ca ajoute vraiment un truc ..  je parie meme que ca va intéresser tout le monde reprap ( qu'on me fasse pas croire que toutes les I3 sont parfaitement ortho :)

Titre: Re: Case for the Full Graphic Smart LCD Controller
Posté par: Benjamin Bellamy le 17 octobre, 2014, 04:59:01 pm
Et hop.
Axis compensation : done.

En vert, la pièce imprimée avant calibration : on voit clairement le défaut d'orthogonalité.
En rouge, la pièce imprimée après calibration : c'est parfaitement perpendiculaire (sur les 3 axes).

Et tout ça tenait en 2 lignes de code dans src/ArduinoAVR/Repetier/Printer.cpp (ligne 1419) :
#if FEATURE_AXISCOMP
    // Axis compensation:
    x = x + y * EEPROM::axisCompTanXY() + z * EEPROM::axisCompTanXZ();
    y = y + z * EEPROM::axisCompTanYZ();
#endif

Les valeurs de compensation sont à rentrer par Repetier-Host, directement dans l'Eeprom (je n'ai pas implémenté M556).

Mon code source est là : https://github.com/Keeward/Repetier-Firmware/tree/Axis-compensation
Titre: Re: Case for the Full Graphic Smart LCD Controller
Posté par: serge le 17 octobre, 2014, 05:06:10 pm
top !

merci benjamin... on sent la prepa  :)   mais c'est vrai qu'avec marlin c'etait pas si evident ( meme si j'ai fait du dev 3d temps reel 5 ans ) ..

je vais du coup bien bien bosser l'integration repetier :)  des ce soir les essais..

tu as publié ton config.h non ?  ou peut etre dans ce github la ?  encore plus simple, je n'ai qu'a donner le  lien :P

Titre: Re: Case for the Full Graphic Smart LCD Controller
Posté par: Benjamin Bellamy le 17 octobre, 2014, 05:41:08 pm
Voici les modifs que j'ai effectuées :
https://github.com/Keeward/Repetier-Firmware/compare/repetier:work092...Keeward:Axis-compensation
Titre: Re: Case for the Full Graphic Smart LCD Controller
Posté par: Benjamin Bellamy le 17 octobre, 2014, 05:42:45 pm
Et les 3 pièces de calibration dans le même STL.
Titre: Re: Case for the Full Graphic Smart LCD Controller
Posté par: Benjamin Bellamy le 17 octobre, 2014, 05:45:18 pm
Et mon Configuration.h.
Le mieux je pense est que tu repartes de l'interface web ( http://www.repetier.com/firmware/v092/index.html ) pour ne rien louper (j'ai pas mal de choses spécifiques… extrudeur, hotend, ventilateurs sur D8 etD9…) et que tu rajoutes mes 4 constantes :
#define FEATURE_AXISCOMP 1
#define AXISCOMP_TANXY 0
#define AXISCOMP_TANYZ 0
#define AXISCOMP_TANXZ 0
Titre: Re: Case for the Full Graphic Smart LCD Controller
Posté par: Benjamin Bellamy le 17 octobre, 2014, 05:52:02 pm
Ensuite quand tu mesures l'écart sur la pièce de calibration, il faut compter négativement quand tu dois visser et positivement quand tu dévisses. Le nombre de tours est à diviser par 2 pour avoir en mm (0,5mm par sillon pour une M3) puis diviser par 78 qui est la distance du bord à la vis si tu as gardé une pièce de 90mm (c'est le cas de mon STL).
Dans mon cas par exemple, sur le XY j'ai exactement 4 tours de vis à serrer pour que ça touche, soit 2mm, soit tanXY=-0,026.
Sur XZ je dois devisser de un tour, soit 0,5mm, soit tanXZ=+0,006.
Etc.
Titre: Re: Case for the Full Graphic Smart LCD Controller
Posté par: serge le 17 octobre, 2014, 06:01:19 pm
genial !

je vais voir ca des ce soir !

merci encore.
Titre: Re: Case for the Full Graphic Smart LCD Controller
Posté par: Benjamin Bellamy le 17 octobre, 2014, 06:43:21 pm
J'ai fait une demande de pull :
https://github.com/repetier/Repetier-Firmware/pull/326
On verra bien ce que disent les "puristes"… ;)
Titre: Re: Case for the Full Graphic Smart LCD Controller
Posté par: serge le 17 octobre, 2014, 07:22:25 pm
haha.. je vais lire avec interet :)

j'etais peut etre trop tot ? ou pas bien ecrit le truc ? ou encore que les gens avec repetier sont plus ouverts que ceux de marlin ?   j'espere que ce sera bien accueillit  en tout cas.
Titre: Re: Case for the Full Graphic Smart LCD Controller
Posté par: Benjamin Bellamy le 20 octobre, 2014, 01:24:38 pm
Bon ben c'est pas gagné… je suis tombé sur un puriste, un vrai, un ayatollah de l'orthogonalité…
https://github.com/repetier/Repetier-Firmware/pull/326
Titre: Re: Case for the Full Graphic Smart LCD Controller
Posté par: serge le 20 octobre, 2014, 02:29:40 pm
haha ( désolé , c'est pas drôle ).. mais je vois que tu as eu la meme reaction de la part des developpeurs  ...  le soft n'est pas la pour rattraper   les conneries du hardware !

Je n'ai jamais eu de réponse a mon habituelle question apres me faire envoyer paitre : " et l'autolevel que tout les developpeurs se sont jetés dessus a cause du hype ? c'est quoi ? " .
Titre: Re: Case for the Full Graphic Smart LCD Controller
Posté par: serge le 20 octobre, 2014, 02:46:50 pm
en plus , les seuls a implementer ce truc, c'est quand meme bowyer et sa bande... quel manque de respect ! Donc le créateur du mouvement reprap serait  un "lazy assembler" ?  hehe.
Titre: Re: Case for the Full Graphic Smart LCD Controller
Posté par: cristian le 20 octobre, 2014, 02:57:31 pm
Gagné !!

L'administrateur a accepté!
Titre: Re: Case for the Full Graphic Smart LCD Controller
Posté par: Benjamin Bellamy le 20 octobre, 2014, 02:59:55 pm
Oui, je viens de voir ça !
Sauf que maintenant faut que je nettoie mon code…  ;D
Titre: Re: Case for the Full Graphic Smart LCD Controller
Posté par: serge le 20 octobre, 2014, 03:18:52 pm
ha ben super :) bravo..

ca le mérite de toute façon !   ( grr, je n'ai toujours pas testé ici avec repetier fw ... ) ca vient , ca vient..
Titre: Re: Case for the Full Graphic Smart LCD Controller
Posté par: serge le 20 octobre, 2014, 03:23:58 pm
en plus le gars s'est un peu plus expliqué.. sympa :)

bon..de toute facon je vais le faire ce moyen d'ajuster un peu plus la smartrap.. mais j'hesite toujours car si on a trop de reglages, ca devient dificile d'etre droit au debut.
Titre: Re: Case for the Full Graphic Smart LCD Controller
Posté par: Benjamin Bellamy le 20 octobre, 2014, 04:49:45 pm
En tout cas la version 92 de Repetier intègre la correction d'orthogonalité et ça c'est cool !
;)
Titre: Re: Case for the Full Graphic Smart LCD Controller
Posté par: Benjamin Bellamy le 20 octobre, 2014, 04:51:06 pm
Je vais essayer de faire les deux corrections (justifiées) que repetier a demandées. Et après j'ai quelques autres idées à mettre en place…
Titre: Re: Case for the Full Graphic Smart LCD Controller
Posté par: Benjamin Bellamy le 20 octobre, 2014, 05:20:03 pm
Repetier a même intégré le défaut d'orthogonalité dans le configurateur web :
http://www.repetier.com/firmware/v092/index.html
Titre: Re: Case for the Full Graphic Smart LCD Controller
Posté par: serge le 20 octobre, 2014, 05:32:10 pm
ha oui..quand meme.. serieux les gars :)

super !
Titre: Re: Case for the Full Graphic Smart LCD Controller
Posté par: cristian le 20 octobre, 2014, 05:36:02 pm
Serait-il possible de changer le titre de cette discussion ?

Avec quelque chose comme "Repetier firmware et orthogonalité des axes".

J'avais perdu la moitié des posts, qui sont très interessants !
Titre: Re: Case for the Full Graphic Smart LCD Controller
Posté par: serge le 20 octobre, 2014, 05:36:55 pm
bonne idee.. je vais le changer
Titre: Re: Axis compensation repetier firmware / reglage orthogonal XY avec repetier firmwa
Posté par: Benjamin Bellamy le 20 octobre, 2014, 07:26:48 pm
C'est sûr que ça a bien dévié du sujet initial… ;)
Sinon je termine l'implémentation du M556 et ça sera nickel !
Titre: Re: Axis compensation repetier firmware / reglage orthogonal XY avec repetier firmwa
Posté par: BrunoBellamy le 31 octobre, 2014, 09:18:55 pm
Oh bon sang… Moi j'ai toujours galéré en maths, alors quand je vois des tangentes et des calculs matriciels, je panique un peu… :-\
Le seul truc que je savais bien faire en cours de maths c'était tracer les courbes à main levée… ;)

J'en suis pas encore là, mais je sens que je vais avoir des soucis avec l'orthogonalité puisque rien qu'à vue d'œil je sais déjà que X et Y sont pas d'équerre chez moi. :(

Bon, avec un peu de chance, d'ici à ce que j'en sois à cette étape, la correction logicielle sera utilisable même pour les, heu… les littéraires. ;)
Titre: Re: Axis compensation repetier firmware / reglage orthogonal XY avec repetier firmwa
Posté par: serge le 31 octobre, 2014, 09:27:00 pm
oui..c'est un point faible de ce modele..

par contre, avant le logiciel, tu peux tourner l'axe a la main ( vue de dessus avec une equerre contre X et Y .. a vue ) , avant de resserer les deux grosses vis sur le bois.
attention aussi a la vrille de l'axe X .. mes toi en face  et avance et recule l'axe et vois si il est bien droit .. souvent par defaut, il vrille facilement .
j'arrive a rattrapper deja enormement de cette maniere . Une fois serré ca va beaucoup mieux .  ( je dois le mettre dnas la doc tout ca ! ) .
Titre: Re: Axis compensation repetier firmware / reglage orthogonal XY avec repetier firmwa
Posté par: BrunoBellamy le 31 octobre, 2014, 09:37:25 pm
OK, merci pour le tuyau, j'essayerai ça… avant de me vriller les neurones à essayer de piger ce truc de matrice de tangentes ! ;)
Titre: Re: Axis compensation repetier firmware / reglage orthogonal XY avec repetier firmwa
Posté par: serge le 31 octobre, 2014, 10:10:48 pm
haha. c'est plus simple.. tu donne un coup sur l'axe X, tu le tords dans tous les sens.. c'est plus simple que tan(x)/cos(Y). non mais ...
Titre: Re: Axis compensation repetier firmware / reglage orthogonal XY avec repetier firmwa
Posté par: Benjamin Bellamy le 03 novembre, 2014, 09:52:48 am
Mais nooooon, c'est pas si compliqué que ça ! ;)
D'autant qu'avec la méthode RepRapPro y'a AUCUN calcul à faire. Il suffit de compter les tours de vis.
Titre: Re : Axis compensation repetier firmware / reglage orthogonal XY avec repetier firmwa
Posté par: Sheldouille le 07 février, 2017, 01:48:23 pm
Bonjour,

je n'ai pas trés bien compris comment s'utilise :

#define FEATURE_AXISCOMP 1
#define AXISCOMP_TANXY 0
#define AXISCOMP_TANYZ 0
#define AXISCOMP_TANXZ 0

est-ce qu'une bonne âme peux m'expliquer ?

Merci