网站首页 > 技术文章 正文
【学习总结】RC滤波器的取值及级联
一阶低通滤波器中,当RC的乘积(时间常数)确定后,该如何选值R和C?
在RC为固定值时,他们组成的RC低通滤波器的幅频特性曲线和相频特性曲线是完全一致的,例如1kΩ和1uF、100kΩ和0.01uF,仿真如下图:
那么这个电阻和电容的取值该怎么选择?
1.RC滤波器的输入阻抗:
电阻R越小,RC滤波器的输入阻抗Zin越小,此时就要求前级的驱动能力能够驱动,电阻不能一味的小。
2.RC滤波器的输出阻抗:电阻R越小,RC滤波器的输出阻抗Zout也越小,有利于传递给后级电路。
3.过大的电阻R,会让后级输入偏置,例如下图:由于运算放大器会有输入偏置电流Ib,这个输入偏置电流Ib,会和电阻R产生更大的电压,并以输入失调电压的形式在后级体现出来,所以电阻太大也是不利的。
4.当电阻R选值大时,电容C的取值就变小,要避免电容的容值过小。因为过小的电容,可能会与周边走线,铜皮,过孔等的寄生、杂散电容(pF级)接近,从而导致RC滤波器的实际截止频率降低(电容C和杂散电容并联,导致实际的C容值大)。
5.多级RC滤波器连接时,如果各级都用相同的R、C值,由于相互之间存在阻抗影响,在截止频率附近会导致‘溜肩膀’,使滤波器的截止性能恶化。如果按照从低阻抗到高阻抗的顺序排列会获得更好的截止特性和衰减特性……
查看原文:
https://www.dianyuan.com/eestar/article-7916.html
ULN2003应用电路分析
今天分享一个ULN2003的驱动电路,这个芯片非常好用,可以做一些继电器驱动,或者步进电机等的驱动。一个ULN2003就可以驱动7路继电器。ULN2003内部集成了7个达林顿管(小电流控制大电流),以及7个续流二极管,这个芯片的OUT属于OC门,即开集电极输出,只具备输出低电平和高阻的能力(类似开漏输出)。
驱动部分的电路如下:
IN1~IN7连接至单片机的IO口,单片机输出高低电平控制,7个LED灯用于指示IO口的控制信号。COM接到感性负载的供电,用作续流。
当IN1输出高电平时,ULN2003内部的达林顿管导通,然后继电器吸合,由于所有继电器的电流最终都是灌入芯片内部,然后到芯片的GND回流的,所以芯片的GND管脚的走线一定要加粗处理,电流路径如下:
当IN1由高电平变为低电平时,继电器会经过芯片内部的续流二极管续流,以防止继电器产生的反电动势损坏芯片,续流路径如下……
查看原文:
https://www.dianyuan.com/eestar/article-7917.html
正负压输出电路(负压由buck改buck-boost拓扑输出)
最近群友讨论如何用buck改buck-boost拓扑输出负压,于是我也做了一块小板,并也验证成功了,可以正常输出3.3V和-3.3V。只需要VCC和GND两根线供电就可以了,原理图如下,供各位同好参考:
正压3.3V输出部分如下:
负压-3.3V输出部分和正压基本相同,只需要稍作改动,如下所示:
总体来说还是很顺利的,周五嘉立创,昨天周二就拿到了验证板,加上手头有的一些物料,之前剩余的MP2225和一些阻容电感,很快就焊好了,也是很顺利,焊完上电也没有冒烟。然后注意就是,如果Buck改buck-boost拓扑输出负压的话,输入电容要接到GND,尽量不要接到负压输出。这个之前的推文里有所提及。
然后还有一点就是电压输入范围会相应发生变化,例如MP2225的最大输入电压为18V,但是改为buck-boost拓扑后最大输入电压只能为18-3.3=14.7V。这一点要额外注意。下图是之前文档里截取的。
然后,不推荐用这种buck-boost拓扑输出负压来给运算放大器供电负压,因为这种开关电源的纹波一般是比较大的,而且纹波的频率相对也是比较高的,有的运算放大器的PSRR比较弱的话,可能会对运算放大器的输出端造成影响……
查看原文:
https://www.dianyuan.com/eestar/article-7918.html
为什么说你一定要掌握 KEIL 调试方法?
在嵌入式软件开发过程中,不可避免的会出现很多的 BUG,比如串口通信异常、定时器无法输出脉冲、IO 口无法输出、无法进入中断等等问题,导致这些问题的原因可能不仅仅只是某一个方面,也可能是综合的,可能是软件设计上的问题,也可能是硬件上的,如何锁定问题就成了关键。
学习 51 的时候,可能会采用 LED 灯、数码管、LCD 屏等方式进行辅助调试(关于这个看不会printf怎么打印红外遥控数据?| 初学者必看),也可能会使用类似 printf 函数的方式将数据打印至串口调试助手调试,但无一例外的是,这些方法都要在合适的地方插入合适的代码才行,而且还有可能因为插入了这些调试代码而导致本来没有问题的程序出现了问题,这都是有可能的。
51 开发的时候没有办法,硬件仿真调试功能太弱,只能采用这些方式,但如果说你在进行 STM32 开发时还在使用这些方法,那真的是守着莫大财富而不自知了。
现在简单理解一下 STM32 仿真调试的原理是什么。我们知道程序的运行主要依靠 CPU 还有各种外设,这就相当于一个人在工作,除了需要你的大脑(CPU)外,还需要你的手、脚、躯干等部分协调配合才能将一件事完成,否则光有强大的大脑(CPU)是不行的。
那么调试功能又是怎么怎么一回事呢?它就像是你的同伴,当你在工作的时候,他会实时记录你的工作信息,当别人(调试者)需要知道你的工作情况还有工作细节的时候,由你的同伴告知就行了,这样就能在不耽误你(CPU)正常工作的前提下,又能知道你在干什么。你的同伴拥有以下功能或权限:
1、实时记录你的工作过程,把你工作时的所思所想都记录下来(注意这种记录是实时的,只保留当前的信息,之前的信息会被当前信息覆盖,所以如果你需要记录所有的信息的话,需要把它打印出来才行)。
2、控制你的工作流程,比如暂停你的工作,工作到什么地方的时候让你停下来等等类似功能,但是不能更改你的工作顺序和工作内容(这点很重要)。
STM32 调试过程中最常用的的就是利用 Watch 窗口查看变量的值,比如像这样:
你可以看到通过这个窗口,你可以查看 USART1 外设寄存器的值,也可以查看用户变量 num 的值,这样你就能实时的观察变量的变化,从而知道哪里有问题了……
查看原文:
https://www.dianyuan.com/eestar/article-7766.html
别再问IGBT的开关频率上限了
波老师那个年代上大学都是自己攒机装电脑,买CPU先问主频多少Hz?后来买手机也是,先看几个核,再看主频……所以估计大家都也差不多,都“烙”下病根儿了。
可是IGBT是个功率器件,它的开关频率上限并不是一个确定的值。
我一般都是这么回答这个问题的:
首先,开关频率是指IGBT在一秒钟内开关次数。而在确定的母线电压和导通电流下,IGBT每次开关都会产生一定的损耗,开通损耗是Eon,关断损耗是Eoff,还有二极管反向恢复也有损耗Erec。
IGBT的开关频率越高,开关次数就越多,损耗功率就也高,那乘以散热器的热阻后,IGBT的温升也越高,如果温度高到超出了IGBT的上限,那IGBT就失效了。具体你们可以看我之前发的关于IGBT热设计的文章。
但是损耗是和电压电流成正比的,如下图所示。
所以假如用一个很大标称电流的IGBT工作在一个小的电流下,那这个大IGBT的开关损耗功率和导通损耗功率就都会减小,那么这个大IGBT就更有可能用在更高的开关频率。
很多新手有个误区,他们原话是这么说的,“小管子发热小,大管子发热大,你看那大IGBT模块发热功率都上千瓦,那分离IGBT芯片才几瓦。。。”
其实他刚好说反了,在同一个电压等级下同样技术的芯片,标称电流越大的说明导通电阻越小,因此才能通更大的电流啊。
总而言之,IGBT的开关频率最高到多少,取决于在此工况下IGBT的结温会不会超上限。只要你有钱,巴菲特都能陪你吃饭,所以只要不惜成本3300V也能工作在50kHz硬开关。。。你不信?有图有真相。
顺便介绍个IPOSIM的新功能,可以直接跳转到IPOSIM刚才截图那个工况的仿真结果。
所以说别再问我IGBT最高的最高开关频率了,只要你有钱,随便超频。
虽然有钱可以为所欲为,但是违反物理极限的事情还是有钱也做不到的。那什么是物理极限呢?那就是IGBT的开关速度。
刚才说了开关频率是IGBT在一秒内开关的次数,而且IGBT每个开关周期里还有占空比,比如说1kHz开关频率,50%占空比,那控制型号发出的方波从开通到关断的时间就是0.5毫秒。如下图。
但是你以为你发了0.5毫秒的方波,IGBT就能同步开0.5毫秒?不能,IGBT很迟缓,一般同等技术水平下的IGBT芯片,标称电压越高的IGBT越迟缓。
这个迟缓时间就是开关延迟,定义方法如下图。
一般都是关断延迟比开通延迟长,所以一个半桥上下桥臂的IGBT在开关状态切换时,需要一个死区时间,就是上下两个IGBT同时处于关断状态。否则就会出现上下桥臂直通短路的情况。
死区时间主要取决于关断延迟比开通延迟长了多少(当然还要有冗余)……
查看原文:
https://www.dianyuan.com/eestar/article-7838.html
更多精彩内容,尽在电子星球 APP(https://www.eestar.com/)
猜你喜欢
- 2025-05-23 STM32学习笔记-CubeMX使用
- 2025-05-23 嵌入式开发丨51、STM32、Linux点灯的区别
- 2025-05-23 【基础】STM32F103C8T6制作舵机测试仪详细图文教程
- 2025-05-23 利用Proteus仿真STM32实现DHT11温湿度检测
- 2025-05-23 《GD32开发实战指南》第13章 DAC
- 2025-05-23 51-FORTH(1): 8051计算机诞生记
- 2025-05-23 _attribute__((weak))关键字如何使用?
- 2025-05-23 终极调试利器,各种Link通吃
- 2025-05-23 循环队列原理及在单片机串口通讯中的应用(二)
- 2025-05-23 超详细的FreeRTOS移植全教程——基于stm32
- 05-25菜籽饼窝料自制秘方!三步搞定野钓爆护神器,鲫鲤草鱼通杀
- 05-25将DeepSeek接入WPS,只要三步
- 05-25一文搞懂 VBA 循环结构,附超实用应用方案!
- 05-25Deepseek嵌入Excel,帮你自动做表格,感觉我要失业了
- 05-25怎么样获取剪贴板中格式的类型,VBA编程教你这样操作
- 05-25tdlex是什么文件
- 05-252分钟教你学会Word接入deepseek
- 05-25Word接入DeepSeek方法:第二版解决宏消失保存失败。
- 最近发表
- 标签列表
-
- cmd/c (64)
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- sqlset (64)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- linux删除一个文件夹 (65)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)