Willkommen! Anmelden Ein neues Profil erzeugen

Erweiterte Suche

Mal was einfaches... Endstops einstellen

geschrieben von HannesB 
Mal was einfaches... Endstops einstellen
24. August 2013 17:28
Hallo Leute,
sorry, wenn ich jetzt eine dumme Frage stelle und die Antwort hier im Forum sicherlich schon zu finden ist. Aber ich bin des "googlens" und "Forumdurchsuchens" überdrüssig. Zu viel Zeit habe ich damit schon verbracht und warum soll ich unendlich suchen, wenn hier die Fachleute sitzen....
Also ich habe einen Endstop am Ende von +X, einen am Ende von +Y und den dritten am Ende von +Z. Da mein Verfahrweg viel größer ist als mein Druckbett liegen die Endstopps für X und Y jenseits des Druckbetts (Tipps zum Offset erwünscht!). Wenn ich einen Endstop erreiche, so wird nicht gestoppt, sondern die Gegenrichtung gesperrt. Ich habe an diversen Stellen true in false geändert (oder umgekehrt), aber den richtigen Einrag wohl nie erwischt. Für euch Profis sollte das leicht sein...
Schöne Grüße
Hannes
Re: Mal was einfaches... Endstops einstellen
24. August 2013 17:41
Quote
//// ENDSTOP SETTINGS:
// Sets direction of endstops when homing; 1=MAX, -1=MIN
#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1


Die -1 auf 1 stellen, ist glaube ich was du suchst (bei repetier).
Re: Mal was einfaches... Endstops einstellen
24. August 2013 17:55
Hallo Hannes


true und false beziehen sich nur auf die Logigpegel – so belassen das die Sperre der Gegenrichtung funktioniert. Das heiß ja auch der Endstop funktioniert.
Deine Zeilen ein paar mal durchgelesen. Vermutlich die Endstop/Pinzuordnung – max/min vertauscht.
Alternative Möglichkeit – Du musst die Drehrichtung der Motoren verändern. Bei einer der beiden Wicklungen die Drähte vertauschen oder aber in der config.h invert_?_dir von true/false ändern.


MfG uwe94
Re: Mal was einfaches... Endstops einstellen
25. August 2013 06:17
Quote

Also ich habe einen Endstop am Ende von +X, einen am Ende von +Y und den dritten am Ende von +Z.

Damit hast Du nicht die üblichen Min-Endstops, sondern Max-Endstops. Das sollte man in der Konfiguration entsprechend ändern (und die Grösse des Bauraums angeben, was bei Max-Endstops notwendig ist).

Quote

Da mein Verfahrweg viel größer ist als mein Druckbett liegen die Endstopps für X und Y jenseits des Druckbetts

Das macht nichts. Der Drucker verfährt nach dem gesendeten G-code und der wird im Slicer bestimmt.


Generation 7 Electronics Teacup Firmware RepRap DIY
     
Re: Mal was einfaches... Endstops einstellen
25. August 2013 12:43
Vielen Dank für eure Tips. X und Y Endstop habe ich einfach umgebaut. Es sieht jetzt, wenn ich vor dem Drucker stehe, so aus: Der Endstop für X ist links, der für Y vorne und der für Z oben. Da alles jetzt wunderbar funktioniert hier für alle mit ähnlichen Fragen der Ausschintt aus der Marlin V1- Firmware:


//===========================================================================
//=============================Mechanical Settings===========================
//===========================================================================

// Uncomment the following line to enable CoreXY kinematics
// #define COREXY

// coarse Endstop Settings
#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors

#ifndef ENDSTOPPULLUPS
// fine Enstop settings: Individual Pullups. will be ignored if ENDSTOPPULLUPS is defined
// #define ENDSTOPPULLUP_XMAX
// #define ENDSTOPPULLUP_YMAX
// #define ENDSTOPPULLUP_ZMAX
// #define ENDSTOPPULLUP_XMIN
// #define ENDSTOPPULLUP_YMIN
// #define ENDSTOPPULLUP_ZMIN
#endif

#ifdef ENDSTOPPULLUPS
#define ENDSTOPPULLUP_XMAX
#define ENDSTOPPULLUP_YMAX
#define ENDSTOPPULLUP_ZMAX
#define ENDSTOPPULLUP_XMIN
#define ENDSTOPPULLUP_YMIN
#define ENDSTOPPULLUP_ZMIN
#endif

// The pullups are needed if you directly connect a mechanical endswitch between the signal and ground pins.
const bool X_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
const bool Y_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
const bool Z_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
const bool X_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
const bool Y_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
#define DISABLE_MAX_ENDSTOPS //#define DISABLE_MIN_ENDSTOPS

// Disable max endstops for compatibility with endstop checking routine
#if defined(COREXY) && !defined(DISABLE_MAX_ENDSTOPS)
#define DISABLE_MAX_ENDSTOPS
#endif

// 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 when it's not being used.
#define DISABLE_X false
#define DISABLE_Y false
#define DISABLE_Z false
#define DISABLE_E false // For all extruders

#define INVERT_X_DIR true // for Mendel set to false, for Orca set to true
#define INVERT_Y_DIR true // for Mendel set to true, for Orca set to false
#define INVERT_Z_DIR false // for Mendel set to false, for Orca set to true
#define INVERT_E0_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false
#define INVERT_E1_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false
#define INVERT_E2_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false

// ENDSTOP SETTINGS:
// Sets direction of endstops when homing; 1=MAX, -1=MIN
#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1

#define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS.
#define max_software_endstops true // If true, axis won't move to coordinates greater than the defined lengths below.
// Travel limits after homing
#define X_MAX_POS 300
#define X_MIN_POS -10
#define Y_MAX_POS 205
#define Y_MIN_POS -10
#define Z_MAX_POS 180
#define Z_MIN_POS 0

#define X_MAX_LENGTH (X_MAX_POS - X_MIN_POS)
#define Y_MAX_LENGTH (Y_MAX_POS - Y_MIN_POS)
#define Z_MAX_LENGTH (Z_MAX_POS - Z_MIN_POS)

// The position of the homing switches
#define MANUAL_HOME_POSITIONS // If defined, MANUAL_*_HOME_POS below will be used
#define BED_CENTER_AT_100_100 // If defined, the center of the bed is at (X=0, Y=0) // Geändert !

//Manual homing switch locations:
// For deltabots this means top and center of the cartesian print volume.
#define MANUAL_X_HOME_POS 0
#define MANUAL_Y_HOME_POS 0
#define MANUAL_Z_HOME_POS 0
//#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.


//// MOVEMENT SETTINGS
#define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E
#define HOMING_FEEDRATE {20*60, 20*60, 4*60, 0} // set the homing speeds (mm/min)

1-mal bearbeitet. Zuletzt am 25.08.13 12:45.
Re: Mal was einfaches... Endstops einstellen
25. August 2013 12:46
hast du ein längliches Druckbett?
X ist breiter als Y

Und hast du Min Max Endstops?
Re: Mal was einfaches... Endstops einstellen
25. August 2013 14:03
Nein, mein Druckbett ist nicht länglich, aber ich fahre die Z- Achse nur rauf und runter und der Extruder fährt in X- und Y- Richtung. Da mein Min-Stop ca 10 cm neben dem Druckbett liegt muss er 30 cm fahren um ans Ende des 20 cm breiten Druckbetts zu komen. Oder sehe ich das etwa falsch? Max- Endstops habe ich nicht, da brecmst die Firmware. Da das Funktioniert habe ich nicht weiter an der Firmware rumgespielt...
Schönen Gruß
Hannes
In diesem Forum dürfen leider nur registrierte Teilnehmer schreiben.

Klicke hier, um Dich einzuloggen