用单片机玩PID控制—从理想PID控制至先进PID控制_13

发布者:Mingyue1314最新更新时间:2018-10-20 来源: eefocus关键字:单片机  PID控制  理想PID控制  先进PID控制_ 手机看文章 扫描二维码
随时随地手机看文章

3.5复合模糊控制


复合模糊控制是指,在大偏差时用模糊控制,而在小偏差时用PID控制,从而可以克服模糊控制有偏差的缺点,其原理如图1所示。


3.5.1模糊控制


模糊控制工作原理如图2所示,模糊控制器的大致设计流程是:1确定输入语言变量,通常是偏差e和偏差变化率ec,确定输出语言变量,一般有两种情况:1)是控制输出,2)是PID参数,前者情况下就是模糊控制,后者的情况下就是模糊自适应PID控制,2确定每个语言变量的一个模糊子集,模糊子集中的元素被称为语言值,常见的语言值有:负大、负中、负小、零、正小、正中、正大等,3确定每个语言值的论域,论域可以是离散的,也可以是连续的,4确定每个语言值与论域之间的隶属度,在离散的情况下,用表格表示,如图3、图4所示,在连续的情况下,用图形表示,5确定每个语言变量的量化因子(比例因子),ke=n/e,kec=n/ec,ku=u/n,5确定模糊控制规则表,图5所示,6确定模糊量的清晰化计算方法,常用的有重心法,7由图3、图4和图5三个表格,计算获得控制查询表,图6所示,我用的计算方法是先计算Ri,然后计算R=∪Ri,计算的结果用xlswrite函数直接输出至EXCEL表格。


3.5.2复合模糊控制


一个复合模糊控制系统,其控制效果如图7所示,从图中可以看出,效果还不错,需要提及ke、kec、ku也如PID参数一样,需要调整,如果用最优化方法,可以获得最佳效果,以后或许涉及。


用单片机玩PID控制—从理想PID控制至先进PID控制_13

用单片机玩PID控制—从理想PID控制至先进PID控制_13

用单片机玩PID控制—从理想PID控制至先进PID控制_13

用单片机玩PID控制—从理想PID控制至先进PID控制_13

用单片机玩PID控制—从理想PID控制至先进PID控制_13

用单片机玩PID控制—从理想PID控制至先进PID控制_13

用单片机玩PID控制—从理想PID控制至先进PID控制_13


关键字:单片机  PID控制  理想PID控制  先进PID控制_ 引用地址:用单片机玩PID控制—从理想PID控制至先进PID控制_13

上一篇:用单片机玩PID控制—从理想PID控制至先进PID控制_8
下一篇:用单片机玩PID控制—从理想PID控制至先进PID控制_10

推荐阅读最新更新时间:2024-03-16 16:17

内嵌USB设备的ARM微控制器
  爱特梅尔推出基于ARM9 的微控制器AT91SAM9R64,目标市场为高性能的、具有USB接口的嵌入式控制应用。AT91SAM9R64可通过USB、SD卡或外接NAND闪存启动,从而减少保存程序和批量数据的存储器的数量。芯片采用球间距为0.8mm的10x10 mm BGA封装。    高速USB   传输速率高达480 Mbits/sec的高速USB正迅速成为连接设备与PC的标准。SAM9R64可以将现有的全速USB (速率为12 Mbits/sec)产品升级到高速USB,而无需对连接器进行任何物理改动。    可编程的存储器总线电压   除了支持传统的静态存储器外,SAM9R64的存储器总线接口还支持SDRAM和NA
[新品]
51单片机 矩阵按键的扫描、消抖、动作分离
#include reg52.h sbit ADDR0 = P1^0; sbit ADDR1 = P1^1; sbit ADDR2 = P1^2; sbit ADDR3 = P1^3; sbit ENLED = P1^4; sbit KEY_IN_1 = P2^4; sbit KEY_IN_2 = P2^5; sbit KEY_IN_3 = P2^6; sbit KEY_IN_4 = P2^7; sbit KEY_OUT_1 = P2^3; sbit KEY_OUT_2 = P2^2; sbit KEY_OUT_3 = P2^1; sbit KEY_OUT_4 = P2
[单片机]
Avr单片机编程---延迟函数
avr-gcc提供了两个延迟函数,可以在用户的程序中使用,前提--加入avr/delay.h这个头文件: _delay_us(double __us) _delay_ms(double __ms) 而这两个延迟函数在实际工作的时候,调用了另两个函数,位于delay_basic.h中: a, _delay_loop_1(uint8_t __count) b,_delay_loop_2(uint16_t __count) a 函数可以看出,_count的最大值是256,b 函数中_count的最大值是65536。在delay_basic.h中有说明,也可以结合a,b两个函数的具体定
[单片机]
如何在单片机上使用printf函数
当我们在调试代码时,通常需要将程序中的某个变量打印至PC机上,来判断我们的程序是否按预期的运行,printf函数很好的做到了这一点,它能直接以字符的方式输出变量名和变量的值,这样使输出的信息很直观;但printf函数在使用时,不仅仅要初始化串口,还需要其它的一些设置或者要调用其它的一些函数,否则printf函数将不能按我们想要的方式执行。 由于不同的编译器studio函数不一样,所以使用的方法也不一样,这需要大家去看编译器的help,这里我以STM32、LPC24和AVR整理了几个串口打印程序,供需要的朋友参考。 简介: 1、在KEIL下使用printf函数,以STM32为例 在uart.c中添加如下代码 View Code
[单片机]
89C52单片机 独立按键 示例
1、简介 实现按键控制 一个数码管显示 2、理论讲解 我们看到电路图,如图说是 每个按键连接一个单片机的端口。 当按键按下时对应的端口就会被置为低电平。 我们检测对应端口电平变化,来控制相应逻辑。 3.功能demo s2 按键 控制 数码管数值增加 //数码管动态显示12345678 #include reg52.h //51头文件 #define uchar unsigned char//宏定义 #define uint unsigned int //宏定义 sbit we = P2^7; //位定义数码管位选锁存器接口 sbit du = P2^6; //位定义数码管段选锁存器接口 sbit k
[单片机]
89C52<font color='red'>单片机</font> 独立按键 示例
怎样利用AVR单片机来测试蓄电池的剩余电量?
蓄电池作为备用电源,已在计算机网络、通讯、电力等领域得到了广泛的应用。蓄电池的荷电量与整个供电系统的可靠性密切相关,蓄电池剩余电量越高,系统可靠性越高,否则反之。对于一些重要的用电领域,例如信息处理中心,如果能在既不消耗蓄电池的能量,又不影响用电设备正常工作的条件下,实现蓄电池剩余电量的在线监测,将有重要的实际意义。近几年随着IT产业的迅速发展,电池的重要性越来越突出,对剩余电量精确预测的需求越来越迫切。 预测蓄电池剩余电量的常见方法有:密度法、开路电压法、放电法、内阻法。前三种方法测量精度较低且不适合密封蓄电池的在线测量,故较难实用。内阻法对被测蓄电池的影响很小,且蓄电池完全充电(充满)和完全放电(放完)时,其内阻相差2-4
[单片机]
怎样利用AVR<font color='red'>单片机</font>来测试蓄电池的剩余电量?
单片机使用C语言的好处
将C向MCU(俗称单片机)8051上的移植始于80年代的中后期。客观上讲,C向8051 MCU移植的难点不少。如:   (1)8051的非冯 诺依慢结构(程序与数据存储器空间分立),再加上片上又多了位寻址存储空间;   (2)片上的数据和程序存储器空间过小和同时存在着向片外扩展它们的可能;   (3)片上集成外围设备的被寄存器化(即SFR),而并不采用惯用的I/O地址空间;   (4)8051芯片的派生门类特别多(达到了上百种之多),而C语言对于它们的每一个硬件资源又无一例外地要能进行操作。   这些都是过去以MPU为基础的C语言所没有的。经过Keil/Franklin、Archmeades、IAR、BSO/Tasking等公司艰若
[单片机]
为提高单片机开发系统稳定性和可扩展性的C8051F 单片机实验系统设计
为进一步简化电路结构, 提出一种C8051F 单片机实验系统设计方案,该方案采用FPGA 实现单片机各种外设接口。FPGA 作为一种可编程逻辑器件凭借其优越的可扩展性能受到设计者的青睐,逐渐成为分立元件的替代者。通过对FPGA 编程,实现任何数字元件的逻辑功能,设计者可以通过原理图输入或硬件描述语言, 方便地设计一个数字系统,这使得单片机外围电路的设计简单、灵活、可靠。 本系统是为单片机实践教学而开发的,因此要求单片机的功能齐全,满足教学中各种实验的要求。一般的实验板的功能有:模拟数字信号转换实验、通信接口实验、存储器实验、各种显示实验,人机交互实验等等。除此之外,还要考虑由于是非商业性质的开发, 对一些功能的精度要求不是很高
[单片机]
为提高<font color='red'>单片机</font>开发系统稳定性和可扩展性的C8051F <font color='red'>单片机</font>实验系统设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved