用PIC16C73單片機(jī)實(shí)現(xiàn)十二位A/D轉(zhuǎn)換器
掃描二維碼
隨時(shí)隨地手機(jī)看文章
為監(jiān)測海洋生態(tài)環(huán)境,研制了用于海水有機(jī)磷農(nóng)藥現(xiàn)場監(jiān)測的生物傳感器。為測定生物傳感器的信號,使傳感器可用于船載及臺站的海洋生態(tài)環(huán)境現(xiàn)場自動(dòng)監(jiān)測,需要對整個(gè)的采樣和排液裝置進(jìn)行控制以及對傳感器來的信號進(jìn)行實(shí)時(shí)采集處理,形成有機(jī)磷的濃度傳給上位機(jī)。為此,開發(fā)了以PIC16C73單片機(jī)為核心的小型測控儀器,很好的完成了上述功能。PIC1673單片機(jī)自帶8位的A/D轉(zhuǎn)換器,但不能滿足系統(tǒng)對精度的要求,本設(shè)計(jì)在單片機(jī)自帶8位A/D基礎(chǔ)上加少量的硬件和軟件開銷,使其擴(kuò)展為十二位A/D轉(zhuǎn)換器,滿足了系統(tǒng)的要求。
2 系統(tǒng)構(gòu)成原理
PIC16C73單片機(jī)最大的特點(diǎn)是自帶8位A/D轉(zhuǎn)換部件,共有5路A/D通道模擬輸入。這些多通道模擬輸入共用一個(gè)采樣/保持電路,采樣/保持電路的輸出是A/D轉(zhuǎn)換器的輸入。A/D轉(zhuǎn)換器采用逐次逼近法進(jìn)行模數(shù)轉(zhuǎn)換。其模擬基準(zhǔn)電壓可軟件編程選擇,即從RA3/VREF引腳上外加電壓值,以滿足更高轉(zhuǎn)換精度的需要。
2.1采樣系統(tǒng)的硬件原理
在本應(yīng)用中,我們用RA0口作為濃度電壓信號模擬輸入通道。為了減小模擬電壓信號高頻部分的影響,我們在RA0口前接了一高頻濾波電路,濾除高頻部分的干擾信號。整個(gè)海
水樣品數(shù)據(jù)采集部分由基準(zhǔn)電壓產(chǎn)生電路,傳感器前置偏移調(diào)整電路和擴(kuò)展十二位A/D轉(zhuǎn)換器電路組成。
2.1.1基準(zhǔn)電壓產(chǎn)生電路
A/D轉(zhuǎn)換精度首先要依賴于有高穩(wěn)定度的基準(zhǔn)參考電壓,調(diào)節(jié)芯片為LM336-2.5,其動(dòng)態(tài)電阻的典型值為0.2Ω,且溫度穩(wěn)定度很高,在常溫25℃時(shí),幾乎不隨溫度的改變而變化。其應(yīng)用電路如圖1,調(diào)節(jié)VR1使輸出的基準(zhǔn)電壓VREF為2.55V。
2.1.2 傳感器前置偏移調(diào)整電路
由于本系統(tǒng)所采用的電位型生物傳感器可以等效為一個(gè)電壓源與輸出阻抗的并聯(lián),其輸出阻抗很高,可達(dá),遠(yuǎn)遠(yuǎn)大于常規(guī)信號放大電路的輸入阻抗。如果直接連接,阻抗不匹配,將很難得到準(zhǔn)確的電壓信號。同時(shí),海水有機(jī)磷生物傳感器輸出的電壓信號,其范圍是-204.8mV到+204.7mV,而單片機(jī)A/D采集的模擬輸入電壓必須在 VDD與VSS之間,信號不符合A/D輸入模擬電壓的要求。因此,在放大電路前,設(shè)計(jì)了一級傳感器前置偏移調(diào)整電路,如圖2所示。
其中由運(yùn)算放大器U2組成射極跟隨器,進(jìn)行阻抗變換。運(yùn)算放大器選用7650,其共模輸入阻抗高達(dá)可達(dá),故轉(zhuǎn)換網(wǎng)絡(luò)的的輸入阻抗可達(dá),輸出阻抗很小,可以保證傳感器電位差信號不衰減的傳輸至跟隨器的輸出端。采用 U3組成的加法器調(diào)整電壓的范圍,調(diào)整VR35和VR37使OUT端的輸出電壓范圍為0~-0.4095V,再經(jīng)下一級放大傳輸至A/D輸入端。
2.1.3 十二位A/D轉(zhuǎn)換器擴(kuò)展電路
因PIC1673B內(nèi)部自帶的8位A/D轉(zhuǎn)換器采用逐次逼近法進(jìn)行模數(shù)轉(zhuǎn)換,所以實(shí)現(xiàn)精度擴(kuò)展的電路也采用逐次逼近的方法。硬件原理如圖3所示,由精密運(yùn)放ICL7650,模擬開關(guān)74HCT4066及精密可調(diào)電阻組成。
2.1.4 電阻參數(shù)選擇
由圖3可知,運(yùn)算放大器U1的輸出作為A/D轉(zhuǎn)換器的輸入,在4066的所有的開關(guān)都關(guān)閉的情況下,則輸出的模擬電壓:
,(U2為前置偏移調(diào)整電路的輸出) (1)
取R3=10R2則,運(yùn)算放大器U1輸出數(shù)據(jù)的范圍在0~4.095V之間,因基準(zhǔn)電壓為2.55V,如果輸入的數(shù)據(jù)大于等于2.55V,則A/D轉(zhuǎn)換之后讀入的值為0FFH,此時(shí)轉(zhuǎn)換的數(shù)值就大于八位,在程序中置位RA4、 RA5 、RA2、RA1中的某一位使模擬開關(guān)打開,此時(shí)運(yùn)放U1的輸出電壓U0可表示為:
(2)
當(dāng)RA1置1使相連的模擬開關(guān)導(dǎo)通時(shí),所接電阻VR5的值應(yīng)使
(3)
即VR5導(dǎo)通時(shí)所接到運(yùn)算放大器輸入端的電壓為十六進(jìn)制數(shù)為800H所對應(yīng)的電壓。而RA2、RA4、 RA5置1使相連的模擬開關(guān)導(dǎo)通時(shí),所接到運(yùn)算放大器輸入端的電壓依次為十六進(jìn)制數(shù)400H,200H,100H所對應(yīng)的電壓。相應(yīng)的各電阻值和VR5及VR2之間的關(guān)系為
(4)
2.2擴(kuò)展A/D轉(zhuǎn)換器軟件原理
在程序中啟動(dòng)A/D轉(zhuǎn)換后,等待A/D轉(zhuǎn)換結(jié)束,讀取八位轉(zhuǎn)換結(jié)果,若為0FFH,說明輸入端RA0/AN0已大于或等于基準(zhǔn)VREF ,此時(shí)從高四位的最高位開始試探,先使最高位即RA1對應(yīng)的位置1,然后再次轉(zhuǎn)換,如果轉(zhuǎn)換后的結(jié)果依然等于0FFH,則保留最高位的1,使次高位即RA2對應(yīng)的位置1;如果轉(zhuǎn)換后的結(jié)果為00H,則把最高位清零,使次高位即RA2對應(yīng)的位置1。再次讀取轉(zhuǎn)換的結(jié)果,如果還等于0FFH則保留RA2的1,使RA4對應(yīng)的位置1;若讀取的轉(zhuǎn)換結(jié)果為0,則清零RA2,置位RA4。依次循環(huán)完四位,得到最終高四位的值。程序流程如圖4所示。
3 結(jié)束語
通過軟件和硬件的配合,在PIC1673自帶的八位A/D轉(zhuǎn)換器基礎(chǔ)上,擴(kuò)充了十二位的A/D轉(zhuǎn)換器,既滿足了系統(tǒng)測試精度的要求,又用了很少的硬件開銷。此方法用在有機(jī)磷的測試系統(tǒng)上,經(jīng)實(shí)驗(yàn),速度和精度都能滿足系統(tǒng)要求。此方法也可以用在其它需要擴(kuò)充A/D轉(zhuǎn)換精度的控制系統(tǒng)中,不失為一種很好的解決精度擴(kuò)展的方案。