The basic concept PC/realtime / firmware...
!!! This page under construction 6.1.2009 / This is a works in progress project !!!
The idea is to do all the heavy calculation and user interface stuff on the PC and the hard real time stuff on the microcontroller. There is plenty of horse power not to mention graphics, networking, disk storage, keyboard and mouse on available in an old laptop at dirt cheap prices but no reliable hard-realtime capabilety operating system or suitable IO. On the otherhand any microcontroller can do hard-realtime control with a few hundred lines of C-code but lacks the user interface and connnetivity.
This concept combines the best of both world: for about 100 EUR I can turn my old laptops into 3 Axis CNC controllers!
This all started from my long time ambition to do some CNC stuff, and being what the kind of person I am, I just had to start from scratch. Yes there are a lot of good, practical and economical solutions out there, all you have to do is google a bit. So if you just want to do CNC and get it to work, Toad3 may not be for you. Check out Mach3 and Geckodrive.
Toad3 is not kit nor is this page a DIY construction instructions.
Having said that: what you find on this page is a description of the Toad3 project and an offer to make the Toad3 PCB board available to interested people. Toad3 is not for absolute beginners, on the other hand it does not require a lot skills or knowledge and with a little help from friends and luck it should be possible to get this working.
There are a couple of different views you can take on the Toad3 board. You can view it as a breakout board for three very nice stepper controllers or you can view it as board to experiment with PIC18F4550 with or without USB or you can aim for the three axis CNC controller which is my main goal. Anyway you look at it having a decent PCB beats wirewrapping or Veroboarding any time in terms reliabilty or time spent. What is your spare time worth per hour?
I'm offering the design here for whoever wants to endeavor to do something similar.
The schematics and PCB layout are available so look before you leep. All responsibilety is yours, all I can guarantee is that I've tried to provide full disclosure and that I've built one board succesfully.
The boards are available (about 3 week delivery as there is no stock) and are manufactured by Olimex and cost 40 EUR + postage a piece, unless there is enough interest to get a full production run. A full production run requires about 30 boards and the price will then be about 12 EUR + postage.
In addition to the board and components you need to supply your own cooling block, transform, enclosure, primary switch/fuse.
So far, two boards have been manufactured and the basic functionality (CPU, Serial communication and Stepper controller) has been succesfully tested. A few minor errors have been discovered that will be corrected before next manufacturing run.
If there is interest I might also make a quantity purchase of the harder to get key components, such as the PIC18F4550 and the TB6560AHQ stepper controller.
PCB | 40 / 12 EUR (see above) |
PIC18F4550 | 5 EUR |
TB6560AHQ | 4 EUR |
DB9 connector | 2 EUR |
Enclosure | 20 EUR |
Transformer | 20 EUR |
Other components | 20 EUR (all together) |
You will also need the PicKIT or some such programmer which will set you back some 35 EUR.
The toolchain, which I've proved works, is based on SDCC Small Device C Compiler which runs on Mac OS, Linux and Windows. There are a lot of other toolchains out there besides of what I'll be using. You can even program the PIC using BASIC!
To program the chip you need a programmer and programming software. I've used PICKit2 for burning the firmware which works mainly in Windows but also in Linux and someone has even hacked it to work with Mac OS X! , bute there are a lot of other options to do the firmware programmin in Windows, Linux and even under Mac OS X.
The board has a Microchip standard ICSP interface that is compatible with a number of programmers.
To get the documention click the image above!
- 40 pin PDIP package, you actually solder these!
- 48 MHz clock speed
- 32 kBytes Flash program memory, in circuit programmable
- 2 kBytes RAM
- 256 bytes EEPROM
- 35 I/O pins
- 13 10bit A/D inputs
- Timers, SPI, I2C, PWM, UART ...
- USB interface
- C programmable with Free tools, on Mac OS X, Linux and Windows
So all you need to do some hard-realtime stuff in a great, easy to use DIL package, no surface mount soldering skills or tools required.
For years I've been on the look out for high current, fully integrated stepper controller in a usable package that allows easy cooling and hobby friendly soldering, and here it is!
I felt it prudent to have the RS232 communication to be optically isolated as some serious current and relatively high voltages will be present on the Toad3 board which could fry my 3000 EUR Mac mother board. I don't want my Toad3 to turn into Toast3!
- Two robust and noice immune limit switch inputs for each motor with voltage output for optical sensors
- One free relay contact for controlling spindle or what not
- One robust and noice immune digital input for touch probe
- One analog input for speed control potentiometer
To be continued....
br Kusti
6.1.2009