Documentation/Hardware Selection
From openmulticopter
This page intends to be a first sketch of the openmulticopter hardware. Feel free to contribute helpful ideas.
Contents |
Microcontroller
ST Microelectronics Cortex M3: STM32F103xx (high-density controller)
- 512 kB Flash
- 64 kB RAM
- 8 x 16 Bit Timer (IC, OC, PWM)
- 2 x WDG
- 3 x SPI
- 2 x I2S
- 2 x I2C
- 5 x USART
- 2 x UART
- SDIO
- USB
- CAN
Package variants
| Microcontroller | Footprints | ADC | I/Os |
|---|---|---|---|
| STM32F103RE | TQFP64, WLCSP64L | 16 x 12 Bit | 51 |
| STM32F103VE | TQFP100, LFBGA100 | 16 x 12 Bit | 80 |
| STM32F103ZE | LQFP144, LFBGA144 | 21 x 12 Bit | 112 |
Sensors
Gyroscopes
Gyroscopes are sensors that are used to measure angular velocity.
- Melexis MLX90609
- Supply voltage: 4.75 - 5.25 VDC
- Supply current (no output load): 16 - 20 mA
- Output not supply-ratiometric
- Angular velocity range: +/- 300 °/s
- Output voltage range: 0.5 - 4.5 VDC -> 4V
- Nonlinearity: +/-0.5 % FSout
- Zero rate output: 2.5 VDC
- Zero rate temperature drift: +/- 5 % FSout (-40...+85°C)
- Sensitivity: 6.67 mV/°/s
- Sensitivity drift: +/- 5% S0 (-40...+85°C)
- Spectral noise power density: 0.03 °/s/sqrt(Hz)
- Angular rate cross-sensitivity for X, Y: 1 (typ) - 2 (max) % FSout
- Resonance frequency: 8.2 kHz
- Package: CLCC32, easy to solder by hand but large
- Shock survival: +/- 1500g (0.5ms 3 axis)
- Price
- ADXRS610
- Supply voltage: 4.75 - 5.25 VDC
- Supply current (no output load): 3.5 - 4.5 mA
- Output is supply-ratiometric
- Angular velocity range: +/- 300 °/s
- Output voltage range: rails at 0.25 and 4.75 V, respectively, range = 3.6V
- Sensitivity: 6 mV/°/s
- Spectral noise power density: 0.05 °/s/sqrt(Hz)
- Resonance frequency: 12 - 17 kHz (14.5 kHz typ.)
- Package: CBGA32, hot-air or reflow oven needed
- Price
- 34.59$ at Digikey
- 64.95$ Sparkfun Breakout Board
- Ivensense IDG500
- dual-axis
- Supply voltage: 3 VDC
- Supply current (no output load): 7 mA
- Output is not supply-ratiometric
- two different outputs for each axis (different range and sensitivity)
- Angular velocity range: +/- 500 °/s and +/- 110 °/s
- Sensitivity: 2 mV/°/s or 9.1 mV/°/s
- RMS noise: 0.8 mV RMS in 1 Hz to 1kHz bandwidth range
- Resonance frequency: 24kHz (X-axis) and 27kHz (Y-axis)
- QFN 28 (4mm x 5mm x 1.2mm)
- ISZ500 Z-axis complement (all three sensors can be mounted in PCB plane)
- Price
- 39.95$ at Sparkfun
- ST LISY300AL
- Supply voltage: 2.7 - 3.6 VDC
- Supply current (no output load): 4.8 mA
- supply-ratiometric?
- Angular velocity range: +/- 300 °/s
- Zero rate voltage at 1.65 V for 3.3 V supply
- Sensitivity: 3.3 mV/°/s
- Spectral noise power density: 0.1 °/s/sqrt(Hz)
- Resonance frequency: 4.5 kHz
- Low resonance frequency causes critical sensitivity to vibrations induced through the motors.
- Even extended dampening measures might not eliminate this unwanted behaviour.
- Price
- 14.38$ at Digikey
- 11.95$ at Sparkfun
- 29.95$ for Sparkfun Breakout Board
- ST LY530ALH + ST LPR530AL
- Part of a new family of ST gyroscopes
- Resonant frequency: 4100 Hz
- Murata ENC-03A
- Supply voltage: 3 VDC
- SMD 8mm*4mm*3mm 0.2g easy to solder by hand
- 6.7mV °/s
- large temperature drift, compensation in software or with op-amp offset needed
- low shock resistance
- needs op-amp
- price about 23.5 Euro
Acceleration Sensors
Used to get an attitude reference based on the effect of gravity in order to compensate for integral drift.
- Analog Devices ADXL335
- Replacement for the discontinued ADXL330
- Analog output
- 3 axis
- Acceleration range: +/- 3g
- Supply voltage range: 1.8 - 3.6 VDC
- Supply current at 3V: 350uA
- Sensitivity: 270 - 330 mV/g (300 mV/g typ.)
- Sensitivity vs. temperature: +/- 0.01 %/°C
- ...
- Price
- 5.54$ at Digikey
- 24.95$ Sparkfun Breakout Board
- Price
- Acceleration range: +/-5g
- ST LIS3LV02DQ
- Digital output (SPI, I2C)
- ST LIS344ALH
- Analog output
- ...
Pressure Sensors
- Freescale MP3H6115A
- Supply voltage: 3 VDC
- Freescale MPXH6115A6T1
- Supply voltage: 5 VDC
Magnetic Sensors
- 3 axis are required
- PNI Micromag3
- PNI MS2100
- same as MM3 but as fully integrated one chip solution
- only 2-axis, external third axis circuit can be interfaced to the chip
- QFN-20
- Price
- 50.04€ at Sander
- Honeywell HMC1052L + HMC1051
- 2 axis sensors HMC1052L + Z- axis HMC1051
- Honeywell HMC5843
Analog Circuitry, ADC
Voltage Level Adjustments
- Gyroscopes usually operate at 5 VDC (Invensense and ST gyroscopes are 3.3V)
- ACCs usually operate at 3.3 VDC
- Depends on ADC input range
ADC
Considerations
- Internal 12 Bit ADC
- External ADC
- Sensor noise limits ADC performance
- Sample rate (10x oversampling required to reconstruct signal)
- Interfacing to the MCU (fast SPI bus, simple protocol, conversion start through CS line)
- Number of channels (3x gyros + 3x ACC + ...)
- Small package variant, solderable by hand
External ADCs for Gyroscopes and ACCs
- Maxim MAX1168
- Resolution: 16 Bit
- 8 channels
- SPI interface
- 5V analog supply voltage
- 200 kSps max. (full time SPI transmission at max. clock rate, no breaks allowed)
- Analog Devices AD7928
- Resolution: 12 Bit
- 8 channels
- SPI interface
- max. sample rate: 1 MSps
External ADCs for Pressure Sensor
- LTC2440
- SPI interface
- LTC2485
- I2C interface
Analog Sensor Filters
- Bandwidth (depends on sample rate and closed control loop frequency)
- Order of the filter
- Active / passive filter
- Number of parts, space needed on PCB
- Filter type (e.g. Butterworth)
Interface
I2C
- NXP PCA9306
- I2C levelshifter / buffer
- Analog ADUM1250
- I2C Isolator
CAN
- Microchip MCP2551
- TI ISO1050
- CAN Isolator (meets ISO11898 standard)
Power supply
- 3 to 4 LiPo/ LiFePo cells: 9 to 16.8 VDC
- Switching regulators
- low power loss, high efficiency
- switching noise
- applications
- probably a good solution for the main power supply
- Step-up regulator for camera supply (12 VDC)
- additional power supply for servos
- examples:
- TI PTH08080W
- Supply current: 2.25 A
- Input voltage range: 4.5 VDC - 18 VDC
- Miniature power module, fully integrated solution, only few external components needed
- TI PTH08080W
- Linear regulators
- massive power dissipation in case of higher drop-out voltages
- low noise
- applications
- post-switching-regulator solution (eg. 3.3 VDC main cpu supply)
- low noise power supply for sensor circuitry
- examples
- Linear LT1763
- very low noise
- Supply current: 500 mA
- Input voltage range: 1.8 VDC - 20 VDC
- 300mV drop-out voltage
- Linear LT1763
- Servo Power Supply
- Jumper to select between switching regulator provided supply and an external high current power supply in case of higher power demands.
- Regular RC servo connectors
Temperature range
- components should be chosen according to a specified voltage range
- -40°C ... 85°C (flying on cold winter days must not cause any problems)
Assembling and Board Layouts
- Dampening
- rubber cable grommets
- ...
- Size
- 50 x 50 mm Mikrokopter + X-UFO compatible
- 36 x 36 mm with 30mm* 30mm distance mounting holes booz HW, Booz_HB and IMU HB_autopilot compatible
- all this IMUs PCB have SPI bus connection 16 bit ADCs, magnetic rate an accelerations sensors and have GPL license
- other size, depending on actual space needs
- Single/Multiple PCB(s)
- 1x IMU (aka sensor board) + 1x MCU (main processor)
- 1x IMU (gyroscopes + ACC) and MCU on a single board including pressure and magnetic sensors
- 1x IMU (gyroscopes + ACC) and MCU on a single board + 1x NavBoard for pressure and magnetic sensors and GPS
- ...
- Additional PCBs
- VDU / OSD
- RC modem
- RC receiver
- ...
- Number of Layers
- 2 Layers
- + easy and cheap manufacturing
- + simple debugging (eg. green wire fixes)
- - EMC considerations
- - space requirements
- 4 layers
- + EMC suited layout
- + higher density of parts possible -> smaller dimensions
- - Cadsoft Eagle license necessary
- - high priced manufacturing
- - No debugging possible in case of flaws on inner layers.
- 2 Layers