一種廉價(jià)實(shí)用的雙積分A/D轉換器
1原理
51系列單片機具有兩個(gè)以上16位雙通道定時(shí)器(TIME0和TIME1),每個(gè)通道可選擇為輸入捕獲方式來(lái)測量脈寬。我們用片內16位的定時(shí)器外接運放、比較器實(shí)現雙積分A/D轉換。原理圖如圖1所示(電源和5l單片機外圍電路同常規電路),TL082是JFETINPUT運放;LM358作為比較器;MC4066是多路開(kāi)關(guān)。51單片機P1口的P10、P11、P12作為輸出,控制MC4066多路開(kāi)關(guān)的輸入選擇;INT0作為中斷輸入口,捕捉LM358比較器的輸出電平跳變。C1為積分電容,常取0.22μF左右的聚丙烯電容,R2為積分電阻,可取500k左右,U2A為積分運放,U2A、C1、R2構成了積分器,U2B是過(guò)零檢測運放。VIN為輸入電壓,VREF為基準電壓,AGND為轉換器的參考零點(diǎn)。VREF和參考零點(diǎn)以R9、R10、R11分壓產(chǎn)生。
測量前,TK3=1、TK2=0、TK1=0,打開(kāi)U1C、U1D模擬開(kāi)關(guān),使積分器輸入等于A(yíng)GND,進(jìn)入調零階段,第一次啟動(dòng)轉換的時(shí)間為300ms;啟動(dòng)以后調零時(shí)間為40ms。開(kāi)始轉換時(shí),TK3=0、TK2=0、TK1=1,積分器輸入接至輸入電壓,使VIN通過(guò)積分電阻R2向C1充電,設積分時(shí)間為T(mén)。然后,將TK3=0、TK2=1、TK1=0,即積分器輸入接至基準電壓VREF,電容C1開(kāi)始通過(guò)R2向VREF逆向放電。當運放的輸出低于C2電容電壓時(shí),比較器輸出反轉。然后,TK3=1、TK2=0、TK1=0,打開(kāi)U1C、U1D模擬開(kāi)關(guān),又進(jìn)入調零階段。設逆向充電的時(shí)間為t,則有
上式中VIN是被測電壓,T是正向積分時(shí)間,t是反向積分時(shí)間,VREF是基準參考電壓,AGND是轉換器的參考零點(diǎn)。積分器輸出波形如圖2所示。
點(diǎn)擊看原圖
2軟件結構
程序由初始化程序、輸入捕捉中斷服務(wù)程序、TIME0中斷服務(wù)程序和調用該程序模塊的接口程序組成。
程序初始化時(shí),置TK3=1、TK2=0、TK1=0,軟件300ms延時(shí),進(jìn)行初始調零;進(jìn)行正向積分時(shí),關(guān)閉INT0,置TK3=0、TK2=0、TK1=1,開(kāi)TIME0(設置TIME0工作在定時(shí)方式),進(jìn)行定時(shí)正向積分;正向積分完畢,設置定時(shí)TIME0工作在輸入捕獲方式,打開(kāi)INT0,置TK3=0、TK2=1、TK1=0,進(jìn)行反向積分,TIME0進(jìn)行計時(shí),利用另一個(gè)寄存器來(lái)計數定時(shí)器溢出次數;當比較器輸出反轉、INT0中斷產(chǎn)生時(shí),單片機自動(dòng)關(guān)斷TIME0,完成一次雙積分A/D轉換。AD值(HEX)=寄存器計數值*100+TIME0。
源程序清單如下:
![]()
![]()
![]()
3工藝上應注意的問(wèn)題
(1)充放電時(shí)間(T和t)一般不能超過(guò)2RC。超過(guò)時(shí)線(xiàn)性誤差會(huì )增大。
(2)PCB板設計時(shí)模數電源的地要分開(kāi),單點(diǎn)相接;AD轉換部分元件連線(xiàn)盡可能短,這部分元件應與數字部分元件分開(kāi);PCB板應采用較厚銅箔的板材。
(3)保持PCB板和元件的清潔,模擬部分應涂上防水膠。
(4)積分電容應采用漏電小的聚丙烯電容,基準分壓電阻和積分電阻應采用溫度系數和噪聲較小的電阻。
評論