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

文章目录

        前言

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:这是连接传感器的模拟引脚。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

安装Ceph集群

安装Ceph集群 环境准备 CentOS 7.6 主机名IPRoleadmin192.168.182.128adminnode1192.168.182.129mon/mgr/osdnode2192.168.182.130osdnode3192.168.182.131osdclient192.168.182.132 所有节点修改主机名相互解析三台node节点添加大小5G以上硬盘关闭所有节点防火墙与SeLinux所…

jenkins 关闭关闭CSRF Protection(跨站请求伪造保护)

jenkins版本 我的jenkins版本是:2.332.4 背景 Jenkins版本自2.204.6以来的重大变更有:删除禁用 CSRF 保护的功能。 从较旧版本的 Jenkins 升级的实例将启用 CSRF 保护和设置默认的发行者,如果之前被禁用。 解决方法 老版本Jenkins的CSRF…

亚马逊云科技,迈向十年新进阶

编辑:阿冒 设计:沐由 自2013年进入国内至今,亚马逊云科技见证了中国数字经济开启量质齐升的十年。在这十年里,亚马逊云科技持续不断地帮助广大中国企业实现上云重塑和云上创新。 从一间公司的时间节点而言,无论是中文的…

mac批量修改文件名为不同名字

mac批量修改文件名为不同名字怎么弄?很多小伙伴通过私信向我求助,用什么方法可以在mac电脑上批量修改文件名称,将大量文件修改成不同的名称。这可能是一项比较麻烦的操作,在电脑上进行过批量重命名的小伙伴都知道,一般…

达梦sql执行计划、HINT、索引简单应用

目录 收集统计信息. 3 1. 通过DBMS_STATS包中的方法. 3 2、删除指定表的统计信息. 3 执行计划. 3 常用执行计划操作符. 4 统计指定sql执行号的所有操作符的执行时间. 5 HINT 5 并行操作:. 6 查询计划重用、结果集重用. 7 示例. 8 1、收集统计信息&#x…

上手vue2的学习笔记5之在vue2项目中调用elment-ui

前言 上手vue2的学习笔记4之搭建vue环境 参考链接:vue2.0项目引入element-ui 一、安装elment-ui 进入搭建的vue项目中 cd vue_bing_test 安装 element npm i element-ui二、引入elment-ui elment官方教程 将main.js改成如下内容: import Vue fro…

Proxy代理前后,Httpheader 的变化

Vite.config 配置Proxy服务器, 解决Rest API 访问SpringBoot接口时,跨域的Session一致性。 import { defineConfig, loadEnv } from viteexport default defineConfig({server: {proxy: {/rest: {target: loadEnv(, process.cwd()).VITE_API_URL,changeOrigin: tru…

argparse 模块参数

官方文档:https://docs.python.org/3.7/library/argparse.html 示例 def parse_config():parser argparse.ArgumentParser(descriptionarg parser) # 创建一个 ​​ArgumentParser​​ 对象(parser)parser.add_argument(--cfg_file, typestr, defaultNone, hel…

[相遇 Bug] - ImportError: numpy.core.multiarray failed to import

背景: 因为最近在看点云模型, 在自己的环境上部署该项目: https://github.com/open-mmlab/OpenPCDet/tree/master 执行命令: 这里执行github项目给的demo.py文件, 命令格式如下: python demo.py --cfg_file cfgs/kitti_models/pointpillar.yaml --ckpt xxx/pointpillar_772…

WPF Prims框架详解

文章目录 前言Prism基本使用Prism选择,DryIoc还是UnityPrism基本框架搭建Prism动态更新View和ViewModel对应关系参数动态更新函数动态绑定 prism新建项目模板region使用事例测试是否限制空间 消息订阅如何使用消息订阅使用建议 路由导航对话框/弹窗功能实现代码 前言…

Element分页组件自定义样式

样式效果 页面代码 <el-paginationsize-change"handleSizeChange"current-change"handleCurrentChange":current-page"page.page":page-sizes"[10, 20, 30, 40]":page-size"page.size"layout"total, sizes, prev, …

HTML <map> 标签

实例 带有可点击区域的图像映射: <img src="planets.jpg" border="0" usemap="#planetmap" alt="Planets" /><map name="planetmap" id="planetmap"><area shape="circle" coords=&q…

Spring Boot 中的 @Field 注解详解

Spring Boot 中的 Field 注解详解 引言 Spring Boot 是目前 Java 生态圈中最受欢迎的 Web 应用开发框架之一&#xff0c;它提供了很多优秀的功能和工具&#xff0c;可以帮助开发者快速构建高效、可靠的 Web 应用程序。其中一个重要的功能就是数据绑定和验证&#xff0c;Sprin…

(阿里云)STM32L+BC20+MQTT协议传输温湿度,ADC,电压,GPS数据到阿里云物联网平台

1、材料准备 准备以下材料 2、设备连接 2.1 插入物联网卡 首先把BC20核心板从开发板上拆下来 然后将物联卡放置在BC20核心板内 物联卡放置完成将BC20核心板重新插入到开发板内&#xff08;注意不要弄错方向&#xff09; 同时接入天线 2.2 连接ST-Link仿真器 用3条杜邦线接…

DP485替代MAX485 RS485/RS422 收发器芯片

DP485E 是一款 5V 供电、半双工、低功耗、低摆率&#xff0c;完全满足 TIA/EIA-485 标准要求的 RS-485收发器。DP485E 工作电压范围为 4.75~5.25V&#xff0c;具备失效安全&#xff08;fail-safe&#xff09;、过温保护、限流保护、过压保护&#xff0c;控制端口热插拔输入等功…

飞行动力学 - 第10节-空间机动性、稳定性与操纵性概述 之 基础点摘要

飞行动力学 - 第10节-空间机动性、稳定性与操纵性概述 之 基础点摘要 1. 协调盘旋性能计算流程2. 一般盘旋2.1 动力学方程2.2 角点速度2.3 典型战斗机盘旋曲线 3. 空间机动能力4. 飞行动力学&#xff1a;飞行性能稳定性与操纵性5. 稳定性定义6. 飞行品质6.1 品质等级6.2 品质评…

从字节出来的测试总监,让我们用这份《测试用例规范》,再也没加班过。

经常看到无论是刚入职场的新人&#xff0c;还是工作了一段时间的老人&#xff0c;都会对编写测试用例感到困扰&#xff1f;例如&#xff1a; 固然&#xff0c;编写一份好的测试用例需要&#xff1a;充分的需求分析能力 理论及经验加持&#xff0c;作为测试职场摸爬打滚的老人&…

数据科学分析全流程步骤

知识图谱以结构化的“知识”来存储与表示海量数据&#xff0c;作为承载底层海量知识并支持上层智能应用的重要载体&#xff0c;它在智能时代中扮演了极其重要的角色。然而&#xff0c;由于知识图谱高度结构化的特点&#xff0c;我们常常需要构建结构化查询语句&#xff08;SPAR…

使用 jmeter 进行审批类接口并发测试

目录 前言&#xff1a; 背景&#xff1a; 难点&#xff1a; 场景 a&#xff1a; 场景 b&#xff1a; 前言&#xff1a; 使用JMeter进行审批类接口的并发测试是一种有效的方法&#xff0c;可以模拟多个用户同时对接口进行审批操作&#xff0c;以评估系统在高负载情况下的性…

LLM - DataCollatorForLanguageModeling 样本生成 by transformers

目录 一.引言 二.生成样本 By API 1.样本处理样式 2.DataCollatorForLanguageModeling 2.1 样本准备 2.2 API 生成 三.生成样本 By DIY 1.样本准备 2.data_colloator 实现 3.使用自定义 data_colloator 四.总结 一.引言 前面我们讲了 Baichuan7B 的 lora 微调步骤&a…