Well, almost... few more things will be added in the next hardware version.

This is a project that started about 3 years ago when I began building a P-47 rc airplane. Back then I decided that if it is worth doing it is also worth overdoing, so I began working on a small on board computer that would cycle the landing gear hatch doors when as it is being retracted. Since then plane never progressed forward but the simple on-board computer did.
Here is what it looks like today:



and on the back:


What You can see there are:
- LISY300AL with IDG500 gyros
- MMA7260Q triple axis acceleration sensor
- HMC6343 3 axis magnetic sensor / tilt compensated compass and additionla 3 axis acceleration sensor
- SCP1000 pressure sensor - used for altitude estimate
- FC30TR orientation sensor - used for calibration and in-flight attitude corrections
- 4Hz 50 Channel GPS + Serantel antenna based on u-blox UBX-G5010 chip
- microSD card for data logging
- xBee for wireless uplink
- 4 optically isolated PWM rc servo channels booth for input and output with ESD protection
- SEPIC DC to DC converter - will sustain full board operation down to 1V left on the battery
- high speed I2C communication expansion port
- CAN communication port
- all controlled from a dsPIC micro

All of that on a credit card size board!

Obvious things that are missing (will be added in next version):
- airspeed sensor
- landing gear retracts air tank pressure sensor
- battery level and fuel level sensing capability (booth for electric and nitro planes)
- few more PWM channels (with intended micro change, I should be able to go up to 12 pwm output channels and 6 in!)
- floating point capable processor to speed up code execution

Currently the board was tested with slightly modified version of Ben Levitt's MatrixPilot code.

In parallel some ground work was laid down to create more sophisticated sensor fusion algorithms through an extended Kahlman filter, so far basic functionality gives pitch and roll readings (based on accelerometers and gyros) with yaw pulled from both the compass and gps. If time allows, future version will "fuse" all of the available sensors creating a robust IMU as a base for a UAV project.

Views: 3715

Comment by Faisal Shah on January 24, 2010 at 11:05am
What processor do you plan on using in the future? I am looking for a processor which has maximum native PWM capability. I haven't been able to find any processors which had that, and all the other connectivity options I would like - so I've been considering using an FPGA to take care of input/output PWM, and having a register interface between the FPGA and uC.
Comment by Radoslaw Kornicki on January 24, 2010 at 11:14am
so far I'm briefly planning with TMS320F28335 - it has up to 18 pwm output capability, 6 of those are shared with 32 bit capture inputs if I remember correctly.

Moderator
Comment by Sgt Ric on January 24, 2010 at 12:25pm
Nice work.

3D Robotics
Comment by Chris Anderson on January 24, 2010 at 12:50pm
You know that that GPS is supposed to be vertical (antenna pointed to the sky), I presume. How do fit the whole board in your plane vertically?

Developer
Comment by Pete Hollands on January 24, 2010 at 1:27pm
Is there any interference between the Xbee and the board ? (in particular, do the transmissions of the Xbee effect the output from the gyro circuits ?). We have had to be careful about that when adding Xbees onto the Red UAV DevBoards.
Comment by Jason Lyons on January 24, 2010 at 1:51pm
Does the chip antenna Xbee have enough range? Why did you not go with the wire antenna?

Developer
Comment by Jordi Muñoz on January 24, 2010 at 1:58pm
Also if you use Xbee 900mhz for basic range UAV operation, it will cause interference with the gyros (to close).

Developer
Comment by Jordi Muñoz on January 24, 2010 at 2:01pm
Everything looks fine so far, but i will suggest to use the GPS and the Xbee apart. I also suggest an airspeed sensor in order to make it "All in one". ;-)
Comment by Radoslaw Kornicki on January 24, 2010 at 2:25pm
I had no issues with none of my sensor readings when using xBee. Actually I've used it in such configuration from very beinging, I've never even hooked up this board directly to the PC serial port.
I also had no problems with getting a propper GPS lock. Of course the xBee on the picture is just for tests - final version will use different module with a wire antenna.
I think in the end the trick is that I have separated the sensor circuit (analog) portion from the digital one, they have separate voltage regulators and signal tracks are placed as far apart as possible on the board (I also use a 4 layer board - this way I could ground planes to isolate possible noise). In the early tests I had lots of noise comming from the PWM inputs and the servos themselves - optical isolation did a great job dealing with that noise.
As to the mounting in the plane - I have nice spot in the wing of the plane - no interference with cables and etc.

Developer
Comment by Pete Hollands on January 24, 2010 at 3:08pm
Interesting explanation regarding dealing with interference. Thanks.

Have you got Gyros on this board for all three axis ? (X,Y,Z).
Also, the same question for Accelerometers ? (X,Y,Z)

Comment

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

Join DIY Drones

© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service