Position control for DC motor driven actuator

Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
3 replies · 5K views
opmal7
Messages
26
Reaction score
0
I am working on a project where I have a ball-screw type linear actuator being driven by a 24V variable speed DC motor. There is another 24V DC motor that drivers a pinion and ring-gear. The linear actuator controls the system's elevation and the ring gear controls the traverse.

I would like to be able to control both of the motors electronically, and possibly with a joystick of some sort, and also have a readout of the current elevation and traverse angles. I would also like be be able to enter a desired elevation angle (say 45 degrees), and have the system go to that elevation.

I have put together a block diagram of what I think the system will look like, but I am having trouble selecting a microcontroller and motor driver. The largest load will come from the elevating motor ( http://tinyurl.com/3hwmv6v ). This motor is pretty heavy duty, and I believe it will have ~35A continuous current, ~50A peak current, again both motors are 24V DC.

I've attached a block diagram of the system. I am looking for recommendations of how to control both motors from a single control unit. I have some basic understanding of elect0-mechanical systems, but don't have much practical experience. I will appreciate any feedback on this issue.
 

Attachments

  • diagram.jpg
    diagram.jpg
    25.7 KB · Views: 791
Physics news on Phys.org
Look up PID controllers.Here are some things that you'll need to consider. It'll be a compromise:

Does it have to reach the set position as fast as possible (rise time)?
Is it allowed to oscillate around the set position? If so, what amplitude is acceptable, and for how long (settling time)?
Is it allowed to overshoot then return?
How accurately does it need to be positioned?
What are the external forces that might disturb it?

Regarding motor controllers, you can get PWM chips and amplify the output. Being able to select your own power transistors will allow you to optimize it for your specific motors.
 
Unrest said:
Look up PID controllers.


Here are some things that you'll need to consider. It'll be a compromise:

Does it have to reach the set position as fast as possible (rise time)?
Is it allowed to oscillate around the set position? If so, what amplitude is acceptable, and for how long (settling time)?
Is it allowed to overshoot then return?
How accurately does it need to be positioned?
What are the external forces that might disturb it?

Regarding motor controllers, you can get PWM chips and amplify the output. Being able to select your own power transistors will allow you to optimize it for your specific motors.


Thanks for the response. I've been looking at PIC controllers for this project. I remember studying PID controllers in school. Is there any difference between a PIC and a PID, or is it basically the same thing with a different name?

To answer your questions:
I'd like to reach the set position fast (< 1s), but time required isn't extremely critical.
Oscillations around the set position should be small (< 0.25 deg) and settle in less than 1s.
A small overshoot is acceptable, but it would be better if the system could know that it is approaching the set position, and slow down in anticipation.
The elevation of the system should be accurate to within at least 0.25 degree.
The elevating ball screw will be subject to changing loads once it has reached it's set position. The center of balance of the system it is supporting will be time dependent. This is why I think a closed loop is necessary, so the system can detect any changes in the set position, and make the necessary corrections.

Here is an integrated motor controller that I was looking at:
http://www.roboteq.com/brushed-dc-motor-controllers/hdc2450-dual-150a-brushed-dc-motor-controller

I think this system would be able to control both motors, and has optical encoder input ports, as well as the ability to be programmed by computer and interfaced with joystick or R/C controller.
 
opmal7 said:
I remember studying PID controllers in school. Is there any difference between a PIC and a PID, or is it basically the same thing with a different name?
PIC is the brand of microcontroller? In that case they have nothing in common! It looks like the pre-built one you linked to does PID itself so that could make things very easy.


To answer your questions:
I'd like to reach the set position fast (< 1s), but time required isn't extremely critical.
Oscillations around the set position should be small (< 0.25 deg) and settle in less than 1s.

A small overshoot is acceptable, but it would be better if the system could know that it is approaching the set position, and slow down in anticipation.
Yes, PID can slow down before it get there, but disallowing oscillations will have the consequence of a slower rise time, and probably slower time to settle. However if you know that it'll always be below the set position because it never oscillates, then you can set the set position to 0.25deg further away than what you really want, and you'll only have to get within 0.5deg of it.