微店会成为下一个淘宝吗?探索微商时代的崛起
06-18
摘要:本文介绍了使用Xilinx System Generator平台构建建模的数字PID控制算法,并利用FPGA结合数字PID算法快速建立控制模型配合传感器和实际硬件控制对象,形成完整的闭环控制。
通过控制效果的实验验证,证明了其控制方法的可行性。
关键词:FPGA;系统生成器; PID算法 1 Xilinx System Generator简介 Xilinx System Generator是专门针对数字信号算法处理推出的基于模型的设计平台,可以快速、轻松地将DSP系统中的抽象算法转换为可综合的、可靠的硬件系统,弥补了大多数DSP工程师熟悉C语言和Matlab工具以及缺乏对硬件描述语言VHDL和Verilog HDL了解的缺点[1]。
System Generator作为硬件设计工具包安装在Matlab软件中,并提供了相当丰富的应用子模块[2]。
就像使用Matlab中的其他模块一样,设计者可以通过拖拽连接的方式将子模块构建成完整的应用系统。
2 增量式PID数字算法原理 PID控制算法有两种类型:位置式和增量式[3-4]。
由于位置PID控制算法采用误差累积,控制输出与过去所有时刻的状态有关,因此位置PID控制算法的累积误差比较大。
增量式PID控制算法中的调节量只与当前和前两个状态有关,增量式PID算法只控制每次的输出增量,并且一般执行器都具有记忆功能。
一旦控制器出现错误,可以保持在原位,不会严重影响系统的工作。
PID数学模型: 3 在System Generator中建立PID算法模型 通过调用Xilinx System Generator工具中的相关子功能模块,可以构建根据式(4)的增量数字PID模型套件的整个功能[5]如图1所示。

该设计使用自定义功能模块(Mcode),它是Xilinx System Generator中提供给DSP设计人员的可编程逻辑模块。
可以使用Matlab语言编写满足设计者要求的子函数。
Mcode模块分别支持控制逻辑、状态逻辑、两位除法运算、定点数运算等逻辑运算,可以灵活定义输入输出的个数和输出数据的类型。
最后,在生成硬件逻辑时,Mcode中的代码会自动转换为VHDL/Verilog硬件描述语言。
另外,由于生成了逻辑控制,因此设计人员使用起来非常方便。
该模块中的代码生成为硬件逻辑后,几乎是直接并行输出,速度和效率都非常高。
如图2所示,在Mcode模块中编写代码后,会生成相应的自定义功能模块。
4 控制对象与控制算法的级联 PID算法模块构建完成后,需要嵌入到实际的控制对象中,以达到预期的控制目的。
实验采用一阶RC控制对象,可以清晰有效地反映实验中的控制效果。
PID闭环控制系统框图如图3所示。
对于一阶RC控制对象,选择电压作为输出控制变量,设计中增加A/D和D/A转换模块完成控制变量的采样和输出。
实验平台采用Xilinx的Spartan3E Start Kit,该套件具有2个14位A/D(LTC)输入和4个16位 (2)在PID算法的输入和输出端设置数据转换模块。
由于A/D采样得到的数据和D/A输出的数据都是二进制,而PID算法模块使用的是十进制数据,小数点位数也不同,所以需要设置输入输出PID算法的终端。
插入数据转换模块。
另外还必须添加Gateway in和Gateway out来实现数据的前端输入和后端输出。
PID控制器的完整模型如图5所示。
版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
标签:
相关文章
06-18
06-17
06-18
06-17
06-17
最新文章
使用电子管有哪些注意事项?如何检查电子管之间是否短路?
博通支付1200万美元和解SEC财务欺诈指控
八名运营商高管确认加入虚拟运营商
内蒙古农牧区雷电灾害成因分析及防雷对策
北京联通将5G应用于世园会远程医疗急救
TD-SCDMA最后一轮冲刺测试启动,产业前景更加光明
专访阿里云总裁王健:云计算服务平台梦想成真
USB2.0控制器CY7C68013的接口设计与实现