Well, the title says it all! I finally hooked up everything and decided to see what would happen if I set uniform speeds on all four rotors without a control algorithm behind it all… Not a very good idea. I was fairly lucky in that nothing severe happened to me, the other “innocent” bystanders, nor the quadrotor. The only damage was to one of the propellers. For those who haven’t experienced it before… No matter how hard you try, there will always be some imbalance so the quadrotor will just fly off to the side. I left it on for just about a second or two (indoors) and the times when I set the speed high enough to lift off, it crashed. For those who have already achieved flight, forgive my noobishness!
Okay, so let’s go back a bit to the attaching of the various components. The motors attached using screws. Make sure you firmly fix the propellers. Usually, there is some sort of tightening mechanism. In the case of my motors, it works like so:
I attached the ESCs to the chassis using these connectors (Cable Ties):
I actually had to couple a pair of them to get the required size but it is very firm provided you tighten it well enough. You can also see in the image above the wire connections. I soldered the wires (A little painful due to the thickness) and then used heat shrink to make the joint more stable. Don’t forget to put the heat shrink before you solder!
The next thing I thought I would need was a custom cape for the sensors and a transistor for the microcontroller to transistor interface. I used 2 male to male connectors (40×2) and placed them on a PCB and soldered it. It fits snugly on the Beaglebone. I also soldered some female connectors on to the PCB for use with other components. I then added female connectors for the two sensors to sit on and simple transistor inverter to convert the 3.3V output to 5V output for the ESCs. Granted, the polarity gets inverted but there is a polarity option in the BB’s PWM module which you can just invert. The finished product looks something like:
I took these pictures before the test flight and before I finished soldering the connections for the sensor. I’ve done that now but these pictures are higher resolution and the difference isn’t too major. It’s a bit sloppy here but it works really well.
Here is a picture of the cape with the Bone (Bone below).
The transistors. Why did I need them? I test the motors with a 5V PWM from a arduino and it worked. Then I test with the transistor logic converter from 3.3V to 5V from the BB and it worked. I used the transistor but with a 3.3V logic and it still worked. I connected the BB directly and for some strange reason, the BB switched off! Maybe it was drawing too much current (I had checked the average current with the transistor and it was nearly 0) or maybe it was just a coincidence. That pin still works but I wasn’t willing to take risks and so the transistors. The ESC wires are the four that are sticking up on the cape. Make sure you fix them properly such that they don’t move and can’t be pulled and don’t hit the blades. This is VERY IMPORTANT.
One mistake I had made in one of the earlier posts was that the PWM control was based on the frequency. It’s not. You set the frequency constant. You then vary the duty cycle. In my case, I set the frequency to 50Hz (Specified: 50-60Hz). Varying the duty cycle (In terms of ON time) from 1ms to 2ms varies the speed from 0 to maximum. You may have to calibrate the ESCs initially. Some ESCs are even programmable. Mine is but I haven’t played around with those options yet.
I attached to the BB to the chassis on the location they provided with four screws. I used some foam padding as you can see in the image above.
The last thing is to attach the battery. I did in the mount below. You can see the blue thing in the image above. That’s the battery. I attached it using the same cable ties. All the wires may not fit in the battery so you may need to combine them. Some people, I’ve heard use two batteries but I’m not sure about how they distribute them.
So put it all together and what do you get!?
I’m currently working with the sensors. While I had them working well, I did not have the angles exactly. It’s fairly easy to get the angles from the accelerometer but you need to correct them with the gyroscope because the accelerometer doesn’t respond well to noise. I’ll post an update when I get it working problem. I’ll probably have to implement Kalman filtering in the end.