A milling machine numerical control (CNC)
I've always been fascinated by the technologies that use electronics and computers to monitor or control mechanical devices.
The CNC milling machine is the object that best represents this concept: know how to properly use and then successfully involves good knowledge of all these technologies.
The milling machine "classical" is manipulated by hand: the axes that move the spindle (which is mounted on the cutter that rotates at a speed appropriate) than the pieces are coupled to the knobs manual.
On the other hand, the axes of CNC work are coupled to a motor controlled by a computer, usually it is a stepper motor.
The stepper motor is basically driven by a suitable controller which exhibits two signals, step and dir.
A transition on the first tells the engine that must take a step in the direction specified by dir, which can be clockwise or counterclockwise.
The magnitude of the step is measured in degrees, 1.8 degrees / step that will mean 200 transitions on the signal so that the step motor axis makes a complete circle.
Some controllers including the one I used also allow the half step, I'm not here to explain what is the technique used to obtain the half step (if you want depth, look for "stepper motor tutorial" in Google), however with the medium Once, it was double the number of steps to make a turn and the motor therefore will move with more fluidity.
The computer takes the place of the operator's hands, planning appropriately moving the axles may carry a lot of machining of high precision, virtually impossible to do by hand.
Realize, machine parts, cut from a sheet of balsa a rib of an 'wing of a model aircraft, engrave an inscription on the wood, it becomes a program that the CNC milling machine is running.
Having discarded the idea of buying a ready-made CNC milling machine, first the high costs, and secondly because the fun for me is building something to learn, I opted to buy a conventional milling machine to be transformed later into cnc.
I took a Proxxon MF70, German-made.
Then I designed the control electronics and the mechanical part to match the stepper motor axes of the milling machine.
The end result is this:
L6208 from STMicroelectronics (DMOS driver for bipolar stepper motor), designed precisely to do this job. And it does so well!
The schematic used is simply that recommended in the datasheet, here however the sketch from which I started ...
78S40, then again from 8 to 5 volts with the classic 7805.
The power supply is in common: the bottom is for a channel.
... The finished result on millefori
language in practice is a file that contains commands that are given to the cutter, with the possibility of defining the "subroutine" a bit 'like the old Basic.
Through Gcode can tell the machine tool to follow the paths that include lines and arcs.
E 'as a pen drive which is said to make a path with a certain speed, only instead of the pen is the mill running at 20000 rpm and "trite" whatever it finds in its path.
It should be given much attention, the program should be done keeping in mind the material and the cutter used.
Speed and size of the groove depends on the type of tool and material do not have to work to the cutter outside of specifications.
Forcing can mean to break the cutter, the router could damage, break the workpiece.
Decrease the speed or make more passes!
To give an idea of what I did get the video: here's one
The writing was developed using EMC2, the gcode file was created with Inkscape, installing a patched version of this plugin.
The files are patched gcode.py and LinuxCnc
Ah, the disclaimer ![]()
The realization of a CNC milling machine, though small, requires a deep knowledge of mechanics and electronics: it is not a walk.
What is written is the result of 'personal experience of the author on the subject:
the author did not assume any liability.
Articles
You are reading "A numerically controlled milling machine (CNC), a post from Fabrizio Zellini
- Published
- February 6, 2008
- Categories
- CNC, Mechanical
48 Comments
comments | comment feed [?] | trackback uri [?]