/HellCopTaConTrollA

A real-time kernel and interrupt-driven embedded-C program for remotely accessing and controlling the state, orientation and operation of a model helicopter. ENCE361 group project at the University of Canterbury.

Primary LanguageC

ENCE361 Helicopter Rig Controller

A real-time kernel and interrupt-driven embedded-C program for remotely accessing and controlling the state, orientation and operation of a model helicopter using

  • PWM motor control
  • ADC sensor inputs
  • quadrature decoding for rotor position tracking
  • round-robin task management scheduling
  • state machine logic
  • multi-channel PID for stability control
  • UART communication
  • OLED display for real-time data
  • timer-based operations
  • de-bouncing for reliable input data
  • infrared distance sensor for obstacle detection

A model helicopter can be controlled to perform varying operations and aerial manoeuvres, such as

  • ignition, idling, vertical lift-off, hovering, landing and powering down
  • ascending and descending to any altitude within a specified ground-ceiling range
  • yaw rotating 360° to any referenced point in either clockwise or counter-clockwise direction

Authors

Instructions

Requirements

Install

Compile using Code Composer Studio (CSS) IDE with Tivaware.