在本博客中,我们将演示如何设置和测量传递函数 Moku PID 控制器 使用 Moku Python API。首先,我们将介绍独立的 PID 控制器仪器,并介绍配置它所需的 Python 命令,然后我们将使用 Moku 频率响应分析仪.
理解 PID 控制器框图
在电子应用中,PID 和 控制回路 通常是自动化测试设置的重要组成部分。为了清楚起见,使用 Moku UI 检查 PID 控制器框图很有用,如图 1 所示。仪器的框图显示两个输入被馈送到控制矩阵,这允许信号相加、相减和相乘。然后,信号传递到两个独立的 PID 控制器之一,每个控制器都有自己的输出,以及直流偏移、限制器和开关。此外,探测点可用于查看测量链中各个阶段的信号。

图 1. Moku PID 控制器框图。在 Moku 用户界面中选择 PID 模块,用户可以在频域中查看当前的传递函数。比例增益和饱和度以 dB 为单位,而交叉点以 Hz 为单位。用户可以通过点击和拖动来与这些参数交互,动态调整其值并查看传递函数的更新。
在 Python 中定义传递函数
为了自动配置和测量传递函数,我们使用 Jupyter笔记本,可从我们的 Github对于那些刚接触基于 Python 的 Moku 控制的人来说,可以找到有关设置 Python API 的详细书面和视频教程 在这个博客. 连接 Moku 并设置流程 多仪器并行模式 这些教程涵盖了更多内容,而这里我们只介绍定义 PID 函数的基本命令。设置传递函数时需要使用三个关键命令,主要区别在于用户偏好通过增益或交叉频率来定义 PID 参数。我们创建了两个命令来适应这两种配置。第一个命令是…… 按频率设置。 此命令以分贝 (dB) 为单位定义总增益、积分器饱和度和微分饱和度参数,而积分器、微分器和双积分器参数则以交叉频率定义。如下面的代码片段所示,该命令最多接受七个关键字输入,第一个关键字指定目标通道。用户可以添加其他六个关键字参数来相应地配置参数。没有默认值;如果关键字未定义,则该参数将被禁用。另一个允许用户使用增益值设置 PID 参数的命令是: 按增益设置。 使用此方法时,比例 (P)、积分 (I) 和微分 (D) 值以分贝 (dB) 为单位指定,而饱和值以赫兹 (Hz) 为单位表示。这些设置也可以通过 Moku 用户界面访问;它们位于 PID 控制器的“高级模式”菜单下。第三个命令是 摘要该命令会检索仪器设置的完整列表,包括所有当前的 PID 值。虽然此功能适用于所有 Moku 仪器,但对于 PID 控制器尤其有用,因为 PID 控制器无法通过用户界面获得视觉反馈。图 2 展示了这三个命令及其关键字参数的示例。

图 2. PID 控制器的 Python 代码示例,展示了配置传递函数的多种方式。
测量传递函数
我们使用 Moku 频率响应分析仪 测量传递函数,将其与 PID 控制器一起部署在 多仪器并行模式。在此设置中,频率响应分析仪的输出被馈送到 PID 控制器。然后信号循环回到输入端,使 FRA 能够测量输入和输出信号之间的差异。图 3 显示了 Moku 配置的示意图。

图 3. Moku PID 控制器和频率响应分析仪以多仪器模式部署。接续前面介绍的脚本,我们重点介绍两个重要的 Python 命令。第一个命令是: 设置输出, 定义频率响应分析仪的输出参数。由于有两个输出,因此该命令需要调用两次——每个通道一次。第一个参数指定要启用的通道,第二个参数设置幅度(单位为伏特)。此命令 设置_扫描 配置频率响应分析仪扫描的关键参数,包括许多关键字参数。这些关键字包括扫描的频率范围、要测量的频率点数量、仪器在开始数据采集前等待的时间,以及每个点数据平均的持续时间。这些最小稳定时间和平均时间可以用周期数或时间长度来定义。例如,稳定时间为 1 微秒,稳定周期为 1,表示仪器在每个扫描点等待 1 微秒或 1 个周期,以较长者为准。 开始扫描 命令启动频率扫描并提供测量持续时间的估计值。下一个命令 获取数据, 检索测量数据。设置 等待完成 关键字到 真 确保数据传输仅在扫描完成后进行。如有必要,可以调整超时值以防止请求超时。图 4 显示了包含关键字参数的完整命令集示例。

图 4.频率响应分析仪的 Python 代码示例。
查看和绘制数据
数据以字典格式返回,键为“Ch1”和“Ch2”。它可以分为两组,也是字典,并绘制成显示幅度和相位与频率的关系,如图 3 所示。通过将此图与 PID 控制器 UI 中显示的传递函数进行比较,用户可以验证传递函数是否为输入信号提供了预期的响应。调整 PID 控制器设置将改变传递函数,并在绘制的数据中产生相应的变化。


图 5. 从频率响应分析仪恢复的幅值和相位响应数据。本教程演示了如何使用 Moku PID 控制器和频率响应分析仪,通过 Moku Python API 定义和测量传递函数。用户只需按照这些步骤操作并使用提供的命令,即可准确配置仪器并验证传递函数。



