Quadrotor Flight computer FLCv2p0

3689502906?profile=original

This is my first post in DIY Drones. I would like to share with the comunity my last work related to UAVs. I'm currently working on my thesis for graduation as an electronic engineering at the University of Buenos Aires. My thesis is based on a embedded control system and in this post I'm presenting the Flight computer that holds the control algorithms. 

My thesis is more an academic research than a hardware/software project, but I decided to do my own powerful board to test it. 

Above is the FLCv2p0 (Flight computer v2.0). The first version was a homemade attempt and now this is the new version

These are the details of the board:

  • LPC1769 Cortex M3 @ 120 Mhz microprocessor wtih 512KB of flash and 64 KB of RAM
  • Two side PCB board with mounting holes (almost) compatible with DJI Flamewheel frame
  • 4 intefaces for arms: this is a ESC output and a multipourpouse input output conector with servo pinout that serves as output or input in digital, analog, or Timer capture mode for measuring frecuencies and periods (ideal for tachometers)
  • 2 other arm interface without connector for 2 extra motors
  • Two power options: USB for developing and testing and an external input (the blue one) for direct battery input. Up  to 40V can be input, then there is a stepdown high effiecncy switching regulator that regulates to 3.3v needed for all the board. There is no need for BEC (the +5V pin of the arms is unconnected cause it always cause problems and the DJI OPTO 30A that I'm using doesn't have a BEC anyway.
  • The USB port can be programmed for any USB device application
  • microSD card slot via SPI
  • Indicators: 1 led power indicator, 1 small green led for status or anything else and 4 high power sideleds for beacon and directional ligths (maybe white leds would be nice)
  • Sensors:  The is a I2C network on the board with: MPU6050 Accelerometer and gyroscope with data fusion integrated, HMC5883 magnetometer (slave to the MPU but could be bypassed), BMP085 Barometer (can be used as an altimeter), LM60 temperature sensor, 128KB EEPROM for configuration saving, 
  • Xbee Radio: is it possible to fit an Xbee standard on PRO
  • Programming: could be made via JTAG or with the built in serial bootloader via Radio (slower but very useful)
  • SPI, I2C and UART headers for external devices, sensors, etc.
  • Real time clock with calendar (implemented by the LPC1769 but there is an external crystal for clocking)

About the firmware:

I'm currently working on my thesis firmware and the simulator (on MATLAB). Cause it is not ready at all I would prefer not to publish it yet. But, I wrote a small tester firmware for all the devices that will give you an example on how to use  them, and also have a very small "template" for starting. The board is perfectly capable of running FreeRTOS (which I'm using extensively) and the IDE I'm using is the LPCXpresso Free IDE (128KB flash limit now).

Some videos:

First flight: https://www.youtube.com/watch?v=YBPmafMSqKM it is a little buggy, it was my first ever flight of a RC thing (be gently :) ) and was only fliying with Gyros so no attitude controlling was made.

MPU Motion fusion testing: https://www.youtube.com/watch?v=vLnvzxnk2og

And some pictures:

http://www.flickr.com/photos/akharsa/sets/72157632740777181/

Ground station:

My ground station is now a xbee via USB and a PS3 joystick via bluetooth. The GS is not something I'm proud of it yet but is getting into shape slowly.

My idea now is to publish the schematics of the board open to everyone, and even the PCB files. Maybe later the firmware when I have a stable version (of course the small templates will be on github soon). I'm not wondering to be the responsible for quadrotors breaking (I broke my yesterday . I'm also thinking in selling this board already assembled (in china where I manufactured the PCBs) to easy the people acces to this board. I'm not sure if it is a great idea yet.

Currently the board is not intended for people looking for a Ready To Flight option, exactly the opposite  But I'm sure that there are people out there that make use of this kind of stuff (Arduino for example :D) and I would like to share my work with them as they do with me.

Thank you!!

Alan

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones

Comments

  • Hey! Thank you everyone,

    I'm working on the documentation and on a little website for holding all the information, I will publish them very soon. Maybe next week.

    Regarding the  LPC, this is a very powerfull and cheap microcontroller. It has a lot of potential. We were using this chip for the last 3 years or so for teaching at the university and result in a very good platform. Also the LPCXpresso platform is a really cheap and simple to use alternative. 

  • Looks great.

    Nice to see a LPC solution beside all the STM32 stuff  :)

  • Hola! me sorprendió y alegró mucho el desarrollo tan pulido de alguien de acá de la UBA. Te comento que yo soy de la Facultad de Exactas y mi doctorado se trata de navegación basada en visión en UAVs. En el laboratorio trabajamos con el Parrot AR.Drone pero hay ideas de eventualmente desarrollar un UAV más acorde a investigación. Sigo bastante esta comunidad y conozco los desarrollos como el PX4, pero me encantaría si se pudiera hacer un trabajo conjunto con gente de acá y más aún, desarrollando este tipo de hardware localmente.

    Te agradecería (si tenés interés) si te contactás conmigo y quizás podemos hablar un poco más del tema. Como mínimo estaría bueno establecer un contacto. 

    Si querés podemos continuar la conversación por mensaje privado por la página y te paso mi mail (no lo dejo acá para no recibir spam).

    Saludos!

This reply was deleted.