微控制器专业解析,如何用微控制器测量电容
2020-06-21
来源:21ic
微控制器已不是新兴事物,对于微控制器,大家或许都有所了解。在往期文章中,小编对微控制器做过一定介绍。为进一步增进大家对微控制器的了解,本文将对微控制器测量电容器电容的方法加以讲解。
一、微控制器简介
微控制器是将微型计算机的主要部分集成在一个芯片上的单芯片微型计算机。微控制器诞生于20世纪70年代中期,经过20多年的发展,其成本越来越低,而性能越来越强大,这使其应用已经无处不在,遍及各个领域。例如电机控制、条码阅读器/扫描器、消费类电子、游戏设备、电话、HVAC、楼宇安全与门禁控制、工业控制与自动化和白色家电(洗衣机、微波炉)等。
微控制器(Microcontroller Unit,即MCU)可从不同方面进行分类:根据数据总线宽度可分为8位、16位和32位机;根据存储器结构可分为Harvard结构和Von Neumann结构;根据内嵌程序存储器的类别可分为OTP、掩膜、EPROM/EEPROM和闪存Flash;根据指令结构又可分为CISC(Complex InstrucTIon Set Computer)和RISC(Reduced InstrucTIon Set Computer)微控制器。
二、微控制器测电容
微控制器广泛用于测量各种物理变量。测量中涉及的技术对于单个变量类型可能有所不同,并且主要基于要测量的变量的特性。下面介绍一些使用微控制器测量电容器电容的方法。该技术利用电容器本身的特性,因此具有通用性,可以在任何微控制器中轻松实现。
1.基于RC时间常数
我们知道电容器两端的电压不是瞬间建立的。电容器的充电和放电以指数方式发生,并且取决于电容器所连接的电阻。当电容器(C)通过串联电阻(R)从电源电压(Vin)充电时,电容器两端的瞬时电压由下式给出:
此处,? = RxC,称为时间常数。如果你把t =?在上式中,您得到
vo(t = RC)= 0.63 Vin。因此,在t = RC时,电容器两端的电压约为电源电压的63%。
现在,如果您能以某种方式测量电容器两端的电压达到电源电压的63%之前的时间,那么只要知道电阻R即可轻松找到电容值。时间间隔的测量可以通过使用微控制器的内置定时器模块来完成。您需要告诉微控制器何时启动和何时停止定时器。定时器应在开关S闭合后立即启动,并且必须在电容器电压达到0.63 Vin时停止。现代微控制器配备了一个或多个模拟比较器模块。您可以使用电位计将比较器的参考引脚设置为0.63 Vin,然后将电容器两端的电压馈入比较器的另一个输入。当电容器电压超过0.63 Vin时,比较器输出翻转,这可以中断微控制器以停止定时器。 Noppharat Tawanron在他的网站上已经用PIC单片机演示了该技术。
2.基于振荡电路
电容是确定频率的主要组成部分。许多振荡电路,例如使用555定时器IC的不稳定多谐振荡器。下面所示的555定时器电路的振荡频率由下式给出:假设R1 = R2 = 10K,则得出C = 48000/f,其中f以Hz为单位,C为在nF中。这样,可以通过测量555输出的频率间接估算电容。您可以在软件中创建一个10毫秒的窗口,并使用定时器模块(用作计数器)在该窗口中计算输出脉冲数。假设,如果在10 ms的窗口中到达N个脉冲,则C = 480/N,nF。如果得到N = 48,则测得的电容将为10 nF。
请记住,这两种方法都依赖于所用电阻值的准确性。