Encoder Front Page
SRS Home | Front Page | Monthly Issue | Index
Google
Search WWW Search seattlerobotics.org

The Vice-Prez Sez

Karl Lunt

You can find microcontollers by the dozens out there, and finding the right brain for your 'bot isn't always easy. I don't have the answer, but I can give you some food for thought.

You need to consider the size of the project you have in mind. If you only want a small, one-chip brain, you are limited to maybe a bazillion different choices. I'm partial to the Motorola 68hc11 family, in particular the 68hc811e2. This MCU sports 2K of non-volatile code space, 256 bytes of RAM, eight channels of 8-bit A/D, a neat timer system, and lots of digital I/O, all for about $10 each in a 52-pin package. Tools for writing your code are available all over the net, in prices ranging from expensive to free. Marvin Green's BOTBoard makes a great single-chip platform, and Motorola's FREEWARE pcbug11 utility (generally) makes programming the chip a snap.

Another single-chip solution includes the various 8051 family parts from Philips Semiconductor and Dallas Semiconductor. Dallas, in particular, has spent a lot of effort to redesign this old-line chip, getting a 5x increase in throughput given the same clock speed. You can find many variations of this chip, with different mixes of memory and I/O. I've used the 8051 in a few contract jobs, and consider the assembly language for this chip to be horribly brain-damaged, but many other very good programmers like the programming model, so give it a look-see when you choose your chip.

For sheer horespower in a small package, take a look at Microchip's PIC 16c84 MCU. This device is one of a huge family of RISC processors that combine a small instruction set, blinding speed, low power, and excellent I/O capabilities, all at very reasonable prices. The 16c84 fits particularly well in the role of a robot brain, since it has EEPROM for code storage and a very simple programming method. You can buy cheap 16c84 programmers, the chips themselves cost well below $10, and Microchip's web site is FILLED with applications notes, tools, and full project designs.

The newest Motorola additions to the one-chip fray are the 68hc912b32 and 68hc812a4, the first offerings in the new CPU12 family of microcontrollers. The 'b32 carries 32K of flash memory, while the 'a4 features 4K of EEPROM. These 16-bit MCUs have a pile of additional I/O, including serial ports, A/D, and digital lines. They both function well in single-chip mode, but you need to be aware of a tradeoff regarding the memory. You can modify the memory in an 'a4 using just the chip's standard 5 VDC supply, but programming the 'b32 requires 12 VDC; this might make it a little less suitable for single-board designs. Still, both devices look like winners, and it's hard to argue with 4K or 32K of memory and a ton of I/O in just one chip.

But not all designs fit into one chip, and you may be forced to use a multi-chip board, complete with expanded memory. In this case, you have even more devices to choose from. All of the above chips, except for the PIC devices, support memory expansion, and 64K 68hc11 designs are quite common. You can find several companies that sell finished boards for the 68hc11, 8051, and 68hc12 families. Check the web sites for New Micros, Zorin, Vesta Technology, and others that advertise in magazines such as Embedded Systems Programming and Nuts and Volts.

Additionally, chips such as the V25 and 80386 might serve your needs. Besides being cheap and widely available, boards using these devices can look and act much like PCs. You can develop software for these boards using standard PC tools such as C compilers and assemblers. And many of the public-domain utilities can be applied directly to these boards. For example, Bill Bailey and I developed a ROM-based operating system for the New Micros V25 SBC that should work, with minor mods, on just about any V25 or 80386 board; see my web page at http://www.seanet.com/~karllunt for details.

Another option for those seeking more horespower lies with the variants in the Motorola 68xxx family, notably the 68332. This 32-bit MCU contains a 68000 CPU core, an independent Time Processing Unit (TPU), and some very sophisticated I/O. Motorola offers plenty of support tools and information, both on their web site and through their literature center. You can also pick up some free/cheap 68000 compilers on the web that will get you started programming for this device. And New Micros ships a truly fine Forth system with their 68332 board, which I will use in developing my Fire-fighting robot for the March contest.

All told, anyone looking to choose a chip for their next 'bot has way more options than any of us old-timers had a few years ago. The first step to take involves gathering infomation. Ask around at the next meeting to see who is using what and how they like it. Find out where to get compilers and assemblers for your choice. Find out about how to get the finished code into the device. And find out who can help answer the tough questions you will have as your design progresses. Choosing the right chip can make all the difference, and you'll enjoy this hobby that much more.

Keep on keeping on...

karllunt@seanet.com

http://www.seanet.com/~karllunt

"Technology marches on. Over you or through you, take your pick." Attributed to Stewart Brand