0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

采用单片机与模糊推理算法实现具有自校正能力的模糊控制器设计

电子设计 来源:郭婷 作者:电子设计 2018-12-29 08:44 次阅读

1 引言

模糊控制系统 是基于的控制系统 模糊逻辑 -分析的一个数学系统 模式 输入价值根据 逻辑 承担连续的价值在0和1之间的可变物,与古典对比或 数字式 逻辑,动手术在二者之一的离散值0和1 (真实和错误)。

模糊逻辑是用途广泛在机器控制。 期限启发有些怀疑,听起来等效与“未完成的逻辑”或“伪造逻辑”,但“模糊的”部分在方法不提到缺乏严峻,宁可到事实介入的逻辑可能应付模糊的概念-不可能被表达如“真实”或“错误”的概念,但是宁可和“部份地配齐”。 虽然 基因算法 并且 神经网络 可执行作为模糊逻辑在许多情况下(实际上,某些神经网络可以证明数学上是等值对某些模糊逻辑系统[1]),模糊逻辑有好处对问题的解答可以被熔铸用人工操作能了解的术语,因此他们的经验可以用于控制器的设计。 这使它更加容易机械化已经由人成功地执行的任务。

模糊控制(Fuzzy Control)是目前自动控制研究中活跃而富有成果的领域之一,模糊理论是当前能用来对信息进行软处理的最新技术,可以将人的定性思维和判断方法定量化 为适合计算机处理的过程,使计算机能判断像“大概”、“轻”这样的模糊信息。

模糊控制是基于规则的智能控制方式,它不依赖于被控对象的精确数学模型,特别适合对具有多输入一多输出的强耦合性、参数的时变性、严 重非线性与不确定性的复杂系统或过程的控制,且控制方法简单,鲁棒性好。将模糊控制技术应用于一般的电子产品在国外已是很普遍的现象,单片机 常用的控制器件,把二者结合起来,可使控制器的性能指标达到最优的目的。本文就是通过利用单片机作为平台,围绕模糊控制规则,以模糊推理算法作为控制系统 核心,开发出具有自校正能力的通用的模糊控制器。最后以一个温度监控系统为实例介绍了系统的软硬件设计。

2 模糊控制系统的组成及原理

2.1 模糊控制系统的基本组成与原理

采用单片机与模糊推理算法实现具有自校正能力的模糊控制器设计

图1 模糊控制器原理图

如图1所示,模糊控制器是模糊控制系统的核心部分,也是和其它控制器最大区别环节。模糊控制器有四个基本部分组成:

(1)模糊化。

(2)知识库。

(3)模糊推理。

(4)清晰化。

2.2 模糊控制系统的基本工作原理

模糊控制系统通常由计算机实现(包括PC机、单片机、单板机以及DSP等),一般设计思想是:

①。以误差e和误差变化率ec作为模糊控制器输入量,u为输出控制量。定义误差e和误差变化率ec及输出变量u的模糊集及论域。

例如:

e和ec的模糊集为{NB,NM,NS,O,PS,PM,PB}

u的模糊集为{NB,NM,NS,NO,O,PO,PS,PM,PB}

e的论域{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6}

ec的论域{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6}

u的论域{-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7}

其中:NB,NM,NS,NO,O,PO,PS,PM,PB分别代表负大,负中,负小,负零,零,正零,正小,正中, 正大这样的模糊语言变量。

②。确定模糊规则R(模糊关系)。

例如:

if e=NB or NM and △e=NB or NM,then u=PB

or

if e=NB or NM and △e=NS or O, then u=PB

③。模糊语言变量确定隶属函数,即对模糊变量进行赋值。

④。计算机经过采样和A/D转换获得被控量的精确值,然后将此量与给定值比较得到误差信号e和ec。把e和ec模糊量化,得到e和ec的模糊子集(实际是模糊向量e和ec)。

⑤。根据模糊向量e、ec和模糊控制规则R,按推理合成规则进行模

糊决策,得到控制量(模糊向量u)。

3 基于单片机的温控系统

3.1 系统原理

本系统有温度传感器DS18B20 , ATmega8单片机、执行机构,外围电路包括键盘,LED显示以及保护电路构成的闭环控制回路,控制对象为水温。系统的原理框图如图1所示。

采用单片机与模糊推理算法实现具有自校正能力的模糊控制器设计

3.2 硬件设计

①ATmega8是采用低功耗CMOS工艺生产的基于AVR RISC结构的8位单片机。工作电压4. 5-5.5 V,芯片内部集成A/D转换功能。通过编写程序,可将芯片的PC0至PC6口从普通的I/O口功能用作8位或10位A/D转换,从而省去外围的A/D转换 电路。ATmega8内部有3个定时器T0,T1和T2,本系统使用2个,分别用作Ss的温度数据采集和5 NS的LED刷新显示。

② DS18B20支持“一线总线”接口,从而提高了系统的抗干扰性。温度测量范围从-55℃~+ 125℃,在-10℃~+85℃时测量精度为0. 5℃。DS18B20采用3脚TO-92封装。分别为GND电源地,DQ数据输人/输出端(单线总线),VDD外接供电电源输人端(3.0~5. 5 V) 。DS18B20内部主要由寄生电源、温度传感器、64位激光ROM单线接口和配置寄存器等组成。在本系统中,将DQ接ATmega8的PC4口,VDD 与单片机Vcc同接+5V电源,并在DQ和VDD之间接一个4. 7 kΩ的上拉电阻,即可完成温度的采集部分的硬件电路。

③键盘用作上位机对下位机的通信控制。显示电路采用10位共阴极LED,通过3片Max595芯片与单片机相连,同时显示当前温度值和设定值。外围电路同时有4个按键,可进行温度逐次加减、功能切换以及保存等功能。

3.3 软件设计

整个系统的硬件电路设计相对简单。在本系统中采用增量型PID控制算法,即:

△u(k)=u(k)-u(k-1)=KP[e(k)一e(k-1)]+Ki(k)+Kd[e(k)一2e(k-1) +e(k-2)]

式中,△u(k)为控制增量;KP为比例参数;Ki为积分参数;Kd为微分参数;e(k)为系统偏差。先根据KP、 Ki 、Kd的值,计算出输出U的初值,再根据操作人员的给定值得到偏差e和偏差变化率ec,然后通过模糊规则表推导出KP‘、 Ki‘ 、Kd’的值,再计算出△u。

由于增量型的算法不需要累加量,控制增量△u仅仅与最近的采样次数有关,所以误动作时的影响小,而且比较容易通过加权处理获得比较好的控制效果。这也是本系统采用增量型的PID控制算法作为Fuzzy PID控制器中的PID调节器部分算法的原因。

模糊控制器的关键是总结操作人员和技术人员的实际操作经验和技术知识,并建立合适的模糊规则表,并将模糊规则表通过程序编写人单片机ATmega8中的EEPROM中去,在线时通过查询得到合适的PID参数。

控 制器的控制范围为整个测量系统的测量范围,各个隶属函数的论域范围既要满足覆盖的原则,又不要使规则过多。根据多次实验,在本系统中,偏差e和偏差变化率 ec的变化范围为{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6}。其模糊子集为e、ec= {NB,NM,NS,O,PS,PM,PB},分别代表负大,负中,负小,零,正小,正中,正大。在本系统中,所设定的偏差e和偏差变化率ec以及KP、 Ki 、Kd的各个子集均采用正态分布。

采用单片机与模糊推理算法实现具有自校正能力的模糊控制器设计

图3 程序设计流程图

应用模糊合成推理使在线运行的过程中完成对PID参数的自行调整,具体步骤为:(1)采样获取当前温度数据。(2)获 取偏差和偏差变化率:e(k)=R(k)-Y(k);ec(k)=e(k)-e(k-1)。(3) e(k)和ec ( k)模糊化。(4)计算当前KP、 Ki 、Kd。(5)PID控制器输出。

在编写程序时,考虑到由于温度系统变化化缓慢,所以采样周期用软件和硬件相结合的方法,即用ATmega8的T1和软件计时相结合的方法。

在等待采样周期到达的期间内不断进行扫描和显示过程,通过LED显示给定温度和采样的温度,通过ATmega8的T0进行5 ms的定时刷新LED。

模型控制子程序是根据采样值和给定值求得温度的偏差和偏差变化率,将KP、 Ki 、Kd三个参数的模糊规则表写人单片机的EEPROM中,通过在线查表获得控制。具体流程图如上图3所示。

4 结论

本文首先介绍了模糊控制理论的基本原理,在此基础上将模糊控制理论与常规PID控制相结合,在以单片机ATmega8为系统核心部件对温度进行控制。相较单 一的PID控制来说,模糊PID控制的效果具有动态效果好,上升时间快,超调小的优越性,在本系统中也取得了很好的控制效果。另外可以发现,传统控制与模 糊控制是可以协同工作、相互补充的。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6032

    文章

    44514

    浏览量

    632919
  • 控制器
    +关注

    关注

    112

    文章

    16197

    浏览量

    177388
  • 监控系统
    +关注

    关注

    21

    文章

    3860

    浏览量

    173495
收藏 人收藏

    评论

    相关推荐

    基于模糊控制的远程康复信息采集系统设计

    目前,模糊控制器构造有三种技术:采用传统的单片机或微型作为物理基础,编制相应的软件实现
    发表于 12-21 10:17

    基于模糊控制的恒流源设计

    模糊控制恒流源,如图1所示。在处理中运用模糊控制算法实现
    发表于 11-13 10:53

    通过LabVIEW与MATLAB设计模糊参数整定PID

    摘 要:探讨在MATLAB中使用FIS编辑与Simulink相结合的方法构造模糊推理结构,并通过MATLAB Script Node实现LabVIEW与MATLAB的混合编程,设计出
    发表于 04-03 09:40

    在MATLAB环境下的模糊参数整定PID控制

    的智能化虚拟仪器具有巨大的推动作用。本文利用LabVIEW内部集成的MATLAB Script Node实现两者混合编程,完成模糊参数整定PID的设计,
    发表于 04-17 09:40

    采用LabVIEW实现灰水模糊控制系统设计

    ,即隶属度函数的设定,包括隶属度函数的个数、形状、位置分布、相互重叠程度等;(2)控制规则的确定;(3)模糊算法;(4)反模糊化[3]。  模糊
    发表于 05-09 09:40

    模糊PID控制算法如何控制匀速升温

    ,误差较小时采用模糊PID控制,实现了2种控制方法的优势互补。 同时在此基础上,给出了Fuzzy PID
    发表于 05-30 10:38

    请问如何去设计模糊PID整定控制器

    如何去设计模糊PID整定控制器?关于模糊控制器算法的研究是什么?
    发表于 04-21 06:08

    如何去实现一种基于单片机模糊算法温度控制系统设计

    020【毕设课设】基于单片机模糊算法温度控制系统设计,本电路为基于单片机的温度控制系统。
    发表于 11-10 07:16

    单片机模糊控制系统设计及应用实例

    模糊推理方法。第二章比较精炼地介绍了模糊控制理论基础,重点是模糊控制
    发表于 09-19 07:07

    单片机模糊PID整定控制算法实现及仿真

    介绍了单片机模糊整定PID控制的系统结构尧控制思想尧控制
    发表于 03-07 10:16 10次下载

    基于80C196单片机模糊控制系统

    以加热炉为控制对象,介绍了一种智能的温度模糊控制系统。模糊控制器由80C196单片机
    发表于 06-15 09:13 32次下载

    基于规则校正模糊控制器的交流伺服系统

    提出1一种规则校正模糊控制器,并将其用干交流伺服系统的控制中,设计j一种在线的模糊
    发表于 11-24 10:58 9次下载

    基于Atmega16单片机模糊整定PID调节

    本文介绍了一种基于Atmega16单片机模糊整定PID调节。该调节采用
    发表于 02-05 14:08 14次下载
    基于Atmega16<b class='flag-5'>单片机</b>的<b class='flag-5'>模糊</b><b class='flag-5'>自</b>整定PID调节<b class='flag-5'>器</b>

    利用模糊控制算法单片机实现恒温控制系统设计

    不是被控对象。因此可以利用特殊的控制媒介,研究控制器本身。本系统以此作为出发点,以单片机为核心控制器,研究模糊
    的头像 发表于 06-20 08:05 5754次阅读
    利用<b class='flag-5'>模糊</b><b class='flag-5'>控制</b><b class='flag-5'>算法</b>和<b class='flag-5'>单片机</b><b class='flag-5'>实现</b>恒温<b class='flag-5'>控制</b>系统设计

    通过采用参数模糊整定PID控制器提高仪器温度控制系统的性能

    的偏差e和偏差变化率进行模糊逻辑决策(其依据模糊控制规则),应用模糊推理算法得出模糊
    的头像 发表于 05-03 10:40 5187次阅读