从PX4 ADC通道模拟输入块开始
这个例子向您展示了如何使用PX4模拟输入块来读取Pixhawk系列控制器上ADC引脚上的电压。
简介
无人机工具箱支持包PX4自动驾驶使您能够创建Simulink模型,读取应用在Pixhawk系列控制器ADC引脚上的电压。
基于硬件支持的FMU版本,单个PX4模拟输入块测量Pixhawk系列控制器上所有ADC通道上的模拟电压。该块以1 × 12数组的形式输出电压。数组中的每个值都对应于特定通道号处的模拟电压。
在这个例子中,你将学习如何使用PX4模拟输入块:
观察所有通道的模拟电压
检测FMU的ADC通道暴露在连接的PX4飞行控制器上,并仅在Simulink模型中使用来自这些通道的电压。
先决条件
如果您是Simulink的新手,请观看仿真软件快速入门视频。
执行最初的设置和配置任务的支持包,使用硬件设置屏幕。
所需的硬件
要运行此示例,您需要以下硬件:
Pixhawk系列飞行控制器
Micro USB - b型电缆
4引脚电缆或与Pixhawk系列控制器上ADC引脚兼容的任何电缆
Micro-SD卡(已使用期间最初的硬件设置)
任务1 -观察ADC通道值
在本任务中,您将配置一个PX4模拟输入块,以输出FMU上所有ADC通道的模拟数据。在FMU上可用的所有ADC通道可能不会在Pixhawk系列控制器上公开。
1.在MATLAB工具条中,选择“HOME > New > Simulink Model”,打开Simulink开始页面。点击空白模型推出一个新的Simulink模型。
2.2 .在Simulink工具栏中,选择“View > Library Browser”,打开“Simulink Library Browser”。点击无人机工具箱支持包PX4自动驾驶选项卡(也可以在MATLAB命令窗口中输入px4lib)。
3.拖放一个PX4模拟输入块到模型。
4.从库浏览器中的Simulink > sink选项卡中,拖放一个显示块到模型。连接PX4模拟输入块的输出到显示块。
5.使用USB线缆将Pixhawk系列控制器与上位机连接。
6.在建模页签,单击模型设置.
7.在“配置参数”对话框中,导航到硬件实现面板:
设置硬件板到您在硬件设置界面中选择的同一Pixhawk系列控制器。
在目标硬件资源,输入Pixhawk系列控制器所连接的主机的串口,在用于固件上传的串口字段。
点击应用然后好吧.
8.在模拟选项卡,设置仿真停止时间为正.
9.在硬件选项卡上,单击监视和优化启动信号监控和参数调优。
等待代码生成完成。当弹出重新连接串口的对话框时,请务必单击好吧在对话框内5秒重新连接飞行控制器后。
观察显示块中的电压数组值。它是一个1 × 12的数组,显示基于PX4飞行控制器的FMU版本的所有ADC通道。
任务2 -检测在Pixhawk系列控制器上暴露的ADC通道
在本任务中,您将确定由FMU版本提供的ADC通道中的哪些在Pixhawk Series控制器上公开,并使用这些索引值进一步处理信号。
确保使用PX4模拟输入块和显示块的监视和调优进程仍在运行(如任务1中所做的)。
1.使用电缆将Pixhawk系列控制器上的ADC引脚连接到+3.3V Vcc。
2.观察Display块中的任何单元格的值是否更改为+3.3V左右。
该单元格在数组中的索引是在飞行控制器上公开的ADC通道的索引。
3.对于Pixhawk系列控制器中可能剩余的所有其他ADC通道,重复步骤1和2。
在确定所有暴露的ADC通道的索引号后,可以停止监视和调优进程,并删除连接在PX4模拟输入块的输出上的显示块。现在可以继续从块中提取信号值。
4.从库浏览器中的Simulink >信号路由选项卡中,拖放一个选择器块到模型。
5.双击该块,并设置输入口大小来12.为设置值指数根据您确定的索引值。例如,您可以输入指数值作为(6 7 8)
.
6.连接选择器块的输入到PX4模拟输入块的输出。
7.将Selector块的输出连接到多路分配器块。的数量的端口在Demux块中可以设置为识别的ADC通道总数。
Demux块的输出可用于逻辑的进一步处理。
完整的模型将看起来像预先配置的模型(px4demo_ADC)供您使用。
open_system (“px4demo_ADC”);