(硬件05)电流检测中运放的“虚短”与“虚断”

news2024/9/25 17:17:58

本文目录

  • 本篇前言
  • 知识点讲解
  • 软件仿真

本篇前言

        运放,全称是运算放大器,一般的用法是用来发大电信号的,本篇讲解到的就是通过运算放大器将大电流流过采样电阻后的电压进行放大后输出给单片机的ADC,单片机根据ADC的值(一般最大为4096)对应着3.3V的电压,根据ADC/4096*3.3获得放大后的电压,再除以放大倍数就得到真实的电压值,根据欧姆定律,I=V/R计算出电流的大小。

知识点讲解

(电流采样电阻)

        为了追求精确度,采样电阻一般选用mΩ级别的电阻,电流流过电阻,会在电阻两端产生压降,电流的方向是从电势高的地方流向电势低的地方,所以流入端为+,流出端为-。对应着上图来说就是,电流流过MOS管,从MOS管流出后,经过采样电阻留回电源的GND。

(运算放大电路)

        图中的U7.4就是一个芯片中的运放的一个模型,咱们看到这个运放是带反馈电阻R80的,所以是一个放大电路,如果运放不带反馈电阻,那一般就用来当做电压比较器。

          “虚断”:就是运放的“-”假设是没有输入的,通道断开了,断路后,原V-的电压为

          V- = Vout * R81/(R81+R80)= Vout * 1 / (1+9.1)= Vout/10.1

          “虚短”:就是运放的“-”与“+”假设可以达到短路的状态,短路后,V- = V+

          V- = V+ = Vin

        结合上面两个公式,那么Vin = Vout/10.1,即Vout = Vin * 10.1,那么我们可以得知运放电路的放大倍数是10.1倍。

(运算偏置电压)

        图中的R86与R85组成了运放的偏置电压。具体计算一下,没有电流流过采样电阻时,MOS_GND对GND的压差为0V,此时,MOS_GND电压为0V,运放“+”端的输入电压Voffset计算如下:

        Voffset = Vin = 3.3V * R85 / (R85+R86) = 3.3V * 1/(1+39) = 3.3 V/ 40 = 0.0825V

        上面我们已经算出了运放的放大倍数,当在MOS_GND电压为0V时,运放的输出电压是

        Vout = Voffset  * 10.1 = 0.833V,这时ADC检测到的值为

        ADC = 0.833 / 3.3 * 4096 = 1034

        为什么要给运放加入偏置电压?

        一个是提高信号的电压值,避免ADC在较低值时因为噪声影响而造成的误差;

        另外一个是当检测的信号具有正负变换的情况时,使用0-3.3V的ADC仍能检测到变化,比如交流电的电压变化,假设我们用1.65V来做基准电压,当交流电为-311V直流时,分压后电压的ADC对应0V,当交流电对应+311V直流时,分压后电压的ADC对应3.3V。

(运放的加法器)

         实际上,运放的偏置电压也是一种加法器电路。下面简单讲解一下。

        如上面的推算结果所示,MOS_GND队GND电压为0V时,Vin = Voffset = 0.0825V

        当我们的电流流过采样电阻,假设加上的是一个10a电流,此时MOS_GND对GND电压为

        V10a =  10 * 0.02 = 0.2V

        因为基尔霍夫电流定律,电路中同一个回路,各处的电流是相等的。计算流过R85的电流

        I_R85 = (3.3V -0.2V ) / (1K+39K) = 0.0000775A

        那么R85两端产生的电压是 0.0000775 * 1000 = 0.0775V

        那么输入的Vin(V+)对GND的电压 = 0.0775 + 0.2 = 0.2775V

        Vout = V+ * 10.1 = 2.80V

        由此可见偏置电压类似于加法器的应用。

(滤波)

        C49是对运放输入电压进行滤波。

        C47与反馈电阻R80形成一个高通滤波器,‌抑制较低频率的信号。

        R82与C48组成一个RC滤波,减少ADC幅值频繁跳动的问题。

      

软件仿真

       无限接近于0的 1nA电流流过采样电阻20mΩ时

        10A电流流过采样电阻20mΩ时

注意事项:

        1.采样电阻功率的问题,考虑到电阻流过大电流,计算公式是P=UI=IR*I假设我们电路中最大的是是10A,那么电阻的产生的功率为 Pr = 10*0.02*10 = 2W,要采用合金电阻等大瓦数的。

        2.运放的选择问题,提到这个,不得不引入一个轨对轨的概念。这里的轨指的是电源轨道,假设运功是3.3V供电,则Vout的输出范围为0-3.3V,因为有的运放输出只能输出到Vcc-1.5V的,这个具体看数据手册了。

        

 数据手册中对于Vout输出电压的最大值描述

  非轨到轨输出波形,“被削顶”的波形

小弟感谢大家的关注!

      (利他之心,原创分享)

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

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

相关文章

无人机之穿越机操作技巧篇

一、低高度练习 选择低高度进行飞行练习,这样即使操作失误,也能减少飞行器受损的风险。 二、平稳起降 在起飞和降落时,要控制好飞行器的垂直状态,避免因为操作不当导致飞行器倾斜甚至坠机。 三、画圆飞行 通过水平面上的圆形…

提高LabVIEW软件通用性的方法

提高LabVIEW软件通用性的方法 在使用LabVIEW开发软件时,提高软件的通用性非常重要。通用性意味着软件可以在不同的应用场景中使用,具备高度的适应性和灵活性,从而提高软件的价值和用户满意度。以下从多个角度详细探讨如何提高LabVIEW软件的通…

第16周:LSTM-火灾温度预测

目录 前言 一、LSTM简介 1.1 LSTM的本质 1.2 LSTM的提出 1.3 LSTM的原理 1.3.1 RNN原理介绍 1.3.2 LSTM原理介绍 二、前期准备 2.1 导入库、设置GPU 2.2 导入数据 2.3 构建数据集 2.3.1 数据集预处理 2.3.2 设置X,y 2.3.3 缺失值检测 2.3.4 划分数据…

数据分析师技术和必备知识汇总-----Excle-----持续更新

数据分析师技术和必备知识汇总-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/140174015 文章目录 一、数据清洗1. 去除空格2. 字符串拼接3. 字符串截取4. 替换函数5. 求长度6. 相对引用和绝对引用7. 查找函数和排名…

单链表详解(2)

三、函数定义 查找节点 //查找结点 SLTNode* SLTNodeFind(SLTNode* phead, SLTDataType x) {assert(phead);SLTNode* pcur phead;while (pcur){if (pcur->data x){return pcur;}pcur pcur->next;}return NULL; } 查找节点我们是通过看数据域来查找的,查…

什么?这动物图片可以上国家地理?

stable difussion中大部分的模型都是关于人的,今天交给大家一些不一样的:如何生成动物图片。在这篇文章中我们将会学到如何生成逼真的动物,可爱的动物,还有幻想中的动物。 准备工作 当然前提是你需要一个SD的软件,你可以用本地的SD webUI或…

高清图片压缩无水印小程序源码系统 前后端分离 带完整的安装代码包以及搭建教程

系统概述 在当今的数字化时代,图片作为信息传播的重要载体,其质量和传输效率直接影响到用户体验。然而,高清图片往往伴随着较大的文件体积,这不仅会占用大量存储空间,还会拖慢网页或应用的加载速度。因此,…

【VUE基础】VUE3第七节—Vue Router路由基础

Vue Router 是 Vue 官方的客户端路由解决方案。 客户端路由的作用是在单页应用 (SPA) 中将浏览器的 URL 和用户看到的内容绑定起来。当用户在应用中浏览不同页面时,URL 会随之更新,但页面不需要从服务器重新加载。 Vue Router 基于 Vue 的组件系统构建&…

代码随想录-Day55

42. 接雨水 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 输入:height [0,1,0,2,1,0,1,3,2,1,2,1] 输出:6 解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高…

【VS2019】安装下载库HtmlAgilityPack,可解析 HTML (图文详情)

目录 0.背景 1.环境 2.详细步骤 0.背景 项目需要&#xff0c;搭建WCF服务&#xff0c;需求是输入一个string类型字符串&#xff08;网页代码&#xff0c;如<html><body><p>Hello, <b>World</b>!</p></body></html>&#xf…

[嵌入式 C 语言] 按位与、或、取反、异或

一、按位与 & 有0则0&#xff0c;全1则11010 & 0011 00100xef & 0xfe 0xee &#xff08; 0x1110 1111 & 0x1111 1110 0x1110 1110&#xff09; 若协议中如下图所示&#xff1a; 1.1 配合左移运算符 << 取指定的位 说明&#xff1a;DEC表示十进制、…

原生APP开发的优势

原生APP开发是指使用特定的编程语言和开发工具&#xff0c;针对特定的操作系统平台进行开发的应用程序。相比于混合开发和Web开发&#xff0c;原生APP开发具有以下优势。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 1. 性能更优 原…

echartsBug-dataZoom拖拽无效果

项目情况&#xff1a;"vue": "3.2.4",使用vue2语法开发 遇到问题&#xff1a;想要给图表增加dataZoom,但是拉拽的时候不生效 解决方法&#xff1a; 这个情况同样也会发生在tooltip不生效上。 之前的写法是将myChart定义在data()之中&#xff0c;但是无效…

怎么用js语句动态调整 .jstree.jstree-2.jstree-default 高度

&#x1f3c6;本文收录于《CSDN问答解惑》专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收藏&…

PHP全民投票微信小程序系统源码

&#x1f5f3;️【全民参与的力量】全民投票系统小程序&#xff0c;让决策更民主&#xff01; &#x1f310; 一键启动&#xff0c;全民参与 全民投票系统小程序&#xff0c;是连接每一个声音的高效桥梁。只需简单几步&#xff0c;即可在线发起投票活动&#xff0c;无论是社区…

java基础01—根据源码分析128陷阱以及如何避免128陷阱

源码分析128陷阱 如上图所示&#xff0c;int类型数据超过127依旧能正常比较&#xff0c;但Integer类型就无法正确比较了 /*** Cache to support the object identity semantics of autoboxing for values between* -128 and 127 (inclusive) as required by JLS.** The cache …

vue3在defineProps中使用多语言t,打包报错

报错原因 代码如下 打包后就会报错 defineProps() in script setup cannot reference locally declared variables because it will be hoisted outside of the setup() function. If your component options require initialization in the module scope, use a separate no…

LLm与微调

推荐尝试的微调模型 internlm2-20b-chat&#xff0c;internlm2-7b-chat&#xff0c; Qwen2-7B-Instruct, Qwen2-1.5B-Instruct, Qwen1.5-32B-Chat (Qwen2-0.5B、Qwen2-1.5B, qwen1.5的4B&#xff0c;7B&#xff0c;14B&#xff0c;32B) glm-4-9b-chat, glm-4-9b-chat-1m, gl…

设计资料:520-基于ZU15EG 适配AWR2243的雷达验证底板 高速信号处理板 AWR2243毫米波板

基于ZU15EG 适配AWR2243的雷达验证底板 一、板卡概述 本板卡系北京太速科技自主研发&#xff0c;基于MPSOC系列SOC XCZU15EG-FFVB1156架构&#xff0c;搭载两组64-bit DDR4&#xff0c;每组容量32Gb&#xff0c;最高可稳定运行在2400MT/s。另有1路10G SFP光纤接口、1路40G…

记录一次MySql锁等待 (Lock wait timeout exceeded)异常

[TOC](记录一次MySql锁等待 (Lock wait timeout exceeded)异常) Java执行一个SQL查询未提交&#xff0c;遇到1205错误。 java.lang.Exception: ### Error updating database. Cause: java.sql.SQLException: Lock wait timeout exceeded; try restarting transactionCluster…