Aller au contenu

Filament ABS

Problème de direction sur les axes X Y


Messages recommandés

Bonjour,

Je suis tout à fait nouveau dans l'impression 3D. Je me suis lancé dans la construction d'une imprimants coreXY (la D-Bot de Thingiverse) J'ai fini l'assemblage mais j'ai un problème avec les axes XY. Quand je teste (dans Repetier ou Pronterface)  Y+ et X- la tête va dans la bonne direction mais quand je teste Y- la tête se déplace en X- et quand je teste X+ la tête se déplace en Y-. J'ai interverti les connections des moteurs mais ça n'a pas réglé le problème juste interverti les X et les Y mais même réponse avec les erreurs d'axes. Par contre le homing se passe bien pour les trois axes. Home est dans le coin supérieur gauche du lit. Sa taille est de 200x300 et Y home est en position 200, X et Z en position 0.

Quelqu'un -a-t-il une idée d'une solution à ce problème ? C'est plutôt ennuyeux et je commence à désespérer. Merci beaucoup

Lien à poster
Partager sur d’autres sites

Salut,

Est-ce que tu peux remplir ce tableau excel pour que l'on puisse déterminer les modifications à apporter à ta machine? Je joints une version PDF si tu ne peux pas éditer le fichier Excel, ainsi tu pourras répondre dans un message, par exemple Test 1: sens 1 sens 3 X+ Y0

La colonne X et Y correspond aux commandes que tu envoies avec Pronterface. Par exemple, si tu fais du X+ et que les moteurs A et B tournent dans le sens +, alors la ligne test 1 sera X: + Y: 0

 

Tableau de Mouvements.pdf coreXY D-Bot.xlsx

  • J'aime 2
Lien à poster
Partager sur d’autres sites

Salutation !

Les coreXY me dépassent complètement et je pense que tu va devoir suivre la demande de remibora pour obtenir avec la logique les éléments a modifier dans le marlin

Et justement peut tu nous mettre tes fichiers Configuration*.h histoire d'avoir une idée !

Mais on ne sais jamais a tu lu cela 

  • J'aime 1
Lien à poster
Partager sur d’autres sites

Salut, 

Le soucis des Core XY, c'est qu'un mouvement en X ou en Y implique de faire tourner les deux moteurs en même temps, contrairement à une cartésienne.

http://corexy.com/theory.html

Visiblement tu as bien compilé ton firmware pour un CoreXY, sinon un mouvement X ou Y irait en diagonal. 

Tu as essayé de n'intervertir le câblage que d'un seul moteur ? 

PS : pour changer le sens d'un moteur pas à pas on intervertis 2 fils, pas 4 (je sais c'est con, mais on a tendance a oublier).

PS PS : sinon intervertir le sens dans marlin c'est bien aussi 🙂

Modifié (le) par Rlv
  • J'aime 1
  • Merci ! 1
Lien à poster
Partager sur d’autres sites

Bonjour,

J'espère que je réponds à tous en utilisant cette case réponse. Je vous remercie tout d'abord pour vos réponses rapides. En fichier joint le fichier config.h et le tableau Excel de mouvements des moteurs. A ce propos pour les tests j'ai dû retourner la feuille pour être face à ma configuration. Le moteur A est donc à ma droite et le moteur B à ma gauche. Pour les axes comme home est en haut à gauche l'axe des X est inversé et progresse donc de gauche à droite et l'axe Y est bon. Première remarque c'est comme si le moteur A ne connaissait pas le sens négatif. Le homing se fait sans encombre car le moteur A n'a besoin de tourner que dans le sens positif. Pas de déplacement en diagonal (donc cases non remplies). Pour répondre à PPAC j'étais déjà tombé sur ce post et j'avais vérifié dans Marlin. Pour répondre à Rlv je n'ai pas tout compris sur l'inversion de 2 fils au lieu de 4. Les essais que j'ai faits consistaient à retourner le connecteur sur la carte. Par exemple si j'avais les fils de couleur N V R B sur les pins 2B 2A 1A 1B de la carte je me retrouvais avec B R V N sur ces mêmes pins. Par contre je ne sais pas où invertir les fils dans Marlin.

Merci encore pour vos réponses

config.h.txt Copie de coreXY D-Bot.xlsx

Lien à poster
Partager sur d’autres sites

Salut,

Je n'ai pas assez détaillé ma demande:

il y a 9 minutes, Patrick Rappillard a dit :

Pas de déplacement en diagonal (donc cases non remplies)

Pour remplir ces 2 colonnes, il faut bloquer d'1 main 1 moteur et faire tourner l'autre avec ta 2nd main. Dans ce cas, la tête se déplacera en diagonale

EDIT: Tu n'as que des signes négatifs ou 0 dans les colonnes X et Y, ce qui veut dire que l'on ne s'est pas compris. Pour les 2 dernières colonnes, il faut:

  1. placer la tête au milieu de la machine
  2. désactiver les butées logicielles: M211 S0
  3. définir le mode de déplacement relatif: G91
  4. commander un déplacement suivant chaque direction:
  • pour X + / Y 0 :G0 X50 F100
  • pour X - / Y 0 :G0 X-50 F100
  • pour X 0 / Y + :G0 Y50 F100
  • pour X 0 / Y - :G0 Y-50 F100

       5.indiqué pour chaque commande de quel TEST il s'agit.

Modifié (le) par remibora
  • J'aime 1
Lien à poster
Partager sur d’autres sites

bonsoir,

Je ne sais pas si j'ai tout a fait compris en tout cas j'ai fait les tests avec toujours la feuille Excel à l'envers pour cadrer avec ma config : moteur A à droite, sens + de droite à gauche, moteur B à gauche et même sens. Axe des X inversé. Pour les déplacements dans chaque direction :

                                                                  Moteur A      Moteur B

  • pour X + / Y 0 :G0 X50 F100              +                    -   
  • pour X - / Y 0 :G0 X-50 F100              +                   +    parfois la commande n'est pas exécutée mais dans tous les cas le recul de 50 sur X est enregistré
  • pour X 0 / Y + :G0 Y50 F100              +                    -
  • pour X 0 / Y - :G0 Y-50 F100             +                    +    Pareil parfois la commande n'est pas exécutée mais dans tous les cas le recul de 50 sur Y est enregistré

Pour les déplacements en diagonale :

  • Moteur A bloqué et B dans le sens + on obtient le sens 3
  • Moteur A bloqué et B dans le sens - on obtient le sens 4
  • Moteur B bloqué et A dans le sens + on obtient le sens 1
  • Moteur B bloqué et A dans le sens - on obtient le sens 2

J'ai préféré à la fois donner les infos en détaillant et avec le tableau (je ne suis pas toujours sûr de l'avoir correctement rempli)

Patrick Rappillard

coreXY D-Bot.xlsx

Lien à poster
Partager sur d’autres sites

Tes résultats ne sont pas logiques. Par exemple, quand tu veux te déplacer en X- ou en Y-, tu indiques que les moteurs tournent dans le même sens, ce qui n'est pas cohérent, idem pour X+ et Y+.

EDIT: @Patrick Rappillard si je me base sur une partie de tes indications, à partir du câblage et des sources Marlin que tu avais quand tu as écrit ton 1er message, il suffirait d'inverser les câbles des moteurs A et B.

Modifié (le) par remibora
  • J'aime 1
Lien à poster
Partager sur d’autres sites

@Patrick :

Pour les moteurs : nos moteurs pas à pas d'imprimante ont 4 fils, pour deux bobines 1 et  2 :  2B 2A 1A 1B.

Si tu retournes le connecteur, ça donne 1B 1A 2A 2B : tu as inverser les 2 bobines et ça ne change pas le sens de rotation. Si tu veux changer le sens de rotation, il faut faire une seule permutation. Par exemple 2A 2B 1A 1B ou 2B 2A 1B 1A ... 

Si tu veux changer le sens de rotation du moteur dans Marlin tu passes INVERT_DIR à true pour ton moteur. Ca évite de toucher aux cables : 

#define INVERT_X_DIR false
#define INVERT_Y_DIR false
#define INVERT_Z_DIR false

Pour le CoreXY

J'avoue que j'ai eu la flemme de lire ton tableau. La logique est :

--> pour un mouvement en X, les moteurs tournent dans le même sens.

--> Pour un mouvement en Y, les moteurs tournent en sens inverse.

Déjà règle le sens des moteurs en fonction de ça. 

Ensuite tu si le sens est incorrecte (+X part en -X et + Y part en -Y) : tu inverses le sens des 2 moteurs.

Après je vais pas t'embrouiller avec les histoires de repères orthogonaux normés directs et indirects mais tu peux avoir une impression miroir des pièces. 

[HS] En tout cas c'est peut être un peu chaud de se lancer dans la construction d'une machine (surtout atypique) sans avoir trop d'expérience en impression 3D ? [/HS]

  • J'aime 1
  • +1 1
  • Merci ! 1
Lien à poster
Partager sur d’autres sites

Merci de votre patience. Pour répondre à Rlv oui c'est un peu chaud de me lancer dans une aventure pareille à partir de zéro. J'avais fait un peu d'Arduino et de Raspberry il a quelques années. Je dois aimer les challenges. J'ai vu beaucoup de tuto sur Youtube et la D-Bot de Thingiverse, bien que datant de quelques années, m'a paru relativement accessible étant donné l'épaisseur de la documentation tant au niveau des explications que des images. Et je me suis dit aussi que pour bien connaître le sujet rien de tel que de construire sa machine plutôt que d'en acheter une toute faite. Bon je commence à m'en mordre un peu les doigts. En tout cas merci pour tes explications elles vont m'être utiles.

Pour remibora je suis d'accord mes résultats ne sont pas logiques et il n'y a pas qu'une histoire d'inversion tout se passe comme si le moteur A ne connaissait pas la marche arrière. Du coup je me suis dit que ça pouvait venir du hardware. J'ai changé le pilote du moteur A. Du coup j'ai eu un résultat un peu plus cohérent : X+ donnait bien X+, X- donnait bien X- restait juste une inversion de l'axe des Y. Mais ça n'a pas duré, après quelques autres essais de nouveau des incohérences. La carte que j'utilise est une supposée Mega 2560 (achetée sur Ali Express pour 15€) mais j'ai dû installer les pilotes CH341SER pour qu'elle soit reconnue. Je vais acquérir une nouvelle carte et voir s'il y a du progrès. Savez-vous où je peux acheter une carte de bonne facture ? Amazon ?

Merci

Patrick

Lien à poster
Partager sur d’autres sites

Salut,

Effectivement la carte arduino avec la Ramp fait très datée comme solution. Actuellement, une SKR 1.4 (turbo ou non) avec des TMC2209 et un écran BTT TFT 35 serait largement plus adaptée. Si tu es court au niveau budget, une MKS E3P + TMC2209 + MKS    ES35 devrait convenir avec un relai SSR DC-DC pour le plateau chauffant (si tu es en 12V/24V, sinon un SSR DC-AC si tu es en 230V) afin d'éviter la surchauffe des pistes de la carte-mère.

PS: L'installation du driver est habituel avec les clones de Mega2560. Par contre, que tes déplacements ne soient jamais les mêmes, ça c'est pas la faute du firmware, à moins que les butées logicielles soient activées (M211 S0 pour les désactiver, comme indiqué précédemment)

Modifié (le) par remibora
  • +1 1
Lien à poster
Partager sur d’autres sites

@Patrick Rappillard : Ce n'est pas une critique, apprendre "the hard way" c'est bien aussi. Si tu dois monter une Ender par exemple, tu vas trouver ça trop facile après !

La piste des fins de course est envisageable, comme l'explique @remibora. Pour tester le hardware, tu peux faire un petit sketch Arduino. Tu as un code tout simple pour faire ça : https://reprap.org/wiki/File:RAMPS1.4_TestCode.pde

Par contre ne branche que les moteurs, ça teste aussi les MOFSET .....

Si tu as le même phénomène avec le sketch test,  tu as probablement un faux contact sur ta carte. Si tu as un multimètre, tu peux tester l'état de la pinoche DIR qui va sur ton drivers du motor A. 

image.png.1b06d7ffbe596d90ef1c56d8b3dd1b0a.png

C'est la pinoche en bas à gauche. Déjà tu vas voir si l'info de changement de sens arrive bien jusqu'a ton driver.

Autre truc : vu la vitesse que peut atteindre la machine et sans changer toute l'électronique, un Klipper + Raspberry ferait une vrai différence. 

Lien à poster
Partager sur d’autres sites

Oui je crois qu'il y a un faux contact sur la carte. En enlevant et remettant le driver moteur j'arrive à un résultat satisfaisant pendant 5 minutes avant que ça se remette à partir en live. J'ai également fait le testCode, j'J'ai envie de trouver une solution un peu plus pérenne et la suggestion de Remibora d'opter pour une carte SKR 1.4 avec des TMC2209 me tente assez. Par contre il faut que je retrouve mes marques par rapport à la carte que j'ai actuellement. Avec quelle version de Marlin elle fonctionne et comment la faire reconnaître (je ne l'ai pas vu dans la liste des cartes qu'on peut connecter) ? Est-ce que les branchements sont relativement intuitifs ?

Lien à poster
Partager sur d’autres sites

En ce qui concerne la SKR 1.4 (quasi introuvable), tu auras toutes les infos (matérielles et logicielles) ici
Pour la version turbo, je ne retrouve plus le lien alors je joints les schémas au message.

Pour le câblage, c'est standard: soit c'est un bornier à vis, soit des connecteurs dupont soit du JST XH 2.54.

En ce qui concerne le firmware, tu pourras utiliser la dernière version de Marlin. Je peux également te fournir les sources pour une coreXY version Marlin 2.0.7.2. La version 2.0.8.x vient de sortir mais elle ne me semble pas assez stable (la v2.0.8.2 est sortie il y a 3 jours).

Sinon, il existe aussi la SKR v2.0, sortie en mars il me semble mais ATTENTION, la version A faisait griller les drivers. Comme ça risque d'être compliqué de s'assurer que tu achètes la révision B, il est peut-être préférable de rester sur une valeur sûre (la SKR 1.4 turbo). Cependant, tu pourras aussi compiler un firmware pour cette version 2.0.

SKR_V1.4_TURBO_unColored_Schematic_900ppi.pdf SKR_V1.4_TURBO_Wiring_Diagram_300ppi.pdf SKRV1.4_TURBO_Colored_PIN_Diagram_300ppi.pdf SKR_V1.4_TURBO_PIN_1_Diagram_800ppi.pdf

Modifié (le) par remibora
Lien à poster
Partager sur d’autres sites

Merci beaucoup pour toutes ces informations et le temps que tu as passé pour faire toutes ces recherches. C'est vraiment agréable d'avoir affaire avec des gens passionnés qui savent faire partager leur savoir. Je vais commander la carte sur Amazon et utiliser toutes la doc fournie. J'espère que je  ne reviendrai pas trop vous embêter. Merci encore.

Patrick

Lien à poster
Partager sur d’autres sites

Bonjour,

Je reviens vers vous pour des renseignements supplémentaires et des questions sans doute un peu naïves concernant les branchements de la carte SKR V1.4. Je la reçois normalement ce vendredi :

-          Alimentation de la carte. Sur ma carte actuelle (Mega 2560) je branche mon ordi via la prise USB et d’autre part la carte est alimentée en 12V ou 24V via l’alim (la mienne est en 12V 30A). Sur la SKR il y a un cavalier pour choisir entre USB 5V et 12V/24V. Est-ce que je dois comprendre qu’il faut choisir entre l’USB ou le 12V ? Et qu'en 12V on utilise l'écran (que je n'ai pas encore acheté).

-          Pour le lit chauffant Comment se fait le câblage du relais SSR ? J’ai trouvé des exemples sur le net mais où le branchement se faisait directement sur la carte, sans relais.

-          Pour ce qui est du branchement des pilotes des moteurs il y a des notions comme UART TMC, TMC, UART Ready TMC, TMC non compatibles UART, STALLGUARD Function que je ne saisis pas bien. Voici les pilotes que j’ai commandés :

https://www.amazon.fr/gp/product/B083GN5MJ2/ref=ppx_yo_dt_b_asin_image_o00_s00?ie=UTF8&psc=1

Pouvez-vous me dire comment les brancher ? Il est question également de couper le pin de diag si on utilise pas la fonction stallguard. Quand il est question de mechanical switch s’agit-il des endstops mécaniques (c’est ceux que j’utilise) ou parle-t-on d’autre chose ? Combien de cavaliers doit-on mettre pour un pas de 0,9° ?

Cela fait encore beaucoup de questions. Merci de vos réponses.

Lien à poster
Partager sur d’autres sites

Salut,

Le 02/06/2021 at 14:47, Patrick Rappillard a dit :

Alimentation de la carte. Sur ma carte actuelle (Mega 2560) je branche mon ordi via la prise USB et d’autre part la carte est alimentée en 12V ou 24V via l’alim (la mienne est en 12V 30A). Sur la SKR il y a un cavalier pour choisir entre USB 5V et 12V/24V. Est-ce que je dois comprendre qu’il faut choisir entre l’USB ou le 12V ? Et qu'en 12V on utilise l'écran (que je n'ai pas encore acheté).

1- En fait, tu places le cavalier en position USB lorsque la carte est alimentée uniquement par l'USB. Théoriquement, le flashage du firmware doit se faire dans ces conditions mais tu peux le faire simplement en démarrant la machine alimentée en 12V, avec le firmware sur la carte µSD.

Le 02/06/2021 at 14:47, Patrick Rappillard a dit :

Pour le lit chauffant Comment se fait le câblage du relais SSR ? J’ai trouvé des exemples sur le net mais où le branchement se faisait directement sur la carte, sans relais.

2- Le schéma de câblage est le suivant: (info prise à partir de cette page)

Citation

cablage relai.jpg

 

Le 02/06/2021 at 14:47, Patrick Rappillard a dit :

Pour ce qui est du branchement des pilotes des moteurs il y a des notions comme UART TMC, TMC, UART Ready TMC, TMC non compatibles UART, STALLGUARD Function que je ne saisis pas bien. Voici les pilotes que j’ai commandés :

https://www.amazon.fr/gp/product/B083GN5MJ2/ref=ppx_yo_dt_b_asin_image_o00_s00?ie=UTF8&psc=1

Pouvez-vous me dire comment les brancher ? Il est question également de couper le pin de diag si on utilise pas la fonction stallguard. Quand il est question de mechanical switch s’agit-il des endstops mécaniques (c’est ceux que j’utilise) ou parle-t-on d’autre chose ? Combien de cavaliers doit-on mettre pour un pas de 0,9° ?

3- Dans ce document, tu auras toutes les infos que tu veux savoir. En résumé, si tu ne veux pas de la prise d'origine en sensorless = Stallguard = pas de fin de course = pas de mechanical switch (je pense que tu as raison), alors tu dessoudes la broche (apparemment c'est assez facile, sinon tu la coupes):

Citation

182553531_TMC2209sensorless.jpg.7bf589f98afc6337b750bd05e1a8e8e6.jpg

Comme tes TMC2209 sont compatibles avec le mode UART, tu n'auras qu'à placer un cavalier sur tous les emplacements de driver pour le mode UART: (en passant, tu vois dans quel sens insérer le driver 😉)

Citation

677016831_TMC2209uart.jpg.6bfaf478eb12a558beca0db476de49d2.jpg

 

Le 02/06/2021 at 14:47, Patrick Rappillard a dit :

Combien de cavaliers doit-on mettre pour un pas de 0,9° ?

4- aucun, c'est à paramétrer dans les sources (pas/mm pour chaque moteur)

5- pour l'écran, je t'en parle en MP.

  • J'aime 1
  • Merci ! 2
Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...