4th Axis Tangential cutter for MPCNC
Designs and software likely to undergo updates. Please check back.
- Published update to gcodetools: manual path selection. Gcode cut order will match path selection order. See github link and manual_path_selection branch. Will merge once I've implemented optionality.
- Printed out geodave's blade holder, and very happy with it. See below.
- Moved gcodetools to Github.
- Shifted to degrees for the turn magnitude, firmware changes required
- Added support for full command by command speed control in the generated gcode
- Switched away from the pineapple, and adopted a metal 5mm to 8mm coupler
- No more thread moving inside the skate bearings - fashioned a smooth rod threaded at one end and clamped straight into the thread coupler - no top bolt, spring tension controlled by adding or removing washers. Not a critical update, more to follow.
See below for details
Further planned changes
Redesign blade holder - this one is too far from the tool mount. I will probably do something like the TOCK, where Olfa blade snap offs are used. Hopefully the rigidity of the cutting head can be improved.
^ Scratch this. Geodave did it better than I could have https://www.thingiverse.com/thing:2661474
Inter-changeable pen mount - some cut out jobs benefit from markings, like using Fusion 360 Slicer.
Instructable detailing workflow for going from Fusion 360 Slicer output to useable gcode.
Like a drag knife, only able to cut more intricate designs and sharp corners. Also more suitable for thicker material. May be adapted for other tools which require 4th axis (A axis) rotation, and also for other CNC machines.
Latest vid, working quite well now for thick (7mm) cardboard:
Design changes incorporated:
- Stepper motor to rotate the blade
- Rotating assembly free to slide on two steel rods mounted to the MPCNC via linear bearings - allows rotation without losing the spring loaded z
- Offset of blade tip to centre axis reduced to 0mm
In addition to the printed parts, you will need:
- 2 x 608ZZ skate bearings
- 2 x LMK10UU linear bearing
- 2 x 10mm x 120mm steel or aluminium rods
- 1 x Nema 17 stepper motor
- 4 x M3 x 8 screws
- 3 x M4 x 20 screws with nut
- 2 x M3 x 15 screws with nut
- 1 x M8 x 70 screw with lock nut, or M8 threaded rod cut to length
- 15mm x 20mm spring (took mine from a £1 caulk gun)
- 1 x standard utility knife blade
5mm to 8mm metal shaft coupler (to replace pineapple, £1.50 each in UK)
A modified version of Gcodetools is supplied. Please note, this is no longer included in the Thingiverse page, but instead should be obtained from Github:
Three new parameters are introduced:
- knife lift threshold angle (only lift the knife if the material thickness/angle requires it)
- 4th axis command (allows generation of gcode with A commands substituted with E, see firmware below)
- turn feed: Adds an FXXX gcode command to the turns, so turn speed is controllable.
A small modification is required for best results with the standard MPCNC supplied Marlin firmware. In the first release, the code was outputting the turn command magnitude in radians. This works better with degrees, so the instructions now reflect that.
Marlin discards anything beyond 2 decimal places for E commands, which is why the change is needed. This means that with the magitudes associated with degrees, the firmware's over extrusion detection kicks in. Hence you will need to upload a new firmware to your Arduino, with the following two lines commened from configuration.h:
#define EXTRUDE_MAXLENGTH 200
The stepper motor attaches to the E0 controller on the RAMPS board. You may need an additional stepper driver if you don't have one.
The generated gcode will have the 4th axis turns expressed in positive or negative degrees. The E0 steps per mm value needs to be set so that a value of 360 in the gcode corresponds to one full turn. In my case this was 103.xx steps per mm.
You can calculate the correct value by issuing a g1 e3600 command (10 full turns) and checking that 10 turns happen and the final angle matches the initial angle. If it's a bit slow add an F3000 or so to that command.
The latest gcodetools is modified to support feedrate gcode for individual turn commands which speeds things up.
See thread here:
And a precursor to the thread (motivation):
Additional parameters and operation for attached Gcodetools
Follow instructions in README.md to install
Set the tool to be tangential knife:
Extensions -> Gcodetools dev -> Tools library-dev -> tangient knife -> Apply
- A green box will pop up. Use the Inkscape text tool to adjust the values:
- lift knife at corner: set to how much lift you want in addition to current cut depth
- 4th axis command: override to E ( from A) for MPCNC Marlin
- Knife lift threshold angle: set the turn angle in degrees above which turns will have a lift. Eg: 45
- Depth step: this is the maximum depth per cut
Create orientation points (this is where you'll control cutting depth or material thickness):
Extensions -> Gcodetools dev -> Orientation points-dev -> Z-depth -> Apply
Generate the gcode
Extensions -> Gcodetools dev -> Path to Gcode-dev
- Preferences: set the directory to something other than the default /home/, then Apply
- Options: set minimum arc radius to 10 (radians), meaning no arc commands will be generated (g2,g3) only straight moves (g0,g1). Apply (firmware struggles with arcs apparently - will test this soon)
- Path to Gcode tab: Apply (make sure the vector you want to cut is selected first)
- This will generate a new set of vectors in the drawing overlayed onto your cut vectors indicating the gcode commands generated
- According to what you set for your output in preferences, this is where the gcode will be generated.
- If your MPCNC Marlin is set right for E0 steps per mm, you can run the gcode directly.
Thanks to all over at the Vicious1 forums, especially Alted
Alted I borrowed your pineapple. Hope that's ok