Cheap DIY "laser" screw compensation

All things related to the Centroid Acorn CNC Controller

Moderator: cnckeith

qjones
Posts: 23
Joined: Tue Dec 11, 2018 11:11 am
Acorn CNC Controller: Yes
Allin1DC CNC Controller: No
Oak CNC controller: No
CNC Control System Serial Number: none
DC3IOB: No
CNC11: Yes
CPU10 or CPU7: No

Re: Cheap DIY "laser" screw compensation

Post by qjones »

Can you post which DRO you used for this?

Thanks!


farmerjohn
Posts: 7
Joined: Sat Jun 15, 2019 3:25 pm
Acorn CNC Controller: Yes
Allin1DC CNC Controller: No
Oak CNC controller: No
CNC Control System Serial Number: none
DC3IOB: No
CNC12: Yes
CNC11: No
CPU10 or CPU7: No

Re: Cheap DIY "laser" screw compensation

Post by farmerjohn »

qjones,

I am using a cheap Chinese one that I found on amazon

Model number: jcs900-2ae

It seems to work well enough


farmerjohn
Posts: 7
Joined: Sat Jun 15, 2019 3:25 pm
Acorn CNC Controller: Yes
Allin1DC CNC Controller: No
Oak CNC controller: No
CNC Control System Serial Number: none
DC3IOB: No
CNC12: Yes
CNC11: No
CPU10 or CPU7: No

Re: Cheap DIY "laser" screw compensation

Post by farmerjohn »

Muzzler,

You are right - I double checked all the mechanics and found that my belt tension was not adequate. After fixing that my backlash was FAR less!

I have updated my original posting with a new version of the code. The original one that I posted had some errors

I also added a function in there to measure the average backlash

The best process that I found was to do the following in this oder:

1) remove any backlash comp or screw comp and home the machine
2) use the laser screen to set the screw pitch by following the directions
3) home the machine and then zero the DRO and reset the ardunio and clear the serial monitor
4) run the axis in 0.5" increments all the way forward and all the way back
5) copy / paste the output of the arduno into input.txt
6) Run the php code with $calc_backlash = true; (this will compare the backlash from each increment and calc an average for the whole length)
7) Take the value from that and enter it in as the backlash comp
8) re-home the machine
9) zero the DRO and reset the ardunio and clear the serial monitor
10) run the axis in 0.5" increments all the way forward and all the way back
11) copy / paste the output of the arduno into input.txt
12) Run the php code with $calc_backlash = true; and $debug = true; as well as setting the axis number and max pos in inches (this is the max travel)
13) Check that everything looks good in the debug output. If not you may have to edit input.txt to remove duplicate lines
14) if all looks well, turn debug to false and pipe the output to your axis .TAB file by running php laser.php > cnc-z.tab
15) copy the tab file into the acorn cncm directory and restart acorn

If all goes well - the tab file will load and your screw & backlash comp should be spot on

Run through the axis again in 0.5" increments to verify.. you can make manual tweaks in the mcomp screen if necessary

All of my axis are now within 0.00010 on each movement and everything is repeatable

Here is the G-code I use to move the axis - its very important to pause for 2.5 seconds between moves to let the arduino record the position

Forward:
G91X.5
G4P2.5
M102

Backwards:
G91X-.5
G4P2.5
M102

Let me know if anyone tries it on their own

Good luck

John


Post Reply