摘 要: 單片機(jī)系統(tǒng)已在工業(yè)控制和測(cè)量?jī)x表等領(lǐng)域得到廣泛應(yīng)用,,將其用于電動(dòng)汽車卻是近幾年的事情,。由于電動(dòng)汽車的工作環(huán)境十分惡劣,,因此單片機(jī)系統(tǒng)的抗干擾問題顯得尤為重要,。介紹了將V/F變換用于單片機(jī)系統(tǒng)的抗干擾措施,。
關(guān)鍵詞: 單片機(jī) V/F變換 抗干擾
在單片機(jī)測(cè)量和控制系統(tǒng)中,,對(duì)外界數(shù)據(jù)及信號(hào)的讀取基本上都是通過A/D方式實(shí)現(xiàn)的,。它主要有以下幾個(gè)優(yōu)點(diǎn):
(1)根據(jù)需要,,可很容易地買到轉(zhuǎn)換精度適用的A/D轉(zhuǎn)換器。
(2)A/D轉(zhuǎn)換器與CPU的連接可按手冊(cè)或資料提供的標(biāo)準(zhǔn)進(jìn)行,。
(3)CPU對(duì)經(jīng)過A/D轉(zhuǎn)換提供的數(shù)據(jù)可直接識(shí)別,。
(4)A/D轉(zhuǎn)換器對(duì)數(shù)據(jù)的轉(zhuǎn)換速度快,一般為幾微秒~幾十微秒,。
正是由于以上這些因素,,使人們?cè)谶x擇單片機(jī)測(cè)控系統(tǒng)對(duì)信號(hào)的采集方式時(shí),首先想到的就是使用A/D轉(zhuǎn)換器,,這已經(jīng)成為人們?cè)趩纹瑱C(jī)測(cè)控系統(tǒng)設(shè)計(jì)時(shí)的一個(gè)習(xí)慣,。就大多數(shù)情況而言,這一選擇無疑是正確和明智的,,因?yàn)檫@是一個(gè)十分可靠,、成熟和簡(jiǎn)捷的方案。
然而,,在我們?yōu)殡妱?dòng)汽車設(shè)計(jì)單片機(jī)測(cè)控系統(tǒng)時(shí)所面臨卻是另外一種情況,,單片機(jī)系統(tǒng)的工作環(huán)境十分惡劣,特別是電動(dòng)汽車在行駛過程中,,外界的機(jī)械振動(dòng),,車內(nèi)的電器設(shè)備(如斬波器、電動(dòng)機(jī),,其峰值電流可達(dá)600A)所產(chǎn)生的干擾,,室外環(huán)境的溫差(-20~+65°C),都會(huì)影響單片機(jī)系統(tǒng)的正常工作,。這就要求我們?cè)谠O(shè)計(jì)單片機(jī)系統(tǒng)時(shí)必須考慮到各種影響其正常工作的因素,,并采取相應(yīng)的有效措施,這樣才可使設(shè)計(jì)出來的系統(tǒng)適應(yīng)環(huán)境并正常工作,。
1 電動(dòng)汽車的工作環(huán)境和信號(hào)特點(diǎn)
電動(dòng)汽車為單片機(jī)系統(tǒng)提供的工作條件是非??量痰摹S捎陔妱?dòng)汽車自身的空間限制,,使部分電器(如:電池,、斬波器等)的位置比較分散,從而使得單片機(jī)測(cè)控系統(tǒng)對(duì)部分信號(hào)的采集要通過長(zhǎng)線傳輸,。由于電動(dòng)車的驅(qū)動(dòng)電機(jī)是通過斬波器或逆變器驅(qū)動(dòng)的,,斬波器和逆變器的工作方式使電動(dòng)汽車動(dòng)力電路中產(chǎn)生強(qiáng)大的脈沖電流,。
實(shí)際應(yīng)用中,干擾進(jìn)入系統(tǒng)的渠道主要有三條:
(1)空間干擾(場(chǎng)干擾):干擾以電磁波輻射方式進(jìn)入系統(tǒng),;
(2)供電系統(tǒng)干擾:干擾通過電源通道進(jìn)入系統(tǒng),;
(3)過程通道干擾:干擾通過與主機(jī)相聯(lián)的前向通道、后向通道及與其它主機(jī)的相互通道進(jìn)入系統(tǒng),。
一般情況下,,干擾都是以脈沖的形式進(jìn)入系統(tǒng)的,而斬波器和逆變器的工作正好在空間,、被測(cè)信號(hào)中及電源部分造成了非常強(qiáng)大的脈沖干擾,。這些干擾通過長(zhǎng)距離的信號(hào)線、系統(tǒng)的前后通道,、電源而進(jìn)入單片機(jī),,使整個(gè)系統(tǒng)無法正常工作。這些干擾是以高頻脈沖的方式存在于系統(tǒng)中,,雖然有較高的電壓幅值,,但不能提供較大的電流。因此我們利用干擾信號(hào)的這一特點(diǎn)對(duì)它進(jìn)行抑制和去除,。這里主要介紹如何消除這些干擾對(duì)被測(cè)信號(hào)的影響,。
前面已經(jīng)介紹過,一般情況下單片機(jī)系統(tǒng)的信號(hào)采集是通過A/D方式實(shí)現(xiàn)的,,這對(duì)于具有較高輸出阻抗的電壓信號(hào)來說是非常合適的,。而對(duì)于電動(dòng)車上的被測(cè)信號(hào)則完全是另外一種情況。如電動(dòng)車動(dòng)力電池的電壓就是一個(gè)輸出阻抗很低(約0.005 Ω~0.02Ω),、變化非常緩慢的信號(hào),。這主要由鉛酸蓄電池的放電特性決定,如圖1所示,。
然而這樣一個(gè)平穩(wěn)的電壓信號(hào)通過長(zhǎng)線傳輸,、再經(jīng)A/D變換后卻變成一個(gè)變化無常、噪聲很強(qiáng)的信號(hào),,如圖2所示,。
電池電壓、電流的檢測(cè)對(duì)于電動(dòng)汽車是至關(guān)重要的,,通過這些數(shù)據(jù)可以了解到電動(dòng)汽車電池目前所處的狀態(tài),。面對(duì)這樣一個(gè)信號(hào),我們首先采用了傳統(tǒng)的硬件濾波電路和軟件數(shù)字濾波相結(jié)合的方法對(duì)信號(hào)進(jìn)行處理,,經(jīng)處理后的信號(hào)波形如圖3所示,。
從信號(hào)的波形上看,經(jīng)處理后的信號(hào)與原始信號(hào)相比已有了很大的改進(jìn),但在實(shí)際應(yīng)用中我們發(fā)現(xiàn),,即使是處理過的信號(hào)也離我們的要求相差很遠(yuǎn),,因?yàn)樗荒芴峁┳銐虻木?。在電?dòng)汽車行駛過程中,,電池電壓信號(hào)±1%的誤差會(huì)造成對(duì)電池電量±10%的錯(cuò)誤判斷。這就迫使我們尋找一個(gè)既有很強(qiáng)的抗干擾能力,,又便于長(zhǎng)距離傳輸,,同時(shí)還能提供足夠精度的信號(hào)傳輸和采集方式。通過對(duì)電動(dòng)車動(dòng)力電池電壓信號(hào)的分析,,找出如下特點(diǎn):
(1)該信號(hào)具有很大的慣性,,變化緩慢。即使發(fā)生突變,,其過渡過程也要幾秒鐘,。
(2)該信號(hào)源具有較低的內(nèi)阻,在輸出適當(dāng)電流的情況下不會(huì)對(duì)信號(hào)產(chǎn)生影響,。
由以上兩個(gè)特點(diǎn),,可得出如下結(jié)論:電池的電壓信號(hào)不需要很快的檢測(cè)速度,而且信號(hào)源可提供一定的輸出電流,。根據(jù)這一結(jié)論,,我們選擇了V/F變換器來替代原有的A/D轉(zhuǎn)換器。這樣做有如下四個(gè)優(yōu)點(diǎn),。
(1)占用計(jì)算機(jī)資源少,。對(duì)于一種模擬信號(hào)僅占用一個(gè)輸入通道。
(2)抗干擾性能好,。V/F轉(zhuǎn)換過程是對(duì)輸入信號(hào)的不斷積分,,它需要被測(cè)信號(hào)提供適當(dāng)?shù)尿?qū)動(dòng)電流,因干擾信號(hào)不能提供電流而被濾掉,。另外,,V/F變換與計(jì)算機(jī)接口很容易采用光耦隔離。
(3)便于遠(yuǎn)距離傳輸,。
(4)信號(hào)頻率可靈活選擇,。
2 V/F變換電路的硬件設(shè)計(jì)
2.1 V/F變換器的結(jié)構(gòu)及工作原理
V/F轉(zhuǎn)換輸入通道基本結(jié)構(gòu)如圖4所示。
V/F轉(zhuǎn)換器有許多種,,如AD公司的ADVFC32,,AD650;美國(guó)國(guó)家半導(dǎo)體公司的LMx31系列,;BB公司的VFC32,,VFC62等。每一種都有它們自已特點(diǎn)。從性能價(jià)格比和實(shí)際需要上考慮,,我們選用了LMx31系列的LM231型V/F轉(zhuǎn)換器,。
2.2 V/F變換器的設(shè)計(jì)與計(jì)算
LMx31的簡(jiǎn)化功能框圖,如圖5所示,。
由圖5可以看出,,只要在芯片外圍接上適當(dāng)電阻、電容就可構(gòu)基本應(yīng)用電路,。輸入比較器將輸入電平Vin和Vx相比較,,當(dāng)Vin>Vx時(shí),啟動(dòng)單穩(wěn)脈沖定時(shí)器,,并導(dǎo)通頻率輸出晶體管和開關(guān)電流源,,定時(shí)器的定時(shí)周期T=1.1Rt·Ct,在這個(gè)周期中,,電流i向電容Ct充電,,使Vx上升,當(dāng)Vx>Vin時(shí),,電流i關(guān)斷,,定時(shí)器自行復(fù)位,同時(shí)CL通過RL放電,,直到Vx<Vin為止,。然后比較器再次啟動(dòng)定時(shí)器,開始下一個(gè)循環(huán),。由于注入CL的平均電流嚴(yán)格等于IAVE=i·t·fout,,流出CL的平均電流嚴(yán)格等于Vx/RL≈Vin/RL。這種V/F轉(zhuǎn)換器能在較寬的頻率范圍內(nèi)保證其輸出頻率嚴(yán)格正比于輸入電壓,。
由式IAVE=i·t·fout=Vx/RL≈Vin/RL
實(shí)際系統(tǒng)中的V/F變換器電路如圖6所示,。為了消除干擾,在輸入端7端上加進(jìn)一個(gè)RC低通濾波器,,電容C1=1μF,,電阻R1=100kΩ。濾波器截止頻率f0為:
設(shè)計(jì)中使1V電壓對(duì)應(yīng)的輸出頻率為1000Hz,,V/F轉(zhuǎn)換增益K計(jì)算如下:
由上式得:Rs=2.09Rt·Ct·RL·1000=2.09·100·103·0.01·10-6·6.8·106=14.212(kΩ)
為了保正V/F電路的溫度穩(wěn)定性,,電路中的電阻、電容應(yīng)選用溫度穩(wěn)定性高的器件,。
3 V/F變換方式對(duì)信號(hào)精度的影響
V/F變換雖然解決了信號(hào)在長(zhǎng)線傳輸過程中的抗干擾問題,,但卻改變了CPU對(duì)被測(cè)信號(hào)的讀取方式,由原來的對(duì)A/D輸出信號(hào)的直接讀取變?yōu)閷?duì)V/F變換器輸出脈沖頻率信號(hào)的讀取,。對(duì)頻率信號(hào)的測(cè)量大致有兩種方法:一種是平均周期檢測(cè)法,;另一種是齒周期檢測(cè)法。下面就分析一下不同檢測(cè)方法對(duì)信號(hào)精度的影響。
3.1 平均周期檢測(cè)法
平均周期檢測(cè)法的原理如圖7所示,。定時(shí)器計(jì)數(shù)值NC預(yù)先設(shè)定,,時(shí)鐘頻率CLK已知為f0,周期為T0,,則T0×NC為定時(shí)時(shí)間,。定時(shí)器控制計(jì)數(shù)器,定時(shí)器為0時(shí),,計(jì)數(shù)器開始計(jì)數(shù),;定時(shí)時(shí)間到,計(jì)數(shù)器停止計(jì)數(shù),,計(jì)數(shù)時(shí)間為T0×NC。如果計(jì)算值為Nt,,則輸入信號(hào)的待測(cè)頻率為:
f=Nt/(T0·NC)
絕對(duì)誤差Δf=ΔNt/(T0·NC)
∵ΔN=±1
∴Δf=1/(T0·NC)
相對(duì)誤差 Δf/f=1/Nt
由相對(duì)誤差表達(dá)式可以看出,,計(jì)數(shù)值Nt越大,測(cè)量精度越高,,所以平均周期法適于高頻信號(hào)的測(cè)量,。
3.2 齒周期檢測(cè)法
齒周期檢測(cè)法原理如圖8所示。外部待測(cè)頻率為輸入定時(shí)器,,定時(shí)器的計(jì)數(shù)值Nt給定,;時(shí)鐘脈沖CLK輸入計(jì)數(shù)器,時(shí)鐘脈沖頻率為f0,,周期為T0,。用定時(shí)器控制計(jì)數(shù)器的啟停。由于待測(cè)脈沖頻率f未知,,定時(shí)時(shí)間T×Nt是隨待測(cè)脈沖頻率變化的變量,,式中T為待測(cè)脈沖的周期。如果在定時(shí)時(shí)間T×Nt內(nèi),,計(jì)數(shù)器的計(jì)數(shù)值為NC,,
則:T·Nt=T0·NC
f=Nt/(T0·NC)
相對(duì)誤差Δf/f=1/Nt
由相對(duì)誤差表達(dá)式可以看出,計(jì)數(shù)值NC越大,,測(cè)量精度越高,。而NC越大對(duì)應(yīng)的待測(cè)脈沖的頻率越低,故齒周期法適于低頻信號(hào)的檢測(cè),。
3.3 檢測(cè)方法的確定及誤差分析
系統(tǒng)設(shè)計(jì)中使用了LM231型V/F變換器,,其輸出頻率在0~100kHz之間。根據(jù)實(shí)際需要及精度要求,,將輸出頻率限制在0~10kHz之間,,通常頻率變化范圍為:4~9kHz。
如果用第一種方法——平均周期法測(cè)量頻率,相對(duì)誤差Δf/f=1/Nt,,如果要求相對(duì)誤差≤0.1%,,則Nt≥1000,定為轉(zhuǎn)換精度精確到10位(210=1024),,即Nt≥1024,。由于這種方法適于高頻信號(hào)測(cè)量,對(duì)于低頻信號(hào)的測(cè)量誤差較大,,因此只需考查測(cè)量低頻信號(hào)時(shí)的情況,。
當(dāng)f=4kHz時(shí),為了保證Nt≥1024,,需采樣定時(shí)時(shí)間為Nt/f=1024/4000=256ms,。
如果用第二種方法——齒周期法測(cè)量頻率,相對(duì)誤差Δf/f=1/NC,,同樣要求相對(duì)誤差≤0.1%,,則NC≥1000,仍定為NC≥1024,。由于這種方法適于測(cè)量低頻信號(hào),,對(duì)于高頻信號(hào)的測(cè)量誤差較大,故只需考查其測(cè)量高頻信號(hào)的情況,。
當(dāng)f=10kHz時(shí),,在晶振頻率為12MHz時(shí)CPU的內(nèi)部時(shí)鐘周期T0=2μs,則定時(shí)時(shí)間T0×NC=2×10-6×1024=2.05ms,。此時(shí)應(yīng)給定定時(shí)器計(jì)數(shù)值Nt=f×(T0×NC)=20,。當(dāng)待測(cè)頻率為4kHz時(shí),Nt=20,,定時(shí)時(shí)間Nt×T=20/4000=5ms,。
由以上分析可以看出,在保正測(cè)量精度相同的情況下,,齒周期法的測(cè)量速度比平均周期法的測(cè)量速度要快得多(相差256ms/5ms≈51倍),,因此我們采用了齒周期法測(cè)量頻率。
然而,,用哪種方法都有一個(gè)計(jì)數(shù)誤差ΔN=±1的問題,,這在單純由硬件組成的檢測(cè)電路中是無法消除的。其原因如圖9所示,。
第一:定時(shí)器啟動(dòng)后,,沒有遇上待測(cè)脈沖的前沿,而要等T1時(shí)間后才開始計(jì)數(shù),;
第二:定時(shí)器時(shí)間到,,不在待測(cè)脈沖的末尾,,而提前了T2時(shí)間。
由于T1和T2的存在導(dǎo)致測(cè)量誤差ΔN=±1的存在,,一般檢測(cè)設(shè)備為了減少T1,、T2對(duì)測(cè)量結(jié)果的影響,只能提高被測(cè)脈沖的頻率,,或采用高頻補(bǔ)償法——即在T1和T2期間,,對(duì)另一高頻信號(hào)計(jì)數(shù),這無疑會(huì)增加硬件電路的復(fù)雜程度,。
單片機(jī)系統(tǒng)的軟件可控性,,使這個(gè)問題的解決變得簡(jiǎn)單得多。計(jì)數(shù)時(shí)使用單片機(jī)的兩個(gè)定時(shí)器,,一個(gè)定時(shí),,另一個(gè)計(jì)數(shù)。計(jì)數(shù)器由外部信號(hào)控制啟動(dòng),,且與待測(cè)脈沖信號(hào)同步,,這樣就消除了圖9中T1的影響。當(dāng)計(jì)數(shù)到某一確定值時(shí),,由CPU控制讀取計(jì)數(shù)值和定時(shí)時(shí)間值,這樣就消除了T2的影響,。用計(jì)數(shù)值除以定時(shí)值即可得到被測(cè)頻率值,。這種測(cè)量方式的誤差≤0.1%。
V/F方式的使用,,有效地消除了空間和過程通道的干擾,。當(dāng)然,V/F變換并不適用于所有情況,。對(duì)于變化快,、要求有較高檢測(cè)速度的信號(hào)來說,V/F變換就不適用,。因此,,在實(shí)際設(shè)計(jì)過程中,單片機(jī)測(cè)控系統(tǒng)選用什么方式進(jìn)行信號(hào)的傳遞及采集要根據(jù)具體的情況加以選擇,。
參考文獻(xiàn)
1 孫涵芳.Intel 16位單片機(jī).北京:北京航空航天大學(xué)出版社,,1995
2 童詩(shī)白.模擬電子技術(shù)基礎(chǔ).北京:高等教育出版社,1981
3 周明德.微型計(jì)算機(jī)IBM-PC/XT系統(tǒng)原理及應(yīng)用. 北京:清華大學(xué)出版社,,1991
4 朱達(dá)斌.模擬集成電路的特性及應(yīng)用.北京:航空工業(yè) 出版社