I am new to this realm of electronics and will be attempting what I think Is a relatively easy project to get started. I am building a pole camera to video my daughters soccer games. Here is what I am trying to accomplish. I want to use a Turnigy 9x RC transmitter and receiver I currently own to control the pan and tilt. I will be using a servo controlled pan and tilt with the camcorder mounted on it. I believe I want to convert the RC servos to continuous rotation, or basically just a standard gear motor once the pot is removed. It was suggested that I use the Pololu Trex Jr to control the motors. Looking at this controller it appears I just need to go from the RC receiver into the RC input channels and the servo motors attached to the motor 1 and 2 outputs. For those with a little more knowledge, will I need to do anything more. I am trying to accomplish control of the pan and tilt via the spring loaded joysticks. I do not want the motors returning to the “zero” point when the joystick is released. I also want the motor to travel both forward and reverse, as well as for the speed to increase in either direction the father the joystick travels away from zero. Again, I apologize for my lack of knowledge at this point and hope someone can help me out on this.
The good news is that many people have documented Pan & Tilt projects. I suggest looking them up online, do a thorough search and you’ll find a ton of project builds.
The “bad” news is just to warn you that it’s not actually a very easy project. It’s not impossible, but just know it’s somewhat ambitious. The biggest thing is that you might need to be ready for a blown motor or stripped gear, if your settings are too aggressive in the beginning or your control loop is otherwise incorrect.
Common chip for the acellerometer bit will be MPU6050 probably, I’d also look into what code maybe that quadcopters and MiiWii or some of the general aviation open projects do. Their application is not actually that different, “quadcopter is not level, turn these motors on or other motors down.”
That sounds like a fun first project! To do that, you could modify standard servos like you mentioned, but you could also just use a pair of continuous rotation servos, like the Power HD AR-3606. Alternatively, you could control two brushed DC motors with some electronic speed controls (motor controllers with RC interfaces). The TReX Jr you mentioned would probably work, but it uses a 10 kHz PWM frequency that creates an audible whine. You might consider using a pair of Simple Motor Controllers instead; these are newer controllers, so they are easier to use, and their 20 kHz PWM frequency is above the range of human hearing, so they are quieter. You can learn more about how to configure the SMCs for RC control under the “Connecting an RC Receiver” section of the SMC user’s guide, which can be found under the “Resources” tab of all of the SMC product pages.
Personally I’d be more for the pololu.com/product/1213, along with 29D or 35D geared DC motors from Pololu. Then any sort of MCU you think would be up to the task. Maybe just a astart mini. The new motor drivers are totally awesome, but I think overkill for this application unless you have a heavy thing you’re pan & tilting (in which case you’ll also have to look probably for better motors than available at pololu. That will start costing $$. The HP 35D motors may still be OK)
My reasoning is this:
The arduino can be modified to put PWM ~20khZ, and that will get you out of the hearing range for more people (ideally would be more like 30Khz.) The MC33926 is plenty capable for the amperage of those 29D or 35D motors (since you don’t want to run them >30% of their rated stall current) and has current feedback pins.) without being as expensive as the drivers Jonathon mentioned. You’re already going to be spending a good bit when you count the beefy geared DC motors, and for the fact you may have to buy more motors if you spec it wrong the first iteration or the control code isn’t written properly to protect the current.
The MCU you will want to run using a PID library, and also add code that reads the feedback pin and drops the driving voltage if the motor is ever above the current limit you set. Then I don’t know what you’re using to define “level” but presumably that can also interface with the astarmini and common library codes.
I’ve reread your original post: it looks like you’re not trying to make a pan&tilt that just stays “level.” That is a common and slightly more complicated problem.
It sounds like you don’t need anything fancy, really, since a remote Pan&tilt function. That’s great!! You will almost certainly be fine with cheaper motors and the cheaper driver I linked. The one thing you may or may not want to add is an encoder for smoothest motion, but that’s not really needed.
By not having to control the camera to stay fixed at a certain angle, as things like “steady cams” do, you greatly reduce the loads on the motor and the complication of your system.
The arduino/astar mini can still take the input from the RC transmitter you spoke of, to interpret your commands. It doesn’t have to go to “level” like an RC servo usually does.
If you can get away with the limited range of a servo, you can solve the problem of the servo going to “center” by running a small microcontroller unit MCU inline with the transmitter signal.
So you have the RC transmitter signals go to the MCU, which interprets them, and sends a new servo signal to the servos, and can hold that signal constant even when your transmitter signal returns to “center.” But if you remove the pots in the servo, I think you lose the positional feedback, at which point I don’t know if it really makes sense to bother using servos instead of geared DC motors.
Thanks for the replies. Everyone’s assistance and suggestions have been very helpful.