Controller Overview

Controller Overview

Components

Controller
The controller used is a Arduino platform mounted ATMega328, running at 16MHz with 16 MIPS. The platform provides 14 digital pins and 6 analogue pins, all of which can be used for input or output.  The communication is handled by digital pins 0 and 1 for TX and RX TTL Serial, I2C is also available on digital pins 4 and 5.

Communication and DC Servo
The controller communicates with the servo via RS485 on digital pins 0 and 1, with digital pin 2 controlling the direction of communication.  Because the servo utilizes serial communication and uses a onboard integrated controller, only commands and states need to be communicated.  Utilizing a pre built integrated controller saved development time and also allowed unparalleled variety of sensor feedback, for example, in addition to position and velocity feedback, temperature and error codes are provided as well.

Sensors
Wheel speed sensors used are rotary incremental encoders mounted to the front and rear wheels to provide the amount of wheel slip and also actual wheel speed.  The sensors themselves are either optical or proximity sensors working on an encoder wheel.  An accelerometer is used to both measure and set the maximum acceleration levels for vehicle.  The three axis accelerometer is calibrated on the fly for accurate measurements.

User Interface
The user interface module was acquired from DFRobotics and contains a 2x20 character LCD with a backlight, and 5 buttons for the user all on one PCB.  This module will be mounted on the driver's dash in the actual vehicle.  The module uses one analogue pin and 4 digital pins on the controller for communication and is powered by the 5v rail.

Data Acquisition
The data acquisition module uses a SD card for data storage of ASCII tab delimited characters from the sensors on board.  This module also doubles as a GPS receiver, should one be needed to track the car speed, acceleration and track location for telemetry.  The storage module itself uses 5 digital pins and allows for FAT16 filesystems.