Finally got round to getting some time to work on a uav, decided to start with a tricopter as it should be the easiest to work on indoors for now. Initial plan was to go with a couple of boarduinos or an atmega but stumbled across the netduino which is an open source board and software for the framework, and its available in the uk for around £24 which is a bargain considering its running on a 32 bit arm microcontroller and at 48mhz should give about 40mips so plenty of processing power. Given that I code in C# daily I'm going with the netduino (come pay day next month!)

The advantages seem to be:
Plenty of cpu power
Plenty of ram (70k)
Real time debugging
.net - and all its benefits, e.g. Threading, ease of coding, event handlers
All open source
Somewhat compatible with arduino shields (though won't be using any)
Plenty of digital inputs and two serial

The disadvantages seem to be:
Not realtime - though is this a disadvantage I'm not sure it is?
Only 4 PWM (should be okay, but maybe need to add in a driver)
Hard to design a custom board later on (100 pin package on the chip!)
Not as many analog inputs (only 6)
Only 128kb left for code (rest is taken up by .net micro and netduino code) - same as atmega though.
No existing uav code to base code on

Just installed the netduino sdk and got my class structure set up and starting coding the main thread for managing all the processes....

Views: 1707

Comment by Patrice Mainville on August 20, 2010 at 1:46pm
gona give the netduino also a try for a quad copter

another desavantage is no EEPROM! and I haven seen the only 4 PWM! Hope that will be enough since I want to do more but steel, Have to make it fly before with arduino nano !
Comment by Leon on August 22, 2010 at 4:13am
Hello! I am also working on a UAV that uses .Net Microframework. Take a look here:

I think that such a hardware is OK only for naturally stable UAV, like my coaxial helicopter, or for planes. Not for multi-rotor UAV.

Multi rotor UAV are unstable, and need a fast control. Most of multi-rotor UAV use at least 200Hz control loop. On the hardware that I use (GHI Embedded Master), Input/Output access are quite slow, and I think that it will be difficult to stabilize a multi-rotor UAV with it. Difficult to achieve 200Hz control loop.

Comment by Roy Morgan on August 22, 2010 at 11:23am
Hi Leon, I can see why that could cause problems if the input/output are slow, however I'm not sure what they are like on the netduino (not getting the hardware till next month). I'm just coding using the emulator at the moment and to ensure a fast control loop I'm using threading with different priorities (one thread for sensor input, one for the motors, one for communication, and the main one), and passing values between the threads with singletons. So hopefully the main controlling loop should run quickly, my only concern as you say is if the inputs are slow the balance might be sluggish to correct won't know though till I try it on the actual platform. Worst case scenario I'll have to use two netduino's and share the work between them (still cheaper than an atmega - at least in the UK) and easier for me to code in. I'll post some code when I've actually got it running on the netduino rather than the emulator and can be sure it works.


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

Join DIY Drones

© 2018   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service