Introduction: ROTARY CNC BOTTLE PLOTTER

About: PLC, Arduino - Do it yourself project

I picked up some rollers, which are probably used in the printer. I came up with the idea of turning them into the rotation axis of CNC bottle plotter. Today, I'd like to share how to build CNC bottle plotter from these rollers and other scraps.

To do this project, I was inspired by lingib with his CNC Drum Plotter: https://www.instructables.com/CNC-Drum-Plotter/

Let’s getting started.

Step 1: THINGS WE NEED

    • 8pcs x Bearing 8mm ID.
    • 2pcs x XH2.54mm – 6P 20cm Wire Cable Double Connector.
    • 4pcs x L shape supports.
    • 2pcs x Mounting Support for Stepper Motor.
    • 1pcs x Power Supply 12V.
    • Some small cable ties, cable spiral wrap, M4 bolts and nuts.

    Step 2: SOFTWARES

      Step 3: ROTARY Y AXIS ASSEMBLY

      I reused 2 wooden sticks from my kids toys, drilled 2 holes on each sticks with distance about 65mm and mounted the bearing into drilling holes.

      • Blue wooden stick dimension: 100 x 30 x 10mm
      • Red wooden stick dimension: 165 x 30 x 10mm

      Two printer rollers ends were inserted into bearing of blue wooden stick.

      I inserted other side roller ends into bearing of red wooden stick and connected 2 stepper motors Y axis to 2 rollers by flexible coupling 5x8mm. Then I cut a wooden plate dimension 250x350mm to build a CNC footplate and mounted the L shape supports on it. The stepper motors and red wooden sticks were mounted on this footplate.

      Step 4: X AND Z AXIS ASSEMBLY

      The X-axis and Z-axis were mounted on a wooden box 12x10x6mm which was drilled 4 holes and inserted 4 nuts M10 into these holes. The distance between the two nuts on one side is 30mm.

      The M10 threaded rods were polished at both ends until they reach a diameter of 8mm.

      I screwed two M10x500 threaded rods into 4 nuts of the wooden box. Depending on the bottle length, I can adjust the position of the X-axis manually. Four other nuts were also screwed to two ends of thread rods in order to fix the desired position.

      For X and Z axis, I mounted 2 old CD/DVD players on the above wooden box 12x10x6mm.

      For clamping the pen/pencil, I used the stapler's spring mechanism and flexible coupling 10x10mm. Details you can check at my previous instructable: BACK TO BASIC-MINI CNC PLOTTER

      I cut the 2 wood plates with dimension 100x200mm to build the left and right side support of X and Z axis. I drilled 2 holes on each plates with distance about 30mm and mounted the bearing into drilling holes. The other holes were used to connect to L shape supports.

      Two threaded rods with two CD/DVD players were inserted into 2 bearings of the right and left side supports

      In order to keep the X-axis supports strong enough, I used one additional threaded rod 10x500mm to connect the left and right supports.

      The left and right supports of XZ axis were mounted on the CNC foot plate.

      Because the X-axis is limited to 40mm, to be able to extend the plotting range, I used some printer gears and belt to connect 2 threaded rods together. By this way, I can adjust the desired plotting position depending on the bottle length by hand.

      Done.

      Step 5: CONNECTIONS

      My project used 4 stepper motors and A4988 drivers. Because rotary Y axis operated with 2 stepper motors, I had to add 2 jumpers as below picture to configure the 4th axis. In this case, Y-Axis is cloned to the 4th stepper driver A4988 which is marked as "A" on the CNC shield.

      Finally I mounted CNC Shield and Arduino Uno to CNC foot plate and connect cables from 4 stepper motors to 4 drivers A4988.

      Notes: You can refer to my instructable BACK TO BASIC-MINI CNC PLOTTER at STEP 5 for setting up micro-steps and current limit of stepper driver A4988.

      • My micro-steps setting is 1/8 step resolution for all stepper motors.
      • We should pay attention to set the current limit of stepper motors by adjusting the trimmer potentiometer on the A4988 board.

      All assemly works and electrical connections were done.

      Step 6: GRBL FIRMWARE AND CALIBRATION

      1. Upload GRBL firmware to Arduino Uno

      • Download GRBL firmware files.
      • Copy GRBL to C:\Users\Administrator\Documents\Arduino\libraries\
      • Open Arduino IDE, from File menu click Examples GRBL grblUpload.
      • Select the correct port and board (Arduino Uno), compile and upload the code to Arduino Uno.

      2. GRBL parameters for my bottle plotter are as follows:

      $010.000Step pulse time
      $125.000Step idle delay
      $20.000Step pulse invert
      $30.000Step direction invert
      $40.000Invert step enable pin
      $50.000Invert limit pins
      $60.000Invert probe pin
      $101.000Status report options
      $110.010Junction deviation
      $120.002Arc tolerance
      $13

      0.000

      Report in inches
      $20

      0.000

      Soft limits enable
      $21

      0.000

      Hard limits enable
      $22

      0.000

      Homing cycle enable
      $23

      0.000

      Homing direction invert
      $2425.000Homing locate feed rate
      $25500.000Homing search seek rate
      $26250.000Homing switch de-bounce delay
      $271.000Homing switch pull-off distance
      $301000.000Maximum spindle speed
      $310.000Minimum spindle speed
      $320.000Laser-mode enable
      $10053.333X-axis travel resolution
      $10120.000Y-axis travel resolution
      $10253.333Z-axis travel resolution
      $1101000.000X-axis maximum rate
      $1111000.000Y-axis maximum rate
      $1121000.000Z-axis maximum rate
      $12050.000X-axis acceleration
      $12150.000Y-axis acceleration
      $12250.000Z-axis acceleration
      $13040.000X-axis maximum travel
      $131220.000Y-axis maximum travel
      $13240.000Z-axis maximum travel

      The important parameters which I have done the calibrations are highlighted in table above.

      3. STEP/MM setting:

      The step/mm setting for stepper motors are shown in tables below by formula:

      Steps/mm = (Steps per Revolution)*(Micro-steps) / (mm per Revolution)

      • X AND Z AXIS - $101 and $103:
      The working length of the screw:40.00mm
      Step angel:18°
      The number of steps required for DVD stepper to make 1 complete revolution:20step/rev
      A4988 micro-steps setting:8-
      DVD stepper screw pitch (mm/revolution):3.0mm/rev
      STEP/MM:53.333step/mm
      • Y AND A AXIS - $101

      To determine the STEP / mm of the rotary axis, I measured the circumference of the cylindrical rubber attached on the printer rollers. It is straight length for stepper motor to make 1 complete revolution and it is 80mm in my case.

      In my testing, I used some glass bottles (fish sauce bottle) with circumference 220mm.

      The working length of the rotary axis:220.000mm
      Step angel:1.8°
      The number of steps required for stepper to make 1 complete revolution:200step/rev
      A4988 micro-steps setting:8-
      mm per revolution:80.000mm/rev
      STEP/MM:20.000step/mm

      Step 7: INKSCAPE AND UGS

      1. INKSCAPE

      - From the Inkscape menu go to File Properties and in the Page Tab set the Display Units (millimeters), the Orientation to Portrait and Page Size: 40x 220mm.
      - Import a suitable image by using the menu File Import. In the menu, go to Path Trace Bitmap and convert the Object to Path.

      - Go to Extensions Gcodetools Tools Libary. Select Tools Type: Cylindrical and click Apply.

      - Go to Extensions Gcodetools Orientation Points

      • Orientation type: 2-points mode.
      • Z Surface: 0.0mm. This is the top of your paper surface.
      • Z Depth: -1.0mm. This is working position of Z axis when CNC plotter is drawing object. This negative number ensure that the pen tip can touch the paper.

      - Go to ExtensionsGcodetools Path to Gcode

      • Z safe height: 2mm. It is height above the plotting surface when moving between drawing points.
      • Click the Path to Gcode Tab before clicking Apply. This creates the G-code file.

      2. UNIVERSAL GCODE PLATFORM

      • Open Universal Gcode Platform, select Port and set Baud to 115200, click on Connect tab.
      • Select the appropriate position by moving X axes left - right, Y axes forward - backward and set the original coordinates by button Reset Zero.
      • Click Open Browse to the G-code file that generated by INKSCAPE.
      • Click Send and CNC plotter will perform drawing picture following the G-code.
      • Monitor the plotter in action on the Visualizer tab.

      Step 8: TESTING

      I have a lot of fish sauce bottles made of glass. Usually, they are thrown away after use, but from now on, they will be named or decorated by my CNC bottle plotter to store the necessary liquid spices. We can easily change to different kind of pens, such as colored pen/ pencil...because they are clamped by motor flexible coupling 10x10mm.

      Step 9: FINISH

      You can see some pictures of this project.

      Thank you very much for reading my work and hope you enjoyed my article this time!

      Remix Contest

      Participated in the
      Remix Contest