Control a DC motor using PLC

E

Thread Starter

Eric

Hello

I am not experienced with PLCs and and new to my job and need a little help. What I am looking to do is monitor the RPMs of a shaft connected to a DC motor, and control the RPMs. I would like it so that the operator types in the RPMs they are looking to achieve, or pushes up or down on a keypad until the number is hit, and then the motor rotates at that speed. Can this be done and can someone guide me in the right direction?

Thanks
Eric
 
You are looking for a servo controller. This are off the shelf and used with a lot of PLCs. Talk to your local automation distributors about what you are trying to do and get them to make a recommendation. You will need their help on sizing the motor and drive to work with your specific load.
 
S
Sure, I've done it many times. I'm assuming a small sub-fractional hp motor, say 1/10-1/3hp. The drives for those, from KB Electronics, Bodine, Minarik, and so on, will take an analog input from your PLC that will control the speed. You can either close the loop with an encoder or tach back to the PLC, or some of the drives will close the loop themselves with tach feedback.

Make sure you check to see if isolation is needed. A lot of times the control circuit of the drives are at 60 volts or more from ground and will need isolation for the analog signal coming from the PLC (although some drives have it built-in or as an optional item that integrates right on the drive) or you can buy a separate standalone isolator.
 
W

William Sturm

That is not an easy task, especially for a beginner. You might see if your PLC has a motion control card available, it might be easier. Some PLC's have some limited motion control capability, it would be helpful to know what type of PLC you plan to use.

Bill Sturm
 
S
I don't know, Bill. He didn't say "motion", he said "rpm", and there are many manufacturing apps where you need variable speed and aren't doing motion. If he's described the app correctly (and he didn't even say what kind of tolerance he's trying to achieve), a beginner could do this with a DC motor and SCR or PWM drive. Shoot, you can actually do undemanding motion apps with them.
 
W

William Sturm

He kind of implies a closed loop system, maybe I read too much into it. He mentions monitoring shaft speed, so he needs a frequency input to the PLC. He then said "control the speed", this could be either open or closed loop control. He will need an analog output to the motor drive. If he truly needs a closed loop velocity control, then some sort of PID loop will be needed, possibly in the PLC. Finally, a small HMI to setup and monitor the system.

It clearly is possible, but there are several extra items that typical PLC apps don't have, such as analog outputs and frequency inputs.

Actually, Dart Controls makes a small motor controller that does just what he needs. Maybe that along with a micro PLC for I/O logic might just do the trick relatively easily.

Here are some links for an idea:
http://www.dartcontrols.com/product-guide/digital-analog-control-systems/asp10/

http://www.dartcontrols.com/product-guide/digital-dc-speed-controls-2/mdii/

Bill Sturm
 
He didn't say motion, but he did say "monitor and control". At the moment we really have very little to go on.

To the original poster: You will get a much more useful response if you tell us what the *application* is (what you are trying to do). At the moment people are just guessing. There are many ways to do this, and the best way depends on just what you are trying to do.

If the application doesn't need closed loop, then an SCR drive may possibly be fine. A lot of them have a boost adjustment that can be used to compensate the voltage according to the load (current). I have used them in applications where I just needed to control speed, and when properly calibrated the open loop speed response was more than accurate enough. That involved just a DC motor, SCR drive, analogue output from the PLC, and signal conditioner. There was no servo drive, and no encoder or tach.

*However*, other applications have required servos or steppers.
 
I've done it open loop where an operator just selects a percentage. I only needed very crude control and it worked for that. My algorithm was a software PWM running at 100Hz. We use fast ms switching PLC outputs and sub millisecond scans so we could get away with this. The control gets marginal at 20-30% with my particular motor.

To do what you want to do I'd probably do the same thing but implement a PI loop based on feedback. My guess is that if you expect very tight accuracy you will be in trouble and should use a motor controller of some sort. A "smart" DC servo drive should be able to handle this (Copley, Elmo, etc). There are surely other products.

KEJR
 
D

Doug Hitchcock

I'm curious to get feedback on the need for open-loop motor control in SCADA systems, especially for operation of variable-speed DC motors in remote field environments (e.g. 12-36VDC pump motors)

My company (www.controls.com) develops and manufactures a line of PWM controllers for mainly the batter-operated DC motor market. These are 0-5 analog input controllers and/or serial data.

> I've done it open loop where an operator just selects a percentage. I only needed very crude control and it worked for that. My algorithm was a software PWM running at 100Hz. We use fast ms switching PLC outputs and sub millisecond scans so we could get away with this. The control gets marginal at 20-30% with my particular motor. <
 
Top