主要内容

开始使用ADC通道的PX4模拟输入块

此示例向您展示了如何使用PX4模拟输入块来读取Pixhawk系列控制器上ADC引脚上应用的电压。

介绍

无人机工具箱支持软件包适金宝app用于PX4自动驾驶仪,您可以创建模型,以读取Pixhawk系列控制器上ADC引脚上应用的电压。金宝app

单个PX4模拟输入块根据硬件的支持FMU版本,测量Pixhawk系列控制器上所有ADC通道的模拟电压。金宝app该块将电压输出为1 x-12阵列。数组中的每个值都对应于特定通道号的模拟电压。

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

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

  • 检测FMU的ADC通道在连接的PX4飞行控制器上暴露于哪个,并仅在Simulink模型中使用这些通道的电压。金宝app

先决条件

需要硬件

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

  • Pixhawk系列飞行控制器

  • Micro USB型B电缆

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

  • Micro-SD卡(在初始硬件设置

任务1-观察ADC通道值

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

1。在MATLAB工具条中,选择“ Home”> New> Simulink模型以打开Simuli金宝appnk启动页面。点击空白型号启动新的Simulink模型。金宝app

2。在Simuli金宝appnk工具栏上,选择“视图”>“库浏览器”以打开Simulink库浏览器。单击PX4 Autopilots选项卡的UA金宝appV工具箱支持软件包(您还可以在MATLAB命令窗口中键入PX4LIB)。

3。拖放PX4模拟输入块到模型。

4。从库浏览器中的Si金宝appmulink>接收器选项卡中,拖放一个展示块到模型。将PX4模拟输入块的输出连接到显示块。

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

6。在里面造型Simulink工具条金宝app的选项卡,单击模型设置

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

  • 设置硬件板到您在硬件设置屏幕中选择的同一Pixhawk系列控制器。

  • 在里面针对硬件资源部分,输入pixhawk系列控制器连接到的主机计算机的串行端口,固件上传的串行端口场地。

  • 点击申请接着好的

8。在里面模拟选项卡,将模拟停止时间设置为inf

9。在里面硬件选项卡,单击监视和调子开始信号监视和参数调整。

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

观察显示块中的电压阵列值。这是一个1 x-12的数组,它根据PX4飞行控制器的FMU版本显示了所有ADC频道。

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

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

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

1。使用电缆将Pixhawk系列控制器上的ADC引脚连接到 +3.3V VCC。

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

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

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

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

4。从库浏览器中的Si金宝appmulink>信号路由选项卡中,拖放一个选择器块到模型。

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

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

7。将选择器块的输出连接到一个demux堵塞。这端口数在Demux块中,可以将标识的ADC通道总数设置为总数。

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

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

open_system('px4demo_adc');