Hello everyone!
Just got my board manufactured a few weeks ago, so it's time to post a little description of my ongoing project here, so this is it:

Here is what's embedded onboard:

Processing elements:
- CPU: Microchip dsPIC33F256 at 40Mhz, allowing a processing power of 40MIPS and with 12bit resolution ADC for better accuracy in measuring the values of analog sensors.
- FPGA: Will take care of converting PWM data from receiver (12 channels supported) and reencode PWM data to servos (12 channels). This way the board is able to support any receiver available, including thoses using PCM encoding.

Sensors:
- 3 axis accelerometer with 4 sensitivity scale (from Freescale)
- 1 axis gyro on the Z axis, with a 150°/s max sensitivity, and integrated temperature sensor
- 2 axis geomagnetic compas
- Barometric pressure sensor
- 2 hall effect sensor, for rotor ans motor RPM monitoring
- Thermocouple, for engine temp. sensing
- Electric field imaging device with 3 antennas (one for monitoring fuel level)
- Ultrasonic range finder, up to 8 meter (driven by the FPGA)
- 12 channels WAAS GPS receiver, outputing NMEA or proprietary 5Hz protocol

Communication:
- Embedded audio/video transmitter with 2km range
- Modem (integrated in FPGA) for sending live flight data to ground on the audio channel of the transmitter
- Orders can be sent by dedicating one of the remote control channel

Imaging:
- An embedded sony 7.2Mpix still digital camera with video mode. All controls (zoom, focus, shooting mode, trigger) are operated remotely
- Tilt rig from 0 to 90°, for pointing the camera remotely

Misc:
- An embedded 4 elements LiPO battery charger, and intelligent battery fuel gauge embedded in the battery pack
- Pushbuttons, buzzer and LEDs
- Serial port for ground debug

The board is still in testing stage, and most of the passive components need to be ordered, but it is comming. The real challenge will come with programming!

On this aspect, I have only 4DOF on the inertial unit...
this raise the same questions that Harrison Jones have in his dual axis accelerometer project, as far as how much will be enough for hovering. I still have an easy way to upgrade my board to 6DOF if I need it but I would rather avoid it if possible.

I understand that gyro on the yaw axis is absolutely mandatory to keep the heading (plus the compas will help), but any displacement of the helicopter should generate an acceleration. I understand then that there's lot of issues as to what created the acceleration and how to process it, as well as drift due to noise and the minute measurements necessary. However, I don't understand how gyros can help if the helicopter is in constant velocity translation: the accelerometer won't register the displacement of course, but the gyros shouldn't as well as there's no angular velocity involved in translation.

Tags: Pro

Views: 498

Reply to This

Replies to This Discussion

That has got to be the grand daddy of all diy uav boards! Very nice!

Any ideas how one of these would perform?:
http://www.mil-embedded.com/products/search/fm/id/?20583

Wouldn't mind bouncing a few questions regarding digital circuit design if you have the time?

Howz the software coming along? Do you use verilog or vhdl for the fpga?
If U can fit 3 FOG gyros into a raptor 30 & make it affordable enough for private individuals, China will be your oyster.
very nice project . as far as gyros and accelerometers go , even at a constant speed your going to get some change in translation velocity due to changes in variables such as wind speed , direction , centrifical forces and engine vibration most of these "false" acceleration reading (not gravity) can be filtered out, a simple way to do this is rc filters and in the algorithm take a bunch of samples and run a average over the course of a second or so . you then can use this data to re-bias the gyros
Hi all,
Software is not going on... I got caught up by a lot of work and just didn't had the time to do anything. I am also still waiting for the missing components (but they just got shipped so they are comming!). I hope to get some time in the following weeks to work on it.

However, I had good discussion with Adam Williams from Vicacopter.com. It seems that he got very good results from his latest implementation of his code, but it does require a lot of floating point calculations to work. This would definately outperform the dsPIC I choosed for my board. There is still a slight chance, it appears that top of the line GPS modules such as the uBlox 5 can remove the need for the calculation intensive artificial intelligence algorithms.

I'm also in contact with Stefan strobl from Autonomousheli.com, and we discussed about an unified hardware platform. The project may evolve to a dedicated embedded computer system (using a very fast DSP like the BF561 - dual core 600Mhz Blackfin, or more probably an embedded PowerPC such as the MPC8313, running linux). This would make possible to run linux onboard, use standard intefaces (USB, PCI) as well as standard network (ethernet, wifi via mini pci card...).

If you are interested, don't hesitate to discuss about it!
I was going to ask where one would start when designing a "Single Board Computer"....as in a good book that leads by example.

I know unix and C etc, can follow simple curcuits (ucd class-d amplifier) so was thinking about an SBC project for my UAV.....but lack the electronics experience.

I'm still planning to have a go but for now I'll accept playing with "beagleboard" and see if I can remove unwanted parts and add other parts, build "fedora arm" tool chain etc. I like the idea of an SDIO wifi (rather then bluetooth) ...which is probably what you mean by mini pci wifi ?

When electronics people design boards like the beagleboard....do they use programs like eagle and manually draw all the tracks connecting the pins or do they configure a "netlist" and use "auto routing" software?
The simplest way is to choose a target processor and look at the manufacturer website for documentation. Very often there's abundant datasheet with sometime, even application boards + schematics. From this basis it is not overly hard to wire components to each others. Embedded CPU's are usually self contained and requite minimal external components.

However the success of the project relies on a well designed PCB because of the running speed. As you have guessed people uses CAD software such as eagle (but more advanced ones exists, like Altium designer, etc.). Autorouting is usually excessively bad if not carefully controlled. There's a lot of rules to follow...

However, I like to draw all my boards 100% by hand using Illustrator. Maybe I'm nuts, but I can manipulate every single placement and traces as I want.

The beagleboard looks very sweet, thanks for pointing that out! It seems to be quite cheap as well, but they are out of stock right now. I will check more in details what it has to offer, maybe I will quit the idea of designing a board if it can do the job.

If I do, I think I will settle on Freescale MPC8313E. Fast enough with FPU, It does have support for dual gigabit ethernet, USB2, PCI (and thus MiniPCI cards from laptops to add WiFi), DDR2 SDRAM, NAND Flash, SPI, I2C and UART. There's also a precompiled version of Linux from freescale, and the assembled developpement board costs only $299 (but it is in a mini ITX form factor, too big for an UAV).
Another option could be the beagle board (http://beagleboard.org/)

http://www.linuxdevices.com/news/NS5852740920.html

I don't know when the guy; Jason's planning to ship the boards. They'll sell for about $149 when they ship. There are some ports and headers already on the board, like USB OTG, USB 2.0 host port, Serial, Audio and S-video. There's a pic on the website. The small size looks promising too. Are you planning to sell ready-made boards or will your project be open source? I really hope so. It'll be great.
Yep I've seen the beagleboard and I like it. However I think it does lack I/Os and is not the best suited for UAV use. So I'm still thinking about a PowerPC board.
The project will be open source, and hopefully will be available as pre-made boards at a fair price.
Nice! Thanks for your willingness to share your project.

I had taken a look at the spec sheet for the Freescale MPC8313E and it is pretty solid on I/O......
Are you planning to work off a dev kit? Cuz like you pointed out the mini ITX might be a little too hefty for a .30 size or even a .50 size RC Heli.

I have seen at least one other smaller dev kit based on this same CPU just can't remember where I saw it.......

Besides the DSC, your original setup's pretty impressive though. . ...

I was going to suggest designing the board around the popular gumstix sticks and then open up the choice of CPU modules via a 120-pin connector, but ....... those pxa cpus have a history of underperformance (even compared to TI DSPs) so gumstix might be not be a good choice.......

Another choice is the ICOP Tech Vortex86sx SoC CPU modules
I think the sizes are reasonable.
http://www.icoptech.com/products_category.asp?CategoryID=1
This website sells them in Euros though the prices are a little steep;
http://www.ipc2u.com/catalog/U/UM/
http://www.ipc2u.com/catalog/U/U2/

Good luck
Yes the miniITX devkit is definately not suitable, that's why I'm interested in designing a small embedded board. The idea would be to have a general purpose computer based on a MPC83xx + FPGA, and an other dedicated board stacked below it. This second board would contain all the sensors and microcontroller for UAV operation.

Regarding the ARM CPUs (and the PXA used for the gumstix), Adam used these modules for his Vicacopter, but the lack of FPU yield very poor performance for the algorithms he wrote.

The beagleboard is nice but it is also suffering from the same problem

At last, the board using the Vortex86 you are pointing seems to be interesting. At least they are quite cheap.

However I'm very interested to have a combination between a powerfull embedded CPU + FPGA on the same board. The FPGA wuld allow so much flexibility in term of hardware that could be interfaced to the board, as well as custom calculations that could be offloaded from the CPU.

As soon as we get a good lead on what the project may look like, I'll post more here for discussion :-)
Hi

I am interrested in doing the same. We have a product based on bf533 (500MHz) and an FPGA see www.cdatas.com.

Want to add video and wifi.

Paul
good

RSS

Social Networking

Contests

Season Two of the Trust Time Trial (T3) Contest has now begun. The fourth round is an accuracy round for multicopters, which requires contestants to fly a cube. The deadline is April 14th.

A list of all T3 contests is here

Advertisement

© 2013   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service