Back

RF Hookups


Demo Boards As They Come From Linx

I decided I wanted to be able to control my robot remotely. I didn't want to use an normal RC toy controller setup since the number of things you can do with those are quite limited. Instead, I wanted to set up a data relay from the PC to the robot so I could do anything I wanted.

My first attempt had mixed success. It consisted of a packet exchange between the PC and the robot using the now discontinued Parallax RF modules. However, the modules did present a number of problems and I decided to go a bit more expensive. I invested in the Linx setup (linxtechnologies.com). That ended up much better.

I plopped down the $300 for the demo boards (which included two transmitters and two receivers) and a few days later I got the above equipment in the mail. The demo boards are quite necessary for someone like me - I actually am glad I was forced to buy them. To start off, I set up a data exchange between the PC and the robot (one way) using just the demo boards. The receive demo board went on the 'bot and, after getting my protocols right, I put the robot on the floor in my basement electronics/computer room (read that - Fibber McGee's closet) and navigated it through the maze of junk that keeps collecting in the place - out the door, down the hall, back to the room and to my chair. Three curious Golden Retrievers followed it back into the room. I just hooked the PC up to the transmitter board, hooked the receiver board onto the top of the 'bot and ran the output to a Basic Stamp. The Stamp interpreted the PC commands (using the SERIN command) and relayed the commands to the motor controller (see previous html page). Fairly straight forwards.

OBTW: I am not an expert at RF (far from it) - so I'll say again - the Demo boards helped a lot. The instructions from Linx are very good and have many valuable hints. I used them all! Also, if I hadn't had the demo boards, I would have probably screwed this up - the demo boards convinced me that the modules worked and worked well. It was really convenient a couple of times (right after I thought I might have smoked the Rx/Tx modules) to plug in the demo boards and verify that all the RF stuff worked.


First 'Bot Side Hookup Experiment



For the above shot, I decided to do everything wrong and still see if it worked. I plugged a receiver into a solderless bread board beside the BS2 that was decoding the output, just on top of a 12 volt gel cell, just to the left of the umbilical cable to the lower deck, stuck a piece of copper wire about 1/2 wavelength long on the antenna pin track, no ground plane. (note: all the previous are no-nos when using these receivers). It worked also. .... It still worked. Totally kewl. Note that the Stamp is in very close proximity to the Receiver. This really nailed me later on when I started using noisier MCUs. I had to move the microcontrollers away from the Linx gear.


PC Relay Unit


Early on I discovered that to make a dual transmitter and receiver it was going to have to be half duplex (both the 'bot and the PC could talk, but only one at a time). That meant that I would have to set up some sort of RF relay unit that attached to the PC. I couldn't find a good way to turn the Transmitters/Receivers on/off with just a vanilla PC hookup. The picture above is what I came up with. Essentially, it is a PIC 16F84 that takes the PC input and relays it through the Transmitter. It then turns the transmitter off and waits for acknowledgement from the 'bot. It relays the ACK back to the PC.

See where the 16F84 is? That's because it screws up the transmitter (and receiver) when it is too close. Also, I couldn't get a 10 MHZ version to work at all. I had to drop to 4 MHZ to get it all to work in this small of a package. The 10 MHZ version of the 16F84 was just generating too many harmonics. It took a while to figure all this out (groan!).


Completed Prototype on SSC2 Robot


Here is a more functional prototype with both receiver and transmitter on board. The antennas were a problem. 1/4 wave length did not work for the transmitter. I had to use half wave length. However, once I stumbled onto that, the whole thing started working well. The aluminum tower is also used as a ground shield from the 16F84 controller which can just be seen on the back of the tower.