At the heart of the system is a PVR board, designed and constructed by PVR. This board contains an ATXMEGA128. This board provides all the necessary controller functions for the board including: servo control, UART for the webcam, ADC for the sensors, and I/O functions such as for the artillery. The following is a rough block diagram of the system:
Abstract
Introduction
Integrated Systems
Mobile Platform
Actuation
Sensors
Behaviors
Layouts
Results
Conclusion
Documentation
Appendices
Weekly Reports
The controller as mentioned above will be Atmel's XMEGA128A1. The controller board used was designed and constructed by Pridgen Vermeer Robotics (PVR). It was decided for the sake of time not to design my own controller board as it didn't seem it would save much money, and in addition would save a lot of headaches. Below is a picture of the board:
The board comes equipped with:
The schematics for these headers as well as the other systems described belowcan be found on the Layouts page of this website. In addition to these systems there are alternate functions for most of the available Ports, such as additional ADC channels and additional options for serial communication. All in all this is an outstanding board and so far I'm very pleased with it.
The UART lines make for easy communication with the CMUcam which controls the gun targeting and retrieves environmental information. The CMUcam in turn controls the pan of the gun platform in addition to providing a tracking signal to notify the microcontroller when target is in sight.
The PWM channels are great for controlling servos in addition to DC motor lines. The PWM voltage supplies are also great for allowing easy access to 5V supplies for peripherals even if they don't have anything to do with the PWM system itself. For example, I'll be using the 5V supply from PWMC bank for the airsoft gun.
The ADC channel is great for sensors such as CdS cells and IR, as well as SONAR if it can be used. I also plan on using it for water detection and perhaps gyro/compass if I'm able to implement that.
The I/O is great for sending signals for pseudo-interupts, such as with bump switches. In addition it will be used to send motor state information to the DC motors. For example the chassis motor drivers require a 2-bit signal for each motor to tell it which mode the motor is in (1) forward (2) reverse (3) brake. It will also be used to send the STBY signal turning the motor drivers on and off. It will also be used to send switching signals to my transistor/MOSFET switches such as with the airsoft gun.