Every self-respecting drone used for aerial photography needs a gimbal. Good gimbals are very expensive, cheap ones are not smooth. Brussless Gimbals (BLG) to the rescue! In there recent months there has been a flurry of activity around this new way of building camera gimbals. Instead of servo motors, a BLG uses re-wound Brushless RC motors in a direct drive configuration.
The cheapest of all BLGs on the market today (and readily available) is the GoPro BLG and Controller (Martinez v1) from RcTimer. Unfortunately that gimbal comes zero, zilch, nada instructions. Also there were some incorrectly machined parts. Hence building it can be quite a challenge. This Instructable is meant to fill this gap. Also it might give you enough pointers to design and build your own gimbal from scratch.
Testing of finished gimbal:
Timelapse video of the build:
Step 1: The parts
Here's everything out of the package. There was one bolt missing. Be careful with the bag that contains the grub screws and C rings. They're really tiny.
Step 2: Build the camera cage
It's pretty simple, just bolt the pieces together.
Be sure that the grub screw holes both face forward. A GoPro should friction-fit in the frame pretty securely. Use Loctite on the screws or they might loosen and get lost quickly.
Step 3: Assemble the outside frame
Oops, a problem! The side mount bolt hole was not properly beveled, so the bolt does not fit through the hole with enough length to attach to the edge piece.
We drilled a bevel using a larger drill bit. That fixed the problem nicely.
Step 4: Install pitch motor and bearings
Next, assemble the bearings. Careful with the little pieces!
We found a problem with the grub screw hole. It wasn't properly tapped, so we couldn't get the grub screw inserted all the way. After some debugging, we ended up switching the two sides, so the working grub screw was on the motor side.
The grub screw uses a 1.25mm hex wrench. It would be nice if RC Timer included one. They don't, so be sure and have one ready.
Step 5: Yaw motor
Make sure you have the indentations properly aligned. Dry fit it together to make sure.
One of the tapped holes was a bit malformed, and the 3mm bolt didn't fit through. You can clean it out with a 3mm drill bit, or tap a 3mm bolt through the hole with a hammer a couple of times. As good as new!
Step 6: Build mounting arm
-Attach the yaw arm to the frame mount.
-Attach the 3mm nylon risers to the frame mount.
-And then attach the board to the risers.
-And attach to the bottom plate of the anti-vibration unit.
Stick the rubber anti-vibration grommets onto the top and bottom plates. Do this after attaching the bottom plate to the gimbal.
Step 7: Solder the motor wires
Soldering is pretty simple. Snip the wires and re-tin them with a generous portion of solder. Tin the motor pads. Put each wire on the corresponding solder pad, and touch the wire with the soldering iron, attaching the wire. If it takes more than a second you're doing it wrong. Note that since this is a three-phase motor, the order of the wires doesn't matter.
Later you can cover the soldered connections with hot glue for physical strength and to insulate the wires.
Step 8: Connect everything for testing
This picture shows the correct orientation of the IMU and the correct connection of the pitch and yaw motors. We did this all wrong at first (due to lack of documentation) and the gimbal did a Harlem-Shake instead of image stabilization.
Note that we were doing the power wrong! Don't use a 5V servo connection, use a 2S-4S battery. Be sure and watch the polarity. It may not be a bad idea to put a battery connector onto the board.
Step 9: Mounting the BLG and first test
This nifty little sawhorse was sitting around from another project, and it made a perfect test mount.
If everything was set up correctly the BLG should behave like this:
Step 10: Harlem-ShakeThis is what happens if the IMU orientation or the motor connections are wrong:
Here's what happens if you plug in the USB and forget to hook up the battery. There's enough power over the USB to power the processor. Not enough to power the motors, but enough to make them twitch.
Step 11: Mount on your Drone / UAV / Quad / you name it...
My airframe of choice at the moment is the TBS Discovery. I bought the leg extensions to give me enough clearance for the Gimbal. Without the controller board stack there seems to be just enough clearance. The upper mounting point can be screwed directly to the bottom of the TBS Discovery frame at an existing mounting point. It needed a M3 screw that is just a bit longer. The vibration grommets are too soft for the weight of the GoPro. I filled them with silicon to stiffen them up. Other people have stuffed them with earplugs ;)
Step 12: Software setup
I got my controller board to work out of the box without a firmware upgrade. The installed firmware is 0.48, however we could not get that version to talk to the 0.48 GUI. Mark managed to install 0.49 and that version talks to the GUI. But now we need to re-tune the PIDs. Below is the process for upgrading to 0.49:
MAC: You are in luck! It seem like the correct driver is present without any additional action.
Windows: You are entering a world of pain. The auto-detection will install an incorrect driver that is hard to uninstall. Do not plug in the board without having downloaded the correct driver and then disconnect from the internet. These instructions seem to be very thorough and worked perfectly on my Windows 7 PC: http://www.rcgroups.com/forums/showthread.php?t=1872416
To build the software, you need two things:
- Arduino software environment: http://arduino.cc/en/Main/Software
- Brushless Gimbal software: https://code.google.com/p/brushless-gimbal/downloads/list
Build and install
Building and downloading the firmware is pretty straightforward:
1) install the Arduino programming environment.
2) load the gimbal software in the Arduino environment
3) ensure your configuration is correct:
- in Tools / Serial Port, be sure your USB port is selected
- in Tools / Board, Arduino Pro or Pro Mini (5V, 16MHz) w/ ATMega328
4) Upload (arrow icon in toolbar)
If everything works, you will get a message regarding memory size and a message that the new firmware has been uploaded.
You should now be able to connect with the 0.49 GUI and start tuning. Note: Com port must be 1-10 of the UI does not work. You can change the com port in the advanced settings using the device manager.
TO BE CONTINUED WITH PID SETTINGS...
Step 13: Connect controller with RC
To frame the shots even better, the remote can be used to control the pitch and roll of the camera. In most cases only the pitch axis is of interest to tilt the camera down or up. You can either use the same remote and receiver that you use to control your drone, or more interestingly you can hook it up to a secondary system that is controlled by the camera man.
The sensitivity and the mode (absolute or proportional) of the RC input can be configured using the GUI.
A1 is for pitch axis (tilt camera up or down)
A2 is for roll axis
Bottom pin is ground (out-most on the board)
Middle pin is 5V
Top pin is signal
Step 14: First FlightFirst test of stabilization. Ignore the blotchiness, we're using my old GoPro with the super-scratched up lens for the first couple of tests. Once we've got a reasonable lens cover we'll make an pretty video ;)
But this should give you a good idea of what the gimbal does. Each time the quad moved side to side or foward/backward, the quad itself is tilted quite a bit. But the BLG corrects for that and the footage gets a much more "floating" look than if the camera was mounted fixed.
At 1:35 you can see the pitch/tilt down using the remote. At 2:30 you can see how the gimbal resets to level. The motion is very slow and smooth. With the GUI this can be speed up and the max angle can be modified.