Rev F5 Printrboard and no Z-axis lock if no G29 sent

Rev F5 Printrboard and no Z-axis lock if no G29 sent

Postby fboulanger » 2017-Jun-Tue-13-Jun

Hi,
Re: Simple Metal (Fall 2016), F5 board
I am wondering if anyone has modified the firmware to have the Z-axis lock on a layer when no G29 bed leveling command is used.
I have decided to stop using G29 (put a glass plate on the MIC6) and manually level the bed.

It is working fine except I would prefer to have Z-axis behavior similar to when the G29 code is sent.
I have a metric single-start leadscrew so it does not tend to drop as a 4-start would, but nonetheless I would prefer it to lock.
I have already modified the firmware for an E3Dv6, so I have no problem dabbling in the Arduino code.

I am just trying to find the simplest way of doing this.
Any suggestions will be welcome.

François
  • 0

fboulanger
Waiting to connect to printer...
 
Posts: 3
Joined: 2017-Jun-Tue-12-Jun
Reputation: 0

Rev F5 Printrboard and no Z-axis lock if no G29 sent

Sponsor

Sponsor
 

Re: Rev F5 Printrboard and no Z-axis lock if no G29 sent

Postby RetireeJay » 2017-Jun-Tue-13-Jun

In Marlin 1.1, in Configuration.h, you have control over "immediate" disabling of the motor drive
Code: Select all
// Disables axis stepper immediately when it's not being used.
// WARNING: When motors turn off there is a chance of losing position accuracy!
#define DISABLE_X false
#define DISABLE_Y false
#define DISABLE_Z false
// Warn on display about possibly reduced accuracy
//#define DISABLE_REDUCED_ACCURACY_WARNING

and in Configuration_adv.h you have control over delayed disabling of the motor drive
Code: Select all
// 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 DEFAULT_STEPPER_DEACTIVE_TIME 120
#define DISABLE_INACTIVE_X true
#define DISABLE_INACTIVE_Y true
#define DISABLE_INACTIVE_Z true  // set to false if the nozzle will fall down on your printed part when print has finished.
#define DISABLE_INACTIVE_E true


Other versions of Marlin might not be set up the same way, but you can probably search for DISABLE and find what you're looking for.
  • 0

Printrbot Plus operational January 2013
Brass threaded rods (5/16" X 18) & nuts for Z axis
GT2 belts & pulleys
Cable chain to reduce probability of fatigue failure in wires
E3D V5 Hot End, 0.4mm nozzle, also 0.8 and 0.25 in use occasionally
PB fan mount + 40mm fan -- using printed mount adapter, not the E3D supplied fan
Injection molded extruder gears
Optical Z "endstop" (custom designed and built)
Have used many pounds of T-Glase filament. Now also doing some work with Ninjaflex SemiFlex
Print on glass with Scotch Craft Stick or other glue stick
"My next printer is..." Prusa i3 MK3, upgraded to MK3S
User avatar
RetireeJay
My next printer is...
 
Posts: 5007
Joined: 2013-Jan-Wed-13-Jan
Location: Greenville, SC
Reputation: 498

Re: Rev F5 Printrboard and no Z-axis lock if no G29 sent

Postby fboulanger » 2017-Jun-Tue-14-Jun

Thanks for the quick reply.

Looks like #define DISABLE_INACTIVE_Z False would be the way to go: I want the Z axis motor to lock, just as it does if you issue the G29 command.
Also there maybe a Flag lifted in the G29 routine that <controls> the locking of the motor. If this is the case, setting this flag would do the job.

I will post back any results I have.
  • 0

fboulanger
Waiting to connect to printer...
 
Posts: 3
Joined: 2017-Jun-Tue-12-Jun
Reputation: 0

Re: Rev F5 Printrboard and no Z-axis lock if no G29 sent

Postby Mooselake » 2017-Jun-Tue-21-Jun

Rather than the Z axis locking it's maintaining position by keeping the motors powered up, or losing it with the motors being powered down. Dropping the motor power has nothing to do with automatic bed leveling, aka (alien) probing. it'll work (or fail) exactly the same way with or without the unlevel bed compensation.

I installed 4 start trapezoidal Z screws in my plywood plus some time ago, and made it a very good pancake printer. Pretty much any X or Y movement would cause the Z to drift down resulting in pancakes. By disabling the default inactive disabling (i.e. doing what RJ says, and with his help) the motors no longer drifted and printed objects became three dimensional again.

Way back when PB made the decision to let the motors power down when idle during printing, perhaps because they thought it might keep them cooler (set the current appropriately and it doesn't really matter). You lost a tiny bit of z accuracy if the steppers moved to an actual step (they're permanent magnet motors and like their steps), but since the hardware store threaded rod (aka allthread) had such high friction it was unlikely to move any farther spontaneously and the loss of +/- 8 microsteps out of 3000+ was not significant. However when the high friction screws are replaced with more slippery trapezoidal or acme they drifted very easily. Good for pancakes, not so good if you don't live in flatland

Kirk
  • 0

Modified KickStarter Classic Plus 7/2012
KS Thingybot Delta Pro 10/31/16
Creality Ender 3 Pro 12/2019
User avatar
Mooselake
My next printer is...
 
Posts: 3623
Joined: 2011-Dec-Tue-23-Dec
Location: Moose Swamp, Upper Michigan, USA
Reputation: 177

Re: Rev F5 Printrboard and no Z-axis lock if no G29 sent

Postby RetireeJay » 2017-Jun-Tue-21-Jun

Mooselake wrote: Dropping the motor power has nothing to do with automatic bed leveling, aka (alien) probing. it'll work (or fail) exactly the same way with or without the unlevel bed compensation.

Umm... the difference is that with the motorized bed leveling done by moving Z continuously, the Z motor never idles for a significant period of time. I'm pretty sure the older versions of the firmware had a much shorter "disable" timeout than 120 seconds - like maybe 1 or 2 seconds - so for people using motorized bed leveling, the Z motors never powered down. But for people not using motorized bed leveling, the Z motors would very likely shut off (and thus "unlock") during a typical layer (if they were using the "stock" firmware).
  • 0

Printrbot Plus operational January 2013
Brass threaded rods (5/16" X 18) & nuts for Z axis
GT2 belts & pulleys
Cable chain to reduce probability of fatigue failure in wires
E3D V5 Hot End, 0.4mm nozzle, also 0.8 and 0.25 in use occasionally
PB fan mount + 40mm fan -- using printed mount adapter, not the E3D supplied fan
Injection molded extruder gears
Optical Z "endstop" (custom designed and built)
Have used many pounds of T-Glase filament. Now also doing some work with Ninjaflex SemiFlex
Print on glass with Scotch Craft Stick or other glue stick
"My next printer is..." Prusa i3 MK3, upgraded to MK3S
User avatar
RetireeJay
My next printer is...
 
Posts: 5007
Joined: 2013-Jan-Wed-13-Jan
Location: Greenville, SC
Reputation: 498

Re: Rev F5 Printrboard and no Z-axis lock if no G29 sent

Postby fboulanger » 2017-Jun-Tue-21-Jun

After looking around the code of the RevF5 firmware I am using on the Simple,I found this:

Option 1:
Configuration.h -->
// Disables axis when it's not being used.
#define DISABLE_X false
#define DISABLE_Y false
#define DISABLE_Z true
#define DISABLE_E false // For all extruders

If I set DISABLE_Z to false, I guess that would stop the Z axis motor from powering down.

Option 2:
main.cpp -->
case 28: //G28 Home all Axis one at a time
#ifdef ENABLE_AUTO_BED_LEVELING
plan_bed_level_matrix.set_to_identity(); //Reset the plane ("erase" all leveling data)
#endif //ENABLE_AUTO_BED_LEVELING

It looks like if I run a G28 command right after the G29 command I will clear the <correction matrix>, hopefully leaving the bed leveling active but with no correction.
I will try this tomorrow.
I still have not found how the G29 command changes the behavior of the Z-axis motor...
  • 0

fboulanger
Waiting to connect to printer...
 
Posts: 3
Joined: 2017-Jun-Tue-12-Jun
Reputation: 0


Return to General

Who is online

Users browsing this forum: No registered users and 1 guest