Technical Information

Embodied Computation and Wireless Communications


The information contained on this page is incomplete, as our project is not yet completed. What you will find below is information on what we have done up to this point (May 1999), and some resource information we think may be useful to future Robot Art Studio projects.

 

Our work in progress:

Take a look at our corrent circuit schematic, and the current parts list. The circuit schematic has a pretty nice circuit for charging ni-cad batteries. This circuit was adapted from the battery charger circuit on the Handy Board, by Fred Martin of the MIT Media Lab.

Radio communications:

We are hoping to achieve radio communications with pre-assembled transmit and receive modules from Ming Microsystems. On the surface these devices are quite attractive to work with. They are small, cheap ($10 TX and $11.50 RX), have digital input and output, come pre-tuned, operate on +5V, and have a range of up to 200 if you attach an external antenna. At first look, one would think they would offer a plug and play for data communication between micro-processors. Well, almost.

Basically, what you are getting here is a transmitter that sends a carrier signal and your data, when you send a data stream into its data in pin. The receiver outputs this data digitally to an output pin. What you don't get is any support for hand-shaking (when the receiver confirms it is listening) or radio noise; things that would come built into a real radio modem. Supposedly, these things can be dealt with in software (we haven't been able to yet). If you can deal with these problems, then you'd have a cheap and low cost communications solution. Alternatively, you could buy radio modem units with hand shaking and noise filtering features built in, for about $90 from Lemos International. When we do solve these problems, we'll post our findings to this site.

For part numbers and ordering info see this place in out parts list.

   
 Ming RE-99 Receiver Ming TX-99 Transmitter

Brief specifications:  
 Cost:  TX: $10, RE: $11.62
 Operating Voltage:  +5 V DC
 Current Consumption:  2 to 4 mA
 Data Speed:  1200 BPS rated, tested ok on scope to about 2000 BPS
 Range:  about 50 feet with no antenna, up to 200 with antenna

PIC Microcontrollers:

Introduction: Microchip Technology manufactures a family of low cost microcontrollers called PICs. Basically they are little computers with almost everything you need to do projects built in. There are many different PICs to choose from. We chose the PIC16F84 because it had 13 I/O lines, interrupt capability, non-volitile Flash memory built in, and is reprogrammable from a PC. It cost $6.25 from Digi-Key (though supposedly Microchip will provide free samples to college projects). You also need a clock oscillator which costs about $4.00.

Programming: There are (at least) two ways to write programs PIC micros. The cheap way is to download MP Lab from the Microchip web site. This is Microchip's integrated development environment and its FREE. It has a text editor, an assembler, and a downloader program. The only drawback, is that this requires you to program in PIC assembly. This is not so bad, as PICS use RISC (reduced instruction set) archetecture, and only have like 35 instructions to learn. Doing it this way also gives you tight control over exactly what the chip is doing, right down to memory addressing. The alternative is to buy PIC BASIC for about $100. This is a version of BASIC for PIC chips, and is supposed to be really good. It is commercially available, but I'm not sure who sells it so do a web search.

Note: MP Lab is a Window program. There is a user developed Macintosh programming environment available at Mac Robotics. We have no knowledge of Mac PIC other than people are using it, and it may be the only available option for Mac.

Programmers and Downloading to the PIC: Once you have a program written, you need something called a device programmer to put that program on the chip. This is a module that plugs into the serial or parallel port of a PC and has a socket for the chip itself. The Electrical and Computer Engineering Department has a universal device programmer which they let us use. This programmer, a BP Microsystems model 1200, supports something like 14,000 different chips, including all PICs from Microchip Technology. The disadvantage is that it does not work with MP Lab, so if you are using MP Lab to write and assemble programs, you will need to save the assembled code, and download it to the PIC with BP's software (available from BP). Alternatively, for $150, you can get a PIC Start Plus kit from Microchip, which includes Microchip's own programmer, as well as some useful documentation (which is all available off their web site for free but is nice to have in print). This programmer only works with PICs, but is compatible with MP Lab (rather than using additional software to download).

Here is a summary of what you need:

 Item: Available from / cost
PIC chip of your choice
Digi-Key (prices vary, probably >$10) or
Microchip Technology (possible free samples)
Appropriate clock oscillator (see PIC documentation for correct frequency)
Digi-Key (less than $5)
   
MP Lab Programming Environment
Microchip Technology (free)
or PIC Basic  do web search (at least $100)
or Mac PIC Mac Robotics
   
BP Microsystems Device Programmer See Rick at Tech Electronics in Hammerschlag Hall (borrow)
or PIC Start Plus kit
Microchip Technology ($150)
   
Documentation for your PIC in PDF format from Microchip Technology (free)

*PIC and clock require a regulated 5V supply voltage which may require additional circit components.