Willkommen! Anmelden Ein neues Profil erzeugen

Erweiterte Suche

Invert-Problem (Marlin)

geschrieben von Reflexer 
Invert-Problem (Marlin)
27. January 2019 10:57
Hallo Allerseits,

ich habe ein (für mich) sehr dubioses Problem.

Ich habe einen neuen CoreXY-Drucker aufgebaut.
Konfiguration: MKS Gen L V1.0, TMC2208-Treiber und Marlin 1.1.9.

Beim ersten Bewegungstest lief die Y-Achse verkehrt, also habe ich den entsprechenden Wert gedreht.
Seltsamerweise wurde jedoch nicht die Bewegungsrichtung von Y umgekehrt, sondern Y wird zu X und Y bewegt sich gar nicht mehr.

Einen Hardwaredefekt kann ich inzwischen zu 99% ausschließen, da ich inzwischen alles einmal durchgetauscht habe - Board, alle Treiber, die beiden Steppermotoren. Es muss also an der SW liegen. Allerdings habe ich keine Ahnung, was genau mein Problem ist.

Mit diesem Code bewegen sich X und Z korrekt und Y bewegt sich falschrum:
Quote
Code
#define INVERT_X_DIR true
#define INVERT_Y_DIR true
#define INVERT_Z_DIR true

Mit dieser Änderung wird Y zu X und Y bewegt sich gar nicht mehr.

Quote
Code
#define INVERT_X_DIR true
#define INVERT_Y_DIR false
#define INVERT_Z_DIR true

Auszug der restlichen Configuration.h:

Quote
Code
#ifndef MOTHERBOARD
#define MOTHERBOARD BOARD_MKS_GEN_L
#endif

......

// @section machine
#define COREXY
//#define COREXZ
//#define COREYZ
//#define COREYX
//#define COREZX
//#define COREZY

.....

// @section homing

#define USE_XMIN_PLUG
#define USE_YMIN_PLUG
#define USE_ZMIN_PLUG
//#define USE_XMAX_PLUG
//#define USE_YMAX_PLUG
//#define USE_ZMAX_PLUG
.....

/**
* Stepper Drivers
*
*/
#define X_DRIVER_TYPE TMC2208_STANDALONE
#define Y_DRIVER_TYPE TMC2208_STANDALONE
#define Z_DRIVER_TYPE TMC2208_STANDALONE
//#define X2_DRIVER_TYPE A4988
//#define Y2_DRIVER_TYPE A4988
//#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE TMC2208_STANDALONE
//#define E1_DRIVER_TYPE A4988
//#define E2_DRIVER_TYPE A4988
//#define E3_DRIVER_TYPE A4988
//#define E4_DRIVER_TYPE A4988

.....

// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
#define X_ENABLE_ON 0
#define Y_ENABLE_ON 0
#define Z_ENABLE_ON 0
#define E_ENABLE_ON 0 // For all extruders

// Disables axis stepper immediately when it's not being used.
// WARNING: When motors turn off there is a chance of losing position accuracy!
#define DISABLE_X false
#define DISABLE_Y false
#define DISABLE_Z false
// Warn on display about possibly reduced accuracy
//#define DISABLE_REDUCED_ACCURACY_WARNING

// @section extruder

#define DISABLE_E false // For all extruders
#define DISABLE_INACTIVE_EXTRUDER true // Keep only the active extruder enabled.

// @section machine

// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
#define INVERT_X_DIR true
#define INVERT_Y_DIR false
#define INVERT_Z_DIR true

// @section extruder

// For direct drive extruder v9 set to true, for geared extruder set to false.
#define INVERT_E0_DIR true
#define INVERT_E1_DIR true
#define INVERT_E2_DIR false
#define INVERT_E3_DIR false
#define INVERT_E4_DIR false

// @section homing

//#define NO_MOTION_BEFORE_HOMING
//#define UNKNOWN_Z_NO_RAISE
//#define Z_HOMING_HEIGHT 4


// Direction of endstops when homing; 1=MAX, -1=MIN :[-1,1]
#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1

// @section machine

// The size of the print bed
#define X_BED_SIZE 340
#define Y_BED_SIZE 380

// Travel limits (mm) after homing, corresponding to endstop positions.
#define X_MIN_POS 0
#define Y_MIN_POS 0
#define Z_MIN_POS 0
#define X_MAX_POS X_BED_SIZE
#define Y_MAX_POS Y_BED_SIZE
#define Z_MAX_POS 350

Ich hoffe, dass mir irgendjemand helfen kann.

3-mal bearbeitet. Zuletzt am 28.01.19 15:23.
Re: Invert-Problem
27. January 2019 13:31
@Hallo Reflexer

Ich würde mal an deiner stelle erst nur um die Endstops Stettings kümmern,
wenn du ein M119 sendest das heißt wenn du den Endstops gedrückt hälst muss er TRIGGERED und
bei enen nicht gedrückten Endstop open anzeigen.

Mich würde interessieren wenn du vor dem Drucker sitzt wo denn die Mortoren sitzen Vorne oder Hinten , am besten mal ein Foto machen.

Eine Configuration.h würde auch noch Helfen.



MFG Stefan

1-mal bearbeitet. Zuletzt am 27.01.19 13:31.


Mein erster grinning smiley Drucker ein Prusa Mendel i2 + RAMPS 1.4 & LCD 12864 Graphic Smart Controller,
P3Steel Mein P3Steel noch im bau
Marlin 2.0
Re: Invert-Problem
27. January 2019 15:43
Versuch das mal:
#define COREYX

Herzl. Grüße
Re: Invert-Problem
27. January 2019 15:56
Hallo Stefan,

"drücken" wird schwierig bei optischen Endstops grinning smiley

Aber mal dumm gefragt. Was haben die Endstops damit zu tun? Ich kann aktuell kein Homing durchführen, da die Y-Achse in die falsche Richtung fährt.

Und vorne/hinten/rechts/links ist bei einem CoreXY ja auch relativ. Ich habe die entsprechenden Bilder angehängt. Nicht erschrecken. Ich bin noch nicht fertig. Das ist der erste Versuchsaufbau. Der Z-Endstop ist über BL-Touch gelöst.

Die Configuration.h habe ich ebenfalls angehängt.

Grüße
Arne
Anhänge:
Öffnen | Download - Motorseite_s.jpg (221.6 KB)
Öffnen | Download - X-Endstop_s.jpg (190.5 KB)
Öffnen | Download - Y-Enstop_s.jpg (217.4 KB)
Re: Invert-Problem
27. January 2019 15:57
Quote
AlterBastler
Versuch das mal:
#define COREYX

Herzl. Grüße

Habe ich schon versucht. Hat nichts gebracht sad smiley
Re: Invert-Problem
27. January 2019 16:47
@Hallo Reflexer

Quote

"drücken" wird schwierig bei optischen Endstops.....
Dann nimmt man ein stück Parpier grinning smiley

Quote

Aber mal dumm gefragt. Was haben die Endstops damit zu tun? Ich kann aktuell kein Homing durchführen......
Es kann ja sein das deine Endstops bei nicht ausgelösten zu stand TRIGGERED anzeigt, ich würde mal sagen das währe mal Blöd.

So konfiguriere die Optische Endstops., der rest past so.
// Enable pullup for all endstops to prevent a floating state
#define ENDSTOPPULLUPS
#if DISABLED(ENDSTOPPULLUPS)
  // Disable ENDSTOPPULLUPS to set pullups individually
  //#define ENDSTOPPULLUP_XMAX
  //#define ENDSTOPPULLUP_YMAX
  //#define ENDSTOPPULLUP_ZMAX
  #define ENDSTOPPULLUP_XMIN
  #define ENDSTOPPULLUP_YMIN
  #define ENDSTOPPULLUP_ZMIN
  #define ENDSTOPPULLUP_ZMIN_PROBE
#endif

Edit:
// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
#define X_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Y_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.


#define COREXY das past auch



MFG Stefan

2-mal bearbeitet. Zuletzt am 27.01.19 17:25.


Mein erster grinning smiley Drucker ein Prusa Mendel i2 + RAMPS 1.4 & LCD 12864 Graphic Smart Controller,
P3Steel Mein P3Steel noch im bau
Marlin 2.0
Re: Invert-Problem
27. January 2019 17:05
Ich denke mal, deine Endstops schalten nicht gegen Masse.
// Enable pullup for all endstops to prevent a floating state
//#define ENDSTOPPULLUPS
#if DISABLED(ENDSTOPPULLUPS)
  // Disable ENDSTOPPULLUPS to set pullups individually
  //#define ENDSTOPPULLUP_XMAX
  //#define ENDSTOPPULLUP_YMAX
  //#define ENDSTOPPULLUP_ZMAX
  //#define ENDSTOPPULLUP_XMIN
  //#define ENDSTOPPULLUP_YMIN
  //#define ENDSTOPPULLUP_ZMIN
  //#define ENDSTOPPULLUP_ZMIN_PROBE
#endif

// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
..
#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe.
Herzl. Grüße
Re: Invert-Problem
27. January 2019 17:16
Öhm... Also wenn deine Achse in die falsche Richtung fährt, dann dreh den Stecker des Schrittmotors um


Prusa Air 2
Merlin Hotend (passiv und verlängert)

Eigenbau X300 Y500 mit verlängertem Merlin Hotend
BIQU Magician
JGAURORA A5
Anycubic Photon
--------
Eine Kiwi am Tag deckt den menschlichen Tagesbedarf an Kiwis
Re: Invert-Problem
28. January 2019 15:24
Quote
Kenny-F-Powers
Öhm... Also wenn deine Achse in die falsche Richtung fährt, dann dreh den Stecker des Schrittmotors um

Der Software-Invert tut exakt das Selbe. Nichts desto trotz habe ich das vorhin probiert und das Ergebnis ist das Selbe wie beim SW-Invert.
Re: Invert-Problem
28. January 2019 17:23
Das Thema kann als erledigt betrachtet werden.

Sobald man die beiden Motoren korrekt anschließt - sprich den Min-Motor an X und den Max-Motor an Y geht alles wunderbar. Ich hatte das gestern schonmal versucht, allerdings mitten in der Testreihe. Bin heute alle Möglichkeiten nochmals durchgegangen (mit falsch angeschlossenen Motoren) - ohne dass dies zum Erfolg geführt hätte. Hatte dann die Idee das ganze nochmals durchzutesten und die beiden Motoren andersrum anzuschließen und prompt tat alles wie es sollte.

Die Antworten bzgl. Endstops haben jedoch dazu geführt, dass ich noch einen Fehler beim BLTouch im Vorfeld beheben konnte, über den ich ohnehin gestolpert wäre.

Die automatische Bettnivellierung hat so jedenfalls auf Anhieb korrekt funktioniert.

Ich danke alle, die versucht haben mein (auf Dummheit begründetes) Problem zu lösen vielmals!!!

2-mal bearbeitet. Zuletzt am 28.01.19 17:24.
Re: Invert-Problem (Marlin)
28. January 2019 19:13
@Hallo Reflexer

Quote

Sobald man die beiden Motoren korrekt anschließt - sprich den Min-Motor an X und den Max-Motor an Y geht alles wunderbar....
Das hätte ich wohl als nächstes gefragt ob dein X-Motor.Links und dein Y-Motor-Rechts an geschlossen hast.


MFG Stefan


Mein erster grinning smiley Drucker ein Prusa Mendel i2 + RAMPS 1.4 & LCD 12864 Graphic Smart Controller,
P3Steel Mein P3Steel noch im bau
Marlin 2.0
In diesem Forum dürfen leider nur registrierte Teilnehmer schreiben.

Klicke hier, um Dich einzuloggen