CNC OpenBuilds
CNC OpenBuilds
2019
Content
1. Introduction......................................................................................................................................... 2
2. General information ............................................................................................................................ 2
3. Design choices ..................................................................................................................................... 4
3.1 Power............................................................................................................................................. 4
3.2 Open Build V-wheels ..................................................................................................................... 4
3.3 Motors with Trapezoidal Screws ................................................................................................... 4
3.4 Controller board ............................................................................................................................ 5
3.5 Spindle ........................................................................................................................................... 7
3.6 Motor mounts ............................................................................................................................... 8
3.7 Overall design ................................................................................................................................ 9
4. Plans .................................................................................................................................................... 9
4.1 CAD-Design .................................................................................................................................... 9
4.2 Wiring Diagram............................................................................................................................ 10
4.3 BOM ............................................................................................................................................. 12
4.4 Manual and Instructions (kind of) ............................................................................................... 13
5. Construction ...................................................................................................................................... 13
5.1 Modification of the spindle ......................................................................................................... 13
5.2 Machining of the custom parts ................................................................................................... 13
6. Issues ................................................................................................................................................. 15
6.1 Z-Axis bending forward ............................................................................................................... 15
6.2 X-Axis not moving ........................................................................................................................ 15
6.3 Problems during the construction............................................................................................... 15
1
1. Introduction
On our school “Birklehof” in Germany, we were offered the possibility to submit a project to the
program “Micro-Maro-Mint” of the “Baden-Württemberg-Stiftung” (Baden-Wuerttemberg-
Foundation). The “Micro-Macro-Mint”-program supports students interested in mathematics,
informatic or engineering with up to 2500€ for their projects. After submitting our application with a
first 3D-Model and a Bill of material, we got the funding.
Our goal was to build a large format CNC-machine, with the money available. Due to limited access
to a machine shop, we had to rely mostly on screwed connections. This led to the design decision of
using aluminium extrusions. The Open Build rails seemed like a perfect fit for our project.
Furthermore we added the option to use the machine as a giant 3D-printer. The wires for the
extruder, a stepper motor driver and a sufficient power supply are already installed in the electrical
cabinet.
To make this project as open source as possible we used the open builds platform and an Arduino
Due with TinyG2 core as controller.
2. General information
2
The final form:
The current version isn´t behaving according to plan, so we had to do some design tweaks, which
should solve these problems. In the section Issues we will talk about those.
- X: 172 cm
- Y: 172 cm
- Z: 128 cm
- This measurements are measured up to the outer most endpoints. For reference, the MDF-
plate on the bottom of the machine measures 150 cm by 125cm. The cable chains are not
taken into account
3
- X: 116,8 cm
- Y: 112,5cm
- Z: 16,5 cm
3. Design choices
3.1 Power
A detailed description can be found under Wiring Diagram. First things first. We chose to use three
phase power. This is wildly available in Germany, so there should be no problems. We did this,
because the maximum power output from a normal single phase outlet is about 230V at 16 Amps,
which gives you roughly 3680 watts. Considering the four 350 Watt power bricks for the stepper
motors and the 1,5 kW spindle, this could get us pretty close to the limit. So we split the main parts
over the three phases. On for the spindle, one for the stepper motors and one for the controller and
the 3D-printing part. This is also helping to reduce interferences.
The design for the x-axis was borrowed form the linear
actuators in the open build store. But the load on the wheels
in this design is too high, so the won´t turn properly. In the
rendering of the final version you can see, that we decided to
add an additional Y-axis to spread the load onto more
wheels.
Figure 3: https://openbuildspartstore.com/c-beam-xlarge-
linear-actuator-bundle/
Figure 3: Design template
The stepper motors are NEMA 34 stepper motors with 1232OZ/IN and the 5.6A DM860A drivers. We
bought one of these 4 Axis-kits out of china and are quite happy with it. The motors are mounted to
our custom motor mounts and are connected to the trapezoidal screws with a normal 12 to 14 mm
coupler. The used trapezoidal screws are 12 mm in diameter and have a pitch of 3mm. We decided
to use these, because we couldn´t get any ball screws in the desired length with this diameter. The
main problem was, that all nuts for screws over 12 mm in diameter were to big to be used inside the
C-beams.
4
Figure 4: The holder for the nuts
As you can see in picture four, the space inside the C-beam is filled out by the holder for the nut. The
holder was machined on our modified Esel EP 1090 (it now runs on grbl). So 12mm was the
maximum we could pack into a c-beam. In hindsight we probably should have used ACME-Screws
with the same diameter.
The motor current on the drivers is set to the maximum of 7,8 Amps
1 2 3
OFF OFF OFF
and Microstepping is set to 2.
5 6 7 8
ON ON ON ON
The machine is running of TinyG2core version 101. It runs on an Arduino due. All outputs and inputs
of the Due are protected via Optocouplers. These furthermore serve as level shifters. The
connections are all following the wiring suggested on the official wiki page of tinyG2 and can also be
found in the Wiring Diagram. Due to the sad fact, that the Due doesn´t have an EEPROM, we have to
send all commands on every startup. Here is the list of the current configuration:
5
$ej=0 //Enable text mode
$1mi=2 //Microstepping: 2
$2mi=2
$3mi=2
$1tr=3 //Travel per Revolution: 3mm
$2tr=3
$3tr=3
$lim=1// activate limit switches
$di3mo=1 ; Ymin
$di3ac=1
$di3fn=1
$di4mo=1 ; Ymax
$di4ac=1
$di4fn=1
We are running it with CNCjs and had no problems till now. Every command entered will be
validated. We use the left USB-Port on the DUE and it will show up as a Microsoft Serial USB-device.
6
Figure 5: Example of a valid command
3.5 Spindle
We use a 1,5 kW china spindle for milling. It is air-cooled and running of a Variable-frequency drive.
This allows for a smooth speed control. In comparison to a router (e.g. the typical DeWalt one), it was
also easier for us to mount and is pushing more power. The mounts for the spindle had to be bolted
to adapter plates we made from 5mm aluminium. There is no plan for these, because it was just
some holes. The modification of the plug for the spindle an extra part.
7
3.6 Motor mounts
The motor mounts are custom designed and machined. We made them on our modified ESEL EP
1090 (running of GRBL).
As you can see in the picture they actually serve three purposes:
1
https://youtu.be/HYOgmhpBUJs?t=277
8
This design allowed us to cheat a little bit and saved us the headache of machining a fitting faceplate
for the motor. One additional improvement apart from the tapered roller bearings would be to put a
screw through the top part of the motor mount. In the picture is seems like the two aluminium plates
would be separating, but in reality it is not as bad.
The bearings take the axial load, because we bought nuts for the trapezoidal screw, took one side
drilled a small hole and cut a thread for M3 grub screws. The nuts sit one both sides of the bearing
and also on the end, where the motor is mounted.
We went with a cage like design and till now, it has served as well. We were able to get a surprising
amount of precision with the aluminium extrusions. The deviation on the X-Rails is mostly down to
measurement errors. The added MDF plates add an additionally stability, especially the backplate,
and serve as a waste board.
4. Plans
4.1 CAD-Design
The design was done in Fusion 360. I exported the model to every format, the export window
offered, so that there are no problems with different CAD solutions. Furthermore here is the link, you
can use to download the model from Autodesk: http://a360.co/2y7nwAO This should give you the
most current version.
9
4.2 Wiring Diagram
The electrical part of the machine is complying with the following regulations:
- 2006-42-EG Maschinenrichtlinie
- BGI5003 Maschinen der Zerspannung
- DIN EN 60204 Elektrische Ausrüstung von Maschinen
Here we got some support form the father of Stefan and Sebastian. The whole construction was
done in ePlan P8.
The controls consist of two thermostat controlled ventilated electrical cabinets. One for the Variable-
frequency drive of the spindle and one for the actual controls. In the second one are the power
supplies, the drivers for the stepper motors, the power supply for the extruder and the Arduino DUE.
The USB-port of the DUE is expanded to outside of the cabinet, so that the machine can be run with
the cabinets closed.
The extra cabinet for the variable-frequency drive was done due to EMC reasons, so that it wouldn´t
interfere with the low voltage signals from the Arduino. The parameters for the variable-frequency
drive were taken from this very useful site: http://www.rchobby-net.de/fraese
The cables and the cable chains were provided by Igus2. The used cables are mostly shielded and are
designed to be used inside cable chains.
All end positions on the X, Y, and Z-axis are equipped with safety limit switches (Normally closed),
which are galvanic isolated through optocouplers, before the signals are interpreted by the Arduino
DUE. In order to make the limit switches more resistant to interferences we are using a 12V signal
instead of the 3,3V signal which would normally be provided by the Arduino.
2
https://www.igus.de/
10
Figure 11: The optocoupler circuit board
The CNC is equipped with two emergency stops, which isolate the machine from main voltage. The
Arduino and the optocoupler board are the only ones, which are still provided with their 12V power.
There is an additional off-switch, which turns off the machine completely.
The controls for the machine are in the door of the electrical cabinet.
- On/Off
- Spindle on/off
- Extruder on/off
- Emergency stop
- Off-Switch
- Speed
- Clockwise/0/anti-clockwise rotation
11
Figure 12: The controls for one/off, ...
The speed control is done with a 10kΩ potentiometer and a 0-10V analog display, where 10V equals
24000 rpm.
After completion the machine was tested according to the regulations by an electrical engineer.
4.3 BOM
The current BOM states 2.308,35 €. In this calculation are not included:
- The wooden plates on the back and the bottom of the machine
- The COMPLETE wiring, because we were sponsored (~1000€. You could cut the price by using
cheaper hardware/no-name electronics):
o Cable cabinets
o Wiring for the cable chains
o Cable chains with fitting mounts
o Small electric parts (switches, relays, etc. what goes into the electrical cabinet)
- An optional glass bed for using the machine as a 3D-printer
The nuts we used to connect the trapezoidal screw with the C-beam gantry plate also went up
significantly in price. We had some with 4 holes in them, but can´t find them anymore. The
measurements for our nuts are:
12
Figure 13: The used nuts. [mm]
The document “Aufbauanleitung.pdf” contains pictures from the CAD-Model and some tips, how you
could build the CNC. Just to be clear: This isn´t a perfect manual. For example we never added
mounts for the cable chains and improvised them. So you should feel comfortable doing such a big
project. For reference: The mechanical construction alone took over 100h man-hours. The wiring
inside the electrical cabinets plus laying the cables inside the cable chains and hooking them up to
their destinations took approximal another 60h. So this is not a weekend project.
5. Construction
Due to using the inside the maker scene popular china spindle, we realised that the motor is
equipped with a CE-certification, but the used 4-pole plug didn´t have a ground wire connected to
the metal frame. Furthermore, could be assumed that the used plug only was suitable for low-
voltage applications (~60V). To solve these problems, we added a ground connection to the metal
frame and changed the plug to a sufficient M17-high power plug rated for 690V at 23A.
We had two custom parts. One there the motor mounts and the other was the holder for the nuts.
We machined both on our ISEL EP1090 with a 6mm and 3mm bit out of aluminium.
13
Figure 14: Preparation for machining
We had to machine 16 aluminium plates, but we designed the mounts in a way, so that we only
needed 8 files and could use them twice:
All those files are added. They are 3D-DXFs. If they don´t work for you, you can still take the mounts
from the 3D model.
Always two plates of the motor mount go together and sandwich on of the bearings in between
them.
The holder for the nuts war pretty simple. The hole connecting the holder to the C-beam gantry plate
was drilled by hand.
14
6. Issues
As someone is might able to see in the picture, the Z-axis is too heavy. It is bending the 5mm rods.
That is the reason, why we decided to add the second Y-axis.
Due to the high load form the Y-axis the wheels running on the X-axis won´t turn. We hope to solve
this problem by adding the second gantry plate in order to spread out the weight better and
minimize to load on each wheel.
- Stainless tubes for the motor mount were to short. You should measure the distance
between motor mount and motor with the coupler in-between before cutting of the stainless
tubes.
- The screws for the motor mounts are a little bit on the short side, so we had to countersink
the holes in the motormounts
15