Kart
|
The Kart module is a Summer School module for students at the end of the first year. It's a home-made car remotely controlled by a smartphone.
The work of the students can be summarized in three main tasks:
- design and build the chassis
- configure the controlling FPGA
- complete and extend the GUI on the smartphone
System Architecture
The kart is controlled by a smartPhone via BlueTooth.
A BlueTooth receiver on the kart control board communicates via an RS232 serial link with the control board FPGA.
In the new version, the control is distributed over several boards connected via I2C:
- An I2C master received RS232 controls, stores them into a set of registers and dispatches them at a regular pace on the I2C. The master also reads data values from the I2C, stores them into a second set of registers and sends the corresponding information at a regular rate to the RS232.
- A DC motor controller receives speed information and builds a PWM and a direction control.
- A stepper motor controller receives the desired angle and builds the coil controls signals.
BlueTooth communication
A BlueTooth communication transfers serial port data. A receiver chip creates the RS232 signals for the FPGA. The protocol defines how the registers are accessed.
The FPGA receives following controls:
- the propulsion DC motor speed and direction
- the steering stepper motor target angle and step period
- two LEDs
The FPGA sends following information back:
- the battery level
- the actual steering angle
- the distance sensor data
- the hall sensor status
Sensors
Board connectors
The FPGA board has following connections:
- a 26 pin Header connector
- a 9 pole DSub connector for RS232
- the FPGA JTAG programming connector
- the PIC RJ11 programming connector
Boards
For special designs, some boards have larger FPGAs:
- Board 29 has a AGL125V5
- Board 30 has a AGL250V5
Within the Actel Project manager, the settings of the FPGA have to be changed: in Project Manager
, change FPGA type in Project -> Settings -> Device -> Die
.
For the AGL250V5, pin 46 associated to jtagIo[3]
is not available.
Edit the motorControl.pdc
constraints file and change the jtagIo[3]
constraint to pin 43.
Getting started
In order to start the projects you should do the following:
- Read carefully the specifications above
- Consulte the guide for the first steps
Additional Information
Additional informations for collaborators