Welcome! Log In Create A New Profile

Advanced

Finecorsa asse Z problemi

Posted by luk&fed 
Finecorsa asse Z problemi
December 13, 2013 06:52AM
Ciao a tutti.

Ho una stampante con con le stesse movimentazioni di una makerbot o ultimaker (+ coreXY).
Adesso ho l'asse Z invertito, cioè che da pronterface cliccando sali lui scendo e viceversa.
Allora vado su marlin ed inverso da false a true (#define INVERT_Z_DIR true // for Mendel set to false, for Orca set to true) per invertire il senso del motore.
Facendo questo passaggio il finecorsa non lo rileva più verso l'alto cioè l'home, ma funziona solo se mando il piano verso il basso e provo a schiacciarlo, in questo modo si stoppa, ma la cosa è errata.
Ho provato a cambiare da -1 a 1 (#define Z_HOME_DIR -1) ma non cambia nulla, fa la stessa cosa.

Ci sono altri parametri da cambiare? Magari in configuration_adv.h
Ho provato tutte le combinazioni di modifica ma non vanno mai.

Spero di ricevere qualche aiuto perché questo problema non mi permette di stampare soprattutto con il programma Cura.

Grazie mille


//===========================================================================
//=============================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 true     // 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.

//============================= Bed Auto Leveling ===========================

//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)

#ifdef ENABLE_AUTO_BED_LEVELING

  // these are the positions on the bed to do the probing
  #define LEFT_PROBE_BED_POSITION 15
  #define RIGHT_PROBE_BED_POSITION 170
  #define BACK_PROBE_BED_POSITION 180
  #define FRONT_PROBE_BED_POSITION 20

  // these are the offsets to the prob relative to the extruder tip (Hotend - Probe)
  #define X_PROBE_OFFSET_FROM_EXTRUDER -25
  #define Y_PROBE_OFFSET_FROM_EXTRUDER -29
  #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35

  #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
                                        // Be sure you have this distance over your Z_MAX_POS in case
    
  #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min
  
  #define Z_RAISE_BEFORE_PROBING 15    //How much the extruder will be raised before traveling to the first probing point.
  #define Z_RAISE_BETWEEN_PROBINGS 5  //How much the extruder will be raised when traveling from between next probing points


  //If defined, the Probe servo will be turned on only during movement and then turned off to avoid jerk
  //The value is the delay to turn the servo off after powered on - depends on the servo speed; 300ms is good value, but you can try lower it.
  // You MUST HAVE the SERVO_ENDSTOPS defined to use here a value higher than zero otherwise your code will not compile.

//  #define PROBE_SERVO_DEACTIVATION_DELAY 300  
  
#endif

// Travel limits after homing
#define X_MAX_POS 250
#define X_MIN_POS 0
#define Y_MAX_POS 204
#define Y_MIN_POS 0
#define Z_MAX_POS 160
#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:
// 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 {50*60, 50*60, 4*60, 0}  // set the homing speeds (mm/min)

Re: Finecorsa asse Z problemi
December 13, 2013 09:10AM
Grazie a tutti

Edited 1 time(s). Last edit at 12/13/2013 09:31AM by luk&fed.
Re: Finecorsa asse Z problemi
December 13, 2013 12:55PM
ma non si è mica capito bene bene cosa intendi....

quando dici:
"Facendo questo passaggio il finecorsa non lo rileva più verso l'alto cioè l'home, ma funziona solo se mando il piano verso il basso e provo a schiacciarlo, in questo modo si stoppa, ma la cosa è errata. "

vuoi dire che comunque va alla rovescia l'asse Z?
...o intendi dire che l'endstop funziona "solo" se l'asse va al contrario?

Hai provato eventualmente a scambiare i fili del motore?, se cerchi nella wiki trovi anche il modo di invertire i motori in "hw"


Davide
Immagina e Crea
Progetto Flusso canalizzatore 4 vie
My Thingiverse
Re: Finecorsa asse Z problemi
December 13, 2013 06:11PM
In effetti non si capisce bene.

L'asse Z va al contrario da pronterface (premo SU, il piano scende, quandro premo GIU' il piano sale) clicco su home, lui sale e va a premere il finecorsa e si ferma. Funziona ma non è sua madre perché i comandi vanno al contrario e con il software Cura mi da problemi.

Se da Marlin sistemo ed inverto il senso di rotazione del motore di Z, il finecorsa funziona, ma nella direzione verso il basso. Cioè se il piano sale e tocca l'endstop questo non si ferma. Se il piano scende e io con la mano provo a schiacciare il sensore (che si trova sempre in alto) il piano si ferma.

A questo punto se inverso il posizionamento dello limit switch da -1 a 1 (su marlin), non funziona comunque, il piano sale ma non si ferma.

E' più difficile a spiegarlo che altro.

Non ho provato ad invertire i fili, li ho tenuti tutti uguali per i motori, ho letto che sia meglio modificare il firmware.

Edited 2 time(s). Last edit at 12/13/2013 06:15PM by luk&fed.
Re: Finecorsa asse Z problemi
December 13, 2013 06:20PM
dico... ma stai scherzando o cosa......
se premi "SU" con repetier vuol dire che "allontani il piano" dalla testa..... "GIU" l'avvicina... quindi... a quanto o potuto capire dalla tua meccanica "va bene" come sta andando ora
Hai l'hotend su XY, hai il piano che scende (Z)?
Allora... non guardare il senso delle frecce.... pensa a come funziona la tua ... freccia su.... il piano DEVE andare giù....
Freccia giù..... su il piano... home... su il piano fino all'endstop.....

è l'orario e sono io che non ho capito una "beneamata" o..... ho detto giusto e .... hai fatto un poco di confusione con le direzioni delle frecce.....

edito perchè dò sempre per scontato l'uso di repetier... e tu parli di pronterface.... ma deve essere la stessa cosa....

Edited 1 time(s). Last edit at 12/13/2013 06:22PM by immaginaecrea.


Davide
Immagina e Crea
Progetto Flusso canalizzatore 4 vie
My Thingiverse
Re: Finecorsa asse Z problemi
December 16, 2013 05:47AM
Si ho l'hotend su X Y, ed il piano Z scende.
Dunque non importa le direzioni dell'asse sul programma, questo vuoi dire? Lascio tutto com'è e come si vede sul marlin qua in alto.

Non capisco perché con il programma Cura il piano sale tocca il finecorsa, poi scende a scatti per risalire ma 5mm più altro dell'endstop, dunque andandomi a schiacciare la punta dell'hotend.
Pensavo che questo problema fosse collegato a qualche errore su Marlin. ma se dici che non c'entra niente.

Grazie
Re: Finecorsa asse Z problemi
December 16, 2013 07:50AM
ma non l'hai spiegata così prima......

il fatto che quando fai home o fai partire la stampa che inizia sempre con un "home", il piano salga e faccia un "rimbalzo" è normale, è il firmware stesso che si avvicina e fa lo stop in 2 tempi, prima avvicina in fretta il piano, al momento che si attiva l'endstop si ferma torna su qualche millimetro e "molto" più lentamente riporta a 0 riattivando nuovamente l'endstop.

Non è normale invece che schiacci la punta dell'hotend, regola "fisicamente" l'endstop in modo che l'hotend "sfiori" il piano.

Comunque nei comandi dei movimenti non ci sono SU o GIU' ma PIU' e MENO partendo dallo 0.
Quindi Più vuol dire Più distanza dalla testina.... meno..... è conseguenziale.


Davide
Immagina e Crea
Progetto Flusso canalizzatore 4 vie
My Thingiverse
Re: Finecorsa asse Z problemi
December 17, 2013 05:16PM
Grazie Davide,

praticamente è giusto così com'è. C'era una serie di errori che ho sistemato che facevano fare dei giochetti strani all'asse Z, adesso si ferma regolarmente.
Sorry, only registered users may post in this forum.

Click here to login