Hello. I jumped in the CNC world last October and I have been a passionate enthusiast since... I often watch videos of DIY CNCs and experiment with new things. My first CNC project (highly recommend to take a look) was quite a success (but had a few issues) and this made me think that I need to try more complicated things. The inspiration came from this guy and his pcb maker:
I though I could make something that useful and decent. Not just a proof-of-concept laser engraver with quite pour quality...
I made my motivation drink:
and started designing my new CNC...
Step 1: Deciding basic things before starting...
First of all: the budget... It was around 10 euros... And the available space to store the new machine was about 0 m³.
That meant that the only option was to repurpose my old laser CNC. I took it apart in minutes and decided which parts to keep for my new build. This way I designed the new CNC to be compatible with the last one when it comes to parts.
I kept the wooden parts of the frame, the motors (those 28bjt-48), the rack and pinion set up, and the fan.
Also remaking a CNC gave me so much opportunity to do many things differently than the last time, knowing what works well and what doesn't...
So lets move one to the Design...
Step 2: LInear actuator experiments...
The first thing that didn't quite worked last time was the pipe drives. They didn't flush fit, so (while they were doing there work) they allowed vibration to the XY axis. The result of this was curly laser lines...
I didn't like this... Not one bit... So I got drawer slides. They were SO much more stable! and costed about 2 euros a pair.
I tried a nylon string setup as the moving mechanism. It worked but put so much strain to the motor and driver it finally fried the Easy Driver board...
Here you can see it work (before the cooking):
It was a weak (but working solution) till it did that damage to my property. After that it got ultimately scraped...
I returned to my trusty rack and pinion axis...
Step 3: The Y axis
I suddenly remembered assembling an IKEA thing some days ago. It included some shelf corners (is this the name) that I never used.
So I drilled them and fitted my motors on them. I could also screw them to a wooden surface as they were already drilled for that purpose. The result is shown. Worked like a charm! Also serve as a GREAT heatsink!
This way I decided to make my new machine a "moving bed" one. It could save sooo much time and effort. Plus I wanted a Z axis this time because I want to be fancy and auto-zoom the laser without touching anything but the computer's mouse... And Z axis with "moving gantry" aren't exactly what we call friends...
Here is some testing for the axis. The rack is moving a bit as it isn't screwed nor glued on the base.
OH! Almost forgot! This motor is modified from unipolar to bipolar using this Hack:
Worked with Easy driver like a charm and got much better...
Step 4: The Whole Frame assembled
As I decided the "moving bed" arrangement everything went smoothly! I knew what to do. I have seen so many instructables, videos, and articles, andCNCzone topics the past year!
The concept is that the gantry is allowed to move in only one axis while the other (the perpendicular to the gantry's movement) axis is moving the table below the gantry. This is another way to achieve XY movement of a certain machine bed spot.
I used Rack and pinion for X and Y axis and 8mm lead screw for the Z axis. I also suggest 5/16' lead screw as it has slightly bigger step (1,41mm against 1,25).
Step 5: Electronics and my DIY Parallel Breakout Board
Buying electronics you can build yourself is a sin. End of story. Breakin' a parallel port's useful pins is a bit time consuming, but generally a piece of cake. So I did it myself. I had some old Parallel-to-Printer cable:
The left socket goes nicely to my PC. (I have a hipster motherboard that has Serial and Parallel Port along with HDMI!) The right one is useless (unless you have a dotted printer) and so I cut it out. Then I checked continuity for each cable (many of them are Ground cables and thous ignored) to each parallel pin. Soldered them in a perfboard and connected them with anything my heart wanted.
Specifically, this is a Parallel socket pinout:
The pins 1-9 and 14,16,17 are out pins (PC out) and are used on CNCs to control the motor driver Step/Dir signals, Transistor-Relay chain signals, and those kinds of things. The rest (that are not Grounds) are in pins (PC in) and used for Emergency buttons, home switches and anything that needs the PC to be aware about the outer world.
To drive the Steppers I used the remaining survivor Easy Driver (I had 2 from last project) and 2 of my DIY Attiny85 Stepper Drivers (2 euros cost each!).
I dropped my last project's cost about electronics (55 euros) to less than half (about 20 euros) without losing anything!
Here you can see my puppy blinking and doing its job... (Z axis is not used in this run so it isn't driven with current and its LEDs are off):
The Attiny85 drivers have a 300 usec delay in their code. This is OK for those motors in 5V and result in a 666,6Hz (not on purpose!) step frequency that is fairly slow. At 12V you can make this delay as little as 140 usec and make the step frequency about 1200Hz that is decent.
Again if you have another motor you need to trial and error this variable in the code using an arduino or you LPT port.
The last Attiny85 "firmware" supports up to 1900Hz step frequency. I get about 35 mm/s from those in X and Y axis. Very speedy machine!
Step 6: Home Switches
I wanted to make a great build! I mean I wanted it to have everything a CNC has. Home switches were the next targets to make. An external Emergency button too...
So I made them. Glued them to each axis (except Z at time of writing) home and tested them. I made them Normally Open, and Inverted, meaning that when they get pushed, they ground the Parallel port pin that otherwise is on 5V. The PC reads the change of those pins from HIGH to LOW and understands that the axis has been homed, or that something went terribly wrong and it has toemergency stop the running g-code...
Step 7: The "Multi-Mount" project
A -not so powerful- laser engraver is impressive but almost useless. My laser is a 200mW CW 405nm diode that can't cut most things. It needs much time todeeply engrave (almost cut) a black CD Case and this is really bad. I need this machine to be more useful. Not just impressive.
So the idea came when I was takin' a shower to wash my hair from all the small wooden pieces:
"As I make a working CNC table why not make toolchanging interface on the gantry. I can use 12V supply (controlled from the Parallel Port via the ULN2003) to power up any small tool... Not just a laser..."
That was a great idea! I suggest you to take showers twice a day, at least.
The rest you can see in the pictures... I made the laser (the constant current driver is on the laser tool, not the main board) "tool" and mounted on the gantry for you to see.
Step 8: So why not a Mill too...
At that time my electric mixer (that I used for my motivation drinks) broke. So I broke it too into pieces! It had some nice things inside that gave me another idea!
I got a 220V to 7.5V tranformer, 4 1n4001 diodes (arranged as bridge rectifier), 3 100nF ceramic caps a cheap switch and... a quite powerful 12V250mA DC motor.
I made another wooden block "tool base" mounted the motor and cut the stirring thingie in a sharp tip way using my dremel with cutting tool and my DIY dremel base (usually used for PCB drilling).
When I run the motor for the first time things went peculiar... Steppers got steps out of nowhere and finally the ULN2003 channel that drove the motor gotcooked to dead state "always ON".
Never trust motor's Amperage ratings... Motors have inductors inside them that make amperage tricky (by having an unstable resistance and scrapping Ohm's Law).
By measuring the amperage with the DMM I found out that when slightly stalled the motor sucked up to 1.5 Amps... So this sent my ULN2003 flying... I also read about motor's (electronic) noise reduction and ended up using 3 caps and a flyback diode (ULN2003 include a flyback diode already). The motor stopped giving random steps to the LPT pins this way.
The Amperage issue was solved by installing 2 ULN2003 ICs one on another (the term is "piggybacking") in the same socket. So I got 2 transistors in parallel that *almost* doubles its ratings to 1A Continuous and 1.2A peak. That should be enough for any 12V tool...
The piggybacked ICs got cooked too. The last working configuration is a ULN2003 with 4 Bases and Collectors soldered together. This has been through a torture test and it is working at time of writing...
Step 9: And... DONE!
By adding the fan I conclude my build. It can be seen in the pictures.
Here are some videos of it in action:
And some results on engraving with laser.
As you can see the results aren't great, they are a bit unprecise. The machine needs more testing and calibration.
Why not a 3D printing tool? I can use a glue gun heater (already have one) with a relay. There is a fan already installed and I can find a CAM easily (even use LinuxCNC with a different profile)...
Step 10: Last but not least: COST
Easy Driver stepper driver - 10 euros
3 28BYJ-48 motors with ULN2003 driver - 5 euros (less than 2 each)
3 pairs of drawer slides - 6 euros (2 euros each)
Wooden frame - almost 16 euros
fan - 4 euros
laser - 15 euros
"milling tool" - free! (costs no more than 5 euros altogether)
lead screw - 1,50 euros
rack and pinions - less than 20 euros (if I remember correctly).
So a Sum of 77,50 euros. Cheaper than my last build (at about 100 euros), and definitely better!
Thank you for reading my fifth (OH they became five so quickly!) Instructable!
Please Leave comments for questions and suggestions. Or just because you feel like it!