4 振动台控制算法的 FPGA 实现
4.1 PID 控制算法
4.1.1 增量式 PID 控制算法
PID 控制为控制工程中经常使用的控制方法[33],其基本原理框图如图 4.1 所
示,其中𝑢𝑢(𝑡𝑡)为控制信号、𝑟𝑟(𝑡𝑡)为系统输入信号、𝑦𝑦(𝑡𝑡)为系统输出信号。控制系
统主要由比例(Proportional)、积分(Integral)和微分(Differential)三个环节组
成,系统误差经过控制器三个单元的运算和线性组合得到控制量,其中系统误差
𝑒𝑒(𝑡𝑡)可表示为
从上式可知,增量式 PID 只与前三次的误差有关,无需存储大量数据进行求
和,实现方式较为简洁,非常适合用在数字控制系统中[34–36]。增量式 PID 算法流
程如图 4.2 所示[37–39]。
4.1.2 PID 控制算法的 FPGA 实现 在 Verilog 中可通过组合逻辑进行式(4 − 7)的变换。 PID 算法实现的状态转换图如图 4.3 所示。
4.2.2 三参量控制算法的 MATLAB/Simulink 仿真 为验证三参量控制算法的可行性,并为之后的参数调整提供参考,在 MATLAB/Simulink 中进行仿真[44,45]。如图 4.5 所示。
在输入的正弦波参考波形(加速度)幅值为 10,角频率为 40rad/s 时,得到 前馈与反馈的位移、速度、加速度波形如图 4.6 所示。
4.2.3 三参量控制算法的 FPGA 实现 三参量控制算法的实现有两个关键点。一是速度反馈的合成,二是前馈量的 生成。前馈量可以由一种参考信号合成另外两个信号,也可以直接输入三个参考 信号,为方便起见,直接从地震数据库中下载了参考位移、参考速度和参考加速 度作为前馈信号输入到系统中。所以重点来讨论速度反馈的合成。 在振动台系统中,一般只有位移传感器和加速度传感器,所以需要用位移微 分或者加速度积分来合成速度[46–49]。这里采用两者结合的方式。由位移微分后再 低通滤波和加速度积分后再高通滤波,两者相加得到速度,如图 4.7 所示。具体 模块的实现框图如图 4.8。
本章介绍了在振动台控制系统中常用的两种控制算法——PID 算法和 TVC 算法,并在 FPGA 中实现,将其纳入了 Zynq 控制器的程序架构中。每个算法模 块都可以很方便地添加到程序架构中,从上位机下发指令就可以切换控制算法。 为了使后续的参数调节有据可循,还在 Simulink 中进行了仿真。之后可以增加更 多的算法模块,以满足更多振动测试场景需求。 信迈提供ZYNQ控制器定制方案。