Hi,
I have having problems understanding what units the PID controller works in. I have done bump tests and created a model for my loop (see attached file).
I have used the Ziegler-Nichols method (http://www.youtube.com/watch?v=nvAQHSe-Ax4) to calculate what values for P, I and D. The values which come out of the equation are displayed in the attached file, however I am not sure which variation of the numbers I need to use. I am sampling my PID controller every 100ms.
Based on my PID Controller values, which of the following values should be used?
BP (Proportion Band?) = 6507(Kp*100) / 65(Kp*10) / 15369(P-Band*1000) or other?
TI (Integral Time?) = 4500(Ki*100) / 45(Ki) / 6916(Reset Rate*1000) / 69(Reset Rate*10) or other?
TD (Derivative Time?) = 11250(Kd*1000) / 122 (T) / 4149 (Repeats*10)?
As you can probably tell, I'm also quite new to PID controlling using D.
Please advise.
Regards
Kevin
PL260 PID COntroller Units
-
- Posts: 4
- Joined: 30/03/2016, 2:24
PL260 PID COntroller Units
You do not have the required permissions to view the files attached to this post.
-
- Moderatore
- Posts: 1699
- Joined: 29/10/2010, 10:09
- Contact:
Re: PL260 PID Controller Units
Hi,
I suggest you to use this simple model to calculate PB, Ti and Td:
1- starting in ON-OFF mode, choose a setpoint and power on resistance
2- when you reach the value, resistance will power off, but temperature will increase due to inertia. Check how many degrees the value continue to increase until it stabilize (and start decreasing). Put this "delta" moltiplyed by 1.3 to PB.
3- check also how much time temperature needs to stop increasing due to the inertia, put this value as TI.
4- TD is TI/4.
For example:
Setpoint 100°C
Resistance is ON until 100°C, then power OFF. Temperature increase until 110°C, the stabilize and start to decrease --> PB will be "(110°-100°) x 1.3"
Also check time: Temperature needs some time from 100°C (setpoint) to reach 110°C (peak) --> This is the TI.
TD is TI/4.
Keep in mind that PB, TI, TD have different units of measure in PlProg, so keep attention which value you put:
1- The proportional band and the dead band are expressed in numeric values equal to the setpoint and the process to regulate.
2- The integral time is expressed in the units of time in which the function PID is called (for instance, function PID
called every 1 second, integral time expressed in seconds).
3- The derived time is expressed with an additional decimal digit respect to the integral time.
I suggest you to use this simple model to calculate PB, Ti and Td:
1- starting in ON-OFF mode, choose a setpoint and power on resistance
2- when you reach the value, resistance will power off, but temperature will increase due to inertia. Check how many degrees the value continue to increase until it stabilize (and start decreasing). Put this "delta" moltiplyed by 1.3 to PB.
3- check also how much time temperature needs to stop increasing due to the inertia, put this value as TI.
4- TD is TI/4.
For example:
Setpoint 100°C
Resistance is ON until 100°C, then power OFF. Temperature increase until 110°C, the stabilize and start to decrease --> PB will be "(110°-100°) x 1.3"
Also check time: Temperature needs some time from 100°C (setpoint) to reach 110°C (peak) --> This is the TI.
TD is TI/4.
Keep in mind that PB, TI, TD have different units of measure in PlProg, so keep attention which value you put:
1- The proportional band and the dead band are expressed in numeric values equal to the setpoint and the process to regulate.
2- The integral time is expressed in the units of time in which the function PID is called (for instance, function PID
called every 1 second, integral time expressed in seconds).
3- The derived time is expressed with an additional decimal digit respect to the integral time.
-
- Posts: 6
- Joined: 03/02/2019, 19:08
- Location: Sri Lanka
- Contact:
PL260 PID COntroller Units
Hi Guys,
Can anyone kindly share a code example for PID controller for EV3 ?
I want to use it a a basis to a self balancing robot.
Many thanks,
Amit
Can anyone kindly share a code example for PID controller for EV3 ?
I want to use it a a basis to a self balancing robot.
Many thanks,
Amit