For those following this saga, version 6.1 of the AutoQuad board is complete and has passed initial testing.  I have taken the 5.0 design and added features that should make it more flexible and expandable while increasing performance.  Here is a summary of specifications:

 

Hardware:

 

- 2" x 2.5" main board with MK mounting hole pattern

- Input voltage: 6.5v => 18v

- High efficiency DC/DC converters

- STM32F215 32bit Cortex M3 microcontroller @ 120Mhz (1MB flash)

- Standard Arm 10 pin 0.05" pitch SWD connector

- 14 general purpose PWM controllers / receivers (powered or un-powered)

- Dedicated Spektrum satellite (remote receiver) 2.4Ghz R/C radio connector

- uSD card slot driven by 4bit SDIO capable of 100Mb/s transfer (up to 32GB storage)

- optional onboard uBlox LEA-XX GPS module with battery backup and timepulse capture

- optional u.FL active GPS antenna connector

- optional external GPS via standard 6 pin connector (EM406, EM401, uBlox, MTK)

- optional external bi-directional telemetry radio via standard 6 pin FTDI connector - powered up to 1A

- I2C bus connector for I2C ESC's (or other I2C devices)

- onboard IMU options:

+ optional 9 DOF analog sensors (3x RATE, 3x ACC, 3x MAG) w/EMI hardening

+ optional VectorNav VN100

- daughter board options:

+ 9 DOF analog sensor board

+ VectorNav VN100

+ High performance SOM (Sytem on Module)

+ Any combination of the above

- Two barometric pressure sensors

- Battery voltage monitor

 

Software:

 

- Fully threaded RTOS design written in C -  75% idle in flight

- All (15) analog sensors read up to a rate of 276.8KHz (~4.2M sps total)

- 100Hz => 800Hz PWM motor update rate (requires custom ESC's at rates >450Hz)

- 200Hz attitude, 3D velocity / position solutions

- Full downlink telemetry

- Detailed system state dumps @200Hz => uSD card w/FAT32 FS

- Quaternion based attitude filter additionally producing rotation matrix and Euler angle outputs

- All math in single precision floating point

- Temperature compensated and calibrated sensor suite

- Custom ground station software w/bi-directional command and control API

- MavLink protocol support

- Cascading PID control system, velocity based for smooth transitions

- Auto land / takeoff

- Hover position / altitude hold

- Autonomous waypoint mission navigation

- Precise altitude hold indoors

 

 

What I call the general purpose PWM controllers are 14 connectors which can be used for PWM (or any other digital) signaling.  Each one can be optionally unpowered or powered with 5.0v or 6.5v (depending on the RECOM part used.)  Since each port is connected to a dedicated timer line on the uController they can be used for input or output. This means you can have any combination of motors / servos / acoustic range finders / LED's, etc. that you can image with power up to ~1.2A.  With the input capture capability, you could also use them to connect a traditional multi-channel R/C receiver.

 

I have included two pressure sensors (2nd one optional) so that fixed wing users can monitor airspeed.  Or, you could use one as a failover or combine the two to get smoother altitude measurements.

 

There is a lot of flexibility when it comes to the IMU.  First there is the option of using the onboard analog sensors:

 

+ 3 axis acc (ADXL335)

+ 3 axis mag (HMC6042 & HMC1041Z)

+ 3 axis gyro (IDG500 & ISZ500)

+ 3 temperature sensors

 

These must be calibrated by the user which can take a lot of time and aggravation. For the person who would rather pay someone to handle this calibration for them, a VectorNav VN100 can be soldered directly to the main board and used as an IMU.

 

With the 2x20 pin connectors a daughter board can be connected which can accommodate an analog or digital IMU as well.  In fact, you could have combinations of onboard and external IMUs used simultaneously for failover or co-witness configurations.  Since these connectors contain many analog and multiple high speed digital communications channels, a SoM can be connected such as a GumStix Overo with a 720Mhz Arm Coretex A8 processor with Vector Floating Point hardware running Linux with gobs of RAM and flash storage and optional bluetooth and WiFi radios.  This will allow easy experimentation with complex navigation filtering and the exploration of vision based navigation algorithms.

 

Here is a picture of an external VN100 attached as a second IMU:

I have received a lot of positive feedback on my past designs as well as a lot of requests for hardware that I could not fulfill so I have decided to try to find ways to make this board available to those who want to build a machine around it.  I can't say exactly when, but I hope to be able to announce hardware availability through various sources in the not too distant future.

Views: 12000

Tags: aq, autonomous, autoquad, board, vtol

Comment by ThomasB on July 23, 2011 at 12:18pm
Hi Bill,
VERY impressive work (again :)
I'm still a fan of you compact layout, and the systemdesign brings a lot of possibilities.
Comment by ThomasB on July 23, 2011 at 12:20pm
By the way, the HMC6042 & HMC1041Z team is still alive ?
Comment by Bill Nesbitt on July 23, 2011 at 12:24pm

ThomasB: I still don't have a replacement that I like.  If it came down to it, a replacement IMU could be made on a daughter board.

Comment by ThomasB on July 23, 2011 at 12:42pm
If there is some hardware available some day, I will be interested.
My math is still not good enough to understand your code, but I will start with some easier code and will try to improve my knowledge month by month (bought some new math books 2 weeks ago :)
Comment by Maximus on July 23, 2011 at 1:04pm

Hi Bill, how many people do you think, will ask you for purchasing this green card ? :)

Give us this version, we cannot wait for an other version !!!

Great job again

Maximus

Comment by DaveyWaveyBunsenBurner on July 24, 2011 at 9:02am
I cannot wait for this board to be available!
Comment by Patrick Koegel on July 24, 2011 at 2:20pm

Im still very impressed. How much time do you spend in this?

I know doing pcb layouts take a lot of time. But doing a good layout and write good software all together in one person is quite impressive. If this become available I will defenitly buy one.

Comment by sung kue HA on July 24, 2011 at 5:36pm

 

I Want to buy soon
Comment by Wim on July 24, 2011 at 11:09pm
Hi Bill, how hard is it to do the sensor calibration? Thanks.
Comment by Bill Nesbitt on July 25, 2011 at 1:17am

A well calibrated IMU compensated for temperature changes is a prerequisite for the autonomous flight that I've shown in prior blog entries. I cannot emphasis enough how important this is.   To do it properly requires procedures and equipment that your average person does not have access to.  Having said that, I have developed techniques and software algorithms which allow you to do a fairly good job with only household items, time and effort.  It used to take me a week to calibrate a single IMU, but I've got that down to less than a day of computer time and maybe half an hour of work.  Of course you can avoid all of this by purchasing a professionally calibrated IMU like the VN100.

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