| HomeRobotics | HomeAutomation | Racing | 1/24 Models | Mustang | Family | PaPa |

ProtoBot v2

Chassis | Drive System | Brains | Sensors | Electronics

Overview

Note that this is 'Version 2' of the ProtoBot. Having left the bot sitting for a long time, I am motivated as of early 2001 to play with it again. Memory serves me well of the hassles of using the old cover (see the OLD ProtoBot) and this version will not have a cover or at least not one that is so difficult to get on and off :-). The bot is based on a simple chassis, an old BotBoard I CPU and some standard technologies that are readily available on the net. No ground breaking items here, hopefully just some good ol', simple personal robot fun.

Last Update:11/25/02

Notice:
Many (if not all) of the things I am doing here are
old concepts and can be found on the net such as;

Seattle Robotics Society's
Standard Technologies Page
written by Kevin Ross

The Rossum Project
Open Source Robotics

Chassis

The basic chassis actually is an old project case top that has been inverted. The material is thin gage steel, reasonably light and what I happened upon in the junk box that I thought I could use without a lot of fabrication. I liked the ability to mount the servos for the drive system up against both the front and bottom of the chassis which makes for a better attachment. Additionally the bot has a low (but wider) stance providing more stability. The 'wider' portion, however, will possibly make it more difficult to maneuver in tight areas.

ProtoBot v2 has a drag tail made from a rounded cabinet pull (I pulled the tail wheel show in the photos since it tended to change the robot's course when turning) mounted in the rear center of the chassis. Two battery packs are used to isolate the servos from the CPU power and are located in the middle of the chassis between the wheels and behind the front IR sensor board. One is a 6.25v Radio Control car ni-cad pack for driving the servos and the other is a 5V ni-cad pack to drive the onboard electronics.

ProtoBot-1_small.JPG (4744 bytes)
Base chassis

Drive System

Two Servo Ports - Modified RC servos have been used as the primary drive. I decided to mount the larger RC truck tires primarily because I happened to have them and I could mount the wheels straight onto the servo output shafts. I also like the option that I can put the street tires on, the pins, or the tractor tires depending on my mood. [:-) Yes a bot that is used indoors does not NEED truck tires but I have them, they fit and who knows I might let ProtoBot roam the back yard someday.

Dead Reckoning - Note I have added two wheel encoder disks that will be used for dead-reckoning navigation in the future. IR sensors will be mounted on the servos and fed to the CPU for processing. If anybody has any code in SBasic for dead reckoning I'd really appreciate it since there are no trig functions available.

990222-04.JPG (99169 bytes)
Overview of the parts.. GB is in the back


Left Rear View
The left switch is the master power switch
The right one is a bypass for the servo power
This allows bench testing without wheels turning all the time

 

Brains

BotBoard-1 - The (beginning) brains for the ProtoBot is an old 68HC11 based BotBoard-1 that I have had for some time. The board originally had the "A" chip with 512 BYTES of EEPROM and I could never program well enough in machine language to make it do more that flash an LED or spin one servo... SO, I replaced that chip with a newer one with 2K of EEPROM and plan on programming the whole thing in SBasic. I have coded in Basic, QuickBasic, VisualBasic, VBScript and more so I'm hoping I can learn SBasic rather quickly.

The basic plan for the use of the I/O items on the BotBoard is below. Those with a (F) are future items.

Port A - Servos

  • PA0 -
  • PA1 - 
  • PA2 -
  • PA3 - (Future Servo)
  • PA4 - MotorLeft
  • PA5 - MotorRight
  • PA6 - 
  • PA7 - 

Port B - Digital Outputs

  • PB0 - SpeechLowByte (F)
  • PB1 - SpeechHighByte (F)
  • PB2 - SpeechControl1 (F)
  • PB3 - SpeechControl2 (F)
  • PB4 - 
  • PB5 - 
  • PB6 - IRFrontOutLeft
  • PB7 - IRFrontOutRight

Port C - Digital Inputs

  • PC0 - IRFrontHit
  • PC1 - IRBackHit (F)
  • PC2 - MotoLeftTic (F)
  • PC3 - MotorRightTic (F)
  • PC4 - Compass_N (F)
  • PC5 - Compass E (F)
  • PC6 - Compass S (F)
  • PC7 - Compass W (F)

Port E - Analog Inputs

  • PE0 - EyeLeft
  • PE1 - EyeRight
  • PE2 - EarLeft (F)
  • PE3 - EarRight (F)
  • PE4 - 
  • PE5 - 
  • PE6 - 
  • PE7 - 
 

S_botbrd.jpg (13856 bytes)
Stolen pic of a BOTBoard

Sensors

Infrared (One Digital Input, Two Digital Outputs)
The primary front object detection sensor is a simple IR unit using a Sharp GP1U5 detector and home built IR modulator based on Kevin Ross' standard technologies. I plan on using two sensors (one facing front and one back) to allow front and rear detection. Two digital outputs are used to control which IR LED is firing to allows sensing between front, left or center detections.

Light Sensors (Two A/D Inputs)
After the base is working and the front looking IR is coded, I will add two light sensors for light detection. They will be mounted on the front of the robot and canted at an angle to each other to allow light directional sensing. 

Sound (Two A/D Inputs)
I would like to implement some type of A/D sound sensors using mics and averaged sound. Mostly just to try and track a constant loud noise or something but also with some front end filter to allow mode control via a sound of some type.

Compass (Four digital Inputs)
To provide some ability for navigation, I plan on using a Dinsmore 1490 digital compass on ProtoBot. A good idea on implementing this compass on a bot can be found on Arrick Robotics site at http://www.robotics.com/arobot/compass.html . The compass uses four digital outputs to determine N, S, E, or W of which any can be active providing up to eight (8) directional inputs (N, NE, E, SE, S, SW, W, NW). Although a Vector 2X compass would provide more precision, it is more expensive and more complicated to setup and use.

990301-1.jpg (37784 bytes)
Completed IR Detector based on P.A.R.T.S Infrared Object Detection


Front View - Shows the IR Sensor (middle), the two IR LEDs in the upper right and left and the IR hit LED in the middle.

990301-4.jpg (63178 bytes)
IR Mounted for Testing - 02/28/99

Electronics

Voice output (Four digital control lines)
Update 12/21/99 - I have a hand full of the old SPO256-AL2 speech chips and have finally decided to try and implement one of them into ProtoBot. This will provide Text-to-Speech abilities adding some personality to the bot. A great article on how to implement the SPO256 chip using a BASIC Stamp 1 or 2 can be found at TheOne's Robotics page at http://www.TheOneSpot.com/Robotics/Projects_Speech.htm. Although the code is specific to a Stamp, it should be rather straight forward to cut over to a 68HC11 using SBasic. The nice point about his setup is the number of required bits is dropped down to four (4) instead of 8 or more. The speaker is already installed in the body on top.

Radio Link (Serial Output)
02/20/2001 - I have in hand and am in the process of implementing a simple one-way RF link from the robot using the Rentron TWS-434 and RWS-434 modules. The link will mainly be used for telemetry information while programming the bot but can also be published on the House's web site ( http://House.Protowrxs.com ) for real time results of the bot's explorations.

Related Link: Rentron Electronics

Top View

Here you can see the two servos, front IR detection circuit, the batteries (stacked on top of each other) and the CPU board (lower right). I used a floppy disk ribbon cable in each robot to allow swapping the BotBoard around platforms without having to connect 48 header connectors. An old PC DB9 RS232 ribbon cable fits on the PORTC header also (not shown here) for easy connections.

 

Receive email when this page changes


Click Here

• Powered by Netmind •