Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Arduino based quadcopter design

2019, Arduino based quadcopter design

Abstract This paper proposes the design of a working prototype of radio controller (RC) controlled quadcopter which is realized based on Arduino UNO microcontroller as a flight controller. In this paper Arduino based quadcopter uses the flying advantage in order to provide a lot of useful function to humans, functions which are beyond the normal capability of a human. From defining and explaining the parts used in the prototype, it further tries to describe the operating systems. A schematic diagram that shows how the parts are interconnected to each other and work instantaneously to make the desired output is also included. The results were displayed and the programming was done on the Arduino IDE.

Gebrekidan Yonatan Yakob Department of mechanical and electrical engineering, university of electronic science and technology of china, china, E-mail: yonatanyakob52@gmail.com. 1. Abstract This paper proposes design of working prototype of radio controller (RC) controlled quadcopter which is realized based on Arduino UNO microcontroller as a flight controller. In this paper Arduino based quadcopter uses the flying advantage in order to provide a lot useful function to humans, functions which are beyond the normal capability of a human. From defining and explaining the parts used in the prototype, it further tries to describe the operating systems. A schematic diagram that shows how the parts are interconnected to each other and work instantaneously to make the desired output is also included. The results were displayed and the programming was done on the Arduino IDE. Key words: drone, UAV, quadcopter, Arduino, RC controller. 2. Introduction A quadcopter drone (or un-crewed aerial vehicle) is a four-winged aircraft without a human pilot on board and a type of unmanned Ariel vehicle (UAV). Drones are a component of an unmanned aircraft system (UAS); which include a UAV, a ground-based controller, and a system of communications between the two. the engineering materials used to build the quadcopter drone are highly complex composites designed to absorb vibration, which decrease the sound produced. These materials are very light weight. Quadcopters are a type of drone which have four wings. Quadcopters generally use two pairs of identical fixed pitched propellers; two clockwise (CW) and two counterclockwise (CCW). These use independent variation of the speed of each rotor to achieve control. By changing the speed of each rotor, it is possible to specifically generate a desired total thrust; to locate for the centre of thrust both laterally and longitudinally; and to create a desired total torque, or turning force [1]. In order for the drone to fly it needs a flight controller, A flight controller (FC) is the brain of the aircraft. It’s basically a circuit board with sensors that detects orientation changes of the drone. It also receives user commands, and controls the motors in order to keep the quadcopter in the air. Nearly all flight controllers have basic sensors such as Gyro (Gyroscopes) and Acc (Accelerometer). Some FC might include more advanced sensors such as Barometer (barometric pressure sensors) and magnetometer (compass). Flight controller is also a hub for many other peripherals, such as GPS, LED, Sonar sensor etc. [2]. There are many kinds of flight controllers available commercially. But for this project Arduino is used as a flight controller. The reason why Arduino is used to build this quadcopter is that most of other flight controllers are expensive and they are not flexible, that means a person can edit and change only some basic settings. But when it comes to Arduino, compared to other flight controllers it is cheaper and it is very flexible. It can be edited, as it is an open source hardware, also there are many resources on YouTube and other websites. it is also possible for Arduino to be equipped with different state of the art technology such as infrared cameras, GPS and laser (consumer, commercial and military UAV), ultrasonic sensors, cameras and many others. So using Arduino as a flight controller is beneficial. 3. Flight controllers A flight controller (FC) is a small circuit board of varying complexity. Its function is to direct the RPM of each motor in response to input. A command from the pilot for the multi-rotor to move forward is fed into the flight controller, which determines how to manipulate the motors accordingly [3]. A lot of flight controllers have been manufactured over the years. DJI Naza Lite flight controllers and CC3D flight controllers are the most popular flight controllers. DJI Naza Lite flight controllers are the ultimate flight controllers, easy to set up, with a multitude of features, optimized ease of use, and relatively straightforward setup. The CC3D too is relatively easy to set up, leaning on a software wizard to configure the board, step-by-step. It features multiple flight modes, including self-leveling and completely manual input. It lacks the autonomous natures of the Naza, as well as GPS lock. 4. Components The components which are used to build the Arduino based quadcopters are listed below. i) Drone frame Basically, the drone frame is the most important to build a drone. It helps to mount the motors, battery, and other parts on it. If you want to build a copter or a glide, you first need to decide what frame you will buy or build. For example, if the drone is a tri-copter, the drone will be smaller, the number of motors will be three, the number of propellers will be three, the number of ESC will be three, and so on. If the drone is a quadcopter it will require four of each of the earlier specifications. For the gliding drone, the number of parts will vary. So, choosing a frame is important as the target of making the drone depends on the body of the drone. And a drone's body skeleton is the frame. In this paper for the purpose of this experiment quadcopter frame F450 is used. ii) Electronic speed control A quadcopter’s flight must be controlled and balanced in a certain way. The motors are controlled by little units called electronic speed controllers (ESCs) [7]. An electronic speed control or ESC is an electronic circuit that controls and regulates the speed of an electric motor. It may also provide reversing of the motor and dynamic braking. Miniature electronic speed controls are used in electrically powered radio-controlled models. Full-size electric vehicles also have systems to control the speed of their drive motors. An electronic speed control follows a speed reference signal (derived from a throttle lever, joystick, or other manual input) and varies the switching rate of a network of field effect transistors (FETs). By adjusting the duty cycle or switching frequency of the transistors, the speed of the motor is changed. The rapid switching of the transistors is what causes the motor itself to emit its characteristic high-pitched whine, especially noticeable at lower speeds. Different types of speed controls are required for brushed DC motors and brushless DC motors. A brushed motor can have its speed controlled by varying the voltage on its armature. (Industrially, motors with electromagnet field windings instead of permanent magnets can also have their speed controlled by adjusting the strength of the motor field current.) A brushless motor requires a different operating principle. The speed of the motor is varied by adjusting the timing of pulses of current delivered to the several windings of the motor. Brushless ESC systems basically create three-phase AC power, NOT like a VFD variable frequency drive, to run brushless motors. Brushless motors are popular with radio-controlled airplane hobbyists because of their efficiency, power, longevity and light weight in comparison to traditional brushed motors. Brushless DC motor controllers are much more complicated than brushed motor controllers. The correct phase varies with the motor rotation, which is to be taken into account by the ESC: Usually, back EMF from the motor is used to detect this rotation, but variations exist that use magnetic (Hall effect) or optical detectors. Computer-programmable speed controls generally have userspecified options which allow setting low voltage cut-off limits, timing, acceleration, braking and direction of rotation. Reversing the motor's direction may also be accomplished by switching any two of the three leads from the ESC to the motor. For this experiment Simonk 30A ESC is used. iii) Brushless DC electric motor A brushless DC electric motor (BLDC motor or BL motor), also known as electronically commutated motor (ECM or EC motor) and synchronous DC motors, are synchronous motors powered by direct current (DC) electricity via an inverter or switching power supply which produces an alternating current (AC) electric current to drive each phase of the motor via a closed loop controller. The controller provides pulses of current to the motor windings that control the speed and torque of the motor. iv) Propellers We have two kinds of propellers, also called props, used in a quadcopter drones. They are as follows: 1) Standard Prop The “tractor” propeller are the props at the front of the quadcopter. These props pull the quadcopter through the air like a tractor. Most drone propellers are made of plastic and the better quality made of carbon fiber. It is also possible to buy and use drone prop guards which is necessary especially if you are flying indoors or near people. This is also an area where we are seeing plenty of innovation. Better prop design will assist with giving a better flying experience and longer flight times. There is also some big innovation towards low noise UAV props. It is always a good practice to inspect the props before flying and carry an extra set in case there is some damage on a prop. It is too risky to fly with a damaged or bent prop. 2) Pusher Prop The Pusher props are at the back and push the UAV forward hence the name “Pusher props”. These contra-rotating props exactly cancel out motor torques during stationary level flight. Opposite pitch gives downdraft. Again, can be made of plastic with the better pusher props made of carbon fiber. You can also purchase guards for the pusher props. Same as for tractor props. It is good to Inspect before each flight and carry a spare set. v) Arduino as flight controller Arduino is open-source hardware. The hardware reference designs are distributed under a Creative Commons Attribution Share-Alike 2.5 license and are available on the Arduino website. Layout and production files for some versions of the hardware are also available. Arduino board designs use a variety of microprocessors and controllers. The boards are equipped with sets of digital and analog input/output (I/O) pins that may be interfaced to various expansion boards or breadboards (shields) and other circuits. The boards feature serial communications interfaces, including Universal Serial Bus (USB) on some models, which are also used for loading programs from personal computers. The microcontrollers are typically programmed using a dialect of features from the programming languages C and C++. In addition to using traditional compiler toolchains, the Arduino project provides an integrated development environment (IDE) based on the Processing language project. Many Arduino-compatible and Arduino-derived boards exist. Some are functionally equivalent to an Arduino and can be used interchangeably. Many enhance the basic Arduino by adding output drivers, often for use in school-level education, to simplify making buggies and small robots. Others are electrically equivalent but change the form factor, sometimes retaining compatibility with shields, sometimes not. Some variants use different processors, of varying compatibility. IDE The Arduino integrated development environment (IDE) is a cross-platform application (for Windows, macOS, Linux) that is written in the programming language Java. It originated from the IDE for the languages Processing and Wiring. It includes a code editor with features such as text cutting and pasting, searching and replacing text, automatic indenting, brace matching, and syntax highlighting, and provides simple one-click mechanisms to compile and upload programs to an Arduino board. It also contains a message area, a text console, a toolbar with buttons for common functions and a hierarchy of operation menus. Sketch A sketch is a program written with the Arduino IDE. Sketches are saved on the development computer as text files with the file extension of .ino. Arduino Software (IDE) pre-1.0 saved sketches with the extension of .pde. A minimal Arduino C/C++ program consists of only two functions: • setup (): This function is called once when a sketch starts after power-up or reset. It is used to initialize variables, input and output pin modes, and other libraries needed in the sketch. • loop (): After setup () function exits (ends), the loop () function is executed repeatedly in the main program. It controls the board until the board is powered off or is reset [4]. vi) Battery A lithium polymer battery, or more correctly lithium-ion polymer battery (abbreviated as LiPo, LIP, Li-poly, lithium-poly and others), is a rechargeable battery of lithium-ion technology using a polymer electrolyte instead of a liquid electrolyte. High conductivity semisolid (gel) polymers form this electrolyte. These batteries provide higher specific energy than other lithium battery types and are used in applications where weight is a critical feature, like mobile devices and radiocontrolled aircraft [5]. Lithium polymer (LiPo) batteries offer the best combination of energy density, power density, and lifetime on the market. It’s always great to carry a spare battery or 2. It is necessary to Read and follow the instructions for charging and storing the battery to make sure it lasts a long time. It is also important to check the battery doesn’t overheat. So for this experiment LIPO batteries are used. vii) RC transmitter and receiver • • Transmitter: - It is and held controller that sends the pilots inputs to the airplane. The transmitter converts the pilot's movements into a radio signal in a process called modulation. The transmitter then broadcasts this signal to the receiver. Receiver: - It is electronic unit that is placed in the quadcopter. It receives signals from the transmitter and send these signals to the Arduino board in order to control the motors. The receiver inside the quadcopter picks up this signal. The receiver pulls the information from the radio waves and relays this information to the flight controller. viii) MPU-6050 accelerometer and gyroscope The MPU6050 is a Micro Electro-Mechanical Systems (MEMS) which consists of a 3-axis Accelerometer and 3-axis Gyroscope inside it. This helps us to measure acceleration, velocity, orientation, displacement and many other motions related parameter of a system or object. This module also has a (DMP) Digital Motion Processor inside it which is powerful enough to perform complex calculation and thus free up the work for Microcontroller. 3) Schematic diagram of the circuit board connection Schematic diagram of the circuit board connection of the quadcopter is given below on figure 1 [6]. figure 1: 4) Working principle for this quadcopter to work we need 4 brushless motors, 4 ESCs, a transmitter and a receiver, Arduino UNO as a flight controller, MPU-6050 gyroscope, LIPO battery as a main part and we have some resistors, diodes and LED as an indicator. As in the schematic diagram above in fig 2.1, the battery is directly connected to the electronic speed controllers and the electronic speed controllers are connected to each of the dc motors respectively. And also, the ESC is connected to the Arduino board in order to receive a command to control the motors. The command to control the motors speed is going to be send from the flight controller, for this case it is Arduino. On the other hand, the gyroscope is connected to the Arduino board in order for the Arduino to know the exact position and level of the drone. The receiver is also connected to the Arduino board, which is useful to receive data or a command from a person on the ground and transmit the command to the Arduino, and after receiving the command the Arduino compares the incoming command with position information which is obtained from the gyroscope, then after comparing the Arduino sends a controlling signal to ESC to control the motors. The working principle looks very easy but the Arduino program and the process of controlling the whole system is difficult. The whole system is powered by a rechargeable lithium ion battery. It is applied directly on the electronic speed controllers (ESC). Then the Arduino UNO is connected to the 5v output of motor controller. The components and their position on the quadcopter are shown on figure 2. Gyroscope RC transmitter ESC (electronic speed controllers) Arduino UNO board Quadcopter frame F450 figure 2: Receiver Brushless dc electric motors propellers 5) Control system The whole frame of the quadcopter including ESCs, motors, the gyroscope, the receiver and other components work and controlled by the Arduino UNO as mentioned above. For this project the program on the Arduino is divided into three parts. The first program is for calibrating the ESC. The second program is for the flight controller. The last one is for transmitter setup. As a sample a part ESC calibrating code is shown on Figure 3. Figure 3: 6) Future promises For the future this Arduino based quadcopter can be optimized. It can add many features including self-balancing without human interference, collision omitting ability by using some additional sensors, by adding a GPS module to the quadcopter it is possible to make it follow a specific path. 7) Conclusion Generally, a quadcopter is a lifting device which is capable of moving, often used for lifting heavy loads for industrial or construction purpose. In this design of the quadcopter Arduino UNO was used as a flight controller device, which is an open-source microcontroller board based on the Microchip ATmega328P chip and developed by Arduino.cc. And F450 quadcopter was chosen to implement the design. The final prototype was built and the result seemed very satisfying. For the future in order to improve the performance and the ability of this Arduino based quadcopter, adding some additional features mentioned in the future promises would be great. References [1]. Stafford, Jesse (Spring 2014). "How a Quadcopter works | Clay Allen". University of Alaska, Fairbanks. Retrieved 2015-01-20. [2]. https://oscarliang.com/best-flight-controller-quad-hex-copter/ [3].https://www.tomshardware.com/reviews/multi-rotor-quadcopter-fpv,3828-3.html [4]. https://en.wikipedia.org/wiki/Arduino [5]. https://en.wikipedia.org/wiki/Lithium_polymer_battery [6]. http://www.brokking.net/ymfc-32_main.html [7]. Justo P, 2016, “make: DIY drone and quadcopter projects”, San Francisco, Maker Media, Inc.,