基于FPGA的温控系统的设计说明

上传人:l**** 文档编号:132114943 上传时间:2020-05-12 格式:DOC 页数:11 大小:399.50KB
返回 下载 相关 举报
基于FPGA的温控系统的设计说明_第1页
第1页 / 共11页
基于FPGA的温控系统的设计说明_第2页
第2页 / 共11页
基于FPGA的温控系统的设计说明_第3页
第3页 / 共11页
基于FPGA的温控系统的设计说明_第4页
第4页 / 共11页
基于FPGA的温控系统的设计说明_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《基于FPGA的温控系统的设计说明》由会员分享,可在线阅读,更多相关《基于FPGA的温控系统的设计说明(11页珍藏版)》请在金锄头文库上搜索。

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控制系统。在控制温度为3090的实验条件下,误差小于1,系统输出温度达到微小超调的稳定

3、控制要求。关键词:FPGA DS18B20 PID PWM波一、 方案设计1、方案设计比较温度传感器模块设计 方案一:采用热敏电阻pt100。这种电阻输出的是模拟量,所以硬件结构较复杂,需要用到桥式电路将采集到的温度转化为电压输出,而且为了实现AD转化,还要加放大电路。另外,这种测温系统难以实现多点测温,也要用到复杂的算法,一定程度上也增加了软件实现的难度。 方案二:采用单总线数字温度传感器DS18B20测量温度,直接输出数字信号。便于单片机处理及控制,节省硬件电路。且该芯片的物理化学性很稳定,此元件线形性能好,在0100摄氏度时,最大线形偏差小于1摄氏度。DS18B20的最大特点之一采用了单

4、总线的数据传输,由数字温度计DS18B20和微控制器AT89C51构成的温度装置,它直接输出温度的数字信号到微控制器。每只DS18B20具有一个独有的不可修改的64位序列号,根据序列号可访问不同的器件。这样一条总线上可挂接多个DS18B20传感器,实现多点温度测量,轻松的组建传感网络。综上分析,我们选用第二种方案。2、总体方案设计单回路水箱温度控制系统的结构如图1所示, 虚线框部分是系统的核心, 用一片FPGA 实现。其中, clock生成器用于将系统时钟分频及产生定时, 用户接口接受用户键盘输入及驱动LED 显示。PID控制器用于实现PID控制算法, PWM 波发生器用于脉宽调制, 以控制固

5、态继电器的通断来达到控制加热功率的目的。传感器接口用于对温度传感器DS18B20进行数据采样控制。 二、理论分析与计算1、温度转换计算方法例如当DS18B20采集到+125的实际温度后,输出为07D0H,则:实际温度=07D0H0.0625=20000.0625=1250C。例如当DS18B20采集到-55的实际温度后,输出为FC90H,则应先将11位数据位取反加1得370H(符号位不变,也不作为计算),则:实际温度=370H0.0625=8800.0625=550C。2、稳定温度的方法:PID算法调节完整的公式如下:u(t) = Kp*e(t) + Kie(t) + Kde(t) e(t-1

6、)+u0在PID的调试过程中,我们应注意以下步骤:1、 关闭I和D,也就是设为0.加大P,使其产生振荡;2、 减小P,找到临界振荡点;3、 加大I,使其达到目标值;4、重新上电看超调、振荡和稳定时间是否吻合要求;5、 针对超调和振荡的情况适当的增加一些微分项;6、 注意所有调试均应在最大争载的情况下调试,这样才能保证调试完的结果可以在全工作围均有效;PID控制器参数整定:采用是临界比例法。利用该方法进行 PID控制器参数整定步骤如下:(1)首先预选择一个足够短采样周期让系统工作;(2)仅加入比例控制环节,直到系统对输入阶跃响应出现临界振荡,记下这时比例放大系数和临界振荡周期;(3)一定控制度下

7、公式计算到PID控制器参数。二、 硬件设计(一)、键盘输入(二)、温度显示部分用七段数码管显示, 两个用来显示键盘设定的温度值, 两个用来显示测得的温度值。因个数码管占用的工口资源较多, 所以配用带驱动和锁存功能的一十进制译码器如图所示为一个数码管与的连接。编程时设定值的显示与测得值的显示为两个不同的模块。(三)、设定值的显示部分当按键按下一定时间表明按下有效, 因为只显示两位数字, 所以按一次键, 显示移位, 按下三次, 则最前面的被代替, 依次类推。程序流程如图:(四)、温度控制温度控制直接比较设定值和测得值的编码, 若设定值大于测得值, 则控制升温器件开始工作反之, 让降温器件工作。可以

8、通过的输出控制继电器或者光电器件从而控制需要强电才能工作的升温和降温设备。四、软件设计(一)、程序设计思路:本系统的主要功能是实现对环境部温度的采集,根据采集温度来调整加热电路工作占空比,使得环境部温度达到设定的温度值。在温度控制算法上采用的是是PID(比例-积分-微分)算法,它是一种闭环输出控制模型,在后面会具介绍。总程序的主要有几个部分组成,显示程序,键盘扫描程序,温度读取程序,pid计算程序,中断程序。程序框图如下:PID是ProportionalIntegralDerivativel控制是比例、积分、微分控制的简称,PID控制器由比例单元(P)、积分单元(I)和微分单元(D)组成。PI

9、D控制器就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。在模拟控制系统中,控制器中最常用的控制规律是PID控制。PID控制器是一种线性控制器,它根据给定值与实际输出值构成控制偏差。PID控制规律写成传递函数的形式为:式中,PK为比例系数;iK为积分系数;dK为微分系数;ipiKKT=为积分时间常数;pddKKT为微分时间常数;简单来说,PID控制各校正环节的作用如下:比例控制比例控制是PID中最简单的控制方式。比例部分数学表达式为:其控制器的输出与输入误差信号成比例关系。比例控制作用强弱取决于比例系数Kp,Kp越大,控制过程消耗的时间越短,最终结果的稳态误差也越小;但Kp变大,

10、超调量也越大,系统控制过程易产生振荡,这会使动态性能变差,很可能导致闭环系统不稳定。积分控制在积分控制中,控制器的输出与输入误差信号的积分成正比关系。积分部分数学表达式为: 对于一个自动控制系统,在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的简称有差系统。为了最大程度减小稳态误差,在控制器中必须引入积分项。积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。这样,即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。因此,比例+积分(PI)控制器,可以使系统在进入稳态后无稳态误差。微分控制如果控制器的输出与输入误差信号的微分(即

11、误差的变化率)成正比关系,那么就叫做微分控制。微分部分数学表达式为:一般自动控制系统在消除误差、自动调节过程中,系统可能会出现振荡甚至失稳。其原因系统是存在有较大惯性环节或有滞后组件,具有抑制误差的作用,其变化总是落后于误差的变化。解决的办法是让抑制误差的作用超前工作,就是在系统误差快要接近于零时,抑制误差就应该是零。这就是说,在控制器中仅光入比例项往往是不够的,比例项的作用仅是放大误差的幅值,而目前需要增加的是微分项,它能预测误差变化的趋势,这样,具有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。微分控制得出偏差的变化趋势,微分控制作用可加

12、快系统响应,减小超调量,减小振荡,系统更稳定性,但使系统抗干扰的能力变差。微分部分的作用强弱由微分时间Td决定。Td的值大,则它抑制e(t)变化的能力强,Td的值小,e(t)则它阻止变化的能力弱。PID离散化最终的算式如式所示离散变换得:(二)、各个部分的设计1、 PID控制器的设计常规PID控制器结构清晰、参数调节方便、鲁棒性强, 并且算法简单高效, 在工业现场是应用最广泛的控制器。模拟PID控制表达式如下:其中, kp 为比例增益, Ti 为积分时间常数, Td 为微分时间常数, e( t ) = r( t) - y ( t)为偏差, u ( t)为控制量。位置型数字PID控制算法如式:其

13、中, T 为采样周期, k 为采样序号。增量型数字PID 控制算法如式:所以用FPGA 实现式( 4)时, 需要进行减法运算和乘法运算。乘法器用A ltera提供的可定制位宽的宏功能模块LPM_MULT实现。LPM _MULT具有流水线输出功能, 可以提高乘法运算的速度。对减法运算, 根据被减数- 减数=被减数+ ( - 减数) , 将减法运算变成符号数的加法运算。符号数以补码形式表示, 最高位为符号位, 1表示负数, 0表示正数; 其他位为数值位, 负数的数值位等于它的反码加1。在用V erilog HDL语言表达符号数时, 需要判断符号位来确定正负。描述ud = kd e( k ) - 2

14、e( k- 1) + e( k- 2) 的Verilog HDL语言代码如下:up 和ui 的描述方法依此类推。若采用PID 控制器的其他结构形式, 只需改变up, ui 和ud 的形式。3、PWM 波发生器的实现PWM 波发生器根据PID控制器的输出量u ( k ) 确定PWM 波在一个采样周期高低电平的定时值。为了节省整体设计时间和FPGA 资源, 以1 /1000采样周期为计数时钟, 先使高电平计数器减法计数直到0, 在此期间, PWM端口输出高电平, 再使低电平计数器减法计数直到0, 在此期间, PWM 端口输出低电平。PWM发生器的部分VerilogHDL源代码如下: 4、DS18B20接口的实现 DS18B20接口状态机由如图2 所示的8个状态组成: ( 1 ) RESET1: 对DS18B20 进行初始化, 等待后进入JUDGE。( 2 )JUDGE: 检测DS18B20 是否存在。若不存在, 返回RESET1; 否则延时后进入SKIP1。( 3) SK IP1: 向DS18B20发送跳过ROM 匹配命令, 然后进入CONVERT。( 4) CONVERT: 向DS18B20发送启动温度转换命令, 等待后进入RESET2。( 5 ) RESET2: 对DS18B20复位, 等待600 s后进入SK

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作范文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号