this blog is about two students at DTU and their experiences while trying to build their own cnc milling machine.
we hope that this blog and the material related to it can provide some guidance for others interested in building their own cnc. if this is the first time you a reading here, a good place to start your research on the project would be this post: project overview
this is work in progress. the blog, the cnc machine, the writing. so bear with us.
if you have questions, suggestions or comments, please contact us or comment on this blog!
in order to allow us to mill on larger objects than the CNC machine and housing we redesigned the construction and mount for the cnc machine. we can now detach the distance pieces from the base of the cnc machine and move the machine to larger objects (say a table top or a hood of a car) and mill on top of these
the material table underneath the distance pieces is a perforated plate, with a vacuum cleaner mounted underneath, giving us suction to clean off excess matarial
we’re getting the distance pieces milling in the workshop of DTU by professional craft men, since it is essential that the X/Y frame is parallel with the base / milling object
our machine is moving! it is now possible for us to control the cnc machine with linux cnc … we simply forgot to apply jumpers to the motor control board defining the microsteps that we apply to stepper motors (we thought applying no jumpers meant standard setup, but it turns out, that you had to apply at least one jumper to have an acceptable motor configuration)
setting up the motor control:
setting up the motor control board with EMC2 is really easy — it comes with a setup wizard which allows you to assign specific pins in the paralel port to specific home switches, motor steps etc.
on homing difficulties:
we need to set up the cnc machine so it can always find its absolute position — this is done with home switches on the X/Y/Z axes, and should be a simple task, but alas, quoting from the manual:
“Homing seems simple enough - just move each joint to a known location, and set EMC’s internal
variables accordingly. However, different machines have different requirements, and homing is
actually quite complicated.”
so we need to read up on: homing setup: chapter 5.4 homing in the EMC2 manual
also the connection between our motors and the driving shafts are too loose — this can be seen our the first test drawing made with our wonderful machine:
the letters are written mirrored and on top of each other — they should be like the vector layout below
the connectors are simply not tight enough to withstand the rotational torque when the machine is moving fast between letters (when drawing the letters are “milled”, so the machine is moving much slower)
but hey: this is all minor tweaks and mechanicals — all very fixable! yeah! what a nice way to start a weekend
we have now mounted motors in the X, Y and Z direction — all wires have been soldered neatly to parallel port plugs — so we are basically ready for the initial testings, just need to figure out to cable the stepper motors to the motor controller with no motor datasheet (we threw that away )
we have mounted the motors on pieces of standard metal U profiles found in the dump. for practical reasons the motors for the y&z-directions are positioned skewed in a 45 degree angle.
to transmit rotation from the motors to the shafts we have used flexible hose with the right diameter - they actually fit so tightly, that we can use them as they are with no further tightening — this will also provide us with a mechanical clutch, securing the motors and frame, if we do faulty programming in the initial testing phase. using flexible hose as connectors has the advantage of compensating for minor imperfections in our homemade motor mounts.
Since the X/Y-table has arrived, it is time for some thoughts about the frame and housing. There is both functions, dimensions and safety to take into considerations when making the design. We have started out with some rough outlines of the housing, which will be followed up by actual drawings with dimensions later.
There are a few very important things to consider. First of all it is necessary to make a safe work environment, so the frame should hold all the pieces inside a box. Next the distance between the tool and the plane, where the material is fastened is very important. Together with the length of the Z-axis it determines the possible size of the object milled. Also it is worth considering how to hold the material on to the plane. We have talked about doing both tension and suction, so there should be made room for this. One of the most important considerations is how to level the plane and the X/Y-axis. We havent made this yet, so we will get to that later.
So here is a few sketches on the housing.
As you see on a previous post we have begun cutting out the frame from an old scrap thingy. We found that this piece of scrap had the right dimensions for our project, so we saved some time there. Maybe it is not quite tall enough so that the z-axis can move up, if we put on a top. So this may force us to do another design for the top and sides, but we will see.
this week the x/y frame finally arrived - weee! - talk about feeling like a little kid at xmas again!
the build quality of this used frame is pretty good: x and y axis is rock solid, with only a slight flexibility in the z axis — we’re thinking we might work on the bars holding the z axis, maybe change the material used to metal rods from printers, as they are about the hardest metal rods we can get our hands on within budget and also the size seems just right.
knowing the dimensions of the x/y frame we started (de)constructing a base for the cnc machine, so we can obtain full use of the z-depth.
jakob sindballe made some truly heroic metal cutting efforts and sparks were flying!! who said engineering isn’t sexy
see more info on base design considerations in upcoming post
also today we experimented with installing linux cnc on the pc that we found for the project — unfortunately the pc only has 256MB of RAM so the process was painstakingly slooooow. and finally we gave up. so now we are on the lookout for some extra RAM blocks.
we have started wiring the motors to standard parrallel port plugs — this way we can connect and reconfigure the motor setup any way we want to in the future, and also we can disconnect the x/y table and motors from the control unit, which will be very practical later, when transporting the cnc.