基于 TLC2274新的电流采样方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于TLC2274新的电流采样方案
2007-07-22 13:16:56| 分类:默认分类| 标签:|字号大中小订阅
引言
在绝大多数电机调速以及其它控制系统中都要用到电流采样,以用于电流反馈控制。目前在高性能的电机变频调速系统中,数字信号处理品(DSP)越来越多地被使用。其中以德州仪器(TI)公司
TMS320C/LF240(X)为代表的C2000系列的DSP用得较多。现有的电流采样方法大多采用文献[2]的模数
采样方案,如下图1所示:
&13;&10;{
&13;&10; img_auto_size(this,450,true);
&13;&10;}" align=baseline>
&13;&10;{
&13;&10; img_auto_size(this,450,true);
&13;&10;}" align=baseline>
图1(b) 图1(c) 图1(d)
图1所示方案的原理是:首先用电流互感器或电流传感器(如瑞士LEM公司的LTS系列传感器等)采样两相电流值;然后将采样结果经运算放大器使电流值变换到-2.5~+2.5v 的电压区间中,最后再加上+2.5v 的电压偏移量形成0~5v的电压送给DSP采样。这种方法的优点是电路简单,易实现,但其不足之处是采样精度低、误差大。如图1(b), 交流相电流的其中一个峰值转换为直流电压时一个为5v,一个为0v,由于电压死区的存在,使得0v 附近的出现较大误差。
新的电流采样方案
新的电流采样方案中采用的运算放大器是TLC2274[1]。TLC2274是德州仪器公司用先进的LinCMOS 工艺制造,具有Rail-to-Rail输出能力的高性能四运算放大器,它比目前常用的CMOS运放有更好的噪声、功耗和输入失调电压性能。TLC2274所具有的低噪声和高输入阻抗非常适宜用于诸如电压/电流传感器之类的小信号的计算、放大。而且它的最低工作电压可以低至正负2.2V 。
基于下列电路,如图2所示。图2中为一个双减法电流采样电路,第一路运放U8B的输出电压为:
选R2 = R1, R3 = Rf1,
则有
图2 双减法电流采样电路
同理可得第二路运放U8A的输出为:
其主要思路为:LEM传感器输出的Ui= v,此电压先后施加到由TLC2274构成的两个减法电路上,第一路以Ui减去传感器采样结果的中值参考电压Uref (2.5v), 然后再线性放大到DSP的A/D采样所要求的电压范围(0~Ud)。对于TMS320C/F20x和C/F24x 系列的DSP,Ud的值为5v;对于TMS320LC/F240x Ud 为3.3v。第二路则相反,用中值参考电压Uref 减去传感器输出电压Ui,同样也线性放大到合适的电压范围。Z1,Z2为两个3.3v的稳压二极管,对运放输出电压起到限幅作用。当Ui值大于Uref 时,Uo1输出为正电压,且电压范围是0~Ud,而由于二极管D2的存在使得电流不能注入到运放中,故而第二路运放不能输出负电压,而是钳位在0v;当Ui值小于Uref 时,Uo2输出为正电压,同样而由于二极管D1的存在
使得第一路运放不能输出负电压,也是钳位在0v。在一个正弦周期内的某一时刻只会有一路信号输出0~Ud 的电压,这比图1中的方法采样窗口要宽一倍,从而提高了采样精度。
两路输出分别送给DSP中两个A/D采样通道,但只有一路输出值是有用的,我们可以编程区分出有用的
信号。软件流程如图3:
图3 软件流程图
这样两相电流实际需要4路A/D通道,比图1中的方法要多用两个A/D采样通道,而目前DSP提供的A/D采样通道足够多的,以TMS320LF2407(A) 为例,其有16路A/D通道。B相电流采样电路与A相相同,这样我们就可以用一片TLC2274来实现两相电流的采样了。DSP实现的子程序已附于文后。
电路的改进
通过实验不难发现,TLC2274可以在单电源供电的情况下工作,那么图2所示的双减法电路可以做一些改进。由于TLC2274是Rail-to-Rail输出的,所以我们可以直接用系统的3.3v为其提供工作电压Vcc,而Vdd处可以直接接地。将D1,D2,Z1,Z2去掉后再做实验验证,其工作还是正常的。但这样做以后采样精度有所降低,所以建议还是用正负双电源供电。
附AD 采样子程序
.bss Uo1, 1
.bss Uo2, 1 ;A相电流中间值
.bss Uo3, 1
.bss Uo4, 1 ;B相电流中间值
.bss Ia, 1 ; A相电流
.bss Ib, 1 ; B相电流
.bss Ic, 1 ; C相电流
; ... ;设上述变量在同一个DP内
ADC_Proc:
CALL StartADC ;调用AD采样程序
CLRC C
LDP #Uo1
LACL Uo1
SUB Uo2
BCND AP1, C ;Uo1>Uo2
LACL Uo2
NEG ; Uo2取反
B Ia ;得到Ia
...
RET
StartADC: