位置:51电子网 » 技术资料 » D S P

自顶向下基于DSP Builder的PID控制系统开发

发布时间:2008/5/27 0:00:00 访问次数:519

戢方 雷勇 王俊

在控制领域中,pid控制足最早发展起来的控制策略之一,由于其算法简单、鲁棒性好和可靠性高,被广泛应用于工业过程控制。此外,随着控制理论的发展,专家系统、模糊逻辑、神经网络、灰色系统理论和传统的pid控制策略相结合又派生出各种新型的pid类控制器,形成庞大的pid家族,很多算法大大改进了传统p1d控制器的性能。然而,这些算法在工业中的实际应用范围却远远落后于传统pid算法,其中一个原因就足传统的单片机加分立元件构成的工业控制系统在实施更新更复杂的算法时,算法的复杂性或使得系统硬件设计调试更加复杂,或使得单片机内软件代码行增多,延时加大,开发周期变长。稳定性和可靠性在新系统设计时成为不能忽视的一个问题。

  而近年来,微电子技术的迅速发展,使得集成电路设计和工艺水平有了很大的提高,随着超深亚微米技术的发展,使得原先由许多ic组成的电子系统集成在一个单片硅片上成为可能,构成所谓的片上系统(system 0n chip,soc),同时也促进了相应eda工具的蓬勃发展。

  控制算法的极大丰富和微电子领域工艺技术及eda工具的飞速发展,使得我们可以将两个领域的应用优势集合在一起,在eda工具的帮助

下便捷快速地在fpga上可靠地实现各种新型算法,完成整个控制系统从行为算法级(系统级)到物理结构级的全部设计,从而达到将各种新型pid算法广泛应用于实际工业控制系统的目标。

2离散pid控制算法

2.1 pid算法

  比例、积分、微分(pid)控制是控制系统中技术最成熟,运用最广泛的一种控制方式。其基本原理是根据反馈控制系统的偏差值按比例、积分、微分函数关系进行运算,所得结果输出给执行机构,执行机构根据偏差值的运算结果来控制被控对象。
  e(t)为控制器的输入即控制系统的给定量与输出量的偏差;u(t)为控制器的输出;kp为比例系数;tl为积分时间常数;td为微分时间常数。 在连续时间域中,pid控制器算法的表达式为:

2.2 pid算法的离散化

  由于计算机控制只能根据采样时刻的偏差值计算控制量,因此需对上式进行离散化处理。按模拟pid控制算法式(1),以一系列的采样时刻点kt代表连续时间t,以矩形法数值积分(和式)近似代替积分,以一阶向后差分(增量)近似代替微分,即:

可得离散pid表达式:

式中,积分系数k1=kp/tl,微分系数kd=kptd,t为采样周期,k为采样序号,k=1,2,…,e(k一1)和e(k)分别为第(k一1)和第k时刻所得的偏差信号。

2.3 pid控制系统框图

  一般控制系统的pid系统控制框图如图1所示。其中,source为系统设定值,feedback为系统反馈值,e(t)为反馈误差,u(t)为pid控制器输出值。图中"pid控制算法"框图子系统即需要我们在算法级用dsp builder进行自顶向下的设计仿真。

3基于dsp builder的pid控制系统fpga设计步骤与开发

3.1 simulink工具箱的a1tera dsp builder 组件

  在利用fpga进行系统的开发应用上,已有了全新的设计工具和设计流程。dsp builder。就是altera公司推出的一个面向dsp之类的芯片级开发的系统级工具。他是作为matlab的一个simulink工具箱(tool box)出现的,他使得用fpga设计专用芯片系统完全可以通过simulink的图形化界面进行,只要简单地对dsp builder工具箱中的模块进行调用即可。值得注意的是,dsp builder中的基本模块是以算法级的描述出现的,易于用户从系统或者算法级进行理解,甚至不需要十分了解fpga本身和硬件描述语言。这为传统控制系统领域的工程师开发基于fpga/asic的可靠控制系统芯片自顶向下的算法级设计提供了便利的条件。

3.2 在matlab中用dsp builder完成顶层算法设计

  设计方法可以从与硬件完全无关的系统级开始,首先利用matlab强大的系统设计、分析能力和dsp builder提供的模块(或ip核)完成顶层系统设计及系统仿真测试。

  根据图1的原理,在matlab中进行设计仿真,simulink顶层设计模型如图2所示。


在顶层设计模型中,除"pid控制子系统"外,其他部分均采用一般simulink组件设计。为了在验证仿

戢方 雷勇 王俊

在控制领域中,pid控制足最早发展起来的控制策略之一,由于其算法简单、鲁棒性好和可靠性高,被广泛应用于工业过程控制。此外,随着控制理论的发展,专家系统、模糊逻辑、神经网络、灰色系统理论和传统的pid控制策略相结合又派生出各种新型的pid类控制器,形成庞大的pid家族,很多算法大大改进了传统p1d控制器的性能。然而,这些算法在工业中的实际应用范围却远远落后于传统pid算法,其中一个原因就足传统的单片机加分立元件构成的工业控制系统在实施更新更复杂的算法时,算法的复杂性或使得系统硬件设计调试更加复杂,或使得单片机内软件代码行增多,延时加大,开发周期变长。稳定性和可靠性在新系统设计时成为不能忽视的一个问题。

  而近年来,微电子技术的迅速发展,使得集成电路设计和工艺水平有了很大的提高,随着超深亚微米技术的发展,使得原先由许多ic组成的电子系统集成在一个单片硅片上成为可能,构成所谓的片上系统(system 0n chip,soc),同时也促进了相应eda工具的蓬勃发展。

  控制算法的极大丰富和微电子领域工艺技术及eda工具的飞速发展,使得我们可以将两个领域的应用优势集合在一起,在eda工具的帮助

下便捷快速地在fpga上可靠地实现各种新型算法,完成整个控制系统从行为算法级(系统级)到物理结构级的全部设计,从而达到将各种新型pid算法广泛应用于实际工业控制系统的目标。

2离散pid控制算法

2.1 pid算法

  比例、积分、微分(pid)控制是控制系统中技术最成熟,运用最广泛的一种控制方式。其基本原理是根据反馈控制系统的偏差值按比例、积分、微分函数关系进行运算,所得结果输出给执行机构,执行机构根据偏差值的运算结果来控制被控对象。
  e(t)为控制器的输入即控制系统的给定量与输出量的偏差;u(t)为控制器的输出;kp为比例系数;tl为积分时间常数;td为微分时间常数。 在连续时间域中,pid控制器算法的表达式为:

2.2 pid算法的离散化

  由于计算机控制只能根据采样时刻的偏差值计算控制量,因此需对上式进行离散化处理。按模拟pid控制算法式(1),以一系列的采样时刻点kt代表连续时间t,以矩形法数值积分(和式)近似代替积分,以一阶向后差分(增量)近似代替微分,即:

可得离散pid表达式:

式中,积分系数k1=kp/tl,微分系数kd=kptd,t为采样周期,k为采样序号,k=1,2,…,e(k一1)和e(k)分别为第(k一1)和第k时刻所得的偏差信号。

2.3 pid控制系统框图

  一般控制系统的pid系统控制框图如图1所示。其中,source为系统设定值,feedback为系统反馈值,e(t)为反馈误差,u(t)为pid控制器输出值。图中"pid控制算法"框图子系统即需要我们在算法级用dsp builder进行自顶向下的设计仿真。

3基于dsp builder的pid控制系统fpga设计步骤与开发

3.1 simulink工具箱的a1tera dsp builder 组件

  在利用fpga进行系统的开发应用上,已有了全新的设计工具和设计流程。dsp builder。就是altera公司推出的一个面向dsp之类的芯片级开发的系统级工具。他是作为matlab的一个simulink工具箱(tool box)出现的,他使得用fpga设计专用芯片系统完全可以通过simulink的图形化界面进行,只要简单地对dsp builder工具箱中的模块进行调用即可。值得注意的是,dsp builder中的基本模块是以算法级的描述出现的,易于用户从系统或者算法级进行理解,甚至不需要十分了解fpga本身和硬件描述语言。这为传统控制系统领域的工程师开发基于fpga/asic的可靠控制系统芯片自顶向下的算法级设计提供了便利的条件。

3.2 在matlab中用dsp builder完成顶层算法设计

  设计方法可以从与硬件完全无关的系统级开始,首先利用matlab强大的系统设计、分析能力和dsp builder提供的模块(或ip核)完成顶层系统设计及系统仿真测试。

  根据图1的原理,在matlab中进行设计仿真,simulink顶层设计模型如图2所示。


在顶层设计模型中,除"pid控制子系统"外,其他部分均采用一般simulink组件设计。为了在验证仿

相关IC型号

热门点击

 

推荐技术资料

业余条件下PCM2702
    PGM2702采用SSOP28封装,引脚小而密,EP3... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!