There has been some suggestions about the motors in the comments from my previous post, which I will try to address in this post.
My primary concern for choosing components is acoustic noise. A secondary consideration is power consumption. Noise is the main concern because the microphone on the video camera can pick up the motor actuation movements. This would make the device unusable for any video recording that also contains audio. This might be okay for many cinematographic scenarios, as the video is usually dubbed over in post processing, but if the issue can be address from a component selection point of view, then it should at least be looked into.
In light of this, we need to rule out all brush motor. We are left with brushless motors and now have to settle on a control type. There are servos, steppers and the 3 phase controller. So what’s the difference? Well, I’m not an expert on motors by any means, but servo motors typically have encoders built in. The feedback allow the controller to turn the motor to set positions regardless of load. The problem however is that motors with encoders are pretty expensive to obtain. In any case, the accelerometer and gyroscope can serve as our encoders for the feedback data.
The stepper controller is another option. The stepper motors allows a precise amount of movement without feedback. Since there is not encoding in the motors, if the load is larger, the motor may slip, and the tracking of the rotor will no longer be accurate. This is not an issue for us since we will have the inertial measurement unit (IMU) to provide feedback. The cost however is still rather high.
We can reduce the overall cost of the device by using a 3 phase motor and building a drive circuitry ourselves. It sounds like a lot of fun anyways, and might be a great learning experience. I was able to score some neat brushless motors on EBay. There are 12 coils (4 coils per phase) and 14 magnets on the motor, and I am still trying to figure out how to control these things.
Based on some work done in the quad-copter community, it seems like there is already some work in coming up with a controller board for stabilization. I’ve taken a look at their circuits and saw they are using the L6234 from ST to drive the 3 phase motor. Using this as a reference design, we can move forward with selection the other components. Why build a FET network for the motor controls when you get everything in a single package?
On the IMU side, there are maybe 3 companies in the forefront of MEMs. These include Honeywell, Bosch and Invensense. Of the three companies, it seems like since Invensense offers the most integrated selection of sensors. Their catalog includes a 6 axis (3 axis gyro + 3 axis accelerometer) device in addition to a 9 axis device (3 axis gyro + 3 axis accelerometer + 3 axis magnetometer), with data output on an I2C bus. I’d like to experiment with 9 axis device, but I think we might be stuck with the 6 axis device. With the motor switching and the presence of magnets being so close to the IMU, I don’t think we will be able to get any meaningful data from the magnetometer. I’ll leave the option open and perhaps I can play around with IMU placement to minimize the magnetic interference.
In general, we will be using the gyroscope data as a primary point of reference. There is some inherent drift when using the gyroscope data, which will need to be canceled out using the accelerometer. However, the accelerometer can only compensate for drift in 2 axis (pitch and roll). For the yaw axis, we will need data from the magnetometer. Right now the plan is to use two motor to compensate for pitch and roll. If we can get meaningful data from the magnetometer, then I will experiment with adding the additional motor compensation for the yaw axis. See below.
I’m actually enjoying this project since there is something physical that is delivered at the end (hopefully). What I typically deal with is just electrical signals and displays. I’m very excited to get my first motors moving. That’s it for now. I’ll try to build something for next week.