DroneCAN 适配器节点¶
通过这些节点,现有的 ArduPilot 支持的外围设备可作为 DroneCAN 或 MSP 设备适配到 CAN 总线上。这还允许扩展自动驾驶硬件的功能。例如,允许 I2C 设备(如罗盘或空速)距离(飞行)控制器超过 1 米,并允许多达 32 个伺服输出通道。
他们利用 AP_Periph 库,以便在受支持的硬件板上使用现有的 ArduPilot 驱动程序。将 ArduPilot 支持的基于 UART、SPI、I2C 或 GPIO 的外围设备转换为 CAN 总线或 MSP 上的 DroneCAN 设备。
例如,与 DroneCAN 适配的串行 GPS:
这为开发可与 ArduPilot 或其他支持 DroneCAN 的系统一起使用的集成式 DroneCAN 外围设备提供了一种简便的方法。
第一个适配器由 移动机器人如下图所示,它为 UART+I2C 和另一个 I2C 连接提供了插座输出,并为第二个 UART、SPI 总线、GPIO 和 ADC 输入提供了焊盘。
第一代产品基于 f103 处理器,而新一代产品使用 f303,内存更大,固件可同时容纳更多外设选项。现在已支持 L431 处理器,任何与 ArduPilot 兼容的(飞行)控制器都可以改装成 DroneCAN 适配器节点。
开发人员可能会发现 AP_Periph 部分 的开发文档,了解创建 AP_Periph 节点的更多详情。
特点¶
AP_Periph DroneCAN 固件可配置为启用多种 DroneCAN 传感器类型。支持的传感器类型包括
GPS 模块(包括 RTK GPS)
磁力计(SPI 或 I2C)
气压计(SPI 或 I2C)
空速传感器(I2C)
测距仪(UART 或 I2C)
ADSB(Ping UART 上的 ADSB 接收器)
LED 指示灯(GPIO、I2C 或 WS2812 串行接口)
安全 LED 和安全开关
蜂鸣器(音调报警器或简单的 GPIO)
PWM 和 DShot 输出
串行端口直通(见 DroneCAN 串行端口直通)
有关设置(飞行)控制器和通用适配器节点以启用这些功能(假设节点支持这些功能)的详细说明,请参阅以下网站 DroneCAN 适配器设置.
备注
在某些情况下,必须在适配器节点上加载不同的固件,才能支持所需的外设子集。请参阅下面的 "固件"。
AP_Periph DroneCAN 固件支持这些 DroneCAN 功能:
动态或静态 CAN 节点分配
固件上传
自动生成启动加载程序
闪存中的参数存储
轻松更新启动加载程序
利用看门狗、CRC 和电路板检查实现高弹性功能
通过 MissionPlanner 或 DroneCAN-gui-tool 更新固件
固件¶
固件 AP_Periph 文件夹中提供了受支持的 DroneCAN 设备的固件,以及将某些(飞行)控制器转换为 DroneCAN 适配器使用的固件。目前,以下固件是预制的,但代码允许轻松定制。固件可通过以下两种方式安装 DroneCAN 图形用户界面 或 任务计划 SLCAN 当设备连接到(飞行)控制器上的 DroneCAN 端口,且(飞行)控制器已启用该端口时。请参见 DroneCAN 设置.由于所有 ArduPilot 驱动程序库的大小都会超过小型处理器,因此提供了几种支持不同外设的变体。
备注
不断增加更多变化
基于 F103¶
f103-GPS:串行 GPS、I2C 罗盘、I2C RGB LED
f103-ADSB:串行 ADS_B、I2C 罗盘、I2C 空速
f103-测距仪:串行测距仪,I2C 空速传感器
基于 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 空速
基于 L431¶
MatekL431-ADSB
MatekL431-BattMon
MatekL431-EFI
MatekL431-GPS
MatekL431-HWTelem: HobbyWing ESC/Telem
MatekL431-Proximity
MatekL431-RC
MatekL431-Periph:串行 GPS、I2C QMC5883L 罗盘、I2C SPL06 Baro、I2C RGB LED、I2C Airspeed(MS4525 默认)、无源蜂鸣器、电池监控器、MSP、5 PWM 输出(建议在此应用中使用 MatekL431-DShot)
MatekL431-Airspeed:I2C 空速,DLVR 10 "默认类型
MatekL431-DShot:5 个双向 DShot(默认)/PWM 输出(默认从 SERVO5 开始),ESC telem 在 UART1 RX 上(请参阅 "MatekL431-DShot")。 在此查看设置说明)
MatekL431-Rangefinder:系列测距仪
ArduPilot 固件 DroneCAN 设置¶
备注
确保启用(飞行)控制器的 CAN 端口,并将其设置为 DroneCAN 协议。请参见 : DroneCAN 设置
DroneCAN 适配器可支持各种设备和配置。通常,需要更改其配置参数。为此,可以使用 DroneCAN 图形用户界面 或 任务计划 SLCAN 更改设备参数。
例如,在使用 MatekL431-Airspeed 时,可能需要更改设备中的 ARSPD_TYPE 参数,以便与实际使用的 I2C 空速传感器相匹配。
f303 通用型示例设置¶
f303-Universal 固件可用于多个串行设备,但只能启用一个设备来使用单个 UART。固件上传后,连接到 UART 端口的默认设备被设置为 GPS,要使用其他设备(如测距仪),必须关闭 GPS 并启用测距仪或其他设备。
串行设备的选项有
GPS_TYPE=0
RNGFND1_TYPE=0
adsb_baudrate=0
上述适配器 DroneCAN 参数设置将禁用所有设备,然后您应该只启用您想要的设备,因为您不可能有两个串行设备,因为只有一个 UART。
固件还可用于 I2C 外围设备。
COMPASS
巴罗
空速传感器
NCP5623 LED
DroneCAN 适配器节点¶
有几种设备是专门为用作通用适配器节点而制造的: