基于PID算法的恒温控制系统设计(共18页).docx
《基于PID算法的恒温控制系统设计(共18页).docx》由会员分享,可在线阅读,更多相关《基于PID算法的恒温控制系统设计(共18页).docx(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上课程设计说明书题目:基于PID算法的恒温控制系统设计 学号:姓名:指导教师: 日期: 专心-专注-专业目录一、设计题目基于PID算法的恒温控制系统设计二、设计要求1. 利用DS18B20采集温度并显示;2. 利用单片机I/O管角输出PWM控制功率电阻发热;3. 基于PID算法实现恒温控制。三、设计思路本设计要求实时采集温度并实现恒温控制,根据设计要求,本次设计拟采用AT89C52单片机作为控制芯片,采集部分使用DS18B20温度传感器,显示部分采用数码管显示实时温度,功率电阻作为控制对象。在PID算法的基础上完成恒温控制系统的设计。四、 实验设备单片机开发试验仪1台A
2、T89C52单片机芯片1个DS18B20温度传感器1个C9013三极管1个1W功率二极管1个五、 硬件介绍DS18B20:DS18B20是常用的温度传感器,具有体积小,硬件开销低,抗干扰能力强,精度高的特点。DS18B20的主要特征: 全数字温度转换及输出。 先进的单总线数据通信。 最高12位分辨率,精度可达土0.5摄氏度。 12位分辨率时的最大工作周期为750毫秒。 可选择寄生工作方式。 检测温度范围为55C +125C (67F +257F) 内置EEPROM,限温报警功能。 64位光刻ROM,内置产品序列号,方便多机挂接。 多样封装形式,适应不同硬件系统。DS18B20数据采集过程 GN
3、D 地信号 DQ 数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。 VDD 可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。由于DS18B20采用的是1Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。 由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序
4、。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。六、 硬件接线图AT89C52恒温控制系统硬件连接图八位七段码显示P0P1P2.0P3.7 1W C9013 DS18B20硬件部分分别也P0口和P1口作为八位七段码的段选和位选的控制端口,DS18B20连接至P3.1口作为控制线,P2.0口作为PWM波输出口,经过C9013信号放大后接功率电阻作为被控对象。通过温度传感器采集电阻上的温度反馈给系统,构成闭环调节系统,构成恒温控制系统。
5、七、 软件流程图、A/DD/A被控对象开始计算采样初值设初值e(k-1)=e(k-2)=0本次采样输入c(k)计算偏差量e(k)=r(k)-c(k)计算控制增量u(k)u(k)=q0e(k)-q1e(k-1)+q2e(k-2)输出u(k)为下一时刻做准备e(k)=e(k-1),e(k-1)=e(k-2)采样时刻到否PID算法流程图软件部分采用PID算法,其中数据采集与显示部分不属于本设计的主要部分在此不再赘述。PID算法的参数有实验确定,遵循先比例,后积分,再微分的原则,从最小看是逐步调试,最终取得最佳的PID参数。八、PID参数确定PID算法运用比例、积分、微分算法,来对回路中的偏差进行修正
6、,通过执行器调节参数,使测量值稳定在设定值附近,达到控制某一参数的目的。 必须先明白P,I,D各自的含义及控制规律比例P:比例项部分其实就是对预设值和反馈值差值的发大倍数。积分I:顾名思义,积分项部分其实就是对预设值和反馈值之间的差值在时间上进行累加。当差值不是很大时,为了不引起振荡。可以先让电机按原转速继续运行。当时要将这个差值用积分项累加。当这个和累加到一定值时,再一次性进行处理。从而避免了振荡现象的发生。可见,积分项的调节存在明显的滞后。而且I值越大,滞后效果越明显。微分D:微分项部分其实就是求电机转速的变化率。也就是前后两次差值的差而已。也就是说,微分项是根据差值变化的速率,提前给出一
7、个相应的调节动作。可见微分项的调节是超前的。并且D值越大,超前作用越明显。可以在一定程度上缓冲振荡。比例项的作用仅是放大误差的幅值,而目前需要增加的是“微分项”,它能预测误差变化的趋势,这样,具有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调其次进行参数调整a.确定比例增益P 确定比例增益P 时,首先去掉PID的积分项和微分项,一般是令Ti=0、Td=0,PID为纯比例调节。输入设定为系统允许的最大值的60%70%,由0逐渐加大比例增益P,直至系统出现振荡;再反过来,从此时的比例增益P逐渐减小,直至系统振荡消失,记录此时的比例增益P,设定PID
8、的比例增益P为当前值的60%70%。比例增益P调试完成。b.确定积分时间常数Ti比例增益P确定后,设定一个较大的积分时间常数Ti的初值,然后逐渐减小Ti,直至系统出现振荡,之后在反过来,逐渐加大Ti,直至系统振荡消失。记录此时的Ti,设定PID的积分时间常数Ti为当前值的150%180%。积分时间常数Ti调试完成。c.确定积分时间常数Td积分时间常数Td一般不用设定,为0即可。若要设定,与确定 P和Ti的方法相同,取不振荡时的30%。九、 实验总结本次课程设计的题目为基于PID算法的恒温控制系统。在接到这个题目的同时,我们就开始思考如何去设计这个系统。首先是硬件电路的设计与器件的选择。其中温度
9、采集与显示部分的设计,我们在单片机课程上已经有所涉及,在这里我们就可以直接拿来用了。硬件部分需要我们设计的就是被控对象。为了试验方便我们选择了1W的功率电阻作为被控对象,然后通过DS18B20温度传感器去测量电阻附近的温度变化。从而实现系统的控制与反馈。考虑到单片机I/O口的驱动能力不足,不足以驱动功率二极管,我们在I/O口与功率二极管之间串入一个C9013最为驱动与开关器件,用以对二极管的驱动和控制。软件部分采用了PID控制算法,其中最重要的环节为PID控制参数的确定,一开始我们准备利用计算法来确定,可是在实施的过程终发现,计算法所需要的原始数据难以确定,而且在实际测量中也有很大的不确定性。
10、最终,经过我们的分析研究,得出实验法确定参数是一个比较切实可行的办法。然后就通过实验一步一步测试出所需要的参数,经过我们几天的而艰苦奋战,终于测试好了参数。最后在进行系统的整体调试,最终完成这次课程设计,并顺利通过老师的验收。这次的课程设计,让我有了很多的收获和感受。首先,让我认识到了,在学习的过程中仅仅有理论知识是不足的,必须要理论与实践相结合起来。有的东西看起来非常简单,可是到了实现环节,就会变得异常困难。在实现的过程中可能会出现各种各样的状况,需要在现场分析解决。在最任何事情的时候都必须认真细致,有时一个小小的环节出现问题,都会导致结果出现巨大的差异。在最任何是的过程中遇到困难都是正常的
11、,我们需要做的就是去面对它,通过自己的分析理解,最终找到解决方法,克服困难。附件:实验程序/* * 微机控制课程设计-* 实 验 名 : 基于PID算法的恒温控制系统设计* 实验说明 : 通过DS18B20采集温度,反馈给系统,构成闭环调节系统* 连接方式 : 见连接图* 注 意 : */#include#includetemp.h/-定义使用的IO-/#define GPIO_DIG P0#defineGPIO_PLACE P1sbit PWM=P20;/-定义全局变量unsigned char code DIG_PLACE8 = 0xfe,0xfd,0xfb,0xf7,0xef,0xdf,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 PID 算法 恒温 控制系统 设计 18
限制150内