H-bot issue - steppers move 70mm for commanded 100mm

I just built an H-bot printer, I have azteeg x3 pro board (2560) with SD8825 drivers set to 1/16th (I've tried 1/8th with same results)
I printed my first test piece and the diameter was about 13mm instead of 20mm

I used the belt calculator here - I have 1.8degree steppers, 2mm belt, 20 tooth drivewheel and 1/16th stepping
That gives me 80 steps per mm so I double that for H-bot/core-xy and put in 160 for X and Y into the EEPROM but the head moves about 70mm when I tell it to move 100mm
I have also set STEPPER_HIGH_DELAY to 1 after having uneven motor movements

I am on v0.91 (rev 8?) and used the configuration tool.  I have tried 1/8th stepping and 80 steps per mm and it still only moves 70% and I've tried 1/8th stepping with 160 steps per mm and it moves about 140mm when told 100mm.  X and Y are the same.

Starting to get very frustrated, I've double checked all my hardware specs, belt size, tooth count... etc.  Any other ideas?


  • Yes in repetier firmware you need to double the steps for x and y that you normally compute to move the belt.

    In 0.92.9 you can use the nonlinear handler with
    #define FAST_COREXYZ

    and do not need to double steps. This is also faster, but you need to set the nonlinear parameters like for deltas. In config tool you need to set them with delta enabled and then switch back. 10 subsegments per line are sufficient here. 30 updates per second also as your moves are linear in reality.

  • I have doubled, halfed, and quadrupled my steps per mm (160 for 1/16th stepping) but the problem is that it moves 70mm for every 100mm when set properly (doubled).  Doubling the steps again makes it move 140mm for every 100mm.
    I've checked and re-checked my parts - I have 2mm belt, 1.8degree steppers, 20 tooth pulley...

    Are there any other reasons that would cause this?  Or do I just have to manually change the steps per mm by a factor about 1.4?  That seems way too big a factor, I should be able to get much closer distances from these calculations.  Everything is moving smoothly, belts are tight, nothing is skipping or jumping so I'm out of ideas.
  • I should add that I'm not falling for the EEPROM trap - I can change the steps per mm with repetier host and that changes the distance moved.

    Perhaps I need to increase my STEPPER_HIGH_DELAY to 2?  Could that have any affect?  Changing it to 1 fixed my uneven motors issues and currently the head moves perfectly straight, maybe both the stepper drivers are only catching 70% of the steps now?  I have SD8825 drivers
  • factor sqrt(2) is also possible. Have seen users needing that. Haven't followed exactly how you initally computed the steps.
  • Okay thank you.  I used a ruler and 200mm of commanded travel to get a correction factor of 1.435 (with the x2 already applied) so I am using 229.67 steps per mm and it's making parts very accurately now  (measured 19.94 x 19.80 x 19.98 for a 20mm cube in x, y, z respectively).
  • you can detail how to disable the double steps, I have not found this parameter memory #define FAST_COREXYZ
  • That is so new it is not officially part of any config. That is why you have to add 
    #define FAST_COREXYZ
    manually. I think I will enable it in development version soon so it also shows the other parameter
  • Thank you !
  • Thank you!
Sign In or Register to comment.