A new controller for QuadroCopter

2015-08-17 16.16.25

Some time ago I have presented my new design a mini QuadroCopter. This new design required a controller but tailored to the size of the mini UAV.

The flight controller as the previous one has the same microcontroller STM32F103RET6. This MCU has a Cortex-M3 core, 512kB of Flash and 64kB of RAM. It is capable of driving up to 8 motors which basically allows to control an octocopter. Also it is able to read signal from up to 8 channels. This versatility allows to not only control the UAV itself but also for example a camera on a gimbal.

In the figure below I have presented the controller with the highlights of the systems:

2015-08-17 16.17.05_flight_controller_description

Quick summary of the flight controller:

  • ARM Cortex-M3 based MCU,
  • 8 independent PWM channels for motors,
  • 8 input channels from RC receiver,
  • IMU connector with I2C,
  • additional I2C connector,
  • CAN interface,
  • GPS interface,
  • Bluetooth interface,
  • micro SD card interface,
  • 2 push buttons for user input,
  • 4 LED for signalization,
  • battery status.

Beside the described hardware it is running on FreeRTOS using the ST HAL drivers. Using the FreeRTOS instead of a custom operating system gives a lot of advantages. The maintenance of the tasks is a lot easier. It allows the designer to take precise control over the timings and the dependencies between tasks. The last but not the least is the pre-emption which comes really handy.

Below there are photos of two such flight controllers showing it from different perspective.

2015-08-17 16.16.18  2015-08-17 16.16.30 2015-08-17 16.16.37 2015-08-17 16.16.45 2015-08-17 16.16.52 2015-08-17 16.17.00 2015-08-17 16.17.05 2015-08-17 16.17.13 2015-08-17 16.17.19 2015-08-17 16.17.32 2015-08-17 16.17.37

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.