分压电阻方式的ADC电压校准

news2024/9/20 20:23:51

       

无人机有个流程是电池电压校准。具体做法是:让你用万用表测量一下电池两端的电压,然后输入到文本框中,电机计算能重新计算出电压分压器的值,从而获得电池电压值。

这种方法实现的原理是这样的:

电阻分压检测电压原理,以上图为例:

                                           Vadc = Vbus * \frac{R2}{R1+R2}

当电路确定时,R2/(R1+R2)是一个定值R,而这个R,我们如果通过它们的阻值运算来确定,最终结果会有一定的误差。这种误差是生成工艺,焊接工艺,和环境温度产生的,无法避免。

如果把R当做未知量,直接通过电压表测量获得输入电压Vmeasure,就可以计算出R来,因为Vadc可以通过此时的ADC采样值adc0计算出来。这样有一个很明显的好处是,可以不必关心分压电阻的阻值大小。

整理后的公式如下:

                                  R = \frac{adc0 * VCC}{ADCresolution * Vmeasure}

其中Vcc为单片机的ADC基准电压Vref,ADCresolution为分辨率。

有了标定的R值后,可以求出待测量的电压Vbus公式,假设此时的ADC采样值为adc1:

                                 Vbus =adc1 * \frac{ Vcc}{ADCresolution * R}

将R代入,可以消去参考电压Vref,ADC分辨率ADCresolution:

                                    Vbus = adc1 * \frac{Vmeasure}{adc0}

adc1为此刻的ADC采样值。Vbus是要求的输入电压。

通过公式可以发现,此种方法计算的值,与Vcc、ADC分辨率都没有关系,只与当时用万用表测量的电压值和当时的ADC采样值有关。

// ADC电源电压标定
inline float vbus_calibration(float measured_v,float adc)
{
	return measured_v/adc;// 用于电压计算的系数
}

// 计算电源电压
inline float vbus_measur(u32 adc ,float calibration)
{
	return adc * calibration;
}

 

                           

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

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

相关文章

PRD: Peer Rank and Discussion Improve Large Language Model based Evaluations

文章目录 题目摘要相关工作方法实验与分析指标进一步分析结论 题目 PRD:同行排名和讨论改善基于大型语言模型的评估 论文地址:https://arxiv.org/abs/2307.02762 项目地址:https://openreview.net/forum?idYVD1QqWRaj 摘要 如今&#xff0c…

ChatGPT:ELMo,Transformer,Multitask

1,ELMo:Embedding新纪元 1.1,word2vec的局限性 word2vec:word2vec模型是一种可以用于各种任务的单词级别的表示学习。以单词stick为例子,它有非常多的意思: v. 粘贴;粘住;被接受&am…

webshell应急响应

前言 webshell在应急中占了很大的比例,本篇文章就来看看当遇到webshell时如何进行应急响应。 Webshell通常指以JSP、ASP、PHP等网页脚本文件形式存在的一种服务器可执行文件,一般带有文件操作、命令执行功能,是一种网页后门。攻击者在入侵一…

Email调用接口在高并发下的性能优化策略?

Email调用接口的安全保障措施?如何优化邮件调用接口? 无论是用户注册、密码重置还是促销邮件的发送,Email调用接口都是不可或缺的一部分。当面对高并发请求时,往往会成为瓶颈。AokSend将探讨几种在高并发环境下优化Email调用接口…

超级详细,如何手动安装python第三方库?

文章目录 1,python第三方库安装包有3种类型2,python第三方库安装包whl文件如何安装?3,python第三方库安装包zip和tar.gz文件如何安装?4, python第三方库安装包exe文件如何安装? 手动安装第三方库…

Unity材质球自动遍历所需贴图

Unity材质球自动遍历所需贴图 文章目录 Unity材质球自动遍历所需贴图一、原理二、用法1.代码:2.使用方法 一、原理 例如一个材质球名为:Decal_Text_Cranes_01_Mat , 然后从全局遍历出:Decal_Text_Cranes_01_Albedo赋值给材质球的…

校园选课助手【1】

项目背景 随着高校招生规模的不断扩大,学生选课需求日益增长。为提高选课效率,降低学生选课压力,本项目旨在开发一款校园选课助手软件。 项目目标:开发一款具有以下特点的校园选课助手软件: 易用性:界面简洁&#xff…

组蛋白乳酸化和RNA甲基化如何联动?请大数据把这个思路推给科研人

在细胞生物学中,基因表达调控是决定细胞功能与命运的核心过程之一。组蛋白作为修饰性蛋白,在调控基因转录中起着至关重要的作用。近年来,科学家们发现,组蛋白的多种化学修饰(如甲基化、乙酰化、磷酸化等)影…

Java零基础之多线程篇:多线程最佳实践

哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一…

diff算法的流程

diff算法? 组件并不是真是的DOM节点,而是存在与内存中的一种数据结构,叫做虚拟DOM,只有当它真正插入文档中的时候才会真的变成DOM。 React的设计时所有的DOM变动都先在虚拟的DOM上发生,然后再将实际变动的部分反映在…

来聊一个有趣的限流器RateLimiter

写在文章开头 这一篇我们来聊一个比较使用的限流工具RateLimiter,它是Google开源的Java类库guava中的一个工具类,本文将从使用和源码分析的角度介绍RateLimiter的设计与实现,希望对你有帮助。 Hi,我是 sharkChili ,是个不断在硬核技术上作死的 java coder ,是 CSDN的博客…

【MATLAB源码】机器视觉与图像识别技术示例报告2---铁道口夜间列车通过时速度视觉测量

系列文章目录在最后面,各位同仁感兴趣可以看看! 速度视觉测量 摘要对铁路夜晚环境情况分析视觉测量的流程步骤代码问题最后:总结系列文章目录 摘要 随着科技技术的不断发展,由于铁道口夜间交通事故频发,传统的雷达和…

铁路购票系统中的数据库技术《二》

铁路购票系统中的数据库技术《二》 缓存技术:减轻数据库压力数据一致性:确保交易公平分布式事务:跨系统的数据一致性读写分离:优化查询性能数据库备份与恢复:确保数据安全安全性:保护sensitive数据性能优化…

基于Python的鸢尾花聚类与分类

1 导入必要的库 from sklearn.datasets import load_iris import pandas as pd import matplotlib.pyplot as plt import numpy as np import seaborn as sns from sklearn.cluster import KMeans from sklearn.metrics import silhouette_score, silhouette_samples from skl…

缓存和数据库双向写死一致性问题

我们可以对存入缓存的数据设置过期时间,所有的写操作以数据库为准,对缓存操作只是尽最大努力即可。也就是说如果数据库写成功,缓存更新失败,或者没有更新操作,那么只要达到过期时间,则后面的读者自然会从数…

图形编辑器基于Paper.js教程12:井身结构编辑器,多条完全平行的弯曲线,使用额外平行线来作为弯曲中心线的度量尺

背景 对于弯曲的三条平行线,一开始我以为只需要使用中心线,然后复制两条,一个向右下角平移,一个向左上角平移,就能让三条线实现完全平行,每一处的距离都相等。后来仔细思考后,发现我想错了&…

数据管道为什么选择Kafka作为消息队列?

目录 关于Kafka 什么是消息队列? Kafka的特点 管道为什么需要消息队列? 管道任务为什么选择Kafka作为消息队列? 企业在构建数仓和中间库时,由于业务数据量级较大,如果使用批量定时同步数据的方式很难做到高性能的增量同…

文章解读与仿真程序复现思路——电力系统自动化EI\CSCD\北大核心《考虑隐私保护的虚拟电厂内部交易决策优化 》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

食源送系统项目的测试

一、对整个系统编写测试用例 功能测试 性能测试 兼容性测试 易用性测试 安全测试 二、接口测试 针对接口的功能测试,也就是检验接口是否按照接口文档输入输出 2.1 使用Postman发送HTTP请求 2.2 使用Java TestNG 编写自动化测试用例 登录界面功能 package com.sky.…

碳化硅陶瓷膜的机械强度

碳化硅陶瓷膜是一种高性能的过滤材料,它采用重结晶技术在高温条件下烧结而成。这种膜的特点是整个结构,包括多孔支撑层、过渡层和膜层,均由碳化硅(SiC)材料构成。碳化硅陶瓷膜因其独特的性能而在多个领域得到广泛应用,下面是对碳化…