1、 本科毕业设计 (论文 ) ( 届 ) 论文题目 基于 FPGA的温度控制系统设计 (英文 ) Design of Temperature Control System Based on FPGA 所在学院 电子信息学院 专业班级 电子信息 工程 学生姓名 学号 指导教师 职称 完成日期 年 月 日 摘 要 温度控制是工业控制的主要对象之一,温度控制在工业 、农业以及人们的日常生活中扮演着越来越重要的角色, 这就使得对温度控制装置,特别是那些具有通用性、宽量程、高精度、实时性的先进的温度控制系统的需求不断增加。目前市场上多采用单片机系统来对温度进行智能控制,其缺点是远程控制系统复杂,传递不及时
2、,精度不够等缺点。 本文针对温度的控制,设计一种基于 FPGA 的模糊控制器,实现室内温度的智能控制。首先使用 MATLAB 完成模糊控制器的设计与仿真,随后在 Xilinx 公司 FPGA设计平台 Xilinx ISE 10.1 上完成了 VHDL 代码编写,并给出了在 ModelSim 上的仿真结果,仿真结果满足控制要求。因此该模糊控制器对于非线性、大时滞、物理模型不精准的室内温度控制具有良好的控制效果。 关键词: 温度控制; FPGA;模糊控制器; MATLAB 仿真 Abstract Temperature control is one of the main targets in i
3、ndustrial control, which plays an increasingly important role In industry, agriculture and peoples daily life. So the requirement of the temperature control device that possess versatility, wide range, high precision, real-time is demand increasingly. Currently on the market intelligent temperature
4、control based on MCU system has some shortcomings, for example high complexity for remote control, poor in precision and real-time performance. Design of a temperature fuzzy controller based on FPGA is introduced in paper, which meets indoor temperature control. Fuzzy controller design and simulatio
5、n are completed using MATLAB. The VHDL code of fuzzy controller is compiled in Xilinx platform FPGA company Xilinx ISE 10.1, and simulation results based on ModelSim are present, the results show that temperature fuzzy controller meet requirements. The proposed control scheme has good strong robustn
6、ess for nonlinear, large time delay, imprecise physical model of the indoor temperature environment Keywords: temperature control; FPGA; fuzzy controller; MATLAB simulation 目 录 1 引言 . - 1 - 1.1 课题的研究内容 . - 1 - 1.2 课题的研究现状 . - 2 - 1.3 本论文的结构安排 . - 3 - 2 温度模糊控制系统的分析 . - 4 - 2.1 温度模糊控制算法的分析 . - 4 - 2.2
7、 基于 FPGA 的模糊控制算法实现结构 . - 5 - 3 温度模糊控制系统的设计及仿真 . - 6 - 3.1 模糊控制的 MATLAB 仿真 . 6 3.1.1 模糊控制器输入、输出量设计 . - 7 - 3.1.2 模糊规则设计 . - 8 - 3.1.3 模糊控制查询表设计 . - 9 - 3.1.4 Simulink 仿真 . - 10 - 3.2 基于 FPGA 的温度模糊控制器实现 . - 12 - 3.2.1 VHDL 代码编写 . - 12 - 3.2.2 modelsim 总体仿真 . - 31 - 4 结论与展望 . - 37 - 致 谢 . - 38 - 参考文献 .
8、 - 39 - 1 引言 1.1 课题的研究内容 温度是生活、工业生产当中经常遇见的控制参数,它具有明显的大惯性、变参数、非线性特征,很 难 对其建立精确的数学模型。近几年,随着我国经济的飞速发展,工业生产过程也发生了日新月异的变化,这就使得对温度控制装置,特别是那些具有通用性、宽量程、高精度、实时性的先进的温度控制系统的需求不断增加。采用传统的 PID 控制算法,对于数学模型已知的对象能够取得良好效果,系统响应迅速、稳态误差 小,而对于数学模型未知的温度控制系统来讲,参数整定困难,外界干扰因素多,难以达到要求的控制精度。利用现代电子技术,开发出一种实时性高,精度高能够综合处理控制温度的温度控
9、制系统是非常有必要的 1。 模糊控制器是一种近年来发展起来的新型控制器,优点是不需要掌握被控对象的精确数学模型, 通过专家经验归纳控制规律 ,对温度进行控制,可以得到一个更好的动态响应,并且不需要知道控制对象的数学模型,有较强的适应能力,上升时间快 2。模糊控制是把人的思维,知识经验通过模糊语言变量,进行模糊推理形成控制规则,能适应于不易获得 精确数学模型、时滞的被控对象,很适合对温度的控制。但常用的模糊控制器缺乏积分作用,就不会出现平滑现象,在考虑设计的精度要求下,我们采用积分环节与模糊控制器并联控制 3。如图所示: 图 1-1 积分环节与模糊控制器并联控制图 在本次设计中要完成整个系统的控
10、制方案及算法设计,编写 VHDL 代码,并完成调试与仿真 。 1.2 课题的研究现状 最年来,智能控制技术得到了大家的普遍关注。其应用、发展呈现蓬勃之势,尤其是在机电产品设计中。国内外应用模糊控制的产品应接不暇,极大的促进了经济的发展。日本、美国、西欧和中 国在模糊控制的应用上取得了巨大的成功。可以预见智能控制技术将成为未来控制设计的宠儿。 目前国内外在温度控制系统中采用模糊控制算法的研究很多,但多是在单片机上实现控制算法,而本设计试图在 FPGA 上实现控制算法,有着不一样的特点。 FPGA内部有丰富的触发器和 I/0 引脚,同时具有静态可重复编程和动态在系统重构的特性极大地提高了设计的灵活
11、性和通用性,更适用于电子系统的开发 ,如果用户需求量非常大,采用 ASIC 流片能极大地节省成本,经济效益十分显著。 FPGA 可做其它全定制或半定制 ASIC 电路的中试样片 。是一个值得研究 、发展的方向。 以 FPGA 为核心的 PLD 产品是近几年来集成电路中发展最快的产品。随着 FPGA性能的高速发展和设计人员自身能力的提高, FPGA 将进一步扩大可编程芯片的领地,将复杂专用芯片挤向高端和超复杂应用。 FPGA 的发展趋势主要体现在以下几个方面: 1、 向更高密度、更大容量的千万门系统级方向迈进。 2、 向低成本、低电压、微功耗、微封装和环保型发展。 3、 IP 资源复用理念将得到
12、普遍的认同,并成为主要设计方式。 4、 MCU、 DSP、 MPU 等嵌入式处理器 IP将成为 FPGA 应用的核心。 随着处理器以 IP的形势嵌入到 FPGA 中, ASIC 和 FPGA 之间的界限将越来越模糊,未来的某些电路板上可能只有两部分电路:模拟部分(包括电源)和一块 FPGA芯片,最多还有一些大容量的存储器。这表明可编程片上系统( system on a programmable chip,SOPC)正在成为 FPGA 最为重要的发展方向 4。当代模糊控制发展趋势主要可以归结为以下几个方面: 1) 硬件 模糊逻辑芯片和模糊计算机的研制 2) 高度智能化模糊控制理论与应用研究 立足
13、于高度智能化的模糊控制理论与应用研究将是今后一段时期的重点课题。近几年来,自动控制领域的专家学者和工程技术 人员正在探索将神经网络技术与模糊控制相融合的方法,以求提高模糊逻辑推理的智能性。当前的一些研究成果表明:神经网络技术与模糊控制技术的结合,是模糊控制的一个重要发展发现。 模糊逻辑、专家系统、神经网络、混沌这些当代智能技术的新四步正在互相渗透,紧密结合,将是促进高度智能化模糊控制研究的关键 5。 1.3 本论文的结构安排 本论文的第一章为引言部分 , 对课题研究现状加以描述,介绍采用 FPGA 和模糊控制的意义,并提出了课题研究的内容是采用积分环节与模糊控制器并联控制。 第二章是对温度模糊
14、控制系统的分析,初步介绍 温度模糊控制的算法和基于FPGA 的模糊控制算法实现结构,对每个分模块的作用与模块之间相连如何实现模糊控制作了阐述。 第三章是温度模糊控制系统的设计及仿真。实现了模糊控制算法的 MATLAB 仿真,确定了系统输入、输出量的变化范围、量化等级和量化因子,并 制定 了 49 条模糊控制规则 并得到模糊控制规则查询表。提出了基于 FPGA 的温度模糊控制器实现方案,根据设计功能的要求将整个设计划分为若干个模块,每个模块分别完成不同的功能,最后再将它们连接起来构成我们所需要的整体结构。在 ISE 平台上完成VHDL 代码的编写。最终仿真实现 我们做要得到的要求。 第四章是总结
15、与展望。总结了本论文的工作和所获得的研究成果,并对未来的研究进行展望,为未来开展研究工作指明方向。 2 温度模糊控制系统的分析 2.1 温度模糊控制算法的分析 模糊控制技术是近代控制理论中的一种高级策略和新颖技术。模糊控制技术基于模糊数学理论,通过模拟人的近似推理和综合决策过程, 把人的思维,知识经验通过模糊语言变量,进行模糊推理形成控制规则, 使控制算法的可控性、适应性和合理性提高,成为智能控制技术的一个重要分支 。能适应于不易获得精确数学模型、时滞的被控对象,很适合对温度 的控制。整个模糊控制器的设计可以分为以下几步。 首先是论域、语言变量的初步划分。在本系统中设系统温度变化范围为 -20
16、80,而设定值由人自由输入。为了便于数据处理计算将误差变化范围定为: e -100, 100。经验得知,在正常功率加热和自然降温情况下,温度变化均不会超过 10C min,为方便计算得误差变化量的论域: e-l2, 12。输入输出的量化等级均为 -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6;对于输出 -6 代表暖气开度为最大 1, 0 代表暖气、冷气开度皆为最小 0, 6代表冷气开度最大 1。开度的大小 由 PWM 控制 7。 这些重要参数在在线测试时可能需要进一步的修改完善。 其次隶属度的确定、控制规则的编辑。模糊控制规则实质是将操作员的控制经验加以
17、总结而得出一条条模糊条件语句的集合。确定模糊控制规则的原则是必须保证控制器的输出能够使系统输出响应的动静态特性达到最佳,控制规则的编辑由MATLAB 中的模糊控制工具箱完成。 再次求模糊控制表。它由 MATLAB 模糊控制工具箱完成。模糊控制表是最简单的模糊控制 器之一。它可以通过查询将当前时刻模糊控制器的输入变量量化值(如误差、误差变化量化值)所对应的控制输出值作为模糊逻辑控制器的最终输出,从而达到快速实时控制。模糊控制规则表必须对所有输入语言变量(如误差、误差变化)量化后的各种组合通过模糊逻辑推理的一套方法离线计算出每一个状态的模糊控制器输出,最终生成一张模糊控制表。到这里一个基本的模糊控
18、制器就设计出来了,但控制效果怎么样,是否符合我们的设计要求还需要在 Simulik 上进行仿真。 Simulink 是 MATLAB 最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。 Simulink 具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点 Simulink 已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。同时有大量的第三方软件和硬件可应用于或被要求应用于 Simulink8。 2.2 基于 FPGA的模糊控制算 法实现结构 在本次的设计当
19、中我们需要用 VHDL 来编程实现系统的设计。根据整个系统的功能和硬件连接需要,我们计划将整个系统划分为多个易于理解便于编程实现的模块, ADC 控制读取模块实现实时数据的读取,控制模块实现控制温度的输入并通过数码管显示, ADC 数据处理可以将传感器的数据读入 FPGA,从而和设置的温度进行比较。 e_de 模块的功能是将 ADC 得到的实际温度和设置温度进行比较以得到误差 e和误差的变化率 de,后面的模糊控制表的查询 。它根据输入的误差 e 和误差的变化率 de 来确定输出。输出信号再控制 PWM 的占空比,以完成 对暖气、冷气开度的调节。 它们共同连接起来就可以实现我们所需要的功能和目
20、的。基于 FPGA 的模糊控制器实现结构如下图 2-1所示: 图 2-1 系统整体模块框图 3 温度模糊控制系统的设计及仿真 为了实现本次设计我们必须完成下面两项任务: 1. 在 MATLAB 上完成模糊控制算法的设计,并通过在 Simulink 上的仿真 2. 在 Xilinx 公司提供的软件开发平台 Xilinx ISE 10.1 上编写温度采集处理、模糊控制算法、控制信号输出的 VHDL 代码,并完成在 ModelSim 上的调试、仿真。 3.1 模糊控制的 MATLAB仿真 选择模糊控制算法来实现本设计,我们就需要借助 MATLAB 上的模糊控制工具箱。 Matlab 模糊控制工具箱为
21、模糊控制器的设计提供了一种非常便捷的途径,通过它我们不需要进行复杂的模糊化、模糊推理及反模糊化运算,只需要设定相应参数,就可以很快得到我们所需要的控制器,而且修改也非常方便。下面将根据模糊控制器设计步骤,一步步利用 Matlab 工具箱设计模糊控制器 。 模糊控制器主要 包括以下四个部分 :模糊化、模糊推理、清晰化和知识库。模糊化的作用是将输入的精确量转换成模糊化量,并 运 用相应的模糊集合来表 达 。模糊推理是模糊 控制器的核心, 它具有模拟人类基于模糊概念的推理能力。推理过程是基于模糊逻辑关系的含义和推理规则进行的。 清晰化的作用是将模糊推理控制量转换 为实际用于控制的清晰量。 知识库包含一个特定的应用领域的知识和控制目标的要求 。它通常 有 数据库和模糊控制规则库两个部分。 模糊控制,一般使用一套语言描述规则表示专家知识,专家知识通常有下列形式: IF(满足 一组条件 )THEN(可以推出一组结论 ) 9。 下图表示了模糊控制的基本原理: 图 3-1 模糊控制基本原理图 当论域为离散量时,经过量化后输入量 的 个数是有限的。可以针对输入情况 的不同组合计算出相应的控制量,从而组成一张控制表, 可以 减少在线运算量。这种