ZereneStacker+Stackshot - avoiding backlash determination
Moderators: rjlittlefield, ChrisR, Chris S., Pau
ZereneStacker+Stackshot - avoiding backlash determination
Question: Would the following stack shooting procedures avoid the need for backlash determination when using ZS and a Stackshot? First, set the backlash value to zero. Find the starting focus position in the usual way, but then back up 0.15 mm, a value certain to be greater than half the actual backlash amount in your Stackshot. Set this point to be the stack starting point. Find the end focus point and then move 0.3 mm beyond that to set the end point of the stack. Set the prerun distance value to 0.15 mm also. Then shoot the stack using these settings. You will almost certainly have unneeded shots at the beginning and ending of the stack but these can be examined and thrown away before stack processing. This will create 0.3 mm run-up at the start of the stack and a 0.3 mm overshoot at the end of the stack. The backlash for your Stackshot is almost certainly less than 0.3 mm. It seems to me that, at the cost of some superfluous images, this method should eliminate all backlash issues when shooting a stack. The number of unneeded (throwaway) shots at the beginning and end of the stack will be inversely proportional to the step size, based on magnification etc. but would remain a constant fraction (percentage) of the total number of shots in all cases. Is this logic correct?
- rjlittlefield
- Site Admin
- Posts: 24018
- Joined: Tue Aug 01, 2006 8:34 am
- Location: Richland, Washington State, USA
- Contact:
There's an even simpler and more reliable method. Before setting your start & end points, just back off to a point before start, by any distance guaranteed to be larger than the full backlash value. Then move forward, set Start, move forward again, and set End. Before actually shooting the stack, again back off to any point that is at least backlash distance before start. That way when you shoot the stack, all movements will again be forward, in the same direction the rail was moving when you set the Start and End points.
The interface provides a "prerun distance" that is specifically designed to make this simple. See http://zerenesystems.com/cms/stacker/docs/stackshot and search for "prerun".
--Rik
The interface provides a "prerun distance" that is specifically designed to make this simple. See http://zerenesystems.com/cms/stacker/docs/stackshot and search for "prerun".
--Rik
Yes I understand that method. However, there would be backlash going backward which would "offset" whatever amount you back up before the start point. In that case, the (position + prerun) amount would not necessarily place you at the 'start' position. The prerun will "remove" any forward backlash but the unknown rearward backlash has affected the x-position, to which must be added a difference to get to the start point. That is, the (prerun + (current-x minus start-x)) amount may not be the correct distance to travel forward to again reach the actual starting point, because "real" current-x is not accurately known. That's the reason for the somewhat elaborate scheme I described.
Begin prerun point = start - prerun. Start has an actual x-value based on the turning of the screw/motor, but the x-axis may have been shifted forward by an unknown amount when, after setting the end point, you back up at least a backlash amount before the start. To determine the amount to go forward before beginning the prerun requires knowing where the "real" current x-position is. This current x-position is uncertain by the amount of rear-moving backlash introduced when going back through the start point and beyond before going forward again.
The key x-unknown (backlash) is introduced because: the x-position "known" by ZS is only determined by the counting the "turning" of the motor/screw and may not be the actual position on the rail. It requires a little diagram for this to make sense. Without determining the actual backlash amount, calculating when you are at the start-x position will have
an error in it.
Am I understanding all this correctly?
Begin prerun point = start - prerun. Start has an actual x-value based on the turning of the screw/motor, but the x-axis may have been shifted forward by an unknown amount when, after setting the end point, you back up at least a backlash amount before the start. To determine the amount to go forward before beginning the prerun requires knowing where the "real" current x-position is. This current x-position is uncertain by the amount of rear-moving backlash introduced when going back through the start point and beyond before going forward again.
The key x-unknown (backlash) is introduced because: the x-position "known" by ZS is only determined by the counting the "turning" of the motor/screw and may not be the actual position on the rail. It requires a little diagram for this to make sense. Without determining the actual backlash amount, calculating when you are at the start-x position will have
an error in it.
Am I understanding all this correctly?
I see now why the "simple" method will work. Assuming the forward backlash equals the rearward backlash (a reasonable assumption), they will cancel each other out when using the "simple" method. The x-position after the backward return before shooting is actually less than what ZS thinks (in its position value) and the move forward after that also has backlash of the same amount which prevents overrun, i.e. it doesn't move as far forward as ZS thinks it does. Case closed, I guess.
- rjlittlefield
- Site Admin
- Posts: 24018
- Joined: Tue Aug 01, 2006 8:34 am
- Location: Richland, Washington State, USA
- Contact:
Probably. But since I've already written what follows, I'll post it anyway.Case closed, I guess.
No. Worse, you're over-analyzing the problem so much that I can't tell for sure where you're going wrong.Bugeyes wrote:Am I understanding all this correctly?
Forget the math and just think about what's going on mechanically.
Backlash is due to slop in the mechanics. The slop is mostly due to clearance between the male and female screw threads, but there's probably also a bit in the thrust bearings.
What prerun does is very simple: it removes the slop!
In detail, what happens is that due to friction the carriage does not move at all, until the screw has turned far enough that the male and female threads are in tight contact and the thrust bearing is fully engaged. At that point the carriage begins to move, and thereafter it moves in perfect synchrony with the screw (down to the micron level) as long as the screw turns in one direction.
If you make one pass forward, then back up, then make a second pass forward, the two forward passes are also synchronized with each other. They're just not synchronized with the backward pass.
So, the key thing to realize is that with prerun the backlash does not introduce an accumulating error or a variable error, no matter how you turn the screw. Instead, each time you turn the screw enough to make the carriage move forward again, you get yourself back into the same coordinate system.
Summary: all that matters is that a) the prerun distance is large enough to remove all the slop, and b) there's enough friction or other forces in the system to keep new slop from developing.
Regarding (b), if your setup is vertical and your camera etc are heavy enough to risk overcoming carriage friction, then you should interpret "forward" as meaning upward, against gravity. Otherwise you would be at risk that sometimes the carriage would be pushed down by the screw, and other times it would fall down under its own weight. You need to have the screw driving the action at all times that you care about accurate position.
--Rik