Inaccurate x axis

Post technical questions about the Buildbotic Controller here.
Forum rules
No profanity, no gambling, no illegal activity, so sexual or pornographic material.

Posts not related to the Buildbotic CNC Controller are likely to be moved or deleted.
Post Reply
ajbonu02
Posts: 4
Joined: Sun Oct 18, 2020 2:41 pm

Inaccurate x axis

Post by ajbonu02 » Sun Nov 20, 2022 10:26 am

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!

User avatar
Doug
Posts: 343
Joined: Fri Feb 02, 2018 4:56 pm

Re: Inaccurate x axis

Post by Doug » Sun Nov 20, 2022 9:41 pm

What are the max velocity, max acceleration, and max jerk settings for the axis?

ajbonu02
Posts: 4
Joined: Sun Oct 18, 2020 2:41 pm

Re: Inaccurate x axis

Post by ajbonu02 » Sat Dec 03, 2022 11:41 am

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!

User avatar
Doug
Posts: 343
Joined: Fri Feb 02, 2018 4:56 pm

Re: Inaccurate x axis

Post by Doug » Wed Dec 07, 2022 4:54 pm

Can you download your configuration and attach it to a posting? You can do this on the Settings->Admin page with the Backup’ button.

ajbonu02
Posts: 4
Joined: Sun Oct 18, 2020 2:41 pm

Re: Inaccurate x axis

Post by ajbonu02 » Fri Dec 09, 2022 5:44 am

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
}
}

ajbonu02
Posts: 4
Joined: Sun Oct 18, 2020 2:41 pm

Re: Inaccurate x axis

Post by ajbonu02 » Fri Dec 09, 2022 9:28 am

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!!

Post Reply