Welcome! Log In Create A New Profile

Advanced

gen 3 electronics and z-axis

Posted by jeffpark_ 
gen 3 electronics and z-axis
August 20, 2009 11:02AM
I'm having problems with my toolhead slowly creeping down (McWire) during a layer, as you can imagine this causes lots of problems.

Does anyone have a quick fix for either ReplicatorG or a firmware hack that would keep the z-axis stepper motor powered between layers? Possibly there is a Skeinforge setting I haven't discovered yet.

I though of manually grounding the enable wire for the stepper controller board, but it seems there would be a better software solution.

Thanks in advance-

Jeff

Edited 1 time(s). Last edit at 08/20/2009 11:03AM by jeffpark_.


----
[www.binaryconstruct.com]
Re: gen 3 electronics and z-axis
August 20, 2009 06:39PM
I'm sure someone else can chime in, but I remember there being a setting to enable the motors when they are not being moved. Unfortunately I cannot remember where it is.


Help improve the RepRap wiki!
Just click "Edit" in the top-right corner of the page and start typing.
Anyone can edit the wiki!
Re: gen 3 electronics and z-axis
August 21, 2009 03:37PM
I took a peek into the generation 3 firmware 1.2 for the motherboard and there's a routine in steppers.pde:

// enable our steppers so we can move them. disable any steppers
// not about to be set in motion to reduce power and heat.
// TODO: make this a configuration option (HOLD_AXIS?); there are some
// situations (milling) where you want to leave the steppers on to
// hold the position.
// ZMS: made X/Y axes always on once used.
inline void enable_needed_steppers()
{
enable_steppers(delta_steps.x > 0, delta_steps.y > 0, delta_steps.z > 0);
if (!(delta_steps.z > 0)) {
disable_steppers(false,false,true); // explicitly turn off Z stepper when not needed
}
}

That is disabling the z axis if it doesn't have to step. To keep your Z always enabled change it to.

inline void enable_needed_steppers()
{
enable_steppers(delta_steps.x > 0, delta_steps.y > 0, true);
}

Note I have not tested this; this is my suggested change from looking at the code for a few minutes.
The other, mechanical solution:
Put some kind of (adjustable) break on your z-axis. Either clamp the belt a little, or make a break on the vertical spindle or gliding support.
You'd have to set the mechanical break so the unwanted sliding would stop, but the motor would have still enough force to overcome the additional friction. Probably a bit tricky to set it right, but it should work.
Re: gen 3 electronics and z-axis
August 21, 2009 08:52PM
freds Wrote:
-------------------------------------------------------
> I took a peek into the generation 3 firmware 1.2
> for the motherboard and there's a routine in
> steppers.pde:
>
> // enable our steppers so we can move them.
> disable any steppers
> // not about to be set in motion to reduce power
> and heat.
> // TODO: make this a configuration option
> (HOLD_AXIS?); there are some
> // situations (milling) where you want to leave
> the steppers on to
> // hold the position.
> // ZMS: made X/Y axes always on once used.
> inline void enable_needed_steppers()
> {
> enable_steppers(delta_steps.x > 0, delta_steps.y
> > 0, delta_steps.z > 0);
> if (!(delta_steps.z > 0)) {
> disable_steppers(false,false,true); //
> explicitly turn off Z stepper when not needed
> }
> }
>
> That is disabling the z axis if it doesn't have to
> step. To keep your Z always enabled change it to.
>
> inline void enable_needed_steppers()
> {
> enable_steppers(delta_steps.x > 0, delta_steps.y
> > 0, true);
> }
>
> Note I have not tested this; this is my suggested
> change from looking at the code for a few minutes.


This is what i needed, thanks. I also found a short in the opto stop on the zaxis that was preventing the stepper from advancing. With these two fixes, it seems to be working better.


----
[www.binaryconstruct.com]
Re: gen 3 electronics and z-axis
August 22, 2009 04:34PM
Your welcome.
Sorry, only registered users may post in this forum.

Click here to login