1% scaling error

More
13 Nov 2012 21:48 #26533 by fishface
1% scaling error was created by fishface
I've recently converted my cheap Chinese laser cutter to LinuxCNC by replacing the control board with a simple stepper drive board. I though everything was working just fine until I've just tried to cut something big! It is only at this large scale that I have noticed that all my work is being cut at between 1 and 1.5% larger than they should be.
I originally setup my configuration using stepconf, then manually adjusted a few things in the ini file myself like table limits etc.
Here is my .ini file:
# Generated by stepconf at Wed Oct 31 14:42:12 2012
# If you make changes to this file, they will be
# overwritten when you run stepconf again

[EMC]
MACHINE = Laser
DEBUG = 0

[DISPLAY]
DISPLAY = axis
EDITOR = gedit
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
MAX_FEED_OVERRIDE = 1.8
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 5
PROGRAM_PREFIX = /home/denford/linuxcnc/nc_files
INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm .005mm
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 = linuxcnc.var

[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
COMM_WAIT = 0.010
BASE_PERIOD = 100000
SERVO_PERIOD = 1000000

[HAL]
HALUI = halui
HALFILE = Laser.hal
HALFILE = custom.hal
POSTGUI_HALFILE = custom_postgui.hal

[HALUI]
# add halui MDI commands here (max 64) 

[TRAJ]
AXES = 2
COORDINATES = X Y
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
CYCLE_TIME = 0.010
DEFAULT_VELOCITY = 5.00
MAX_LINEAR_VELOCITY = 80

[EMCIO]
EMCIO = io
CYCLE_TIME = 0.100
TOOL_TABLE = tool.tbl

# x
[AXIS_0]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 180
MAX_ACCELERATION = 400
STEPGEN_MAXACCEL = 400
SCALE = 20.0
FERROR = 4
MIN_FERROR = 1
MIN_LIMIT = -0.5
MAX_LIMIT = 328.0
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = -50.000000
HOME_LATCH_VEL = 20.000000
HOME_SEQUENCE = 0

# y
[AXIS_1]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 180
MAX_ACCELERATION = 400
STEPGEN_MAXACCEL = 400
SCALE = 20.0
FERROR = 4
MIN_FERROR = 1
MIN_LIMIT = -226 
MAX_LIMIT = 0.5
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = 40.000000
HOME_LATCH_VEL = 20.000000
HOME_SEQUENCE = 1
My stepper board is setup to use 1/2 steps. I think my steppers are 1.8 degree per step and I my axis are driven by notched pulley belts.
The error is consistent (I can repeatedly move between the same two points all day and it does not wonder) and on both axis.

I have adjusted the SCALE parameter to 19.73586 which now means that when I say move 250mm, it actually does move that distance (so I have sort of fixed my problem), but it seems such an odd number that I can't help thinking it should be 20, and the error is coming from somewhere else.

Any thoughts would be most welcome.

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

More
13 Nov 2012 22:47 #26535 by BigJohnT
Replied by BigJohnT on topic 1% scaling error
If you mean you have belts that run the length of the axis and move the axis with them the scale will not be exact due to belt stretch. You will have to use empirical evidence to find the scale number.

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

Time to create page: 0.552 seconds
Powered by Kunena Forum