- Joined
- Mar 5, 2013
- Messages
- 21
Hi all, Have not posted much. Usually don't as others do a better job than I in most cases.
I have built from scratch a CNC simple machine. Here's what it looked like with the 'old dremel tool' I've had for 50 years as its spindle drive. Further down you can see the new spindle mounted.
The 'frame' is 1" black-iron pipe. The X & Z axis are my creations, and the Y-axis is a commercial guide given to me by a neighbor. My X & Z axis are 20 TPI 1/4-20 thread rod. Not the best threadrod, just what you can get from any hardware store. The Y axis is 4.25 TPI commercial guide with ball-bearings. The basic configuration is a Desktop(via USB port) downloads the 'g-code' file to the ARDUINO-UNO control module mounted on the vertical board on the rear of the CNC frame.
The "Z-axis" stepper controller & Dual H bridge driver are shown below.
The Arduino generates STEP/DIRECTION commands to each axis based on the 'g-code' passed. These commands are passed to three 'controllers' which I made. These controllers take the step/direction commands and converts them into a parallel string (4 bits wide) in a timing pattern that goes to the dual-H-bridge drivers , which in turns sends the pulses to actually drive the stepper motors. The 'Grbl' software handles the acceleration/deceleration functions, based on all of its 'tuning' parameters. [I only use the FULL-STEP mode as the stepper mode, because it gives the maximum torque!] My steppers are 1.8 deg/step or 200 step/rev, and the axes are 20 TPI and 4.25 TPI. The controllers use a PIC16F628(A) microprocessor as the control interface and the PIC software is written in assembler. I had some issues with electrical noise using my old dremel tool, but have been able to eliminate the noise issues with primarily software in the PIC's. All three PIC-boards are identical so far, so only one program to maintain for these.
I have the new spindle mounted and I really like the way it works. The design allows me to change spindle heads if I need to (aka a bigger one later!).
I am a retired(72 yr old) guy who used to work in process-control and networking in a steel mill. Now I spend time on my lathe, this machine and 'amateur radio' such as the wife puts up with me.
cheers
Was not sure where to put this, so just added to end of this one.
Here are a couple of pics showing the new spindle motor mounted on my machine.
Found out I can drive this as an AC or DC . Now I'm using a simple 'household' triac wall switch to control the speed. I have not yet put in a switch for the Arduino to turn it off/on, because my 'Grbl software' doesn't provide variable speed, but does provide ON/OFF only.
Just been lazy getting the ON/OFf working.
I
Finally got back to this project again. I decided I did not like the 'github grbl' software I had been running under windows. I now have the
machine running (under test) using an Optiplex-745 mach loaded with 'Lubuntu-linux', a USB port from the linux mach to the Arduino, UNO
and the new control panel using new homebrew-PIC control boards, that in turn control the L298 stepper boards. I have the step control
now setup so they don't overheat, and it all seems to work pretty well. I wrote the Arduino code and it is pretty well done, and now testing
the Python application program on the Optiplex as the machine gcode control to the the Arduino.
I am 77 years old, and I am still having fun!!
kd8wdave
I have built from scratch a CNC simple machine. Here's what it looked like with the 'old dremel tool' I've had for 50 years as its spindle drive. Further down you can see the new spindle mounted.
The 'frame' is 1" black-iron pipe. The X & Z axis are my creations, and the Y-axis is a commercial guide given to me by a neighbor. My X & Z axis are 20 TPI 1/4-20 thread rod. Not the best threadrod, just what you can get from any hardware store. The Y axis is 4.25 TPI commercial guide with ball-bearings. The basic configuration is a Desktop(via USB port) downloads the 'g-code' file to the ARDUINO-UNO control module mounted on the vertical board on the rear of the CNC frame.
The "Z-axis" stepper controller & Dual H bridge driver are shown below.
The Arduino generates STEP/DIRECTION commands to each axis based on the 'g-code' passed. These commands are passed to three 'controllers' which I made. These controllers take the step/direction commands and converts them into a parallel string (4 bits wide) in a timing pattern that goes to the dual-H-bridge drivers , which in turns sends the pulses to actually drive the stepper motors. The 'Grbl' software handles the acceleration/deceleration functions, based on all of its 'tuning' parameters. [I only use the FULL-STEP mode as the stepper mode, because it gives the maximum torque!] My steppers are 1.8 deg/step or 200 step/rev, and the axes are 20 TPI and 4.25 TPI. The controllers use a PIC16F628(A) microprocessor as the control interface and the PIC software is written in assembler. I had some issues with electrical noise using my old dremel tool, but have been able to eliminate the noise issues with primarily software in the PIC's. All three PIC-boards are identical so far, so only one program to maintain for these.
I have the new spindle mounted and I really like the way it works. The design allows me to change spindle heads if I need to (aka a bigger one later!).
I am a retired(72 yr old) guy who used to work in process-control and networking in a steel mill. Now I spend time on my lathe, this machine and 'amateur radio' such as the wife puts up with me.
cheers
Was not sure where to put this, so just added to end of this one.
Here are a couple of pics showing the new spindle motor mounted on my machine.
Found out I can drive this as an AC or DC . Now I'm using a simple 'household' triac wall switch to control the speed. I have not yet put in a switch for the Arduino to turn it off/on, because my 'Grbl software' doesn't provide variable speed, but does provide ON/OFF only.
Just been lazy getting the ON/OFf working.
I
Finally got back to this project again. I decided I did not like the 'github grbl' software I had been running under windows. I now have the
machine running (under test) using an Optiplex-745 mach loaded with 'Lubuntu-linux', a USB port from the linux mach to the Arduino, UNO
and the new control panel using new homebrew-PIC control boards, that in turn control the L298 stepper boards. I have the step control
now setup so they don't overheat, and it all seems to work pretty well. I wrote the Arduino code and it is pretty well done, and now testing
the Python application program on the Optiplex as the machine gcode control to the the Arduino.
I am 77 years old, and I am still having fun!!
kd8wdave
Last edited: