Hot plate PID control according to measured graphs

6 views (last 30 days)
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 Comments
Star Strider
Star Strider on 29 Mar 2023
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 on 29 Mar 2023
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.

Sign in to comment.

Answers (1)

Joe Vinciguerra
Joe Vinciguerra on 28 Mar 2023
  1 Comment
Dan Richter
Dan Richter on 28 Mar 2023
Is there any example? Although I am somewhat familiar with FFT calculation in MATLAB, I have no experience with PID control.

Sign in to comment.

Tags

Products

Community Treasure Hunt

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

Start Hunting!