欢迎来到天天文库
浏览记录
ID:47477257
大小:406.00 KB
页数:11页
时间:2020-01-11
《基于FPGA的温控系统的设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、综合电子系统设计报告实验名称:基于FPGA的温控系统的设计班级: 电子1202学号:姓名: __指导教师: 前言基于FPGA与温度传感器DS18B20设计实现了单回路水箱温度PID控制系统。软件主要包括PID控制算法及PWM波产生模块、DS18B20驱动模块、数码管显示驱动模块等3个模块。仿真结果验证了设计的正确性。实验结果表明,系统输出温度达到微小超调的稳定控制要求,体现了该设计方法的有效性和实用性。基于微处理器的温度控制系统改变了传统模拟温度控制系统参数整定不灵活的问题。但是常规微处理器无法避免在恶劣环境下程序跑飞的问题。利用FPGA实现温度控制系统的设计,不
2、仅可以提高系统的运算速度、减小系统的体积,还可以增强系统的可靠性,具有较强的应用前景。本设计首先针对Altera公司的CycloneII系列FPGA芯片,基于QUARTUSII软件,采用verilogHDL编程设计了主要包括PID控制算法及PWM波产生模块、DS18B20驱动模块、数码管显示驱动模块等功能模块程序。然后用Modelsim软件仿真验证了各模块的正确性。最后以水箱为被控对象,以目前市场上性价比较高的FPGA芯片EP2C8Q208C8为核心器件,结合温度传感器DS18B20、键盘、数码管以及固态继电器等器件设计实现了单回路水温PID控制系统。在控制温度为30~90℃的实
3、验条件下,误差小于1℃,系统输出温度达到微小超调的稳定控制要求。关键词:FPGADS18B20PIDPWM波一、方案设计1、方案设计比较温度传感器模块设计方案一:采用热敏电阻pt100。这种电阻输出的是模拟量,所以硬件结构较复杂,需要用到桥式电路将采集到的温度转化为电压输出,而且为了实现AD转化,还要加放大电路。另外,这种测温系统难以实现多点测温,也要用到复杂的算法,一定程度上也增加了软件实现的难度。方案二:采用单总线数字温度传感器DS18B20测量温度,直接输出数字信号。便于单片机处理及控制,节省硬件电路。且该芯片的物理化学性很稳定,此元件线形性能好,在0—100摄氏度时,最大
4、线形偏差小于1摄氏度。DS18B20的最大特点之一采用了单总线的数据传输,由数字温度计DS18B20和微控制器AT89C51构成的温度装置,它直接输出温度的数字信号到微控制器。每只DS18B20具有一个独有的不可修改的64位序列号,根据序列号可访问不同的器件。这样一条总线上可挂接多个DS18B20传感器,实现多点温度测量,轻松的组建传感网络。综上分析,我们选用第二种方案。2、总体方案设计单回路水箱温度控制系统的结构如图1所示,虚线框内部分是系统的核心,用一片FPGA实现。其中,clock生成器用于将系统时钟分频及产生定时,用户接口接受用户键盘输入及驱动LED显示。PID控制器用于
5、实现PID控制算法,PWM波发生器用于脉宽调制,以控制固态继电器的通断来达到控制加热功率的目的。传感器接口用于对温度传感器DS18B20进行数据采样控制。二、理论分析与计算1、温度转换计算方法例如当DS18B20采集到+125℃的实际温度后,输出为07D0H,则:实际温度=07D0H╳0.0625=2000╳0.0625=1250C。例如当DS18B20采集到-55℃的实际温度后,输出为FC90H,则应先将11位数据位取反加1得370H(符号位不变,也不作为计算),则:实际温度=370H╳0.0625=880╳0.0625=550C。2、稳定温度的方法:PID算法调节完整的公式如
6、下: u(t)=Kp*e(t)+Ki∑e(t)+Kd[e(t)–e(t-1)]+u0 在PID的调试过程中,我们应注意以下步骤: 1、关闭I和D,也就是设为0.加大P,使其产生振荡; 2、减小P,找到临界振荡点; 3、加大I,使其达到目标值; 4、重新上电看超调、振荡和稳定时间是否吻合要求; 5、针对超调和振荡的情况适当的增加一些微分项; 6、注意所有调试均应在最大争载的情况下调试,这样才能保证调试完的结果可以在全工作范围内均有效;PID控制器参数整定 :采用是临界比例法。利用该方法进行PID控制器参数整定步骤如下: (1)首先预选择一个足够短采样周期让系统工作;
7、(2)仅加入比例控制环节,直到系统对输入阶跃响应出现临界振荡,记下这时比例放大系数和临界振荡周期; (3)一定控制度下公式计算到PID控制器参数。 一、硬件设计(一)、键盘输入(二)、温度显示部分用七段数码管显示,两个用来显示键盘设定的温度值,两个用来显示测得的温度值。因个数码管占用的工口资源较多,所以配用带驱动和锁存功能的一十进制译码器如图所示为一个数码管与的连接。编程时设定值的显示与测得值的显示为两个不同的模块。(三)、设定值的显示部分当按键按下一定时间表明按下有效,因
此文档下载收益归作者所有