Willkommen! Anmelden Ein neues Profil erzeugen

Erweiterte Suche

K8200: Software / Firmware Änderung bzgl. Umbau X-Achse vom Tisch zu Extruder

geschrieben von BerndeDGF 
K8200: Software / Firmware Änderung bzgl. Umbau X-Achse vom Tisch zu Extruder
23. December 2017 15:04
Hallo,

bin gerade dabei meinen K8200 umzubauen und drucke gerade folgende Upgrades aus: [www.thingiverse.com]

Original K8200:

- An der X-Achse ist der Tisch befestigt (Rechts / Links). Wenn der Tisch nach Rechts Richtung Endstop fährt und diesen Trifft, wird genullt (Homing) Der Extruderkopf steht somit Links..

Umbau K8200:

- Da ab dem Umbau der Extruder an der X-Achse befestigt wird (Rechts / Links) und dieser nun nach Rechts in Richtung Endstop gefahren wird, steht der Extruder aber beim erreichen des Endstop's nicht auf 0, sondern auf 200.

Ich muss also den Endstop von MIN auf MAX ändern, die Motorrichtung müsste nicht getauscht werden, da diese ja noch überein stimmt. Nun weiß ich nicht genau, was ich in der Marlin Firmware alles ändern muss, das hier der Ausschnitt von der Original K8200 Marlin Software:

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

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

// corse 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 ignord 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_ENDSTOPS_INVERTING = false; // set to true to invert the logic of the endstops.
const bool Y_ENDSTOPS_INVERTING = false; // set to true to invert the logic of the endstops.
const bool Z_ENDSTOPS_INVERTING = false; // set to true to invert the logic of the endstops.
//#define DISABLE_MAX_ENDSTOPS

// 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 true
#define DISABLE_E false // For all extruders

#define INVERT_X_DIR false    // for Mendel set to false, for Orca set to true
#define INVERT_Y_DIR false    // 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 true   // for direct drive extruder v9 set to true, for geared extruder set to false
#define INVERT_E1_DIR true    // for direct drive extruder v9 set to true, for geared extruder set to false
#define INVERT_E2_DIR true   // 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 200
#define X_MIN_POS 0
#define Y_MAX_POS 200
#define Y_MIN_POS 0
#define Z_MAX_POS 220
#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_0_0  // If defined, the center of the bed is at (X=0, Y=0)

//Manual homing switch locations:
#define MANUAL_X_HOME_POS 0
#define MANUAL_Y_HOME_POS 0
#define MANUAL_Z_HOME_POS 0

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

// default settings

#define DEFAULT_AXIS_STEPS_PER_UNIT   {64.25,64.25,2133.333,600}  // default steps per unit for ultimaker
#define DEFAULT_MAX_FEEDRATE          {500, 500, 5, 500}    // (mm/sec)
#define DEFAULT_MAX_ACCELERATION      {9000,9000,100,10000}    // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for skeinforge 40+, for older versions raise them a lot.

#define DEFAULT_ACCELERATION          1000    // X, Y, Z and E max acceleration in mm/s^2 for printing moves
#define DEFAULT_RETRACT_ACCELERATION  1000   // X, Y, Z and E max acceleration in mm/s^2 for r retracts

// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
// For the other hotends it is their distance from the extruder 0 hotend.
// #define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
// #define EXTRUDER_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis

// The speed change that does not require acceleration (i.e. the software might assume it can be done instanteneously)
#define DEFAULT_XYJERK                20.0    // (mm/sec)
#define DEFAULT_ZJERK                 0.4     // (mm/sec)
#define DEFAULT_EJERK                 5.0    // (mm/sec)

Mit freundlichen Grüßen
BerndeDGF


1-mal bearbeitet. Zuletzt am 23.12.17 15:16.
Re: K8200: Software / Firmware Änderung bzgl. Umbau X-Achse vom Tisch zu Extruder
23. December 2017 15:33
Das ist alles:
//  #define ENDSTOPPULLUP_XMAX ;Striche weg
...
#define X_HOME_DIR -1 ;auf 1 setzen
Herzl. Grüße
Re: K8200: Software / Firmware Änderung bzgl. Umbau X-Achse vom Tisch zu Extruder
23. December 2017 15:55
Quote
AlterBastler
Das ist alles:
//  #define ENDSTOPPULLUP_XMAX ;Striche weg
...
#define X_HOME_DIR -1 ;auf 1 setzen
Herzl. Grüße

Hallo,

Danke für die schnelle Antwort.

muss ich bei   #define ENDSTOPPULLUP_XMIN noch die // Striche davor machen?

Mir ist jedoch gerade aufgefallen, das ich doch noch die Motorrichtung drehen muss. Dies kann ich soweit gelesen auf 2 arten machen. die Mechanische Lösung wäre einfach die Motorleitungen um 180° drehen. Was müsste ich bei der Softwaretechnischen machen? Anschließend muss ich ja nicht nur den Endstop auf MAX setzen wie bereits oben beschrieben sondern auch, das dieser beim Homen in die andere Richtung fährt.

Gruß
BerndeDGF

1-mal bearbeitet. Zuletzt am 23.12.17 16:20.
Re: K8200: Software / Firmware Änderung bzgl. Umbau X-Achse vom Tisch zu Extruder
23. December 2017 17:06
#define INVERT_X_DIR false ;auf true ändert die Richtung

Die Richtung beim Homen wird durch X_HOME_DIR bestimmt. Bei 1 fährt er nach Max, bei -1 nach Min.
Die Pullup-Einstellung für X_MIN kannst Du auskommentieren, spielt aber keine Rolle.

Herzl. Grüße
Re: K8200: Software / Firmware Änderung bzgl. Umbau X-Achse vom Tisch zu Extruder
23. December 2017 17:20
Quote
AlterBastler
#define INVERT_X_DIR false ;auf true ändert die Richtung

Die Richtung beim Homen wird durch X_HOME_DIR bestimmt. Bei 1 fährt er nach Max, bei -1 nach Min.
Die Pullup-Einstellung für X_MIN kannst Du auskommentieren, spielt aber keine Rolle.

Herzl. Grüße

Hallo AlterBastler,

also nur nochmal zum Verständniss:

#define ENDSTOPPULLUP_XMAX ; Der Endstop MAX wird aktiv
//  #define ENDSTOPPULLUP_XMIN  ; "//" Striche hinzufügen, der Endstop MIN wird deaktiviert
...
#define INVERT_X_DIR true ; Heißt, das die Richtung des Motors generell umgedreht wird
...
#define X_HOME_DIR 1 ; Heißt, beim Homen fährt dieser auf MAX, sprich der Motor dreht in die andere Richtung wie MIN

Würde ich nur die #define INVERT_X_DIR True setze, würde der Motor in die Gegengesetzte Richtung drehen, und beim fahren auf Home würde dieser jetzt anstatt nach Rechts, nach Links weg von meinem Endschalter fahren, weil bei #define X_HOME_DIR -1 steht? Ändere ich nun die #define X_HOME_DIR 1, würde der Motor beim Homen wieder nach Rechts auf meinen Endschalter fahren, und beim erreichen des Endschalters Max sagen, da ich diesen #define ENDSTOPPULLUP_XMAX aktiviert und // #define ENDSTOPPULLUP_XMIN deaktiviert habe?!

Gruß
BerndeDGF


4-mal bearbeitet. Zuletzt am 23.12.17 17:31.
Re: K8200: Software / Firmware Änderung bzgl. Umbau X-Achse vom Tisch zu Extruder
23. December 2017 17:27
Ja. Wobei der Pullup den Endstop nicht "aktiviert".
Der Pullup ist erforderlich, weil hier der Endstop gegen Masse schaltet.
Am Pin liegt dadurch eine 1 (High) an, bei betätigtem Endstop eine 0 (Low).

Herzl. Grüße
Re: K8200: Software / Firmware Änderung bzgl. Umbau X-Achse vom Tisch zu Extruder
23. December 2017 17:33
Quote
AlterBastler
Ja. Wobei der Pullup den Endstop nicht "aktiviert".
Der Pullup ist erforderlich, weil hier der Endstop gegen Masse schaltet.
Am Pin liegt dadurch eine 1 (High) an, bei betätigtem Endstop eine 0 (Low).

Herzl. Grüße

Verdrahtundsmäßig bei dem Endstop muss ich aber nichts ändern oder? Bin gerade etwas verwirrt confused smiley
Re: K8200: Software / Firmware Änderung bzgl. Umbau X-Achse vom Tisch zu Extruder
23. December 2017 17:39
Nein, nur die Änderungen in der Software.
Das Board vom K8200 hat ja nur jeweils einen Endstopanschluß für X,Y und Z.

Herzl. Grüße
Re: K8200: Software / Firmware Änderung bzgl. Umbau X-Achse vom Tisch zu Extruder
28. December 2017 15:38
Hallo,

habe dies jetzt so gemacht. Wenn ich mit der X-Achse auf Home drücke, wird einfach 0 gesetzt...

Wenn ich die Original Firmware vor den Änderungen einspiele, sprich vor dem Umdrehen der X-Achse, fährt dieser wie gewohnt gegen den Endstop, bleibt stehen und setzt sich auf 0... Also am Endschalter selbst kann es nicht liegen.

Beim K8200 haben die Endstop Pins 3 Anschlüsse, jedoch werden nur die äußeren 2 benutzt.

Gruß
BerndeDGF


2-mal bearbeitet. Zuletzt am 28.12.17 16:57.
Re: K8200: Software / Firmware Änderung bzgl. Umbau X-Achse vom Tisch zu Extruder
28. December 2017 17:11
Tut mir leid, kann ich nicht nachvollziehen. Ist auch eine ältere Marlin-Version.
Ich kann nur raten. Versuch das mal:
// The position of the homing switches
#define MANUAL_HOME_POSITIONS  // If defined, MANUAL_*_HOME_POS below will be used
//#define BED_CENTER_AT_0_0  // If defined, the center of the bed is at (X=0, Y=0)

//Manual homing switch locations:
#define MANUAL_X_HOME_POS 200
Herzl. Grüße
Re: K8200: Software / Firmware Änderung bzgl. Umbau X-Achse vom Tisch zu Extruder
28. December 2017 17:32
Quote
AlterBastler
Tut mir leid, kann ich nicht nachvollziehen. Ist auch eine ältere Marlin-Version.
Ich kann nur raten. Versuch das mal:
// The position of the homing switches
#define MANUAL_HOME_POSITIONS  // If defined, MANUAL_*_HOME_POS below will be used
//#define BED_CENTER_AT_0_0  // If defined, the center of the bed is at (X=0, Y=0)

//Manual homing switch locations:
#define MANUAL_X_HOME_POS 200
Herzl. Grüße

Funktioniert leider auch nicht. Sobald ich

#define X_HOME_DIR 1 ;

einstelle, setzt er mir nur noch die Home Pos ohne auf Endschalter zu fahren.

mit der Original einstellung druckt er mir jetzt Spiegelverkehrt, das heißt ich kann jetzt Teile konstruieren und ausdrucken, um den Endstop auf die andere Seite zu bringen. Dann müsst ich nur noch die Motorrichtung ändern und schon würde es wieder funktionieren...

2-mal bearbeitet. Zuletzt am 28.12.17 18:10.
In diesem Forum dürfen leider nur registrierte Teilnehmer schreiben.

Klicke hier, um Dich einzuloggen