文章目录
前言
2 固件
2.1 基于F103
2.2 基于F303
2.3 基于F431
3 ArduPilot固件DroneCAN设置
3.1 f303-通用设置示例
4 DroneCAN适配器节点
前言
这些节点允许现有的 ArduPilot 支持的外围设备作为 DroneCAN 或 MSP 设备适应 CAN 总线。这也允许扩展自动驾驶仪硬件的功能。如允许 I2C 设备(如罗盘或空速)距离自动驾驶仪 1m 以上,并实现多达 32 个伺服输出通道。
2 固件
AP_Periph 文件夹中提供了支持 DroneCAN 设备的固件(Firmware),以及将一些自动驾驶仪转换为 DroneCAN 适配器使用。目前,以下固件是预制的,但代码允许轻松定制。当设备连接到自动驾驶仪上的DroneCAN端口且自动驾驶仪启用该端口时,可以使用DroneCAN GUI或MissionPlanner SLCAN安装固件。请参阅 DroneCAN 设置(DroneCAN Setup)。由于所有ArduPilot 驱动库的大小将超过较小的处理器,因此提供了几个变体,支持不同的外围设备。
2.1 基于F103
- f103-GPS:串行 GPS,I2C 指南针,I2C RGB LED;
- f103-ADSB:串行 ADS_B,I2C 罗盘,I2C 空速计;
- f103-Rangefinder:串行测距仪,I2C 空速计。
2.2 基于F303
- f303-GPS:串行 GPS,SPI RM3100 指南针,I2C 指南针,I2C RGB LED;
- f303-M10025:串行 GPS,SPI RM3100 指南针,SPI DPS310 Baro,I2C RGB LED,I2C 空速计,安全开关;
- f303-Universal:串行 GPS /测距仪/ ADS-B,I2C 指南针,I2C Baro,I2C RGB LED,I2C 空速计。
2.3 基于F431
- MatekL431-Periph:串行 GPS,I2C QMC5883L 指南针,I2C SPL06 Baro,I2C RGB LED,I2C 空速计(MS4525 默认),无源蜂鸣器,电池监控器,MSP,5 个 PWM 输出(建议在此应用中使用 MatekL431-DShot);
- MatekL431-Airspeed:I2C 空速计,DLVR 10" 默认类型;
- MatekL431-DShot:5 个双向 DShot(默认)/ PWM 输出,默认从 SERVO5 开始,ESC 遥测在 UART1 RX 上(见这里的设置说明)(setup instructions here);
- MatekL431-测距仪:串行测距仪。
3 ArduPilot固件DroneCAN设置
!Note
请确保启用自动驾驶仪的 CAN 端口,并将其设置为 DroneCAN 协议。参见:DroneCAN 设置(DroneCAN Setup)。
DroneCAN 适配器可以支持各种设备和配置。通常情况下,它的配置参数需要被改变。为了实现这一目的,可以使用 DroneCAN GUI 或 MissionPlanner SLCAN 来改变设备的参数。
例如,当使用 MatekL431-Airspeed 时,你可能需要改变设备中的 ARSPD_TYPE 参数,以匹配你使用的实际 I2C 空速传感器。
3.1 f303-通用设置示例
f303-Universal 固件有能力用于多个串行设备,但只能启用一个设备来使用单个 UART。一旦固件被上传,连接到 UART 端口的默认设备被设置为 GPS,要使用另一个设备如测距仪,必须关闭GPS,启用测距仪或其他设备。
串行设备的选项是:
- GPS_TYPE = 0;
- RNGFND1_TYPE = 0;
- ADSB_BAUDRATE = 0。
上述适配器 DroneCAN 的参数设置会禁用所有的设备,那么你应该只启用你想要的那个,要知道你不可能有两个串行设备,因为只有一个 UART。
该固件也可用于 I2C 外围设备。
- COMPASS;
- BARO;
- AIRSPEED SENSOR;
- NCP5623 LED。
4 DroneCAN适配器节点
有几个设备是专门为作为通用适配器节点使用而制造的:
- ARK CANnode
- MatekL431 DroneCAN Adapter Node
- mRo DroneCAN Adapter Node