ME507 Airheads Project v1.1.0
Flight Stabilization for Glider
Loading...
Searching...
No Matches
ME507 Airheads Glider Project

Figure 1. Glider

This repository documents the development of a flight stabilization system for a glider. To access our written report for this project, click here.

Background

This is a term project for Cal Poly's ME507 class. The scope of our project consists of:

  • Background/Research and Identifying Specifications
  • Hardware Design
  • Custom PCB Design
  • Software Design
  • Internet of Things Implementation
  • Proper Documentation

Hardware Design

To make this project more challenging and more fitting for ME507, we decided to use micro servo body DC motors instead of servos. To implement some form of feedback for the position of the motors, a motor mount was designed to couple a potentiometer to the shaft of the motor.

Figure 2. Custom Motor Bracket

Custom PCB Design

Our custom PCB is designed to fit on an ESP32 feather board.

Figure 3. Custom PCB Design

The board supports:

Software Design

The software includes the following tasks:

  • PID Flight Controller
  • Ultrasonic Sensor
  • Elevator Motor
  • Rudder Motor
  • Webserver
  • IMU

The tasks are organized as shown below in the task diagram.

Figure 4. Task Diagram

Our controller task is structured as a finite state machine with three states.

Figure 5. Finite State Machine

Every task runs "simultaneously" though cooperative multitasking with FreeRTOS.

Internet of Things (IoT)

To implement the IoT, the ESP32's Wi-Fi module is used to host webpage where the user can interact with the flight control system.

Figure 6. Webpage Control Panel

Through the webpage, we have the capability to activate, deactivate, and calibrate the flight control system. With more time, we would like to enable our program to support GET or POST requests to accept the user's typed input. This way we can seamlessly update our PID gains without recompiling and uploading our program for each iteration.

Documentation and Report

For full documentation of our code, please visit here. Our written report for this project can be accessed here.