主要内容

ADC通道的PX4模拟输入块入门

此示例显示了如何使用PX4模拟输入块读取PIXHAWK系列控制器上ADC引脚上施加的电压。

介绍

PX4自动驾驶仪的UAV万博1manbetx Toolbox支持包使您可以创建读取在PIXHawk系列控制器上ADC引脚上施加的电压的Simulink模型。万博1manbetx

单个PX4模拟输入块根据支持的FMU版本的硬件,测量PIXHAWK系列控制器上的所有ADC通道的模拟电压。万博1manbetx该块将电压输出为1×12阵列。阵列中的每个值对应于特定频道号的模拟电压。

在此示例中,您将学习如何使用PX4模拟输入块:

  • 观察所有通道的模拟电压

  • 检测FMU的哪个ADC通道在连接的PX4飞行控制器上暴露,并仅在Simulink模型中使用来自这些通道的电压。万博1manbetx

先决条件

需要硬件

要运行此示例,您需要以下硬件:

  • PIXHAWK系列飞行控制器

  • Micro USB Type-B电缆

  • 4针线缆或任何电缆与PIXHawk系列控制器上的ADC引脚兼容

  • Micro-SD卡(已经在此期间使用初始硬件设置

任务1 - 观察ADC信道值

在此任务中,您将配置PX4模拟输入块,以输出FMU上存在的所有ADC通道的模拟数据。FMU上可用的ADC通道可能不会暴露在PIXHAWK系列控制器上。

1。从MATLAB ToolStrip,选择首页>新建> Simulink模型以打开Simulin万博1manbetxk Start页面。点击空白模型启动新的Simulink模型。万博1manbetx

2。在“Simul万博1manbetxink”工具栏上,选择“查看”>“库浏览器”以打开“Simulink库浏览器”。单击“UAV Toolbox支持包”用于PX万博1manbetx4 AutoPilots选项卡(您还可以在Matlab命令窗口中键入px4lib)。

3.拖拉PX4模拟输入块到模型。

4.从“库浏览器”中的万博1manbetx“Simulink”>“下沉”选项卡,拖放A展示块到模型。将PX4模拟输入块的输出连接到显示块。

5。使用USB电缆将PIXHAWK系列控制器连接到主机。

6。在里面造型Simulink To万博1manbetxolStrip的选项卡,单击模型设置

7。在“配置参数”对话框中,导航到硬件实现窗格:

  • 设定硬件板到在硬件设置屏幕期间选择的相同PIXHAWK系列控制器。

  • 在里面目标硬件资源部分,输入连接PIXHAWK系列控制器的主机的串口,在其中固件上传的串口场地。

  • 点击申请然后好的

8。在里面模拟选项卡,设置模拟停止时间INF.

9。在里面硬件选项卡,单击监控和曲调启动信号监控和参数调整。

等待要完成的代码生成。只要出现对话框指示您将航班控制器重新连接到串行端口,请确保单击好的在对话框中5秒重新连接飞行控制器后。

观察显示块中的电压阵列值。它是一个1×12阵列,显示了基于PX4飞行控制器的FMU版本的所有ADC通道。

任务2 - 检测暴露在PIXHAWK系列控制器上的ADC通道

在此任务中,您将确定FMU版本提供的哪些ADC通道暴露在PIXHAWK系列控制器上,并使用这些索引值进行进一步处理信号。

确保监视器和调谐过程仍在运行(任务1所做),使用PX4模拟输入块和显示块。

1。使用电缆将ADC引脚连接在PIXHAWK系列控制器上至+ 3.3V VCC。

2。如果显示块中任何单元格的值大约会更改为+ 3.3V。

阵列中该单元的索引是暴露在飞行控制器上的ADC信道的索引。

3.对于可能留在PIXHAWK系列控制器中的所有其他ADC通道,重复步骤1和2。

在确定所有公开的ADC通道的索引号后,您可以停止监视和调谐过程并删除连接在PX4模拟输入块的输出端的显示块。您现在可以继续从块中提取信号值。

4.从库浏览器中的Si万博1manbetxmulink>信号路由选项卡,拖放A.选择器块到模型。

5。双击块,并设置输入端口大小12.。设置值指数基于您识别的索引值。例如,您可以输入指数值为[6 7 8]

6。将选择器块的输入连接到PX4模拟输入块的输出。

7。将选择块的输出连接到a宣布堵塞。这港口数量在DEMUX块中可以设置为所识别的ADC信道的总数。

Demux块的输出可用于进一步处理逻辑。

完整的模型看起来像预先配置的模型可为您提供方便。

Open_System('px4demo_adc');