PC300/PC319 Final Project - Altera Board Bot

Date Last Modified: 2001-12-02

Group: Bryan Wooddisse and Dave Cheeseman


Original Specification:

The robot can move forward, reverse, and rotate in place. Two servos are used as drive motors. The Altera board is programmed to act as the controller

Changes to Specification:

The final draft of our bot had all of the functionality of the original specification, being able to move forward and backward as well as turn left and right in place. Functionality was added to enable the bot to make sweeping turns, moving forward and left simultaneously, as well as forward and right, backwards and left and backwards and right. The bot was given the ability to change between three gears, slow, medium, and fast. Pressing the gear up button would make the bot go to a higher speed up to the fastest. The gear down button would make the bot slow down to the slowest speed.

Functionality beyond the movement of the bot was added such as a horn. The bot was also programmed to play the intro to the song Smoke On The Water by Deep Purple. A light was also added to the framework of our bot.

Our original plan included the use a keyboard to control the bot. When in synchronization arose. It was decided that within the time constraints of the problem we would have to come up with an alternative means of control. It was decided that a keypad would be a viable solution as far as ease of implementation as well as a very user friendly control method.


Technical Background:

Servos have a drive wheel that is controlled by a coded signal. The width of the active pulse varies. Specifically the widths were 1 and 2 milliseconds. The pulses are sent every 20 milliseconds for the fastest speed. Varying this length will vary the speed of rotation. If a 1 millisecond pulse is sent, the servo rotates clockwise. If the 2 millisecond pulse is sent, the servo rotates counterclockwise. This information was the basis for the clock division logic described in the Design section.


Design:

The following are links to the key VHDL and Max PlusII graphic files used to program the Altera Flex chip:

Clock Division VHDL
Motor Logic Graphic File
Speed Stepper VHDL
Transmission Logic Graphic File
Finished Robot Graphic File

Final Robot:

One of the largest obstacles of this project was attempting to interface the keyboard with the bot. This obstacle would have taken the project well past the due date. The second major obstacle encountered was finding out that the plastic parts of the wheels and servos wore out rather easily. This caused the wheels to waver as they spun which comprimised the accuracy of the steering of the bot.