Rostock variant - endstops,homing not working (desperate)
-
- Plasticator
- Posts: 8
- Joined: Mon Dec 09, 2013 1:15 pm
Rostock variant - endstops,homing not working (desperate)
Hello,
I hope I'm writing this in the correct subforum, because i am desperate.
I am building a rostock variant, delta robot printer. My electronics are Gen 7 1.5, firmware is Repetier 0.83 and host software is Repetier 0.90d. I used THIS WIRING SETUP as an example
The problem: after setting up the correct settings, the motors run good and rails slide like in butter. The issue is that when i ask the machine to home to zero(MAX endstops in firmware, X-MX, Y-MAX, Z-zero set in host software) it moves Z axis up, X and Y axis down until the carriage bottoms out. Also, as the Z axis carriage hits the endstop, it does not move down. This seems to tell me that something is still wrong in the configuration. When trying individual G0 axis movements(G0 X10 etc), the carriage moves fast and accurately. When trying G28 X0(etc), the carriage does not move.
I tested the endstop signals aswell( M119) and they seem to be working correctly( L when carriage is away, H when carriage engages the tappet).
I will paste my settings below as well, but I am certainly sure that there is something wrong elsewhere( I asked for some help from Mr Repetier himself and he was very helpful, I found out that the Gen7 chip is originally setup for MIN endstops, so I changed the MIN pins to -1 and MAX pins to 0,1 and 2 (XYZ) ):
// ##########################################################################################
// ## 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 false
#define ENDSTOP_Y_MIN_INVERTING false
#define ENDSTOP_Z_MIN_INVERTING false
#define ENDSTOP_X_MAX_INVERTING true
#define ENDSTOP_Y_MAX_INVERTING true
#define ENDSTOP_Z_MAX_INVERTING true
// Set the values true where you have a hardware endstop. The Pin number is 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
//// 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 false
#define min_software_endstop_y false
#define min_software_endstop_z false
//If true, axis won't move to coordinates greater than the defined lengths below.
#define max_software_endstop_x false
#define max_software_endstop_y false
#define max_software_endstop_z false
// 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 true
// maximum positions in mm - only fixed numbers!
// For delta robot Z_MAX_LENGTH is the 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 135
#define Y_MAX_LENGTH 135
#define Z_MAX_LENGTH 135
Overridden if EEPROM activated.
*/
#define MAX_JERK 20.0
#define MAX_ZJERK 20.0
Thanks for any and all help
I hope I'm writing this in the correct subforum, because i am desperate.
I am building a rostock variant, delta robot printer. My electronics are Gen 7 1.5, firmware is Repetier 0.83 and host software is Repetier 0.90d. I used THIS WIRING SETUP as an example
The problem: after setting up the correct settings, the motors run good and rails slide like in butter. The issue is that when i ask the machine to home to zero(MAX endstops in firmware, X-MX, Y-MAX, Z-zero set in host software) it moves Z axis up, X and Y axis down until the carriage bottoms out. Also, as the Z axis carriage hits the endstop, it does not move down. This seems to tell me that something is still wrong in the configuration. When trying individual G0 axis movements(G0 X10 etc), the carriage moves fast and accurately. When trying G28 X0(etc), the carriage does not move.
I tested the endstop signals aswell( M119) and they seem to be working correctly( L when carriage is away, H when carriage engages the tappet).
I will paste my settings below as well, but I am certainly sure that there is something wrong elsewhere( I asked for some help from Mr Repetier himself and he was very helpful, I found out that the Gen7 chip is originally setup for MIN endstops, so I changed the MIN pins to -1 and MAX pins to 0,1 and 2 (XYZ) ):
// ##########################################################################################
// ## 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 false
#define ENDSTOP_Y_MIN_INVERTING false
#define ENDSTOP_Z_MIN_INVERTING false
#define ENDSTOP_X_MAX_INVERTING true
#define ENDSTOP_Y_MAX_INVERTING true
#define ENDSTOP_Z_MAX_INVERTING true
// Set the values true where you have a hardware endstop. The Pin number is 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
//// 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 false
#define min_software_endstop_y false
#define min_software_endstop_z false
//If true, axis won't move to coordinates greater than the defined lengths below.
#define max_software_endstop_x false
#define max_software_endstop_y false
#define max_software_endstop_z false
// 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 true
// maximum positions in mm - only fixed numbers!
// For delta robot Z_MAX_LENGTH is the 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 135
#define Y_MAX_LENGTH 135
#define Z_MAX_LENGTH 135
Overridden if EEPROM activated.
*/
#define MAX_JERK 20.0
#define MAX_ZJERK 20.0
Thanks for any and all help
Re: Rostock variant - endstops,homing not working (desperate
I believe you have this backward. Z should be set to MAX while X and Y should be zero.threemicrons wrote:The problem: after setting up the correct settings, the motors run good and rails slide like in butter. The issue is that when i ask the machine to home to zero(MAX endstops in firmware, X-MX, Y-MAX, Z-zero set in host software)...
- Lochemage
My super cool build stories: Rostock MAX, GUS Simpson
"Give a man a compliment and he'll be all, 'Yeah, I've been working out.' Teach a man to fish for a compliment and he'll be all, 'I feel SO fat.'" - Bob FM
My super cool build stories: Rostock MAX, GUS Simpson
"Give a man a compliment and he'll be all, 'Yeah, I've been working out.' Teach a man to fish for a compliment and he'll be all, 'I feel SO fat.'" - Bob FM
-
- Plasticator
- Posts: 8
- Joined: Mon Dec 09, 2013 1:15 pm
Re: Rostock variant - endstops,homing not working (desperate
EDIT: let me double check
Re: Rostock variant - endstops,homing not working (desperate
Ok, continuing on. It seems as though both your X and Y axies are just homing in the wrong direction, check the values in your firmware INVERT_X_DIR and INVERT_Y_DIR and flip them if you need to.
- Lochemage
My super cool build stories: Rostock MAX, GUS Simpson
"Give a man a compliment and he'll be all, 'Yeah, I've been working out.' Teach a man to fish for a compliment and he'll be all, 'I feel SO fat.'" - Bob FM
My super cool build stories: Rostock MAX, GUS Simpson
"Give a man a compliment and he'll be all, 'Yeah, I've been working out.' Teach a man to fish for a compliment and he'll be all, 'I feel SO fat.'" - Bob FM
-
- Plasticator
- Posts: 8
- Joined: Mon Dec 09, 2013 1:15 pm
Re: Rostock variant - endstops,homing not working (desperate
Well fuck me sideways and call me a letterbox - I had them previously as X-max, Y-max and Z-zero. I changed them to Zero,zero and MAX and X and Y started homing properly. Seems that Z axis is inverted so I'm setting it as false. seeing if that will fix it. there is a second strange issue - my Z axis motor is moving a lot more than it should, moving it 0.1mm in Repetier host moves it closer to 15mm in real life. What should I set as the print radius, same as in X,Y and Z axis tower height?
Re: Rostock variant - endstops,homing not working (desperate
The steps per mm in the firmware should be set to '80' for all three axes. If you used the rostock firmware (found on the downloads page: https://github.com/seemecnc/RostockMAX) then this should already be configured properly.
- Lochemage
My super cool build stories: Rostock MAX, GUS Simpson
"Give a man a compliment and he'll be all, 'Yeah, I've been working out.' Teach a man to fish for a compliment and he'll be all, 'I feel SO fat.'" - Bob FM
My super cool build stories: Rostock MAX, GUS Simpson
"Give a man a compliment and he'll be all, 'Yeah, I've been working out.' Teach a man to fish for a compliment and he'll be all, 'I feel SO fat.'" - Bob FM
-
- Plasticator
- Posts: 8
- Joined: Mon Dec 09, 2013 1:15 pm
Re: Rostock variant - endstops,homing not working (desperate
Lochemage - it seems that you have indeed saved my hiney. All three axes home and seem to work fine! If you are ever in Europe(Belgium or Estonia), please contact me, there is a case of the best beer available waiting for you 

Re: Rostock variant - endstops,homing not working (desperate
I'm glad things are working for you now. I don't know when/if I'll ever get the chance, but if I ever do end up in that area I'll hold you to it 

- Lochemage
My super cool build stories: Rostock MAX, GUS Simpson
"Give a man a compliment and he'll be all, 'Yeah, I've been working out.' Teach a man to fish for a compliment and he'll be all, 'I feel SO fat.'" - Bob FM
My super cool build stories: Rostock MAX, GUS Simpson
"Give a man a compliment and he'll be all, 'Yeah, I've been working out.' Teach a man to fish for a compliment and he'll be all, 'I feel SO fat.'" - Bob FM
-
- Plasticator
- Posts: 8
- Joined: Mon Dec 09, 2013 1:15 pm
Re: Rostock variant - endstops,homing not working (desperate
Since I already baited you with the beer, can I ask you for some information on how to set up fishing line spools? I machined my own with a diameter of 14.2mm, but I'm not entirely sure what the pitch or teeth value should be.... or should i use the closest GT2 or T2.5 pulley and go with that?
Re: Rostock variant - endstops,homing not working (desperate
Just my two cents. I had a similar issue with endstops where it would all the sudden have one or two axis not moving back upwards but just stand still. It turns out it was because I was messing with the wiring and had endstop wiring close to other wires causing some interference and the endstops thought it was already home. I think this has been documented here before, so just something to watch out for if you noticed it working before and it all the sudden stop move back up to home. Just try to isolated the wires as best you can and it should be working again.
Re: Rostock variant - endstops,homing not working (desperate
You don't need to use those values if you don't want to or don't require them. They are only there to provide you with an easy mathematical method to calculate your steps per mm needed.threemicrons wrote:Since I already baited you with the beer, can I ask you for some information on how to set up fishing line spools? I machined my own with a diameter of 14.2mm, but I'm not entirely sure what the pitch or teeth value should be.... or should i use the closest GT2 or T2.5 pulley and go with that?
If you take a closer look at the code, all the BELT_PITCH and PULLY_TEETH values do is determine the PULLEY_CIRCUMFERENCE which is then used along with the motor information to determine the steps per mm final value AXIS_STEPS_PER_MM. You can easily just bypass any of these, all you really need is the final value.
If you already know the diameter of your spool, you can just use DELTA_DRIVE_TYPE = 1 and set the PULLEY_DIAMETER value.
- Lochemage
My super cool build stories: Rostock MAX, GUS Simpson
"Give a man a compliment and he'll be all, 'Yeah, I've been working out.' Teach a man to fish for a compliment and he'll be all, 'I feel SO fat.'" - Bob FM
My super cool build stories: Rostock MAX, GUS Simpson
"Give a man a compliment and he'll be all, 'Yeah, I've been working out.' Teach a man to fish for a compliment and he'll be all, 'I feel SO fat.'" - Bob FM
-
- Plasticator
- Posts: 8
- Joined: Mon Dec 09, 2013 1:15 pm
Re: Rostock variant - endstops,homing not working (desperate
Lochemage - good advice, thanks! I'm not used to microcontrollers, I'm more of a fabricator, mechanical designer. But it has been a very interesting learning curve. I have come across a slightly strange problem though - homes good, moves good(even with 8th stepping) and slices fast. But when i ask the printer to do a dry-run with the calibration cube, it places everything and Gcode starts running but Z axis does not move at all, only by 0.4mm increments. It seems that something is up with my slicer options, but I could not figure out what they were.
It seems that I owe you two cases of beer... Let see if we can pull off a hat trick
It seems that I owe you two cases of beer... Let see if we can pull off a hat trick

-
- Plasticator
- Posts: 8
- Joined: Mon Dec 09, 2013 1:15 pm
Re: Rostock variant - endstops,homing not working (desperate
Was this with optical endstops or mechanical ones? So far my endstops seem to be working alright, but this is a very interesting caution. Should the wires be the ones with the shielded coating?rsyntax wrote:Just my two cents. I had a similar issue with endstops where it would all the sudden have one or two axis not moving back upwards but just stand still. It turns out it was because I was messing with the wiring and had endstop wiring close to other wires causing some interference and the endstops thought it was already home. I think this has been documented here before, so just something to watch out for if you noticed it working before and it all the sudden stop move back up to home. Just try to isolated the wires as best you can and it should be working again.
Re: Rostock variant - endstops,homing not working (desperate
I'm not sure I follow, are you saying that your Z axis only moves 0.4mm in total, or every now and then it goes up another 0.4mm. If it's the latter, then that is correct, the way 3D printed objects are printed is by one layer at a time until the entire object is finished. 0.4mm layer height is decent, I think most people (including myself) use 0.2mm. The smaller your layer height, the higher the resolution of your print will be, but if you go too small then it just won't print well.threemicrons wrote:But when i ask the printer to do a dry-run with the calibration cube, it places everything and Gcode starts running but Z axis does not move at all, only by 0.4mm increments. It seems that something is up with my slicer options, but I could not figure out what they were.
If you meant the Z axis only goes up 0.4mm total, then that is another issue altogether.
- Lochemage
My super cool build stories: Rostock MAX, GUS Simpson
"Give a man a compliment and he'll be all, 'Yeah, I've been working out.' Teach a man to fish for a compliment and he'll be all, 'I feel SO fat.'" - Bob FM
My super cool build stories: Rostock MAX, GUS Simpson
"Give a man a compliment and he'll be all, 'Yeah, I've been working out.' Teach a man to fish for a compliment and he'll be all, 'I feel SO fat.'" - Bob FM
-
- Plasticator
- Posts: 8
- Joined: Mon Dec 09, 2013 1:15 pm
Re: Rostock variant - endstops,homing not working (desperate
Lochemage, I decided to make a few videos
1) homing - homing
2) "horistontal movement" - horisontal movement
3) Z-axis not moving - z-axis not moving
What I may think that creates this issue, is that one of my carriage parts was made in reverse/mirrored - the z axis one. So in order to make it work I had to set it up as Z_AXIS_INVERTED - FALSE while X and Y are set as TRUE. Could it be that its somehow mangling the Gcode or the software interprets it incorrectly? Also, it seems that my calibration cube(which is 40mmx40mmx40mm) seems to be more like 80x80x80, so the gcode is generating a size which is scaled 2:1
/** \brief Delta drive type: 0 - belts and pulleys, 1 - filament drive */
#define DELTA_DRIVE_TYPE 1
#elif DELTA_DRIVE_TYPE == 1
/** \brief Filament pulley diameter in milimeters */
#define PULLEY_DIAMETER 14.2
#define PULLEY_CIRCUMFERENCE 44.27
#endif
// Calculations
#define AXIS_STEPS_PER_MM ((float)(MICRO_STEPS * STEPS_PER_ROTATION) / PULLEY_CIRCUMFERENCE)
#define XAXIS_STEPS_PER_MM 36
#define YAXIS_STEPS_PER_MM 36
#define ZAXIS_STEPS_PER_MM 36
1) homing - homing
2) "horistontal movement" - horisontal movement
3) Z-axis not moving - z-axis not moving
What I may think that creates this issue, is that one of my carriage parts was made in reverse/mirrored - the z axis one. So in order to make it work I had to set it up as Z_AXIS_INVERTED - FALSE while X and Y are set as TRUE. Could it be that its somehow mangling the Gcode or the software interprets it incorrectly? Also, it seems that my calibration cube(which is 40mmx40mmx40mm) seems to be more like 80x80x80, so the gcode is generating a size which is scaled 2:1
/** \brief Delta drive type: 0 - belts and pulleys, 1 - filament drive */
#define DELTA_DRIVE_TYPE 1
#elif DELTA_DRIVE_TYPE == 1
/** \brief Filament pulley diameter in milimeters */
#define PULLEY_DIAMETER 14.2
#define PULLEY_CIRCUMFERENCE 44.27
#endif
// Calculations
#define AXIS_STEPS_PER_MM ((float)(MICRO_STEPS * STEPS_PER_ROTATION) / PULLEY_CIRCUMFERENCE)
#define XAXIS_STEPS_PER_MM 36
#define YAXIS_STEPS_PER_MM 36
#define ZAXIS_STEPS_PER_MM 36
Lochemage wrote:I'm not sure I follow, are you saying that your Z axis only moves 0.4mm in total, or every now and then it goes up another 0.4mm. If it's the latter, then that is correct, the way 3D printed objects are printed is by one layer at a time until the entire object is finished. 0.4mm layer height is decent, I think most people (including myself) use 0.2mm. The smaller your layer height, the higher the resolution of your print will be, but if you go too small then it just won't print well.threemicrons wrote:But when i ask the printer to do a dry-run with the calibration cube, it places everything and Gcode starts running but Z axis does not move at all, only by 0.4mm increments. It seems that something is up with my slicer options, but I could not figure out what they were.
If you meant the Z axis only goes up 0.4mm total, then that is another issue altogether.
Re: Rostock variant - endstops,homing not working (desperate
Ahh, I see now what you mean. Literally your Z motor only moves 0.4mm at a time, not your Z axis (which implies the movement of your nozzle on that axis).
This looks pretty clearly like your firmware just thinks your printer is of a cartesian type. It assumes that moving the X motor directly controls the X axis, when in fact your printer should be set as a delta type printer. I would double check and make certain that DRIVE_SYSTEM is set to 3. At the bottom of the configuration file there are measurement values that you will also need to ensure are correct, things like DELTA_DIAGONAL_ROD and PRINTER_RADIUS, etc. Since it looks like you are not using the Rostock MAX, all those measurements will probably be different for you. If you fail to use the proper measurements here, you will have no end of problems.
This looks pretty clearly like your firmware just thinks your printer is of a cartesian type. It assumes that moving the X motor directly controls the X axis, when in fact your printer should be set as a delta type printer. I would double check and make certain that DRIVE_SYSTEM is set to 3. At the bottom of the configuration file there are measurement values that you will also need to ensure are correct, things like DELTA_DIAGONAL_ROD and PRINTER_RADIUS, etc. Since it looks like you are not using the Rostock MAX, all those measurements will probably be different for you. If you fail to use the proper measurements here, you will have no end of problems.
- Lochemage
My super cool build stories: Rostock MAX, GUS Simpson
"Give a man a compliment and he'll be all, 'Yeah, I've been working out.' Teach a man to fish for a compliment and he'll be all, 'I feel SO fat.'" - Bob FM
My super cool build stories: Rostock MAX, GUS Simpson
"Give a man a compliment and he'll be all, 'Yeah, I've been working out.' Teach a man to fish for a compliment and he'll be all, 'I feel SO fat.'" - Bob FM
- Jimustanguitar
- ULTIMATE 3D JEDI
- Posts: 2608
- Joined: Sun Mar 31, 2013 1:35 am
- Location: Notre Dame area
- Contact:
Re: Rostock variant - endstops,homing not working (desperate
That is confusing, you're exactly right. In the assembly manual XYZ are the stepper motors and endstops, in GCode and Slicer they're Cartesian coordinates.
As long as you know that both references exist, you can usually figure out which one is the right one in that instance.
As long as you know that both references exist, you can usually figure out which one is the right one in that instance.