完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
用交流电220v加热铜板 控制温度在32度 上下波动不超过0.05度,想通过pid调节pwm占空比(低电平就加热,高电平不加热)来控制功率。
程序重要参数说明 设定温度3200 放大一百倍 pwm加热是半波加热(由于目标温度较小 防止超调) 0--3000期间 不pid调节 3000--3200 期间 调节占空比。 pid程序为增量式pid 问题:温度在32度上下波动 幅度为0.15左右 具体哪里出问题 请高人指教 #define Kp 75 //比例系数 #define Ki 130 //积分系数 #define Kd 30 //微分系数 int Real_temp; //实际温度值 int Set_temp; //设置温度 uchar last_error; //上次误差 float I_term; //前面温差和 int PID_MAX=12800; // unsigned int out,PWMT,counter; void PWM0_set (unsigned char a) { CCAP0L= a; //设置值直接写入CCAP0L CCAP0H= a; //设置值直接写入CCAP0H } int PID(int Set_value,int Real_value) //标准PID温度控制算法 { int error; float P_term, D_term; int pid_out; error=Set_value - Real_value;//误差量 if(error<200) { P_term =Kp*error; //比例量 I_term+=Ki*error; //积分量 if(I_term>PID_MAX) I_term=PID_MAX; //限定积分量上限 else if(I_term<0) I_term=0; //限定积分量下限 D_term =Kd*(error - last_error); //微分量 last_error=error; //缓存当前误差量 if(error<20) I_term=130; else I_term=0; pid_out=(signed int)(P_term+I_term+D_term); //PID控制量计算 if(pid_out>PID_MAX) pid_out=PID_MAX; //控制量上限=PID_MAX else if(pid_out<0) pid_out=0; //控制量下限=0 //return(pid_out); } else if(error>=200) pid_out=12800; return(pid_out); } void jiare_pid_kongzhi() { PWMT=12800; //128级步进PWM控制 PID_MAX=PWMT; counter=0; out=0; I_term=0; last_error=0; Set_temp=3200; //初始设定温度为32度 Real_temp=wenduzhi; out=PID(Set_temp,Real_temp); //PID程序 PWM0_set(12+out/100); } |
|
相关推荐
8个回答
|
|
应根据波动的周期频率来确定那个参数不好,一般经验,你将比例系数Kp加大到150~200应该会有明显改善。。
|
|
|
|
另外,你的jiare_pid_kongzhi()函数里将I_term清零了,这似乎是个问题,但因为不知道你的主程序是如何调度jiare_pid_kongzhi()函数和PID()函数的,所以不太确定是否一定有问题。。
|
|
|
|
高手啊!调到0.15,厉害啊!楼主能说下你用什么温度传感器吗?似乎能精确到0.05度!
|
|
|
|
|
|
|
|
|
|
|
|
凄凄切切群群群群群群群群群群群群群群群群群群群群群群群
|
|
|
|
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
464 浏览 0 评论
478 浏览 1 评论
基于瑞萨FPB-RA4E2智能床头灯项目——1编译环境搭建与点亮驱动ws2812全彩LED
439 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
994 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第二章 常用的C语言知识点
1056 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11790 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 19:09 , Processed in 0.576635 second(s), Total 52, Slave 46 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号