已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目 录 引言 1 1 概述 2 1 1 模糊控制理论 2 1 1 1 模糊集 隶属度 隶属度函数的概念 3 1 1 2 模糊控制的基本思想 4 1 1 3 模糊系统 4 1 1 4 模糊语言变量 5 1 2 模糊控制算法及控制器系统选择 5 1 2 1 模糊控制器的基本设计 5 1 2 2 实测值的模糊化 7 1 2 3 模糊控制算法选择 7 2 硬件系统设计 11 2 1 总系统设计方案 11 2 2 主控模块 12 2 3 输出控制及加热模块 14 2 4 温度检测模块 16 2 5 显示模块 19 3 软件设计及相关说明 21 3 1 总的思路 21 3 2 程序的编写 22 4 电路制作及调试 28 4 1 电路图的设计 28 4 2 电路板的制作 28 4 3 硬件调试 29 4 4 软件调试 30 5 结论 31 谢 辞 32 参考文献 33 附 录 1 34 附 录 2 43 附 录 3 44 引言 电阻炉是工农业生产中常用的电加热设备 广泛应用于冶金 机械 建材等行业 传统的电阻炉采用模拟式控制仪表 PID 算法 接触器断续调节温度 控制精度低 温 度波动范围大 为此 介绍了基于 AT89S52 的电阻炉智能温度控制系统 系统具有高 效 高精度 智能化的特点 传统的理论过于精确不利于复杂变量的计算 在传统的 温度控制领域里 控制系统动态模式的精确与否是影响控制优劣的最主要关键 系统 动态的信息越详细 则越能达到精确控制的目的 然而 对于复杂的系统 由于变量 太多 往往难以正确的描述系统的动态 于是工程师便利用各种方法来简化系统动态 以达成控制的目的 但却不尽理想 因此便尝试着以模糊数学来处理这些控制问题 模糊控制是以模糊集合理论为基础的一种新兴的控制手段 它是模糊系统理论和模糊 技术与自动控制技术相结合的产物 用模糊理论设计控制器 并不要求建立被控对象 的精确数学模型而只需根据系统的模糊信息 用模糊条件语句写出控制规则 编写到 模糊控制器 模糊控制器通过模糊逻辑和近似推理 把人的经验形式化 模型化 根 据给定的语言控制规则进行模糊推理 给出模糊输出判决 并将其去模糊化转化为精确 量 馈送到被控对象 轻易的就能实现对系统控制对象的控制 而且模糊控制系统参 数修改十分方便 既可修改被控对象 也可修改输入输出的量化论域 语言变量 隶 属函数及控制规则等 无需修改硬件就可以对不同的控制系统实现控制 基于模糊系 统的这些优点 自从这门科学诞生以来 它产生了许多探索性甚至是突破性的研究与 应用成果 同时 这一方法也逐步成为了人们思考问题的重要方法论 尤其在温度控 制方面 由于温度系统具有非线性 时变 滞后性 模糊控制正是针对带大滞后 时 变性和非线性特点的系统对象而诞生的一类控制系统 从而为温度控制提供一个很好 的方法 本论文介绍了一种以单片机为核心 采用模糊控制算法的温度控制系统 并对模 糊控制思想以及系统的软硬件设计进行了详细的阐述 该系统能较好的克服温度控制 对象的纯滞后性和非线性 响应时间短 超调小 操作方便易懂 1 概述 随着科学技术不断发展 人们所面临的控制问题越来越复杂 对于控制质量的要 求也越来越严格 要对那些复杂的工业过程和具有强烈的非线性 不确定性 甚至根 本无法建立精确数学模型的系统 进行有效而精确的控制就非常困难 为了解决这个 问题 传统控制理论提出了许多对策 如最优控制 自适应控制等 然而这些控制方 式的共同特点是必须建立在被控对象的数学模型上 自从1965年美国的控制论专家L A Zadeh教授创立了模糊集合论 从而为描述 研究和处理模糊性现象提供了一种新的 工具 一种利用模糊集合的理论来建立系统模型 设计控制器的新型方法 模糊控 制也随之问世了 1974年 英国的E H Mamdani首次用模糊逻辑和模糊推理实现了世界 上第一个实验性的蒸汽机控制 并取得了比传统的直接数字控制算法更好的效果 从而宣 告模糊控制从理论突破到实际应用 1990年来以来 模糊控制的应用得到了真正的推 广 模糊控制家电开始出现在我们的日常生活中 我国在模糊控制方面的研究也取得 了比较丰硕的成果 1979年北京控制工程研究所刘志俊应用模糊集合论设计出一类典 型的模糊控制器 并对模糊理论测变系统模型进行了分析 北京工业大学徐向出与北 京师范大学的汪培庄提出了Fuzzy PID调节器与人工智能控制问题 为研究复合型模糊 控制提供了新的方法 模糊控制的核心就是利用模糊集合理论 把人的控制策略的自然语言转化为计算 机能够接受的算法语言所描述的控制算法 这种方法不仅能实现控制 而且能模拟人 的思维方式对一些无法构造数学模型的被控对象进行有效的控制 不依赖于被控对象 的数学模型 而只要求掌握现场操作人员和有关专家的经验 知识或者操作数据 因 此 把模糊控制技术应用到工业控制现场 将具有很好的应用前景 且具有明显的理 论和实际意义及巨大的经济效益 简单的说模糊控制作为智能领域中最具有实际意义 的一种控制方法 已经在工业控制领域 家用电器自动化领域和其他很多行业中解决 了传统控制方法无法或者是难以解决的问题 取得了令人瞩目的成效 在自动控制领 域和智能控制领域占有相当重要的地位 已经引起了越来越多的控制理论的研究人员 和相关领域的广大工程技术人员的极大兴趣 但是模糊控制的理论和应用虽然已经取 得了很大的进展 但是就目前的状况来看 尚缺乏重大的突破 因此模糊控制无论在 理论和应用上都有待于进一步的深入研究和探讨 1 1 模糊控制理论 模糊控制是以模糊数学为基础发展起来的一种新的控制方法 这种控制方法是一 种非线性的控制方法 对那些无法取得数学模型或数字模型相当粗糙的系统可以取得 较满意的控制效果 解决了一些用传统控制方法无法解决的问题 人们往往把模糊理 论的模糊理解为不精确 笼统的意思 实际上模糊理论应该为研究模糊的现象 利用 模糊信息的精确理论 也就是说尽管模糊系统理论描述的现象可能是模糊的 但理论 本身却是精确的 从人们平时接触到的大多数实际系统来看 有两个重要的信息来源 一个是用自然语言描述的系统性能的专家 另外的就是传感器提供的测量数据和根据 自然法则推导出来的数学模型 于是人们想到有没有一种理论能把这两类信息一起整 合到系统设计中去 即把人类知识库转换成数学公式 模糊理论的出现正好符合这一 切 下面本论文将详细的介绍何为模糊理论 在介绍模糊控制系统前首先有必要简单 说明何为模糊逻辑 1 1 1 模糊集 隶属度 隶属度函数的概念 模糊集的概念与古典集的概念相对应又区别于古典集 古典集用于描述 非此即 彼 的清晰概念 而模糊集描述的对象并没有明确的定义界线 即它包含的元素可以 部分属于这个集合 拿本设计中的温度变化率来举例 当提到 速度慢 时 这是一 个非清晰的概念 它的范围没有明确的定义 因此对于模糊概念而言不能简单的用 属于 或 不属于 来表达 这时候人们引用 隶属度 来描述 美国加利福尼亚 大学控制论教授扎得 L A Zadeh 经过多年的琢磨 终于在 1965 年首先发表了题 为 模糊集 的论文 指出 若对论域 研究的范围 U 中的任一元素 x 都有一个数 A x 0 1 与之对应 则称 A 为 U 上的模糊集 A x 称为 x 对 A 的隶属度 当 x 在 U 中变动时 A x 就是一个函数 称为 A 的隶属函数 隶属度 A x 越接 近于 1 表示 x 属于 A 的程度越高 A x 越接近于 0 表示 x 属于 A 的程度越低 用 取值于区间 0 1 的隶属函数 A x 表征 x 属于 A 的程度高低 这样描述模糊性问题 比起经典集合论更为合理 就前面举出的温度变化率的例子而言我们可以定义变化率 0 3 s 的为 慢 那么 0 2 S 的隶属度就应该和 0 4 S 的同为 0 8 并没有因为 0 4 S 的温度变化率高于 慢 的定义就把它排除在模糊集以外 只有当温度变化率 差异太大隶属度为 0 的时候 才能说这个元素在速度 慢 这一模糊集以外 隶属度函数的确立目前还没有一套成熟有效的方法 大多数系统的确立方法还停留 在经验和实验的基础上 对于同一个模糊概念 不同的人会建立不完全相同的隶属度函 数 尽管形式不完全相同 只要能反映同一模糊概念 在解决和处理实际模糊信息的问题中 仍然殊途同归 下面简单介绍我所采用的方法 经验模型法 专家经验法是根据专家的实际经验给出模糊信息的处理算式或相应权系数值来确 定隶属函数的一种方法 在许多情况下 经常是初步确定粗略的隶属函数 然后再通过 学习 和实践检验逐步修改和完善 而实际效果正是检验和调整隶属函数的依据 主要思想是从已知有限个元素 A 的值来估计论域 U 上的模糊子集 A 的隶属函数 如论域 U 代表温度变化率为 慢 A 是 变化率为 0 2 S 显然 A 是一个模糊子 集 为了确定 A 先确定一个速度值 0 3 S 为 H 然后选定几个语言真值 即一句话的真 实程度 中的一个来回答某速度是否算 慢 如语言真值可分为 真的 大致真的 似真似假 大致假的 和 假的 五种情况 并且分别用数字 1 0 8 0 6 0 4 0 2 0 来表示这些语言真值 对 n 个不同温度变化率 h1 h2 hn 都作同样的询问 即可以得到 A 的隶属度函数的离散表示 确定了隶 属度后 输出的曲线即为隶属度函数 下图举例说明 慢中快 图 1 1 1 温度变化率的隶属度函数 1 1 2 模糊控制的基本思想 把人类专家对特定的被控对象或过程的控制策略总结成一系列 IF 件 THEN 用 形式表示的控制规则 通过模糊推理得到控制作用集 作用于被控对象或过程 控制作 用集为一组条件语句 状态语句和控制作用均为一组被量化了的模糊语言集 如 正大 负大 正小 负小 零等 模糊推理机根据模糊规则库实现运算 即建立由输入 模糊集到输出模糊集的映射 最后采用加权平均法进行解模糊 将模糊量转换成精确 量u 通过上述的模糊化 模糊推理和解模糊的过程 最终得到系统的模糊控制查询表 见附表 将离线计算得到的模糊控制查询表存放到计算机中 实时控制过程中 实现 模糊控制的过程便转化为查找查询表的过程 温度变化率 S 0 隶属度 1 0 60 3 1 1 3 模糊系统 模糊系统是一种基于知识或基于规则的系统 它的核心为 IF THEN 规则组成的知 识库 即将人的思维经验和知识形成一组 IF THEN 规则 然后组合到单一系统中 模 糊系统有 3 类 1 纯模糊系统 2 TSK takagi sugeno kang 模糊系统 3 具有模糊器和 解模糊器的模糊系统 第一种系统输入输出均为模糊量 自然语言 不能满足工程系 统的需要 而第二种系统的规则中 THEN 部分是一个数学公式 无法提供一个自然的 体系来表达人类的知识 综合上面的原因这里我采用第 3 类的模糊系统 具有模糊器和 解模糊器的模糊系统 具有模糊器和解模糊器的模糊系统的突出特点在于 控制器建立在对专家 操作人员的经验和现场操作数据的模仿总结基础之上 这种控制器的设计不要求知道被控对象的精确数学模型 而只需要提供现场操作员的 经验知识及操作数据 具有一般模糊控制系统的特点即 鲁棒性强 对于非线性 时变 滞后系统 因为其对参数变化不敏感 所以动态特性和静态特性均优于常规控制手段 以语言变量代替常规的数学变量 易于构造形成专家的 知识 控制推理采用 不精确推理 Approximatere asoning 由于推理过程模仿人的 思维过程 介入了人类的经验 因而能够处理复杂甚至 病态 系统 模糊控制理论 之所以能广泛发展并在现实中得以成功应用 其根源在于模糊逻辑本身提供了由专家 构造语言信息 并将其转化为控制策略的一种系统的推理方法 从广义上讲 模糊控 制是基于模仿人的思维方式对难以建立精确数学模型的对象实施的一种控制 1 1 4 模糊语言变量 当用传感器测量一个变量时 传感器会给出一个数值 模仿人的思维方式和经验 给出语言 例如本设计中的速度描述1 S用语言来描述就是 快 这就是所谓的语 言变量 本研究中用到语言变量有3类分别是速度 距离和功率 速度语言变量 速度的变化率 TV DOWN MEDIUM 0 1 度 s TV DOWN SLOW 0 05 度 s TV ZERO 0 度 s TV UP SLOW 0 05 度 s TV UP MEDIUM 0 1 度 s TV UP FAST 0 3 度 s 距离语言变量 目标温度和当前温度的差值 FAR 差 10 度以上 NEAR 差 3 度 以上 VCLOSE 差 0 6 DIST ARRIVE 到达目标值 DIST OVER VCLOSE 大于 0 6 DIST OVER CLOSE 大于 1 6 功率语言变量 BRAKE LIGHT25 BRAKE MEDIUM 50 BRAKE HARD 75 BRAKE VHARD 100 BRAKE UP LIGHT 增加 10 BRAKE DOWN LIGHT 减少 10 1 2 模糊控制算法及控制器系统选择 1 2 1 模糊控制器的基本设计 本控制器为非自适应模糊控制系统 与自适应模糊控制器不同非自适应模糊控制 系统的结构和参数都是固定的 在实时运行中不改变 虽然比自适应模糊控制器需要 更多的过程模型知识或启发规则 但应用代价比自适应模糊控制器便宜且简单的多 模糊控制器的基本结构如图1 2 1所示 控制单元为典型的双输入单输出的模糊控制器 其输入给定信号与反馈信号的偏差e及偏差的微分ec 变化率 经过模糊化处理为对应 的模糊量E EC 再根据规则库进行模糊推理 得到模糊控制量U 最后经过模糊判决 反模糊化 得到精确的控制变量u去控制被控对象 模糊控制器的输出由系统的输入 经过一定的模糊逻辑推理而得到 这一推理过程可以通过软件来实现 图 1 2 1 模糊控制器的基本结构 模糊控制器的设计 对于基本模糊控制器的设计与构造 并没有固定的方法 但一般来说基本模糊逻 辑控制器的工作过程可分为四个步骤 1 构造模糊控制系统结构 根据本次采样得到的系统输出值 计算所选择的系 统的输入变量 该步骤所完成的工作就是确定模糊控制器的输入量和输出量 2 模糊化 即实现输入量或输出量精确量的模糊化 通过量化因子将精 确量变化的范围 基本论域 模糊化成在模糊集论域范围内 我们可以把精确量用 正 大 正中 负中 负小 等模糊语言来分成数个档 这些档的大小 关系就用在模糊论域上的模糊子集来表示 而模糊子集的大小和隶属函数有关 隶属 函数通常采用 三角形隶属函数 正态分布隶属函数和梯形隶属函数等 不同的隶属函 数代表着不同的系统特性 我们一般在系统误差较大时 采用具有低分辨率隶属函数 而在系统误差较小时 采用具有高分辨率的隶属函数 在本毕业设计中采用的是梯形 的隶属度函数 3 模糊控制表的运算合成 有了前两个步骤的工作 我们得到输入量和输出量 的模糊数 结合操作经验或数据 我们就可以将输入量和控制量的模糊数安排到由一 系列的if then控制规则组成的集合中 利用这些规则信息 采用极大极小值合成法或 其他合成算法 我们就可以合成得到控制表 该控制表储存于计算机中 供程序查询 输出 这在下面的软件介绍部分将详细的说明 4 查询输出和输出量精确化是利用程序通过查询该控制表 即可得到对应于某 模糊数输入量的控制量模糊数 再通过输出量量化因子将模糊输出控制量转换成进行 控制量的精确化输出 这实际上是在一个输出范围内 找到一个被认为最具有代表性 的 可直接驱动控制装置的确切的输出控制值 由于模糊控制器是模仿熟练操作人员的控制决策对工业过程进行控制 而操作工 人一般是靠观测被控对象的输出和输出变化率或输出变量和输出变量的总和来设定控 制量的大小的 因此 模糊控制器的结构设计就是确定哪些变量作为模糊控制器的输 入和输出 1 2 2 实测值的模糊化 1 温度偏差的模糊化 温度偏差是指实测被控对象的温度减去设定温度值的差 本设计中将温度控制范 围分为模糊控制区和确定控制区 以温度设定的 1 为界 温度在设定值的 1 以 内为模糊控制区 温度值比设定值小 1 则系统将加热 温度值比系统设定值大于 1 则系统将强制冷却 而在模糊控制区 将温度偏差分为 6 个模糊状态 将温度偏 差计算 圆整 得出了 6 个状态量不同的隶数值 FAR 差 10 度以上 NEAR 差 3 度以上 VCLOSE 差 0 6 DIST ARRIVE 到达目标值 DIST OVER VCLOSE 大于 0 6 DIST OVER CLOSE 大于 1 6 具体的查 询表将在附录给出 2 温度变化速度的模糊化 理论上应该指温度变化速度对控制输出的影响 实际应用时 将温度变化定义为 一个采样间隔内的温度变化 由于温度变化是较慢的 将温度变化值在 0 5 以内定为 模糊控制区 将其分为 6 个模糊状态量 对它们计算 圆整后得出了 6 个状态量不同 的隶数值 TV DOWN MEDIUM 0 1 度 s TV DOWN SLOW 0 05 度 s TV ZERO 0 度 s TV UP SLOW 0 05 度 s TV UP MEDIUM 0 1 度 s TV UP FAST 0 3 度 s 具体的查询表将在附录给出 3 控制输出的模糊化 将控制输出状态用功率的形式来表达 由PWM来控制具体表现为占空比的大小 同样将控制输出分为6个控制状态量 BRAKE LIGHT25 BRAKE MEDIUM 50 BRAKE HARD 75 BRAKE VHARD 100 BRAKE UP LIGHT增加 8 BRAKE DOWN LIGHT 减少8 具体的查询表将在附录给出 1 2 3 模糊控制算法选择 几种常见的模糊控制器的结构及其对应的控制规则的类型如下 1 以偏差E为模糊控制器的输入 而以控制量U或控制量的变化dU作为模糊控制 器的输出 如图1 2 3 1所示 图 1 2 3 1 模糊控制器结构 这是最简单的一类模糊控制器 其控制规则也很简单 可用如下模糊条件语句描 述其控制规则 If E is A then U is B 或者 U is B If E is C then U is D 或者 U is D 其中 A B C D 都是模糊子集 该结构的模糊控制器分别相当于经典控制理论中的比例控制器和积分控制器 其 输入 输出关系可分别用下式表示 U R E U R E 其中 R R 都是由控制规则决定的非线性函数关系 2 以误差E和误差变化量EC作为模糊控制器的输入 而以控制量U或控制量的 变化 U作为模糊控制器的输出 如图1 2 3 2所示 图1 2 3 2 模糊控制器结构二 这是最常用的一类模糊控制器 其控制规则也很简单 可用如下模糊条件语句描 述其控制规则 If E is A and EC is B then U is C 或者 U C 其中 A B C都是模糊子集 该结构的模糊控制器分别相当于经典控制理论中的PD控制器和PI控制器 其输入 输出关系可分别用下式表示 U R E EC U R E EC 其中 R R 都是由控制规则决定的非线性函数关系 3 误差E和误差的和S作为模糊控制器的输入 而以控制量U或控制量变化 U 作为模糊控制器的输出 如图1 2 3 3所示 图1 2 3 3 模糊控制器结构三 这也是比较常用的一类模糊控制器 其控制规则也很简单 可用如下模糊条件语 句描述其控制规则 If E is A and S is B then U is C 或 U is C 其中 A B C都是模糊子集 该结构的模糊控制器分别相当于经典控制理论中的PI控制器 J4 其输入 输出 关系可用下式表示 U R E Edt 其中 R为由控制规则决定的非线性函数关系 关于模糊控制器的结构 还有许多其它的设计方法 需视具体系统的设计为了改 善模糊控制器的性能 获得比较好的调节品质 人们把模糊控制和经典控制方法结合 起来组成模糊一线性复合控制结构 如模糊 开关控制 模糊 PID控制等 基于本设计 中的具体情况 应用的正是上面罗列过的第二中控制器结构 模糊控制规则 对于双输入单输出的模糊控制器 器控制规则为 if A and B then C 来描述 本设计所描述的温度模糊控制器有多调这样的控制规则 模糊规则的获取 由于变量 不多 所以采用了从数据中通过学习 反复尝试的方法 1 当已经确切判断出水平 超出范围时 才针对下一轮的水平最大最小值作出修正 2 在对因素进行分档时就 考虑到这种情况 可以使因素水平数比预期的水平数大 然后掐头去尾 只取中间的 因素水平 但当变量增多这些方法就行不通了 基于没有数学模型 信息的最大来源 是测量到的数据 规则表如下表所示 表1 2 3 模糊规则表 其中 BRAKE LIGHTPS25 BRAKE MEDIUMPM50 BRAKE HARDPL75 BRAKE VHARDPH100 BRAKE NONE00 BRAKE UP LIGHTUL 增加 8 BRAKE DOWN LIGHTDL 减少 8 BREAK HOLDHD 保持 模糊推理过程 在下面将有详细的介绍 这里就不表述 去模糊基本算法 本论文采用的是重心法 加权平均法 先计算输出量模糊集中各元素和对应的 隶属度的乘积和 再算出该乘积和对于对应元素隶属度和的平均值Z 则Z则为应用重 心法求出的判决结果 u E EC NMNS0PSPMPB PB0000PSPL PM000ULULPH PS00DLDLPMPH 00DLHDHDPMPH NS0HDULPMPMPH NM00ULPMPHPH 2 硬件系统设计 本文利用单片机电路结合模糊算法制作温度控制器 设计中的模糊控制器主控器 采用 AT89S52 芯片 测温元件为 K 型电偶 运算放大器 和 A D 转换构成的温度检 测通道 在现行板中直接用 DS18B20 温度传感器模拟代替 显示通道为 LCD 显示 水泥电阻加热 由于加热管有一个开关控制量 场效应管 所以采用了 PWM 技术 使得加热功率连续可调 软件设计采用了了模块化结构 对模糊矩阵采用了查表法求 取 PWM 加热控制采用了靠前加热的方法 即在每个采样周期的前面部分时间加热 后面部分时间关加热器 时间比由控制输出情况决定 程序的主模块有数据转换与计 算 采样 显示 论域变换及控制计算与动作等 集成块出现使硬件电路设计更加简单易懂 从而得到了广泛的应用 在本次毕业 设计中涉及到得到模块有 5 部分 2 1 总系统设计方案 首先根据该设计要实现的基本功能 拟定用单片机控制 PWM 控制功率输出 设计 大致应该分为信号接收 模糊处理 模糊控制和信号响应四个部分 1 信号采集接收部分即通过温度传感器检测箱体或炉内的实时温度 并将这种 变化量转化成数字量的变化 2 模糊处理部分是将接收部分得到的数字量进行转换为模糊量 为后一部分模 糊控制提供准备 3 模糊控制部分是通过将偏差值进行模糊运算 不断改变单片机中的匹配寄存 器的值来改变 PWM 的占空比 4 信号响应是通过不同的 PWM 的占空比去控制场效应管的通断来控制加热功率 选择传统的 MCS 51 单片机做为控制的核心 温度传感器选用 DS18B20 一总线的 数字量输出 DS18B20 是只用一根数据线传输的 IC 一根数据线要传送数字信号 就 对信号的脉宽有了严格的要求 在实现中 为了实现这个严格的单线数据传输方式 单片机的延时程序必须精确计算到微秒级别 于此同时要产生 PWM 波形 必须使用到 单片机的定时器 这个定时器的使用就会影响到之前 DS18B20 那个微秒级的延时的精 确性 故而为了保证 DS18B2 每次数据传输的正确所以不得使用定时器 所以必须另找 一个单片机来做定时器 所以根据设计需要必须使用 2 片 MCS 51 单片机 这样一片单 片机为模糊控制器另一片为 PWM 产生器 这样产生的 PWM 可以达到准确的控制 控制 效果大为提高 显示器则用 LCD1602 方便模拟量输入直接数字量显示 加热电路则选 择场效应管作为功率器件 用水泥电阻做加热元件 光耦作强弱电隔离 以下是系 统的硬件框图 图 2 1 系统硬件框图 2 2 主控模块 每一个设计都要以一定的知识为基础 知识的多少在一定程度上决定了设计出来 的东西的好坏程度 这些知识包括硬件知识和软件知识 硬件知识用来设计硬件电路 以实现电路的放大 驱动 采集 隔离 匹配等功能 软件知识用来设计芯片处理数 据的先后顺序 数据的获得途径以及对数据做怎样的处理 还有其他的一些驱动和显 示功能等等 当然 在硬件电路里一些芯片是必不可少的 软件设计也需要对芯片进 行编程序 本控制系统选用单片机控制 采用时下主流的 AT89S52 单片机 其主要功能是定 时读取温度传感器送出的数字量并将其转换显示出来 还有将每次读到的温度值与设 定值相减 用其偏差进行模糊运算 得到的控制量赋给寄存器 不断的改变内部输出 PWM 的占空比去控制加热功率 报警回路主要是用于系统出现异常及温度过高的报警 按 键 AT89S52 RST P3 6 LCD 加热器 AT89S52 P0 7 DS18B20 按键检测是通过程序定时扫描按键的状态并加以判断来改变系统的设定值 89S52 是时 下主流的单片机芯片之一价格不仅便宜而且资源多 支持在线编程 ISP 使用简单的 HC244 电路 就可以通过电脑上面的程序来进行对单片机的编程 是无须拆下来放到笨 重的编程器 下载器 上面烧程序 AT89S52 具有以下标准功能 8k 字节 Flash 256 字节 RAM 32 位 I O 口线 看门狗定时器 2 个数据指针 三个 16 位定时器 计数器 一个 6 向量 2 级中断结构 全双工串行口 片内晶振及时钟电路 另外 AT89S52 可降 至 0Hz 静态逻辑操作 支持 2 种软件可选择节电模式 空闲模式下 CPU 停止工作 允 许 RAM 定时器 计数器 串口 中断继续工作 掉电保护方式下 RAM 内容被保存 振荡器被冻结 单片机一切工作停止 直到下一个中断或硬件复位为止 AT89S52 的引 脚功能如图 图 2 2 AT89S52引脚图 AT89S52部分引脚的功能介绍 VCC 电源 GND 地 P0口 P0口是一个8位漏极开 路的双向I O口 P1口 P1口是一个具有内部上拉电阻的8位双向I O口 p1输出缓冲器 能驱动4个TTL逻辑电平 P2口 P2口是一个具有内部上拉电阻的8位双向I O口 P2输 出缓冲器能驱动4个TTL逻辑电平 P3口 P3口是一个具有内部上拉电阻的8位双向I O 口 P3输出缓冲器能驱动4个TTL逻辑电平 P3口亦作AT89S52特殊功能 第二功能 使 用 在flash编程和校验时 P3口也接收一些控制信号 RST 复位输入 晶振工作时 RST脚持续2个机器周期高电平将使单片机复位 看门狗计时完成后 RST脚输出96个晶 振周期的高电平 特殊寄存器AUXR 地址8EH 上的DISRTO位可以使此功能无效 DISRTO 默认状态下 复位高电平有效 ALE PROG 地址锁存控制信号 ALE 是访问外部程序 存储器时 锁存低8位地址的输出脉冲 在flash编程时 此引脚也用作编程输入脉冲 在一般情况下 ALE以晶振六分之一的固定频率输出脉冲 可用来作为外部定时器或时 钟使用 XTAL2振荡器反相放大器的输出端 AT89C52 单片机有一个用于构成内部振荡器的反相放大器 XTAL1 和 XTAL2 分别是 放大器的输入 输出端 石英晶体和陶瓷谐振器都可以用来一起构成自激振荡器 从 外部时钟源驱动器件的话 XTAL2 可以不接 而从 XTAL1 接入 在本设计系统中采用的 是外部振荡电路连接法 其电路接法如下图所示 图 2 2 晶振电路连接图与复位电路 石英晶振 C1 C2 30PF 10PF 2 3 输出控制及加热模块 本模块主要由MOS管 光耦 加热器 PWM等组成 其要实现的功能是按照PWM的占 空比来不断控制MOS管的通断从而实现对加热器的断续加热控制最终达到对温度的控制 占空比大时 MOS管一个周期内导通次数多 加热功率大 占空比小时 MOS管一个周 期内导通次数少 加热功率就小 平均电压是与占空比成正比的 其占空比的大小是 由单片机采集加热器的温度与设定温度之差进行模糊运算得到的 从一定程度上来说 主控模块的模糊控制算法决定了被控量的精度 在升温过程中控制器输出PWM波 通过过零光耦驱动场效应管来控制加热器件工 作 达到控制的目的 加热器件采用的是水泥电阻 水泥电阻与MOS管串连 当单片 机有高电平过来时 光耦工作使得MOS管导通 电流从加热电源过水泥电阻流入地端 水泥电阻工作 光耦 耦合器以光为媒介传输电信号 它对输入 输出电信号有良好的隔离作 用 所以 它在各种电路中得到广泛的应用 目前它已成为种类最多 用途最广的 光电器件之一 光耦合器一般由三部分组成 光的发射 光的接收及信号放大 输 入的电信号驱动发光二极管 LED 使之发出一定波长的光 被光探测器接收而 产生光电流 再经过进一步放大后输出 这就完成了电 光 电的转换 从而起 到输入 输出 隔离的作用 由于光耦合器输入输出间互相隔离 电信号传输具有 单向性等特点 因而具有良好的电绝缘能力和抗干扰能力 又由于光耦合器的输入 端属于电流型工作的低阻元件 因而具有很强的共模抑制能力 所以 它在长线传 输信息中作为终端隔离元件可以大大提高信噪比 在数字通信及实时控制中作为信 号隔离的接口器件 可以大大增加 系统工作的可靠性 场效应晶体管 场效应晶体管 Field Effect Transistor 缩写 FET 简称场效应管 由多数载流子参与导电 也称为单极型晶体管 它属于电压控制型半导体器件 具有输 入电阻高 100000000 1000000000 噪声小 功耗低 动态范围大 易于集成 没有二次击穿现象 安全工作区域宽 热稳定性好等优点 现已成为双极型晶体管和功 率晶体管的强大竞争者 场效应管可应用于放大 由于场效应管放大器的输入阻抗很 高 因此耦合电容可以容量较小 不必使用电解电容器 场效应管很高的输入阻抗非常适 合作阻抗变换 所以场效应管还可以用作电子开关 用于多级放大器的输入级作阻抗 变换 同时也可以用作可变电阻和方便地用作恒流源 判定栅极 G 将万用表拨至 R 1k 档 用万用表的负极任意接一电极 另一 只表笔依次去接触其余的两个极 测其电阻 若两次测得的电阻值近似相等则负 表笔所接触的为栅极另外两电极为漏极和源极 漏极和源极互换 若两次测出的 电阻都很大则为 N 沟道 若两次测得的阻值都很小则为 P 沟道 基于以上基本知识 设计出的接线电路如下图 图 2 3 输出控制及加热电路图 判定源极 S 漏极 D 在源 漏之间有一个 PN 结 因此根据 PN 结正 反向 电阻存在差异可识别 S 极与 D 极 用交换表笔法测两次电阻 其中电阻值较低 一般为几千欧至十几千欧 的一次为正向电阻 此时黑表笔的是 S 极红表笔接 D 极 水泥电阻 水泥电阻是将电阻线绕在无碱性耐热瓷件上 外面加上耐热 耐湿 及耐腐蚀之材料保护固定并把绕线电阻体放入方形瓷器框内 用特殊不燃性耐热水 泥充填密封而成 水泥电阻的外侧主要是陶瓷材质 特点 1 体积小 耐震 耐湿 耐热及良好散热 低价格等特性 2 完全绝缘 适用于印刷电路板 3 瓷棒上绕线然后接头电焊 制出精确电阻值及延长寿命 4 高电阻值采用金属氧化皮膜体 MO 代替绕线方式制成 5 耐热性优 电阻温度系数小 呈直线变化 6 耐短时间超负载 低杂音 阻值经年无变化 7 防爆性能好 起保护作用 水泥电阻通常用于功率大 电流大的场合 有 2W 3W 5W 10W 甚至更大的功 率 象空调 电视机 等功率在百瓦级以上的电器中 基本上都会用到水泥电阻 水 泥电阻缺点在于体积大 使用时发热量高 不容易散发 精密度往往不能满足使用要 求 稳定性等 对要求大功率 小体积电阻 或精密度高 散热快的时候 水泥电阻 可以使用 JEPSUN 功率电阻进行替换 3W 20W 30W 50W 100W 甚至以上功率都可以 达到 采用 TO 220 TO 247 封装 精度度高 稳定性强 散热快 2 4 温度检测模块 电阻炉温度比较高 现实温度上千度 温度检测这块是个难题 在现实电阻炉系 统中一般选用 K 型热电偶 镍铬 镍硅 具有线性度好 测温范围适中 输出电动 势大 价格便宜等特点 为保证测温精度 采用补偿导线法对热电偶进行冷端补偿 热电偶的电压信号在进入 A D 转换之前 采用低功耗 高精度仪表放大器 AD620 来调 整信号增益 使信号适合单片机的运算范围 A D 转换采用 AD574 它是一种高度集 成化 低价格的逐渐逼近式 12 位 A D 转换器 其内部具有三台数据锁存器 非线性误 差小 一次转换时间为 25 微秒 是目前国内外应用较多的器件之一 但这对电偶的温 度补偿和放大器信号精度调整要求很高 按照目前所学的知识很难做到 为了保证温 度正常检测 在本设计中直接用一总线数字式温度转感器 DS18B20 代替 检测温度范 围比较低 下面对此进行介绍说明 DALLAS 公司的一总线数字式温度传感器 DS18B20 精度高 转换速度也快 比 用模拟量输出的误差要小 提高了整个系统的精度 在一根总线上可以挂多个 DS18B20 因为每个传感器有唯一的序列号 可以辨别 故可以多个地方巡回检测 本设计只用到一个传感器 它与 AT89S52 芯片的 P2 0 口相接 在当今信息化时代发展过程中 各种信息的感知 采集 转换 传输和处理功能 器件 传感器或智能传感器 已经成为各个应用领域中不可缺少的重要技术工具 获取各种信息的传感器无疑掌握着这些领域和系统的命脉 1 实现温度检测离不开高 性能的温度传感器 从广义上讲 传感器就是能感受外界信息并能按一定规律将这些 信息转换成可用信号的装置 狭义上讲 传感器就是能将外界信息转换成电信号的装 置 随着新技术和自动化的发展 传感器的使用数量越来越大 一切现代化仪器 设 备几乎都离不开传感器 在工业生产中 尤其是自动化生产过程中 用各种传感器来 检测和控制生产过程中的各个参数 如温度 压力 流量 PH 值等 以便使设备工作 在最佳状态 产品达到最好的质量 此次设计中所利用到的温度传感器就是要测量加 热炉内温度信号 并且利用单片机内部的数模转换芯片将温度值转换为数字值 实现 整个系统的温度检测与控制功能 实现连续的智能控制 DS18B20的硬件简单 虽然会导致软件的巨大开销 但是由于尽力减小了有资产的 投入 不失为一种较好的节约之道 只需要将其接到控制器 单片机 的一个I O口上 本设计中DQ端接单片机的P2 7口 由于单总线为开漏所以需要外接一个4 7K的上拉电 阻 DS18B20简介 DS18B20是 一线总线 数字化温度传感器 是DALLAS最新单线数字温度传感器 它支持 一线总线 接口 测量温度范围为 55 C 125 C 在 10 85 C范围内 精度为 0 5 C 现场温度直接以 一线总线 的数字方式传输 大大提高了系统的 抗干扰性 且适合于恶劣环境的现场温度测量 支持3V 5 5V的电压范围 使系统设计 更灵活 方便 另外其价格更低廉 体积更小 DS18B20可以程序设定9 12位的分辨率 精度为 0 5 C 可选更小的封装方式 更宽的电压适用范围 分辨率设定 及用户 设定的报警温度存储在EEPROM中 掉电后依然保存 DS18B20的性能是新一代产品中最 好的 性能价格比也非常出色 继 一线总线 的早期产品后 DS1820开辟了温度传 感器技术的新概念 DS18B20使电压 特性及封装有更多的选择 让我们可以构建适合 自己的经济的测温系统 DS18B20内部结构主要由四部分组成 64位光刻ROM 温度传感器 非挥发的温度 报警触发器TH和TL 配置寄存器 DS18B20的管脚排列如下 图 2 4 DS18B20管脚图 DQ为数字信号输入 输出端 GND为电源地 VDD为外接供电电源输入端 在寄生电源接线方式时接地 DS1820使用中注意事项 DS1820虽然具有测温系统简单 测温精度高 连接方便 占用口线少等优点 但 在实际应用中也应注意以下几方面的问题 1 较小的硬件开销需要相对复杂的软件进行补偿 由于DS1820与微处理器间采用 串行数据传送 因此 在对DS1820进行读写编程时 必须严格的保证读写时序 否则 将无法读取测温结果 在使用PL M C等高级语言进行系统程序设计时 对DS1820操作 部分最好采用汇编语言实现 2 在DS1820的有关资料中均未提及单总线上所挂DS1820数量问题 容易使人误认 为可以挂任意多个DS1820 在实际应用中并非如此 当单总线上所挂DS1820超过8个时 就需要解决微处理器的总线驱动问题 这一点在进行多点测温系统设计时要加以注意 3 连接DS1820的总线电缆是有长度限制的 试验中 当采用普通信号电缆传输长 度超过50m时 读取的测温数据将发生错误 当将总线电缆改为双绞线带屏蔽电缆时 正常通讯距离可达150m 当采用每米绞合次数更多的双绞线带屏蔽电缆时 正常通讯 距离进一步加长 这种情况主要是由总线分布电容使信号波形产生畸变造成的 因此 在用DS1820进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题 DS18B20与单片机连接电路如下图 图2 4温度检测原理图 2 5 显示模块 本模块为显示单位 方便我们读取系统信息和相关数据 本设计显示模块由采用 LCD 因为LCD的应用很广泛 简单如手表上的液晶显示屏 仪表仪器上的液晶显示 器或者是电脑笔记本上的液晶显示器 都使用了LCD 在一般的办公设备上也很常见 如传真机 复印机 以及一些娱乐器材玩具等也常常见到LCD的足迹 液晶显示模块WM C1602N的内部结构可以分成三部份 一为LCD控制器 二为 LCD驱动器 三为LCD显示装置 LCD相关的引脚说明如下 表2 5 LCD相关的引脚说明 编号编号符号符号引脚说明引脚说明编号编号符号符号引脚说明引脚说明 1VSS电源地9D2Data I O 2VDD 电源正极10D3Data I O 3VL液晶显示偏压信号11D4Data I O 4RS数据 命令选择端 H L 12D5Data I O 5R W读 写选择端 H L 13D6Data I O 6E使能信号14D7Data I O 7D0Data I O15BLA背光源正极 8D1Data I O16BLK背光源负极 驱动芯片的8位数据线和P1口相连 用软件来控制显示和产生正确的使能信号脉冲 序列 锁住输入输出的数据 而典型的系统驱动芯片和51 的总线相连软件只需要用 XBYTE对芯片寻址就可以了 当把工作交由软件来完成之后就不再需要解码器和一些支 持芯片这就提高了速度 一旦理解了LCD 驱动芯片所需的信号和时序之后显示的接口 函数就很容易写了 软件只须要3 个基本功能写入一个命令 写入下一个字符 读显 示状态寄存器 在每个信号之间允许有很长的时间间隔 信号有效或无效的时间可以 用毫秒来计算而不像系统总线那样以钠秒来计算I 0 函数只需要按照时序图来操作就 可以了 其与单片机连接电路如下图 图2 5显示原理图 3 软件设计及相关说明 3 1 总的思路 软件设计是分析设计的硬件用程序实现其功能 并且调试优化产品功能 软件方 面方面 51 单片机用的是 KEIL 软件 这个软件在学校图书馆软件下载和其他网站上 都有 Keil C编译器提供一个参数使生成的文件为汇编代码 把这些汇编代码可用A51 编译并和其它模块连接 这和直接用编译器产生目标文件是一样的 这种做法的优点 是可对产生的汇编代码进行编辑 这样可对代码进行优化 然后再把修改后的代码进 行编译和连接 另外就是烧写软件 烧写软件的作用就是将编译器生成的HEX 文件烧 写至单片机里 这要配合下载线使用 使用简单的HC244电路 就可以通过电脑上面的 程序来进行对单片机的编程 是无须拆下来放到笨重的编程器 下载器 上面写片子 软件设计采用了模块化结构 对模糊矩阵采用了查表法求取 程序用C 编写 因为C 语言很好的结构性和模块化更容易阅读和维护 而且由于模块化用C 语言编写的程序 有很好的可移植性 功能化的代码能够很方便的从一个工程移植到另一个工程从而减 少了开发时间 而且用C 编写程序比汇编更符合人们的思考习惯 开发者可以更专心 的考虑算法而不是考虑一些细节问题 这样就减少了开发和调试的时间 温度控制系统由主程序和PWM控制程序组成 主程序主要完成数据的采集 滤波 标度变换及显示 模糊控制推理 按键输入值 手 自动方式 温度设定值和控制周期 扫 描及根据其输入转移到相应的执行程序 中断程序主要用于设定固态继电器在1个控制 周期内的通断次数及每次通断持续的时问 实现对功率的控制 主程序流程见下图 否 计算 E EC从 DS18B20 取温度 并显示 是 开始 初始化 设定温度 是否设定好 模糊推理得到控制 量 U 图 3 1 主程序流程图 3 2 程序的编写 具体编程思路如下 用8位控制器进行逻辑控制 首先对规则和成员函数进行定义 定义可以手工进行 也可以使用买来的工具 这里我们使用手工的方法 在8位机上实现逻辑控制 要考虑 如何在系统中表达这些逻辑规则 最好把条件和结果都用8位数据表示 这样就不能使 用规则的权和使用括号把一些操作放入条件中 这里讨论的模糊逻辑不提供AND和OR 操作 以及超过8位数据的输入量和输出量处理 逻辑规则基被放入一个存在代码区的 数组中 数组中的每个元素为一个字节 包含了逻辑规则的一个分支 如果存储空间 够的话 也可以把数据放在一个结构中这能使你快速的得到分支的信息 以字节存储 分支的结构如下 Bit 7Bit6 到 Bit4 Bit3Bit2 到 Bit 0 0 先行 1 延后 输入输出隶属函数0 AND 1 OR 输入或输出数字 如果第7位为0就认为这个分支为条件分支 2到0位的值就是输入数据的编号 6到 4位的值就是输入量的成员函数 第3位表示对这个条件得到的u值是进行或操作还是 与操作 如果第7位为1就认为这个分支为结果分支 2到0位的值就是输出数据 第3位 对结果分析没有影响 知道了分支的内部结构之后就很容易建立规则了 可用下面的方法 VEL FAST VEL SLOW 0 x08 DIST FAR BRAKE NONE 把建立的所有规则存入数组中 unsigned char code rules RULE TOT 模糊系统规则 if and then VEL VSLOW DIST VCLOSE BRAKE LIGHT VEL VSLOW DIST CLOSE BRAKE NONE VEL VSLOW DIST NEAR BRAKE NONE 模糊控制函数通过遍历规则基数组进行估计 分析条件时 把当前规则中的u值保 存在变量 if val 中 条件检测结束后开始估计结果 模糊控制函数通过比较 if val 和当前输出的参考u值来得出结果 如果当前保存在 if val 中的数大于参考的 输出值 则就把 if val 中的值作为新的输出值 一旦结果分析完毕 开始一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论