PDA

View Full Version : Accuracy Test File



gerald_d
01-09-2006, 12:09 PM
This was posted in another thread which is sub judice, but didn't want the idea to go ice cold...

I think we need a standard .sbp "test file" that each of us can run on our own machines, where we can then measure and compare real results with each other and against factory specs. For example, how about a file that simply cuts four 2 inch wheels nested in a tight pattern on a 5"x5" square piece of 3/4" MDF. (like the bumps on a Lego block (http://www.rose-hulman.edu/admissions/images/lego.gif)) The cutting is only 5/8" deep max, all with a 1/2" cutter. Simple stuff - but, the file must cut two wheels as conventional and two wheels as climb-cut. Also, the file must contain different speeds (light and heavy cutter loads). And we need helical entries for those wanting to keep plunge loads light.

Should we have such a "standard" testpiece, then we can take a digital caliper and compare the roundness and diameters of the wheels, also on the diagonals. All the deviations measured off the theoretical 2" diameter would be attributable to "accuracy".

I think that we could have some fun designing such a test.sbp file and running it all over the world and then comparing results. We could have a standard table of measurements to fill in and our resident programmers could give us a little utility that reads our results table and then tells us things out our flex, squareness, backlash, cut width (bit diam/runout).

A test.sbp would need to be in an inch and a millimeter version. We need to agree on the measuring instrument (probably a 6" digital caliper) that would give consistent results for everyone.

Anyway, I just wanted to plant this seed of thought for the guys wanting something to do while their shops are too cold to work in........design a simple test-piece that anybody can run run anywhere. (similar to the test page of a printer?)

mikejohn
01-09-2006, 12:16 PM
Gerald
It would be necessary to decide on a measurement protocol that recognises the orientation of the cut piece (and hence any individual measurement) relative to the orientation of material to ShopBot during cutting.
I see 4 useful measurements, square with x, square with y, square with max y, to zero, and the opposite diagonal.
.................Mike

gerald_d
01-09-2006, 01:03 PM
A sketch for reference:


3244

Circles 1 & 2 cut clockwise (climb-cut)
Circles 3 & 4 cut anti-clockwise (conventional)
Circles 1 & 3 cut with larger rough pass and final smoothing pass.
Circles 2 & 4 cut with single heavy (2" ips) pass

Cuts start at S, between measuring points.

Ref. No.Circle No.DimensionResult 11X-X 21Y-Y 31Dh-Dh 41Do-Do 52X-X 62Y-Y 72Dh-Dh 82Do-Do 93X-X 103Y-Y 113Dh-Dh 123Do-Do 134X-X 144Y-Y 154Dh-Dh 164Do-Do 17BigX1 - X2 (out) 18BigX3 - X4 (out) 19BigY1 - Y3 (out) 20BigY2 - Y4 (out) 21BigDh3 - Dh2 (out) 22BigDo1 - Do4 (out)

The first 16 dimensions should be identical, with tolerance of accuracy.

Dimensions 17, 18, 19, 20 should be identical

Dimensions 21 and 22 should be identical and within a 6" caliper's range.

I think we will be surprised at the differences.....

mrdovey
01-09-2006, 01:59 PM
Gerald...

I've taken a stab at writing the test program you describe. Would you like it e-mailed?

Edit: Oops! Just noticed that the specs changed while I was coding. If you're going to do that, then you'll need to make mods to suit!

...Morris

gerald_d
01-09-2006, 02:14 PM
Hi Morris, you are quick off the mark! I was thinking that we publish the test program here and kick it around a bit before we cut wood. And that is if folk agree that 4 circles would be a meaningful (& repeatable) test?

Mail me the program by all means, but I don't want everyone to wait for me to look at it (in any case, I am a useless programmer compared to the pro's here)

mrdovey
01-09-2006, 02:17 PM
Gerald...

Ok. There's probably a better way to handle the imperial/metric stuff - and this is the first time I've used the CP command. Next post from me will be DIM_TEST.SBP

...Morris

mrdovey
01-09-2006, 02:24 PM
Hmmm. The text input mechanism has screwed up the formatting with its space removal; but here's the code anyway:


'*================================================ ============================*
'* S H O P B O T S T A N D A R D T E S T F I L E *
'*================================================ ============================*
'* *
'* Program: DIM_TEST.SBP *
'* *
'* Function: Check accuracy of circles (clockwise and counter-clockwise) *
'* *
'* Authors: [MRD] Morris Dovey, mrdovey@iedu.com (mailto:mrdovey@iedu.com) *
'* *
'* Remarks: Use 1/2" bit, 3/4" x 5" x 5" MDF workpiece [MRD] *
'* Run ZZERO.SBP at top of workpiece and leave bit at a safe *
'* height before starting this program [MRD] *
'* Check suitability of move speeds for your system [MRD] *
'* Remove 'GOTO' for metric operation [MRD] *
'* *
'* History: *
'* *
'* Date V.M Description Who *
'* -------- ----- -------------------------------------------------- --- *
'* 06-01-08 01.00 Initial implementation MRD *
'* *
'*----------------------------------------------------------------------------*
'* Public Domain Software *
'*================================================ ============================*

SA
' Position spindle at lower left corner of 5" x 5" workpiece
PAUSE

&XO = %(1)
&Y0 = %(2)
&Z0 = %(3)

&X1 = 1.25
&X2 = 3.75
&Y1 = 1.25
&Y2 = 3.75
&Z = -5/8 ' Plunge depth
&S1 = 1.25 ' Slow speed
&S2 = 2.50 ' High speed

GOTO BEGIN ' Remove for metric system

&X1 = &X1 * 25.4
&X2 = &X2 * 25.4
&Y1 = &Y1 * 25.4
&Y2 = &Y2 * 25.4
&Z = &Z * 25.4
&S1 = &S1 * 25.4
&S2 = &S2 * 25.4

BEGIN:

SC 2
' Start dust collector and spindle
PAUSE

MS &S1
CP 2,&X0+&X1,&Y0+&Y1,O,1,0,360,&Z,1,1,1,4,0,1
JZ &Z0

MS &S2
CP 2,&X0+&X1,&Y0+&Y2,O,1,0,360,&Z,1,1,1,4,0,1
JZ &Z0

MS &S1
CP 2,&X0+&X2,&Y0+&Y2,O,-1,0,360,&Z,1,1,1,4,0,1
JZ &Z0

MS &S2
CP 2,&X0+&X2,&Y0+&Y1,O,-1,0,360,&Z,1,1,1,4,0,1
JZ &Z0

SC 2
' Stop spindle and DC
PAUSE

SC 2
' End of Job - Remember to restore move speed
END

mrdovey
01-09-2006, 02:29 PM
Argh! I just noticed that I'd hard-coded a two-inch diameter. Program needs an &D variable that can be converted in the metrification code.


...Morris

gerald_d
01-09-2006, 02:38 PM
A very professional looking program! It will take me a while to figure out what it says! An excellent basis for the other guys to chip in - THANKS!

gerald_d
01-09-2006, 03:16 PM
Just before going to bed over in this time zone, I got this updated mail from Morris (thanks!):

'*================================================ ============================*
'* S H O P B O T S T A N D A R D T E S T F I L E *
'*================================================ ============================*
'* *
'* Program: DIM_TEST.SBP *
'* *
'* Function: Check accuracy of circles (clockwise and counter-clockwise) *
'* *
'* Authors: [MRD] Morris Dovey, mrdovey@iedu.com (mailto:mrdovey@iedu.com) *
'* *
'* Remarks: Uses 1/2" bit, 3/4" x 5" x 5" MDF work area [MRD] *
'* Run ZZERO.SBP at top of workpiece and leave bit at a safe *
'* height before starting this program [MRD] *
'* Check suitability of move speeds for your system [MRD] *
'* Remove 'GOTO' for metric operation [MRD] *
'* *
'* History: *
'* *
'* Date V.M Description Who *
'* -------- ----- -------------------------------------------------- --- *
'* 06-01-08 01.00 Initial implementation MRD *
'* *
'*----------------------------------------------------------------------------*
'* Public Domain Software *
'*================================================ ============================*

SA
' Position spindle at lower left corner of 5" x 5" work area
PAUSE

&XO = %(1)
&Y0 = %(2)
&Z0 = %(3)

&X1 = 1.25
&X2 = 3.75
&Y1 = 1.25
&Y2 = 3.75
&Z = -5/8 ' Plunge depth
&S1 = 1.25 ' Slow speed
&S2 = 2.50 ' High speed

mrdovey
01-10-2006, 10:48 AM
There's just got to be a better way to share code! This wastes the forum's visual space and discards the information content provided by careful formatting.

[It'd be great if Nancy could remove the code portion of the previous postings.]

Here's an attempt to make the program match Gerald's specs:

'*================================================ ============================*
'* S H O P B O T S T A N D A R D T E S T F I L E *
'*================================================ ============================*
'* *
'* Program: DIM_TEST.SBP *
'* *
'* Function: Check accuracy of circles (clockwise and counter-clockwise) *
'* *
'* Authors: [MRD] Morris Dovey, mrdovey@iedu.com (mailto:mrdovey@iedu.com) *
'* *
'* Remarks: Uses 1/2" bit, 3/4" x 5" x 5" MDF work area [MRD] *
'* Run ZZERO.SBP at top of workpiece and leave bit at a safe *
'* height before starting this program [MRD] *
'* Check suitability of move speeds for your system [MRD] *
'* Remove 'GOTO' for metric operation [MRD] *
'* *
'* History: *
'* *
'* Date V.M Description Who *
'* -------- ----- -------------------------------------------------- --- *
'* 06-01-08 01.00 Initial implementation MRD *
'* 06-01-09 01.01 Modified to conform with Gerald's new specs MRD *
'* *
'*----------------------------------------------------------------------------*
'* Public Domain Software *
'*================================================ ============================*

SA
' Position spindle at lower left corner of 5" x 5" work area
PAUSE

&X0 = %(1) ' Left edge of work area
&Y0 = %(2) ' Lower edge of work area
&Z0 = %(3) ' Safe Z height

&X1 = 1.25 ' Left column center
&X2 = 3.75 ' Right column center
&Y1 = 1.25 ' Bottom row center
&Y2 = 3.75 ' Upper row center

&A1 = 180 - 22.5 ' Circle 1 starting angle
&A2 = 180 + 22.5 ' Circle 2
&A3 = 0 + 22.5 ' Circle 3
&A4 = 360 - 22.5 ' Circle 4

&D = 2.00 ' Circle diameter
&DD = 1/16 ' Oversize pass diameter difference
&Z = -5/8 ' Plunge depth
&S1 = 1.25 ' Low speed
&S2 = 2.00 ' High speed

GOTO BEGIN ' Remove for metric system
'*-------------------------------------------------------------------------*
'* Convert imperial measurements to metric
'*-------------------------------------------------------------------------*
&X1 = &X1 * 25.4
&X2 = &X2 * 25.4
&Y1 = &Y1 * 25.4
&Y2 = &Y2 * 25.4
&Z = &Z * 25.4
&S1 = &S1 * 25.4
&S2 = &S2 * 25.4
&D = &D * 25.4
&DD = &DD * 25.4

BEGIN:
SC 2
' Start dust collector and spindle
PAUSE
'*-------------------------------------------------------------------------*
'* Circle 1 - Top Left, clockwise (climb-cut), oversize & trim passes
'*-------------------------------------------------------------------------*
MS &S1
CP &D+&DD,&X0+&X1,&Y0+&Y2,O,1,&A1,&A1+360,&Z,1,1,1,4, 1,1
CP &D,&X0+&X1,&Y0+&Y2,O,1,&A1,&A1+360,0,1,1,1,0,0, 1
JZ &Z0
'*-------------------------------------------------------------------------*
'* Circle 2 - Top Right, clockwise (climb-cut)
'*-------------------------------------------------------------------------*
MS &S2
CP &D,&X0+&X2,&Y0+&Y2,O,1,&A2,&A2+360,&Z,1,1,1,4,0 ,1
JZ &Z0
'*-------------------------------------------------------------------------*
'* Circle 3 - Bottom Left, anti-clockwise (conventional), oversize & trim
'*-------------------------------------------------------------------------*
MS &S1
CP &D+&DD,&X0+&X1,&Y0+&Y1,O,-1,&A3,&A3+360,&Z,1,1,1,4,1,1
CP &D,&X0+&X1,&Y0+&Y2,O,-1,&A3,&A3+360,0,1,1,1,0,0,1
JZ &Z0
'*-------------------------------------------------------------------------*
'* Circle 4 - Bottom Right, anti-clockwise (conventional)
'*-------------------------------------------------------------------------*
MS &S2
CP &D,&X0+&X2,&Y0+&Y1,O,-1,&A4,&A4+360,&Z,1,1,1,4,0,1
JZ &Z0

SC 2
' Stop spindle and DC
PAUSE

SC 2
' End of Job - Remember to restore move speed
END

I'm really hoping that someone's checking this stuff!

...Morris

gerald_d
01-10-2006, 11:33 AM
Morris, I tried to get my head around the way that you program, but I think clearer with AutoCad&Vector. For a mm version, I have this so far:

VS,50
J3,8.6655,8.6655,1.0000
M3,8.6655,8.6655,0.0000
M3,-8.6655,-8.6655,-3.0000
M3,8.6655,8.6655,-6.0000
M3,-8.6655,-8.6655,-9.0000
M3,8.6655,8.6655,-12.0000
M3,-17.8363,-2.1941,-12.0000
M3,-20.1368,3.3597,-12.0000
CG,,-19.6764,3.5548,-11.8632,28.6403,,1
M3,-2.1941,-17.8363,-12.0000
M3,3.3597,-20.1368,-12.0000
CG,,3.5548,-19.6764,28.6403,-11.8632,,-1
M3,-0.9423,-24.2917,-12.0000
CG,,-2.6372,-19.1301,-31.1434,-7.3675,,1
M3,19.7541,2.4359,-12.0000
CG,,19.2789,2.6372,12.2459,29.5641,,-1
VS,10
M3,20.1368,3.3597,-12.0000
CG,,19.6764,3.5548,11.8632,28.6403,,-1
M3,-3.3597,-20.1368,-12.0000
CG,,-3.5548,-19.6764,-28.6403,-11.8632,,1
J3,0.0000,0.0000,0.0000
VS,30

Havn't tested it yet because I can't squeeze this into my son's schedule.

The draft of the prelim instructions would be something like:

1. Take piece of 5/8"(16mm) MDF about 8"(200mm) square to be safe.

2. Screw down on table approximately in the middle of the y-travel, where the gantry has the most flex. A screw in each corner, with the screw-holes being on a 7"(175mm) square pattern.

3. Mark the center of the MDF square by means of diagonals

4. Put a 1/2" (12mm) cutter in your spindle/router. This program is going to push the cutter 1/2" (12mm) deep at 2" (50mm) per second. If you think that is too much load for your system, use a 1/4" (6mm) cutter.

5. Position the cutter on (touching) the center mark of the MDF. (Exact touching is not essential). Zero the x,yand z axes. If you have selected a 1/4" (6mm) cutter, lift it 1/4" (6mm) above the MDF before zeroing the 3 axes.

6. Run one of the following files, inch or millimeter, according to the setting of your SB.....

gerald_d
01-10-2006, 11:49 AM
While drawing it in AutoCad, I discovered some complications.....

If the two heavy cut circles are adjacent to each other, then the cut path of the second one overlaps with the first one and this will cause a local deflection of the cutter. So I put the heavy cuts on diagonally opposed circles. Both cuts are now totally in "green" material. After that I stopped reading my own instructions and you may find climb transposed with conventional...

For the heavy cuts, I also made the cutter's approach in a true radial direction, so that as little amount of the circumference distance would be disturbed by the entry/exit position. This point is 22.5 degrees off the verticals and hopefully there is no influence on the adjacent vertical and diagonal measuring points.

mrdovey
01-10-2006, 12:13 PM
Gerald...

I noticed the overlap; but decided to ignore. A work area 7" square might provide for better cut isolation.

My program asks for the bit to be positioned over the lower left corner of the work area and left at a safe height. When the <enter> key is pressed, it captures the corner coordinates and safe bit height and uses them through the remainder of the program, which removes all restrictions on workpiece placement and allows doing repeated tests on a larger piece of MDF.

Looks like you're well on your way to having the test you want. Nicely done!

...Morris

gerald_d
01-10-2006, 12:56 PM
Morris, the reason for keeping a fairly tight pattern is so that a 6" caliper will go over the outside diagonal of an opposing pair of circles. Safe height didn't worry me because everything is done at full depth once the cutter has ramped (wormed?) its way in with the first quarter of the program.

Let's see if I can get some time on the machine.....

gerald_d
01-10-2006, 01:44 PM
The inch version should look something like this:

VS,2.0
J3,0.3466,0.3466,0.0100
M3,0.3466,0.3466,0.0000
M3,-0.3466,-0.3466,-0.1200
M3,0.3466,0.3466,-0.2400
M3,-0.3466,-0.3466,-0.3600
M3,0.3466,0.3466,-0.4800
M3,-0.7135,-0.0878,-0.4800
M3,-0.8016,0.1252,-0.4800
CG,,-0.7805,0.1341,-0.4784,1.1548,,1
M3,-0.0878,-0.7135,-0.4800
M3,0.1252,-0.8016,-0.4800
CG,,0.1330,-0.7831,1.1548,-0.4784,,-1
M3,-0.0974,-0.7902,-0.4800
CG,,-0.1055,-0.7712,-1.1826,-0.4898,,1
M3,0.7902,0.0974,-0.4800
CG,,0.7712,0.1055,0.4898,1.1826,,-1
VS,0.35
M3,0.7969,0.1271,-0.4800
CG,,0.7796,0.1345,0.4831,1.1529,,-1
M3,-0.1271,-0.7969,-0.4800
CG,,-0.1345,-0.7796,-1.1529,-0.4831,,1
J3,0.0000,0.0000,0.0000

Anyone willing to give it a go? I'll put my fingers in my ears and hide under the bed so long...

gerald_d
01-11-2006, 01:31 AM
Okay, you guys forced me to get up before the sparrows did their ablutions and do a quick cut. Used the mm program and a 10mm cutter because my son hid the 12's somewhere:

Ref. No.Circle No.CommentDimensionResult mmResult in 11HiClimbX-X51.322.020 21HiClimbY-Y51.402.024 31HiClimbDh-Dh51.382.023 41HiClimbDo-Do51.372.022 52LoConX-X50.912.004 62LoConY-Y51.062.010 72LoConDh-Dh51.082.011 82LoConDo-Do51.042.009 93LoClimbX-X51.542.029 103LoClimbY-Y51.602.031 113LoClimbDh-Dh51.612.032 123LoClimbDo-Do51.692.035 134HiConX-X51.292.019 144HiConY-Y51.382.023 154HiConDh-Dh51.312.020 164HiConDo-Do51.352.022 17BigX1 - X2 (out)115.064.530 18BigX3 - X4 (out)115.434.544 19BigY1 - Y3 (out)115.524.548 20BigY2 - Y4 (out)115.294.539 21BigDh3 - Dh2 (out)141.905.587 22BigDo1 - Do4 (out)141.845.584

The latest SB specs state:
Positional Accuracy: +/- 0.005in (0.127mm)
Overall Cutting Accuracy: +/- 0.015in (0.381mm).

But, remember that our machine is not a true ShopBot. Nor did I take any trouble this morning to do any maintenance or checking. So, it would appear that our machine in its present state and configuration does not conform to the OEM specs.

There are a couple of surprises in the results. For one, why would the direction make little difference on the Hi (onepass/fast) cut and a biggish difference on the Lo (slow/light/finpass) cut? The so-called Hi(heavy) cut is still pretty tame - only 2" per sec in soft MDF.

To make a table like above, first make it in Excel and then cut&paste it between the brackets of the the \table{} command over here. You can also C&P it from here to Excel.