You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 Next »

    Testing on Turkey Slices: Del 2


    To define the effectiveness of the CNC and discover possible faults, we test ARTS 2.0 on turkey slices.
    The setup has now been upgraded, and therefore no longer needs post-processing of the gcode.

    Summary

    Slice Settings Status Comments Future change
    1

    Speed: 1mm/s

    Power: 100%

    Layer height: 0.50

    Success The last sample did not fall down
    2

    Speed: 1mm/s

    Power: 100%

    Layer height: 0.50

    Success The last sample did not fall down Increase layer height for bigger last cut
    3

    Speed: 0.6mm/s

    Power: 100%

    Layer height: 0.75

    Mill bit diameter: 1.0 mm

    Success

    The first sample did not fall down.


    Had to change mill bit to Ø1.0mm

    Lower starting position height
    4

    Speed: 0.6mm/s

    Power: 100%

    Layer height: 0.75

    Mill bit diameter: 1.0 mm

    Success The first sample did not fall down.

    Lower starting position height



    5

    Speed: 0.6mm/s

    Power: 100%

    Layer height: 0.75

    Mill bit diameter: 1.0 mm

    Success Two samples did not fall Added drop-off after each sample in the code.
    6

    Speed: 0.6mm/s

    Power: 100%

    Layer height: 0.75

    Mill bit diameter: 1.0 mm

    Failure

    Slice loosened


    No image


    7

    Speed: 0.6mm/s

    Power: 100%

    Layer height: 0.75

    Mill bit diameter: 1.0 mm

    Failure Slice loosened
    8

    Speed: 0.6mm/s

    Power: 100%

    Layer height: 0.75

    Mill bit diameter: 1.0 mm

    Success

    9

    Speed: 0.6mm/s

    Power: 100%

    Layer height: 0.75

    Mill bit diameter: 1.0 mm

    Success Filmed
    10

    Speed: 0.15mm/s

    Power: 100%

    Layer height: Full

    Mill bit diameter: 1.0 mm

    Success First and third sample did not fall out Automatically push out samples, instead of circkeling g above them
    11

    Speed: 0.15mm/s

    Power: 100%

    Layer height: Full

    Mill bit diameter: 1.0 mm

    Failed Spindle was not activated after pushing.

    Pushing with spindle activated.


    Several pushes on difficult geometry

    12

    Speed: 0.15mm/s

    Power: 100%

    Layer height: Full

    Mill bit diameter: 1.0 mm

    Success

    Pushing is not perfect, because it is unpredictable where the slices will become stuck.
























      Slice 12: Success


      Slice 11: Failed



      Slice 10: Success




      Slice 9: Success

      Slice 8: Success

      Slice 7: Failure



      Slice 6: Success


      Slice 5: Success


      Slice 4: Success

      Slice 3: Success

      Temperature data found in: arduino_data_log - Copy 150420241409


      Slice 2: Success

      Temperature data found in: arduino_data_log - Copy 140420241921


      Slice 1: Success

      First test slice with new setup. 

      Temperature data found in: arduino_data_log - Copy 130420241814




      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.

      G-code post processing
      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

      Slice Settings Status Comments Future change
      1

      Speed: 10mm/s

      Power: 100%

      Failure Too fast. Slow down.
      2

      Speed: 2mm/s

      Power: 100%

      Failure Did not cut all the way through.  Lower the spindle.
      3

      Speed: 1mm/s

      Power: 100%

      Success Mill bit diameter too high Change mill bit / Raise spindle.
      4

      Speed: 1mm/s

      Power: 100%

      Failure Freezer too warm, slice thawed and loosened Let the freezer be cold enough before cutting.
      5

      Speed: 1mm/s

      Power: 100%

      Success A lot of spooning Make a suction.
      6

      Speed: 1mm/s

      Power: 100%

      Failure Clamping 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

      Success The last sample did not fall down
      9

      Speed: 1mm/s

      Power: 100%

      Layer height: 0.50

      Success The last sample did not fall down Increase 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









        Slice 10: 

        Temperature data found in: arduino_data_log - Copy 150420241409


        Slice 9: 

        Temperature data found in: arduino_data_log - Copy 140420241921


        Image 

        Slice 8: 

        First test slice with new setup. 

        Temperature data found in: arduino_data_log - Copy 130420241814


        Image 


        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 

        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) 

        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.


        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)

        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.


        Slice 2: Failure

        Samples had a difficulty coming loose. 

        Mill pushed the slice around slightly.


        Slice 1: Failure

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





        • No labels