V/F变换在单片机系统中的应用
2009-04-16
作者:韩晓东 杜 宇 朱 元
摘 要:单片机系统已在工业控制和测量仪表等领域得到广泛应用,将其用于电动汽车却是近几年的事情。由于电动汽车的工作环境十分恶劣,因此单片机系统的抗干扰问题显得尤为重要。介绍了将V/F变换用于单片机系统的抗干扰措施。
关键词:单片机 V/F变换 抗干扰
在单片机测量和控制系统中,对外界数据及信号的读取基本上都是通过A/D方式实现的。它主要有以下几个优点:
(1)根据需要,可很容易地买到转换精度适用的A/D转换器。
(2)A/D转换器与CPU的连接可按手册或资料提供的标准进行。
(3)CPU对经过A/D转换提供的数据可直接识别。
(4)A/D转换器对数据的转换速度快,一般为几微秒~几十微秒。
正是由于以上这些因素,使人们在选择单片机测控系统对信号的采集方式时,首先想到的就是使用A/D转换器,这已经成为人们在单片机测控系统设计时的一个习惯。就大多数情况而言,这一选择无疑是正确和明智的,因为这是一个十分可靠、成熟和简捷的方案。
然而,在我们为电动汽车设计单片机测控系统时所面临却是另外一种情况,单片机系统的工作环境十分恶劣,特别是电动汽车在行驶过程中,外界的机械振动,车内的电器设备(如斩波器、电动机,其峰值电流可达600A)所产生的干扰,室外环境的温差(-20~+65°C),都会影响单片机系统的正常工作。这就要求我们在设计单片机系统时必须考虑到各种影响其正常工作的因素,并采取相应的有效措施,这样才可使设计出来的系统适应环境并正常工作。
1 电动汽车的工作环境和信号特点
电动汽车为单片机系统提供的工作条件是非常苛刻的。由于电动汽车自身的空间限制,使部分电器(如:电池、斩波器等)的位置比较分散,从而使得单片机测控系统对部分信号的采集要通过长线传输。由于电动车的驱动电机是通过斩波器或逆变器驱动的,斩波器和逆变器的工作方式使电动汽车动力电路中产生强大的脉冲电流。
实际应用中,干扰进入系统的渠道主要有三条:
(1)空间干扰(场干扰):干扰以电磁波辐射方式进入系统;
(2)供电系统干扰:干扰通过电源通道进入系统;
(3)过程通道干扰:干扰通过与主机相联的前向通道、后向通道及与其它主机的相互通道进入系统。
一般情况下,干扰都是以脉冲的形式进入系统的,而斩波器和逆变器的工作正好在空间、被测信号中及电源部分造成了非常强大的脉冲干扰。这些干扰通过长距离的信号线、系统的前后通道、电源而进入单片机,使整个系统无法正常工作。这些干扰是以高频脉冲的方式存在于系统中,虽然有较高的电压幅值,但不能提供较大的电流。因此我们利用干扰信号的这一特点对它进行抑制和去除。这里主要介绍如何消除这些干扰对被测信号的影响。
前面已经介绍过,一般情况下单片机系统的信号采集是通过A/D方式实现的,这对于具有较高输出阻抗的电压信号来说是非常合适的。而对于电动车上的被测信号则完全是另外一种情况。如电动车动力电池的电压就是一个输出阻抗很低(约0.005 Ω~0.02Ω)、变化非常缓慢的信号。这主要由铅酸蓄电池的放电特性决定,如图1所示。
然而这样一个平稳的电压信号通过长线传输、再经A/D变换后却变成一个变化无常、噪声很强的信号,如图2所示。
电池电压、电流的检测对于电动汽车是至关重要的,通过这些数据可以了解到电动汽车电池目前所处的状态。面对这样一个信号,我们首先采用了传统的硬件滤波电路和软件数字滤波相结合的方法对信号进行处理,经处理后的信号波形如图3所示。
从信号的波形上看,经处理后的信号与原始信号相比已有了很大的改进,但在实际应用中我们发现,即使是处理过的信号也离我们的要求相差很远,因为它不能提供足够的精度。在电动汽车行驶过程中,电池电压信号±1%的误差会造成对电池电量±10%的错误判断。这就迫使我们寻找一个既有很强的抗干扰能力,又便于长距离传输,同时还能提供足够精度的信号传输和采集方式。通过对电动车动力电池电压信号的分析,找出如下特点:
(1)该信号具有很大的惯性,变化缓慢。即使发生突变,其过渡过程也要几秒钟。
(2)该信号源具有较低的内阻,在输出适当电流的情况下不会对信号产生影响。
由以上两个特点,可得出如下结论:电池的电压信号不需要很快的检测速度,而且信号源可提供一定的输出电流。根据这一结论,我们选择了V/F变换器来替代原有的A/D转换器。这样做有如下四个优点。
(1)占用计算机资源少。对于一种模拟信号仅占用一个输入通道。
(2)抗干扰性能好。V/F转换过程是对输入信号的不断积分,它需要被测信号提供适当的驱动电流,因干扰信号不能提供电流而被滤掉。另外,V/F变换与计算机接口很容易采用光耦隔离。
(3)便于远距离传输。
(4)信号频率可灵活选择。
2 V/F变换电路的硬件设计
2.1 V/F变换器的结构及工作原理
V/F转换输入通道基本结构如图4所示。
V/F转换器有许多种,如AD公司的ADVFC32,AD650;美国国家开云棋牌官网在线客服公司的LMx31系列;BB公司的VFC32,VFC62等。每一种都有它们自已特点。从性能价格比和实际需要上考虑,我们选用了LMx31系列的LM231型V/F转换器。
2.2 V/F变换器的设计与计算
LMx31的简化功能框图,如图5所示。
由图5可以看出,只要在芯片外围接上适当电阻、电容就可构基本应用电路。输入比较器将输入电平Vin和Vx相比较,当Vin>Vx时,启动单稳脉冲定时器,并导通频率输出晶体管和开关电流源,定时器的定时周期T=1.1Rt·Ct,在这个周期中,电流i向电容Ct充电,使Vx上升,当Vx>Vin时,电流i关断,定时器自行复位,同时CL通过RL放电,直到Vx<Vin为止。然后比较器再次启动定时器,开始下一个循环。由于注入CL的平均电流严格等于IAVE=i·t·fout,流出CL的平均电流严格等于Vx/RL≈Vin/RL。这种V/F转换器能在较宽的频率范围内保证其输出频率严格正比于输入电压。
由式IAVE=i·t·fout=Vx/RL≈Vin/RL
实际系统中的V/F变换器电路如图6所示。为了消除干扰,在输入端7端上加进一个RC低通滤波器,电容C1=1μF,电阻R1=100kΩ。滤波器截止频率f0为:
设计中使1V电压对应的输出频率为1000Hz,V/F转换增益K计算如下:
由上式得:Rs=2.09Rt·Ct·RL·1000=2.09·100·103·0.01·10-6·6.8·106=14.212(kΩ)
为了保正V/F电路的温度稳定性,电路中的电阻、电容应选用温度稳定性高的器件。
3 V/F变换方式对信号精度的影响
V/F变换虽然解决了信号在长线传输过程中的抗干扰问题,但却改变了CPU对被测信号的读取方式,由原来的对A/D输出信号的直接读取变为对V/F变换器输出脉冲频率信号的读取。对频率信号的测量大致有两种方法:一种是平均周期检测法;另一种是齿周期检测法。下面就分析一下不同检测方法对信号精度的影响。
3.1 平均周期检测法
平均周期检测法的原理如图7所示。定时器计数值NC预先设定,时钟频率CLK已知为f0,周期为T0,则T0×NC为定时时间。定时器控制计数器,定时器为0时,计数器开始计数;定时时间到,计数器停止计数,计数时间为T0×NC。如果计算值为Nt,则输入信号的待测频率为:
f=Nt/(T0·NC)
绝对误差Δf=ΔNt/(T0·NC)
∵ΔN=±1
∴Δf=1/(T0·NC)
相对误差Δf/f=1/Nt
由相对误差表达式可以看出,计数值Nt越大,测量精度越高,所以平均周期法适于高频信号的测量。
3.2 齿周期检测法
齿周期检测法原理如图8所示。外部待测频率为输入定时器,定时器的计数值Nt给定;时钟脉冲CLK输入计数器,时钟脉冲频率为f0,周期为T0。用定时器控制计数器的启停。由于待测脉冲频率f未知,定时时间T×Nt是随待测脉冲频率变化的变量,式中T为待测脉冲的周期。如果在定时时间T×Nt内,计数器的计数值为NC,
则:T·Nt=T0·NC
f=Nt/(T0·NC)
相对误差Δf/f=1/Nt
由相对误差表达式可以看出,计数值NC越大,测量精度越高。而NC越大对应的待测脉冲的频率越低,故齿周期法适于低频信号的检测。
3.3 检测方法的确定及误差分析
系统设计中使用了LM231型V/F变换器,其输出频率在0~100kHz之间。根据实际需要及精度要求,将输出频率限制在0~10kHz之间,通常频率变化范围为:4~9kHz。
如果用第一种方法——平均周期法测量频率,相对误差Δf/f=1/Nt,如果要求相对误差≤0.1%,则Nt≥1000,定为转换精度精确到10位(210=1024),即Nt≥1024。由于这种方法适于高频信号测量,对于低频信号的测量误差较大,因此只需考查测量低频信号时的情况。
当f=4kHz时,为了保证Nt≥1024,需采样定时时间为Nt/f=1024/4000=256ms。
如果用第二种方法——齿周期法测量频率,相对误差Δf/f=1/NC,同样要求相对误差≤0.1%,则NC≥1000,仍定为NC≥1024。由于这种方法适于测量低频信号,对于高频信号的测量误差较大,故只需考查其测量高频信号的情况。
当f=10kHz时,在晶振频率为12MHz时CPU的内部时钟周期T0=2μs,则定时时间T0×NC=2×10-6×1024=2.05ms。此时应给定定时器计数值Nt=f×(T0×NC)=20。当待测频率为4kHz时,Nt=20,定时时间Nt×T=20/4000=5ms。
由以上分析可以看出,在保正测量精度相同的情况下,齿周期法的测量速度比平均周期法的测量速度要快得多(相差256ms/5ms≈51倍),因此我们采用了齿周期法测量频率。
然而,用哪种方法都有一个计数误差ΔN=±1的问题,这在单纯由硬件组成的检测电路中是无法消除的。其原因如图9所示。
第一:定时器启动后,没有遇上待测脉冲的前沿,而要等T1时间后才开始计数;
第二:定时器时间到,不在待测脉冲的末尾,而提前了T2时间。
由于T1和T2的存在导致测量误差ΔN=±1的存在,一般检测设备为了减少T1、T2对测量结果的影响,只能提高被测脉冲的频率,或采用高频补偿法——即在T1和T2期间,对另一高频信号计数,这无疑会增加硬件电路的复杂程度。
单片机系统的软件可控性,使这个问题的解决变得简单得多。计数时使用单片机的两个定时器,一个定时,另一个计数。计数器由外部信号控制启动,且与待测脉冲信号同步,这样就消除了图9中T1的影响。当计数到某一确定值时,由CPU控制读取计数值和定时时间值,这样就消除了T2的影响。用计数值除以定时值即可得到被测频率值。这种测量方式的误差≤0.1%。
V/F方式的使用,有效地消除了空间和过程通道的干扰。当然,V/F变换并不适用于所有情况。对于变化快、要求有较高检测速度的信号来说,V/F变换就不适用。因此,在实际设计过程中,单片机测控系统选用什么方式进行信号的传递及采集要根据具体的情况加以选择。
参考文献
1 孙涵芳.Intel16位单片机.北京:北京航空航天大学出版社,1995
2 童诗白.模拟电子技术基础.北京:高等教育出版社,1981
3 周明德.微型计算机IBM-PC/XT系统原理及应用. 北京:清华大学出版社,1991
4 朱达斌.模拟集成电路的特性及应用.北京:航空工业 出版社