Search This Blog

Sunday, October 13, 2013

Going higher with the flyer



After very conservative steps with this model aviation hobby, I decided to get closer to the trends, and do some updates/improvements on my quadcopter while still being careful with the budget.

I can say my original setup basically sucked. The KK Multicopter board (the v2.1, based on Atmega168PA) was way too basic to let flying with the quadcopter being something close to exciting. It lacked the level of stabilization that could make flying the quad a pleasurable experience. Most of the time the pilot would be focused on trying to keep it level, preventing the build up of confidence to perform more complex maneuvers. It reminds me in respect to the traditional helicopters the rate gyro age, as opposed to the heading hold gyros that came later.

Instead of buying an original APM board, I decided to go for a more within budget alternative flight control board. As such I decided to grab the Multiwii Pro from hobbyking, given the $65 of cost, and the fact that included the GPS module.



The GPS would not be the greatest (a MTK 3329), but according to the specs and reviews it would do the trick just fine, as long as I added a ground plane below the board. And so I did:


In every sense has the same features as the APM board, including the Atmega2560 chip. The only difference is the lack of dedicated microcontroller to handle the PPM encoding. However, apparently in this Hobbyking board, the Atmega2560 seems to handle the concurrence of all the tasks pretty well.

Taking into account that there are so many parameters in these Arducopter firmwares that need to be adjusted, I found it would be quite cumbersome having to connect the USB plug all the time to perform changes. As such as I had a bluetooth serial adapter board from a couple I bought on dealextreme some time ago, I decided to integrate it:


The only issue would be the signal levels, as the board itself would only accept 3.3V. For that effect I added a circuit with a couple of transistors to do the level shifting between 3.3 V and 5 Volts for TX and RX, and avoid buying an expensive MAX chip for the same purpose. The 3.3 V supply would be available from the flight controller board, by taking it from one of the I2C ports power output.

Another relevant upgrade in my flight gear was the transmitter radio. I was still using a crappy one from my first RTF helicopter kit. With this new flight controller it would be practically unusable, given the lack of channels to calibrate things and switch between flight modes.

I have been analysing the Turnigy 9x for a while and initially decided to buy it. Then I found that his twin brother from Flysky, the OEM of these Turnigy radios, would be available in Europe, so that taking into account the shipping cost and time it would be safer to buy the Flysky. Additionally there would be a small aspect that I liked better: the antenna from the included TX module would be attached to the module instead of being attached to the radio and going to the module through a non-removable cable as it happens with the Turnigy 9X. As such I could remove it, put other modules, and place it again whenever I wanted.



As the hole for an antenna in the transmitter body would be free, I soon found an application for it: I decided to "steal" the camera and video transmitter from the robotic car I built a while ago (http://creationfactory.blogspot.pt/2013/02/amiro-autonomous-mini-rover.html). The idea would be to go step by step into the FPV world. One important aspect is to have a visualization device (i.e. a screen) through which we can see the flight situation and navigate from there, without direct visual contact with the aircraft. I had a video monitor I put together for the rover. It only lacked a way to attach it to the transmitter. That is where the antenna hole comes into place:


After getting a piece of aluminium tubing and other parts, the antenna hole was found to be a perfect place to attach the video monitor to the transmitter:


The video monitor has its own power supply (a 1200 mAh LiPo battery), a 1.2 GHz receiver, and a battery monitor circuit I built myself with the help of a PIC12.

The support provides some adjustment to the angle of the monitor, which is specially relevant because of the sun light.

In the back we can also see the transmitter module, which in this case is the FrSky DIY module inside a plastic box that I salvaged from a battery charger of a toy helicopter. It has a better range than the original module from the transmitter, and also has the failsafe feature, allowing selected servo positions to be applied in case the radio link is lost.

Also, and as FPV can be difficult without it, I bought a budget OSD board, the MinimOSD, which integrates with the flight controller board via the MAVLink protocol, and is proving to be quite nice, as with the help of a Windows based tool, the OSD layout can be freely customized:


After a power supply issue was fixed (powering the analog side directly from the battery would blank the OSD once the motors would start, the solution consisted in removing the 12V battery supply, connecting the digital and analog grounds together, and powering the OSD from the same 5 V input). The fix consisted only in bridging the (A/D)GND and (A/D)VCC pairs of pads, and removing the 12 V input diode (as such allowing the 12V jumpers to still be used for power distribution to the transmitter).


BTW, through Hobbyking this board costed about $18.

In operation, with the video monitor attached to the transmitter, the result looks pretty neat (a bit Back To The Future style :) ):


Switching screens can be done through channel 8, which I have assigned to the 3 position switch:

  • A main screen, with artificial horizon and heading rose:


  • A complimentary screen with the less relevant information (e.g. servo channels values, GPS additional info, etc):
  • A screen without text (for sightseeing only :)).
Most of these great things are only possible (specially with low budget) due to several opensource projects, including:
  • The Ardupilot project, for the flight controller;
  • The MinimOSD project for the OSD;
  • The OpenTX project for the FlySky (or Turnigy 9X);
  • The SimonK RapidESC project for the alternative firmware of the ESCs (providing optimized performance for quadcopters);
So far I have only attempted some small flights at low altitude (10 meters max), and looking at the model instead of the screen most of the time. I hope to bring some footage soon, and start experimenting with the GPS position hold mode.