Position control for DC motor driven actuator

Click For Summary
SUMMARY

This discussion focuses on the electronic control of a ball-screw type linear actuator driven by a 24V variable speed DC motor, alongside a pinion and ring-gear system. The user seeks recommendations for a microcontroller and motor driver capable of managing both motors, with a specific emphasis on achieving precise positioning using PID control strategies. The integrated motor controller from Roboteq, model HDC2450, is highlighted as a suitable option due to its dual motor control capabilities and support for optical encoders. Key performance requirements include fast response times, minimal oscillation, and high accuracy in positioning.

PREREQUISITES
  • Understanding of PID control systems
  • Familiarity with 24V DC motor specifications
  • Knowledge of microcontroller options, specifically PIC microcontrollers
  • Experience with PWM motor control techniques
NEXT STEPS
  • Research the implementation of PID controllers in motor control applications
  • Explore the features and programming capabilities of the Roboteq HDC2450 motor controller
  • Learn about optical encoders and their integration with motor systems
  • Investigate PWM chip options for amplifying motor control signals
USEFUL FOR

Engineers and hobbyists involved in robotics, automation, or any projects requiring precise control of DC motors and actuators, particularly those utilizing PID control strategies.

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: 770
Engineering 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.
 

Similar threads

  • · Replies 17 ·
Replies
17
Views
4K
  • · Replies 5 ·
Replies
5
Views
2K
Replies
3
Views
2K
  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 11 ·
Replies
11
Views
2K
  • · Replies 9 ·
Replies
9
Views
2K
  • · Replies 13 ·
Replies
13
Views
2K
Replies
21
Views
2K
Replies
5
Views
7K
Replies
3
Views
663