Welcome! Log In Create A New Profile

Advanced

problema autohome prusa i3

Posted by giuseppe_reprap 
problema autohome prusa i3
May 11, 2018 03:32PM






Ciao a tutti, sono un ragazzo che sta lavorando alla realizzazione di una prusa i3.
Durante le fasi di test sto riscontrando dei problemi nella posizione home degli assi.
Allego qualche foto per rendere l'idea di questo problema.
il mio obiettivo è quello di far coincidere l'ugello all'angolo della superficie di vetro.
ho provato tantissimi metodi, letti da internet, ma non ci sono riuscito. compresi i comandi gcode g92 e m206 per impostare gli offset.
qualcuno riuscirà a darmi delle dritte?

Allego anche parte del codice:
// @section homing

// Specify here all the endstop connectors that are connected to any endstop or probe.
// Almost all printers will be using one per axis. Probes will use one or more of the
// extra connectors. Leave undefined any used for non-endstop and non-probe purposes.
//#define USE_XMIN_PLUG
#define USE_YMIN_PLUG
#define USE_ZMIN_PLUG
#define USE_XMAX_PLUG
//#define USE_YMAX_PLUG
//#define USE_ZMAX_PLUG

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

#if DISABLED(ENDSTOPPULLUPS)
  // fine endstop 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
  //#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 false // 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 X_MAX_ENDSTOP_INVERTING true // 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.

---------------------------------------------------------------------------------------------
// @section homing

//#define NO_MOTION_BEFORE_HOMING  // Inhibit movement until all axes have been homed

#define Z_HOMING_HEIGHT 20  // (in mm) Minimal z height before homing (G28) for Z clearance above the bed, clamps, ...
                             // Be sure you have this distance over your Z_MAX_POS in case.

// Direction of endstops when homing; 1=MAX, -1=MIN
// :[-1,1]
#define X_HOME_DIR 1 // 1 = posiz home x -> endstop a destra(connessione in ramps su xmax pins) il contrario vale per -1
#define Y_HOME_DIR -1 // -1 = posiz home y -> endstop sul retro (connessione in ramps su ymin pins) il contrario vale per 1
#define Z_HOME_DIR -1 // -1 = posiz home z -> endstop in basso 
// posizione home x= 1; y= -1; z= -1 -> carrello x a destra, piatto y dietro e z in basso

// @section machine

// The size of the print bed
#define X_BED_SIZE 200
#define Y_BED_SIZE 200

// 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 200

/**
 * Software Endstops
 *
 * - Prevent moves outside the set machine bounds.
 * - Individual axes can be disabled, if desired.
 * - X and Y only apply to Cartesian robots.
 * - Use 'M211' to set software endstops on/off or report current state
 */

// Min software endstops curtail movement below minimum coordinate bounds
#define MIN_SOFTWARE_ENDSTOPS
#if ENABLED(MIN_SOFTWARE_ENDSTOPS)
  #define MIN_SOFTWARE_ENDSTOP_X
  #define MIN_SOFTWARE_ENDSTOP_Y
  #define MIN_SOFTWARE_ENDSTOP_Z
#endif

// Max software endstops curtail movement above maximum coordinate bounds
#define MAX_SOFTWARE_ENDSTOPS
#if ENABLED(MAX_SOFTWARE_ENDSTOPS)
  #define MAX_SOFTWARE_ENDSTOP_X
  #define MAX_SOFTWARE_ENDSTOP_Y
  #define MAX_SOFTWARE_ENDSTOP_Z
#endif
----------------------------------------------------------------------------------
// @section homing

// The center of the bed is at (X=0, Y=0)
//#define BED_CENTER_AT_0_0

// Manually set the home position. Leave these undefined for automatic settings.
// For DELTA this is the top-center of the Cartesian print volume.
//#define MANUAL_X_HOME_POS 196.4
//#define MANUAL_Y_HOME_POS 15.5
//#define MANUAL_Z_HOME_POS 2.4

// Use "Z Safe Homing" to avoid homing with a Z probe outside the bed area.
//
// With this feature enabled:
//
// - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
// - If stepper drivers time out, it will need X and Y homing again before Z homing.
// - Move the Z probe (or nozzle) to a defined XY point before Z Homing when homing all axes (G28).
// - Prevent Z homing when the Z probe is outside bed area.
//
//#define Z_SAFE_HOMING

#if ENABLED(Z_SAFE_HOMING)
  #define Z_SAFE_HOMING_X_POINT ((X_BED_SIZE) / 2)    // X point for Z homing when homing all axes (G28).
  #define Z_SAFE_HOMING_Y_POINT ((Y_BED_SIZE) / 2)    // Y point for Z homing when homing all axes (G28).
#endif

// Homing speeds (mm/m)
#define HOMING_FEEDRATE_XY (50*60)
#define HOMING_FEEDRATE_Z  (4*60)

Re: problema autohome prusa i3
May 11, 2018 05:38PM
Non è importante che il nozzle si trovi nell'angolo del vetro al momento della home ma che vada li quando gli viene dato il comando G1 X0 Y0.
Vedo che hai la home di X su max quindi devi modificare #define X_BED_SIZE 200 in modo che con il valore opportuno a x corrisponda l'angolo sinistro.
Mentre per Y fai la home su min quindi con il piatto tutto dietro se il nozzle in quella situazione è fuori dal piatto allora modifichi #define Y_MIN_POS 0 mettendo un valore negativo in modo che lo 0 corrisponda sempre all'angolo sinistro fronte del piatto.
Per capirci se facendo lo zero di y e per far arrivare il nozzle sul piatto ci vogliono 9 mm metterai -9 su #define Y_MIN_POS in questo modo lo 0 corrisponderà a inizio piatto..


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: problema autohome prusa i3
May 15, 2018 05:12PM
quei valori in MANUAL_X_HOME_POS, MANUAL_Y_HOME_POS MANUAL_Z_HOME_POS erano stati inseriti perché stavo facendo delle prove inserendo gli offset con il comando m206.

Ho risolto inserendo in Y_MIN_POS -17.40 (che sarebbe l'offset necessario per far cadere l'ugello sul bordo del piatto).
In questo modo digitando G1 Y0 il piatto si posiziona nel modo corretto mentre se digito G28 torna nella posizione home, appoggiandosi agli endstop, lasciando l'ugello fuori dal piatto.

Durante la stampa posso stare tranquillo quindi?
Re: problema autohome prusa i3
May 16, 2018 08:24AM
Certo.. ora il punto 0 è sul piatto.. il punto della home non conta nulla serve solo per conoscere la posizione, dopo g28 sa dove si trova nello spazio e sa che il punto 0 è a +17.40 rispetto a dove si trova...


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Sorry, only registered users may post in this forum.

Click here to login