Read ADC Channels 模块文档¶
所属工具箱:ADC and Serial

简介¶
一句话描述:读取并输出Pixhawk飞控板上指定外部ADC通道转换得到的数字信号。
该模块属于RflySim工具链的ADC与串口功能接口模块,用于对接PX4飞控Pixhawk硬件的外设模拟输入资源,支持开发者在Simulink仿真开发环境中直接获取Pixhawk的外部ADC转换结果。模块可灵活选择启用3.3V量程的ADC通道1、通道2,或是6.6V量程的ADC通道,输出对应通道转换完成的int32格式数字信号,同时支持解释执行仿真调试与代码生成两种运行模式,适配不同开发阶段的需求。
该模块典型应用于需要接入模拟传感器的无人机自定义开发场景,可配合CopterSim完成机载算法的闭环仿真,也可直接连接真实Pixhawk硬件采集外部模拟信号,为需要读取模拟量输入的自定义无人机开发提供便捷的硬件接口支持。
端口说明¶
输入端口(Inputs)¶
本模块无输入端口。
输出端口(Outputs)¶
| 端口名 | 数据类型 | 维度 | 说明 |
|---|---|---|---|
ADC_OUT_1 |
int32 |
1×1 |
第一个使能的ADC通道转换结果 |
ADC_OUT_2 |
int32 |
1×1 |
第二个使能的ADC通道转换结果 [待确认] |
ADC_OUT_3 |
int32 |
1×1 |
第三个使能的ADC通道转换结果 [待确认] |
输出端口的实际数量由参数中ADC通道的使能配置决定,按顺序输出已选通道的转换结果。
参数配置(Parameters)¶
双击模块打开的 Mask 对话框中可配置以下参数:
| 参数名 | 类型 | 默认值 | 可选值/范围 | 说明 |
|---|---|---|---|---|
Enable 3.3V ADC Channel 1 |
bool |
false |
true/false |
是否使能第一个3.3V ADC通道 |
Enable 3.3V ADC Channel 2 |
bool |
false |
true/false |
是否使能第二个3.3V ADC通道 |
Enable 6.6V ADC Channel |
bool |
false |
true/false |
是否使能6.6V ADC通道 |
Sample time |
double |
0.01 |
>0 |
模块采样时间,单位为秒 |
Simulate using |
enum |
Interpreted execution |
Interpreted execution, Code generation |
模块代码执行模式 |
参数设置说明¶
ADC通道选择¶
可以根据需求选择使能一个或多个ADC通道,输出端口会按"第一个3.3V通道→第二个3.3V通道→6.6V通道"的固定顺序生成对应数量的输出,分别输出各使能通道的ADC转换结果。需要注意对于3.3V ADC,通道1对应Pixhawk引脚14,通道2对应Pixhawk引脚15。
Sample time¶
指定模块读取ADC数据的采样周期,单位为秒,设置为0表示连续采样。
Simulate using¶
Interpreted execution(解释执行):使用MATLAB解释器执行代码,无需编译即可运行,调试速度快,适合模型开发测试阶段。Code generation(代码生成):将MATLAB代码转换为C代码后编译执行,运行速度更快,运行环境更接近实际硬件部署,适合最终验证和部署阶段。
模块特性(Block Characteristics)¶
| 特性项 | 值 |
|---|---|
| 支持的数据类型 | double、single、int32 |
| 直接馈通(Direct Feedthrough) | 否 |
| 采样时间 | 离散 |
| 代码生成支持 | 是 |
数据通信协议¶
本模块不涉及网络通信。
相关模块¶
| 模块名 | 说明 |
|---|---|
Serial Send |
通过串口发送自定义数据到飞控或其他外设 |
Serial Receive |
从串口接收飞控或其他外设发送的自定义数据 |
Set Serial Baudrate |
配置PX4飞载串口的通信波特率 |
PPO Encoder |
生成PPO编码信号驱动无刷电机电调 |
I2C Read Write |
通过I2C总线实现对外部传感器的读写操作 |
使用示例¶
相关使用示例请参考以下路径:
请在上述路径中查看
Readme.pdf获取完整的示例说明与操作步骤。
注意事项与常见问题¶
- 初始化顺序:该模块依赖Pixhawk飞控的底层驱动完成ADC外设初始化,需要保证模型中飞控硬件初始化模块先于本模块执行,否则会出现读取到错误ADC数值的问题。
- 引脚对应关系:若需要读取3.3V量程的外部ADC信号,注意通道1对应Pixhawk引脚14、通道2对应Pixhawk引脚15,不要接错引脚导致信号读取错误。
- 量程范围匹配:请根据输入模拟信号的最大电压选择对应量程通道:输入信号电压不超过3.3V时选择3.3V ADC通道,输入电压在3.3V~6.6V之间时选择6.6V ADC通道,超量程接入会导致读数失真,还有可能损坏硬件。
- 采样时间匹配:模块的采样时间不要设置小于Pixhawk ADC硬件的最小采样间隔(建议不小于0.01s),过快的采样频率会导致读取到重复的ADC数据,无法获得真实变化的模拟信号。
- 执行模式选择:如果仅需要在仿真阶段快速验证逻辑,可选择
interpreted execution模式加快调试;如果需要生成代码部署到实际硬件,必须切换为code generation模式,否则无法完成代码编译。 - 输出数据格式:该模块输出为int32格式的原始ADC转换结果,若需要得到实际电压值,需要根据所选量程自行做换算:3.3V量程实际电压 = (输出值 / 2^分辨率) × 3.3,6.6V量程实际电压 = (输出值 / 2^分辨率) × 6.6。
更新日志¶
v4.1.0(2024-08-13): 初始版本发布,支持读取Pixhawk可用外部ADC通道数据输出