Welcome! Log In Create A New Profile

Advanced

Extruder offset and homing

Posted by 3ntrlab 
Extruder offset and homing
September 28, 2013 11:21AM
Setting the 2nd extruder X offset (with LCD panel), let's say 20mm (value inserted 2000, if 100 steps X
/mm )
Now, asking for X homing I get the same offset (carriage bounces back 20mm).
Once 2nd extruder is selected, the carriage is 40mm away from homing position..

What the...?!?

Davide Ardizzoia


==============================
no toys here...sorry
Re: Extruder offset and homing
September 28, 2013 01:58PM
What do you mean. With T0 selected G28 X0 should go 20mm to the right.
What is with the second extruder. It T1 is selected and you do G28 X0 it should not move. Switching to T1 should then move right.
Homing
T0
G28 X0
T1
Should then move left.

Which combination goes wrong? WIth 0.83 version I assume?


Repetier-Software - the home of Repetier-Host (Windows, Linux and Mac OS X) and Repetier-Firmware.
Repetier-Server - the solution to control your printer from everywhere.
Visit us on Facebook and Twitter!
Re: Extruder offset and homing
September 29, 2013 11:46AM
Hello (Roland?)
Yes, v 0.83
My homing position is at Max_x.
That said, with any extruder selected, after homing the carriage is offset (20mm if T0 selected, 40mm if T1 selected).


Here follow an excerpt from my config.h about endstop and homing (in case I've done anything wrong).

Bye
Davide

// ##########################################################################################
// ## Endstop configuration ##
// ##########################################################################################

/* By default all endstops are pulled up to high. You need a pullup if you
use a mechanical endstop connected with gnd. Set value to false for no pullup
on this endstop.
*/
#define ENDSTOP_PULLUP_X_MIN false
#define ENDSTOP_PULLUP_Y_MIN false
#define ENDSTOP_PULLUP_Z_MIN false
#define ENDSTOP_PULLUP_X_MAX true
#define ENDSTOP_PULLUP_Y_MAX true
#define ENDSTOP_PULLUP_Z_MAX true

//set to true to invert the logic of the endstops
#define ENDSTOP_X_MIN_INVERTING true
#define ENDSTOP_Y_MIN_INVERTING true
#define ENDSTOP_Z_MIN_INVERTING true
#define ENDSTOP_X_MAX_INVERTING false
#define ENDSTOP_Y_MAX_INVERTING false
#define ENDSTOP_Z_MAX_INVERTING false

// Set the values true where you have a hardware endstop. The Pin numbe ris taken from pins.h.

#define MIN_HARDWARE_ENDSTOP_X false
#define MIN_HARDWARE_ENDSTOP_Y false
#define MIN_HARDWARE_ENDSTOP_Z false
#define MAX_HARDWARE_ENDSTOP_X true
#define MAX_HARDWARE_ENDSTOP_Y true
#define MAX_HARDWARE_ENDSTOP_Z true

//If your axes are only moving in one direction, make sure the endstops are connected properly.
//If your axes move in one direction ONLY when the endstops are triggered, set ENDSTOPS_INVERTING to true here



//// ADVANCED SETTINGS - to tweak parameters

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

// Disables axis when it's not being used.
#define DISABLE_X false
#define DISABLE_Y false
#define DISABLE_Z false
#define DISABLE_E false

// Inverting axis direction
#define INVERT_X_DIR true
#define INVERT_Y_DIR true
#define INVERT_Z_DIR true

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

// Delta robot radius endstop
#define max_software_endstop_r true

//If true, axis won't move to coordinates less than zero.
#define min_software_endstop_x true
#define min_software_endstop_y true
#define min_software_endstop_z true

//If true, axis won't move to coordinates greater than the defined lengths below.
#define max_software_endstop_x true
#define max_software_endstop_y true
#define max_software_endstop_z true

// If during homing the endstop is reached, ho many mm should the printer move back for the second try
#define ENDSTOP_X_BACK_MOVE 10
#define ENDSTOP_Y_BACK_MOVE 10
#define ENDSTOP_Z_BACK_MOVE 2

// For higher precision you can reduce the speed for the second test on the endstop
// during homing operation. The homing speed is divided by the value. 1 = same speed, 2 = half speed
#define ENDSTOP_X_RETEST_REDUCTION_FACTOR 2
#define ENDSTOP_Y_RETEST_REDUCTION_FACTOR 2
#define ENDSTOP_Z_RETEST_REDUCTION_FACTOR 2

// When you have several endstops in one circuit you need to disable it after homing by moving a
// small amount back. This is also the case with H-belt systems.
#define ENDSTOP_X_BACK_ON_HOME 0.5
#define ENDSTOP_Y_BACK_ON_HOME 0.5
#define ENDSTOP_Z_BACK_ON_HOME 0

// You can disable endstop checking for print moves. This is needed, if you get sometimes
// false signals from your endstops. If your endstops don't give false signals, you
// can set it on for safety.
#define ALWAYS_CHECK_ENDSTOPS false

// maximum positions in mm - only fixed numbers!
// For delta robot Z_MAX_LENGTH is maximum travel of the towers and should be set to the distance between the hotend
// and the platform when the printer is at its home position.
// If EEPROM is enabled these values will be overidden with the values in the EEPROM
#define X_MAX_LENGTH 303
#define Y_MAX_LENGTH 223
#define Z_MAX_LENGTH 216

// Coordinates for the minimum axis. Can also be negative if you want to have the bed start at 0 and the printer can go to the left side
// of the bed. Maximum coordinate is given by adding the above X_MAX_LENGTH values.
#define X_MIN_POS 0
#define Y_MIN_POS 0
#define Z_MIN_POS 0


==============================
no toys here...sorry
Re: Extruder offset and homing
September 29, 2013 12:05PM
Ok,

homing to max_x explains it. That is not supported correctly for dual extruder in 0.83. Use 0.90 to have it fixed. Or go in commands.cpp line 163

#if NUM_EXTRUDER>1
      for(byte i=0;iRepetier-Software - the home of Repetier-Host (Windows, Linux and Mac OS X) and Repetier-Firmware.
Repetier-Server - the solution to control your printer from everywhere.
Visit us on Facebook and Twitter!
Re: Extruder offset and homing
September 29, 2013 12:06PM
I hate it, when the forum software changes the code.

There is a max(...) which needs to be placed by a min(...) for x-max endstop.


Repetier-Software - the home of Repetier-Host (Windows, Linux and Mac OS X) and Repetier-Firmware.
Repetier-Server - the solution to control your printer from everywhere.
Visit us on Facebook and Twitter!
Re: Extruder offset and homing
September 29, 2013 12:27PM
Seems that weather is bad in Germany, too :-)

Anyway:

1) Don't understand... my commands.cpp says :

#if NUM_EXTRUDER>1
for(byte i=0;i1
move_steps((current_extruder->xOffset-offX) * X_HOME_DIR,0,0,0,homing_feedrate[0],true,false);
#endif


2) Owe you several beers.

Bye
Davide


PS.: are you visiting makerfaireRome ?

Edited 1 time(s). Last edit at 09/29/2013 12:29PM by 3ntrlab.


==============================
no toys here...sorry
Re: Extruder offset and homing
September 29, 2013 12:35PM
3ntrlab Wrote:
-------------------------------------------------------
> Seems that weather is bad in Germany, too :-)

Not really, but much work to do.

>
> Anyway:
>
> 1) Don't understand... my commands.cpp says :
>
Exactly and the max that the forum removed 3 lines above the rest should be min for x max homing.
>
>
> 2) Owe you several beers.
>
That was something different????? 0.9 is in the development tree on github.

> Bye
> Davide
>
>
> PS.: are you visiting makerfaireRome ?
No, wrong country, no time.


Repetier-Software - the home of Repetier-Host (Windows, Linux and Mac OS X) and Repetier-Firmware.
Repetier-Server - the solution to control your printer from everywhere.
Visit us on Facebook and Twitter!
Sorry, only registered users may post in this forum.

Click here to login