个人成就
- 发布了43篇内容
- 获得了2次赞同
- 获得了5次收藏
个人简介
擅长领域
暂时没有设置哦~
-
讲透有史以来广受欢迎的运算放大器μA741(4)---输入阻抗及输入级差动放大
大家好,我是张飞实战电子张角老师!
我们来看下T1、T2这两个管子的作用,这两个管子主要是用来提高输入阻抗增益的。由于Q2本身的Ic电流很小(假定是20uA),我们假定VB和VC是相等的,那么T1和T2的Ic也是相同的,这个每个管子的Ic只有10uA。假定这个这两个管子每个管子的放大倍数是200,那么T1和T2这两个管子每个管子分配的Ib电流只有 10uA/200 = 0.05uA = 50nA。
那么对于输入信号而言,只有有500nA的通流能力,那么信号的输入就不会失真。当然这里只是估算,但是它从本质上说明了这个运放对输入信号的内阻基本上是没有要求的,不是说内阻一定要多小,需要多高的驱动能力,这样也就提高了这个运放的通用性。当然现在新型的晶体管运放,使用的是两级三极管去提高运放的输入阻抗,这样信号就更不容易失真。
再一个这个运放使用的是N管来提高输入阻抗的,那么这里就有一个问题,也就是如果N管是站在地上的。那么信号也就必须要具备驱动N管的能力,至少信号在A点处产生的电压值呀大于0.7V才行。这样其实也就是提高了对信号的要求,大家想一想,对于一个本来就很微弱的信号,再对它的电压幅值提要求,是不是有点不切实际。uA741为了解决这个问题,使用了一个什么方案呢?它是使用双电源供电来解决这个问题的,它给运放提供了正负两路电源,也就是说T1、T2这两个三极管它的E极电位其实并不是0V,而是负压,这样是不是就解决了输入信号电平电位的问题。但是这个动作又带来了新的问题,那就是必须得有负压电源,那么也就从另外一个方面增加了电路的成本。
目前较新的运放,对内阻的提高上,主要是使用双P管的方案。这样一方面提高了输入阻抗,另外一方面对放大信号的电压幅值没有什么要求,相当于对uA741这款运放的输入级进行了改进。
T5、T6这两个管子起到什么作用呢?我们再来回顾一下这个运放的工作过程,当IN-大于IN+的时候,T2的Ic电流是不是大于T1的Ic电流,那么自然T5的Ic电流大于T6的Ic电流。我们是T5、T6这两个管子,他们的基极电位是相同的,由于它们的Ic电流不同,所以它们的E极电位是不同的。由于T5的Ic大于T6的Ic,所以T5的Ve大于T6的Ve,所以Ibt5<Ibt6。大家注意一下T5和T6两个管子的电流状态,Ict6 < Ict5, 然而Ibt6>ibt5,那说明T5这个管子在往放大的状态移动,而T6这个管子在往饱和的方向移动。当IN-和IN+两个管子的压差达到一定程度的时候,T6这个管子也就达到深度饱和状态。所以说T5、T6这两个管子的存在提高了差分的增益,使得T5这个管子的Vc输出的电压更高。如果没有这两个管子,只有两个电阻,那么输入端的增益就要相对小不少,我们再从另外一个角度说明一下,T5本身的Rce也是一个可变电阻,它集电极到源之间的电流也就是Ic电流越大,那么也就是从源到T5集电极的内阻越小;反过来说,也就是T5的Rce变得越来越大,这样T5的Vc电压也就越来越大。从这个角度上也可以看出来T5、T6这两个管子的存在提高了输入级的放大增益。
T7这个管子的存在主要是增加对称性,减小运算放大器本身不对称带来的误差。这个我们下节课再分析。
-
讲透有史以来广受欢迎的运算放大器μA741(5)---增强镜像电流源
大家好,我是张飞实战电子张角老师!
这篇文章,我们从T7这个管子说起。T7这个管子的存在主要是增加对称性,减小运算放大器本身不对称带来的误差。这句话怎么说呢?如果没有T7这个管子,那么T5、T6这两个管子的基极偏置电流,是不是都来自于Q3的Ic。还是沿着上篇文章的例子来分析,如果IN-电压不断抬升,IN-和IN+之间的压差不断增大。那么流过T5的Ie不断增加,那么T5 E极的电压不断抬升;相对应的,流过T6的Ic不断减少,T6 E极的电压不断降低。那么流向T6的Ib电流在不断加大,流向T5的Ib电流在不断减小。因为T7这个管子的存在,T5、T6这两个管子的Ib电流主要来自电源,而对T6的Ic造成的影响是最小的,这个时候T6这个管子Ic和Ib之间的关系才逐渐往饱和方向移动。如果没有这个T7呢,那么T5、T6的Ib电流是不是全部来自Q3的Ic了呀。对于T6这个管子而言,它是不是处于临界放大状态。临界放大状态也是放大状态。那么T6 Rce的阻抗也就降低不到更低的水平,那么反过来说,T5、T6的B极电压也就无法降低到更低的水平,这样会使得T5的Ib减少不到更低的水平,那么对于T5的Ib和Ic而言,放大程度就不会更深。而我们希望的是不是让T5处于深度放大状态,这样才能尽可能提高F点的输出电压。那么很显然把T7去掉的做法,对这种工作状态是不利的。
我们再看另外一个状态,如果IN+大于IN-,那么是不是T6的Ic大于T5的Ic,那么这个时候T5是往饱和状态移动,而T6是往放大状态移动,对吧。我们要想T5的输入增益更大,也就是说T5这个管子C极电压的变化范围更宽,是不是T5的饱和深度越深越好呀。T5要想饱和深度更深,是不是只能T5的基极电压相对来说可以更高一些,或者说在T6的C极电压上升的过程中,T5的基极依然可以获得更多的电流。那么如果没有T7这个管子,T5、T6的基极电流则主要靠Q3的Ie电流分得,如果T5所需的基极电流越大,那么也就会对T6这个管子本身的工作状态造成一定的影响。大家看一下T6这个时候本身就是临界放大状态的接法,二极管当成三极管来使用,那么T6这个管子的Vbe之间的压差也就被锁定了,是零。那么随着T6的Ic电流加大,T6这个管子C极的电压也相对难上去,因为B极和C极电压被T5这个管子B极到地的电压钳位住了。如果通过T7这个管子把T5、T6的基极和T6的C极隔离开,那么T6的C极电压也就会高一些。
那么由于T7的存在,T5和T6的C极电压变化就会更对称一些,比如当IN+电压大于IN-的时候,T6的C极电压可以升高得更高对应着T5的C极电压可以降得更低;当IN-大于IN+的时候,T5的C极电压会升得更高,对应着T6的C极电压可以降得更低。如果没有T7,就没有这样的对称性,如上面两种情况分析,这个时候T6工作在临界饱和状态。但是T7这个器件是不是一定是必须的呢?实际上较新的运算放大器,比如LM324,T7都是不存在的。那么也就是说,其实这样严格的对称性,从实践上来说,应该是不是必须的。
我们下面看一下T5、T6这两个三极管的射极电阻。那么第一个问题就是,为什么这里需要下面需要加两个电阻呢?我们说当IN+=IN-的时候,T5这个管子的C极输出应该是刚刚好使得输出为零。T5的C极输出信号是驱动后级的达林顿管的,也就是中间的放大级。那么我们可以调整这两个电阻使得输出值达到要求,这里本质上也就是实现阻抗匹配,R4+T5的Rce与T2、Q4的Rce之和进行合适的分压,R3+T6的Rce与T1、Q3的Rce之和进行合适的分压。我们今天的分享就先到这里。
-
讲透压敏电阻的工作原理、选型以及相关计算
大家好,我是张飞实战电子张角老师!
我们今天分享一下压敏电阻的选型以及相关计算的知识。
首先我们需要回答一个问题,为什么需要压敏电阻。压敏电阻,顾名思义,对电压很敏感的电阻;中文这个“敏感”对应到电路中,应该就是一个非线性的变化:当电压达到一定的数值的时候,器件的阻抗呈现出剧烈的变化,这个剧烈的变化应该是量级上的。我们之所以会需要这种特性的电阻,肯定是电气设备中会遇到这样的源,需要这样的响应;反过来说,如果没有这样的响应,电路中的其他相邻或者相关器件就会出问题。
大自然的起电方式,其实主要有两种,一个是感应起电,一种是摩擦起电。我们常用的水电、风电、火电等等,本质上属于感应起电,发电的过程本质上属于机械能通过电磁感应现象转化成电能的过程。这些电能经过升压之后,进行远距离传输,然后再经过降压,最后变成我们日常使用的220V的交流电。摩擦起电,我们比较熟悉的就是静电现象,以及雷电现象。静电,大家很多人肯定都有切实的感受,尤其是在冬天的时候。雷电,其实蕴含着非常巨大的能量,可是因为它的位置飘忽不定以及瞬间非常高的电能释放,人类到目前为止也没有办法驯服雷电,让它为人类所用。目前能做的,还是想办法避免它造成的灾害。
感应起电
静电
雷电
其实压敏电阻这个器件之所以被发明出来,就是为了在雷击的发生的时候,防护器件的。雷电的存在是不以人的意志为转移的,对于这个电源,我们利用不了它,但是总不能被其所害。由于雷电产生的高压高能量具有瞬间性,那么必然要求防护器件也具有这样的响应特性。压敏电阻也就应运而生了。
压敏电阻外观上,大体就是这个样子。它的内部结构是什么样子的呢?实际上压敏电阻是使用陶瓷工艺制作而成,它内部的微观结构中包含氧化锌的晶粒以及晶界。晶粒因为内部晶体分子排列非常整齐,所以电阻率很低;晶界则不然,它的电阻率却很高。相互接触的两个晶粒之间相当于形成了一个齐纳二极管的势垒,这个其实就是一个压敏单元。每个压敏单元的击穿电压差不多是在3.5V。压敏电阻的基体就是很多这样的单元进行串联和并联而成。串联的单元越多,它的击穿电压也就越高;并联的单元越多,它的通流量也就越大。压敏电压在工作的时候,它的每个单元都在承受浪涌电能量,而不像齐纳二极管那样,只有结区才承受电功率,这也就是压敏电阻能够承受大得多的浪涌能量的原因。
我们先来看一下压敏电阻的位置,一般在开关电源中,压敏电阻处在接线端子的后面,和LN之间的负载是并联的。
我们看一下雷击能量过来的时候,压敏电阻是如何实现对相关器件保护的。正常工作的时候,压敏电阻两端之间的阻抗是非常大的,可以近似地看成是开路的(实际上存在着非常微小的漏电流,一般10-20uA)。一旦雷击能量来了,会有瞬间高压加载压敏电阻上,这个时候压敏电阻就会被击穿,呈现出非常低的阻抗。这个内阻在雷电这个能量源的内阻Re面前,相对来说非常小,那么根据电阻分压的原理压敏电阻上的电压就会非常小。压敏电阻和后级负载是并联关系,因为压敏电阻相对负载电阻来说也非常小,所以大量能量都是从压敏电阻流过,被压敏电阻吸收了。通过这样的方式,就实现了对负载的保护。
讲完了压敏电阻的基本原理,我们来看一下压敏电阻该如何选型,既然要提到选型,肯定离不开压敏电阻的各种参数,只有深刻理解了这些参数,我们才能对压敏电阻的选型更加自如。我们先来看一下,常用的471KD10和471KD20这两款压敏电阻。
我们首先需要回答的是,这个命名是什么意思,一般情况下命名标记上往往会一个器件最关键的信息。这个名字可以分为两个部分,第一个部分是471K:471,表示压敏电压是47*10^1 = 470V; K表示精度误差在+/-10%左右。第二部分,D10(或者20),表示压敏电阻的直径是10mm还是20mm,从数据上来看,肯定直径越大,压敏电阻的个头越大。
下面,我们就从名字入手来解释压敏电阻的一些指标。第一个关键词就是压敏电压,那什么是压敏电压呢?压敏电压是指在压敏电阻上加上一个直流电压,如果流过压敏电阻的电流达到1mA,这个时候的直流电压就被称之为压敏电压,所以有时候压敏电压也用U1mA或者V1mA来表示。比如对于471KD10,这款压敏电阻,它的压敏电压就是470V。因为器件的一致性问题,或者说误差的存在,K级别的压敏电阻的压敏电压在423V(470V*0.9)到517V(470V*1.1)之间。
我们下面来看一下最大允许工作电压,这个指标的意思其实是压敏电阻能够长时间承受的最大电压,这个电压分为交流电压和直流电压。一般最大允许的交流电压是压敏电压的0.64倍,最大允许的直流电压是压敏电压U1mA的0.82倍。
最大钳位电压也就是我们说的残压或者说最大限制电压,是指给压敏电阻施加规定的8/20us波冲击电流时它两端的电压。这个8/20us冲击电流是什么意思呢?也就是8us中达到峰值电流的90%,20us后电流降低到峰值电流的50%,这个冲击电流是模仿雷电的冲击电流来设计的。从这个电流的波形上就可以看出,压敏电阻其实并不需要太快的响应速度,这个器件更重要的使命是能够能量吸收掉,当然这个都是相对于TVS二极管而言的。我们选择压敏电阻的时候,它的残压一定要小于被保护电器的耐压水平,否则就达不到保护的目的。
我们这里要注意呀,有些产品的datasheet中,在这一栏里面有一个和钳位电压相对应的电流值。其实这个电流值的意义不大,我们只需要关注最大钳位电压这个值。
最大通流量,是指最大脉冲电流的峰值是指环境温度为25°情况下,对于规定的冲击电流波形和规定的冲击电路次数而言,压敏电压变化不超过+/-10%的最大脉冲电流。大家可以看一下,471KD10的最大通流量可以达到2500A,这个电流是超级大的。用这么大的电流去冲击压敏电阻的话,会对压敏电阻这个器件本身造成伤害的。基本上打个10来次,压敏电阻就损坏掉了。我们选择压敏电阻的时候,器件本身所能够承受的最大通流量一定要大于实际工作中所承受的通流量。
我们这里需要注意了,在datasheet里面,最大限制电压这个值是在一定的电流值下测出来的,比如我们这个471KD10就是在25A的时候,最大限制电压为775V。实际进行EMC测试的时候,冲击电流肯定是大于这个的,比如我们进行4000V雷击测试的时候,考虑走线上的电阻、压敏本身的电阻、NTC的电阻,差不多有5R左右,那么冲击电流就有800A左右。那么此时的限制电压或者说钳位电压是多少呢?实际上压敏电阻通流越大,肯定限制电压也就越高,但是这个升高的幅值没有那么大,也就是说电流越大,压敏电阻的阻抗越低。U = I*R,有增长,但是增长的速度是放缓的。25A的时候,最大限制电压是775V,压敏电阻的等效内阻差不多是31R;我们假定800A的时候,它的限制电压是1500V,此时压敏电阻的等效内阻是1.875R,为什么这个地方是假定呢,因为实际测试的时候,很少会去测这个值。大家可以看到一半压敏电阻的后面,还有X电容、Y电容等吸收措施,这个电压其实是上不去的。实际测试的时候,比如我们做8000V的雷击实验,实测X电容上端的电压大约在500V左右,大概就是这个样子。
讲完了这个,后面还有一个最大能量值,其实这个最大能量值也是和压敏电阻的直径强相关的。我们说雷击的电压虽然高,但是毕竟时间短暂是吧,所以能量总值不是很大是吧。我们这里可以来算一下,比如4000V的雷击,回路的总阻抗还是以5R来算,那电流值差不多是800A,我们说雷击的持续时间一般是20us是吧。那么我们来算一下,这么短的时间内,雷击总共释放了多少能量呢?
E = U * I * t = 4000V * 800A * 20S ÷ 1000000 = 64J
我们这里采用了估算的方式是吧,实际上电流不是一直都是800A的,具体波形上面我们也画出来的,那这样算的话,实际雷电释放的能量差不多只有30J左右。这里面有不少能量被电线、保险丝、NTC电阻吸收掉了,实际上压敏电阻吸收的能量还要少一些。
我们来看一下,最后一个指标,压敏电阻的额定功率。471KD10的额定功率是不是只有0.4W呀,也就是说压敏电阻不能持续通过很小的电流是吧。这个从它的封装大小也能看出来,实际上压敏电阻不工作(没有雷击)的时候,它的漏电流是很小的,一般小于20uA,所以正常工作的时候,这个封装功率都是可以满足要求的。但是供电电压是不稳定的,那么流过压敏电阻的电流值也会变大,但是长期工作下,471KD10所能承受的最大功率也就是0.4W。
讲完了压敏电阻的各个参数,我们具体选型的时候,最主要的两个指标。一个就是压敏电压,一个就是通流量。我们国内市电的电压是220V,但是这个电压是有波动的,尤其是在供电质量相对较差的农村。我们假定正常情况下,电压有20%的波动,那么市电的有效值也就变成了264V。我们根据有效值和峰值的关系,可以推算出来市电的峰值电压在373V。这个373V也是一个大体的估计值,实际上峰值电压可能比这个还高。我们选择的471KD10这个压敏电阻,我们计算下来它的开启电压是在423V到517V之间,是吧。但是我们说这个+/- 10%其实是正态分布的,也就是说存在极个别的压敏电阻开启开启电压小于423V的。综合考虑电网的不稳定性和压敏电阻精度的问题,选择开启电压大于470V是相对合适的。最大通流量这个指标,根据刚才我们的算法,大体评估一下就可以了,这里很难有精确的计算。实际进行EMC测试的时候,如果不能通过,就换大一号的。如果空间不够,我们还可以选择加强型的。
如果我们想降低残留电压,可以使用压敏电阻和气体放电管串联的办法,如下图所示。
上图的方案采用的是391压敏电阻+600V的气体放电管,因为气体放电管导通之后残余电压非常低,压敏电阻这里选择391的,动作之后它的残余电压相比471也要低不少。391的钳位电压是650V左右,471的钳位电压是775V。R1、R2的作用是为了减少气体放电管上的电压,因为陶瓷放电管电容只有几个pF,但是压敏电阻有几百个pF,根据电容分压,陶瓷放电管上的电压基本就等于电源电压。
讲完压敏的好处,我们来看一看压敏电阻的缺点。我们前面提到过,压敏电阻主要是用来防止雷击的,雷击的能量其实是us级别的,实际上压敏电阻的反映时间差不多是ns级别。另外它的个头也相对较大,那么要实现对芯片器件更为精细的保护,这个时候压敏电阻就有点吃力了。这个时候,一般使用TVS二极管,它的反应时间更为迅速,响应时间为ps级别的,而且它的体积也相对比较小,比如0603或者0402封装。当然TVS二极管不能流过较大能量,所以它一般处于防护的最后级。
我们关于压敏电阻的分享,就先到这里。
-
RISC-V鸿蒙系统开发板SPI通信模块调试2(项目连载5)
上篇文章中,我们提到了使用读取SPI Flash ID这个程序段,来测试SPI的通信是不是成功。
目前程序运行的结果,是无法正确读取Flash 芯片的ID的。那问题出现在哪里呢?如何去分析这个问题,或者说去尝试解决这个问题呢?
在进行波形分析之前,我们首先要做的就是查看一下芯片有没有虚焊,还有选用的SPI Flash芯片是不是我们需要的。
经过仔细比对,确认我们购买的W25Q128芯片,就是睿思芯科公司提供的例程所使用的芯片。那么在芯片的选型上应该没有问题。
那芯片有没有虚焊呢?这里总共涉及到3块芯片,一个是我们的单片机,一个1.8V转3.3V的电平转换芯片,另外一个就是SPI Flash芯片。因为单片机引脚之间距离只有0.2mm,芯片重新焊接的难度太大。所以,我这边就重新把电平转换芯片和SPI Flash芯片吹下来,重新焊接了一次。确保电路的焊接是没有问题的。
芯片焊接的重新焊接的过程中,发生了一件非常可怕的事情,电平转化芯片TXB0104的焊盘被整体损坏掉了。如果不是有同事帮忙调试焊接,这块板子有可能就废掉了。
如果是个别焊盘损坏掉,还可以飞线进行操作,现在整排焊盘都掉了,该怎么办呢?
实际调试的过程中,对焊盘的修复,我们使用的办法是把损坏掉的焊盘附近的铜线上过油刮掉,使用裸露的铜线作为新“焊盘”进行焊接。然后,再使用非常细小的铜丝把芯片的引脚和板子上的铜线连接起来。如下所示,这个操作过程比较麻烦,需要有娴熟的焊接功底才行。
但是现在有一个重要的事情需要总结,为什么焊接的过程中,自己会把这个电平转换芯片的焊盘一整排全部搞掉?自己确实没有在给焊盘加锡的过程中,使用烙铁头去剐蹭焊接。最后的总结是,在给焊盘加锡的过程中,烙铁头的温度过高,同时由于烙铁头使用的时间太长了之后,氧化严重。上面两个因素导致了烙铁头上的锡非常粘稠,同时温度非常高。那么在加锡的过程中,很容易就会把焊盘带掉。而且因为是加锡的过程,会同时对很多焊盘进行操作,所以一掉就是一整排!!!
这块开发板,在实际焊接芯片引脚的过程中,我们设定的烙铁温度,高达450度,如下图所示。
我们为什么会使用到这么高温度的呢?主要是我们这个板子是四层板,TOP层和BOTTOM层之间的两层,进行了大量的敷铜。导致散热非常快。把烙铁头的温度调高,可以增加焊锡的流动性。如果按照平时300-350度左右的温度来焊板子,我们所熟悉的拖锡动作是没有办法实现的,锡一下子就凉掉了。
但是如果有芯片压在焊盘上,使用这么高的温度进行拖锡,并不会造成焊盘的脱落!
在这块,我们调试的经验就是,给电路板的焊盘进行加锡的过程中,一定不能把温度调节得太高,否则会造成一排焊盘脱落的人间悲剧!这种情况下,大概率,这块板子就废掉了。
上面也提到了,电平转换芯片TXB0104和SPI Flash重新焊接之后,SPI通信依然没有成功。那说明大概率并不是芯片虚焊的问题。那个单片机的引脚,我们目前只能假设它的焊接是完全成功的(太难焊了,拆下重焊成本太高)。那么接下来,只能是先对波形详细分析了。
首先,我们需要做的就是去查看CLK这个引脚的波形,看看CLK的波形输出是不是合理的。SPI,需要在一定的频率范围内才能正常工作。如果频率太高的话,MOSI和MISO这两个接口的波形,可能还没有达到芯片规定的“高”或者“低”,时钟沿就进行了下一次的跳变,这种情况下,很显然单片机和SPI Flash之间是无法进行通信的。
先给大家看一下,我这边第一次抓到的CLK引脚的波形。
大家看到这个波形的时候,是不是觉得有点奇怪。在这个波形中,猛一看CLK的频率信号只有60Hz左右。而实际上,我们的CLK的频率至少要是几Mhz呀。那这个频率是怎么回事呢?
后来分析得到结论,上面图中的高脉冲应该是程序的延时之间的间隔,也就是两个测试程序之间的时间间隔,或者是两次发送数据之间的间隔。真正的CLK波形,需要使用单片机的触发功能,去捕获相应的波形。所谓的触发功能,就是可以设定一个比较值,如果输出信号的波形大于了这个值,示波器就会显示出来这个信号的波形。这里有一个信号比较的过程存在。
通过示波器,捕获出来真正的CLK信号之后,它的波形是如下形状的。
大家看一下,这个波形的频率高达12Mhz。这个12Mhz是怎么来的呢,我们前面提到了这个单片机的时钟晶振是24Mhz,那么这个SPI的通信速率12Mhz应该是时钟信号24Mhz二分频之后得到的。现在,我们就有一个怀疑,SPI通信的失败是不是由于这么高频的通信速率导致的呢?
还有一个问题,大家有没有发现这个CLK的波形,它的最小值并没有到参考地。同时它的最大幅值,我们使用示波器测量之后,只有2.2V。可是SPI这边的工作电压是3.3V呀,而且我们的电平转换芯片输出的电压也是3.3V。那是不是这个CLK信号,本身就是有问题呀?或者说在这个电压幅值区间,Flash芯片能不能识别CLK信号呢?
我们这片文章,就先分析到这里。下一篇,我们继续SPI通信的调试。
-
ESP8266物联网开发板设计4 ---继电器和温湿度检测模块的设计
大家好,我们今天继续物联网开发板硬件电路设计相关的探讨。
电源和单片机最小外围电路都设计完成了以后,按照我们的规划,剩下还有两个模块需要去考虑,一个是继电器控制电路,一个是温湿度检测模块。
继电器是一个开关型器件,而且是一个隔离型的开关器件。开关器件相对来说比较好理解,我们可以通过控制触点的开通和管断,来实现开关的效果。就比如继电器开通的时候,相应的模块就可以工作了,因为通上电了么;继电器关断的时候,那么模块就不工作了。因为我们的开发板是联网的,我们是不是就可以实现远程对设备进行操作呀。
为什么说继电器是隔离型的开关器件呢?一个最直观的感受,就是原副边可以不站在一个地上是吧,也就是说原副边可以没有任何电气上的连接。继电器工作原理,大家估计都比较熟悉了。原边线圈通上电之后,就变成了电磁铁。既然是电磁铁,那么就会有吸引力,有了吸引力,弹片就会被吸附。按照下面的示意图来看,受控电气就会开始工作。
大家看一下,原边和副边之间是不是完全没有电气上的连接。两边发生关系的渠道其实就是电磁力。这个东西有点像光耦,光耦的原副边发生关系是原边的光信号,是吧。继电器和光偶一个比较大的区别是继电器的副边可以通大电流,因为整体的阻抗小,所以一般用于大功率器件。但是光耦就不同了,它本质上还是流控型的半导体器件,所以通不了大功率,一般是当做开关信号来使用。
明白了继电器的工作原理,我们来选择一个常用的继电器,看看该如何设计它的驱动电路。我们看一款松乐的继电器的线圈规格,它的线圈功耗有两种,一个是0.6W,一个是0.8W。
相比之下,0.8W的吸附力相对强一些,继电器的工作也会更稳定。为什么这么说呢?大家看一下,如果继电器线圈使用得是+5V电压驱动,0.6W的时候,流过线圈的电流是120mA,但是0.8W的时候,这个电路有160mA。流过线圈的电流大,电磁铁的吸附力也就更强;电磁铁的吸附力更强,接触电阻也就更小,副边通大电流的时候就更加稳定。
我们这里以0.6W,12V线圈来举例,这个时候,流过线圈的电流是不是有50mA。那么继电器的驱动电路该如何设计呢?首先这个肯定是一个开关,所谓的开关就是导通的时候阻抗无穷小,断开的时候阻抗无穷大。再一个这个开关应该是一个受控开关,而且受控信号应该是从单片机发出来的。单片机发出来的信号肯定是非常微弱的。那么结合上述两点,这个开关应该是一个电子开关。我们熟悉的电子开关,主要有两个,一个是三极管,一个是MOS管。三极管和MOS管的一个主要区别是MOS管导通的Rdson更低,可以通过更大的电流。但是整体上相对来说,价格更高一些。我们这里使用三极管就够了,一般三极管Ice可以轻松达到100mA。三级饱和导通的时候,Vce是0.3V,这样三极管的功耗才有0.03W,SOT23封装的三极管可以轻松搞定。
思路理顺了之后,我们来看一下驱动电路是如何进行设计的。
T1这个三极管就是我们刚才提到的开关管,M点连接到单片机的引脚,当M点的电位为高的时候,三极管T1就开通了,饱和导通的时候T1的Rce很小,那么从+12V这条回路的内阻完全有继电器来决定,从规格书上可以看出来,这个内阻在240R,那么流过继电器的电流是12V/240R = 50mA,也就达到了我们的设计目的。D4这个管子起到什么作用呢?它主要是续流的时候,起作用。继电器在关断的时候,内部的线圈必须有续流回路。如果没有续流回路,就会产生严重的dv/dt,也就是线圈两端会产生尖峰电压,可能就会把三极管的CE端击穿。整体上也就是说,电感的能量是以电流来维持的,电流是必须要有回路才能存在。不管怎么说,能量都是不可以突变的。我们就得想办法给继电器的电感提供一个续流回路。最上面的两个电容,大电容主要是稳压的作用,相等于能量资源池,进一步降低了电源端的阻抗;小电容,主要是滤波作用。这个是电容的基本工作原理。
分析完了继电器的驱动电路,我们来看一下温湿度检测的电路设计,温湿度检测这块,我们使用的是SHT20这块芯片,这个芯片大概的样子如下图所示。
这个芯片内部有一个I2C的通信模块,单片机和这个芯片之间可以通过I2C协议进行通信。关于I2C通信的协议,大家可以自己去搜索一下,它就是一个同步通信协议,和SPI类似。只不过它的寻址是靠地址码来实现的,SPI通信模块,则是通过片选线来实现的。具体指令类型,可以参见它的datasheet说明。
如果我们自己用GPIO口来模拟I2C通信时序,一定要严格按照它的通信要求来,这里一个是命令格式,一个是通信速率相关的设定,比如通信的频率最高是400Khz,SCL和SDA的高是多长时间等等,这些都要符合规定,这样才能通信成功。
我们以湿度测量来举例,看看它的通信过程是一个什么样子的。SCL时钟信号时钟由主机控制,SDA绿实线为主机发送数据,SDA绿虚线为从机发送数据。具体的操作说明,可以从截图中就看出来,我这里就不再进一步解释了。
第一步,发送湿度测量指令。
第二步,读取测量到的温湿度数据。
因为这个模块完全是数字接口,内部的温度检测部分的模拟电路,我们也不用管,所以实现起来相对比较简单。我们又不需要进行芯片设计,只是去使用它,所以考虑问题也不需要那么复杂。但是I2C协议的实现是建立在开关器件是开漏输出的前提下的,所以SCL和SDA这两条线都需要上拉电阻。
关于物联网开发板原理图的设计,我们就先到这里。