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: http://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: http://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

Views: 11411

Comment by v01d on February 11, 2013 at 11:44am

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!

Comment by ThomasB on February 12, 2013 at 12:31am

Looks great.

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

Comment by Alan Kharsansky on February 12, 2013 at 7:38am

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. 

Comment by Copter Richie on February 15, 2013 at 10:05am

How well does the Mag work in close proximity to the Xbee transmitter?

Comment by Andrew Helgeson on February 15, 2013 at 11:31am

this is really cool!

great work!

Comment by C. Escudero on February 15, 2013 at 1:30pm

¡Muy sorprendido! La calidad del diseño (PCB) es de gran nivel a simple vista, te felicito, yo tengo un proyecto para un UGV y no estan complicado (http://cesarescudero.me/?p=84), pero lo peor... soy de maestria! y tu de ingenieria! thumbs up!!!

Veo que usas el frame que yo tengo (F450), que motores usas y ¿qué hélices usas?

Hay muchas cosas que preguntar, pero hay un componente que salta  al vista, ¿porque usas una SD? según entiendo la nueva version del Ardupilot evito tener una por las vibraciones y errores de memoria que pueda causar un falso contacto.

Saludos desde Mexico!

Comment by Hachemi on February 16, 2013 at 5:18am

Hi Alan,

Very nice electronic concept and design :) and very nice idea for sharing an open hardware. I'm waiting all informations.

What about GPS connexion on the board ? or have you focused on another fonctionality ?

Thanks

Comment by Alan Kharsansky on February 16, 2013 at 8:38am

Hello!! Thank you for your comments. I'll try to reply everyone of you, please tell me if a miss something:

@Copter Richie:  That's a really good question. I didn't have tried it very hard. Cause I'm not using the mag for navigation right now, I didn't check for radio interference or noise problems on the mag, but I will test it and get back to you with the answer.

@Julio Cesar Escudero: Hoal Julio, que tal? muchas gracias por los comentarios. Estuve viendo tu trabajo, me encanto la terminación y el hosuing!! lo hiciste en una impresora 3D, no?? de curioso, con cual?

Como bien decias, uso el F450 para las pruebas, con los motores que vienen (2212, http://wiki.dji-innovations.com/en/index.php/Motor) y las helices más pequeñas de DJI (8 x 4.5) que son con las que hice todos mis estudios para mi trabajo universitario (caracterización del actuador). Las grandes no las probe aun por que el quad esta liviano por ahora.

No sabia lo de Ardupilot respecto a la SD y la verdad que es algo interesante para probar. Por el momento la SD me vino bien para hacer datalogging de datos de sensores aunque no estuviera en vuelo. En vuelo estoy usando telemetría en tiempo real y la SD por ahora no la probe, pero cuando la pruebe te cuento si sobrevive a las vibraciones del vuelo. Gracias por el comentario y lo voy a tener en cuenta!

@Hachemi: Thank you Hachemi, I'll publish the documentation as soon as possible. Also, about the GPS, there are SPI, I2C and UART ports available for a GPS. Because my work wasn't focused in guiadance I didn't test it with a GPS but put the UART port available in case I need it. I hope in a near future to connect one an test it.

Comment by C. Escudero on February 17, 2013 at 10:36am

Hola:

Sí, el enclosure esta hecho en la Makerbot Replicator, tuve muchos problemas al imprimir en una sola pieza (puedes ver que estan pegadas).

Suerte y me gustaria ver tu tesis cuando la tengas, saludos

Comment by Alan Kharsansky on February 17, 2013 at 1:03pm

Que lastima lo de la makerbot :(

Por supuesto Julio, cuando tenga mi tesis terminada la voy a publicar en el site tambien.

Saludos,

Alan

Comment

You need to be a member of DIY Drones to add comments!

Join DIY Drones

© 2014   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service