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

news2024/11/19 1:29:32

文章目录

        前言

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.coloradmin.cn/o/694594.html

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

相关文章

MongoDB复制集原理

复制集简介 Mongodb复制集由一组Mongod实例(进程)组成,包含一个Primary节点和多个Secondary节点,Mongodb Driver(客户端)的所有数据都写入Primary,Secondary从Primary同步写入的数据&#xff0…

Flink-窗口源码

滚动窗口底层只有一个窗口,每次用for循环,把前面过期的数据移除,留下的数据再进行计算 滑动窗口的时间窗口,是有多个window的,因为有重叠的数据 计数窗口、计数滑动窗口,底层只有一个窗口 会话窗口只有一…

视频融合平台EasyCVR电子地图增加鼠标悬停展示经纬度

EasyCVR可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有GB28181、RTSP/Onvif、RTMP等,以及厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等,能对外分发RTSP、RTMP、FLV、HLS、WebRTC等格式的视频流。平台可…

结合底层源码介绍ConcurrentHashMap如何保证线程安全,佬会爱上这篇文章嘛

前言: 本篇文章主要讲解结合底层源码介绍ConcurrentHashMap如何保证线程安全的知识。该专栏比较适合刚入坑Java的小白以及准备秋招的大佬阅读。 如果文章有什么需要改进的地方欢迎大佬提出,对大佬有帮助希望可以支持下哦~ 小威在此先感谢各位小伙伴儿了…

周鸿祎晒出清华大学研究生录取通知书:终于考上了

周鸿祎晒出清华大学研究生录取通知书 IT之家获悉,近日,360公司创始人、董事长周鸿祎在微博上晒出了自己的清华大学研究生录取通知书,并称:“终于考上了,感谢360智脑的老师们,希望360智脑能帮助我顺利毕业&a…

【Python笔记】之-bash: python: command not found

问题: 在服务器环境,使用python命令时提示:-bash: python: command not found 查看服务器python版本,一般是在/usr/bin目录下,在终端输入命令如下: find /usr/bin -iname python*得到输出: …

C# OpenCvSharp 图像校正

效果 Demo下载 代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using OpenCvSharp; using OpenCvSharp.Extensions;nam…

解决在IDEA中Ctrl+Y快捷键失效问题

之前我们一般使用CtrlY的方式删除当前行,但是有的时候这个快捷键就会被其他软件占用,就需要我们重新配置一下: 1、点击IDEA中的设置 2、点击Keymap—>Editor Actions 3、往下翻,双击Delete Line,再点击Add Keyboar…

【Opencv】PIL Opencv 向图片写入文字并旋转文字,Opencv图片旋转不截断,Opencv图片旋转不裁剪

文章目录 失真Pillow的实现Opencv的实现不裁剪的旋转图像旋转文字并贴图 失真 刚性变换: 只有物体的位置(平移变换)和朝向(旋转变换)发生改变,而形状不变,得到的变换称为刚性变换。刚性变换是最一般的变换。 使用透视变换,文字会…

Multi-Query Attention 阅读笔记

《Fast Transformer Decoding: One Write-Head is All You Need》 核心贡献:优化 multi-head attention 为文中命名的 multi-query attention,减少多head相关运算,不降低精度 且 大幅提升解码速度。 具体对比如下: multi-head a…

win下编译ycm报错 “could not find any instance of Visual Studio” 解决办法

ycm-core/YouCompleteMe: A code-completion engine for Vim 是一款vim插件,可为不同的代码类型提供语义级别的补全能力。 问题描述 通过vim-plug插件管理器安装ycm后,还需对进入其插件目录~\vimfiles\plugged\YouCompleteMe 进行编译python .\install…

分类预测 | MATLAB实现GA-LSTM遗传算法优化长短期记忆网络的数据多输入分类预测

分类预测 | MATLAB实现GA-LSTM遗传算法优化长短期记忆网络的数据多输入分类预测 目录 分类预测 | MATLAB实现GA-LSTM遗传算法优化长短期记忆网络的数据多输入分类预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 MATLAB实现GA-LSTM遗传算法优化长短期记忆网络的数据多…

DS18B20-STM32温度读取

command data 高地位组合即为温度数据 1. 初始化时钟 void Init_DS18B20(void) {char CY 1;while (CY){DQ_OUT();DQ_SET_H(); delay_us(20); DQ_SET_L(); //送出低电平复位信号delay_us(360); //延时至少480usdelay_us(240);DQ_SET_H(); …

忆联携手中国移动,企业级NVME SSD评测及生态推进计划发布仪式圆满成功

6月27日,中国信通院、中国移动和中国电信在ODCC 2023夏季全会上发布了“企业级NVME SSD评测及生态推进计划”(以下简称“推进计划”),忆联作为中国移动重要的合作伙伴受邀出席该“推进计划”成立仪式环节,与中国信通院…

vue watch监听不生效,解决办法

1、在data里定义监听的属性,解决问题 2、使用深度监听

(0day通用)中庆纳博某系统敏感信息泄露+未授权修改密码

申明:本次测试只作为学习用处,请勿未授权进行渗透测试,切勿用于其它用途! 1.漏洞背景 北京中庆纳博信息技术有限公司,简称中庆纳博,是有20年历史的中庆集团旗下核心企业,专注于教育信息化的深度…

UDP SocketAPI

1、TCP与UDP区别 TCP:有连接,可靠传输,面向字节流,全双工 UDP:无连接,不可靠传输,面向数据报,全双工 2、UDP sockeAPI的核心类 DatagramSocket:相当于对socket文件进…

Swift 单元测试入门

含义:编程语言中的单元测试是为了确保编写的代码按预期工作。 给定一个特定的输入,希望代码带有一个特定的输出。通过测试代码,能够给当前的重构和发布建立信心,因为将能够确保代码在成功运行的测试套件后按预期工作。 一、单元测…

macos中回退键是Command+shift+z,我该如何改成Command+y?

macos中回退键是Commandshiftz,我该如何改成Commandy? 操作如下,打开系统设置-键盘 在「菜单标题」中手动输入需要更改快捷键的菜单项名称,注意要完全一致(见下图)。 最后说一句,撤销与重做是非常基础的系…