Prelude

 

Ever since I saw the quadcopter for the first time, I wanted to have mine. Unfortunately, I am financially err... 'less apt' to actually buy one and imports cost an arm and a leg. Hence i set out to build my own by either buying parts from the cheapest resource or extarcting from scrap what I could. I also blog about this stuff independently at http://embeddedcode.wordpress.com and you are welcome to check that out as well.

This post is the first in a series where I will document the process I went thought to make an actually flying quadcopter. I am open to suggestions and will incorporate what you give me. So lets get started.

 

Introduction

 

A quadcopter is... "A quadcopter, also called a quadrotor helicopter, quadrotor,[1] is a multirotor helicopter that is lifted and propelled by four rotors. Quadcopters are classified as rotorcraft, as opposed to fixed-wing aircraft, because their lift is generated by a set of rotors (vertically oriented propellers)." [1]

 

Simply put it has four rotating blades that collectively produce thrust to lift the whole thing up. Two rotate clockwise and two anticlockwise so it does not keep spinning. The interesting part is that all four of the rotors must be continuously controlled in speed for the system to stay stable in air. It is not the same as setting each at the same speed since the imbalance in weight will cause it to drift towards one side. Hence it is a control system with the input being it's orientation-tilt, movement, acceleration and output being the speed of rotation of each motor. I will discuss the theory in later sections but first lets get some basic hardware out of the way.

 

The necessary

So what is required to build one? Here is the list.

  1. A frame: where you mount everything. Wood or carbon fiber or anything else.
  2. Motors and propellers- what takes you up!
  3. Battery- The juice
  4. Speed Controllers or ESC to control the motors
  5. Control Board: The Brain
  6. Radios: To communicate remotely.
  7. Helmet and bandages- when things go wrong

 

Selecting the hardware

 

There are a gazillion guides out there that tell you which motors and rotors and frame and all that stuff. Why? Because it is an art where you select what is right for you.

..."A rule of thumb is Required Thrust per motor = ( Weight x 2 ) / 4"[2] There are a number of things you need to consider. The link given is a great place start your research about motors and propellers. I chose the 10x4.5 DJI Style Props for multirotors which I got from ebay. For the motors again, there are a number of options. "Motors are rated by kilovolts, and the higher the kV rating, the faster the motor spins at a constant voltage."[3] I went with the EMAX MT 2213 935KV Brushless Outrunner Motor (For Multirotors) again from ebay. The rotor and motor combo was recommended by a lot of people.

props.jpgbldvc.jpg

 

To control these, we need an ESC or electronic speed control which are usually an AVR microcontroller with MOSFETS which sequence out pulses for the BLDC motor operation. BLDC are brushless motors which have working similar to stepper motors but we can make these run at several thousand RPMs. You can buy single ESC for each motor but I bought a single 4 channel ESC EMax 4X25A Brushless Quadcopter SimonK ESC - (SimonK Firmware).

sdjkf.jpg

The next obvious part is the power. I initially though I would power them up from a bench PSU but I was wrong. I ended up

The ESC is rated at 25Amps for a reasons and I don't have that kind of power supply. Instead I bought a LiPo battery from ebay. It was the cheapest one that was above 2000mAh. Turnigy 2200mAh 3S 20C Lipo Pack (with XT60 Connector)

 

The rest of the hardware details as wel go along.

 

Testing the air

 

With that I wanted to check if things would work. Hence I set them up with an arduino. The code is pretty simple.

 

#include <Servo.h>

Servo esc1, esc2, esc3, esc4;
int throttlePin = 0;
char ser;


int throttle;
void setup()
{
  Serial.begin(9600);
  esc1.attach(3);
  esc2.attach(5);
  esc3.attach(9);
  esc4.attach(10);
}

void loop()
{
  //ser = Serial.read();


  int throttle = analogRead(throttlePin);
  throttle = map(throttle, 0, 1023, 0, 179);
  /*
  if(ser=='9'){
    throttle = 179;
  }else if(ser=='0'){
    throttle = 0;
  }else if(ser=='5'){
    throttle=100;
  }else{}
  */
  //Serial.println(throttle);
  esc1.write(throttle);
  esc2.write(throttle);
  esc3.write(throttle);
  esc4.write(throttle);
  //delay(2000);

//  esc1.write(0);
//  esc2.write(throttle);
// esc3.write(0);
  //esc4.write(0);
  //delay(2000);

// esc1.write(0);
  //esc2.write(0);
  //esc3.write(throttle);
  //esc4.write(0);
  //delay(2000);

  //esc1.write(0);
// esc2.write(0);
  //esc3.write(0);
  //esc4.write(throttle);
  //delay(2000);
}

 

There are four ESCs and four BLDCs. The result is...

 

So that works.

In the next post, I will discuss the frame...

 

References

[1] Quadcopter - Wikipedia, the free encyclopedia

[2] http://blog.oscarliang.net/how-to-choose-motor-and-propeller-for-quadcopter/

[3] http://quadcoptergarage.com/quadcopter-parts-list-what-you-need-to-build-a-diy-quadcopter/