Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Testing on Turkey Slices


To define the effectiveness of the CNC and discover possible faults, we test ARTS 2.0 on turkey slices.

Since Lightburn is not made for milling with spindle, the G-code has to be post-processed through a python code as per now.

Code Block
languagepy
firstline1
titleG-code post processing
linenumberstrue
collapsetrue
def post_process_gcode(input_file, output_file):
    add_custom_command = True
    add_M5_before_M9 = True

    # Open the input file in read mode
    with open(input_file, 'r') as f:
        lines = f.readlines()

    # Open the output file in write mode
    with open(output_file, 'w') as f:
        for line in lines:
            # Check if the line is a rapid move command (G0) with Z10
            if add_M5_before_M9 == False:
                f.write(line)
            elif line.startswith('G0') and 'Z10' in line:
                # Change rapid move command to linear move (G1) with Z10
                modified_line = line.replace('G0', 'G1')
                if(add_custom_command==True):
                    for newline in lines:
                        if newline.startswith('G1'):
                            spindle_speed = "S" + newline.split('S', 1)[-1].strip()  # Extracting all characters after "S" including "S"
                            print(spindle_speed)
                            break
                    #modified_line+=spindle_speed
                    modified_line = "M3" + "\n" + modified_line.strip() + spindle_speed + "\n"
                    print(modified_line)
                f.write(modified_line)
                add_custom_command = False

            elif line.startswith('G1') and 'S' in line:
                no_spindle_g1 = newline.split('S', 1)[0].strip() + "\n" # Extracting all characters after "S" including "S"
                f.write(no_spindle_g1)
            # Check if the line is a spindle stop command (M5) or spindle start command (M3)
            elif line.startswith('M5') or line.startswith('M3'):
                # Ignore these commands until M9
                pass
            # Check if the line is the spindle stop command (M9)
            elif line.startswith('M9'):
                # Add M5 before M9
                if add_M5_before_M9:
                    f.write('M5\n')
                    add_M5_before_M9 = False
                # Write the line as it is
                f.write(line)
            else:
                # Write the line as it is
                f.write(line)

# Example usage
if __name__ == "__main__":
    input_file = 'Cutting_samples_2S_100p.gc'
    output_file = 'PP_Cutting_samples_2S_100p.gc'
    post_process_gcode(input_file, output_file)
    print("G-code post-processing complete!")


Summary

SliceSettingsStatusCommentsFuture change
1

Speed: 10mm/s

Power: 100%

FailureToo fast.Slow down.
2

Speed: 2mm/s

Power: 100%

FailureDid not cut all the way through. Lower the spindle.
3

Speed: 1mm/s

Power: 100%

SuccessMill bit diameter too highChange mill bit / Raise spindle.
4

Speed: 1mm/s

Power: 100%

FailureFreezer too warm, slice thawed and loosenedLet the freezer be cold enough before cutting.
5

Speed: 1mm/s

Power: 100%

SuccessA lot of spooningMake a suction.
6

Speed: 1mm/s

Power: 100%

FailureClamping was not able to keep slice suspended against downward force.Make a baseplate with bigger hole.
7

Speed: 1mm/s

Power: 100%

---
8

Speed: 1mm/s

Power: 100%

Layer height: 0.50

SuccessThe last sample did not fall down
9

Speed: 1mm/s

Power: 100%

Layer height: 0.50

SuccessThe last sample did not fall downIncrease layer height for bigger last cut
10

Speed: 0.6mm/s

Power: 100%

Layer height: 0.75

Success

The first sample did not fall down.


Had to change mill bit to Ø1.0mm








Deck of Cards
id7
Card
id11
label11
titleSlice 11


Card
id10
label10
titleSlice 10

Slice 10: 

Temperature data found in: arduino_data_log - Copy 150420241409


Image AddedImage AddedImage AddedImage AddedImage Added

Card
id9
label9
titleSlice 9

Slice 9: 

Temperature data found in: arduino_data_log - Copy 140420241921


Image AddedImage AddedImage AddedImage AddedImage Added

Image 

Card
id8
label8
titleSlice 8

Slice 8: 

First test slice with new setup. 

Temperature data found in: arduino_data_log - Copy 130420241814


Image 


Image AddedImage AddedImage AddedImage AddedImage AddedImage AddedImage Added

Card
id7
label7
titleSlice 7

Slice 7: 

We modified the cutting procedure to cut the matrix as four separate squares, instead of as a cross and a square. This will take longer to cut, but will provide one sample at a time.

Image 

Card
id6
label6
titleSlice 6

Slice 6: Failure

We tried cutting out samples without a bed, to let the samples fall down when done, this did not work as hoped. The clamping was not strong enough to resist the downward force. It was however able to resist the shear force.


(No Image) 

Card
id5
label5
titleSlice 5

Slice 5: Success

Cutting went well. We tried letting the CNC take multiple passes to improve the cut quality. The mill was raised slightly since last cut, this resulted in a nice quality cut, but also a lot of spooning.


Image Added

Card
id4
label4
titleSlice 4

Slice 4: Failure

Cutting went well. We tried letting the CNC take multiple passes to improve the cut quality. I suspect the first layer is cut too deep.

Also added priority for the cross in the grid samples. Might be better to treat them as separate samples and sample them one by one instead of cross plus square.


(No image)

Card
id3
label3
titleSlice 3

Slice 3: Success

This time the mill cut well through the samples, but the mill bit diameter was quite large, and so quite a bit of material was lost.

The mill also left a bunch of spooning, which argues for a suction.

The samples did not slice quite as preferred after having being cut loose from the slice, one small sample even jumped away.


Image Added

Card
id2
label2
titleSlice 2

Slice 2: Failure

Samples had a difficulty coming loose. 

Mill pushed the slice around slightly.


Image Added

Card
id1
label1
titleSlice 1

Slice 1: Failure

CNC cut too fast. Mill pushed the slice around slightly.


Image Added