Kart

(Difference between revisions)
Jump to: navigation, search
(FPGA Design)
(FPGA Design)
Line 60: Line 60:
 
* the [[Kart/DC motor controller#FPGA design|DC motor controller FPGA]] has to generate the PWM and direction signals for the propulsion motor
 
* the [[Kart/DC motor controller#FPGA design|DC motor controller FPGA]] has to generate the PWM and direction signals for the propulsion motor
 
* the [[Kart/stepper motor controller#FPGA design|stepper motor controller FPGA]] has to generate the 4 phases to turn the steering wheels to the desired angle
 
* the [[Kart/stepper motor controller#FPGA design|stepper motor controller FPGA]] has to generate the 4 phases to turn the steering wheels to the desired angle
 +
* the [[Kart/sensor_board#FPGA_design|I/O control FPGA]] has to count the propulsion wheels' rotations and can count the ultrasound ranger distance.
  
 
=== Android App ===
 
=== Android App ===

Revision as of 08:06, 16 June 2015

Contents

The Kart module (214_Pr1) is a Summer School module for students between the 2nd and the 3rd semester. It is a home-made model car remotely controlled by a smartphone.

Summer School '13
Summer School '12
Summer School '09
Summer School '05
Summer School '04

Demo Kart

The work of the students can be summarized in four main tasks:

  • design and assembly of the chassis
  • analysis of the motor driver circuits (DC and stepper)
  • configuration of the controlling FPGAs
  • completion and extension of the control GUI on the smartphone

System Architecture

The kart is controlled by a smartphone via Bluetooth.

Distributed boards

A Bluetooth receiver on the kart communicates via an RS232 serial link with the FPGA control board. This board stores the control values in a set of registers and dispatches them at a regular interval on an I2C link. The master also reads data values from the slave boards, stores them into a second set of registers and sends the corresponding information at a regular pace over the RS232 with a very simple protocol.

The control is distributed over several FPGA boards connected together via I2C. These base boards each hold a slave function board:

Tasks

The programming introduction gives an overview about the structure of the software/hardware and the students' tasks. They comprise:

  • FPGA design for driving the hardware and reading the sensors
  • Android application development for the remote control

The students receive FPGA boards preprogrammed with a functional solution and androïd phones with a demo application. This allows to start the development either with the FPGA design or the Android application development.

FPGA Design

A FPGA design environment is available, based on:


View-pim-tasks.png

Download the ELN_kart.zip and unpack it to your personal drive (U:\).

Dialog-warning.png

Make sure that there is no space character in the path to ELN_kart.

With this, the following designs have to be completed:

Android App

One goal is to implement an Android application that controls and monitors the kart.

Introduction

The installable package of the (or rather a) solution can be found here: Kart.apk

Android

An introduction to Android can be found here: Android Introduction

Another sample project to learn how to create vertical seek bars: Vertical SeekBar Example

Starting point

You can download the Kart eclipse project with the basic interface here: Kart.zip

You can find the instructions how to import that archive into Eclipse in the "Programming Indtroduction" presentation...

Components

Power supply

The power supply board provides the 5 V and the 3.3 V to the other boards. This is generated from two 6 V battery packs.

The power supply board also comprises an ADC which provides the battery level.

FPGA boards

The FPGA motherboards are equipped with an AGL125 IGLOO in a VQ100 package. They hold daughterboards which drive different parts of the Kart. The motherboards are interconnected via an I2C link.

FPGA daughterboards

Existing daughterboards are:

Sensors

The sensors connected to the I/O board are:

Additional Information

Personal tools
Namespaces
Variants
Actions
Navigation
Modules / Projects
Browse
Toolbox