Page 1 of 1

Inaccurate x axis

Posted: Sun Nov 20, 2022 10:26 am
by ajbonu02
Hello,
I'm running buildbotics on a openbuild lead cnc 1010 and am having trouble getting acceptable accuracy on the x axis. For instance, if I enter the proper travel per rev for x axis (8mm, based on an 8mm 4-start lead screw), a 350mm g0 move will be 355 mm or more in actual travel. I've tried to adjust using the calibration method outlined in your video, but can not get it to be dead-on accurate. The y-axis, which has identical lead screw (travel per rev set to 8mm), appears to work properly.

Is there something I'm doing wrong? I'm running 1.0.3 of the firmware...is it possible that there is a bug in the software?

Thanks for any help you can provide!

Re: Inaccurate x axis

Posted: Sun Nov 20, 2022 9:41 pm
by Doug
What are the max velocity, max acceleration, and max jerk settings for the axis?

Re: Inaccurate x axis

Posted: Sat Dec 03, 2022 11:41 am
by ajbonu02
Sorry it's taken me so long to reply! I had to tear the machine apart and make a few adjustments.

The settings feel pretty conservative: max velocity is 3m/min, accel is 5.2km/min, and max jerk is 50. I've been doing test runs with a ruler, and it's always at least a few mm too long.

This is the type of machine I'm using:
https://openbuildspartstore.com/lead-cnc-1010-40-x-40/

Thanks again for your assistance!

Re: Inaccurate x axis

Posted: Wed Dec 07, 2022 4:54 pm
by Doug
Can you download your configuration and attach it to a posting? You can do this on the Settings->Admin page with the Backup’ button.

Re: Inaccurate x axis

Posted: Fri Dec 09, 2022 5:44 am
by ajbonu02
Thanks Doug! Here is my config file.

{
"macros": [
{
"path": "Macros/Probe Macro (mm)",
"color": "#EC1C23",
"name": "Z (mm)"
}
],
"tool": {
"tool-reversed": false,
"rapid-auto-off": false,
"tool-type": "Disabled",
"dynamic-power": false,
"min-spin": 0,
"max-spin": 10000
},
"input": {
"input-debounce": 5,
"input-lockout": 250
},
"settings": {
"max-deviation": 0.099,
"units": "METRIC",
"junction-accel": 199999.999
},
"gcode": {
"program-end": "(Runs on M2, program end)\nM2",
"program-start": "(Runs at program start)\nG90 (Absolute distance mode)\nG17 (Select XY plane)\nG21 (Metric)",
"tool-change": "M70\n(Runs on M6, tool change)\nM0 M6 (MSG, Change tool)\nM72"
},
"admin": {
"virtual-keyboard-enabled": true,
"auto-check-upgrade": true
},
"outputs": {},
"modbus-spindle": {
"parity": "None",
"multi-write": false,
"regs": [
{
"reg-type": "disabled",
"reg-value": 0,
"reg-addr": 0
},
{
"reg-type": "disabled",
"reg-value": 0,
"reg-addr": 0
},
{
"reg-type": "disabled",
"reg-value": 0,
"reg-addr": 0
},
{
"reg-type": "disabled",
"reg-value": 0,
"reg-addr": 0
},
{
"reg-type": "disabled",
"reg-value": 0,
"reg-addr": 0
},
{
"reg-type": "disabled",
"reg-value": 0,
"reg-addr": 0
},
{
"reg-type": "disabled",
"reg-value": 0,
"reg-addr": 0
},
{
"reg-type": "disabled",
"reg-value": 0,
"reg-addr": 0
},
{
"reg-type": "disabled",
"reg-value": 0,
"reg-addr": 0
},
{
"reg-type": "disabled",
"reg-value": 0,
"reg-addr": 0
},
{
"reg-type": "disabled",
"reg-value": 0,
"reg-addr": 0
},
{
"reg-type": "disabled",
"reg-value": 0,
"reg-addr": 0
},
{
"reg-type": "disabled",
"reg-value": 0,
"reg-addr": 0
},
{
"reg-type": "disabled",
"reg-value": 0,
"reg-addr": 0
},
{
"reg-type": "disabled",
"reg-value": 0,
"reg-addr": 0
},
{
"reg-type": "disabled",
"reg-value": 0,
"reg-addr": 0
},
{
"reg-type": "disabled",
"reg-value": 0,
"reg-addr": 0
},
{
"reg-type": "disabled",
"reg-value": 0,
"reg-addr": 0
},
{
"reg-type": "disabled",
"reg-value": 0,
"reg-addr": 0
},
{
"reg-type": "disabled",
"reg-value": 0,
"reg-addr": 0
},
{
"reg-type": "disabled",
"reg-value": 0,
"reg-addr": 0
},
{
"reg-type": "disabled",
"reg-value": 0,
"reg-addr": 0
},
{
"reg-type": "disabled",
"reg-value": 0,
"reg-addr": 0
},
{
"reg-type": "disabled",
"reg-value": 0,
"reg-addr": 0
},
{
"reg-type": "disabled",
"reg-value": 0,
"reg-addr": 0
},
{
"reg-type": "disabled",
"reg-value": 0,
"reg-addr": 0
},
{
"reg-type": "disabled",
"reg-value": 0,
"reg-addr": 0
},
{
"reg-type": "disabled",
"reg-value": 0,
"reg-addr": 0
},
{
"reg-type": "disabled",
"reg-value": 0,
"reg-addr": 0
},
{
"reg-type": "disabled",
"reg-value": 0,
"reg-addr": 0
},
{
"reg-type": "disabled",
"reg-value": 0,
"reg-addr": 0
},
{
"reg-type": "disabled",
"reg-value": 0,
"reg-addr": 0
}
],
"bus-id": "1",
"baud": "9600"
},
"pwm-spindle": {
"pwm-max-duty": 99.99,
"pwm-inverted": false,
"dynamic-power": false,
"pwm-min-duty": 1,
"rapid-auto-off": false,
"pwm-freq": 1000
},
"version": "1.0.3",
"motors": [
{
"reverse": true,
"latch-velocity": 0.1,
"zero-backoff": 5.001,
"step-angle": 1.8,
"idle-current": 0,
"stall-current": 1.5,
"max-jerk": 50,
"min-soft-limit": 0,
"latch-backoff": 100,
"max-velocity": 3,
"max-soft-limit": 812,
"travel-per-rev": 7,
"stall-microstep": 8,
"stall-sample-time": 50,
"axis": "X",
"search-velocity": 0.5,
"enabled": true,
"stall-volts": 6,
"microsteps": 8,
"homing-mode": "switch-min",
"drive-current": 2.8,
"max-accel": 5.2
},
{
"reverse": true,
"latch-velocity": 0.1,
"zero-backoff": 5.001,
"step-angle": 1.8,
"idle-current": 0,
"stall-current": 1.5,
"max-jerk": 28.243,
"min-soft-limit": 0,
"latch-backoff": 100,
"max-velocity": 1.524,
"max-soft-limit": 609.6,
"travel-per-rev": 2.54,
"stall-microstep": 8,
"stall-sample-time": 50,
"axis": "X",
"search-velocity": 0.5,
"enabled": true,
"stall-volts": 6,
"microsteps": 16,
"homing-mode": "manual",
"drive-current": 3,
"max-accel": 6.531
},
{
"reverse": true,
"latch-velocity": 0.1,
"zero-backoff": 5.001,
"step-angle": 1.8,
"idle-current": 0,
"stall-current": 1.5,
"max-jerk": 35,
"min-soft-limit": 0,
"latch-backoff": 100,
"max-velocity": 4.2,
"max-soft-limit": 685.8,
"travel-per-rev": 8.001,
"stall-microstep": 8,
"stall-sample-time": 50,
"axis": "Y",
"search-velocity": 0.5,
"enabled": true,
"stall-volts": 6,
"microsteps": 32,
"homing-mode": "switch-min",
"drive-current": 4.2,
"max-accel": 10.002
},
{
"reverse": false,
"latch-velocity": 0.09999979999999999,
"zero-backoff": 5.001259999999999,
"step-angle": 1.8,
"idle-current": 0,
"stall-current": 1.5,
"max-jerk": 50.001,
"min-soft-limit": -20,
"latch-backoff": 99.9998,
"max-velocity": 4.2,
"max-soft-limit": 152,
"travel-per-rev": 8.001,
"stall-microstep": 8,
"stall-sample-time": 50,
"axis": "Z",
"search-velocity": 0.49999899999999997,
"enabled": true,
"stall-volts": 6,
"microsteps": 32,
"homing-mode": "manual",
"drive-current": 2.8,
"max-accel": 10.001623200000001
}
],
"io-map": [
{
"mode": "lo-hi",
"function": "output-flood"
},
{
"mode": "lo-hi",
"function": "output-mist"
},
{
"mode": "normally-open",
"function": "input-motor-0-min"
},
{
"mode": "normally-open",
"function": "input-motor-0-max"
},
{
"mode": "normally-open",
"function": "disabled"
},
{
"mode": "normally-open",
"function": "disabled"
},
{
"mode": "normally-open",
"function": "input-motor-2-min"
},
{
"mode": "normally-open",
"function": "input-motor-2-max"
},
{
"mode": "normally-open",
"function": "disabled"
},
{
"mode": "normally-open",
"function": "input-motor-3-max"
},
{
"mode": "lo-hi",
"function": "output-tool-enable"
},
{
"mode": "lo-hi",
"function": "output-tool-direction"
},
{
"mode": "hi-lo",
"function": "analog-1"
},
{
"mode": "lo-hi",
"function": "output-fault"
},
{
"mode": "normally-open",
"function": "input-probe"
},
{
"mode": "normally-open",
"function": "disabled"
},
{
"mode": "hi-lo",
"function": "analog-0"
}
],
"switches": {
"switch-lockout": 250,
"switch-debounce": 5
}
}

Re: Inaccurate x axis

Posted: Fri Dec 09, 2022 9:28 am
by ajbonu02
Hi Doug,
I did some additional testing today, and I think I finally have the issue worked out. I put some different motors on the axis, and worked on finetuning the mm per rev to increase accuracy. Thanks again for your help and willingness to assist. It's much appreciated!!