Chip III

The Robot!

Right now this page will contain some scattered information and lots of pictures.  When I get around to it, I'll be putting in-depth information here on every aspect of my robot project.

System modules

One of the most significant design differences between Chip III and most other hobbyist robot designs is how I chose to implement the major subsystems. The whole design approach with Chip III is bottom-up, with the central processing module actually being one of the last things I'm going to implement.

All of these modules will be connected through a CAN (Controller Area Network) bus, running throughout the robot. They will also each have their own dedicated microcontroller. The goal is that systems requiring a decent amount of low-level real-time control will not be a burden on the CPU module, either in terms of needing cycle time, or in terms of code responsibility. Another advantage of this approach is ease of upgrading. The robot's hardware can evolve over time, and major systems can be swapped in and out with minimal modification to the rest of the robot. Furthermore, all these modules could theoretically be produced in quantity and reused in other robot designs.

Drive controller

The drive controller is one of the most common and seemingly standard systems in your average hobbyist robot design. It's primary functions are implemented by using a PWM control signal to operate an H-bridge circuit to provide direction and speed control of DC motors. Some more advanced versions also read feedback from an optical shaft encoder and perform closed-loop speed control. The problem is that these functions require the heavy use of the MCU's timer systems as well as some less-than-standardised PID code for closed-loop control.

My implementation begins by using a Motorola 68HC11E2 microcontroller as the I/O controller. Then, I use a pair of Agilent HCTL-1100 motion control chips for the PWM and closed-loop. While rather expensive, these chips are worth it. They take all the hassle out of the motion control problem, which is the foundation of any robot's controllable mobility.

Drive controller
This is the drive controller board, as currently built.

Below is the schematic of the hardware I have currently built. So far, it has only been tested on the workbench. The software will be written in assembler, and will be posted once complete. The current code on the board is just test code to exercise some of the functionality of the HCTL-1100 chips independently of external commands.

Schematic of drive controller
Note: This schematic mostly reflects the actual hardware that I have built. The major differences include 0.1uF bypass capacitors across most of the IC's power pins, and the H-Bridge circuitry using Infineon TLE5206 chips. The former isn't functionally relevant and thus may remain omitted. The latter will be added eventually. In addition, the wiring for the CAN chips is incomplete, and will be updated once I finish that part of the board and have the ability to test it.

Power system

At the core of any robot system is an electrical power source. Usually one simply needs a regulated 5V source for the electronics and something less specific in the 12-24V range for the motors and sometimes other systems. Normally, this is accomplished through some simple regulators, without much control. In this project, however, I have decided to build a whole dedicated controller for the task. The idea is that the power controller will have the final say as to whether the robot is functioning. It will be the only module directly switched on by the power switch.

The power needs of "Chip III" will be satisfied by multiple independently controlled 5V lines, a lower-current 12V source, and an unregulated 18V feed directly off the battery system for the drive motors.

Power controller
This is a slightly outdated photo of the power controller board.

Project Sections
Project overview
My tools and equipment
The robot!

Questions? Comments? Write me at