Cursor
|
The cursor project is an ElN project done at the end of the first semester. It consists in driving a DC motor which moves the cursor chariot with the help of a screw.
Specification
Function
The basic specification is the following one:
- When restart button is pressed, the cursor moves to the start position given by a Hall sensor close to the DC motor.
- When pos 1 button is pressed, the cursor has to accelerate towards position 1, advance with full speed, decelerate and stop at position 1, be it from the start position or from position 2.
- When pos 2 button is pressed, the cursor has to accelerate towards position 2, advance with full speed, decelerate and stop at position 2.
The acceleration and deceleration ramps are a function of the position and not of the time. Indeed, it would be very difficult to know when to start decelerating to reach one of the positions if the deceleration was based on the time instead of the position. The slope of the ramp has to be chosen such as the acceleration and deceleration distances are in the order of magnitude of 1 cm.
The positions to reach are:
- position 1 = 8 cm
- position 2 = 12 cm
Circuit
The circuit controls a DC motor which drives a chariot.
The circuit works as follows:
- The DC motor is controlled by three signals
motorOn
,side1
,side2
. Its speed is controlled by a PWM-modulation. - There are two Hall-Senors at the ends of the rail, which detect the presence of the cursor chariot (
sensor1
,sensor2
). - The Encoder Module is used to count the position of the cursor chariot. Its three encoder outputs,
encoderA
,encoderB
andencoderI
, allow to follow the angle of the screw. - Three Buttons are used to control the system:
restart
,go1
andgo2
. An additional button,button4
, can be used for optional functionality. - The
testOut
pins can be used to output additional information from the system, e.g. for debug or in order to drive the LEDs
The Empty Toplevel Design shows all the signals connected to the FPGA board.
Components
The system consists of:
- a chariot assembly holding an electronic board driving the motor and reading the sensors
- an FPGA prototyping board
- a control board with 4 buttons and 8 LEDs
Motor control circuit
The chariot DC motor is powered with 12 V. The power board contains an H-bridge controlled by digital signals. On the power board, a 5 V regulator generates the proper voltage for powering the FPGA board.
DC motor
The DC motor is controlled by a L6207 H-bridge driver.
Encoder
The angle of the screw can be measured with the help of an incremental rotary encoder. The model used on the assembly is a AEDB-9140-A12 which has 500 Counts Per Revolution (CPR).
Hall sensors
The hall sensor is a switch which is working with the hall effect. If a magnet is close to the sensor, the contact closes. On the assembly, 2 hall sensors are used to identify the left and right limits of the chariot.
FPGA board
The main board is the school's FPGA-EBS lab development board. It hosts a Xilinx Spartan xc3s500e FPGA and features many different interfaces (serial, USB, Ethernet, …).
Buttons and LEDs
The Buttons and Leds board is to be attached to the FPGA board. It has 4 buttons and 8 leds which can be used in the design.
Evaluation
The evaluation of the project is done with the help of the ELN evaluation sheet.
Getting started
In order to start the projects you should do the following:
- Read carefully the specifications above
- Draw the architecture of the circuit in the form of a block diagram
- Consult the guides for the first steps into the design software
The EDA tools cheatsheet can be a great help for the circuit design and synthesis.
Additional Information
- Survival guide
- Board combinations
- Additional informations for collaborators