My X550AIOP quadcopter uses the 550mm Hobbyking X550 frame and CRIUS AIOP v2.0 flight controller, running the MegaPirateNG
port of the DIY-Drones ArduCopter
firmware. Its capabilities include GPS-guided return-to-launch
and automated-waypoints navigation. I have it setup for FPV
flying, with on-screen-display and a pan/tilt camera.
One of the goals with this craft was to make it as low-cost as possible
while still having a reliable quadcopter with lots of capability.
It's been a great success on both counts. Adding up the parts
cost (not including receiver, battery and FPV gear) the total is about
$190. With FPV gear (not including video goggles or display),
about $315.
My experience with the inexpensive 2210N
motors has been good. To mount each one on the frame, I used a
couple of the longer screws from frame kit, with a washer on top and a
washer and M3 locknut on the bottom. See these
pics: topbottom.
Things to keep an on are that the mount itself stays intact (it's made
from two pieces welded together), all the set screws stay tight, and
the prop adapters stay tight. I use blue thread-lock on the set
screws, and I put some on top of the M3 locknuts because the screws
didn't come all the way through them. I also put a small dab of
thread-lock on the bottom of each the prop-adapter screw, but not too
much because it can make them difficult to take apart later on.
It's good idea to check that all motors and props are tight before each
flight.
The speed controllers are HobbyKing F-30A ESCs, which I flash-updated with SimonK firmware. It's
also possible to get pre-flashed ESCs, but they cost more. I'm
using GemFan 9047 props (2 normal and 2 reverse rotation); see the parts list
below for links. When doing the initial ordering of parts I
recommend getting extra props and at least five each of the motors and
ESCs, so as to have spares.
For power distribution on my build I soldered up a wiring-breakout
cable, similar this one, and put bullet connectors on the
ESCs. A distribution board could also be used. On my
breakout cable I included a couple of JST female connectors for connecting a battery monitor and FPV gear to the battery power.
The CRIUS AIOP v2.0 flight controller is connected to the receiver
using male-to-male servo leads, and mounted to the frame
with 4mm-thick foam tape (a square piece on each corner of the
controller board). A bit of blenderm tape on each corner also helps keep
things secure. A top/bottom pic of the board is here.
The open-source ArduCopter
firmware (developed by DIY
Drones)
is software that is loaded onto the flight controller and operates the
quadcopter. However, the ArduCopter firmware is only compatible
with the ArduPilot Mega 2.5 (APM 2.5) or a direct clone
like the ArduFlyer. To use less-expensive controller
boards like the CRIUS AIOP, the MegaPirateNG
port of ArduCopter was created. The MegaPirate ports supports
almost all the features of ArduCopter, including being able to use the Mission Planner
GUI software to configure the copter and load waypoints.
(MegaPirate requires more experimentation and tweaking to get running,
so for many folks an APM 2.5 clone is a good way to go.)
The MegaPirateNG firmware needs to compiled and uploaded using the Arduino IDE
(not the Mission Planner firmware-update function). At the time
of this writing, the latest-release version is 2.8R3, but there are
beta versions with significant improvements, so on my X550AIOP quad
I've been using v2.9R5-r295 firmware with patches for AMP_OFFSET and gimbal-mount-fix,
and using an updated "libraries/AP_Baro/AP_Baro_MS5611_I2C.cpp" file
from v2.9R7. A copy of this patched firmware is available here.
A good resource is the Arducopter Tuning Guide by DaveC. See here for settings that I've
used. An rcgroups thread on MegaPirateNG is here, and a CRIUS AIOP V2.0 hardware-and-features
guide is here.
For GPS I'm using the ublox NEO-6M module, which works well. The
one from HobbyKing has a default baud rate of 38400, so the default
value for 'SERIAL2_BAUD' in the "APM_Config.h" file does not need to be
changed. I've programmed the custom configuration "3DR-Ublox.txt"
into the unit, as per the instructions here (for the reasons why see here). I built an FTDI adapter cable (like
this one) to connect the GPS to the computer; here is the pinout:
After the ublox GPS is programmed to the "3DR-Ublox.txt" configuration,
the 'GPS_PROTOCOL' value in the "APM_Config.h" file needs to be set to
'GPS_PROTOCOL_UBLOX'. See here and here for a cheap FTDI adapters. See here for a discussion of ublox LEA-6H vs NEO-6M. See here for a picture of the NEO-6M showing the pin labels. The battery on the unit is a Seiko MS621FE.
Here are connections I have to the "SERIAL 1~3" connector on the CRIUS AIOP:
For battery-voltage monitoring, I have the positive-battery connection
going through an 18K/3.9K resistor divider and into the A0 input of the
CRIUS AIOP. The 'VOLT_DIVIDER' value is 5.356. For current
monitoring, I have an Allegro ACS758ECB-200B-PFF-T current sensor
soldered onto the positive-battery wire, with its output going into the
A1 input on the CRIUS AIOP. The 'AMP_PER_VOLT' value is
80.0. For this to work the firmware needs to be patched to have
an 'AMP_OFFSET' setting (which I have set to 2.54), as described here. An improvement would be to run the sensor output through an amplifier ciruit (using an op-amp like the TLV2371)
so that a current range of 0-100 amps corresponds to an output range of
0-5 volts. An easier way to do voltage and current monitoring is
to buy a pre-built sensor board -- information on that may be found here.
I have an RSSI (Receiver Signal Strength Indicator) input setup,
displayed as a percentage value on the OSD (on-screen display).
Details on the circuit I built for it are here.
I have it connected to the A3 input of the CRIUS AIOP, and the ArduCopter
'RSSI_PIN' parameter value set to 3. I found that I could not get
see the RSSI input value in the Mission Planner program (v1.2.36), but
it displayed on the OSD.
I fly the X550AIOP with a Futaba 7C transmitter, on which I have
switches setup to select between up to six different flight
modes. See here for more info on that setup.