The AlexMos Gimbal controller is the most capable DIY control board currently on the market. Intended for brushless gimbal motors only, the new 32-bit processor and dual IMU (inertia measurement unit), allow it to attain a level of stabilization up to 30 times more precise than the 8-bit board it replaced. What makes this different than the more common Martinez, is the software GUI used to tune its performance characteristics.
While the Martinez board is open source code for those that like to tinker, you will need to scour the internet and read hundreds of user posts in order to get it up and running. The AlexMos has a software license on its boot loader, and will recognize and work with the firmware that was specially developed for our needs. Its also capable of running on up to 6 cell lipo, and will handle even the heaviest cameras and gimbal motors. In California, is the largest supplier of Alexmos control boards in the USA. Prior to Multrotor Pilot magazine, I purchased several of the older style 8-bit boards, along with the parts to build a 3-axis gimbal for a DSLR.
The customer service is stellar, and the support is second to none. We will be giving you an intro to this new control board, to help you get over the fear of building your own pro quality gimbal. After receiving the control board, go to and download the latest software, driver, instruction manual, and firmware.
Its PC and Mac compatible, and will be needed to get up and running. Connections are pretty simple. All three brushless motors connect to the board without any add on components. The latest driver chips control the motors, and all most connections use servo style connectors. In addition to the gimbal motors, you will need to connect a power source, a receiver/ and or thumb joystick if you plan on controlling the gimbal, the IMU module(s), and finally the optional, but recommended Flight controller servo leads. By connecting your flight controllers gimbal output controls to the AlexMos FC Pitch and FC Roll ports, stabilization is further improved while used in a multirotor.
The servo outputs provide attitude information about the copters angle, and the AlexMos board can use it to understand more effectively maintain accurate positioning. While tuning a gimbal can often be a time consuming a frustrating procedure, I will give you some tips to help you avoid some of the mistakes to make the job a bit easier. The manual covers everything you will need to know in order to get the board up and running and this overview is not intended to replace that or even cover the steps which are very clearly defined. Here are some tips to help you through the rough stuff:. Your gimbal frame is the weakest link. Make sure its good quality, rigid, and friction free. Any binding or flexing is going to cause you a lot of grief.
Since most DIY gimbals for DSLR cameras are fully adjustable, you absolutely must make sure that every axis is perfectly square. For example, if the pitch axis is slightly longer on one side, as the camera lens tilts down, the IMU will sense that there is a combination of both pitch and roll movements taking place, and this will confuse it, and you. Gimbals that use round carbon fiber tubes are the most adjustable, but the tube can rotate in the clamps when you loosen them for adjustment, and this can cause one side of the camera to be farther forward than the other. This will also mix up the gimbal controller. The IMU must be positioned square to the frame as well.
Soft, thick double side tape can allow the IMU to flex or tilt and this will also lead to some head scratching behavior. Two IMU’s are better than one. Extreme angles with a single IMU will cause the gimbal to twitch. With two, much steeper angles are possible. Be careful how you run your IMU cables.
These wires should be very flexible, thin, and routed away from power and motor leads if possible. If you can run them in such a way that the wire can’t get jerked if the pitch axis flips over, this will reduce the chance of damaging the cable, or the micro connectors they have at each end. Run all motor leads, receiver connection and IMU cables through Ferrite magnet choke rings by making at least 3-5 winds around the ring. This will limit magnetic interference, which can cause IMU errors. Consider a yaw motor with a hole in the middle that can accommodate a slip ring. Slip rings allow you to make connections to power and flight controller above the gimbal, but prevents the wires from twisting when you pan the 3rd axis more than 360 degrees. Slip rings are available from Adafruit.com.
They look like little black cylinders with wires exiting each end. For power and both FC connections, you will need at least 6 wires. Mount the Alexmos board in a safe place and position. Aerialpixels sells custom enclosures for the board and IMU, and its cheap insurance against accidental damage, and make for a neat and tidy install. If you choose to not enclose the board, I recommend not mounting the board with the USB port pointing down, if the gimbal should flip out while tuning and fall on the cable, you will break the USB connector off the board.
Have a stand. Trying to calibrate, adjust or work on a gimbal without some type of rigid way of holding it is almost a waste of time. Often just placing your finger on a stationary IMU can mess with proper calibration. Trying to hold the whole gimbal is like trying to hold down a child with A.D.D.
Once you begin tuning the P.I.D. Settings, work with one motor at a time. The battery pack will need to be connected during this step, otherwise your usb connection will get a bit upset. After you get a motor tuned disable or unplug that motor and move to the next one. If you have connected a receiver to the board, make sure you have the correct type of receiver selected in the software. Sbus, PPM, Spectum, PWM.
The transmitter should also be on during tuning if you have a receiver connected. Vibration from unbalanced motors or props on your multirotor will make the gimbal IMU freak out. Make sure you minimize these vibrations, and isolate the gimbal with some type of damper or compression mount. By Joe Papa 2014-07-01.
I have started to work on a project of mines, which consists in implementing the stabilization of a single axis gimbal using a generic microcontroller (STM32 or Arduino Uno). The gimbal axis is driven by a sensorless three phase brushless DC (BLDC) motor, while on it's shaft there is a generic payload provided with an IMU board (3 axes gyros + 3 axes accelometers), which can give feedback to the microcontroller about the angular rates and accelerations of the motor. The microcontroller is feeding an inverter bridge (L6234) in order to drive the BLDC motor. I have googled a bit about this topic and there are so many solutions out there for high speed applications, but not that much for low ones. Moreover, the thing I really do not understand is about the control of the BLDC motor, so my questions are:. Can I use a sensorless control of the motor, by sensing the back EMF even if the motor is spinning very low?. How can I energize properly the phases of the BLDC motor, from standstill, if it is sensorless?.
Can I use the IMU for finding out how to spin the BLDC motor properly without counter rotations (meaning that I know when to commutate)?. How can I hold the motor standstill when reaching the setpoint?. Should I implemebt a speed controller or a torque (current) one for such an application (sensorless driving of BLDC motors at low speeds)? Could you give me any help, please? You output a 0 Hz sine wave, while slowly ramping up the amplitude.
The rotor will then start to align itself with the magnetic field, causing the stabilized assembly to move. The gyro will sense that, and your control loop will immediately adjust the phase of that sine wave in response to keep the rotor still. The spurious rotation at startup is only a problem with normal (high speed) sensorless brushless driving schemes because in those cases you want the motor to accelerate as quickly as possible at startup. – Oct 15 '16 at 23:08. Can I use a sensorless control of the motor, by sensing the back EMF even if the motor is spinning very low?
Technically, yes you can. However, in practice, it is not possible/difficult. The reason is that because the back emf voltage is so low, you need to amplify it (extra circuits) or work with low resolution data. Since the resolution is lowered, you get cogging because it becomes difficult to identify exact point of zero crossing. Also, back emf can't be lower than the noise in your system, you won't detect it.
How can I energize properly the phases of the BLDC motor, from standstill, if it is sensorless? You will do an open-loop start-up sequence and hope that the motor catches up. Continue open-loop operation until a critical back emf speed is achieved. Can I use the IMU for finding out how to spin the BLDC motor properly without counter rotations (meaning that I know when to commutate)?
IMU generally gives information about accelerations. So, you will integrate that to find the rotor positions. This operation will take some time and there will be calculation errors (You'd get cogging in BLDC motors). I'd say, this method would be more difficult than the back-emf method. IMU method is better for stepper motors.
(Stepper motors + IMU = nice gimbal system) How can I hold the motor standstill when reaching the setpoint? You will switch the mosfets at a constant frequency. The motor will move at a constant speed. Is that what you mean by this question? Should I implemebt a speed controller or a torque (current) one for such an application (sensorless driving of BLDC motors at low speeds)?
BLDC motors are inefficient and hard to control at low speeds. Why not use a stepper motor? If you really have to use BLDC, though, use both current and back emf method combined. They have their benefits. There are two viable methods with regards to sensorless control. BackEMF sensing.
Relatively simple: measure the terminal voltage during periods where you are not switching. A very viable solution once you are above a minimum velocity.
Injection. By injecting a higher frequency, low amplitude voltage component onto the stator, the current associated with this injection can be measure. From this the Ld and Lq can be derived & as long as the saliency of hte rotor is known, the angular position can be determined. This method however become less viable with increase rotor velocity.