AME 3623: Project 4

At the end of this project, you should be able to:


Component 1: Micro-controller Circuit

In your project kit, you have one of two types of motor amplifier boards for this project: dual and single H-bridges. We will eventually be using one full H-Bridge to control each of the three lateral fans on board your hovercraft (so, you will need two boards).

Option 1: Dual H-Bridge Board

The amplifier board is composed of two full H-Bridge circuits.

The detailed documentation for the motor control board can be found on the Pololu Web site. Below is a picture of the H-Bridge board:

Motor/Power Connections

Add wires to connect the motor control board to the motor and to the battery:

H-Bridge Control Connections

Connect the H-Bridge board to your breadboard (using the 15 pin connector on the left side of the board):

Option 2: Single H-Bridge Board

This amplifier board has a single full H-Bridge circuit.

The detailed documentation for the motor control board can be found on the Pololu Web site. Below is a picture of the H-Bridge board:

Motor/Power Connections

Add wires to connect the motor control board to the motor and to the battery:

H-Bridge Control Connections

Connect the H-Bridge board to your breadboard (using the 8 pin connector on the left side of the board):


Component 2

Add the following to your loop:
// Create a task that will be executed once per 50 ms
static PeriodicAction fsm_task(50, fsm_step);

fsm_task.step();

With this implementation, you will ensure that the function fsm_task() is called once every 50ms


Component 3

Create the function interface that will generate the direction and PWM signals for each of the inputs to the motor control board.

Implement the following functions:

PWM Interface

Use the following Arduino function to set the duty cycle of a PWM pin:

analogWrite(pin, duty);
where pin is an Arduino pin index and duty is an integer value in the range 0 ... 255 (though we are limiting the allowable range for our motor).


Component 4

Implement a Finite State Machine in fsm_step() that does the following:

Finite State Machine notes:


What to Hand In

Grading

For this project, we expect:


andrewhfagg -- gmail.com

Last modified: Mon Mar 22 23:47:05 2021