(16)燃油流量和液位传感器

news/2024/2/28 1:07:37

文章目录

        前言

16.1 燃油流量传感器

16.1.1 连接到自动驾驶仪

16.2 燃油液位传感器

16.2.1 PWM油位传感器

16.2.2 模拟油位传感器


前言

4.0 及以后的固件版本中,ArduPilot 提供了使用燃油流量液位传感器的能力,此外还有电池监控器。支持脉冲输出燃油流量传感器、PWM 输出燃油液位传感器和模拟输出燃油液位传感器。正如模拟电池监测器提供电流测量,并由自动驾驶仪计算容量状态一样,这些传感器提供燃料使用或液位状态测量,以实现液体燃料系统的相同报告和监测。


16.1 燃油流量传感器

燃油流量传感器为每单位的燃料消耗提供一个脉冲,如下图所示,可以像电池一样用于 ArduPilot,具有监测、显示、失控保护等功能。

图片来源:BIO-TECH

消耗的安培和毫安时的显示/记录/限制现在实际上是消耗的升/小时和毫升。电压将始终报告为 1.0V

16.1.1 连接到自动驾驶仪

自动驾驶仪(autopilot)上的任何 GPIO 引脚都可以用来连接到传感器的输出。如果是集电极开路输出,则需要一个 10kOhm 的外部电阻上拉到 3.3V。对于 Pixhawk 风格的自动驾驶仪,任何 AUX 引脚都可以使用。对于大多数其他自动驾驶仪,可以使用上部的 PWM 输出。在这两种情况下,必须通过设置 BRD_PWM_COUNT 低于可用于 PWM 的输出总数,使其不再作为 PWM 输出使用。

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 的分配。

例如,如果板子通常提供 6 个输出,将 BRD_PWM_COUNT 设置为 5 将使 PWM 输出 6 可以作为 GPIO 使用。当作为 GPIO 使用时,分配给该输出的引脚号码需要从其 hwdef.dat 文件中确定,如下图所示(here),当作为 GPIO 使用时,PWM6 被分配为 GPIO 引脚 55

Note

这些传感器有时会因为振动而提供错误的数据。这将导致自动驾驶仪认为通过传感器的燃油量高于从油箱消耗的燃油量。

16.2 燃油液位传感器

16.2.1 PWM油位传感器

支持输出与油箱中剩余油量成比例的 PWM 信号的油位传感器,如下面所示的由福克斯(Foxtech)科技提供的传感器。

消耗的毫安时的显示/记录/限制现在实际上是消耗的毫升数,1100 us PWM 输入表示空,1900 us PWM 表示满。电压将始终报告为 1.0V。电流是未定义的。

任何具有 GPIO 功能的引脚都可以作为传感器的 PWM 输入。

参数设置

与模拟电池电流和容量监测一样,关键参数是:

  • BATT_MONITOR这设置了传感器的类型。在这种情况下,11 型为脉冲燃油流量传感器,12 型为 PWM 燃油液位传感器;
  • BATT_CURR_PIN:这是连接传感器的 GPIO 引脚;
  • BATT_AMP_PERVLT:对于燃油流量传感器来说,这是以每脉冲毫升为单位设置的;
  • BATT_CAPACITY:这是以毫升为单位的容量;
  • BATT_LOW_MAH:这是以毫升而不是以毫安时为单位设置的;
  • BATT_CRT_MAH:这是以毫升而不是以毫安时为单位设置的。

16.2.2 模拟油位传感器

ArduPilot 4.3 及以后的版本支持输出电压的油位传感器。这些类型的传感器有时也被称为燃油发送器,并且从许多制造商那里广泛获得。就像 PWM 类型的传感器一样,油箱中估计的液体体积显示为毫安时,而现在实际上是毫升数。

任何具有模拟功能的引脚都可以作为传感器的输入。仔细考虑所选 ADC 引脚能够测量和容忍的最大电压。添加一个外部分压器可能是必要的。为了帮助校准这些类型的传感器,ArduPilot 在模拟引脚上看到的电压显示在电池电压区域。

有一个低通滤波器的功能,以减少油箱晃动对测量油位的影响。电池电流栏显示的是通过低通滤波器的电压。建议低通滤波器的范围在 0.2Hz0.5Hz 之间。将滤波器设置为 -1 的值将禁用它,并使用来自模拟引脚的未经过滤的电压。即使过滤器被禁用,过滤后的电压值也将以 0.3Hz 的截止频率被记录下来。

Note

该功能假设油箱形状为线性,油箱中的燃料分布均匀。它不会考虑到非均匀形状的油箱或倾斜的燃料水平。在设置失控保护值时,应考虑到这一点。

参数设置

  • BATT_MONITOR设置传感器的类型。在这种情况下,对模拟油位传感器使用 24 型;
  • BATT_CAPACITY:这是以毫升为单位的容量;
  • BATT_FL_VLT_MIN:这是油箱为空时在模拟引脚上看到的最小电压;
  • BATT_FL_V_MULT:这是用模拟引脚上测得的最小和最大电压计算的乘数。它的计算方法是1/(满电压-空电压);
  • BATT_FL_FLTR:这是低通滤波器的频率,单位是赫兹。数值为 -1 时,滤波器失效,未经过滤的电压被用来确定燃料水平;
  • BATT_FL_PIN:这是连接传感器的模拟引脚。

http://www.ppmy.cn/news/617393.html

相关文章

华硕天选3

华硕天选3是华硕公司的一系列高端笔记本电脑产品。这些产品通常具有高性能处理器、大容量存储和高清显示屏等特点,并且针对专业用户、游戏玩家和视频编辑等领域进行了专门的设计和优化。

华硕天选3锐龙版 评测

华硕天选 3 锐龙版全系搭载 AMD 锐龙 6000 系列移动处理器 R7-6800H,这一处理器采用 6 纳米工艺的 Zen3 架构,8 核 16 线程设计,加速频率达到 4.7GHz。显卡性能上,华硕天选 3 锐龙版配备英伟达 GeForce RTX 30 系列笔记本电脑 GP…

华为OD机试真题 Python 实现【光伏场地建设规划】【2023Q1 100分】

一、题目描述 祖国西北部有一片大片荒地,其中零星的分布着一些湖泊,保护区,矿区;整体上常年光照良好,但是也有一些地区光照不太好。某电力公司希望在这里建设多个光伏电站,生产清洁能源。对每平方公里的土…

腾达ac9虚拟服务器,腾达AC9官方定制固件1.0版-加广告屏蔽、迅雷等

腾达AC9的官方固件修改而来,在原来的基础上加上了很多的功能,这样就能不刷第三方固件满足你的所有的要求,具体功能可以看上图。 当前固件是针对V15.03.05.20_multi 的修改版本 本固件支持8M及大于8M的Flash刷入 使用本固件需要插入U盘或移动硬…

华硕路由器官方固件开机自动运行脚本方法

本教程重在寻找过程,如果你在意最终结果,请直接看本文最后一段脚本。 在几天前,我看到了这篇文章《ac68等arm迅雷、aria2安装小白教程及官固自启动插件教程》[1],标题中的 “官固自启动” 让我非常感兴趣,通过这篇文…

vue3 H5 微信浏览器邀请函页面上下滑动实现方式

使用swiper npm i swiper页面引用 import swiper/css; // import swiper/css/navigation; import { Swiper, SwiperSlide } from swiper/vue; import SwiperCore, { Autoplay } from swiper/core;如果只是需要比较简单的样式,在swiper官网上就能找到,把…

怎么高效批量调整视频的尺寸大小

大家平时在剪辑视频的过程中,是否会遇到视频尺寸大小不合适的情况,当我们遇到这种情况时,如何才能快速批量地解决呢?有没有什么方法可以快速批量修改视频尺寸大小呢?跟着小编一起来看看我平时批量修改视频尺寸的方法。…

c++语言的学习——苹果和虫子

苹果和虫子 描述 你买了一箱n个苹果,很不幸的是买完时箱子里混进了一条虫子。虫子每x小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时你还有多少个完整的苹果? 输入 输入仅一行,包括n&…

Mac苹果电脑远程的方法和教程

MAC受限于系统兼容,在远程控制的时候,很多刚开始使用Mac电脑的时候都不太清楚如何在Mac电脑上使用远程控制,今天和大家讲下Mac电脑上使用远程控制的方法和教程。 一、Mac自带的屏幕共享可以实现远程控制 1、在 Mac 上打开屏幕共享 &#x…

C++(22)——苹果和虫子

总时间限制: 1000ms 内存限制: 65536kB 描述 你买了一箱n个苹果,很不幸的是买完时箱子里混进了一条虫子。虫子每x小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时你还有多少个完整的苹果? 输入…

光遇android和ios有什么区别,光遇安卓和苹果可以一起玩吗?

01 首先经过测试,国际服的安卓和苹果是可以一起玩的,这两个平台的玩家可以相互添加好友,并且在地图中也可以看到各自的身影。既然国际服才用了互通的规则,那么国服自然也应该互通,但是受到系统兼容等问题的影响&#x…

1038:苹果和虫子

1038:苹果和虫子 时间限制: 1000 ms 内存限制: 65536 KB【题目描述】 你买了一箱n个苹果,很不幸的是买完时箱子里混进了一条虫子。虫子每x小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时你还有多…

苹果和安卓到底有何不同?

用户在选择手机的时候,往往看中的是手机运行流畅度,这可以直接衡量一款手机的性能。大多数人都觉得苹果比安卓系统好,流畅无敌,安卓则各种卡。其实安卓刚出来的时候,的确如此,但科技发展日新月异&#xff0…

苹果和虫子

问题描述 你买了一箱n个苹果,很不幸的是买完时箱子里混进了一条虫子。虫子每x小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时你还有多少个完整的苹果? 输入 输入仅一行,包括n&#xff0…

uniapp下载保存文件

下载文件 // 下载文件downloadFile(url) {uni.downloadFile({url: url,success: function (res) {var filePath res.tempFilePathuni.openDocument({filePath: filePath,showMenu: true,success: function (res) {console.log(打开文档成功)}})}})},图片下载 // 保存图片先判断…

npm install执行报错:ENOENT: no such file or directory, open ‘XXXXX\package.json‘

执行 npm install 报错 解决办法: 先执行 npm init -f 再安装 npm install

Android 模拟器中的menu键

windows: ctrl M macOS: command M

关于android studio menu键的问题

在现在的模拟器是没有传统的menu键的,使用menu键只能使用键盘的快捷键,而menu的快捷键是ctrlM。 除了menu键,还有其他的很多功能都可以使用快捷键,如下图:

android 5.1 屏蔽MENU键 返回键唤醒系统

在Android6.0.1 5.1上面,除了按POWER键外,还能通过按MENU或BACK键唤醒系统,frameworks/base/core/java/android/view/KeyEvent.java里面的函数分支导致: public static final boolean isWakeKey(int keyCode) {switch (keyCode) …

禁用menu键

发现很多应用中基本不再使用menu键来显示菜单了,而在android studio中创建一个activity时,默认使用了actionBar,就是在右上角会显示三个点的内容,点击会出现Settings,当点击menu键时,在屏幕下方也会出现Set…
最新文章