Hot plate PID control according to measured graphs

6 次查看(过去 30 天)
I would like to control electric hot plate by PID control. Please can you advise me on how to identify system, calculate the PID parameters and let me know the equation by which I can control the temperature of the hotplate by reading the measured temperature in 1 s intervals and by means of MCU to control the SSR (PWM) accordingly to follow JEDEC reflow profile?
  2 个评论
Star Strider
Star Strider 2023-3-29
Identifying the system is straightforward. Coinverting the identified system to a PID representation does not appear to be possible.
THP = readtable('https://www.mathworks.com/matlabcentral/answers/uploaded_files/1338819/Esperanza_Hotplate.xlsx', 'VariableNamingRule','preserve')
THP = 490×2 table
Time [s] T [°C] ________ ______ 1 27.032 2 26.966 3 26.909 4 26.859 5 26.818 6 26.784 7 26.759 8 26.742 9 26.733 10 26.731 11 26.738 12 26.752 13 26.774 14 26.804 15 26.842 16 26.887
VNTHP = THP.Properties.VariableNames;
figure
plot(THP{:,1}, THP{:,2})
grid
xlabel(VNTHP{1})
ylabel(VNTHP{2})
Ts = diff(THP{[1 2],1}) % Sampling Interval (Assumed Constant)
Ts = 1
HPData = iddata(THP{:,2},[],Ts)
HPData = Time domain data set with 490 samples. Sample time: 1 seconds Outputs Unit (if specified) y1
HPss = ssest(HPData,3)
HPss = Continuous-time identified state-space model: dx/dt = A x(t) + K e(t) y(t) = C x(t) + e(t) A = x1 x2 x3 x1 -0.009696 0.00484 0.005199 x2 -0.01001 0.00952 0.01666 x3 -0.01958 0.002297 -0.00606 C = x1 x2 x3 y1 -2743 99.72 1.013 K = y1 x1 -0.0002048 x2 0.01029 x3 -0.08902 Parameterization: FREE form (all coefficients in A, B, C free). Disturbance component: estimate Number of free coefficients: 15 Use "idssdata", "getpvec", "getcov" for parameters and their uncertainties. Status: Estimated using SSEST on time domain data "HPData". Fit to estimation data: 100% (prediction focus) FPE: 1.1e-06, MSE: 1.061e-06
figure
compare(HPData, HPss)
grid
.
Dan Richter
Dan Richter 2023-3-29
Thank you very much for your advice. That's great.
What equation with PID coefficients should I use to control the SSR so that the resulting temperature matches the JEDEC temperature profile, see attached graph? When the peak of the curve is reached, I take the PCB off the hot plate.
I will measure the hot plate temperature each second.

请先登录,再进行评论。

回答(1 个)

Joe Vinciguerra
Joe Vinciguerra 2023-3-28
  1 个评论
Dan Richter
Dan Richter 2023-3-28
Is there any example? Although I am somewhat familiar with FFT calculation in MATLAB, I have no experience with PID control.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 PID Controller Tuning 的更多信息

标签

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by