Machsupport Forum
Mach Discussion => General Mach Discussion => Topic started by: yeager on March 23, 2006, 09:20:43 PM
-
hi everyone
i'm having very good luck using mach 3 however i'm have a major issue with calibration
I am using a 5' X 12' router table. It is 3 axis and uses 3 geoko drives with 1.8 stepper motors
My problem is... when i use settings -> calibrate, I enter 2 units (2"), take the measurement and enter that.
Then the machine is perfectly accurate at 2" however is more than 1/2" off at 120"
So, then i enter calibrate 120" take the measurement and enter that.
Now the machine is perfectly accurate at 120" however is more than 1/4" off at 2"
Therefore,... I cannot use this program (I think i might not have all settings properly adusted)
I need the machine to be accurate to 1/64... is this possible?
Thanks in advance
So you See, I just can't win!
-
how many decimal places are you measuring to?
The longer the axis movement the more accurate your measurement needs to be to allow for rounding errors.
What is the pitch of your leadscrew/ballscrew?
How many steps per rev of the motor.
What is the ratio of the motor to the screw?
With this you can work out what the steps per 1" should be.
With well adjusted equipment and good screws you could get the accuracy down to .001"
Graham.
-
i'm measureing to 1/64
not sure of pitch because the machine uses serveral pulleys then a row of teath down the side and a gear on the pulley
this is why i'm trying to use settings->calibrate
200 steps per rev (gecko drive) 1.8 motors
I can get the machine to run 120" perfectly every time but is inaccurate at 2"!
this problem is happening on x and y axis
-
are the pulleys toothed type or v belts?
if you count the number of teeth on each gear and on each pulley we can work out the ratios and set mach3.
if the pulleys are v belt type we need to know the exact diameter. a rule measurement is not good enough.
Graham.
-
To use the calibrate method you need to have a block or tool shank of a known diameter, e.g. 1.000" dia end mill shank.
You can then use this as a setting block.
Clamp a block (any block NOT the known size one) to the machine axis, it must be set square.
Gently push the table up to it.
Zero out.
Move the table so that you can insert the known size block and push the table up to it so it is clamped by the table and the other block.
Don't move the table so hard it moves the clamped block.
Then calibrate.
This method should be better than a ruler.
Graham.
-
thanks graham
i will try that this weekend and get back to you with the results
-
Hey Graham,
I am having a similar problem and Since Yeager didn't repost his results I was wondering if you (or anyone else) might have any additional ideas about what might cause this scenario?
Here's what I have going...I am making my table larger and have decided to use a belt drive. Specifically 'L' type synchro timing belt (reinforced with steel strands). here's a link http://www.mcmaster.com/nav/enter.asp?pagenum=978 (http://www.mcmaster.com/nav/enter.asp?pagenum=978)
Single 18 tooth pulley at one end of table- other end of table has another 18 tooth and a 20 tooth. Turning this shaft so the 2) 18tooth pulleys make a full rotation results in the axis moving 7.30 inches.
The 20 Tooth pulley is connected to the motor (with another small 14" belt). The Motor has a 10 Tooth pulley. See attached cartoon for a (hopefully) better explanation.
Motor has 400 steps per rev.
I calculate 109.5 steps per unit. So when I try G1 X1.00 it's all good (i.e. the axis does measure out to be 1 inch with a micrometer).
If I G1 X5.00 and put a tape measure on it, it is at 5.25.
If I G1 X30.00 and put a tape measure on it, it is at 33.00.
It seems like I need to tweak my Steps per. I try doing that and (like Yeager) get it accurate @ 30" put then the 1" cal is not correct.
Any ideas what gives? The axis SHOULD travel in a linear (measurement speaking) way right. What would cause this phenomenon? Are my Belts cursed? Do you think this could be a bad cable connection? Any help is GREATLY appreciated!
Thanks,
Sid
-
How accurate is your 7.30" measurement?
Graham.
-
Hello
Just noticed this thread - I am very wary of the calibration tool. I have a DRO on my machine so used this to do various tests. I used the calibration tool to try and set the correct values over various distances - from 10mm upto my full table travle (only 200mm). After calibrating I repeated the same tests (all this was done with backlash turned off so I compensated manually). Every time I used the calibration wizard I found the values were slightly out - e.g. a move of 50mm gave a physical move of 49.97mm. Every time I used the calibration tool it was slightly out. I then went to motor tuning and decided to 'hand tune' the values. These had been calculated to about 6 or 7 decimal places. I found that if you reduce the value down to about 3 decimal places, and play with the last two decimals then you can get really good results. (I use about 500 steps per mm)
This may be a rounding problem in the software - perhaps Art can shed some more light.
Cheers
Dave
-
The math could be setup to round the values but in the end the wizard worked for setting up the axis :) The Calibrate tool is one that I wrote in VB so if you would like to have it round I can make that happen.
-
Hi Brian
Sorry I think I confused things a bit. The basic problem I have found is this :-
I eliminate backlash (g0 x-10)
Move to start position (G0 x0) set DRO to zero
Run calibrate axis, enter 50mm, enter value, e.g. 48.97mm
Remove backlash (G0 x-10)
move to start (G0 X0) ser DRO to zero
then move to x50 (g0 x50)
Read Dro Value - this value (even after about 6 calibrations) does not equal 50mm
If I manually tune the motor values I can get the table to move exactly 50mm as read on the DRO.
Has anyone else experienced this. Brian, I don't mean to have a go but the calibration doesn't work on my system when compared to the DRO. The values are always fractionally out. However, it is possible to achieve the exact values through tweaking. I wondered whether some where there was a rounding being performed too early in the routine.
Cheers
Dave
-
There is no rounding but I could put in a few moves to take out lash... It could be a checkbox that tells you it is going to remove the lash. I am thinking about changing how that works as well.. I think it would be better to have the user press a key to zero the axis, move the axis a known distance and the computer would keep track of how far it thinks it should have moved. This would make it so you wouldn't have to deal with the axis moving without you :(
That is just an idea and I have very little time to write the code but if it will helppeople I will make the time.
Thank you
Brian
-
Uh, this may sound stupid but, what is the "calibrate tool". I thought that was my tape measure and my micrometer. Is there some kind of wizard? Where?
Graham, thanks for the reply- I'll double check my 7.3 but I think it's pretty darn close. FYI- by playing around with the steps per unit manually I have observed the following
G1 X1.000 - The X-axis actually mics out at around .978 - using the same Steps per setting I'll type
G1 X5.000 - The axis axis will move to 5.25 .
DAMN this is weird? It makes no sense to me that it would be under @ 1.0 and over @ 5.0- WTH??
I start out being too low on Steps per unit and somewhere in the 5" of Travel I "catch up" and overtake and end up having "gained steps". If I was just gaining or just losing I would understand but I am doing both in the same moevement. How?, Why? Help!
Thanks, Sid ???
-
Sid
If you go to the settings page there is a button bottom left is marked "Axis Callibration" - You tell the machine how far to move, it moves, then it asks you to tell it how far you measured that it moved. It then calculates the steps per unit required.
Are you aware of backlash? You need to make sure that this is taken out before you perform you're measurement. I.e. before you do you're measurment move, you should move in the same direction as you plan to measure. If you need any help just give me a shout.
Cheers
Dave
-
Dave,
AWESOME info- Thanks! How do I take out the backlash before I calibrate. Well, I know where to enter the settings but if the machine is not calibrated how do I know how much backlash to compensate for?
Thanks in advance for you assistance!
-
Sid
You need to move in the same direction, an amount greater than the backlash before you start your actual measurment move. Lets try an example as it is probably easier to see. Lets look at the X axis which has say 0.5mm of backlash.
Initial postion is X27 - random number I came up with !
Now move in the -Ve direction i.e. G0 x-10
We now need a +ve move to remove the backlash i.e. G0 x0
The backlash is now removed
Now start the measurment move e.g. G0 x50 (+ve move)
Make a note of the measurment - you now need to go back to G0 x-10
then G0 X0 (remove backlash again)
Now change the step settings (you don't need to remove the backlash as you already have!)
repeat over and over until your happy.
The important thing is that where you change direction you need to do two moves, first to remove backlash, second the actual measurment.
Any more probs just shout
Cheers
Dave
-
;D Dave Dude!
You are awesome! That is an excellent explanation. I'm gonna try that right now and I'll let you know how it turns out!
THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU!!!
Sid
-
OK, here's the poop...
Brian's calibration hoo ha on the settings page seems to work pretty damn good for me (Thank you Brian!). Now moving in the +ve (x +) direction everything is spot on. Things get funny after a move in the -ve (x-). Instead of moving to -10.00, it moves to -10.02 (i.e. it didn't move enough. Yet, when I have it goto 0.00 it is spot on.
I think that I have a backlash issue? I am stuck about how to fix because I don't think I understand enough about backlash and how to compensate for it.
Thanks for the patience and enlightenment!
Sid
-
No probs sid
Are you making sure that you take out the backlash before the negative move? In this case you would need to go to a positive value then move to zero to remove the backlash and then move to your final negative value.
To use backlash compensation what you need to do is this :-
First remove backlash - so G0 x-10, G0 x0
Set your indicator to zero.
Now move to a new position e.g. G0 X50
And move back to the original position i.e. G0 X0
Read the value off the dial indicator - This is your backlash value.
Go into the Config, backlash menu and enter the value you just found for the relevant axis in the NATIVE units of the machine.
Click the enable backlash button - then you must restart MACH before the compensation starts to work.
In theory if the steps per unit is correct and the backlash you should be able to move back in forth in any combination of positive and negative moves and always return to the same position. Of course this is only theory and things like the leadscrew pitch not being perfectly consistent can lead to small errors.
Let us know how you get on.
Cheers
Dave
-
Sid
Just realised that I should realy explain backlash - apologises if you know this already.
A screw and a nut can never be perfectly matched, i.e the male portion can not be a 'perfect' fit in the female portion. If they were you would have a press fit and you wouldn't be able to turn the screw. As a result there must be some clearance between the nut and the screw. As a result, when you turn the screw in one direction it pushes the nut along, but when you reverse the direction the screw has to turn a certain amount before it actually takes up the slack. The amount that the screw has to turn before the nut starts to move is the backlash.
Obviously this rotation would be very difficult to measure. So the easy way to do it is to measure how far Mach thinks it's moving the table, and compare this to the actual movement WHEN CHANGING direction. This will give the backlash which Mach converts into the number of steps to give the desired rotation to remove the backlash. When you get backlash setup, whenever you change direction, Mach will add an extra motor move to take up the slack, before the real move starts.
Cheers
Dave
-
Hey Dave,
Thank you for the explanation. I think you should post that explanation in the WIKI because it is so good and there really isn't any real specific info on it there!
I think the problem I was having was I was entering a negative (-) value in the backlash box. I'm going to change that and try again based on your post.
I think that I'm going "give it a rest" for today though. The frustration level meter is starting to peak and I think it's good to take a break when that happens ;) I'll let you know how things turn out tomorrow!
Thanks again!
Sid