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 ZieglerNichols method (http://www.youtube.com/watch?v=nvAQHSeAx4) 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(PBand*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 ONOFF 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 ONOFF 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