Wolferl-NG Features
Contents
Hardware
Version 0.22
- Modular design with
- Flight Controller (FC) PCB
- Sensor Board (SB) PCB
- 7 Breakout-Boards (3x ADXR610, 3x MLX, 1x ACC)
- Flight Controller (FC)
- ARM7 LPC2148 60MHz 16/32 bit CPU with ARM7TDMI-S core (main CPU)
- Atmel ATmega644P 20mhz 8bit MCU (RC/Servo/Comm controller)
- Support for different I2C BL controllers:
Bl-Ctrl (mikrokopter.de)
YGEi (yge.de)
- Quax-BL mod
- Support for 5 servo channels (RC controller)
- Dual bidirectional I2C bus buffer
- Onboard power switch with 2 buttons
- Optional switched voltage regulator instead of linear voltage regulator
- Onboard switch for UART/USB ISP programming
- Acustic low voltage warning
- Programmable using JTAG, UART or USB interface
- SPI extention plug
- I2C extention plug
- 5 onboard UARTs (two of them 5V or 3.3V) for ACT DSL receivers, consoles and GPS
- 8-channel SPI level translators
- Sensor Board (SB)
- Atmel ATmega328P 20mhz 8bit MCU (Sensor/GPS preprocessor)
- Sockets for 3 analog Gyros
- Sparkfun ADXRS300
- Sparkfun ADXRS610
- Melexis MLX90609-R2
- 4-channel 12bit ADC with 1Msps for Gyros (Analog Devices AD7924)
- Discrete Sallen-Key Filters for Gyros
- Dedicated Temperature Sensor
- Dedicated Light Sensor
- Digital 3D linear acceleration sensor (Sparkfun LIS3LV02DQ)
- Absolute air pressure sensor (Freescale MPXH6115) with 24bit ADC
- 24bit Analog Digital Converter (Texas Instruments ADS1255)
- 12bit 4 Channel Analog Digital Converter (Analog Devices AD7924)
3-axis Compass based on 3D Magnetometer (PNI Corp. MicroMag-3)
- Dedicated low noise power supplies for 12/24bit ADCs and Gyros
Version 0.21
- Modular design with separate Flight Controller (FC) and Sensor Board (SB) PCBs
- Flight Controller (FC)
- ARM7 LPC2148 60MHz 16/32 bit CPU with ARM7TDMI-S core (main CPU)
- Atmel ATmega644p 20mhz 8bit MCU (RC/Servo/Comm controller)
- Support for different I2C BL controllers:
Bl-Ctrl (mikrokopter.de)
YGEi (yge.de)
- Quax-BL mod
- Support for 5 servo channels (RC/Servo/Comm controller)
- Dual bidirectional I2C bus buffer
- Onboard power switch with 2 buttons
- Optional switched voltage regulator instead of linear voltage regulator
- Onboard switch for UART/USB ISP programming
- Acustic low voltage warning
- Programmable using JTAG, UART or USB interface
- SPI extention plug
- I2C extention plug
- 5 onboard UARTs (two of them 5V or 3.3V) for ACT DSL receivers, consoles and GPS
- 8-channel SPI level translators
- Sensor Board (SB)
- Atmel ATmega168 20mhz 8bit MCU (Sensor/GPS preprocessor)
- Sockets for 3 analog Gyros
- Sparkfun ADXRS300/ADXRS610 breakouts
- Melexis MLX90609-R2
- 4-channel 12bit ADC with 1Msps (Gyros)
- Discrete Sallen-Key Filters (Gyros)
- Dedicated Temperature Sensor
- Digital 3D linear acceleration sensor (Sparkfun LIS3LV02DQ)
- Absolute air pressure sensor (MPXH6115) with 24bit ADC
Compass based on 3D Magnetometer (MicroMag3)
- Dedicated low noise power supplies for 12/24bit ADCs and Gyros
Version 0.20
- ARM7 LPC2148 60MHz 16/32 bit CPU with ARM7TDMI-S core (main CPU)
- Atmel 644p 20mhz 8bit MCU (RC/Servo/Comm controller)
- Atmel 168 20mhz 8bit MCU (Sensor/GPS preprocessor)
- 3x Gyro (Sparkfun ADXRS300 or Melexis MLX90609-r2) with 4-channel 16bit SPI ADC (Maxim MAX1167)
- Digital linear acceleration sensor (Sparkfun LIS3LV02DQ)
- Pressure sensor (MPXH6115ASSOP) with 24bit SPI ADC (TI ADS1255)
Magnetic compass (MicroMag3)
- Support for different I2C BL controllers:
Bl-Ctrl (mikrokopter.de)
YGEi (yge.de)
- Quax-BL
- Sallen Key filter for gyros
- Ultra low noise power supply for 16/24bit ADCs and gyros (LT1763)
- Support for 5 servo channels
Dual bidirectional I2C bus buffer (NXP P82B96)
- 8-channel SPI level translators (MAX3002)
- 5 onboard UARTs (two of them 5V or 3.3V) for ACT DSL receivers, consoles and GPS (uBlox 4 and other MNEA GPS)
- 11 onboard LEDS
- Onboard power switch with 2 buttons
- Optional switched voltage regulator (PTH08080) instad of linear voltage regulator (78S05)
- Optional PWM speaker instad of beeper
- Onboard switch for UART/USB ISP programming
- Beeper and acustic low voltage warning
- Programmable using JTAG, UART or USB interface
- SPI extention plug
- I2C extention plug
Version 0.11
- ARM7 LPC2148 60MHz 16/32 bit CPU with ARM7TDMI-S core
- Foxboard LX832 100MIPS ETRAX 100LX CPU with 2x USB Host and Ethernet
- 3x Gyro (Sparkfun ADXRS300)
- Digital linear acceleration sensor (Sparkfun LIS3LV02DQ)
- Compass module (Sparkfun HMC 6352)
- Support for different I2C BL controllers:
Bl-Ctrl (mikrokopter.de)
YGEi (yge.de)
- Quax-BL
- Two onboard LEDS
- Onboard switch for UART ISP programming
- Beeper and acustic low voltage warning
- Programmable using JTAG, UART or USB interface
Software
Version 0.54
- TODO
Version 0.38
- Modular C code using GNUARM GCC toolchain
- Compiles under 32bit and 64bit Linux and Windows
- Uses autotools for comfortable configuration and compilation
- Multithreaded OS design not impacting on realtime processes
- Supports a device table and device probing
- Supports the following sensor inputs
- Analog gyro input (10bit samples)
- Digital linear acceletation sensor via SPI
- Digital 2-axis compass via I2C
- MNEA GPS via UART
- Supports the following actor outputs
- 4x BL-Ctrl via I2C
- 2x LED via GPIO
- Beeper via GPIO
- Command console on USB and UART ports (usable in parallel)
- Uses Kalman filtering for gyro/acceleration/compass sensor data fusion
- Calculates linear accelerations and makes this data available to controllers
- Calculates axis coupeling and compensates accordingly
- Supports unlimited closed-loop controllers in parallel (rollover even while flying possible):
- Wolferl Controller: The closed-loop controller as designed by Wolferl
- Bearing-Hold Controller: A heading-hold controller for very dynamic flights
- Amir's Controller: A next generation integral-flight controller
- RC Controller: A "just forward throttle" controller for testing purposes
- Supports per-controller configuration variables
- Supports global configuration variables
- Supports parameter changing while flying
- Supports in-flight ufo-side RC calibration using a separate channel
- Supports a configuration variables editor
- Supports GPS tracking and KML file output
- Supports user definable behaviors which consist of a condition and associated action
- Implements the following behavior conditions
- when.rc.throttle.changed()
- when.rc.pot.lt(x,y)
- when.rc.pot.gt(x,y)
- when.rc.pot.changed(x)
- when.rc.pot.binary(x,y)
- when.rc.pot.tristate(x,y)
- when.rc.stick.left(x,y)
- when.rc.stick.right(x,y)
- when.rc.signal.lost()
- when.ctrl.entering.fs()
- when.ctrl.leaving.fs()
- while.battery.low()
- var.equal(x,y)
- var.not.equal(x,y)
- var.gt(x,y)
- var.lt(x,y)
- var.bit.true(x,y)
- var.bit.false(x,y)
- var.bit.op.and.true(x,y)
- var.bit.op.and.false(x,y)
- var.bit.op.or.true(x,y)
- var.bit.op.or.false(x,y)
- Implements the following behavior actions
- ctrl.calibrate(x)
- ctrl.switch.ctrl(x)
- ctrl.switch.conf(x)
- ctrl.hoover()
- ctrl.ascend()
- ctrl.decend()
- actor.motors(x)
- actor.play.melody(x)
- rc.calibrate.bearing()
- rc.calibrate.throttle()
- var.set(x,y)
- var.bit.set(x,y)
- var.bit.clear(x,y)
- Implements the following behavior conditions
- Implements 12 standard user defined behaviors
- Debug data output to USB and UART ports
- Debug application visualizing the received data as near realtime graphs
- Note
- This is the current state. All the above features are implemented and working.
Other language
Please note that there is a german Features page: Fähigkeiten.
