产品选型

单片机中电容 单片机实例分享,自制电感和电容测量仪

小编 2025-06-07 产品选型 23 0

单片机实例分享,自制电感和电容测量仪

电子爱好者进行制作时经常需要绕制电感,而一般的数字万用表通常又没有电感测量挡,所以无法测量绕好的电感的电感量。本文介绍一种用单片机制作的电感和电容测量仪(见图23.1),可以有效地解决这一问题。

测量原理

本测量仪采用谐振法测量电感和电容,其方法是用谐振回路的谐振特性来进行测量,其测量原理可用如图23.2所示的电路进行说明。

图23.1 电感和电容测量仪

测量电感Lx时,配用标准电容C1,用Lx和C1组成谐振回路,测量出回路的谐振频率f即可计算出Lx的电感量;测量电容Cx时,配用标准电感L1,用L1和Cx组成谐振回路,测量出回路的谐振频率f即可计算出Cx的电容量。

上述测量方法也有一个缺陷:当Lx或Cx很小时,谐振频率f会很大,测量比较困难,为此我们可以采用如图23.2所示的改进型电路,分别用L1和C1作“垫底”,降低了测量时的谐振频率。

假设由 L1和C1 组成的谐振回路谐振频率为f1,测量Lx时,Lx和L1串联,测得(L1+Lx)和C1组成的谐振回路谐振频率为f2,则根据下式可计算出Lx的电感量:

Lx=[(f1/f2)2-1]L1

测量Cx时,Cx和C1并联,测得L1和(C1+Cx)组成的谐振回路谐振频率为f2,则可根据下式可计算出Cx的电容量:

Cx=[(f1/f2)2-1]C1

硬件电路

测量仪电路如图23.2所示。电路由LC振荡电路、单片机电路、显示电路等部分组成。

CD4069是6非门CMOS集成电路,其中非门F1、F2和C2、R1、R2等组成两级放大电路。第一级放大电路中,R2是负反馈偏置电阻,将F1输出端的直流电位钳制在VCC/2,使F1工作在线性放大区域。第二级放大电路没有加反馈电阻,直接用第一级放大电路输出的直流电压作偏置电压,以提高放大器的增益。放大电路通过正反馈回路R3、C3与L1、C1谐振电路一起组成正弦波振荡电路,非门F3用于信号整形,把F2输出的正弦波转换成矩形波输入到单片机ATmega8的T1脚,由单片机进行脉冲计数,从而测出LC回路的谐振频率。通过单片机对数据进行计算处理后,由LCD1602液晶屏显示测量结果。

图23.2 测量仪电路原理图

S1为测量转换开关,当S1转向L时测量电感,转向C时测量电容。S2是归0按钮。

LCD1602采用4线制传递数据,只使用了数据端口D4~D7。

当开关S1在电容挡但没有测量电容Cx,或在电感挡并且用短路线代替Lx时,电路的振荡频率约为503kHz,我们把这个频率称为基准频率。测试电容或电感时,被测试元件的电容量或电感量越大,对应的振荡频率越低。当被测电容的电容量为10μF(或电感的电感量为1H)时,对应的振荡频率约为5.03kHz。

电阻R5的阻值控制LCD1602液晶屏的对比度,R5阻值越小,液晶屏对比度越大。LED和LED+是液晶屏背光发光二极管的供电端口。

程序设计

测量仪的电路比较简单,而功能的实现更重要地依赖于程序的设计。程序的设计和优化需要花费更多的精力。

程序由频率测量、测试数据的计算处理、LCD1602液晶屏驱动显示三大部分组成。频率测量部分用定时器T/C1作脉冲计数,定时器T/C2产生测量脉冲频率的闸门时间。这里闸门时间选择0.5s,定时器T/C1累计的脉冲数乘以2即得脉冲频率。闸门时间选择0.5s是为了提高LCD1602显示数据刷新速度,如果闸门时间选1s,则刷新速度偏慢。

测试数据的计算处理部分主要利用前面给的两个公式计算出测量结果,并经过数据预处理后,输出到显示电路显示读数。

LCD1602的数据传输采用4线制,8位数据分两次传送,先传高4位,后传低4位,因为传递的数据量不大,所以你感觉不到4线制速度传输和8线制有什么区别。

安装调试

制作所需元器件的清单见表23.1。

C1、L1要选用精度比较高的元件,有条件的可用万能电桥进行筛选。L1如买不到成品电感也可自制,磁芯用Φ8×10的工字磁芯,用Φ0.42的漆包线绕55.5圈。

安装前先将程序的目标文件写入单片机ATmega8L,熔丝位的设置如图23.3所示。

图23.3 熔丝位的设置

电路板的装配图如图23.4所示。LCD1602的接口排座焊接在电路板上,排针焊接在LCD1602模块上如图23.5所示。

表23.1 元器件清单

图23.4 电路板装配图

安装完成后,用一根USB线将电源接口连到电脑USB插座上,接通测量仪的电源,将S1置于电容挡,测量端不接电容,这时LCD1602第二行显示的是基准频率f1,如图23.6所示。基准频率如果超出503kHz±5kHz的范围,说明L1、C1中有元件误差较大,需进行相应的调整。如果L1是自绕的,出现误差的可能性相对较大,可适当增减其圈数,直至满足要求。

接通电源后,以电容挡为例,虽然我们在测试端并没有接任何电容,但LCD1602第一行显示的电容量读数并不为零,如图23.6所示,我们称其为初始值,这是由基准频率略有漂移造成的。这时如果测量小容量的电容,误差就比较大,当初始值后有“-”号时,测量值是实际值减去了初始值,即读数比实际容量小了。反之,测量值是实际值加上了初始值,即读数比实际容量大了。

对于上述问题,我在程序中也作了考虑,只要在不接测试电容的情况下按一下S2就可以归0了,其实质就是基准频率作了修正,并把修正结果存入EEPROM,掉电后不会丢失。归0后的显示数据如图23.7所示。

电容挡归0后,电感挡就不需要归0了,因为电容挡归0就相当于在电感挡测试端接了一个短路线,等同于电感挡归0(在S1置于电感挡,S2归0时其测试端必须接短路线),分析一下电路就明白了。

图23.5 排针的焊接

如果使用中发现测量误差较大,可通过程序进行修正,具体做法如下:找一个精度高的1000pF电容进行测量,假设读数为950pF,则计算1000/950≈1.05,我们将其称为修正系数,将计算公式Cx=[(f1/f2)2-1]C1改为Cx=[(f1/f2)2-1]C1×1.05,用这个公式计算就能减小测量误差了。为了简化程序中的计算,我采取把程序中的语句“unsigned int C1=1000”改为“unsigned int C1=1050”的方法,效果是一样的。

再找一个精度高的100μH电感进行测量,假设读数为94,则计算100/94≈1.06,把程序中的语句“unsigned char L1=100”改为“unsigned char L1=106”,同样也能减小测量误差。

把重新编译好的目标文件烧写到ATmega8L,再进行测量,精度就提高了。

用本测试仪测量电容的实例如图23.8所示(测量对象分别为240pF云母电容和0.47μF安规电容),测量电感的实例如图23.9所示(测量对象分别为10μH电感和电子节能灯的电感线圈)。

当测量值超过量程时,读数显示“OVE”,测电感时电感测试端不接电感(相当于电感量为无穷大),读数也显示“OVE”。

图23.6 基准频率的测量结果

图23.7 按S2归0后的显示数据

使用这个电感和电容测量仪时有一个问题需要注意,即电感或电容的参数会受测试频率的影响。例如,具有磁芯的电感,由于受磁芯的频率特性影响,不同的测试频率,其结果可能有所不同,用这个测量仪测的数据和用信号源频率为1000Hz的万能电桥测的数据可能会不一致。笔者认为,用更接近实际工作频率的测试频率可以得到比较符合实际的测试结果。由于本测试仪工作频率比较高,不适合测量电解电容器。笔者测量一个10μF的电解电容器,对应测试频率为6.5kHz,读数为6.26μF,误差很大。

图23.8 电容的测量结果

图23.9 电感的测量结果

单片机晶振旁边电容的作用及振荡电路的分析

绝大多数的MCU爱好者对MCU晶体两边要接一个22pF附近的电容不理解,因为这个电容有些时候是可以不要的。参考很多书籍,讲解的很少,往往提到最多的是起稳定作用,负载电容之类的话,都不是很深入理论的分析。

问题是很多爱好者不去关心这两个电容,他们认为按参考设计做就行了,本人也是如此,直到有一次一个手机项目就因为这个电容出了问题,损失了几百万之后,才开始真正的考虑这个电容的作用。

其实MCU的振荡电路的真名叫“三点式电容振荡电路”,请参考网页中的图片。

Y1是晶体,相当于三点式里面的电感,C1和C2就是电容,5404和R1实现一个NPN的三极管,大家可以对照高频书里的三点式电容振荡电路。接下来分析一下这个电路。

5404必需要一个电阻,不然它处于饱和截止区,而不是放大区,R1相当于三极管的偏置作用,让5404处于放大区域,那么5404就是一个反相器,这个就实现了NPN三极管的作用,NPN三极管在共发射极接法时也是一个反相器。

接下来用通俗的方法讲解一下这个三点式振荡电路的工作原理,大家也可以直接看书。

大家知道一个正弦振荡电路要振荡的条件是,系统放大倍数大于1,这个容易实现,相位满足360°,接下来主要讲解这个相位问题:

5404因为是反相器,也就是说实现了180°移相,那么就需要C1,C2和Y1实现180°移相就可以,恰好,当C1,C2,Y1形成谐振时,能够实现180移相,这个大家可以解方程等,把Y1当作一个电感来做。也可以用电容电感的特性,比如电容电压落后电流90°,电感电压超前电流90°来分析,都是可以的。

当C1增大时,C2端的振幅增强,当C2降低时,振幅也增强。

有些时候C1,C2不焊也能起振,这个不是说没有C1,C2,而是因为芯片引脚的分布电容引起的,因为本来这个C1,C2就不需要很大,所以这一点很重要。接下来分析这两个电容对振荡稳定性的影响。

因为7404的电压反馈是靠C2的,假设C2过大,反馈电压过低,这个也是不稳定,假设C2过小,反馈电压过高,储存能量过少,容易受外界干扰,也会辐射影响外界。C1的作用对C2恰好相反。因为我们布板的时候,假设双面板,比较厚的,那么分布电容的影响不是很大,假设在高密度多层板时,就需要考虑分布电容,尤其是VCO之类的振荡电路,更应该考虑分布电容。

有些用于工控的项目,建议不要用晶体的方法振荡,二是直接接一个有源的晶振

很多时候大家会用到32.768K的时钟晶体来做时钟,而不是用单片机的晶体分频后来做时钟,这个原因很多人想不明白,其实这个跟晶体的稳定度有关,频率越高的晶体,Q值一般难以做高,频率稳定度不高,32.768K的晶体稳定度等各方面都不错,形成了一个工业标准,比较容易做高。

相关问答

单片机 最小系统时钟电路中的22pF或30pF的 电容 的作用是什么?-...

按键的抖动是mS级别的,100n电容没啥作用。本意是增加电容的高频性能,电解电容不适合高频。滤波vcc实际不可能是理想的5v而是一个5v+小幅度的波动,4...

RC复位电路在 单片机中 这个 电容 和电阻分别什么作用 再告诉我...

电容充电时间与RC的值成正比.有用(0)回复alexxu_xiazai错!其实就是个延时电路!用来提供可靠的复位时间有用(0)回复baidu_jiangrenli你说的是单片机的...

单片机 按键复位 电容 有什么作用? - i4Ql5kBzhbT 的回答 - 懂得

这个电容是上电时复位电容,刚上电时由于充电,电容上没有电荷,RST引脚输入高电平,随着充电进行,电容接近充满时电压接近VCC,此时RST引脚上是低电平。...

单片机 12MHZ晶振电路 电容 多大,电压多少伏?

晶振启震电容一般都是20pf,晶振两端电压一般2V左右,晶振启震后,两端电压有偏差的,如果没有启震电压基本一样。晶振启震电容一般都是20pf,晶振两端电压一般2V...

51 单片机中 RST通过 电容 接VCC(5V),又通过电阻接地,是什么意思?

RST是复位引脚,当此脚上的高电平2个机器周期,单片机复位。接VCC的电容为复位电容,一般取值为22uF。(这个取值与晶振有关,目的是保证电容充电时高电平时间2个...

电源开关里面的 电容 起的是什么作用?

稳压器前面并联两个电容是滤波作用,单片机电源脚上面再接电容主要是处理两种问题:1、滤除外界辐射的高频干扰;2、滤除单片机工作时自身产生的脉冲干扰;由于...

晶振两头接 单片机 电容 ,那么 电容 两端要不要接地?我看到一些电路是接地的,一些电路没有?

需要接地。而且接地电容的大小,是晶体负载电容的2倍。比如晶体负载电容是10P的,那么就需要在两条腿上,各对地接一20P电容。需要接地。而且接地电容的大小,...

单片机 c4什么意思?

答:单片机c4是指输出滤波电容的意思。滤波电容器是一种储能器件,它常安装在整流电路两端用以降低交流脉动波纹系数以提升高效平滑直流输出。答:单片机c4是指...

51 单片机 连着晶振的两个 电容 的容值应该怎样选择,如果容值选大了,会出现什么后果?

在震荡电路中,相连的电容因该是耦合电容,这个容值要是太大,就会造成容抗这增加,这样信号源通过会被大幅度消减或者压根就过不去,会影响到整个电路的运行。在...

单片机 通信串口是不是要用到晶振 电容 ?

如果想晶振正常起振的话,那两个电容是不能少的。不能烧写,你可以检查一下下载软件的设置是否正确,如果是自己焊的电路的话就在检查一下电路,也可以换一块单...

猜你喜欢