DRO innacuracy. Why would the DRO not reach the commanded position?

More
01 Oct 2019 19:12 #146820 by Scot
I've been scratching my head about this and I really don't know what to do.

I home the axis I'm working on. And when it lands at the home position, it's off a tiny bit - .0007" to be exact. Home is set up in the .ini file to be 5.25" The DRO reading is 5.2507. Now the switch being the hard point that the machine seeks would make sense to be the culprit for that. But wouldn't the software choose an exact value to set as home when the switch trips?

Also, when commanded to the zero position on that axis, the DRO reads .0011" short. It isn't an overshoot of .0011". That would read -.0011.

Is there a software tweak I need to do to get that machine to land at the exact commanded position for both ends of that axis? The encoder is a 500 line Quadrature encoder with index. I'm kind of confused as to why this would happen. Could the encoder wheel be bad? The screw has a bit of wear, but that won't effect the electronic measurement, only the real world output, right? This is strange and I'm not sure what to do to make it so I can get this axis to land as commanded. I can replace the ball screw with an accurate part. But if the machine won't land at it's commanded position, I'm going to be hard pressed to keep the accuracy the machine should have.

As usual, thanks in advance.

Scot

Please Log in or Create an account to join the conversation.

More
01 Oct 2019 19:41 - 01 Oct 2019 19:47 #146823 by Todd Zuercher
Where the home switch is or is detected should not matter. Check to see if you have any offsets active, Tool offsets, machine coordinate offsets (G54,G55...) or work coordinate offsets (G92) can all shift what the DRO reads.

The only other reason I can guess might be if your system has poor resolution and this is merely a rounding error, with this being the closest step position that Linuxcnc can resolve from zero using your home offset and step size.
What are your steps/inch?
Last edit: 01 Oct 2019 19:47 by Todd Zuercher.

Please Log in or Create an account to join the conversation.

More
01 Oct 2019 20:24 #146825 by Scot
Thanks Todd. I figured the home switch didn't do anything other than give the place to stop with an electrical signal.

No offsets have been programmed, other than G53 by MDI, just once to make sure the machine is in machine coordinates. The .var file reads exactly as it comes out of the box with all variables reading 0.000000, other than 5220, which reads 1.000000 and is standard from what I read on the offsets section - used to make LinuxCNC start with the first of 9 offsets.

The screw is a 2.5mm pitch. The encoder is quadrature with index and 500ppr. The system isn't set up as steps per inch, but rather as INPUT_SCALE =. That value is set to 25400.508 for maximum resolution and it reads moderately close to correctly on real world measurements. Albeit the screw is not perfect. So the real world measurements are off a couple thou until the screw is replaced. And I'm pretty sure the DRO wouldn't be reading over or under from the screw being off, but the screw being off will make real world outputs read incorrectly, which is the case.

The DRO lands at .0007" over the 5.25" programmed home position, every time. And when sent to the zero point on that axis, it lands at .0011", rather than zero. And each one inch increment it's sent to from zero ends up thou to .0011" short, EVERY time. I am absolutely, 100% NOT sending this axis to the position it is landing.

Scratching my head on this one.

Thanks in advance,

Scot

Please Log in or Create an account to join the conversation.

More
01 Oct 2019 20:29 - 01 Oct 2019 20:39 #146826 by OT-CNC
Is your encoder 1:1? Your minimum position would be +/-.0005" no? (500 x 4 =2000. 1"/2000= .0005")

edit: was slow to post, just saw the other responses plus you have rotary encoder so those numbers are different

I'm guessing here that the axis is dithering between 0 and .0005 plus some deadband of .0002"? Not sure where the .0011 number is coming from.
I'm interested in what other have to suggest to get to your target number closer. Maybe tuning or some add offset in effect?

On my mill, I have older linear encoders that are 10 micron so minimum encoder count is .0004" so the numbers always fluctuate by that. The servos are keeping position within that 1 count. When I home the dro is set to 0.0000" with then the expected +/- .0004" fluctuation. That's when I know things are working right ;)

I don't think you have a bad encoder or noise if the numbers repeat.

How accurate do you need to be? In reality +/-.001" on a mill isn't bad, not so good on a lathe but that all depends on what you're doing. What kind of a machine is it?
Last edit: 01 Oct 2019 20:39 by OT-CNC. Reason: edit

Please Log in or Create an account to join the conversation.

More
01 Oct 2019 20:53 #146828 by Scot
The deadband is 0.000126. I don't know the purpose of adjusting this, though. Any light on reasoning behind that adjustment would be helpful as I have another axis to configure. Would it be advisable to adjust the deadband? If so, any increment advise?

There is slight and inconsistent dithering noise coming from the motor at stopped position and when pressure is applied in turning the shaft of placed on the belt. So it may be the issue, along with tuning, which I expect to have to do when the other axis is being configured.

The numbers repeat. So I'm inclined to agree. The tuning was very close from what I was told by Jon Elson. But there are variations in halscope at the .0001" scale.

This machine is a lathe. I'd like to keep the repeatability within a half thou, but it would be really preferable to keep it within .00025" or less, if possible. The screw will likely be replaced, along with tuning it again, after. But the landing point on both ends is really a confusing issue. The axis seems to consistently land over about .0007" - .001" on the positive end and .001" - .0011" over commanded position on the zero side EVERY TIME.

Thanks for the input,

Scot

Please Log in or Create an account to join the conversation.

More
01 Oct 2019 21:36 #146829 by Scot
I forgot to add that my motor to screw ratio is 16 teeth on the motor pulley and 20 teeth on the screw pulley. If I'm not wrong, that's a 4:5 or .8:1 ratio, motor to pulley. If I switch them, wouldn't that mean I'll sacrifice speed and then have to change the scaling? The slide is old on this lathe, but that's how the gearing was set up originally.

Please Log in or Create an account to join the conversation.

More
01 Oct 2019 21:44 #146830 by Scot
The DRO seems to consistently land about a thou before the commanded position and about a thou over the commanded position to the home point. But when it's moved between to positions, rapid or slow, it seems to land about a thou short in both directions. i.e. if it's sent to 1" from 2" it lands at 1.999" to 1.9991" And when sent from 2" to 1" it lands at 1.001" to .0011" pretty much every time and pretty much exactly.

So it's really odd. Sent home, the machine overshoots the landing position by a few 10ths over the commanded position. When sent the opposite direction, regardless of stopping point, it lands right around a thou before it's supposed to. Then when moved between two points, it lands a thou-ish short on both sides.

I honestly don't know what to make of it.

Scot

Please Log in or Create an account to join the conversation.

More
01 Oct 2019 22:07 #146833 by OT-CNC
Cool. It's a lathe.
Just for clarification, when you refer to DRO, you mean the position display or DRO screen in linuxcnc not a separate digital readout on the lathe, correct?

Please Log in or Create an account to join the conversation.

More
01 Oct 2019 22:09 #146834 by Scot
It's not an external DRO. It's the DRO in the AXIS gui in Linuxcnc. This is the only axis I'm testing right now and it's the Z axis, if that helps.

Please Log in or Create an account to join the conversation.

More
01 Oct 2019 22:48 #146836 by OT-CNC
Okay good. I would double check what Todd suggested. Make sure there are no odd offsets loaded.

What happens when you jog the Z 3" away from the spindle and hit the touch off button and enter Z0.0 then go to MDI and enter G01 Z-1.000 F3?
Will the display read 0.0 (in G54) before moving to Z-1.000?
The following user(s) said Thank You: Scot

Please Log in or Create an account to join the conversation.

Time to create page: 0.083 seconds
Powered by Kunena Forum