1 (edited by galaxy99 2015-05-16 21:45:56)

Topic: Hysteresis & Backlash Testing

After calibration, I figured I’d do some general maintenance and included a Hysteresis test.

I wrote a small G-code routine to position the extruder where I wanted it and looped it back and forth (same way I do it on my CNC mill) - this tests for hysteresis primarily due to backlash in gears, belts, rod slop…etc.

Note:  I do not have print issues such as layers not being uniform and/ hanging off to the side like some folks have posted.  If I did, the hysteresis would show that so, those having those issues may want to try this to verify the problem is in the machine/belt/gears and not the printing gcode or software (or bed slop).

The down side to the G-code approach is that XYZ’s firmware has hard-code to pre-heat (bed and nozzle) and does not implement the necessary M-codes to pause position, hold and turn off the temps.  (I believe Repeater does implement them, per published info).

So, I tried testing by Jogging (thus eliminating wait time for temps and this approach has the bonus of positioning and pausing where I want. 

Positioning was repeatable and without significant hysteresis (in both approaches).  Photo’s attached from one of the Jog approach tests. Pay no attention to the numbers - they're not metric...
Commanded jog = 20mm, it went 19.43mm
Commanded jog (from previous point in opposite direction) = 10mm, it went 9.68mm
Repeated the above including back to Zero several times.  At zero, the average delta max was 0.254mm (0.01") - that is the amount of hysteresis over a 20mm repeated sweep.

There is no ability to set motion speed when using the jog approach but, I don’t expect it to be much different at higher speeds (because the mass and acceleration/deccelleration are small and I set the speed to 5000 in the g-code).

The Jog routine for testing hysteresis is as follows:

Position a dial guage as far to left as possible
Jog the bed to a position that works for your clearance needs
Position X and Y so you can set the dial to Zero (or your preferred ref point*)
Jog the axis you’re testing using each of the distance settings (1mm, 10mm, 20mm)  go back and forth and see if the dial returns to the set-point or if it’s off.

*Depending upon your dial guage, you may be able to set zero in mid-stroke of the dial's pusher.

Do the same for the other axis.  No need to do the Z-axis as the bed position is constant during a layer build (ie, it doesn’t go up/down like a CNC mill).

This might help identify areas to tweak and improve printing…

http://soliforum.com/i/?hMsSMf3.jpg

http://soliforum.com/i/?9HQsHjE.jpg

http://soliforum.com/i/?0FLby7U.jpg

Mac OSX ElCapitan
Prusa i3 (two built from kits), 1 hacked DaVinci
Solidworks for models, Netfabb to repair, Repetier/Slic3r and Simplify3D

2

Re: Hysteresis & Backlash Testing

This is an interesting test. Can you elaborate on what you use to hold the dial indicator in place for both X and Y axis? I see it in the pictures but I can't quite get what it is exactly. Maybe I should try to model something printable for this task... also, can you guarantee that this thing holding the indicator does not have any play, which would throw off the measurements?

3 (edited by galaxy99 2015-05-16 22:07:02)

Re: Hysteresis & Backlash Testing

It's on it's own stand/base that has a heavy magnet (with switch) - just set it on metal and rotate switch and you'll need a horse to move it.  Thus, it's not going anywhere.  Two photo's of it...
Note: There are different way's to measure the hysteresis/backlash, I briefly presented one.

You could print something (something to hold a small dial gauge) but, the results would also include the bed's side-to-side play and may mask the X/Y you're measuring...

http://soliforum.com/i/?mz2Zs68.jpg
http://soliforum.com/i/?qlIbllD.jpg

Mac OSX ElCapitan
Prusa i3 (two built from kits), 1 hacked DaVinci
Solidworks for models, Netfabb to repair, Repetier/Slic3r and Simplify3D

4

Re: Hysteresis & Backlash Testing

That's a nice setup indeed. I have a dial indicator but it did not come with a stand/base, so I'll have to figure something out. Thanks for the info!