Hey guys, in this post we will talk about the final control system of the drone we have been making. In our previous post, we made the frame of the drone. If you have not to check it yet, then make sure to check it HERE.

Now, in our older post which you can visit on my full website to check, we have made some receiver, PCB for our flight controller and the transmitter. In this post, I will discuss some changes I had to make from our previous design in order to make the drone work.

So, in our post on the flight controller, we have not yet added the components. In this post, I’ll show you all the components that we are adding and complete the control system.

So, this is the board that we had made. I have made the holes to fit the components using a 1 mm drill bit and I have drill it using hand drill.

Now we have to add the gyro sensor. Note that the gyro sensor is very sensitive to tilt. We have to level it properly in order to make it work as we want it too. I am using cardboard to level the sensor before soldering it to the board. You can use anything that is about the same size as the gap between the gyro sensor and the board to level it.
Now leveling is very important. A small tilt in the sensor will make it read false values which will be very bad for our drone. The drone uses these values to adjust the speed of the motor in order to make it stable. So, if the reading itself is wrong, the speed variation will cause bad to the drone. So, make sure it is well leveled.

Now we have to add the 10K pulldown resistors. This is also very important to make sure that our MOSFETs do not blow up. Moreover, we have to add the Schottky diode also between both terminals of our motors to prevent reverse current to blow the MOSFETs when the motors are turned off and motors are inductive load in which energy is stored when turning off. This will cause a reverse current to flow. So, add this diode for safety.

I have also added these pins for powering the board from the receiver and they are GND, 3.7v, and VCC from the Arduino board. The VCC will power the gyro sensor while the 3.7 V will power the motors and we also add the MOSFETs

In our previous post, we made this receiver which you can check HERE.

However, this board together with the pins we have used to make the connections is making the drone a little heavy for it to fly as it is not able to create lift. So, unfortunately, we cannot use this receiver in our drone. As we have made the body of the drone with the prototype breadboard, we will make the receiver on it. The circuit of the receiver will remain the same as we did in our previously made Arduino receiver, check it HERE, just this time we have to make the connections with wires. So, I have glued the Arduino to the bottom side of the board and make the connection as shown below.

For the NRF, I have use female header which I have soldered on the breadboard and make the connections. I am not soldering the wires directly to the NRF module as excess heat will damage the module. Make sure to solder the header pins before adding the NRF to it. Also, make sure to add a 10uF capacitor to the input of the NRF to smooth the voltage. I have also added a capacitor of 1000uF to the input of the Arduino where we are going to connect the battery (RAW AND GND) to smooth the voltage. Without it, the Arduino was resetting itself as soon as I start the motor. This was due to the current spike cause by starting motors which left little current to power the Arduino, therefore, resetting it.
Now we have to connect the Arduino with the flight controller to power it and also for the connection.
So, the connection will be like this.

I have used thin wires to make the connection for the motors to the Arduino and for the gyro sensor to the Arduino as this is just signals which do not draw high current. However, for the supply, I have used thicker wires as the motors will draw more current. If we use thin wires for this also, it will probably make the wires hot, which will be lost in terms of heat and therefore decreasing the efficiency or it can even burn the wires. Therefore, always make sure to use thicker wires where current draws are high, such as when using motors.

Now we also have to connect the motors to the flight controller. Now respect the polarity as shown in the circuit above to make the motors spin in the right direction. Also, watch the direction of the MPU6050, take it as a reference to connect the wires to the Arduino. This is very important!!!!
Now that we have finished with the control system, we have to program it now. Check my next post for the programming.

<<PREVIOUS       NEXT >>