Friday, October 10, 2008

The (inde)Terminator

I'm continuing to make progress on my 'bot project.

I decided to make the circuitry for it modular, so I can incrementally improve on (or add to) each section without having to completely redesign everything with each upgrade. Toward that end, I've got the main control and (motor) drive boards; I plan to add a sensor board, and then perhaps an 'environment' board. The way I'm going to accomplish all that is to stack the boards one on top of the other, and use one of the built-in capabilities of the microcontroller to let each of the drive/sensor/other boards pretty much do it's own thing with oversight by the main logic by using what is called a 'two-wire interface' (an alternative to the trademarked Inter-IC [or I2C] system developed by Philips).

I've breadboarded the main controller, and verified that it does what I need/want, so I've gone ahead and laid out a printed circuit board for it:
(click to view 'full size')
The board is actually only 3-1/2 inches on a side; the four big dots are where the spacers will be between the boards, and "J2" there on the bottom left is the TWI connector that all the boards will share. The stuff along the righthand side is the power supply and regulation, while J3 and J4 along the top are the digital input/output lines. J5 is to let me add 3 additional analog signals, Just In Case :-)

If you're into this kind of thing, here's the schematic diagram:
(click to view 'full size')
When I go to a more advanced 'bot, I can swap out the circuit above with something with more computational horsepower; going to a larger platform means just changing out the motor drive board, and so on. It's a little more effort up front, but will simplify future updates or upgrades by limiting the number of ways I can shoot myself in the foot: I'll only have to figure out what's wrong with the 'new' section, instead of troubleshooting the whole 'bot...

No comments: