Steppers not holding

Greetings to all on the forum. Salutations Ryan.


Sorry if this is a silly question but I have googled and read through as much as I can but cannot see any answer to this question.


I have the MPCNC running like a champ. 900 x 900 usable area. I can jog the axis from the Ramps control and I can get a file to run from the memory card but I have one small issue that I do not seem to be able to solve and perhaps I am finding a problem where there is not one and I am just being ignorant.


When jogging the X & Y axis from 0,0 to 0, 900, then to 900, 900 then 900,0 and then back to 0,0 in a square, I found that the Z axis has lost perhaps 8mm in its physical height. Ramps says it is still at 0 but the router has definitely dropped. This I have put down to the fact that there is no holding power to stop it from dropping. The same, when I have it stopped, I can easily move the X and Y axis as well and I am sure that there should be some sort of holding force to prevent me from accidentally knocking it out of alignment when changing router bits etc.


Am I being ignorant or have I wired something up wrong. The Z axis has a Makita RT0700 router in place in its printed holder.


I have played with the ramps VRef from betwen 0.5v to 1.1v and this does not seem to make any difference.


I am using an atx power supply which is 12v 15 Amps (380 Watt) which I assume is enough and not causing the problem.


Can any one shed any light on this for me?

Yeah, that is actually a good thing it means your Z axis is built well and falls under it’s own weight. All gcode that you run will have a move on all three axis to lock them into place, after that they stay energized. So if you want to redo your test start with a 10mm Z move (watch the speed), and then your XY moves.

The other way is when using dual endstops after a homing sequence it will lock them in as well.

Be careful of your ending Gcode now, just like the lowRider. Be mindful of where you park it when it is finished. The steppers by default will stay powered up for 6 minutes, But I try and make sure no cuts happen at my zero point and park it there when done, the better way is to park it at the max XY of your machine. That lets you get in there and not have to move the head.

Thank you Ryan for your assistance.


Your reply has enabled me to dig deeper into this and you have given me a good idea of where to start.


Yes, I have just completed the modification to the new leadscrew which has definitely reduced the ‘rolling resistance’ of the Z axis. Thank you, well worth the effort.


Ok so my problem with the dropping Z axis then is not really a problem, but a setting. I have done a bit of digging on the Marlin site and see that there is a setting that can be adjusted. I then opened the Arduino settings I down loaded for the MPCNC and I see under configuration adv_h that the settings for default stepper activity can be changed.


I do not normally dig under the bonnet with these things, but I am going to try reflashing the arduino with these altered settings to see if it gives me the holding I need when first switching on. I do understand that this can cause the motors to get hot so will watch for that.


// Default stepper release if idle. Set to 0 to deactivate.
// Steppers will shut down DEFAULT_STEPPER_DEACTIVE_TIME seconds after the last move when DISABLE_INACTIVE_? is true.
// Time can be set by M18 and M84.

#define DISABLE_INACTIVE_X false
#define DISABLE_INACTIVE_Y false
#define DISABLE_INACTIVE_Z false // set to false if the nozzle will fall down on your printed part when print has finished.

I will let you know if this works or not.


OK I am happy now.

I have dug a little deeper and see that if I include a gcode file called auto0.g on the SD card then Ramps will automatically run the file on power up.


I have made up a simple initialization routine making all 3 axis move 5mm forward then back so they are then held in place ready for setting up the router height for cutting and it won’t drop while I am getting everything ready.


I know I could just use the M17 code to enable all the motors but my way I like that it give audible confirmation that all 3 axis are working.


Next is to separate the motor pairs and install home switches as I do find I tend to always work from the 0,0 position but maybe thats because I am used to a 300 x 300mm bed size.


Thanks for the great design. I’m going to use it now to try out your MP3DP as well as a test piece as my old CNC could not cut the parts because of the sizes.

You are getting pretty deep down this rabbit hole. If you just switch to my dual endstop version you do not need to worry about any of this.

1 Like

Yes, i am going to go the route of dual endstop. Just a shlep to undo all the wiring harness as I have not taken the leads back to the Ramps. Once I get the limits will set that up.