(36)转速传感器

news2024/11/28 4:44:04

文章目录

        前言

36.1 RPM库如何工作(TYPE = AUXPIN)

36.2 霍尔效应传感器

36.3 电调遥测 - 电机平均转速

36.4 电气换向传感器

36.5 光学传感器

36.6 谐波陷波中心频率


前言

ArduPilot 支持使用众多类型的转速传感器。它们通常用于传统的直升机,测量主旋翼速度和电机/发动机转速。对于那些希望使用直升机闭环油门调节器功能的人来说,转速传感器是必须的。此外,采用二冲程和四冲程内燃机(ICE)的飞行器使用转速传感器进行点火计时。同样的转速传感器可以用来记录 ArduPilot 中的发动机转速。


可以在 ArduPilot 中使用的常见的转速传感器类型:

  • Hall effect
  • ESC Telemetry
  • Electrical commutation
  • Optical

此外,一个报告动态谐波陷波滤波器中心频率的伪转速传感器也是一个选项。

任何输出电压的阶跃变化作为 RPM 函数的 RPM 传感器都可以与 ArduPilot 一起使用。简要解释一下 RPM 库是如何工作的。接下来是如何设置不同类型的 RPM 传感器的说明。最多可以使用两个 RPM 传感器。

36.1 RPM库如何工作(TYPE = AUXPIN)

ArduPilot 中的 RPM 库监控指定信号引脚的电压。下面的图片显示了一个典型的转速传感器的输出电压:

可以看出,电压在 0V5V 之间震荡。电压下降要么是由磁铁通过霍尔效应传感器引起的,要么是不同类型的传感器(如光学)的输出。当检测到一个"下降沿"时,时间被储存起来。当电压再次下降时,可以计算出下降沿之间的时间差。电压下降之间的时间与转速成正比。将下降沿之间的时间和转速联系起来的比例值取决于所使用的设置和设备。在本指南的后面将给出具体设备的比例参数建议。

在这个例子中,输出是来自一个电气换向传感器,连接到一个 4极 的电机。转速可以按以下方式计算:

其中 dt 是下降边缘之间的时间(单位:s),S 是比例系数。在这个例子中,4 个磁极意味着每转有 4 个波段。因此,缩放系数将是 0.25,得出的转速将是 5282。这是一个关于 ArduPilot 如何计算转速的有点简单的观点,但它说明了关键的基本概念。

36.2 霍尔效应传感器

硬件设置

也许是最常用的,霍尔效应传感器在有足够强磁场的情况下会改变其输出电压。一个磁铁需要固定在要测量的旋转部件上。对于直升机来说,这需要在自动浮动尾部驱动轮上开一个孔或凹槽,然后将磁铁粘在那里(如下图)。对于 ICE,磁铁将被安装在输出轴上。

磁铁的极性很重要。只有一极才能产生所需的电压变化。为了确保磁铁被贴在正确的方向上,可以使用示波器或这里找到的 Arduino 草图(Arduino sketch found here)。如果使用示波器,本指南假定你有足够的知识来设置这个测试。如果使用所提供链接中的 Arduino 草图方法,在草图的开头有一套全面的说明注释。在编写和测试草图时,使用了 Arduino Uno,建议使用它。

Note

大多数用于无线电控制飞行器的霍尔效应传感器将需要一些额外的修改。通常,它们需要在 Vcc 和信号线之间增加一个额外的上拉电阻。在某些情况下,它们的 Vccgnd 和信号线与电线的颜色编码不一致。因此,建议使用所提供的 Arduino 草图和面包板进行实验,以确定传感器的引脚方向。

为了获得可靠的转速信号,霍尔效应拾音器应该安装在离磁铁很近的地方。下面的图片显示了一个安装在直升机上的例子。

然后应将这三根线插到自动驾驶仪上。这通常使用一个标准的伺服插头。接地到 GndVcc5V,信号线需要连接到一个 GPIO 引脚。在大多数小板上,这将是伺服轨道上的任何一个 PWM 引脚。在 Pixhawk 上,这必须是 AUX 端口中的一个。由于后面解释的原因,建议先使用最高编号的引脚。例如,Pixhawk/Cube 上的 AUX 6MatekF405-Wing 上的 PWM 9

参数设置

首先,电路板需要被配置成允许 PWM 引脚被设置为 GPIO。这可以通过参数 BRD_PWM_COUNT 来完成。减少 PWM 计数以腾出一个引脚用于 GPIO。在非 Pixhawk 板上,PWM 计数将包括所有 PWM 输出。在 Pixhawk 板上,这个参数只影响 AUX 引脚。写下该参数并重新启动自动驾驶仪

Note

4.2 及以后的固件版本中,设置 PWM/SERVO/MOTOR 输出为 GPIO 功能的方法有所改变。不再使用 BRD_PWM_COUNT,而是将单个 SERVOx_FUNCTION 参数设置为"-1"。如果设置为"0",它仍然是一个 PWM 输出,没有被分配到一个功能,并且在电路板安全没有激活时输出该输出的微调值。如果伺服功能被"镜像"到远程设备上,如 DroneCANKDECAN ESC,那么为了将自动驾驶板的相应输出引脚改为 GPIO,但允许 SERVOx_FUNCTION 仍被分配给远程设备,可以使用 SERVO_GPIO_MASK 参数,将板上的引脚分配为 GPIO,而不影响远程设备的 SERVOx_FUNCTION 分配。

现在,RPM 库必须被启用。在下面的章节中,我们将使用 RPM 传感器的第二个实例进行参数示例。

将参数 RPM2_TYPE 设置为 1,用于基于 GPIO 引脚的传感器。将该参数写入 ArduPilot,然后刷新/获取该参数。现在你会发现,RPM 的实例(如 RPM2)有许多其他参数可供编辑,允许你完成你的设置。

现在,自动驾驶仪需要被告知在哪个引脚上找到转速信号。要做到这一点,你将需要在你电路板的 hwdef.dat 文件中找到引脚号码。这些可以在这里(here)找到。在你的板子的文件中,你需要找到 GPIO(*) 的定义所在。该引脚必须有一个指定的定时器。通常情况下,这些都是 PWM 伺服/电机输出,被指定为 GPIO 而不是 PWM 输出。参见 GPIOs,了解更多信息。

例如,如果我们将 AUX 端口 5 设置为 GPIO,其 GPIO 编号与引脚 54 相对应,54 必须被输入到 RPM2_PIN 参数中,用于转速传感器。

参数 RPM2SCALING 将与使用的磁铁数量相对应。大多数情况下只使用一块磁铁,该参数被设置为1。有些装置使用 2 块磁铁,相位相差 180 度。在这种情况下,该参数应设置为 0.5

最初,建议将参数 RPM2_MINRPM2_MAX 和 RPM2_MIN_QUAL 保留为默认值。如果一个 RPM 信号超过了这些限制中的任何一个,那么在地面站和日志中报告的数值就是零。因此,只有在你确认你的转速传感器按预期工作后,才可以调整这些值,否则,如果没有任何报告,会使调试更加困难。

Note

如果使用两个速度传感器,最小、最大和质量参数对两个速度传感器都有效。在这种情况下,请确保这些值被设置为包括两个传感器的速度范围。

最后,为了测试一切是否正常,你可以在任务规划器的快速选项卡或实时调整窗口中使用 rpm1/rpm2 的实时反馈。另外,也可以在日志中查看转速历史。

36.3 电调遥测 - 电机平均转速

转速库也可以用来设置一个"转速传感器",计算并记录飞行器上由 BLHeli_32BLHeli_S 电调控制的选定电机的平均转速。首先需要设置电调遥测。请看 BLHeli 遥测(BLHeli Telemetry),了解如何做。一旦完成,将 RPMx_TYPE 设置为 5,并将参数写入 ArduPilot。然后刷新/获取参数。你会发现一些额外的参数现在对该实例是可用的。找到并设置 RPMx_ESC_MASK 来添加你想包括在平均值中的 ESC 通道。例如,对于第二个 RPM 实例:

RPM2_ESC_MASK 是一个比特掩码,每个比特对应一个通道。如果你想知道电机 14 的平均转速,你可以设置 RPM2_ESC_MASK = 1 + 2 + 4 + 8 = 15

36.4 电气换向传感器

电动换向转速传感器可以使用像 Hobbywing 无刷转速传感器这样的东西进行追溯性添加。一些电调,如 Castle Creations Edge 系列,有一个辅助输出,可以被配置为每次换向时输出一个脉冲。

为了澄清起见,这与可通过串行遥测与电调传递的转速不一样。关于如何用有能力的电调设置转速报告的信息,见电调遥测(ESC Telemetry)。

电气换向转速传感器的设置与霍尔效应传感器基本相同,因此上述步骤也适用。唯一不同的是要在 RP2_SCALING 参数中输入的比例值。现在,比例值是电机中极数的函数,应该是极数的倒数。例如,一个 4 极的电机需要一个 0.25 的比例值。

36.5 光学传感器

同样,光学传感器的设置与霍尔效应传感器基本相同。唯一的区别是缩放值。RPM2_SCALING 应该被设置为在一次旋转中通过传感器的反射性障碍物数量的倒数。

36.6 谐波陷波中心频率

如果 RPMx_TYPE = 4,那么报告的是谐波陷波的中心频率。关于如何获得这个值,请看用动态谐波陷波滤波器管理陀螺仪噪声(Managing Gyro Noise with the Dynamic Harmonic Notch Filters)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/777891.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java Spring Boot上线运维 启动jar时控制台调整零时变量

前面的文章 java 打包Spring Boot项目,并运行在windows系统中和将Spring Boot项目打包部署到阿里云linux服务器讲述了Spring Boot项目打包部署的过程 但是 这里 我们可能会遇到一种情况 此时 我们服务器 java项目占用了 80端口 但我们需要放上去一个更重要的东西&am…

M1安装服务一条龙Mysql (解决PID的不存在的方法)

遇到的各种奇葩离谱问题 dev.mysql.com/downloads/mysql/,登入下载就行,下载这块最简单,就不详细说明了 首先注意一个点M1可以下载ARM,也可以X86,目前暂时不用考虑效率能用就行,5.7也可以用哈 然后下载完&…

【公考-判断推理】定义判断04

【国考判断推理】定义判断04 1.读得准1.1找主客体1.2 句式1.3解释说明 2.读得快2.1 优先看概念2.2多定义先看问题 3.小技巧3.1拆词3.2 同构 解题思维 在这里插入代码片 1.读得准 1.1找主客体 看主体 1.2 句式 出现多个的时候要就注意多个主体。 定义题,出现或…

Mac系统下配置环境变量:Javajdk、maven、tomcat 环境变量配置及对应配置文件

文章目录 前言一、配置环境变量路径问题1、macOS 下环境变量的配置文件2、解决环境变量在 zsh shell 无效的问题3、查看 macOS 全部环境变量4、设置系统环境变量 二、JDK下载&配置环境变量1、下载2、配置环境变量3、测试 三、maven下载&配置环境变量1、下载2、环境变量…

day28-Github Profiles(获取Github用户概要)

50 天学习 50 个项目 - HTMLCSS and JavaScript day28-Github Profiles&#xff08;获取Github用户概要&#xff09; 效果 index.html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewp…

第三章:C语言的循环控制结构

文章目录 1.While2.do...while...3.for循环 1.While 标准格式&#xff1a;while() 括号后面如果直接写1则表示是死循环&#xff1a;while(1) 括号后面也可以是执行条件&#xff0c;比如下面的代码是只有当i<10时才会进入循环执行&#xff0c;执行完毕后自动退出 运行结果 …

Qgis二次开发-QgsMapTool地图交互工具详解

1.简介 QgsMapTool地图工具是用于操作地图画布的用户交互式工具。例如&#xff0c;地图平移和缩放功能被实现为地图工具。 QgsMapTool是抽象基类&#xff0c;以下是类的继承关系&#xff1a; 2.常用接口 virtual void canvasDoubleClickEvent (QgsMapMouseEvent *e)重写鼠标…

【Matlab】基于遗传算法优化 BP 神经网络的数据回归预测(Excel可直接替换数据)

【Matlab】基于遗传算法优化 BP 神经网络的数据回归预测&#xff08;Excel可直接替换数据&#xff09; 1.模型原理2.文件结构3.Excel数据4.分块代码4.1 arithXover.m4.2 delta.m4.3 ga.m4.4 gabpEval.m4.5 initializega.m4.6 maxGenTerm.m4.7 nonUnifMutation.m4.8 normGeomSel…

Hadoop简介以及集群搭建详细过程

Hadoop简介以及集群搭建详细过程 hadoop集群简介hadoop部署模式Hadoop集群安装1.集群角色规划2.服务器基础环境准备3.上传安装包hadoop安装包目录结构5.编辑hadoop配置文件6.分发安装包7.配置hadoop环境变量8.NameNode format(格式化操作) hadoop集群启动关闭-手动逐个进程启停…

数字孪生in电力终端:高效虚拟环境实现测试“左移”

电力资源是现代社会发展必不可少的清洁型可再生资源&#xff0c;在清洁性、高效性、便捷性和适用性等方面优于传统化石能源&#xff0c;是如期实现2030年前碳达峰、2060年前碳中和的“双碳”目标的关键。2006至2019年前&#xff0c;电力行业累计为全社会减少了约159.4亿吨的碳排…

VSCode_常用插件_最新推荐

本文介绍前端开发领域常用的一些VSCode插件&#xff0c;插件是VSCode最重要的组成部分之一&#xff0c;本文列出了个人觉得是有用或有趣的一些插件。 一、代码管理相关插件 1、GitLens — Git supercharged 该插件增强了 VS Code 中的 Git&#xff0c;通过丰富的可视化和强…

【大厂直通车】百度2024届测开提前批一面面经(烫).

&#x1f4ec;&#x1f4ec;哈喽&#xff0c;大家好&#xff0c;我是小浪。那么最近24届提前批的公司陆续开了大大小小有好几十家了。有很多的同学已经制作好了简历&#xff0c;陆续开始投递了。但是结果&#xff0c;确实很不尽人意&#xff0c;在某论坛上面看到很多同学简历这…

5分钟,结合 LangChain 搭建自己的生成式智能问答系统

伴随大语言模型&#xff08;LLM&#xff0c;Large Language Model&#xff09;的涌现&#xff0c;人们发现生成式人工智能在非常多领域具有重要意义&#xff0c;如图像生成&#xff0c;书写文稿&#xff0c;信息搜索等。随着 LLM 场景的多样化&#xff0c;大家希望 LLM 能在垂直…

如何邀请明星和乐队演出你的音乐节?

组织一场音乐节是一个令人兴奋和具有挑战性的任务。邀请明星和乐队演出是吸引观众、增加活动吸引力的重要一环。以下是一些关键步骤和策略&#xff0c;媒介易帮助你成功邀请明星和乐队演出你的音乐节。 确定音乐节的定位和目标&#xff1a;首先&#xff0c;明确你的音乐节的定…

人工智能现在可以在没有人类的情况下学习!

一旦精灵离开灯&#xff0c;即使不是不可能&#xff0c;也很难将其放回去&#xff01; 南加州大学的一项研究表明 &#xff0c;相互共享知识的人工智能模型可以相互学习并快速掌握不同的任务。 这一发现具有在包括医学在内的各个领域应用的潜力。 一组研究人员开发了一种名…

shell脚本定时推送钉钉战报

一、目的与演示效果 解析服务端返回的如下字符串&#xff0c;获取今日数据、历史数据&#xff0c;实现钉钉定时推送战报效果。 {"code": "00000","msg": "","success": true,"data": {"2023-07-19": …

nacos适配达梦、瀚高、人大金仓数据库及部分源码探究

一.插件实现 1.插件目录结构 2.pom依赖 <dependency><groupId>com.alibaba.nacos</groupId><artifactId>nacos-datasource-plugin</artifactId><version>2.2.4</version></dependency><dependency><groupId>org.s…

自动化测试(二):安卓机初探与Python实现andriod截图实例

目录 1.安卓开发常用术语介绍2. 各种SDK的安装&#xff08;陆续补充ing&#xff09;2.1 JDK的安装2.2 单独安装Android SDK部分组件2.3 Android NDK的安装 3. pythonminicap实现andriod截图实例4. TODO 1.安卓开发常用术语介绍 IDE (Integrated Development Environment) : 集成…

索引的本质与数据结构

点击上方↑“追梦 Java”关注&#xff0c;一起追梦&#xff01; 正确合理的创建索引是提升数据库查询性能的基础&#xff0c;因此针对数据库来说&#xff0c;索引是必须要掌握的。 1 数据库索引的本质 我们一说到索引&#xff0c;如果大家想到是一个类似于字典的目录&#xff0…

Eclipse整合tomcat时要注意的几点

Eclipse整合tomcat时要注意的几点 1、安装目录及jdk 2、参数配置 注意&#xff1a;Arguments的配置&#xff0c;日志输出文件目录及java内存大小设置等&#xff0c;如下&#xff1a; -Dcatalina.base"E:\apache-tomcat-7.0.52" -Dcatalina.home"E:\apache-tomc…