kliment / Sprinter

Firmware for RepRap printers and similar devices
432 stars 329 forks source link

X axis homing in + direction #172

Closed Bryang closed 12 years ago

Bryang commented 12 years ago

Reprap Longboat Prusa Sanguinololu 1.3a kliment-Sprinter-52f7f30 Pronterface Slic3r

I realised that my printer was printing mirrored and so I reversed direction for the X motor (const bool INVERT_X_DIR = true;), of course the X end stop is then at the wrong end. Rather than move the end stop I tried setting X_HOME_DIR to 1 instead of -1 but the X motor then doesn't move when the home button is pressed (it does move if the X+ and X- buttons are pressed), I tried playing with max_software_endstops but it made no difference. I got around the problem by moving the endstop to the X motor end but the weight distribution means that the X-Idler end doesn't always drop as it should. I can add weights or springs but it worked a lot better when I homed to the x-idler end.

Bryan

midopple commented 12 years ago

Hi Bryang

If X_HOME_DIR is change to 1 (MAX ENDSTOP) you have to change the pins.h to use the right variable / input this to lines

define X_MIN_PIN 18

define X_MAX_PIN -2

to

define X_MIN_PIN -1

define X_MAX_PIN 18

Bryang commented 12 years ago

Hi

Thank you. I actually realised that it was the Y axis that was mirrored but have applied the same principle to get that to work with the + homing.

I am used to working in C and there I would normally include something like:

if X_HOME_DIR == 1

. #define X_MIN_PIN -1 . #define X_MAX_PIN 18

else

. #define X_MIN_PIN 18 . #define X_MAX_PIN -2

endif

Can we do the same thing in Arduino. Knowing that I am an idiot I always try to 'idiot proof' any settings that a user has to mess with.

Thanks

Bryan

midopple commented 12 years ago

Hi

This would be a way but there some printers that use MIN and MAX Endstops. For this printers this code will not work.

It's not easy to get a firmware for all boards and Printers

Mochael

Bryang commented 12 years ago

Multi-compatlibility is always a pain.

Thanks for the help, all is working correctly now.