找回密码
 立即注册
查看: 3204|回复: 2

PID 算法来了,PID温控;USB-CDC虚拟串口/就是串口;串口绘图

[复制链接]

24

主题

305

回帖

2551

积分

版主

STC

积分
2551
发表于 2023-8-21 09:19:03 | 显示全部楼层 |阅读模式
电话:0513-55012982、18106296593 (微信同)
QQ : 1347154513
回复

使用道具 举报 送花

已绑定手机

0

主题

7

回帖

36

积分

新手上路

积分
36
发表于 2026-10-20 12:39:15 | 显示全部楼层
梁工您好:        iMax =  40000.0;        // 积分高限幅
                        iMin = -40000.0;        // 积分低限幅
                        这里为什么要用正负40000.0,使用正负2000.0可以吗?看PWM的PWMA_ARR = 1999;
                        pidTerm += iGain * Integral /1000.0;
                        这里不使用除1000.0可以吗?或者使用10.0或者100.0
                       麻烦解释一下为什么要这样做,有什么优势,谢谢
谢谢梁老师,期待您的指导回复

点评

我这样写是为了方便用串口发送系数,按整数发送,串口发送浮点数、单片机接收比较麻烦一点,所以就这样写了。 ±40000是积分幅度,限幅于这个范围,你可以使用任意数值,±1.0都可以,但是所有数据都要跟着适配。 除  详情 回复 发表于 2026-10-29 10:52
回复

使用道具 举报 送花

83

主题

8317

回帖

1万

积分

超级版主

积分
17932
发表于 2026-10-29 10:52:11 | 显示全部楼层
ZCCC*** 发表于 2026-10-20 12:39
梁工您好:        iMax =  40000.0;        // 积分高限幅
                        iMin = -40000.0;     ...

我这样写是为了方便用串口发送系数,按整数发送,串口发送浮点数、单片机接收比较麻烦一点,所以就这样写了。
±40000是积分幅度,限幅于这个范围,你可以使用任意数值,±1.0都可以,但是所有数据都要跟着适配。
除1000.0是为了适配从串口接收的整数转成浮点数,单片机从串口接收浮点数不方便,给初学者简单为好。
如果你能自己写上位机程序,属于高级应用者,你完全可以自己写个界面,所有参数都直接发送浮点数,单片机就不用除1000了,你甚至可以做成通用的格式,积分幅度为±1.0,所有参数都使用浮点数来适配。
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2026-11-8 00:57 , Processed in 0.066343 second(s), 51 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表