Quadcopter Parts List
Here is a list (and a brief explanation) of the parts I’ve decided to use for my quadcopter build.
I chose to purchase a DJI Flame Wheel 450 kit. This includes the frame, motors, propellers, electronic speed controllers. This kit came highly recommended and the parts are designed with DIY’ers in mind. This frame is both light and rigid and has a built-in power bus for connecting the battery to the speed controllers. I thought this would take some of the guesswork out of this part of the project allowing me to focus on the control and stabilization algorithms.
Motors are 920 kV DJI Brushless DC motors. Generally, brushless motors spin at a higher speed and use less power than their traditional counterparts. Brushless motors have a Kv rating which specifies the RPM of the motor per volt with no load. See here for a lesson on how brushless DC motors work.
Electronic Speed Controllers (ESC)
The electronic speed controllers are a 30A opto-coupled variety also from DJI. The ESCs regulate the electric motor speed according to the control signal applied. The control signal is typically a PWM signal whose pulse width varies from 1 ms to 2 ms. A 1ms pulse will turn off the motor and a 2ms pulse will affect full speed. The DJI ESCs are great for DIY because they are pre-calibrated and do not need the complicated start-up calibration routines required by other ESCs. Here is a great site on controlling a brushless motor through an ESC with Arduino.
Flight Control Board
The flight control board is one of the most important components of a multi-rotor system. It must take the data from the various sensors and apply several algorithms to process this information in order to stabilize the vehicle and keep it level. The off-the-shelf flight controllers have many different features including:
- Gyro Stabilization – the ability to easily keep the copter stable and level under the pilot’s control. This is a standard feature of all flight control boards.
- Self Leveling – the ability to let go of the pitch and roll stick on the transmitter and have the copter stay level.
- Care Free – The pilot can control the copter as if it is pointing in its original direction as the orientation of the copter changes.
- Altitude Hold – the ability to hover a certain distance from the ground without having to manually adjust the throttle.
- Position Hold – the ability to hover at a specific location.
- Return Home – the ability to automatically return to the point where the copter initially took off.
- Waypoint Navigation – the ability to set specific points on a map that copter will follow as part of a flight plan.
- Gimbal Stabilization – The system will adjust the camera according to the attitude of the aircraft after setting the parameters the first time.
- Support for Different Types of Multi-Rotor Platforms – There are several different multi-rotor platforms including Tricopters (Y), +4, V4, +6, V6, etc.
Many of these features require additional hardware such as GPS receivers and to start with, my initial goal will be flight stabilization.
I’ve gone with a Sparkfun Redboard as the flight control board because I already had one. It is basically the same as an Arduino Uno. It has an ATmega328 microcontroller running at 16MHz, 14 Digital I/O Pins (6 PWM outputs), 6 Analog Inputs, and 32k Flash Memory.
Inertial Measurement Unit (IMU)
In order to determine orientation, we read data from the inertial measurement unit or IMU. The IMU is typically comprised of at least a three-axis accelerometer and a 3-axis gyroscope. We can use the output from these sensors to determine the angular position or attitude of the quadcopter. The accelerometer measures the acceleration forces (such as gravity) being applied to each axis. The gyroscope measures the rate of angular rotation for each axis. I picked up an AurduIMU v3 board from Sparkfun. This board has an Invensense MPU-6000 MEMS 3-axis gyro and accelerometer as well the 3-axis I2C magnetometer HMC-5883L. There is an Arduino compatible Atmega328 microprocessor onboard that could potentially be used to offload some of the processing from the main flight controller. Also, there is a port to connect an external GPS unit as well. There is some open-source code available for this board but I’ll probably try to roll my own first.
I’ve picked up a Turnigy 9X 9Ch Transmitter and 8Ch Receiver (Mode 2) from HobbyKing. At $60 for a 9 channel transmmitter and a receiver, the price seems too good to be true but I checked the reviews and it seems to be all right. I guess we’ll see…