Poor mans servo control

bigrthanur

Member
Join Date
Mar 2007
Location
Ohio
Posts
85
I have a project that I would like to improve on and would like some help with. It is a maching that sweeps forward raises to clear product and moves back to "home" product infeed.

Currently we are using a 3phase motor(powerflex 4) with an encoder for positioning going back to a compaclogix high speed counter. The system currently goes through 3 speed changes in the return cycle for speed requirements. But the speed changes are very sudden and look terriable. Tried to use an S curve but the travel is short about 3ft. and causes overtravel.

Anyway my question is I was thinking of using a PID loop to control the speed changes with the output going to a moveto statement to control the Hertz of the motor.

Would this work better or could someone suggest something else?


You will have to forgive me I am not a PLC master, I am a Robot guy. I wish they would have taken my suggestion and used a servo motor!
 
It's going to be tough with a PF4, you need at least a PF40.

You mention 3 speeds. Do you have analog for speed control or are you using presets?
 
If using presets for speed selection, increase the accel and decel times.


Presets are being used in moveto satements. They are being sent with positions as the qualifier. Accel and decel times were changed but still the changes are sudden.
 
I am no Compact expert but isn't there a Ramp function built into them? I have used one with a SLC and if you are using an analog output for speed it should do the trick you want.
 
Don't use a PLC based PID loop for this, it will not be nearly fast enough especially when the drive is not very high performance. If you set the accel and decel to the minimums in the drive, you should be able to ramp the speed reference using PLC code which will basically amount to making the speed command proportional to the position error.

You may need a minimum speed to prevent stalling, but the logic will generate the ramping required as the target position is approached.

Basically, you will need an internal register to adjust the decel distance. The speed command will be directly proportional to the position error divided by the decel distance...(create a slope between minimum speed and maximum speed).

Once you get the logic and math worked out, you can tune it by adjusting the decel distance and min and max speeds to get the desired results.
 
I don't know if this applies. In a system with PF40's and Controlnet writing the speed I found that an process of taking the Square Root of the Error times a constant Gain. Then limiting for max and min speed gave a very nice speed command producing a constant torque move into a target. The 'Constant' was found by trial and error for each axis adjusting until the rate of decelleration fell into the controllable range of the system.

Error = ABS(Target - Current)
SpeedCommand = Constant * SquareRoot(Error)
if SpeedCommand > Max then SpeedCommand = Max
if SpeedCommand < Min then SpeedCommand = Min

Until target is reached.

Of course the direction had to be separately set.

It's very simplistic, friction was roughly the same both directions. But it did its job in a reasonable time.
 
The problem I see is the PF4 does not do a good job of stopping any type of mass in this application. Chances are even if you have the perfect algorithm going to the drive, it will still overshoot unless you are positioning something as light as a feather.

I never was successfull doing this and I had to replace the PF4s with PF40s to make it work.
 

Similar Topics

I need to stop a machine at a certain distance (within 1/4"). Distances will change with certain setups. Looking at linear transducers and analog...
Replies
20
Views
5,344
Hey guys! I'm a newbie in the control area, so I'm gonna drop some thoughts here... We want to control the opening of big silos (about 1900...
Replies
6
Views
1,487
Hi! We are currently updating our Intouch 2012 (v10.5 and v10.6) and Intouch 2014 (v11.1) to Intouch 2017 (v17.3). We were using workstations as...
Replies
10
Views
4,345
Found this in an old program I am cleaning up. Is this a poor re-creation of a Falling Edge Trigger? Thoughts See the screen shot.
Replies
8
Views
2,362
http://www.designworldonline.com/cant-control-way-poor-mechanical-design/#comment-128125 I think the article lost focus a little when talking...
Replies
4
Views
1,913
Back
Top Bottom