Changes RSS

Quadrocopter/Multi-rotor flight controllers

Mikrokopter

Mikrokopter FC1.3

CPU: ATMEGA644p @ 20MHz
Gyro: 3x Murata ENBC-03JA Piezo gyros
Accelerometer: 3-axis STM LIS3L02AS4
Barometric sensor: MPX4115 (optional)
Magnetometer: None, may use additional board (MK3Mag)
GPS: None, may use additional boards (NaviControl + MKGPS)
Additional sensors Input voltage monitoring built-in
ESC control type: I2C, using Mikrokopter BC-CTRL 1.x
Voltage control: Linear LM7805 or Recom LDO
Data storage/Log: None
Control input: CPPM only, plus control input over SPI (slave for NaviCtrl)
Flight modes: Stabilised Level, Altitude Limit (Alt hold), Altitude Hold (Vario Alt hold)
Note: Discontinued, replaced by FC2.x

Mikrokopter FC2.1

CPU: ATMEGA1284P @ 20MHz
Gyro: 3x Analog Devices ADRXRS610 MEMS gyros
Accelerometer: 3-axis STM LIS344ALH
Barometric sensor: MPX4115A
Magnetometer: None, may use additional board (MK3Mag)
GPS: None, may use additional boards (NaviControl + MKGPS)
Additional sensors Input voltage monitoring built-in
ESC control type: I2C, using Mikrokopter BC-CTRL 1.x
Voltage control: Recom uA7805 LDO (optional 2x uA7805, separate LDO for servos)
Control input: CPPM, Skeptrum Sattelite, Jeti, HoTT, S.Bus, plus control input over SPI (slave for NaviCtrl)
Data storage/Log: None
Flight modes: Stabilised Level, Altitude Limit (Alt hold), Altitude Hold (Vario Alt hold)

A direct successor to MK FC1.x. Moves from piezo gyros to MEMS gyros, removing sensor drift and makes the gyro part less sensitive to vibrations. The Recom LDO provide cleaner more stable VCC. All connetion pads are larger and more conveniently placed. Adds Flash and RAM capacity using the MEGA1284P, allowing for better filtering of sensors in realtime.

Mikrokopter FC2.2 (FC2.1 plus ACC-Upgrade)

CPU: ATMEGA1284P @ 20MHz
Gyro: 3x Analog Devices ADRXRS610 MEMS gyros
Accelerometer: 3-axis MEMSIC R9500M
Barometric sensor: MPX4115A
Magnetometer: None, may use additional board (MK3Mag)
GPS: None, may use additional boards (NaviControl + MKGPS)
Additional sensors Input voltage monitoring built-in
ESC control type: I2C, using Mikrokopter BC-CTRL 1.x
Voltage control: Recom uA7805 LDO (optional 2x uA7805, separate LDO for servos)
Control input: CPPM, Skeptrum Sattelite, Jeti, HoTT, S.Bus, plus control input over SPI (slave for NaviCtrl)
Data storage/Log: None
Flight modes: Stabilised Level, Altitude Limit (Alt hold), Altitude Hold (Vario Alt hold)
Note: FC2.2 is when writing not a board, but an upgrade of the FC2.1 with a new accelerometer.

The change of accelerometer results in a more direct and precise altitude control. The new accelerometer (ACC) sensor operates with a thermal principle, instead of Micromechanics. Thus, the sensor is almost immune against the typical vibrations in the copter. In the ACC sensor FC2.1 the offset of the Z value of the acceleration sensor drifts under vibrations. This only affects the vertical z-value. The two axes for nick and roll work great with the original sensor even with vibration.

Mikrokopter FC2.1 + NaviCtrl 2.0 + MKGPS 2.1

CPU: ATMEGA1284P @ 20MHz for AHRS and direct flight, STR911FAM44X6 (@96MHz?) ARM9 for all Navigation related tasks
Gyro: 3x Analog Devices ADRXRS610 MEMS gyros
Accelerometer: 3-axis MEMSIC R9500M
Barometric sensor: MPX4115A
Magnetometer: HMC5843 or LSM303
GPS: u-blox LEA6S with data retention battery, 5Hz update rate
Additional sensors Input voltage monitoring built-in
ESC control type: I2C, using Mikrokopter BC-CTRL 1.x
Voltage control: Recom uA7805 LDO (optional 2x uA7805, separate LDO for servos)
Control input: CPPM, Skeptrum Sattelite, Jeti, HoTT, S.Bus, plus control input over SPI (slave for NaviCtrl)
Data storage/Log: MicroSD card slot
Flight modes: Stabilised Level, Altitude Limit, Altitude Hold, Position Hold, Return to Launch, Carefree, Waypoint flight, POI Waypoint flight, FollowMe

The precision and complexity of the AHRS operations on the Mikrokopter FlightCtrl boards means there is not much CPU time left on the FC CPU to do much other than attitude and system control. The developers of the Mikrokopter platform realised this and decided to develop an additional board to add GPS-related functions to the platform, giving them the option of adding a powerful ARM CPU to handle those tasks, while leaving the FC CPU free to do AHRS/stabilization. The NaviCtrl adds full navigation capability to the Mikrokopter platform, and has been leading innovation in features, being first to add CareFree mode (a mode where operator controls are free from the copter orientation), POI navigation (where the copter will always face a designated point of interrest) and FollowMe (a mode where an external GPS signal is used as both POI and target waypoint).

ArduPilotMega

APM

CPU: ATMega1280 @ 16MHz (later upgraded to '2560)
Gyro: 2x Invensense XY-axis gyros IDG500, 1x Invensense Z-axis gyro ISZ500SMD
Accelerometer: 3-axis Analog Devices ADX330
Barometric sensor: Bosch BMP085 Pressure and temperature sensor
Magnetometer: None, may use external compass
GPS: None, may use external compass
Additional sensors Analog Devices ADS7844 AD Converter. Optional: Voltage, Current, Sonar
ESC control type: 490Hz PWM
Voltage control: No 5V regulator, relies on external voltage regulator. 3V3 regulators on main and IMU boards
Control input: Standard PWM, CPPM
Data storage/Log: 16Mbit datalogging EEPROM/Flash (dep. on revision)
Flight modes: Gyro rate control, Stabilised Level, Altitude Hold. With GPS/compass, Position Hold (Loiter), Return to Launch, Waypoint flight
Note: Discontinued, replaced by APM2 generation

The first generation APM was a two-board, ArduinoMega based design, with a main APM board containing only CPU, PWM/PPM input and supporting circuits, and a separate “IMU Shield” containing all sensors. The APM was an upgrade of the ArduCopter platform, moving from an ATMega328 based standard Arduino, to ATMega1280+ type microcontrollers on dedicated board layouts for both CPU and IMU boards.

APM2.0

CPU: ATMega2560 @ 16MHz
Gyro: MPU-6000 MEMS
Accelerometer: MPU-6000
Barometric sensor: Measurement Specialities MS5611
Magnetometer: Honeywell HMC5883L
GPS: Mediatek MT3329 10Hz
Additional sensors Optional: Voltage, Current, Sonar, Optical Flow
ESC control type: 490Hz PWM for ESC, 50Hz PWM for servos available
Voltage control: No 5V regulator, relies on external voltage regulator.
Control input: Standard PWM, CPPM
Data storage/Log: MicroSD card slot with 4Mbyte dataflash card
Flight modes: Gyro rate control, Stabilised Level, Altitude Hold, Position Hold (Loiter), Return to Launch, Waypoint flight, CareFree mode

The APM2 fuses the two-board design of the APM1 into a single-board design, and replaces most analog sensors with the MPU-6000 SPI+I2C enabled integrated MEMS chip from Invensense. Like the APM1, the controller is a multi-purpose AHRS+IMU system that can be used for fixed-wing, ground rover, boat and multi-rotor operations. With the addition of Sonar and Optical Flow sensors, very precise positional navigation can be achieved. The integrated GPS and compass sensors can be disabled to allow use of external (remote located) sensors.

APM2.5

CPU: ATMega2560 @ 16MHz
Gyro: MPU-6000 MEMS
Accelerometer: MPU-6000
Barometric sensor: Measurement Specialities MS5611-01BA03
Magnetometer: Honeywell HMC5883L
GPS: Optional external GPS, Mediatek or u-Blox 10Hz
Additional sensors Optional: Voltage, Current, Sonar, Optical Flow
ESC control type: 490Hz PWM for ESC, 50Hz PWM for servos available
Voltage control: No 5V regulator, relies on external voltage regulator.
Control input: Standard PWM, CPPM
Data storage/Log: On-board 4Mbyte dataflash card
Flight modes: Gyro rate control, Stabilised Level, Altitude Hold, Position Hold (Loiter), Return to Launch, Waypoint flight, CareFree mode

With many users opting to use external GPS, or not using GPS at all, the APM2.5 was designed to simplify and bring down the cost of the APM2. There had also been problems with getting the MicroSD card slot to work with larger SD cards, as well as connectivity issues where the dataflash became unavalable during flight. By removing the GPS, and moving to a fixed on-board 4MByte dataflash, the need for a daughter-card was removed, and a tidy single-board design was possible. The APM2.5 also adds a separate Power port for use with a fused voltage/current sensor and voltage regulator as an optional addition.

APM2.6

CPU: ATMega2560 @ 16MHz
Gyro: MPU-6000 MEMS
Accelerometer: MPU-6000
Barometric sensor: Measurement Specialities MS5611-01BA03
Magnetometer: None, required external for use w/GPS
GPS: Optional external GPS, Mediatek or u-Blox 10Hz
Additional sensors Optional: Voltage, Current, Sonar, Optical Flow
ESC control type: 490Hz PWM for ESC, 50Hz PWM for servos available
Voltage control: No 5V regulator, relies on external voltage regulator.
Control input: Standard PWM, CPPM
Data storage/Log: On-board 4Mbyte dataflash card
Flight modes: Gyro rate control, Stabilised Level, Altitude Hold, Position Hold (Loiter), Return to Launch, Waypoint flight, CareFree mode

The 2.6 revision simply skips the onboard compass sensor of the AMP2/2.5, and required the use of an external compass. It is designed for vehicles (especially multicopters and rovers) where the compass should be placed as far from power and motor sources as possible to avoid magnetic interference.

HKPilot 2.5

CPU: ATMega2560 @ 16MHz
Gyro: MPU-6000 MEMS
Accelerometer: MPU-6000
Barometric sensor: Measurement Specialities MS5611-01BA03
Magnetometer: Honeywell HMC5883L
GPS: Optional external GPS, Mediatek or u-Blox 10Hz
Additional sensors Optional: Voltage, Current, Sonar, Optical Flow
ESC control type: 490Hz PWM for ESC, 50Hz PWM for servos available
Voltage control: No 5V regulator, relies on external voltage regulator.
Control input: Standard PWM, CPPM
Data storage/Log: On-board 4Mbyte dataflash card
Flight modes: Gyro rate control, Stabilised Level, Altitude Hold, Position Hold (Loiter), Return to Launch, Waypoint flight, CareFree mode

This board is a HobbyKing direct copy of the 3DRobotics APM2.5 board.

KK Multicopter

KapteinKUKs Simple and Low Part Count Flight Controller

CPU: ATMega48 with no external clock (8MHz?)
Gyro: 3x Piezo gyros (Murata ENC-03M) from HK401B
Accelerometer: No
Barometric sensor: No
Magnetometer: No
GPS: No
Additional sensors No
ESC control type: 50Hz PWM for ESC
Voltage control: No 5V regulator, relies on external voltage regulator.
Control input: Standard PWM
Data storage/Log: No
Flight modes: Gyro rate control

The forst version of the KK Multicopter controller was wired up on a protoboard, and schematics published. The controller is a direct gyro stabilizer, with no attitude control outside of gyro roll compensation. The software was also completely single-loop with no interrupt-driven or timer-driven control.

http://www.rcgroups.com/forums/showthread.php?t=1143569

KK Multicopter second revision

CPU: ATMega168 with no external clock @ 8MHz
Gyro: 3x Murata ENC-03M Piezo gyros
Accelerometer: No
Barometric sensor: No
Magnetometer: No
GPS: No
Additional sensors No
ESC control type: 400Hz PWM for ESC
Voltage control: No 5V regulator, relies on external voltage regulator.
Control input: Standard PWM
Data storage/Log: No
Flight modes: Gyro rate control

An updated version of the first KK controller moves to a slightly more powerful CPU, uses the CPU's timers and interrupt systems, and uses directly integrated Murata gyros. This can be called the first “productization” of the KK Multicopter controller.

KK BlackBoard / HK Multirotor-controller 3.0

CPU: ATMega328PA @ 8MHz
Gyro: 3x Murata ENC-03M Piezo gyros
Accelerometer: No
Barometric sensor: No
Magnetometer: No
GPS: No
Additional sensors No
ESC control type: 490Hz PWM for ESC
Voltage control: No 5V regulator, relies on external voltage regulator.
Control input: Standard PWM
Data storage/Log: No
Flight modes: Gyro rate control

An updated version, yet another upgrade of CPU. This is the final version of the “Gyro-only” versions of the KK Multicopter controllers, and has a relatively high build quality. As there is still no accelerometers, the only stabilization is through gyro rate control, and with potentiometers used to “tune” the gyro gains it is quite “fiddly” to get a good flight attitude, as well as susceptible to temperature and vibration related sensor- and potmeter drift.

i86 / Eagle N9

CPU: ATMega168 with no external clock @ 8MHz
Gyro: ST Microelectronics AGD8 2xxx MEMS gyro
Accelerometer: No
Barometric sensor: No
Magnetometer: No
GPS: No
Additional sensors No
ESC control type: 400Hz PWM for ESC
Voltage control: No 5V regulator, relies on external voltage regulator.
Control input: Standard PWM
Data storage/Log: No
Flight modes: Gyro rate control

The i86 is a rebrand of an “Eagle N9 v1” flight controller, based on the KK multicopter, but with a MEMS 3-axis gyro replacing the piezo's, and DIP-swithces to select copter configuration without having to re-upload firmware. Because of the changes, it is not directly compatible with KK Multicopter software, but is so close to a clone that it is listed under the KK heading. Seeing as the board does not have any accelerometers, this is a direct gyro rate control board, with no levelling support.

KK2.0

CPU: ATMega324PA @ 8MHz
Gyro: Invensense MEMS gyros
Accelerometer: Analogue Devices
Barometric sensor: No
Magnetometer: No
GPS: No
Additional sensors No
ESC control type: 490Hz PWM for ESC
Voltage control: No 5V regulator, relies on external voltage regulator.
Control input: Standard PWM (alternate firmware for CPPM)
Data storage/Log: No
Flight modes: Gyro rate control, Stabilised Level

This version of KapteinKuks controller is provided by HobbyKing, with royalties from sales going to KapteinKuk/Rolf Bakke. The controller features an integrated LCD display for direct setup and tuning, has moved to MEMS gyros for improved stability and precision, and has added a 3-axis acellerometer and a levelling flight mode. Software development has been fairly active. The choice of ATMega324pa microcontroller as CPU limits the capabilities of this controller, but considering the price, it is a reasonable controller for projects on a tight budget.

MultiWii