基于Matlab模糊控制器HDL代码的自动生成

2012-06-01 02:54:44诸葛俊贵
电子科技 2012年1期
关键词:液位设计

诸葛俊贵

(上海师范大学精密机电系统与控制工程研究室,上海 201418)

经典和现代控制理论都是建立在被控对象具有精确数学模型的基础上,而实际应用中的许多系统很难用精确的数学模型来描述,难以建模,无法确定控制过程的传递函数和状态方程[1]。而模糊控制在处理这类问题上具有明显优势,尤其对那些控制精度要求不高和需要紧跟环境变化的系统。

随着FPGA技术的快速发展,FPGA在智能电子产品、智能家居、智能交通等领域得到了广泛应用。但在FPGA上直接实现模糊控制算法比较困难,由于Matlab的强大功能,可以借助Matlab的Simulink、Fuzzy Logic和HDL Coder等工具间接快速地自动生成模糊控制器的HDL代码。

1 Fuzzy Logic工具箱设计模糊控制器

实验目的是要将设计的模糊控制器用Matlab自动生成 HDL代码,以用于 FPGA中。由于用 Fuzzy Logic设计的模糊控制器tank.fis嵌入到Simulink中的Fuzzy Controller元件中不能自动生成HDL代码,故采用Lookup Table来设计模糊控制器以便用Matlab内嵌的HDL Coder自动生成HDL代码。

实验按照Demos中的举例Water Level Control in a Tank来设计模糊控制器的,这是一个标准二维mamdani模糊控制器。其输入变量有两个分量,偏差e和偏差变化率rate=de/dt,一个输出量u。偏差e为给定液位与实际输出液位的偏差,命名为level,偏差变化率就是偏差随时间的变化率,输出量为阀门的开度,这里为valve,该模糊控制器有5条控制规则。

对于输入变量level有3个模糊子集high、okay和low覆盖在模糊论域[-1,1]上,输入变量rate同样有3个模糊子集negative、none和positive覆盖在模糊论域[-0.1,0.1]上,输出变量valve则有5个模糊子集close_fast、close_slow、no_change、open_slow 和 open_fast覆盖在模糊论域[-1,1]上。

2 用查找表设计模糊控……
登录APP查看全文

猜你喜欢
液位设计
何为设计的守护之道?
现代装饰(2020年7期)2020-07-27 01:27:42
《丰收的喜悦展示设计》
流行色(2020年1期)2020-04-28 11:16:38
基于STM32燃气热水锅炉液位控制系统设计与实现
测控技术(2018年9期)2018-11-25 07:45:00
石油储罐液位开关的应用分析
瞒天过海——仿生设计萌到家
艺术启蒙(2018年7期)2018-08-23 09:14:18
双电容测量液位方法
电子测试(2017年11期)2017-12-15 08:57:07
设计秀
海峡姐妹(2017年7期)2017-07-31 19:08:17
有种设计叫而专
Coco薇(2017年5期)2017-06-05 08:53:16
宝马530车冷却液液位过低报警
霍尼韦尔 导波雷达液位变送器Smart Line^ 系列