摘 要: 單片機系統已在工業控制和測量儀表等領域得到廣泛應用,將其用于電動汽車卻是近幾年的事情。由于電動汽車的工作環境十分惡劣,因此單片機系統的抗干擾問題顯得尤為重要。介紹了將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 孫涵芳.Intel 16位單片機.北京:北京航空航天大學出版社,1995
2 童詩白.模擬電子技術基礎.北京:高等教育出版社,1981
3 周明德.微型計算機IBM-PC/XT系統原理及應用. 北京:清華大學出版社,1991
4 朱達斌.模擬集成電路的特性及應用.北京:航空工業 出版社