18/06/2019: Hot Motor Driver
During the testing i noticed the spindle motor driver heat-sink was very hot. A quick look at the data sheet for the L298N shows the maximum power dissipation is 25W. My spindle motor draws around 1.6A at 15V with no load, so 1.6 X 15 = 24W which is close to its maximum rating. A short term solution may be to add a cooling fan to the heatsink, however I think for a long term solution it should be replaced with a more capable driver. Possibly the BTS7960, which can output up to 43A and run on a maximum of 45V. A cheaper alternative could be a relay, although this may not work well with a PWM signal for variable spindle speed.
18/06/2019: First Test Piece
I began with a simple part in designed in Fusion 360, I then generated the G-Code. Using a 3mm end mill and a block of foam as the stock fixed down with double-sided tape.
A problem I had was the limit switches appeared to be triggered during machining, causing the machine to stop. This may be due to vibration or perhaps the switches need additional filtering.
After disabling the limit switches ($21=0), I sent the G-Code again, this time it completed the job. I milled a second part which used pockets and profiling.
The third piece which I milled is pictured below, this part has chamfers, fillets, and a dome shape, this required full 3-axis machining, (tho other parts are only 2.5-Axis).
There are noticeable layers on the part due to only doing a roughing process. A finishing process would achieve smooth curves.
17/06/2019: GRBL Version Issue
Initial I was using GRBL v1.1 (the latest version) and had full manual control of my machine, however was unable to zero the axes. The status of the machine was being reported as ‘unknown’.
Eventually resorting to GRBL v0.9 sorted the problem, status is reported as ‘Idle’ or ‘Running’ and I am able to zero the axes.
21/03/2019: Spindle Motor Driver
The spindle motor will be driven by an L298N dual H-Bridge chip. This is capable of 2A per channel, but can be wired in parallel to deliver 4A to the motor.
27/02/2019: Limit switches and homing sequence
I have setup a breadboard with 3 tactile switches to simulate the limit switches at the end of each axis which are used during the homing cycle. By default the homing cycle is disable, it is enabled with the command ‘$22=1′. Sending ‘$H‘ to the controller initiates the homing cycle, at which point all motors spin until the corresponding limit switch was pressed.
The controller also has pins for ‘Hold‘, ‘Resume‘, and ‘Abort‘, I connected the three switches to these pins to check that they function as intended.
All switch inputs are pulled high, so are active low.
There are also two LEDs on the breadboard which are connected to the ‘Spindle Enable‘ and ‘Spindle Direction‘ to simulate the spindle motor. The following ‘M codes‘ are sent to the Ardunio to control the spindle:
- M03 = CW Spindle
- M04 = CCW Spindle
- M05 = Spindle Stop
25/02/2019: CNC Shield Modification
The latest version of the GRBL software (v1.1) has a slightly different pin configuration to allow variable spindle speed by using a PWM pin on the arduino. The ‘Spindle Enable‘ and the ‘Z limit switch‘ on the Stepper Motor Shield which I have are swapped round.
To fix this I have identified the copper traces for the two pins and scratched away the solder mask, allowing me to solder two jump wires across to correct the pin configuration.
22/02/2019: Stepper motor testing
After loading the GRBL code onto the Arduino, I connected the stepper motors to the motor drivers and was able to control them by sending commands through the serial terminal from the Ardunino IDE. The motor drivers can run on a maximum of 36v, I am using a 15v PSU from a 3D Printer.
21/02/2019: Electronics Arrived
The control board (a fake Arduino Uno) and a stepper motor shield (A4988 drivers) will be used to control my machine. The Ardunio will be running GRBL, an open source g-code-parser and CNC milling controller that will run on an Arduino. It is avaliable here: https://github.com/gnea/grbl/wiki/Grbl-v1.1-Configuration
I will also be using a RS775 DC motor for the spindle.