After getting some experience with the little ploter that I described previously I decided to build something bigger and better. Actually, machine described in this article includes two parts: the controller and the ploter itself. First of all I built the controller of course. It is simply a power electronics to drive the stepper motors windings and some logic electronics to translate 'step' and 'dir' signals from PC's parallel port to the exact combination of H-bridges states. I used L298 and L297 IC's, very popular in amateur CNC constructions. They work in their standard application so it's not necessary to place here the circuit diagram. L298 is simply a dual H-bridge, it can drive every two-winding bipolar stepper motor with current up to 2A per winding. L297 is a step/dir controller that can work in both half- and full-step mode. It also provides winding current regulation - it has a built-in chopper controlled by windings currents. There are three pairs of that IC's, each pair controls one axis (X, Y and Z). The Z axis is used to move the drill up and down, so it's not used when the machine works with laser. Below you can see some pictures showing the completed drivers PCB's laying on the desk and also mounted in nice casing :). The floppy disk is for size comparison
The fourth PCB that you have seen on the first picture is only connecting LPT port with each of three drivers. It also contains 5V regulator for logic and two transistors to control two relays. That relays can be used to control some 230V devices from the computer, i.e. turn the milling machine on and off. I made also four transoptor outputs for controlling low voltage stuff, i.e. the laser. There is also a few inputs that can be used for that little switches at the ends of the rails ('krańcówki' in Polish :P) and emergency stop button.
After finishing build of the controller I had to test if it works. I used Mach3 software to control the machine. It is very powerful program that reads g-code script from a text file and sends appropriate signals to the controller. The demo version is fully functional but the g-code file length is limited to 500 lines. You can download it from HERE. I changed motors in my old ploter to bipolar ones (previously there was four-winding unipolar motors) and connected it to the new controller. I also used my new 600mA DVD laser for the first time :D. This stuff worked very well. The motors was much faster than in the first version of the CNC machine and also control algorithms of Mach3 software was much much better than algorithms of my own software. Firstly, there was a new problem with drawing complicated graphics, because I didn't know how to convert BMP's to the g-code (it's some kind of universal machine code, most of CNC machines use it). So the first draws are only lines or circles which you can see on the second picture below.
After that I found a few programs to convert BMP files to g-code files, but of course none of them had satisfied me... So I wrote my own program! :D You can see the screenshot below and you can download this program from here: LINK, but it's only in Polish :P. Besides that it needs BCB6 runtime to work.
This program can generate a g-code file for outline of the black areas from the loaded bitmap file, and also fill these black areas with lines or grid. You can see the results on the pictures below. The first picture shows an 'evil monkey' on a cardboard, it was burned line by line to cover black areas. You can also see a creamfields logo filled with grid on CD case, a FoxRacing logo cut from a black cardboard, and at last two stickers cut from a sticking foil - Bilang.com logo and FoxRacing logo again. It turned out that the new laser is so powerful, that it can burn on cardboard and even cut it! Besides that it can write on plastic much faster than the previous laser (250mA).
And here a few videos showing how that setup work. The last video (with the Evil Monkey) is speeded up about 30 times.
That was quite cool, but still only 50x50 mm moving area. So it was the highest time to build a bigger machine! I made the two axis of some old planks that I found in my basement, six ball bearing drawer rails (about $2 for pair) and two broken scanners bought on internet auctions ($3 each). Most of amateur CNC machines uses screw drives, but I decided to use belt drives because I don't need much force to work with laser instead of the milling machine. The belt drive is also less precise but much faster. The whole wood-work and putting it all together was much more difficult and harder than I thought it will be, and it took longer time than I thought it will take. But it is still very simple CNC machine, so since now I'm filled with much more admiration to the people who builds real milling CNC machines! My machine has work area of about 300x300 mm and it can move with velocity up to 3000 mm/min.
On the pictures below you can see some parts of the machine and on the right picture finished machine with the controller. The whole thing is powered from ATX power supply (12V).
Below you can see the new machine during work and also results of it's work.
Here are some different pics of the ploter with a laser and a video with burning 'laser hazard' logo on plastic CD case.