反馈电路中相位补偿,到底是什么鬼?

帮朋友做镍氢充电器,利用镍氢电池充满电时电压有一个微小的下降这个特点来识别是否已经充满,比如1.2V的镍氢电池,快充满的时候,电压在1.35V,之后逐步下降,电压可以低于1.30V。所以需要单片机间歇检测电池两端电压,大概充3秒钟电再停止,之后检测电池两端电压。

因为需要识别下降的微小电压,所以需要加一级运放,放大这个下降的幅度,如下图:

6f87b92d411feda543b38a0098817786.png

那个时候刚进入社会,实践经验不足,为了更好的提升放大性能提高稳定性,想当然的在运放的反相输入端并了一颗小电容,我记得大概是10nF,如下图:

91a4215cc03f53d0fceeec2006ac2e7e.png

a56402fefe0972c1150ea33798f4637e.png

c0c1ad82870f6f38a5619c72c2c04137.png

测试中发现,在700度附近温度测量不准,最后用示波器看输出,发现在这个温度点上,输出出现了振荡,这个时候马上想到,因为PID传感器,内阻高,寄生电容大,等价于在反相输入上并联了一颗电容,类似镍氢电池的放大了,所以马上按如下电路改进:

e143b102049f4164391afa5643a6fc65.png

898ecd905de9c29ee4d9d39e8a93ebf7.png

36823d3ed8d338455526c79a756614f6.png

897b05cfc7a6bc4b2ebbb022e7e07f5b.png

下面给大家提供multisim的仿真结果:

C1为1uF的效果:进入稳态相对快一些:

dde4ca2716d62075fe512dab9f54023c.png04f05e052b8a761c1b768da872cdd17b.png

C1为10uF的效果,进入稳态时间较长:

937dce8a39fb868a59324d227754e1a9.png7a0d2f3654795fafda489259996ddbaa.png

所以对于存在阶跃突变的反馈系统中,我们要尽可能的让电路工作在180度上,提高系统再一次平衡的速度。

~END~


版权声明:文章转自面包板社区。版权归原作者所有,如有侵权,请联系我们删除!

欢迎分享、点赞、再看,感谢支持

fdadce37affc72f6c74fc54f631a1482.gif

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

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

相关文章

RoseHA集群:RHEL+RoseMirror+Oracle【2】

博主正在参加“2011年度IT博客大赛”,欢迎帮顶! 投票地址 --------------------------------------------- 三.安装Rose Mirror HA:准备工作:在安装 Rose Mirror HA 前检查相应的软件包是否安装,如果没有安…

c语言笔试面试面试题,最新华为c语言笔试面试题

最新华为c语言笔试面试题本文是百分网小编搜索整理的一份最新华为c语言笔试面试题,有需要的朋友们一起看看吧!想了解更多相关信息请持续关注我们应届毕业生考试网!1、局部变量能否和全局变量重名答:能,局部会屏蔽全局。要用全局变量&#xff…

【项目管理】CMMI-需求跟踪矩阵模版

需求菜单/功能模块需求名称需求变更类型(新增、修改)需求状态(已建议、已批准、已设计、已实现、已验证、已删除)优先级(高、中、低)软件需求(工作产品、章节号)概要设计&#xff08…

嵌入式工程师薪资调查

大家好,嵌入式行业薪资一直是大家关心的问题,刚好我的好朋友发起了一个调查,大家可以匿名写下自己的薪资,也可以看看其他的薪资水平。3月4月份确实是找工作的好机会,求职和跳槽最好的月份要来了吗 ,最近看到…

在STM32单片机上跑神经网络算法

摘要:为什么可以在STM32上面跑神经网络?简而言之就是使用STM32CubeMX中的X-Cube-AI扩展包将当前比较热门的AI框架进行C代码的转化,以支持在嵌入式设备上使用,目前使用X-Cube-AI需要在STM32CubeMX版本5.0以上,支持转化的…

CF Edu54 E. Vasya and a Tree DFS+树状数组

Vasya and a Tree 题意: 给定一棵树,对树有3e5的操作,每次操作为,把树上某个节点的不超过d的子节点都加上值x; 思路: 多开一个vector记录每个点上的操作。dfs这颗树,同时以深度开一个树状数组,踩…

通信教程 | 串口丢数据常见的原因

UART:Universal Asynchronous Receiver / Transmitter,通用异步收发传输器,即我们通常说的串口。串口是工程师最常用的串行外设之一,但在实际应用中还是会经常遇到各种问题。比如:丢失一字节数据。今天我们就结合STM32…

三次握手 四次握手 与socket函数的关系

我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket&am…

110-简单类型之整数类型和小数类型

简单类型-整数 简单类型-小数 float myFloat12.5f;转载于:https://www.cnblogs.com/wuxiaohui1983/p/9965493.html

看了2022华为春季发布会

我之前在一家智能家居的公司干过,而且我是从0开始做的,所以对这个行业多少还是有点了解,我从技术人角度看一下这场发布会。看到了智能家居的几个产品,然后再想起来我们之前做的东西,嗯,感觉我们做的提前做了…

你们还在用8位单片机吗?

工作这些年,一种从事嵌入式相关的工作,大部分接触的是ARM芯片,不过也有接触到8位单片机的机会,在一些控制领域,8位单片机还是有自己的用武之地的,大家也来说一说,自己还有接触到8位单片机吗&…

TCP拥塞控制详解

为了防止网络的拥塞现象 ,TCP提出了一系列的拥塞控制机制。最初由V. Jacobson在1988年的论文中提出的TCP的拥塞控制由“慢启动(Slow start)”和“拥塞避免(Congestion avoidance)”组成,后来TCP Reno版本中又针对性的加入了“快速重传(Fast retransmit)”…

北航博士,研究所月入两万

大家好,看到张老师的一篇文章,说的一位研究生大哥的心路历程,分享给大家。作者:易贝贝https://www.zhihu.com/question/64371326/answer/2251105460文章转自:大鱼机器人北航博士,2019 年 7 月毕业&#xff…

c语言随机迷宫生成器,作为新手该如何快速上手 C++

1.C 实现基数树使用 C 实现Radix树:一种基于二进制表示的键值的查找树,尤其适合处理非常长的、可变长度的键值,Patricia 的基本思想是构建一个二叉树。2.C 实现并行计算的K-Means聚类算法使用 C 实现一个完整的面向对象的可并行K-Means算法。…

薪资是跳出来的,不是涨出来的!

下面的内容是转自朱老师的公众号,他说的观点我是认同的,之前在一个国外的论坛,有个老外总结了程序员的涨薪情况,里面就有提到,如果想拿到比较好的薪水,靠的还是跳槽。当然,他还总结了很多其他方…

团队Alpha冲刺(三)

目录 组员情况组员1(组长):胡绪佩组员2:胡青元组员3:庄卉组员4:家灿组员5:凯琳组员6:丹丹组员7:家伟组员8:政演组员9:鸿杰组员10:刘一好组员11:何…

快速排序非递归算法c语言实现,数据结构与算法----3.5 非递归的快速排序方法

[c]代码库#include using namespace std;#include using namespace std;typedef int KeyType;struct LElemType{KeyType key;};struct SElemType{int a;int b;};struct SList{LElemType *r;int length;};const int StackInitSize10;const int StackInc15;struct SStack{SElemTy…

C++类中成员变量的初始化总结

C类中成员变量的初始化总结 1. 普通的变量: 一般不考虑啥效率的情况下 可以在构造函数中进行赋值。考虑一下效率的可以再构造函数的初始化列表中进行。 1 class CA 2 { 3 public: 4 int data; 5 public: 6 CA(); 7 }; 8 9 CA::CA():data(0) //……#1……

今天把房子定下来了

今天同学L跟我说,今天付了定金,把买房子的事给定下了。先说下疫情这两年的房价在疫情之前,2019年那时候,深圳经历了一波房价上涨,那时候的房价上涨是我完全没有预料到的,但是在2015年房价的那一波房价上涨&…

android群英传 自定义滑动view,Android群英传学习之路-View的滑动

滑动效果是如何产生的?滑动一个View从本质上来说就是移动一个View,改变其当前的坐标。所以,想要滑动一个View,就必须监听该View的触摸事件,并且根据事件的坐标,不断的改变View的坐标从而实现View的滑动。An…