Voluhar project – 3 axis camera stabilization

The Voluhar project will be / might be open hardware and open software project for any DIY and videographer enthusiast that would like to get those enviably steady smooth shots. Well, for now this statement is a bit of a long shot since I don’t really know what I don’t know about brushless gimbal systems.

I had to start somewhere so with a bit of research I found the most common flaws other DIY brushless gimbal systems have. Usually they don’t work the same at all motor angles. In some cases it cannot be prevented (when the system gets near on enters gimbal lock) but in some cases it can.

In my design, I’ll add quadrature incremental encoders to each motor. This configuration doesn’t only enable closed loop control for each motors, it also enables the system to know the position of each joint at any time all the time. And because the encoders have RS422 output, I can sample them directly with MCU’s hardware (timer).

Because all joint angles are always known, transformation between links can be calculated easily. This means very well defined relations between camera and motor angles. Instead of just reading the data from camera IMU, calculating an error and then feeding that error to closed loop for each motor, this system will run closed loops on two separate levels:

  • angle control closed loop for each motor using encoder – meaning that each motor will continuously try to hold/get to it’s set angle,
  • camera control closed loop using IMU – output of this control loop will be set angles for motors.

This is the initial idea. We’ll see how it turns out.

For now, I have successfully designed and soldered the first version of Voluhar PCB. It has three BLDC motor drivers from Texas Instruments capable of outputting 2.5A of Current. The board can take up to 36V, but that should never be necessary. On board there’s STM32F4 microcontroller with some nice features and insane calculation speed. I started writing software for it and got it far enough to spin the motor with variable speed and have it follow the rotating magnetic field at any angle (motor in servo mode).

Future plans are: get a gimbal bldc motor, attach an encoder to it and test closed loop.

Leave a Reply