主要内容

PX4 PWM输出

配置伺服电机和ESC控制的PWM输出

  • 库:
  • 无人机工具箱支持包的PX金宝app4自动驾驶/ PX4实用块

  • PX4 PWM输出模块

描述

PX4 PWM输出模块帮助您配置从PX4飞行控制器板PWM输出。该块接受时间值(以微秒为单位),表示一个特定通道的PWM信号的开启周期,并将其传递给板上相应的PWM通道。

PX4 PWM输出块还接受信号用于装备飞行控制器和启用故障安全条件。

请注意

一个限制是观察到当PX4 PWM输出块部署在Pixhawk 1板上,如果你选择使用默认启动脚本(rcS)作为在该PX4自动驾驶仪的启动脚本选项在PX4选择系统启动脚本步骤。然后,如果你使用rcS作为Pixhawk 1的启动脚本,PWM模块将无法正常工作。这个限制是不存在用于Pixhawk 2.1(立方),Pixracer和Pixhawk 4个板。这些自动驾驶仪,即使在部署后的PWM模块的工作原理rcS作为启动脚本。

港口

输入

全部展开

启动信号以武装PX4飞行控制器。

数据类型:布尔

强制执行故障安全值,即使故障安全条件可能发生也可能没有发生。您可以在Simulink的配置参数对话框中指定故障安全值。金宝app

请注意

如果您正在使用PX4固件1.10.2,在值设置故障安全如果您使用的PWM AUX通道输入端口无效。

数据类型:布尔

连接Chx输入信号表示PWM ON值(微秒)

依赖关系

所需Ch输入使用所选择的PWM渠道参数。

数据类型:uint16

输出

全部展开

获得该块中的PWM操作的错误状态。错误状态对应于不同的可能的错误的16位表示。

的输出值0表示成功的PWM操作(没有错误)。非零输出表明您可以解释基于16位值的不同的错误。

要解释的错误(如果有的话),连接Port_1输出到显示块,它包含格式参数值设置为二进制(存储整数),并运行在外部模式的典范。

Port_1(错误状态)连接到Display块,并在外部模式下查看

使用下面的表作为从PX4 PWM输出块的输出端获得解释16位错误状态:

16位字段的LSB设置为1(当出现错误时,它将出现在Display块中) 错误
1 无法打开PWM器件(Main/AUX)
2 未能获得伺服马达的数量
3. 无法武装PWM设备
4 无法解除PWM装置
5 无法设置PWM频率
6 无法选择被配置为输入所述PWM信道
7 在选定的通道上设置故障安全值(在主要脉宽调制或者AUX PWM在配置参数对话框的窗格)
8 无法对所选择的信道(在中定义的值的解除值主要脉宽调制或者AUX PWM在配置参数对话框的窗格)
9 无法解释设置故障安全输入
10 无法解释强制终止故障安全模式输入
11 无法设置PWM电机值
12 复位PWM电机失败。处理步骤
13 关闭PWM器件失败(Main/AUX)

例如

如果16位的错误状态显示[0000 0000 0010 0000],位6,错误为块未能选择配置为输入的PWM通道。可能的原因是您没有选择属于某个特定组的所有通道。

如果16位的错误状态显示[0000 0100 0010 0000),位611是集。错误是block没有选择配置为输入的PWM通道,也没有设置PWM电机的值。

依赖关系

如果您选择了这种输出仅显示输出错误状态参数。

数据类型:uint16

参数

全部展开

主要标签

选择类别(主或辅)识别并选择相应的通道。选择该类别后,可在参数列表中分别选择“主通道”和“AUX通道”。

选择您想要发送PWM ON时间值的通道(连接伺服电机或ESC的通道)。的Ch输入到块出现基于在该参数列表的选择。

请注意

确保您选择了属于同一频道组的所有频道。如果需要连接不同组的PWM通道,请选择所有所需组中的所有通道。在整个Simulink模型中,每个通道类别(主或AUX)只允许一个PX4 PWM输出块。金宝app

提示

要在Pixhawk系列飞行控制器板中识别频道组,请使用主机上的QGroundControl应用程序:

  1. QGroundControl开放。

  2. 将Pixhawk系列飞行控制器板连接到主机的USB端口。

  3. 在QGroundControl,去Mavlink控制台,并做以下工作:

    • 认主通道及其团体,输入命令脉宽调制信息

    • 要识别Aux通道及其组,输入命令-d /dev/pwm_output1 . PWM信息

高级选项卡

如果启用此参数,如果实际的故障安全情况发生时,故障安全值永久设置。在这种情况下,发送一个禁止信号(0)设置故障安全投入,不会有任何影响。

请注意

如果您正在使用PX4固件1.10.2,的实现强制终止故障安全模式如果您使用的PWM AUX通道参数无效。

使能块的错误状态作为输出。这个输出是一个16位的二进制值,您可以对其进行解释以分析错误。

另请参阅

介绍了R2018b