DAGU CNC mill controller - first prototype
March 12, 2014
I've been developing a CNC controller for DAGU. The project originally started late 2012 but got shelved because of other projects. Now we've dusted it off and plan to finish it in the next 6 months. Unfortunately blog post don't support video so watch the video that explains the basics by clicking on the link.
The controller is a 5-axis controller although the default configuration is 3 linear axises X,Y,Z. An additional 2 rotary axises can be setup in the configuration menu. The prototype controller shown in the video could only deliver about 1.5A per stepper motor winding. The new version being developed can deliver 3.5A continuous to each winding if required.
The display is 240x128 which provides enough resolution for a text display of 40x16. This is ideal for navigating an SD card with numerous files and directories. Being a graphics display it also allows us to produce a basic preview of the job before machining begins.
The display is not a touchscreen, your hands can get quite dirty and oily when working on a mill so a touch screen is not the best idea unless your going to clean your hands every time you want to use it.
As mentioned in the video, once the job has been selected, the controller scans the file. During this scan the gcode is read and the dimensions of the job are determined. This allows the controller to make various automatic calculations and warn you if there are any potential problems with the gcode. A preview of the job can also be displayed so you can confirm the correct file was selected.
DAGU is working in conjunction with a machine center specialist to develop an affordable, precision milling machine that can produce aluminium, wood and plastic parts.
The MkII controller is currently under development. It has more powerful stepper drivers and more features than the MkI prototype.
MkII Controller Specifications:
- ATmega2560 @ 16MHz with 8K SRAM, 4K EEPROM and 256K FLASH memory (with Arduino bootloader)
- ATmega8A @16MHz with 1K SRAM, 512 Bytes EEPROM and 8K FLASH memory (no bootloader)
- 5 inch (125mm) white on blue, backlit 240x128 LCD display with brightness and contrast controls
- 1x USB, 1x Bluetooth and 1x Xbee / WiFi serial port
- I2C interface (3.3V and 5V)
- SD card socket
- DS1307 RTC
- Input voltage 12V - 24V (40A maximum)
- 5 axis controller (5 stepper motor drivers built in)
- Stepper driver peak current - 3.5A per motor winding
- Stepper driver adjustable current - 20%, 50%, 75% and 100%
- Stepper driver resolution - full, half, 1/8th and 1/16th steps (current prototype achieves 1/100th mm resolution with 1/2 steps)
- Stepper driver thermal overload protection and thermal trip outputs
- 2x PTC fused, 4A motor drivers with speed and direction control for cutting tool motors
- 2x Hall effect sensors inputs for regulated cutting tool speed control
- 2x PTC fused, 2A motor outputs with PWM only for cutting fluid pump and blower / fan
- 3x external temperature sensor inputs (optional)
- 2x internal teperature sensors (ambient and heatsink)
- All PTC fuses monitored by controller
- Cooling fan speeds monitored by controller
- Thermal overload outputs monitored by controller
- Hardware emergency stop monitored by controller
- Software controlled emergency stop if thermal overload or blown fuse detected
- Key and code lockout for child safety