保姆级教程:手把手教你用Jetson Xavier NX的串口连接Pixhawk 4 Mini飞控(附接线图)
当你第一次拿到Jetson Xavier NX和Pixhawk 4 Mini这两块硬件时,可能会被密密麻麻的针脚和接口搞得一头雾水。作为无人机开发中最关键的硬件连接环节,正确的串口接线不仅能确保数据稳定传输,更能避免因接线错误导致的硬件损坏。本文将用最直观的方式,带你一步步完成这两个设备的物理连接。
1. 硬件准备与接口识别
在开始接线前,我们需要明确两个设备的物理接口定义。Pixhawk 4 Mini的UART & I2C B端口和Jetson Xavier NX的40针GPIO接口各有其独特的针脚排列方式,正确识别每个针脚的功能是成功连接的第一步。
1.1 Pixhawk 4 Mini接口详解
Pixhawk 4 Mini的UART & I2C B端口采用6针JST GH连接器,其针脚定义如下:
| 针脚编号 | 功能定义 | 连接说明 |
|---|---|---|
| 1 | VCC | 5V电源输出(通常不建议使用) |
| 2 | TX | 信号发送端 |
| 3 | RX | 信号接收端 |
| 4 | SCL | I2C时钟线 |
| 5 | SDA | I2C数据线 |
| 6 | GND | 接地线 |
特别注意:实际连接时我们只需要使用2(TX)、3(RX)和6(GND)三个针脚,其他针脚保持悬空即可。
1.2 Jetson Xavier NX GPIO接口解析
Jetson Xavier NX的40针GPIO接口兼容树莓派引脚排列,但与树莓派的引脚定义有所不同。我们需要使用的串口针脚位置如下:
- Pin 6 (GND): 接地引脚
- Pin 8 (UART1_TX): 串口发送端
- Pin 10 (UART1_RX): 串口接收端
可以通过以下命令在Jetson Xavier NX上查看串口设备:
ls /dev/ttyTHS*正常情况下应该能看到/dev/ttyTHS1设备,这就是我们将要使用的硬件串口。
2. 线材选择与连接原理
2.1 线材类型选择
根据使用场景不同,我们可以选择以下几种连接方式:
杜邦线直连(适合临时测试)
- 优点:无需焊接,即插即用
- 缺点:连接不稳定,容易松动
焊接连接(推荐长期使用)
- 使用JST GH接头和杜邦头进行可靠焊接
- 优点:连接稳固,抗干扰能力强
- 需要工具:电烙铁、焊锡、热缩管
成品转换线(最便捷方案)
- 可购买现成的JST GH转杜邦头线缆
- 优点:即插即用,专业可靠
2.2 串口连接的核心原理
串口通信需要遵循以下三个基本原则:
- 交叉连接:TX必须连接RX,RX必须连接TX
- 共地原则:两端的GND必须相连
- 电平匹配:确保双方使用相同的电压电平(此处均为3.3V)
具体到我们的设备连接,正确的接线对应关系应该是:
- Pixhawk TX (Pin 2) → Jetson RX (Pin 10)
- Pixhawk RX (Pin 3) → Jetson TX (Pin 8)
- Pixhawk GND (Pin 6) → Jetson GND (Pin 6)
3. 详细接线步骤图解
3.1 实物接线示意图
以下是两种常见的接线方式示意图:
方案一:杜邦线直连
Pixhawk UART & I2C B Jetson Xavier NX GPIO Pin 2 (TX) ----------- Pin 10 (RX) Pin 3 (RX) ----------- Pin 8 (TX) Pin 6 (GND) ---------- Pin 6 (GND)方案二:焊接连接
- 准备JST GH接头和3根杜邦线
- 将杜邦线焊接至JST GH接头的2、3、6号针脚
- 另一端按对应关系连接至Jetson GPIO
安全提示:焊接时务必断开电源,避免静电损坏敏感元件。建议使用防静电手环。
3.2 常见错误接线方式
以下是新手容易犯的接线错误及后果:
- TX-TX直连:无法建立通信,数据无法传输
- RX-RX直连:同上,通信完全失败
- 忽略GND连接:可能导致信号不稳定或乱码
- 接错电源引脚:最危险的情况,可能烧毁设备
4. 连接后的验证与测试
4.1 硬件连接检查
完成物理接线后,建议进行以下检查:
使用万用表通断档检查:
- GND之间是否导通
- TX-RX是否交叉连接
- 确保没有短路情况
目视检查:
- 所有连接是否牢固
- 线材绝缘是否完好
- 无裸露的金属部分接触
4.2 软件层面验证
在Jetson Xavier NX上执行以下测试命令:
- 查看串口设备权限:
ls -l /dev/ttyTHS1正常应该显示为:
crw-rw---- 1 root dialout 204, 71 May 10 10:00 /dev/ttyTHS1- 如果没有权限,需要执行:
sudo usermod -a -G dialout $USER sudo chmod 666 /dev/ttyTHS1- 使用minicom测试串口通信:
sudo apt install minicom minicom -D /dev/ttyTHS1 -b 921600如果看到乱码数据流,说明硬件连接基本正常。此时可以按Ctrl+A然后Z,选择退出。
5. 高级配置与优化建议
5.1 波特率设置
Pixhawk和Jetson的串口波特率必须一致,推荐使用921600bps以获得最佳性能。可以通过以下命令在Jetson上设置波特率:
stty -F /dev/ttyTHS1 9216005.2 硬件流控制
对于长距离或高干扰环境,建议启用硬件流控制(RTS/CTS)。这需要在两端都进行配置:
- Pixhawk端:在QGroundControl中设置
SER_TEL4_FC参数为2(启用硬件流控制) - Jetson端:使用额外的GPIO引脚连接RTS/CTS信号线
5.3 抗干扰措施
在电磁环境复杂的无人机系统中,可以采取以下措施提高串口稳定性:
- 使用屏蔽双绞线替代普通杜邦线
- 在信号线上添加磁珠滤波
- 缩短连接线长度(建议不超过30cm)
- 避免与电源线平行走线
6. 故障排除指南
当通信出现问题时,可以按照以下步骤排查:
检查物理连接
- 确认接线是否正确
- 检查接触是否良好
- 测量GND之间是否导通
验证串口设备
- 在Jetson上执行
dmesg | grep tty查看串口识别情况 - 检查
/dev/ttyTHS1是否存在
- 在Jetson上执行
测试基本通信
- 使用
cat /dev/ttyTHS1查看是否有数据 - 使用
echo "test" > /dev/ttyTHS1发送测试数据
- 使用
检查参数配置
- 确认Pixhawk端MAV_1_CONFIG设置为104
- 确认波特率两端一致
- 检查MAV_1_MODE是否为Onboard(2)
在实际项目中,我曾遇到过因杜邦线接触不良导致的间歇性通信中断,更换为焊接连接后问题立即解决。另一个常见问题是忘记给串口设备赋权,导致ROS节点无法访问设备,通过将用户加入dialout组可以永久解决。