Trybotics Logo

Autopilot Drone

DESCRIPTION

Normally we see drones controlled using an RF remote, or for autopilot using a GPS module to control it automatic by giving proper direction by it. But in my project, I have gone about things in another way using an Arduino Uno.

The main objective of this project is to collect data and 2D video information from a particular known area. In order to get the information, we must to assign the values of length and width that the drone can travel using Arduino programming.

As its name suggests, autopilot means that the drone will be handled by itself, while controlling action of the drone will be handled by a flight controller that has built-in sensors to balance the drone. An Arduino Uno is the brain of the system, which gives the proper signal to flight controller. To maintain stability and sustained operation, I used an OpenPilot CC3D microcontroller (or any flight controller), along with a camera to capture live data with weather monitoring sensors. Finally, the system includes a Bluetooth module to turn the dronon/off and display the live data using a Android mobile device.

ARDUINO UNO

as we know the arduino Uno is a Atmega Micro controller. here i generated PWM signals to control the Drone.

CC3D flight Controller:

as we seen in above fig shows the a flight controller which having inbuilt gyro and accelerator controller and auto leveling features.

But these micro controllers company provides its own software to program it, and its is user friendly to use.

these micro controller needs a PWM signals for input to control the individual BLDC motors. these signals will be generated by arduino uno.

TYPES OF DRONE DESIGNS

as you see above there are two types of drone designs available for quad format drones, depending upon what direction you place the flight controller you can chose the quad format

the direction indication will be printed with respect chosen flight controllers, with respect to the chosen format the propeller direction also most important, CW (clock wise) and CCW (counter clock wise).

ESC CONNECTION

CLOCK WISE

Clock wise we need to connect the wires as shown above

COUNTER CLOCK WISE

for Counter Clock wise we need to interchange any two wires so that phase of an voltage apply to motor will so it changes the motor direction

MOTOR-ESC-FLIGHT CONTROLLER CONNECTION

ESC CONTROL CONNECTION

ESC also having a 3 wires with 2 power cables,

these 3 wires having VCC, GROUND and INPUT SIGNAL pin which takes data from FLIGHT CONTROLLER to spin the BLDC Motors.

other 2 Wires are power cables rated for higher current so use thicker wires, and these cables are common with the battery.

FINAL WIRING DIAGRAM WITH ARDUINO UNO

here i used a UART protocal but no data is converted parallel to serial. direct PWM signals are applied from arduino to CC3d with respect to delay.

MOBILE APP

the above snap show the android application which is build using an open source website which mentioned below. using this app we can turn on and turn off the drone. and having another feature which makes we can get the sensor data in the serial window, that is a mobile phone.

buttons

start : this button will boots up the micro controller (CC3D flight controller)

mov : this makes drone to fly and does its operation which is programmed inside the arduino Uno

stop : it is a emergency stop button to turn off the drone (due to auto pilot drone no remote controller is present so provided extra button)

start sensor : when it pressed it displays the sensors data on a white screen which is shown below figure

we can see in that figure the temperature and humidity of values will be displayed when start sensor button is pressed.

Description:

Bluetooth Low Energy (BLE) Module (Generic)
×1
A000066 iso both
Arduino UNO & Genuino UNO
×1
flight controller (CC3D)
×1
20120702130508859
DHT11 Temperature & Humidity Sensor (4 pins)
×1
Drone frames,ESC ,battery 11.1V ,Brushless DC motor
×1

Description:

MIT App Inventor drone
using the above website will provide u to create your own android application that to free to access.
Ide web
Arduino IDE

Description:

Normally we see drones controlled using an RF remote, or for autopilot using a GPS module to control it automatic by giving proper direction by it. But in my project, I have gone about things in another way using an Arduino Uno.

The main objective of this project is to collect data and 2D video information from a particular known area. In order to get the information, we must to assign the values of length and width that the drone can travel using Arduino programming.

As its name suggests, autopilot means that the drone will be handled by itself, while controlling action of the drone will be handled by a flight controller that has built-in sensors to balance the drone. An Arduino Uno is the brain of the system, which gives the proper signal to flight controller. To maintain stability and sustained operation, I used an OpenPilot CC3D microcontroller (or any flight controller), along with a camera to capture live data with weather monitoring sensors. Finally, the system includes a Bluetooth module to turn the dronon/off and display the live data using a Android mobile device.

ARDUINO UNO

as we know the arduino Uno is a Atmega Micro controller. here i generated PWM signals to control the Drone.

CC3D flight Controller:

as we seen in above fig shows the a flight controller which having inbuilt gyro and accelerator controller and auto leveling features.

But these micro controllers company provides its own software to program it, and its is user friendly to use.

these micro controller needs a PWM signals for input to control the individual BLDC motors. these signals will be generated by arduino uno.

TYPES OF DRONE DESIGNS

as you see above there are two types of drone designs available for quad format drones, depending upon what direction you place the flight controller you can chose the quad format

the direction indication will be printed with respect chosen flight controllers, with respect to the chosen format the propeller direction also most important, CW (clock wise) and CCW (counter clock wise).

ESC CONNECTION

CLOCK WISE

Clock wise we need to connect the wires as shown above

COUNTER CLOCK WISE

for Counter Clock wise we need to interchange any two wires so that phase of an voltage apply to motor will so it changes the motor direction

MOTOR-ESC-FLIGHT CONTROLLER CONNECTION

ESC CONTROL CONNECTION

ESC also having a 3 wires with 2 power cables,

these 3 wires having VCC, GROUND and INPUT SIGNAL pin which takes data from FLIGHT CONTROLLER to spin the BLDC Motors.

other 2 Wires are power cables rated for higher current so use thicker wires, and these cables are common with the battery.

FINAL WIRING DIAGRAM WITH ARDUINO UNO

here i used a UART protocal but no data is converted parallel to serial. direct PWM signals are applied from arduino to CC3d with respect to delay.

MOBILE APP

the above snap show the android application which is build using an open source website which mentioned below. using this app we can turn on and turn off the drone. and having another feature which makes we can get the sensor data in the serial window, that is a mobile phone.

buttons

start : this button will boots up the micro controller (CC3D flight controller)

mov : this makes drone to fly and does its operation which is programmed inside the arduino Uno

stop : it is a emergency stop button to turn off the drone (due to auto pilot drone no remote controller is present so provided extra button)

start sensor : when it pressed it displays the sensors data on a white screen which is shown below figure

we can see in that figure the temperature and humidity of values will be displayed when start sensor button is pressed.

Description:

interface of Sensors DHT11Arduino
using this program we can display humidity and temperature in the Serial Monitor
#include<Servo.h>
#include <dht.h>
dht DHT;
#define DHT11_PIN 10
String voice;
void setup() 
{
Serial.begin(9600); 
}
void loop() 
{
int chk =DHT.read11(DHT11_PIN);
Serial.print("Temperature = ");
Serial.println(DHT.temperature);
Serial.print("Humidity =");
Serial.println(DHT.humidity);
delay(1000);
}
interface of Bluetooth module Arduino
this program will show simple led on and off operation using Arduino Uno and Bluetooth
/* simple program to control a LED on pin 13 of arduino using a bluetooth module
*/
char data = 0;            //Variable for storing received data
void setup()
{
    Serial.begin(9600);   //Sets the baud for serial data transmission                               
    pinMode(13, OUTPUT);  //Sets digital pin 13 as output pin
}
void loop()
{
   if(Serial.available() > 0)      // Send data only when you receive data:
   {
      data = Serial.read();        //Read the incoming data & store into data
      Serial.print(data);          //Print Value inside data in Serial monitor
      Serial.print("\n");        
      if(data == '1')           
         digitalWrite(13, HIGH);   //If value is 1 then LED turns ON
      else if(data == '0')         
         digitalWrite(13, LOW);    //If value is 0 then LED turns OFF
   }
}

Description:

interface of Bluetooth module
here we use a Bluetooth module (HC-05) for bidirectional communication purpose, for turn ON the drone and to receive the sensor data's.
two resistors are used as a voltage divider to step down the 5 volts to 3.3 volts so that Bluetooth can receive the data from the Arduino Uno.
The circuit is so simple and small , there is only few connection to be made
Arduino Pins Bluetooth Pins
RX (Pin 0) ———-> TX
TX (Pin 1) ———-> RX
5V ———-> VCC
GND ———-> GND
Untitled ffh3jam7nl
interface of Sensors
The DHT11 measures relative humidity. Relative humidity is the amount of water vapor in air vs. the saturation point of water vapor in air. At the saturation point, water vapor starts to condense and accumulate on surfaces forming dew.The DHT11 uses just one signal wire to transmit data to the Arduino interface diagram is shown in above fig. Using DHTLib library. It has all the functions needed to get the humidity and temperature readings from the sensor which is shown below program.
Hum vlbbmksfzb
Interface of Arduino Uno with flight controller
The flight controller (Cc3d) will provides 5 input control pins which gives the 4 movement actions to the drone they are throttle, roll, yaw, and pitch. These pins need a PWM signal to work, so we will generate the PWM signal using Arduino Uno. By proper planning and sketch of a particular are we can program the Arduino by calling function with delay.
Img 20180625 215150 0ev4qn0cao


YOU MIGHT ALSO LIKE