fine tuning - x-axis resolution - HELP!!
I have run out of hair to pull out so I am hoping someone can help with this issue. I am fine tuning the x-axis on my machine. I am using a 1/5" pitch belt and timing gears. at 1/16 steps I can't seem to get any resolution under 1 inch. I calibrated the machine to the video and its dead nutz for 33" and 15" and 5" ... when I get to 1" or less it pukes all over the place. my small circles are elliptical. I tried changing the steps to 1/8 and its slightly better but still not within any kind of usable tolerance. I am using EMC2 and it works great with larger projects, but the small movements of .01 and less are horrible. For the testing of these values I used a .0000 digital caliper fastened to the table. when I move the gantry I get these reading and the measurements below.
movement command = actual measured movement
.1 = .0345
.5 = .486
.01 = .002
.05 = .0025
.001 = .0005
you get the idea it appears I have some fine movement but when it reaches .0001 nothing .... zip not even a tick on the stepper motor. Do I need to up the steps to 1/32 or 1/62 to get a fine resolution on the x-axis ? or is it not possible with to get any finer with the timing belt setup and I will need to change over to the acme lead screw - which I really don't want to do since I have spend quite a bit on this setup as it stands now. Any suggestions will be greatly appreciated. My wife is not happy with the bald patches on my head right now ...
I have enclosed the Hal and the ini file
INI file
# Generated by stepconf at Mon Aug 8 22:55:43 2011
# If you make changes to this file, they will be
# overwritten when you run stepconf again
[EMC]
MACHINE = my-mill2
DEBUG = 0
[DISPLAY]
DISPLAY = axis
EDITOR = gedit
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
MAX_FEED_OVERRIDE = 1.2
INTRO_GRAPHIC = emc2.gif
INTRO_TIME = 5
PROGRAM_PREFIX = /home/joel/emc2/nc_files
INCREMENTS = .1in .05in .01in .005in .001in .0005in .0001in
PYVCP = custompanel.xml
[FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image
PROGRAM_EXTENSION = .py Python Script
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python
[TASK]
TASK = milltask
CYCLE_TIME = 0.010
[RS274NGC]
PARAMETER_FILE = emc.var
[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
COMM_WAIT = 0.010
BASE_PERIOD = 52083
SERVO_PERIOD = 1000000
[HAL]
HALUI = halui
HALFILE = my-mill2.hal
HALFILE = custom.hal
POSTGUI_HALFILE = custom_postgui.hal
[HALUI]
# add halui MDI commands here (max 64)
[TRAJ]
AXES = 3
COORDINATES = X Y Z
LINEAR_UNITS = inch
ANGULAR_UNITS = degree
CYCLE_TIME = 0.010
DEFAULT_VELOCITY = 0.30
MAX_LINEAR_VELOCITY = 3.00
[EMCIO]
EMCIO = io
CYCLE_TIME = 0.100
TOOL_TABLE = tool.tbl
[AXIS_0]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 3.0
MAX_ACCELERATION = 7.0
STEPGEN_MAXACCEL = 8.75
SCALE = 666.0
FERROR = 0.05
MIN_FERROR = 0.01
MIN_LIMIT = -24.0
MAX_LIMIT = 24.0
HOME_OFFSET = -15.100000
HOME_SEARCH_VEL = -0.500000
HOME_LATCH_VEL = 0.500000
HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = 1
[AXIS_1]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 0.9
MAX_ACCELERATION = 28.0
STEPGEN_MAXACCEL = 35.0
SCALE = 12800.0
FERROR = 0.05
MIN_FERROR = 0.01
MIN_LIMIT = -14.0
MAX_LIMIT = 14.0
HOME_OFFSET = -14.100000
HOME_SEARCH_VEL = -0.500000
HOME_LATCH_VEL = 0.039062
HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = 2
[AXIS_2]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 1.42500912006
MAX_ACCELERATION = 100.0
STEPGEN_MAXACCEL = 125.0
SCALE = 12800.0
FERROR = 0.05
MIN_FERROR = 0.01
MIN_LIMIT = -2.0
MAX_LIMIT = 2.0
HOME_OFFSET = -2.010000
HOME_SEARCH_VEL = -0.500000
HOME_LATCH_VEL = 0.039062
HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = 0
Please Log in or Create an account to join the conversation.
With a 200 step motor, how far should the axis move for one step?
It is very unlikely you have 1" of slop in the drive. Are you sure all the couplings are clamped?
What sort of machine is this? A picture would be a big help.
Please Log in or Create an account to join the conversation.
Let me see if I can explain it better. I built this machine and I have been fighting with small circles being oval instead of circles. The machine is 48" by 30". I have included a picture of the x-axis motor and timing sprockets. The timing sprocket has 24 teeth and is 1/5" pitch. According to the formula for figuring steps per inch the setting should be 666.66 or in that area. the Motor is 200 step per inch set to 1/16 micro stepping. the couplings are rigid couplings which were just installed replacing the star type coupling.
I believed the play in the star couplings were the problem. WONG. The Problem still existed after all that upgrading. So the x-Axis does not move correctly when making small parts less than 2". A circle is elliptical and after testing the movement with a set of digital calipers fastened to the table I find I am not getting correct readings for any travel on the x-axis for values under 2". I tested all the manual movement choices in EMC and found the motor barely turns or doesn't turn enough to even register on the calipers which read to .0005 of an inch. So if I ask EMC to move .1 the actual reading Movement is .083 (mistake in earlier post.) I ask for a move of .01 the actual movement is .002. If I move the gantry 32" its correct, I have marked the table at 32",15" and 5" and the travel is correct for all 3, its the smaller increments that are way off. I guess I am looking at changing over to a lead screw unless there is something I have set completely wrong (which is possible). The y-axis and the z-axis are lead screws I decided to go with a timing belt for the x-axis one motor to move both sides of the gantry. Any help will be appreciated I am not looking forward to spending 400 bucks to make this upgrade.
Please Log in or Create an account to join the conversation.
you will never obtain .0005 with steppers .
ellipitcal circles is possibly also down to having such a high microstep rate , as the x axis also has the mass of the gantery to deal with , you probably also have the accelleration rate too high ,and effectivley too much drag on the x axis
the higher the multistep speed of a stepper the less torque you have , so dropping the multistep rate on the x axis should help .
also check your belts and that they are realy tensioned , this wil probably end up with the drive shaft bending in the configuration you have , theirs a lot of overhang from the bearing blocks and the pulley .
it's possible this is putting a side strain on the motor , look at reducing the distance from the pullys to the pillow blocks as much as possible so any loads are taken on the pillow blocks and not bowing the drive shaft
Please Log in or Create an account to join the conversation.
The timing sprocket has 24 teeth and is 1/5" pitch. According to the formula for figuring steps per inch the setting should be 666.66 or in that area. the Motor is 200 step per inch set to 1/16 micro stepping.
One sprocket rev is 4.8", so one motor step is 0.024", and at 16x microstepping you should be getting one microstep every 0.0015". However, you can't be sure of seeing a microstep, as they don't have the definiteness of a real step.
For those settings your scale of 666.66666666 is correct.
I doubt that you really want 0.0015" resolution, and I think you will find that you get better results with 4x microstepping (0.006" resolution, 166.666666 as the scale)
The underlying problem might be that the longer moves hit the step generation limits, and get throttled back, but the shorter ones don't, and run faster than the motors are capable of running.
Try much smaller numbers for velocity and accelleration (maybe divide by 10 as a starting point, especially the acceleration) and see if that improves accuracy, then adjust the numbers upwards until problems start to arise.
Please Log in or Create an account to join the conversation.
Is your driver adjustable?
I checked a driver here and for 10 micro steps it moved an uneven amount forward for 8 micro steps then the 9th one reversed slightly and the 10th jumped to where it should be.
It seems to get the resolution you desire you are depending on the micro steps.
I believe you should look at improving your resolution. You might consider a jack shaft with 2 pulleys at say a 1 to 5 ratio to drive the axis. A scale of around 3,330 would give you much better accuracy at the cost of speed.
Rick G
Please Log in or Create an account to join the conversation.
John
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
Yes that would be better, but only a bit. The smaller the better. Again if you could use something to down gear it you would improve your accuracy and torque. Also the way you have it set you will probably be cutting in a motor rpm range that is prone to vibrate. As a side note when you micro step you have less torque than in full step. I believe John's plasma table uses a pulley system for gear reduction and he has some pictures available.Since 24 isn't giving the resolution would a 14 tooth sprocket be better ?
Rick G
Please Log in or Create an account to join the conversation.
Well, you need to set the drives to the lower microstep rate and adjust EMC2 to compensate.well I tried the different suggestion and still get the same result at 1/4 step ... unless I am not inputting the information correctly in step config.
Maybe my maths is wrong?I tried a multitude of different scenarios to get 167.?? for the step per inch but with no luck
24 tooth sprocket * 1/5" = 4.8" per rev.
4.8" / 200 steps = 0.024" per step
1/4 microstepping = 0.006" per microstep = 166.6667 microsteps per inch.
[qoute]I never thought the timing belts would cause so many problems.[/quote]
The timing belts are not the problem. It is a perfectly normal way to drive a gantry.
Did you try much lower acceleration and max velocity like I suggested? Edit the INI file by hand:
in the [AXIS_0] section look for MAX_VELOCITY , MAX_ACCELERATION and STEPGEN_MAXACCEL
and divide the numbers by 10 as an experiment, save the file, and restart EMC2.
The gantry will move a lot more slowly, but it will be instructive to see if it move more accurately.
Please Log in or Create an account to join the conversation.