Swashplate-less Helicopter

Kai-Xing Y., Logan T., Sky R., Sammy S., Eliam B.

General Project Overview

For our final Principles of Integrated Engineering class project, we built a remote-controlled helicopter that can change its pitch and roll output without the need of a swashplate.

WHAT IS A SWASHPLATE?

To understand the “why” behind the mechanics of swashplates, we first need to understand how a helicopter uses its main rotor to fly.

The main rotor provides the vertical thrust needed to overcome gravity. The propeller's velocity controls the helicopter's rate of ascent or descent. Adjusting the pitch of its blades with reference to a neutral axis will adjust its net thrust vector, which will move the helicopter forward, backward, or sideways.

When the thrust vector is angled forwards, the helicopter moves forwards. When it is angled back, the helicopter moves back.

Normal helicopters control the direction of their thrust vectors with a swashplate, a mechanical system to alter the pitch of the rotors through the full rotation. This system is mechanically complex and requires at least one additional actuator.

After seeing a Tom Stanton video in which he made a swashplateless helicopter, we were inspired to make our own.

HOW A SWASHPLATE WORKS

A swashplateless system changes the direction of its thrust vector through a control system that speeds up and slows down the rotor through its rotation. The inertia of the rotor causes it to swing forward or backwards. When mounted on an angled pivot, this swing can change the pitch angle of the rotor.

This method reduces mechanical complexity; the complexity is transferred over to the controls for the rotor system. This reduction in complexity enables smaller helicopters, which is pretty cool to think about.

PROJECT GOALS AND RESULTS

MVP: Build a swashplateless rotor system that can alter its thrust vector using a motor control algorithm and demonstrate 1-axis and 2-axis control in testing
Stretch Goal: Build and fly a helicopter with an integrated swashplateless system and tuned control software

RESULTS

Demonstration of MVP: We built a swashplateless system and demonstrated 1- and 2-axis control with a testing rig.

Demonstration of Stretch Goal: We built and flew a helicopter utilizing our swashplateless system.



As shown in the images and videos, we achieved all of our project goals. Our progress was marked by distinct phases, each culminating in a phase review. To see our progression from ideation to final product, review the phase pages in the menu. Additional information (budget, circuit schematic, etc.) is shown in the Miscellaneous section below.

MISCELLANEOUS INFORMATION

General Series of Progression

Energy and Signal Flow Diagram

Software Structure Diagram

Our firmware utilized the following libraries:
iNAV - Configures flight controller. Converts remote controller stick movements into pitch, roll, and yaw PWM signals. Allows us to view what orientation the helicopter believes it is in compared to what it actually is. Supports stable flight.
AS5600.h - Library for configuring ESP32. Extracts angle measurement from AS5600 encoder.
Arduino.h - Library for configuring ESP32. Standard Arduino library needed to run code.
DShotRMT.h - Configures ESP32. Allows for generation of DShot signals on ESP32 microcontrollers for motor control and sending throttle values
GitHub repository link to the final firmware uploaded to ESP32 and supplementary firmware used for testing.

Circuit Schematic

The circuit diagram follows the general order of data flow through the system.

The receiver is a small board responsible for communicating between the radio controller and the aircraft. It communicates with the radio bidirectionally at 900 MHz over a protocol called Crossfire. It has 4 connections to the flight controller that power it and enable connection over UART.

The flight controller is powered at 16.8V by the ground and VCC pin on the ESC. The board also shares common ground with the ESP32 in order to enable the sending of 340 Hz PWM control commands. The receiver is wired to the RX and TX pins, and the built-in BEC steps down the VCC voltage to 5V in order to power the receiver. Finally, the S1-S4 pins output the pitch, roll, and yaw commands as servo signals (1000 us-2000 us).

The ESP32 shares bidirectional power with the flight controller (the 5V pads on both boards support both input and output). During ESP32 configuration the flight controller is powered by the ESP32, and the inverse is true when operating off of battery power. The board's GPIO pins are used for reading servo and I2C data from the flight controller and outputting Dshot commands to the electronic speed controller.


Final Helicopter CAD Exploded View

Budget Spreadsheet

Please note that "unit cost" means total cost of the item (including shipping) if we had purchased it. Total cost is the actual amount each item cost us (many items were already available).