Optimizing Machine Speed Control with PID for Smoother Operation

Question:

Hey everyone, I've been grappling with a challenge for quite some time and was hoping to get some input from you. The equipment moves along a track spanning approximately 50 feet in both directions. It is operated manually by a joystick, allowing for acceleration up to 500 feet per minute (FPM) in either direction. However, there is no braking mechanism in place. To slow down or stop the equipment, the operator must apply an opposite input, as simply releasing the joystick will result in coasting and potential damage to the equipment by hitting the end stops. My goal is to enhance the control of the equipment to maintain a speed within 20 FPM of a variable limit determined by process factors, typically ranging from 100 to 300 FPM. The control system must operate using a +-10 v Analog Output, with FPM speed feedback provided every 60 milliseconds. I am exploring how to implement a PID or similar control method to predict when the equipment is approaching the desired speed limit, apply the necessary opposite input to slow it down, and then maintain that speed until the operator decides to stop and switch directions. Unfortunately, my previous attempts have resulted in overshooting the target speed and the speed fluctuating around the setpoint, attributed to the coasting nature of the equipment and the challenge of braking without providing an opposite input. Adjusting the gains hasn't yielded the desired outcome. How can I fine-tune the control system to achieve smoother operation and prevent oscillation around the setpoint speed? Any suggestions or insights would be greatly appreciated.

Top Replies

The operation is managed by an Allen Bradley 1756-L72 Controller running Version 32.

What is the output of the PID controller - a 0-10V signal? What type of process measurement represents the setpoint that the PID is aiming to achieve? This is known as the Process Value or Present Value (PV). When the signal reaches 10V, the machine accelerates from 0FPM to 500FPM in approximately 3 seconds, with an acceleration rate of around 10kft/s2. If the signal is 5V, would the machine take about 6 seconds to reach 500FPM from 0FPM? Speed feedback is provided every 60ms, equivalent to 16-17 samples per second or 1000 samples per minute. There is no position feedback available. How do you determine the direction in which the PID controller accelerates the machine? Analyzing the system and creating velocity vs time trends can be advantageous. Begin by placing the machine at one end of the track with a 0V signal, then send a signal of "X" volts towards the opposite end for 3 seconds, followed by "X" volts in the reverse direction to stop it if the acceleration is symmetrical. Generate trend images for different values of "X." For instance, if X=10V, the machine should not move more than approximately 25ft. Adjust the time and voltage values if you anticipate greater movement.

drbitboy asked if the PID output would be a -10 to +10V signal. The Process Value (PV) is the Current FPM, while the Set Point (SP) is the Commanded FPM for speed control. The acceleration from 0FPM to 500FPM in 3 seconds with a 10V signal equates to approximately 10kft/s². Speed feedback is monitored at 60ms intervals. There is both position and speed feedback implemented in the system, with the direction of acceleration controlled by the voltage polarity. Conducting a velocity vs time analysis with different voltage values could help characterize the system further. I will work on obtaining this data over the weekend. Thank you!

To achieve the desired current/power, the +/10 volts need to pass through an amplifier or driver. Are you operating the motor in torque mode or velocity mode? In torque mode, the motor accelerates based on the control output. Whereas in speed mode, the motor moves at a speed influenced by the control output. Braking function is not available, but in torque mode, a negative current can slow down or stop the motor acting as a brake. In velocity mode, the motor should cease movement at a control output of 0. If you are not using either of these modes, consider the benefits. A feedback rate of 60ms may seem slow. How about position feedback? Remember, controlling position also means controlling velocity. As requested by drbitboy, any trend insights?

In a recent discussion on signal acceleration, drbitboy shared insights on a machine accelerating from 0FPM to 500FPM in 3 seconds with a signal at 10V, resulting in an acceleration of approximately 10kft/s2. This prompts a question about the precision of speed measurement and calculation, focusing on factors such as PID scaling for output and input values, along with time scaling in the PID procedure configuration. Assuming the motor operates in torque mode, the translation of signal values to speed values is explored in depth, with equations and controller settings outlined for clarity. Check out the attached curves for a visual representation.

I've faced a similar challenge before with a system that had a lot of inertial “coasting” and what seemed to work for me was using a feedforward controller in combination with a PID controller. The feedforward controller can help by predicting the future output. It employs previously acquired system data to estimate the necessary control input. This way, the system can respond proactively to changes in the setpoint or any other disturbances, instead of retroactively like with the PID controller. The PID controller can then be used to correct any remaining error. This approach helped for sudden speed changes and it was able to handle the coasting nature of my system. It may need some fine-tuning and adaptation for your specific case, but I do hope it leads you in the right direction. Also don't disregard the importance of ensuring your system model is as accurate as possible, it's crucial in getting the right parameters for both controllers.

It sounds like you're facing quite a challenge! Have you considered implementing a feedforward control strategy alongside your PID? It could help anticipate the required input based on the target speed and the acceleration characteristics of your equipment. By combining that with your PID controller, you might reduce the oscillations and overshoot by allowing the system to adjust more proactively to changes in speed. Additionally, you could experiment with adding a small amount of damping to adjust the response curve and reduce fluctuations. It might take a bit of trial and error, but that approach could lead to a more stable operation!

It sounds like you're working on a complex control challenge! Have you considered implementing a feedforward control component alongside your PID? By predicting the necessary adjustments based on your desired speed limit, you might be able to counteract the coasting more effectively before it creates overshoot. Additionally, tweaking your derivative gain can help dampen the fluctuations you’re seeing. You might also experiment with introducing a small damping factor that gently counteracts the motion as it approaches the setpoint; even a slight adjustment can sometimes make a big difference in stability. Keep us posted on your progress!

More Replies →

Streamline Your Asset Management
See How Oxmaint Works!!

âś…   Work Order Management

âś…   Asset Tracking

âś…   Preventive Maintenance

âś…   Inspection Report

We have received your information. We will share Schedule Demo details on your Mail Id.

To add a comment, please sign in or register if you haven't already..   

Frequently Asked Questions (FAQ)

FAQ: 1. What is the challenge faced with the equipment's speed control system?

Answer: - The challenge is maintaining a speed within 20 FPM of a variable limit determined by process factors, typically ranging from 100 to 300 FPM, due to the lack of a braking mechanism.

FAQ: 2. How is the equipment currently operated?

Answer: - The equipment is operated manually by a joystick, allowing for acceleration up to 500 FPM in either direction, and stopping requires applying an opposite input as there is no braking mechanism.

FAQ: 3. What control method is being considered to address the speed control issue?

Answer: - The user is exploring implementing a PID or similar control method to predict when the equipment is approaching the desired speed limit, apply the necessary opposite input to slow it down, and then maintain that speed.

FAQ: 4. What are the challenges faced in previous attempts to control the equipment's speed?

Answer: - Previous attempts have resulted in overshooting the target speed and speed fluctuation around the setpoint due to the coasting nature of the equipment and the difficulty of braking without providing an opposite input.

FAQ: 5. How can the control system be fine-tuned to achieve smoother operation and prevent oscillation around the setpoint speed?

Answer: - Adjustments to the PID controller gains and possibly implementing additional strategies to anticipate speed changes and apply corrective actions can help achieve smoother operation and prevent oscillation around the setpoint speed.

Ready to Simplify Maintenance?

Join hundreds of satisfied customers who have transformed their maintenance processes.
Sign up today and start optimizing your workflow.

Request Demo  â†’