访问电脑版页面

导航:老古开发网手机版其他

模拟比较器的应用(三)

导读:
关键字:
\[编者按\] 全文篇幅较长,分4次连载在本刊第2期至第5期上。第2期:模拟比较器用于超限监测;第3期:模拟比较器用于直流信号的A/D转换;第4期:模拟比较器用于交流信号的A/D转换;第5期:模拟比较器用于参量信号的A/D转换。 模拟比较器的应用(三) 华东地质学院周航慈付萍 摘要介绍模拟比较器在超限监测、直流信号的A/D转换、交流信号的A/D转换和传感器参量信号的A/D转换中的使用方法,并结合内含模拟比较器的P87LPC76X系列单片机,介绍相应的硬件电路设计方法和软件设计思路。 关键词模拟比较器A/D转换交流信号 四、 模拟比较器用于交流信号的A/D转换 1. 电路原理 对于交流信号的大小,通常是用它的有效值来衡量。为了检测有效值,常用的方法是首先进行整流滤波,得到它的平均值,然后采用与检测直流信号一样的方法检测它的平均值,最后折算成有效值输出。由于经过整流滤波环节,当交流信号源出现短暂变化时,这种传统的检测方法就不能及时发现。当精度要求不是很高时,用比较器来检测交流信号,不但具有电路简单、廉价的优点,而且能够发现信号源的短暂变化,分辨率达到1个周期。交流信号的A/D转换原理电路如图9所示。 图9交流信号的A/D转换设交流信号的有效值为U,周期为T,初始相位为0。交流信号经过采样变压器进行隔离和降压(降压比为N比1),再由R1和R2分压,分压后形成的ui输入比较器的正向端,基准电压Vref输入比较器的反向端,稳压二极管VDZ起保护作用,使比较器的正向端不必承受反向电压和过高的正向电压。设比较器输出低电平为UL,高电平为UH,再设ui上升到Vref的时刻为t1,ui下降到Vref的时刻为t2,则比较器的输出电平为: Uout=UL UH UL0≤t≤t1 t1Vref,比较器输出电压Uout为高电平,其他时间比较器都是输出低电平。当信号电压增加时,由于Vref保持不变,t1到t2这段时间间隔就增加,即比较器输出端维持高电平的时间就增加;当信号电压减小时,比较器输出端维持高电平的时间就减少,而检测比较器输出高电平的维持时间间隔(t2-t1)是一件比较容易的事情。为此,设Δt=t2-t1,则: t1=\[(T/2)-Δt\]/2=(T/4)-(Δt/2) 从而U=K/sin{2π\[(T/4)-(Δt/2)\]/T} 化简后得到 U=K/sin\[(π/2)-(πΔt/T)\] 由于sin\[(π/2)-x\]=cosx 最后得到的计算公式为: U=K/cos(πΔt/T)\] 从公式中可以看出,当比较器输出端的高电平持续时间Δt缩短时,说明信号电压的有效值U在下降;当比较器输出端的高电平刚刚消失(Δt=0)时,U正好等于K。如果信号电压U继续下降,比较器输出端的高电平完全消失,无法进行检测。因此,系统常数K的物理意义为:系统能够正确检测到的最小信号电压的有效值。 从公式中还可以看出,仅仅检测比较器输出端的高电平持续时间Δt还不够,还必须知道交流信号的周期T才能计算出交流信号电压有效值U。如果交流信号的周期(或频率)是固定的常数,就可以直接代入公式中进行计算;如果交流信号的周期(或频率)是未知的,可以通过检测比较器输出端相邻2个上升沿(或相邻2个下降沿)之间的时间间隔来得到周期T。 2 A/D转换过程 由于用比较器进行交流信号的检测实际上是对时间间隔的检测,故必须采用定时器来完成: (1) 监视比较器的输出电平Uout,当Uout=UL时,进入第2步。 (2) 监视比较器的输出电平Uout,当Uout=UH(出现上升沿)时,开始计时,并进入第3步。 (3) 监视比较器的输出电平Uout,当Uout=UL(出现下降沿)时,读取定时器,得到高电平持续时间Δt,如果需要检测周期T(采用片内RC振荡器或信号周期未知),则进入第4步;否则,直接进入第5步。 (4) 监视比较器的输出电平Uout,当Uout=UH(出现上升沿)时,读取定时器,计算2次上升沿之间的时间间隔,得到周期T。 (5) 计算检测结果U。如果信号频率是固定的,且采用片外晶体振荡器,则只要检测1个实时数据Δt,然后简单地通过查表和插值运算的方法计算出信号电压有效值U。如果采用片内RC振荡器或信号周期未知,就需要检测2个实时数据Δt和T,然后用下述第8部分介绍的方法算出信号电压有效值U。 3. 误差分析 引起检测误差的主要原因有: (1) 系统时钟频率。如果使用外部晶体,其时钟精度自然满足要求。当采样单片机内部的RC振荡器时,其振荡频率误差较大,离散性也较大,高电平持续时间Δt的检测精度必然下降。从计算公式可以看出,高电平持续时间Δt的误差可以通过信号周期T的误差来进行补偿,因而,必须对信号周期T进行同步检测。 (2) 波形失真度。在分析电路原理时,假设被检测的交流信号是1个无失真的正弦波。这个假设在很多情况下都是不满足的,基于这个假设而推导出来的计算公式必然是不准确的。当信号的失真度不大,系统的精度要求也不是很高时,使用这个公式进行信号检测,完成一般的监控任务还是足够的。 (3) 采样变压器的降压比N。变压器的降压比N理论上等于变压器初级线圈的匝数和次级线圈的匝数之比,当变压器初级和次级的工作电流不为零时,就会出现误差。为了降低系统成本,不可能选用价格昂贵的专用电压互感器,只能选用几元钱1只的廉价微型变压器。为了获得满意的稳定性,采样变压器的次级不能接入其他负载,使之处于“空载”状态。如果系统对电压检测精度的要求较低(10%左右),检测的对象是交流市电,也可以不要独立的采样变压器,直接从系统电源变压器的某个次级线圈获取市电信号。 (4) 基准电压Vref。如果基准电压Vref是用2个电阻从UCC分压而得到的,则UCC的波动也会带来新的检测误差。为了减少UCC波动的影响,最好将耗电较大的部件(例如显示部件)分开供电。 (5) 定时器的时间分辨率。由于定时器的分辨率有限,当信号频率较高时,定时器的量化误差对检测结果的影响不可忽视。因此,交流信号的频率不可太高,以1000Hz以下为好。 (6) 时间间隔检测。在检测时间间隔Δt和T的过程中,软件指令的判断和执行过程会造成一些延误。当信号频率较低时,这些延误可以忽略不计;当信号频率较高时,就会给检测结果带来一些误差。 (7) 分压电阻R1,R2的稳定性。考虑环境温度和湿度的变化对电阻值的影响,应该采用稳定性比较好的金属膜电阻。 基于以上原因,用比较器检测交流信号时,应该对检测结果的精度有一个基本估计。 4. 电路参数选择 基准电压Vref可以用4种方法产生:第1种方法是选用专用基准电压源芯片,可以获得很高的精度和稳定性,但与廉价、系统精度要求不很高的出发点矛盾,故不可取。第2种方法是用1个稳压二极管和1个电阻产生基准电压,稳定性尚可,成本也可以接受。第3种方法是用2个电阻直接从UCC分压,基准电压的稳定性与UCC的稳定性相同,成本低,当检测精度要求为5%左右时,实为1个廉价方案。第4种方案是选用P87LPC76X单片机内含的基准电压源,此为最佳方案。 基准电压Vref数值的选择:1.2~2.5V之间为好。 稳压二极管VDZ的选择:比Vref高出2V左右,但不超过5.2V。 系统常数K的选择:首先确定信号电压范围的最小值Umin,然后将K选择得比Umin再小一些。 采样变压器可选用廉价微型变压器,然后在空载的条件下实测其降压比N。如果需要检测的交流信号不需要隔离,也可以将采样变压器省略(这时应将计算公式中的N去掉)。 R1和R2的选择:R2可选择1~5.1kΩ之间的数值,然后,利用已经选定的K,N,Vref和R2,通过系统常数公式求解R1。 下面以1个具体的应用项目作为例子来说明电路参数的设计过程。 在1个应用项目中需要监测市电的波动情况。已知市电的频率基本稳定在50Hz,理论有效值是220V,允许最小值为160V,最大值为250V。为了使检测电路安全可靠运行,用1个降压变压器对市电进行隔离采样。变压器选用廉价微型变压器,初级电压为交流220V,次级为2个7.5V,接成15V使用,求得变压比N=220∶15=14.7。R3选用75kΩ普通电阻,R4选用2.4 kΩ普通电阻。当UCC=4.95V时,算得Vref=1.20V。选用5V左右的稳压二极管进行保护。由于允许最小值为160V,选定系统常数K=150V, R2选用2.4 kΩ普通电阻,从而计算出R1=26.5kΩ(由1个20kΩ普通电阻和1个10kΩ可调电阻组成)。 5. 表格设计 前面已经提到,当系统采用外部晶体振荡器且被检测信号的频率基本固定时,信号电压的有效值由比较器输出高电平的持续时间Δt来确定,2者之间存在一一对应关系,特别适合查表和插值运算处理。不同的应用项目决定表格有着不同的数据,但表格的设计过程是相同的。我们以前面介绍的市电监测作为例子,来说明表格设计的过程。 将K=150V,市电的周期T=20ms=20000μs代入检测公式,可以得到: U=K/cos(πΔt/T)= 150/cos(3.1416Δt/20000)= 150/cos(0.000157Δt)V 式中Δt的单位是μs。当U=Umin=160V时,从公式可以得到Δtmin=2263μs;当U=Umax=250V时,从公式可以得到Δtmax=5906μs。因此,实际运行过程中,Δt的检测范围控制在0~6144μs之间就足够了,即表格的覆盖范围确定在0~6144μs之间。为了计算方便,将6144μs按256μs的间隔进行分段,共24段。然后用C语言编写1个简单的程序,计算出每一个分段的起点对应的电压值和每个分段的电压增量值,组成2个表格。由于市电的范围不超过255V,故表格的内容可以用1个字节的无符号整数来表示。 6. 程序设计 PHILIPS公司的P87LPC76X单片机内含有2个模拟比较器,每个模拟比较器可以检测2路交流信号。当只需要检测1路交流信号时,相关电路如图10所示。交流信号从CIN1A(模拟比较器的正向输入端)输入图10交流信号的A/D转换电路,采用片内1.28V的基准电压源,从CMP1的CO1位上可以检测到模拟比较器的输出信号。程序设计的方法和直流信号检测类似,主要区别是时间间隔的长短和获取的方法: ① 等待低电平。 ② 初始化定时器。 ③ 等待上升沿,开始计时。 ④ 等待下降沿,读取高电平维持时间Δt。 ⑤ 如果需要,继续计时,直到再次出现上升沿,读取周期T。 ⑥ 查表和插值运算,求出交流电压值。 P87LPC76X片内包含2个模拟比较器,最多可以检测4路交流信号,每路信号必须分别进行相关硬件电路的设计;如果各路信号的频率不同,还必须分别进行表格设计;如果各路信号频率相同,可以公用1个表格。最后,根据各路系统常数K的不同,分别进行比例变换。程序设计和检测单路信号时基本相同。 7. 系统标定 从计算公式可以看出,检测结果与3个数据有关:系统常数K、市电频率(周期T的倒数)和比较器输出高电平的持续时间Δt。其中市电频率的稳定性我们无法控制,不予考虑;高电平持续时间Δt的检测精度由软件解决;硬件电路的任务是保证系统常数K的稳定性和准确性。系统常数K的稳定性和准确性由采样变压器的降压比、4个电阻和UCC共同决定,并不要求每一个元器件的参数都准确无误,Vref也不要求准确(但要求稳定)。可以按近似值选定电路中R2,R3和R4,将R1和1个可调电阻串联,用来对系统进行标定。标定过程如下:用1个调压变压器模拟市电的变化,将调压变压器的输出调到210V,加到采样变压器的初级;调整可调电阻,使显示器显示值为210V,然后将输入电压在140~270V之间变化,记录对应的显示值,便完成了标定任务。标定结束后,可用1个合适的固定电阻代替可调电阻。 8 采用片内RC振荡器的交流信号有效值检测 方法当采用片内RC振荡器时,高电平持续时间Δt的检测精度必然下降,上面的单纯查表方法难于达到精度要求,必须采用相对测量的方法,即第2部分中的步骤④必须执行,对周期T进行同步检测。由于系统时钟的误差对Δt和T产生的影响(相对误差)相同,故它们的比值与系统时钟的误差无关。 设k=Δt/(T/2),即高电平持续时间Δt和周期的一半之比,则k值与系统时钟的误差无关。 由于U=K/cos(πΔt/T) 从而可以得到: U=K/cos(πΔt/T)=K/cos(kπ/2) 由于高电平持续时间Δt不会超过半个周期,故k值小于1,可用1个字节十六进制纯小数来表示k。仍然以检测交流市电为例,设K=150V,当市电达到250V时,对应的k值为0.590(1个字节十六进制小数为0.97H),依次取k=0/32,1/32,2/32,3/32,4/32,…,18/32,19/32,代入公式,便可得到1个基数表格和对应的增量表格。k值的范围为0.00H到0.9FH,超过范围时用k=0.9FH进行封顶,区间间隔为0.08H(即1/32)。系统工作步骤如下: ① 检测高电平持续时间Δt。 ② 检测信号周期T,取其一半,得到T/2。 ③ 计算k=Δt/(T/2),结果取1个字节的十六进制纯小数,当k> 9FH时,令k= 9FH。 ④ 用查表和插值算法计算交流市电有效值。 (待续)
来源:单片机与嵌入式系统应用   作者:华东地质学院 周航慈 付萍  2006/2/12 0:00:00
栏目: [ ]

相关阅读

安森美推出新的高功率图腾柱PFC控制器,满足具挑战的能效标准

动态功耗低至60μA/MHz!助力设备超长续航,首选国民技术低功耗MCU!