Introduction: CNC 3018 Cutting Plotter (with Workflow)

About: I have a background in mechatronics and that's what I like - the combination of electronics, mechanics and software to a well functioning overall system. Since I own a 3D printer (ok, there are 2 now ;-)) and…

In fact, I've been thinking about buying a cutting plotter for a long time. But because of the cost, I never did. Then, during the Christmas vacations, I built a drawing robot with my children. Thereby I had the idea to combine this drawing robot with a drag knife. After I ordered the knife and made first manual tests, it was clear to me that the drawing robot has no sufficient mechanical stability for this purpose. Fortunately, I had a 3018 CNC router kit lying around. This is how this project started...

I describe here a solution that works well for me. It was also important for me to use free software. There are certainly simpler, more efficient, more beautiful,... implementations - but as I said, for me it works fine the way it is ;-).

Supplies

1x Drag knife

4x Micro limit switches

1x Adhesive cutting mat (I chose a set with different adhesive strengths)

Cables and connectors

Filament PETG

Various small parts (screws, nuts...)


Consumables:

Vinyl film

Transfer film

Step 1: Concept

Since I wanted to retain the full flexibility of the CNC 3018, I developed a solution that allows switching between the milling spindle and the drag knife adapter. The drag knife adapter is designed to be relatively large so that it can be mounted directly in the holder of the milling spindle.

The cross sectional view shows the internal structure of the adapter. The drag knife is placed in area 2. A push rod then presses on the knife from above, which is pretensioned by a spring (in area 1) and the adjusting screw. A lock nut is used for fixing.

To attach the vinyl film to the carriage, an adhesive mat is used which is fastened by means of a clamping system. In addition, the CNC 3018 was extended by a drag chain for the x-axis, limit switches, housing for the power supply and the control board. The limit switches are optional. I use them even without homing functionality, only as protection against collisions because I choose the placement of the vinyl foil at random and set up the zero point (xy) manually.

Step 2: 3D Printing the Parts

In the screenshots from the slicer program, you can see the number of individual components (in the listing on the right side under the print settings) and the orientation of the parts on the print bed.

I printed the parts with PETG filament. Supports are only needed for limit_switch_x_mount and stepper_mount (see also the screenshots from the slicer).

The washer and the slot nut are optional parts. For the slot nut, I used an M3 hot press-fit nut. The slot nut is designed in such a way that it can be inserted into the slot from above (subsequent rotation by 90°) and you therefore do not have to disassemble the CNC3018 in order to mount the limit switches, for example.

Step 3: Mounting the Parts

I used different sizes of hot press-fit nuts:

  • limit_switch_x_mount: 2 x M2
  • limit_switch_y_mount: 2 x M2
  • limit_switch_y_flag_A: 2 x M4
  • limit_switch_y_flag_B: 1 x M3
  • stepper_mount: 1 x M4
  • CNC_controller_case_lower: 4 x M3
  • holder_cutter: 1 x M5
  • Nutenstein_p06: 1 x M3


The assembly of the knife adapter is shown in the fotos above and under Concept. The knife, the push rod and the spring (I used a coil spring with an outer diameter of approx. 10mm and a length of approx. 18mm) are inserted in the adapter body and pretensioned with the adjusting screw. Subsequently, it is secured by means of a counter screw.

The housing for the control board (CNC_controller_case_lower) and the power supply unit (CNC_powersupply_mount) are mounted on the aluminum profiles at the backside of the CNC 3018 using slot nuts.

The limit switches for the y-axis are mounted with slot nuts on the frame below the carriage. The switch flag is made of 2 parts. The first part is inserted into the slot of the stage (but not completely) and then the second part is fastened by means of M3 screw. The position of the limit switches must be selected so that they are triggered before there is a collision between the carriage and the frame. 

The drag chain is fixed to the profile of the gantry on one side with slot nuts and clicked onto the holder on the stepper motor (stepper_mount) on the other side.

For the screws of the clamping unit (holder_cutter), I use M5x30 hex head screws and a 3D printed screw head from one of my other projects.

Step 4: Electrical Connections

The electrical wiring is quite simple. The limit switches are connected via flat-tongue connectors, two-wire cables and Dupont connectors. On the control board, the connections for the limit switches are provided on pin headers where the Dupont plugs can be conveniently connected. The connection cable of the z-axis stepper motor is then routed through the drag chain.

Step 5: Commisioning of the Limit Switches

As already mentioned, I use the limit switches only to avoid collisions. I have not activated the automatic homing. If a limit switch is activated, the CNC 3018 is stopped and must be reseted manually to move away from the end position.

The limit switch can be activated by the g-code command $21=1. 

Instructions for the commisioning of the limit switches can be found at e.g. https://docs.sainsmart.com/article/4yl9zlukly-how-to-install-limit-switches-in-your-genmitsu-3018-pro-with-only-your-cnc

Step 6: Generate the G-Code

First of all, you need to find a suitable subject, e.g. stencils for air brush are a good starting point. I will now show the workflow using the Instructables robot.

For a drawing robot I did a research and experiments with different programs to get as easy as possible from a picture to a g-code. There are many different possibilities how you can do it, for me the following workflow fits best. I use the program LaserGrbl and the editor Notepad++.

  1. Start LaserGrbl
  2. Load the picture you want to convert into a g-code (Screenshot 01)
  3. Choose "Vectorize" as conversion tool in the appearing window (Screenshot 02)
  4. Adapt the parameters and option to get the best results for your picture. A description of the options can be found at the home page of the programmer.
  5. Press "Next"
  6. Adapt the size of the object you want to generate (Screenshot 03)
  7. Press "Generate"
  8. Now you get back to the first view of the program that show a preview of the generated g-code (Screenshot 04). Since we are use a different program to control the CNC machine, you have to save the code. Press "Save (Advanced options)"
  9. Use the pre-setting and save the file (Screenshot 05).
  10. Open the generated g-code with Notepad++
  11. Open the replace dialog (CTRL+H)
  12. Replace parts of the g-code according to the instructions below. Take care to use "Replace All" (Screenshot 06)
  13. Remove the Z0 in the last line of the g-code (see instruction below)


Replacing parts of the g-code

Replace

S0

by

G1 Z5.00

and

S1000

by

G1 Z-1.00


Additional explanation why the g-code parts are modified (if you are also interested in "Why?"):

LaserGRBL is a program for laser engraving. Via the commands S0 or S1000 the laser power is switched on or off. But since the cutter moves the knife in z-direction instead of switching the laser on and off, these commands have to be adapted accordingly.

  • S0 means laser off - for the drag knife this means to move away from the cutting surface (in our case 5mm).
  • S1000 means laser on - for the drag knife this means to move into the vinyl film (in our case -1mm).


Adaption of last line in g-code:

change

G0 X0 Y0 Z0 (move back to origin)

to

G0 X0 Y0 (move back to origin)


Additional explanation why the g-code parts are modified (if you are also interested in "Why?"):

With this modification the knife stays 5mm above the foil when it travels back to the origin, otherwise it would travel in z-postion 0 (which should work also but you get an extra margin).


Sample code

At the end of this section, you will find the g-code for the Instructables robot I created following the instructions above. Use it at your own risk

Step 7: Setting Up the Machine and Starting the Cutting Process

I use grblControl to control the CNC 3018. Before starting to set up the machine, apply the vinyl film to the self-adhesive cutting mat. When doing this, smooth it out well so that the foil sits properly and does not have any wrinkles.

  1. After starting, the connection with the CNC machine must be established first, if necessary. To do this, the connection is set up under Service / Settings (Screenshot 1 + 2).
  2. Then the previously generated g-code file is loaded and immediately displayed in the preview. (Screenshot 3 + 4)
  3. The cutter can be positioned via the control pad [1]. The step size can be set via the presets or the numerical value [2]. When moving to the x-y start point, it is recommended to move the knife a few mm above the foil. When the x-y start position is reached, the x-y zero position is set (Zero XY)[3] (Screenshot 5).
  4. Now the z-zero position must be set. Be careful when moving the z-axis [1] so that the knife does not run into the table and possibly gets damaged. The knife is lowered with small increments [2] until it cuts through the vinyl film but not through the carrier film. This position corresponds to z=-1mm which means if the height setting fits move +1mm up and set the z-zero point (Zero Z) [3](Screenshot 6). It is recommended to create simple small designs in the beginning and fine tune the z-height .
  5. After everything is set up, the program is started by "send"(Screenshot 7). Now you can sit back and watch the CNC machine working.
  6. When the program has finished, the cutting head returns to the starting position and a completion message is displayed.

Step 8: Result

Remove those parts of the image that should be removed (the "non-black" areas) carefully with a scalpel. Cut a little bit if necessary, e.g. if a part has not been completely cut off due to the knife position at the start of the cut (Update: T.Rohner made an great comment about the drag knife offset - have a look at the comments section, if you are interested in this topic).

Then remove the transfer film (the one with the blue pattern) from the carrier film and apply it as free of bubbles as possible. Then carefully peel off the transfer film again and the vinyl can be removed from the carrier film. The sticker is now on the transfer film and can be applied to the desired surface.

Anything Goes Contest

Participated in the
Anything Goes Contest