这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » 国产MCU » PID温控,STC8H8K64U-P1.3测温P1.0加热-PID温控-USB-

共3条 1/1 1 跳转至

PID温控,STC8H8K64U-P1.3测温P1.0加热-PID温控-USB-CDC返回

菜鸟
2023-08-16 09:35:38     打赏

PID 算法来了,PID温度控制
USB-CDC虚拟串口/就是串口

【D-/P3.0D+/P3.1】直接接电脑返回数据
串口绘图

TM$[K0]J}(6VYN[NUV7[51B.jpg

STC8H8K64U-P1.3测温P1.0加热-PID温控-USB-CDC返回
/*************        功能说明        **************
本程序演示使用STC8H8K64U的P1.3做12位ADC输入测量温度, 经过PID处理后,从P1.0输出PWM控制MOSFET控制加热,达到恒温目的.
使用STC-ISP的串口助手调试, 可以使用STC-ISP里的串口绘图观察曲线 或 7段数码管观察温度.
程序默认串口绘图观察5条曲线:
1、目标温度(单位度)。
2、当前温度(单位度)。
3、垂直刻度150作为相对误差的0点。
4、当前温度相对目标温度的误差,误差值单位为0.1度,以150刻度为0点,比如140表示当前温度比目标温度低-1.0度,160表示当前温度比目标温度高1.0度。
5、输出PWM的值。

PID整定就是根据具体的项目中的温升速度、散热速度,调整PID采样周期、比例增益、积分增益、微分增益、积分上下限。
PID温控可以只用PI(微分增益设置为0)即可达到稳定,本利测试时微分增益为0.
PID整定是一件繁琐的事,要有耐心,并且要深入理解PID的行为表现。
特别提醒:想要升温快,则就会有过冲,升温越快过冲越大。

串口发送单字符命令:
b或B: 开启PID.
s或S: 停止PID.
0: 不打印信息.
1: 打印绘图曲线。
2: 打印7段数码管显示温度。

串口发送数字字符串设置采样时间、目标温度、pGain、iGain、dGain,数据之间逗号分隔:
200,60,20,10,100,
200: 采样时间, ms.
60: 目标温度, 单位度.
20:  pGain比例增益
10:  iGain积分增益, 1对应为0.001
100: dGain微分增益

//==================================================================================
NTC 热敏电阻温度计算公式:Rt = Ro *EXP(B/T-B/To),温度单位为绝对温度K,开尔文。
(1) Rt 是热敏电阻在温度T下的阻值。T是绝对温度。

(2) Ro是热敏电阻在To(25度)时的阻值。10K的热敏电阻25℃的值为10K(即Ro=10K)。To = (273.15+25)。
(3) EXP(n) 是 e 的 n 次方。
(4) B值是热敏电阻的材料系数。

通过转换可以得到温度T与电阻Rt的关系:T=1/(1/To+ln(Rt/Ro)/B)
对应的摄氏温度t=T-273.15。

电路连接: Vref -- 10K --ADC-- NTC -- GND, 12位ADC,计算出Rt/Ro的ADC值:
ADC = 4096*Rt/(Rt+Ro), 则
Rt/Ro = ADC/(4096-ADC), 从而
T = 1/(1/To+ln(ADC/(4096-ADC))/B)
******************************************/

例子打包:15-STC8H8K64U-P1.3测温P1.0加热-PID温控-USB-CDC返回.rar

验证电路:

测试80度相应曲线:

测试80度数码管显示:

串口调试命令:




关键词: PID温控     STC8H8K64U     P1.3测温P1    

院士
2023-08-16 10:02:33     打赏
2楼

做技术研讨会的思路是正确的。

继续啊


专家
2023-08-29 11:11:01     打赏
3楼

非常实用的学习资料。赞!


共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]