当前位置: 首页 > news >正文

(13)DroneCAN 适配器节点(一)

文章目录

前言

1 特点

2 固件 

3 ArduPilot固件DroneCAN设置

4 DroneCAN适配器节点


前言

这些节点允许现有的 ArduPilot 支持的外围设备作为 DroneCANMSP 设备适应 CAN 总线。这也允许扩展自动驾驶仪硬件的功能。如允许 I2C 设备(如罗盘或空速)距离自动驾驶仪 1m 以上,并实现多达 32 个伺服输出通道。


他们利用 AP_Periph 库,在支持的硬件板上使用现有的 ArduPilot 驱动程序。将 ArduPilot 支持的基于 UARTSPII2CGPIO 的外围设备转换为 CAN 总线或 MSP 上的 DroneCAN 设备。

例如,一个与 DroneCAN 相适应的串行 GPS

这为开发集成的 DroneCAN 外围设备提供了一种简单的方法,可以与 ArduPilot 或其他支持DroneCAN 的系统一起使用。

第一个适配器由 mRobotics 制造,如下图所示,它为一个 UART+I2C 和另一个 I2C 连接提供插座式输出,并为第二个 UARTSPI 总线、GPIOADC 输入提供焊接焊盘。

第一代产品基于 f103 处理器,而目前这一代产品使用 f303,以获得更多的内存,使固件中可以同时容纳更多的外围选项。现在支持 L431 处理器,以及任何兼容 ArduPilot自动驾驶仪都可以作为 DroneCAN 适配器节点使用。

开发人员可能会发现开发文档中的 AP_Periph 部分(AP_Periph section)对创建 AP_Periph 节点的更多细节很有用。

1 特点

AP_Periph DroneCAN 固件可以被配置为启用各种 DroneCAN 传感器类型。包括对以下内容的支持:

  • GPS 模块(包括 RTK GPS);
  • 磁强计(SPII2C);
  • 气压计 (SPII2C);
  • 空速传感器 (I2C);
  • 测距仪 (UARTI2C);
  • ADSB (UART 上的 Ping ADSB 接收器);
  • LED (GPIO, I2C, 或 WS2812 串行);
  • 安全 LED 和安全开关;
  • 蜂鸣器(音调警报或简单的 GPIO);
  • PWMDShot 输出。

设置自动驾驶仪和通用适配器节点以启用这些功能(假设该节点支持这些功能),详见 DroneCAN适配器设置(DroneCAN Adapter Setup)。

Note

在某些情况下,必须将不同的固件加载到适配节点上,以使所需的外围设备子集得到支持。参见下面的"固件"。

AP_Periph DroneCAN 固件支持这些 DroneCAN 功能:

  • 动态或静态的 CAN 节点分配;
  • 固件上传;
  • 自动生成的引导程序;
  • 参数存储在闪存中;
  • 轻松更新引导程序;
  • 使用看门狗、CRC 和电路板检查的高弹性功能;
  • 通过 MissionPlannerDroneCAN-gui-tool 进行固件更新。

2 固件 

3 ArduPilot固件DroneCAN设置

4 DroneCAN适配器节点

篇幅过多,另起一篇介绍: 

相关文章:

  • Sass 和 Less 的区别
  • 如何发现Redis热Key,有哪些解决方案?
  • 汇编快速入门
  • C++20中的Feature Test Mocros
  • PHP的基本语法有哪些?
  • android开发工作笔记
  • MySQL8,Navicat能登陆成功,密码却忘记了
  • 使用 Outlook 窃取 NetNTLMv2 哈希
  • 植物大战僵尸杂交版如何手动修改金币钻石数
  • Golang | Leetcode Golang题解之第169题多数元素
  • Windows 通过代理服务器调用 openai 的 api
  • [大师C语言(第三十六篇)]C语言信号处理:深入解析与实战
  • UE4_材质_湿度着色器及Desaturation算法_ben材质教程
  • 头歌——机器、深度学习——手写体识别
  • Go语言之基础入门
  • CentOS学习笔记 - 12. Nginx搭建Centos7.5远程repo
  • CSS3 变换
  • Electron入门介绍
  • go append函数以及写入
  • gulp 教程
  • Java多线程(4):使用线程池执行定时任务
  • MQ框架的比较
  • node入门
  • ReactNative开发常用的三方模块
  • Spring Boot MyBatis配置多种数据库
  • SpringBoot几种定时任务的实现方式
  • spring学习第二天
  • vue学习系列(二)vue-cli
  • Web设计流程优化:网页效果图设计新思路
  • 欢迎参加第二届中国游戏开发者大会
  • 聚簇索引和非聚簇索引
  • 使用 5W1H 写出高可读的 Git Commit Message
  • 使用iElevator.js模拟segmentfault的文章标题导航
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • 7行Python代码的人脸识别
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (07)Hive——窗口函数详解
  • (10)Linux冯诺依曼结构操作系统的再次理解
  • (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
  • (bean配置类的注解开发)学习Spring的第十三天
  • (delphi11最新学习资料) Object Pascal 学习笔记---第14章泛型第2节(泛型类的类构造函数)
  • (函数)颠倒字符串顺序(C语言)
  • (九)One-Wire总线-DS18B20
  • (蓝桥杯每日一题)平方末尾及补充(常用的字符串函数功能)
  • (数位dp) 算法竞赛入门到进阶 书本题集
  • (转)负载均衡,回话保持,cookie
  • **python多态
  • .MSSQLSERVER 导入导出 命令集--堪称经典,值得借鉴!
  • .NET 2.0中新增的一些TryGet,TryParse等方法
  • .NET CF命令行调试器MDbg入门(二) 设备模拟器
  • .NET Framework杂记
  • .net 重复调用webservice_Java RMI 远程调用详解,优劣势说明
  • .NET命令行(CLI)常用命令
  • .NET是什么