此示例显示了如何使用PX4模拟输入块读取PIXHAWK系列控制器上ADC引脚上施加的电压。
PX4自动驾驶仪的UAV万博1manbetx Toolbox支持包使您可以创建读取在PIXHawk系列控制器上ADC引脚上施加的电压的Simulink模型。万博1manbetx
单个PX4模拟输入块根据支持的FMU版本的硬件,测量PIXHAWK系列控制器上的所有ADC通道的模拟电压。万博1manbetx该块将电压输出为1×12阵列。阵列中的每个值对应于特定频道号的模拟电压。
在此示例中,您将学习如何使用PX4模拟输入块:
观察所有通道的模拟电压
检测FMU的哪个ADC通道在连接的PX4飞行控制器上暴露,并仅在Simulink模型中使用来自这些通道的电压。万博1manbetx
如果你是新的模拟,请注意万博1manbetx万博1manbetxSimulink快速入门视频。
执行初始设置和配置任务使用硬件设置屏万博1manbetx幕的支持包。
要运行此示例,您需要以下硬件:
PIXHAWK系列飞行控制器
Micro USB Type-B电缆
4针线缆或任何电缆与PIXHawk系列控制器上的ADC引脚兼容
Micro-SD卡(已经在此期间使用初始硬件设置)
在此任务中,您将配置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通道。
在此任务中,您将确定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');