开始使用ADC通道的PX4模拟输入块
此示例向您展示了如何使用PX4模拟输入块来读取Pixhawk系列控制器上ADC引脚上应用的电压。
介绍
无人机工具箱支持软件包适金宝app用于PX4自动驾驶仪,您可以创建模型,以读取Pixhawk系列控制器上ADC引脚上应用的电压。金宝app
单个PX4模拟输入块根据硬件的支持FMU版本,测量Pixhawk系列控制器上所有ADC通道的模拟电压。金宝app该块将电压输出为1 x-12阵列。数组中的每个值都对应于特定通道号的模拟电压。
在此示例中,您将学习如何使用PX4模拟输入块:
观察所有通道的模拟电压
检测FMU的ADC通道在连接的PX4飞行控制器上暴露于哪个,并仅在Simulink模型中使用这些通道的电压。金宝app
先决条件
如果您是Simulink的新手,请观金宝app看金宝appSimulink快速启动视频。
执行初始设置和配置任务使用硬件设置屏金宝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');