QUADCOPTER COMPONENTS
We may think that in building a quad copter the most important steps are to know what parts you need, ensure that you understand their functions, and then finally place our order, this will take some time, especially if we dont know much about drones.
The main components on building a quad copter are listed below:
Atmel AtMega32p
The device is manufactured using Atmels high density on-volatile memory technology. The On-chip ISP Flash allows the program memory to be reprogrammed In System through an SPI serial interface, by a conventional non-volatile memory programmer, or by an On-chip Boot program running on the AVR core. The Boot program can use any interface to download the application program in the Application Flash memory. Software in the Boot Flash section will continue to run while the Application Flash section is updated, providing true Read-While-Write operation. ATmega328/P is a powerful microcontroller that provides a highly flexible and cost effective solution to many embedded control applications. The ATmega328/P AVR is supported with a full suite of program and system development tools including: C Compilers, Macro Assemblers, and Program
Debugger/Simulators, In-Circuit Emulators and Evaluation kits.
The device is manufactured using Atmels high density on-volatile memory technology. The On-chip ISP Flash allows the program memory to be reprogrammed In System through an SPI serial interface, by a conventional non-volatile memory programmer, or by an On-chip Boot program running on the AVR core. The Boot program can use any interface to download the application program in the Application Flash memory. Software in the Boot Flash section will continue to run while the Application Flash section is updated, providing true Read-While-Write operation. ATmega328/P is a powerful microcontroller that provides a highly flexible and cost effective solution to many embedded control applications. The ATmega328/P AVR is supported with a full suite of program and system development tools including: C Compilers, Macro Assemblers, and Program
Debugger/Simulators, In-Circuit Emulators and Evaluation kits.
ARDUINO UNO
Arduino is an open-source prototyping platform based on easy-to-use hardware and software. Arduino boards are able to read inputs - light on a sensor, a finger on a button, or a Twitter message - and turn it into an output - activating a motor, turning on an LED, publishing something online. Arduino IDE (Integrated Development Environment) is use to upload programs to the arduino Boards and these microcontroller boards can be used to perform intended tasks.
Frame Styles
One of the most important part of multi rotor is it's frame because it supports motor and other component and prevents them from vibration. Two types of frame styles are common ACRO and FPV (First Person View). ACRO frame are perfect X shape. FPV frame are different in shape and come in multiple styles X and H. Structure of the frame contain Arm, Central Plate and Landing Skid.
We can make frame from any material like Carbon fibre, PVC pipes, Aluminium or Plywood but make sure it enough strength to withstand impact and rough landings. Frame weight should be 150-250 grams. Size of multi rotor frame, there is no thumb rule for medium size quad copter(four rotor) 450-550 mm motor to motor frame is enough. If our frame is to big compare the your power setup(motor-prop, esc, battery) it will flight with each other. We want to build quad copter so make sure the angle between two arms is 90 degree and also check arm are twisted.
Making frame is truly depends our imagination, skill and available of material. Also we can simply buy readymade Frame from the market
Motor
One of the important part of multi rotor is its motor. It's a part of power system. In fact whole power system depends on selection of motor so we should be very careful while selecting motor. We use Brushless motors (BLDC) for multi rotor.
The motors have an obvious purpose to spin the propellers. There are tons of motors on the market suitable for quad copters. Motors are rated by kilovolts (KV), and the higher the kV rating, the faster the motor spins at a constant voltage. When purchasing motors, most websites will indicate how many amps the ESC you pair it with should be and the size of propeller we should use.
Thrust Requirement
First, of all, estimate the total weight of our quad copter. Dont worry if we cant get the total weight precisely the first time, it can just be we best guess. It should include everything we plan to take on-board: frame, FC, PDB, motors, propellers, ESCs, Li Po battery, payload .
One of the most important part of multi rotor is it's frame because it supports motor and other component and prevents them from vibration. Two types of frame styles are common ACRO and FPV (First Person View). ACRO frame are perfect X shape. FPV frame are different in shape and come in multiple styles X and H. Structure of the frame contain Arm, Central Plate and Landing Skid.
We can make frame from any material like Carbon fibre, PVC pipes, Aluminium or Plywood but make sure it enough strength to withstand impact and rough landings. Frame weight should be 150-250 grams. Size of multi rotor frame, there is no thumb rule for medium size quad copter(four rotor) 450-550 mm motor to motor frame is enough. If our frame is to big compare the your power setup(motor-prop, esc, battery) it will flight with each other. We want to build quad copter so make sure the angle between two arms is 90 degree and also check arm are twisted.
Making frame is truly depends our imagination, skill and available of material. Also we can simply buy readymade Frame from the market
Motor
One of the important part of multi rotor is its motor. It's a part of power system. In fact whole power system depends on selection of motor so we should be very careful while selecting motor. We use Brushless motors (BLDC) for multi rotor.
The motors have an obvious purpose to spin the propellers. There are tons of motors on the market suitable for quad copters. Motors are rated by kilovolts (KV), and the higher the kV rating, the faster the motor spins at a constant voltage. When purchasing motors, most websites will indicate how many amps the ESC you pair it with should be and the size of propeller we should use.
Thrust Requirement
First, of all, estimate the total weight of our quad copter. Dont worry if we cant get the total weight precisely the first time, it can just be we best guess. It should include everything we plan to take on-board: frame, FC, PDB, motors, propellers, ESCs, Li Po battery, payload .
Thrust to Weight Ratio
A rule of thumb is that the multi rotor should be able to at least provide two times the amount of thrust than the total weight. Remember that this is the minimum magnitude of thrust required by a drone so that it becomes easier to placing certain location. With a thrust that is not comparable to the weight of the drone, our device might not even possess enough power to take off.
Lets consider this example. If we have a quad copter with an overall weight of about 1 Kg, the total thrust that the motors should be able to produce at maximum throttle should be 2 Kg at the minimum or say 500 g per motor in case of a quad copter.
For faster flying like drone racing, we should expect the ratio to go much higher than this. Its not uncommon to see someone build a mini quad that can achieve 8:1, even 10:1 thrust to weight ratio .Using For aerial videography and photography, we recommend we to go for a thrust to weight ratio of 3:1 or 4:1.
A rule of thumb is that the multi rotor should be able to at least provide two times the amount of thrust than the total weight. Remember that this is the minimum magnitude of thrust required by a drone so that it becomes easier to placing certain location. With a thrust that is not comparable to the weight of the drone, our device might not even possess enough power to take off.
Lets consider this example. If we have a quad copter with an overall weight of about 1 Kg, the total thrust that the motors should be able to produce at maximum throttle should be 2 Kg at the minimum or say 500 g per motor in case of a quad copter.
For faster flying like drone racing, we should expect the ratio to go much higher than this. Its not uncommon to see someone build a mini quad that can achieve 8:1, even 10:1 thrust to weight ratio .Using For aerial videography and photography, we recommend we to go for a thrust to weight ratio of 3:1 or 4:1.
KV
Motors are identified by a 4-digit number AABB. AA corresponds to the stator width while the BB represents the stator height. KV is another factor (velocity constant) .It are referred to as KV, KV, and KV but not in kV(kilo volt). It is the theoretical increment in rotors revolutions per minute (RPM) when the voltage would increase by 1 Volt without any load. The rotating speed of motor equal to the multiply of KV and Voltage. For example 1000KV motor powered with 11.6V power supply. Rotating speed is 1000 x 11.60 = 11600 revolution per minute. KV are related to power out from a motor or more usefully the torque level of motor. Low KV motor, it will carry more volt at less amps and produce a higher torque and swing bigger and low pitched prop. The higher KV value will cause lower torque. Therefore the KV value is highly affect choose of propeller, since larger propeller needs higher torque (lower KV) to rotate.
For racing and acrobatics more suitable low KV motor that are rated over 1200kv. For a heavy payload motor that are rated under 850kv or 1000kv. weight more than 1kg use a motor below 1000kv, between 500 to 1000 grams use motor between 900 to 1300kv and craft below 500 grams motor around 1300 to 2200kv
Motors are identified by a 4-digit number AABB. AA corresponds to the stator width while the BB represents the stator height. KV is another factor (velocity constant) .It are referred to as KV, KV, and KV but not in kV(kilo volt). It is the theoretical increment in rotors revolutions per minute (RPM) when the voltage would increase by 1 Volt without any load. The rotating speed of motor equal to the multiply of KV and Voltage. For example 1000KV motor powered with 11.6V power supply. Rotating speed is 1000 x 11.60 = 11600 revolution per minute. KV are related to power out from a motor or more usefully the torque level of motor. Low KV motor, it will carry more volt at less amps and produce a higher torque and swing bigger and low pitched prop. The higher KV value will cause lower torque. Therefore the KV value is highly affect choose of propeller, since larger propeller needs higher torque (lower KV) to rotate.
For racing and acrobatics more suitable low KV motor that are rated over 1200kv. For a heavy payload motor that are rated under 850kv or 1000kv. weight more than 1kg use a motor below 1000kv, between 500 to 1000 grams use motor between 900 to 1300kv and craft below 500 grams motor around 1300 to 2200kv
Voltage and Current Draw
Its important to understand that voltage has a large impact on our motor and propeller choice too. Your motor will try to spin much harder when a higher voltage is applied, and thus drawing a higher current. Always check thrust data first. Now you select ESC of the required current rating.
Its important to understand that voltage has a large impact on our motor and propeller choice too. Your motor will try to spin much harder when a higher voltage is applied, and thus drawing a higher current. Always check thrust data first. Now you select ESC of the required current rating.
Motor Specification
When selecting motors, there is usually specification of motor are provided by the seller or manufacturer. We should be able to find information about the power, thrust, weight. Etc. For example
When selecting motors, there is usually specification of motor are provided by the seller or manufacturer. We should be able to find information about the power, thrust, weight. Etc. For example
KV : 1000kv
Weight : 47g
Operating current : 4A~10A
Peak current : 12A
Dimension : 27.5 30 mm
Shaft size : 3.17 mm
Suggested prop : 10.11 4.7
Battery unit : 2-3S Li Po
Weight : 47g
Operating current : 4A~10A
Peak current : 12A
Dimension : 27.5 30 mm
Shaft size : 3.17 mm
Suggested prop : 10.11 4.7
Battery unit : 2-3S Li Po
ESC (Electronics Speed Controller)
ESC are controlling speed of motor. ESC is ability to switch maximum current required to all motor and ability to withstand the voltage from the battery. Normally ESC is rated in Amperage rating. Standard rage of ESC is 12A-40A for multi rotor.
How to Select ESC
Selected ESC must be higher than max amp rating of motor.
ESC max current rating is 1.5x max amp rating of motor
ESC mini current rating is 1.2x max amp rating of motor
For example, selected motor draw maximum 12 Amp so ESC rating should be in between 10A to 18A. It's not a thumb rule and also check ESC are programing facility.
ESC are controlling speed of motor. ESC is ability to switch maximum current required to all motor and ability to withstand the voltage from the battery. Normally ESC is rated in Amperage rating. Standard rage of ESC is 12A-40A for multi rotor.
How to Select ESC
Selected ESC must be higher than max amp rating of motor.
ESC max current rating is 1.5x max amp rating of motor
ESC mini current rating is 1.2x max amp rating of motor
For example, selected motor draw maximum 12 Amp so ESC rating should be in between 10A to 18A. It's not a thumb rule and also check ESC are programing facility.
Types
1.4 in One
4 in one ESC which four ESC are join to get to form a single board. This is small weight and it improve weight distribution.
2.BEC
Technically BEC stand for battery eliminating circuit. simple means that ESC with a BEC are able to output constant voltage and power the equipment (receiver, flight controller etc.)
3.OPTO ESC
ESC without BEC are often referred to as opt isolator.It means ESC that receiver the signal from flight controller or R/C receiver is isolated from the higher voltage circuit that powering to motor
Battery
In order to get a best flight time and performance it important choosing best Li Po battery. Li Po (Lithium polymer battery) have high energy density, high discharge rate and light weight. Li Po battery are specified in Discharging Rate(C rating), current Draw in milliamp hours (mAh),and cell count(S)
Max continous Amps draw =Battery capacity(Ah)x10^-3xDischarging rate(C)
Choosing battery, first calculate total Amp rating of each motor in multi rotor. Quad copter are four motor for example current draw of motor is 12Amp then 4x12=48A we have 3500mAh 3Cell Li Po battery 25C rating
Therefor total continous output=55A
1.4 in One
4 in one ESC which four ESC are join to get to form a single board. This is small weight and it improve weight distribution.
2.BEC
Technically BEC stand for battery eliminating circuit. simple means that ESC with a BEC are able to output constant voltage and power the equipment (receiver, flight controller etc.)
3.OPTO ESC
ESC without BEC are often referred to as opt isolator.It means ESC that receiver the signal from flight controller or R/C receiver is isolated from the higher voltage circuit that powering to motor
Battery
In order to get a best flight time and performance it important choosing best Li Po battery. Li Po (Lithium polymer battery) have high energy density, high discharge rate and light weight. Li Po battery are specified in Discharging Rate(C rating), current Draw in milliamp hours (mAh),and cell count(S)
Max continous Amps draw =Battery capacity(Ah)x10^-3xDischarging rate(C)
Choosing battery, first calculate total Amp rating of each motor in multi rotor. Quad copter are four motor for example current draw of motor is 12Amp then 4x12=48A we have 3500mAh 3Cell Li Po battery 25C rating
Therefor total continous output=55A
Propeller
Basically propeller is type of fan that convert rotational motion into thrust and transmit the generated power. Propeller is specified by 4 digit number first two number is diameter and last two number is pitch Both are in inches. eg: 10x4.5 Diameter of prop is the diameter of a virtual circle make when it is spinning and Pitch can define as the travel distance of one single prop rotation. Larger prop. the more energy it take to spin it and more thrust produced.
Select motor first and decide ESC, Li Po battery and propeller. It is not a thrum rule. Calculate approximate weight of you multi rotor and take twice total weight. Then give thrust of each motor. Choose motor, and select Li Po battery from manual of motor thrust table also give propeller size
Higher diameter or pitch prop required to low KV motor and Low pitch or diameter prop need to higher KV motor. On every multi rotor there are pair of CW(clockwise) and CCW(counter clockwise) prop .Normally two blade prop are using for racing and free style flying. Tri blades are more grip in air but more current draw
Basically propeller is type of fan that convert rotational motion into thrust and transmit the generated power. Propeller is specified by 4 digit number first two number is diameter and last two number is pitch Both are in inches. eg: 10x4.5 Diameter of prop is the diameter of a virtual circle make when it is spinning and Pitch can define as the travel distance of one single prop rotation. Larger prop. the more energy it take to spin it and more thrust produced.
Select motor first and decide ESC, Li Po battery and propeller. It is not a thrum rule. Calculate approximate weight of you multi rotor and take twice total weight. Then give thrust of each motor. Choose motor, and select Li Po battery from manual of motor thrust table also give propeller size
Higher diameter or pitch prop required to low KV motor and Low pitch or diameter prop need to higher KV motor. On every multi rotor there are pair of CW(clockwise) and CCW(counter clockwise) prop .Normally two blade prop are using for racing and free style flying. Tri blades are more grip in air but more current draw
RC Transmitter and Receiver
A RC transmitter (TX) is a device that allows the pilots to control the aircraft wirelessly. The signal/commands are then received by a radio receiver (RX) which is connected to a flight controller. A radio controller usually comes with a receiver (RX). Its important to know that a TX normally only works with radio receiver (RX) from the same brand. Readymade frame from the market
Once weve worked out quad copter weight and frame size,we can now calculate roughly how much thrust the motors need to deliver in order to lift the aircraft, by using propellers of certain sizes.
Program for running quad copter
//neutral accelerometer/gyro positions
#define X_ZERO 332
#define Y_ZERO 324
#define Z_ZERO 396
#define PITCH_ZERO 249
#define ROLL_ZERO 249
#define YAW_ZERO 248
//neutral accelerometer/gyro positions
#define X_ZERO 332
#define Y_ZERO 324
#define Z_ZERO 396
#define PITCH_ZERO 249
#define ROLL_ZERO 249
#define YAW_ZERO 248
#define GYRO_CON 1.47
#define ACCEL_CON 0.93
#define ACCEL_CON 0.93
#define TIME_CON 0.02
#define SEN_CON 0.95
#define SEN_CON 0.95
//motor speed vars
int speeds[4];
int speeds[4];
//gyro inputs - current tilt vars
float pitch, roll, yaw;
int pitchzero, rollzero;
//accelerometer inputs - current acceleration vars
float xin, yin, zin;
float pitch, roll, yaw;
int pitchzero, rollzero;
//accelerometer inputs - current acceleration vars
float xin, yin, zin;
//human inputs - control info vars
float pitchin, rollin, yawin, zhuman;
float pitchin, rollin, yawin, zhuman;
//random other vars
float xaverage=0, yaverage=0;
int y=0;
int blah;
float xaverage=0, yaverage=0;
int y=0;
int blah;
//proportionality constants
float p=2.5; // P proportionality constant
float d=0.5; // D proportionality constant
float p=2.5; // P proportionality constant
float d=0.5; // D proportionality constant
void setup() {
zhuman=0;
rollin=0;
Serial.begin(9600);
for(int x=6; x<10; x++) {
pinMode(x, OUTPUT);
}
zhuman=0;
rollin=0;
Serial.begin(9600);
for(int x=6; x<10; x++) {
pinMode(x, OUTPUT);
}
//send upper bound for human inputs to the motor speed controllers
for(int x=6; x<10; x++) {
pulsout(x,2000);
}
delay(5000);
for(int x=6; x<10; x++) {
pulsout(x,2000);
}
delay(5000);
//get zeros for pitch and roll human inputs
for(int x=0; x<10; x++) {
y=y+analogRead(3);
}
pitchzero=y/10;
y=0;
for(int x=0; x<10; x++) {
y=y+analogRead(4);
}
rollzero=y/10;
}
for(int x=0; x<10; x++) {
y=y+analogRead(3);
}
pitchzero=y/10;
y=0;
for(int x=0; x<10; x++) {
y=y+analogRead(4);
}
rollzero=y/10;
}
void loop () {
//accelerometer and gyro inputs ranged -232 to 232?
xin=(analogRead(0)-X_ZERO)*ACCEL_CON;
yin=(analogRead(1)-Y_ZERO)*ACCEL_CON;
zin=(analogRead(2)-Z_ZERO)*ACCEL_CON;
pitch=(pitchzero-analogRead(3))*GYRO_CON;
roll=(rollzero-analogRead(4))*GYRO_CON;
yaw=(analogRead(5)-YAW_ZERO)*GYRO_CON;
//accelerometer and gyro inputs ranged -232 to 232?
xin=(analogRead(0)-X_ZERO)*ACCEL_CON;
yin=(analogRead(1)-Y_ZERO)*ACCEL_CON;
zin=(analogRead(2)-Z_ZERO)*ACCEL_CON;
pitch=(pitchzero-analogRead(3))*GYRO_CON;
roll=(rollzero-analogRead(4))*GYRO_CON;
yaw=(analogRead(5)-YAW_ZERO)*GYRO_CON;
//get human inputs through radio here range of -30 to 30 except for zhuman which has an ideal range of 1000-2000, only 2 pulses per loop
if(blah==0) {
yawin=0.06*((signed int) pulseIn(2,HIGH)-1500);
pitchin=0.06*((signed int) pulseIn(3,HIGH)-1500);
blah=1;
}
else {
zhuman=(signed int) pulseIn(4,HIGH);
rollin=0.06*((signed int) pulseIn(5,HIGH)-1400); //1400 instead of 1500 is to correct for the underpowered motor #4 by trimming it in code
blah=0;
}
if(blah==0) {
yawin=0.06*((signed int) pulseIn(2,HIGH)-1500);
pitchin=0.06*((signed int) pulseIn(3,HIGH)-1500);
blah=1;
}
else {
zhuman=(signed int) pulseIn(4,HIGH);
rollin=0.06*((signed int) pulseIn(5,HIGH)-1400); //1400 instead of 1500 is to correct for the underpowered motor #4 by trimming it in code
blah=0;
}
//averaging, etc.
xaverage= SEN_CON *( xaverage + TIME_CON * pitch) + ( 1 - SEN_CON ) * xin;
yaverage= SEN_CON *( yaverage + TIME_CON * roll) + ( 1 - SEN_CON ) * yin;
xaverage= SEN_CON *( xaverage + TIME_CON * pitch) + ( 1 - SEN_CON ) * xin;
yaverage= SEN_CON *( yaverage + TIME_CON * roll) + ( 1 - SEN_CON ) * yin;
//calculate the motor speeds
if(zhuman<1150) {
for(int x=0; x<4; x++) {
speeds[x]=zhuman;
}
}
else {
if(zhuman > 1450) {
zhuman = 1450;
}
speeds[0] = zhuman - p*(xaverage - pitchin) - p*(yawin) - d*pitch;
speeds[1] = zhuman - p*(pitchin - xaverage) - p*(yawin) + d*pitch;
speeds[2] = zhuman - p*(yaverage - rollin) + p*(yawin) - d*roll;
speeds[3] = zhuman - p*(rollin - yaverage) + p*(yawin) + d*roll;
}
//set the upper and lower bounds for motor speeds (1000=no speed, 1600=upper speed limit, 2000=maximum possible speed)
for(int x=0; x<4; x++) {
//speed limit between 1000 and 1600
if(speeds[x]<1000) {
speeds[x]=1000;
}
if(speeds[x]>1600) {
speeds[x]=1600;
}
}
if(zhuman<1150) {
for(int x=0; x<4; x++) {
speeds[x]=zhuman;
}
}
else {
if(zhuman > 1450) {
zhuman = 1450;
}
speeds[0] = zhuman - p*(xaverage - pitchin) - p*(yawin) - d*pitch;
speeds[1] = zhuman - p*(pitchin - xaverage) - p*(yawin) + d*pitch;
speeds[2] = zhuman - p*(yaverage - rollin) + p*(yawin) - d*roll;
speeds[3] = zhuman - p*(rollin - yaverage) + p*(yawin) + d*roll;
}
//set the upper and lower bounds for motor speeds (1000=no speed, 1600=upper speed limit, 2000=maximum possible speed)
for(int x=0; x<4; x++) {
//speed limit between 1000 and 1600
if(speeds[x]<1000) {
speeds[x]=1000;
}
if(speeds[x]>1600) {
speeds[x]=1600;
}
}
//pulsouts to motor speed controllers
for(int x=0; x<4; x++) {
pulsout(x+6,speeds[x]);
}
}
void pulsout (int pin, int duration) {
digitalWrite(pin, HIGH);
delayMicroseconds(duration);
digitalWrite(pin, LOW);
for(int x=0; x<4; x++) {
pulsout(x+6,speeds[x]);
}
}
void pulsout (int pin, int duration) {
digitalWrite(pin, HIGH);
delayMicroseconds(duration);
digitalWrite(pin, LOW);
Comments
Post a Comment