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.
Comments
Am dying to get started
Bill said "the time until an announcement can probably be measured in weeks, not months" in August...!!!
Hi Bill,
Any news regarding to purchase the hardware?
Regards,
Magnus
:))))
Nick: There are some very dedicated people working on this as we speak. I cannot say exactly when something will be be available as it is somewhat out of my hands. But, unless something goes really wrong, the time until an announcement can probably be measured in weeks, not months.
Hi Bill,
I've been on MK diet for way too long. Any word on when this awesome hardware will be available for purchase?
Thanks,
Nick
Hi Bill
I have a preliminary single axis table going.
Currently i am using steppers(which i am not too pleased about) and an encoder on the other end of the shaft to measure angles accurately. I want to move to brushless dc motors and i would need to buy slip rings for the inner levels of a 3 axis table.
It is a lot of work, and i want to build useful calibration tools for mems devices. So i would definitely appreciate it if you could share what you have learnt. My biggest worry is that i spend a lot of time, effort and money building something that is ultimately not that useful.
Srinath: I've spent a lot of time thinking about rate tables as well. There are a long list of issues that come up when considering what would be necessary for it to be useful for IMU calibration. If these issues are addressed, the final calibration product would be better than my manual methods. The precision necessary would be difficult and probably costly to achieve, but it would be a fun project.
If you are to move forward with trying to build such a table, let me know as I can share what I've learned so far.
Hi Bill
Awesome work. Can't wait to buy the new board.
I am very interested in the IMU calibration. I am also planning to build a rate table to calibrate the gyro sensitivity accurately. But i would like to know your calibration methods, so that i don't spend a huge amount of time barking up the wrong tree.
Any news?