Table of Contents
The beetles. Let It Fly!
Authors
- Jose Johel Rodriguez Pineda
- Emmanuel Fonseca Paniagua
Project Description
Basically the project is intended to build and “flash” a multicopter provided from the assets of Electrical Engineering School and the ARCOS-Lab. Prior to carrying out these processes is necessary to learn how to do it properly, so it is an essential first phase of study and research about the artifacts to use and software tools to make it work. At the end of the project is expected to have the multicopter running and also be able to explain how it was and what knowledge is obtained and applied during the process.
Objectives
General Objective
- Build and “flash” a multicopter for a proper operation.
Specific Objectives
- Study and understand the operation of the estructural parts of the multicopter (armed, propeller, engine, etc.) and the software (MultiWii, Arduino) for proper assembly and “flash”.
- Enlarge the documentation for creating multicopters step by step.
Methodology
Building
We are going to explain step by step the process that we follow to build the hexacopter. The type that we are building is a Y6 multicopter, that means it have three bars supporting the six engines (two for each bar) in a Y distribution, all the engines rotate to the same side, but one is placed over other so for real effects they rotate to the opposite side. We are not using a complete kit (this kits came with all the parts to make the building easily) so we have to make or change some pieces to make them work. Here is the explanation:
- Base platforms: we need a couple of platforms to place the controllers, the distribution and control cards, the battery and some other things that we could need. So this platforms were made with acrylic in an octagonal shape and with the size we need. Then we use a draw to make the necessary holes in the platform of the hexacopter on the right places, the platforms are not part of any kit, they were created for this specific work.
- Controllers and regulator: now the engine controllers can be connected to the distribution card and the x5 UBEC (regulator) can be connected to. The connectors have to be flashed to make them work how we want and the regulator is to control the output of energy and avoid damages on the card and the controllers.
- Placing the engines: the supports are ready, but we have some problems to place the engines, first some nuts clash with the presses second we can not screw correctly one engine of each pair. So we have to modify the nuts with a grinder so that they fit and we modify an allen wrench to so that could enter between the support cross and the engine.
- Controllers, receiver and control: using the control (ER9x) we can start the receiver (Fr Sky), first read the datasheet of the Fr Sky here http://www.frsky-rc.com/ShowProducts.asp?id=126 to be sure that you are doing it well.
- After that we have to flash the controllers to make them work how we want with the engines, to this we need the Advance Pro card, this card have some options that we can select according to our wishes. So we connect a battery to the distribution card, here we connect the controllers and the x5 UBEC and the controller that we are flashing and the UBEC have to be connected to the Advance Pro correctly. Following the controllers datasheet instructions we can made them work and with this the engines are working to.
- Finally we have just to put the cover platform, place the controller card already flashed centered on the upper cover and the battery under the lower platform, secure everything and it is ready.
Flashing
This section is about flashing the flight controller board using the MultiWii software, this is completely open source and is getting updated constantly, so it is important to look out for new versions of the software periodically. MultiWii is used to configure the “behavior” of the copter using the specific sensors of our board, most of the options stay on default, but some others have to be changed.
- First we need to download all the software files to our computer before begin installing anything. At first we download the Arduino program, it is essentially a tool that allows us to edit and flash the MultiWii software, the version of the Arduino we use is the latest one, Arduino 1.0.4, which is on this page http://arduino.cc/en/Main/Software , after decompress the file we run the arduino, for this is necessary have installed “openjdk-7-jre”, then the arduino can run.
- After the Arduino we need to download the MultiWii software that will be flashing the controller board. In this case we want to work with the “bleeding edge” to get the latest functions added and you can follow the instruction here https://code.google.com/p/multiwii/source/checkout but a part of that code have some errors, so you can fixed or search a previous version, they does not have so many differences.
- What we want first is to modificate the config.h, so we select it from the top of the panel and it shows all the configurable parameters to make MultiWii compatible with the hardware on your controller board. Here we are going to show the most relevant parameters for us, because the configuration is really large and it change for all different board.
- The first step is select what type of multirotor we have, just uncomment the line deleting the two “/” behind whatever you want to select and the color of the text will turn to to black. To deselect something you simply type two “/” behind whatever you want to deselect and its color will turn back to gray. In our case we select the “Y6” configuration. Type of multicopter > #define Y6
- Then we set MINTHROTTLE= 1150, MAXTHROTTLE = 2000, MINCOMMAND = 1000 and I2C_SPEED = 100000L, just make sure it is ok.
- Next step is to select the flight controller board, MultiWii give us some options by default, on the “bleeding edge” the MWC 328p or “Holybro”which is the one we are using is not on the default options, so we leave this step and have to select the independent sensors individually. But on the previous version the Holybro is present so you can select it and the sensors are already selected.
- This are the sensors we choose. I2C gyroscope: #define ITG3200, I2C acelerometer: #define BMA180, I2C barometer: #define BMP085, I2C magnetometer: #define HMC5883.
- Those are the main changes that we do to the config.h, we review all the other options and just make sure they are correct, there are so many other configurations for a better flight but we just use this for make it basic. So then we save the changes.
- Press exit, no exit from Minicom, then the serial port is ready. Now we can connect our board to the computer and it is going to be recognized by the Minicom. Once this happen we go to the Arduino and the MultiWii.ino again and compile it (checking for any error), then we do the upload, this will take a few seconds and finally it is flashed.
Special thanks
- To Guillermo who help us lot.