光耦
引 言
在工业测量和控制系统中,为防止外界的各种干扰,必须将测量系统和计算机系统进行电气隔离。常用的隔离措施有变压器隔离、电容耦合隔离和光耦隔离。与变压器隔离、电容耦合隔离相比,光耦体积小,价格便宜,隔离电路简单且可以完全消除前后级的相互干扰,具有更强的抗干扰能力。
对于数字信号的隔离,使用一般的光耦器件隔离就能达到很好的效果。然而一般的光耦具有较大的非线性电流传输特性且受温度变化的影响较大,对于模拟信号的传输其精度和线性度难以满足系统要求。为了能更精确地传送模拟信号,用线性光耦隔离是最好的选择。线性光耦输出信号随输入信号变化而成比例变化,它为模拟信号传输中隔离电路的简单化、高精度化带来了方便。
本文以avago公司的hcnr201线性光耦为例说明线性光耦的内部原理及隔离电路的原理。
2 hcnr201线性光耦隔离原理
线性光耦hcnr201内部结构原理如图1所示。hcnr201由一个高性能发光二极管led和两个相邻匹配的光敏二极管pd1和pd2组成,这两个光敏二极管有完全相同的性能参数。led是隔离信号的输入端,当有电流流过时就会发光,两个光敏二极管在有光照射时就会产生光电流,hcnr201的内部封装结构使得pd1和pd2都能从led得到近似光照,且感应出正比于led发光强度的光电流。光敏二极管pd1起负反馈作用用于消除led的非线性和偏差特性带来的误差,改善输入与输出电路间的线性和温度特性,稳定电路性能。光敏二极管pd2是线性光耦的输出端,接收由led发出的光线而产生与光强成正比的输出电流,达到输入及输出电路间电流隔离的作用。正是hncnr201内部的封装结构、pd1与pd2的严格比例关系及pd1负反馈的作用保证了线性光耦的高稳定性和高线性度。
图1 线性光耦hcnr201内部结构
3 线性光耦hcnr201隔离电路
3.1 工作原理
hcnr201的led、pd1及运放a1等组成隔离电路的输入部分,pd2及运放a2等组成隔离电路的输出部分。设隔离电路输入电压为vin,输出电压为vout,led上电流为if,二极管pd1上产生的电流为ipd1,二极管pd2上产生的电流为ipd2,如图2所示。
图2 线性光耦hcnr201模拟电压隔离电路
隔离电路中pd1形成了负反馈,当有电压vin输入时,运放a1的输出使led上有电流if流过,且输入电压的变化体现在电流if上,并驱动led发光把电信号转变成光信号。led发出的光被pd1探测到并产生光电流ipd1。同时,输入电压vin也会产生电流流过r1。假定a1是理想运放,则没有电流流入a1的输入端,流过r1的电流将会流过pd1到地,因此,ipd1=vin/r1。注意,ipd1只取决于输入电压vin和r1的值,与led的光输出特性无关。又因led发出的光同时照射在两个光敏二极管上,且pd1和pd2完全相同的,理想情况下ipd2应该等于ipd1。定义一个系数k,有ipd1=kipd2,k约为1±5%(当芯片制作完成后随之确定)。运放a2和电阻r2把ipd2转变成输出电压vout,有vout=ipd2r2,组合上面的3个方程得到输出电压和输入电压关系:vout/vin=kr2/r1,因此,输出电压vout具有稳定性和线性,其增益可通过调整r2与r1的值来实现,通常取r1和r2的值相同。
隔离电路中电阻r1起限流作用。r3用于控制led的发光强度,从而对控制通道增益起一定作用。电容c1、c2为反馈电容,用于提高电路的稳定性。运算放大器a1的作用是把电压信号转变成电流信号,运算放大器a2的作用是把光耦输出的电流信号转变为电压信号,并增强负载驱动能力。
3.2 注意事项
(1) 要实现信号的完全隔离,不仅信号本身要隔离,供给隔离前后电路工作的电源也需要隔离。电路中前后级运放采用了独立的电源供电,起到隔离干扰的作用。
(2) 由于线性光耦引入反馈机制,所以隔离电路不适用于被测信号变化太快或频率很高的场合
隔离电路在pt100电路中的应用及实验分析
4.1 实验条件
本实验将线性光耦hcnr201隔离电路应用于pt100测温电路中。pt100铂电阻是一种常用的温度传感器,其电阻值与环境温度呈现接近线性的关系,只要测出pt100的阻值即可换算出被测温度值。pt100测温电路将pt100铂电阻阻值的变化转化为电压信号,经过a/d转换后传输给单片机系统处理结果来获得测量温度值。采用线性光耦隔离电路对pt100测温电路进行隔离,防止外界干扰的同时,为保证温度测量结果的准确性,还必须达到高精度的传输测量信号,即隔离电路前后电压一致,才满足实际应用的要求。实验电路原理图如图3所示。
图3 pt100测温电路隔离原理图
4.2 电路参数值的选取
(1) 运算放大器的选取
线性光耦hcnr201为电流驱动型器件,其led的工作电流为1ma~40ma,运放器的选取必须保证其输出电流有足够的驱动能力驱动led二极管。电路采用运放lmv321,其输出电流可达40ma。
(2) 电阻参数的选取
为了保证传输精度,外围元件应选择稳定性较好的器件。电阻选用精度为1‰的金属膜电阻。电阻的选型需要考虑运放的线性范围和线性光耦的最大工作电流ifmax。假设确定vcc1=5v,pt100测温电路的输入电压在0~5v之间,隔离电路输出电压等于输入电压。下面给出参数确定的过程。
●确定if:hcnr201是电流驱动型,其led的工作电流if要求为1~40ma,芯片手册推荐工作电流为25ma,因此,此处取if=25ma。
●确定r3/r3=vcc1/if=5/0.025=200ω,且精度为千分之一。
●确定r1:根据芯片手册说明当5na
●确定r2:取r2=r1=100kω,且精度为千分之一。
●电容的选取:根据芯片手册推荐,取c1=c2=0.001uf 为经验取值。
综上所述,运放a1、a2为lmv321m5;r1=r2=100kω;r3=200ω;c1= c2=0.001μf。
4.3 实验数据测量及分析
隔离电路应用于pt100测试电路中,隔离前端输入经pt100电路测量后输入的电压值。隔离前、后电压值由校验仪ca71测得,并通过matlab绘出对比图形。部分测量数据见附表,matlab绘制图形如图4所示。
附表 实验数据
图4 matlab绘制曲线图
图4中直线为理想结果,虚线为实际结果。
通过实验测量数据可以发现:线性光耦隔离电路有很好的稳定性和线性,且输入电压为1.5v到2v之间时传输精度效果最佳。需要明确,采用线性光耦隔离电路进行隔离必定会导致模拟电压的传输产生一定的误差,若测量电路对电压精度要求不高,使用线性光耦进行隔离可以达到非常好的效果,然而,对于pt100测温电路而言,在200℃时,电压误差在0.1~0.2v,这样会使得温度测量误差最大达到10℃左右。这样的误差对于pt100测温是不允许的,在这种对传输精度要求很高的电路里,提高精度的行之有效的解决办法就是通过单片机软件处理对数据进行误差修正
5 软件修正提高精度
由实验可知,采用隔离电路进行隔离必定会使模拟电压传输产生一定的误差,但线性光耦的特性决定了其输出具有很好的线性度,可以利用这点通过单片机软件进行误差的修正。
修正方法:针对隔离电路应用的场合明确隔离电压的范围,然后向隔离电路提供隔离电压的两个值,定义这两个极值为修正值,并通过单片机读出采集到的修正值的实测量值,通过输入值和实测值之间的差值,就可以通过修正算法,求出任意测量值实际对应的输入值。
图5 坐标系示意图
5.1 修正算法
设x轴上各点为单片机实际测得数值,直线l上各点为线性光耦前输入值。设直线l上 a,b两点为修正值,其对应于x轴的a1、b1为单片机实际测量值,则可计算出a点和b点的误差分别为a=a-a1,b=b-b1,c1为单片机采集到任意值,若能求得误差c的值,通过修正计算c1+c即为c1的理想值c。
通过比例关系可得:
误差修正:c= c1+c;
即
针对pt100测温电路的具体做法:测温范围为-50℃~200℃,选取两个基准点如0℃和150℃,通过校验仪ca71向测温电路输入0℃和150℃,分别测量这两个点的测量值并计算实际测量值与理想值间的偏差。在实际测量中通过修正算法利用这两个偏差通过公式算出其它各点的偏差值,再对实际测量值进行修正。实验证明进行修正后温度误差可以精确到1~2℃以内。
5.2 注意事项
(1) 测量数据采用中值滤波法进行处理。
为了提高测量精度,采用数字滤波技术的中值滤波法对测量数据进行处理。即每次采集n个值,去除其中的最大值和最小值而取剩余的n-2个数值的平均值,这样可防止受到突发性脉冲干扰的数据进入。
(2) 实验中发现线性光耦隔离电路会随着上电时间的持续出现隔离后的电压毫伏级的减低的情况。大约30分钟后趋于稳定。因此,将电路上电运行一段时间后再进行校准,精度更高。
6 结束语
本文分析了线性光耦hcnr201进行模拟电压电气隔离的基本原理和隔离电路,并给出了行之有效的软件算法来提高测量电路精度。实验表明隔离电路通过修正后精度非常高,非常适合应用于对模拟电压精度要求很高的检测系统。
推荐阅读:
全部0条评论
快来发表一下你的评论吧 !