引言:
在工業污水處理過程當中,往往需要監測污水的COD 值,而現場的監測儀器所監測到 的數據是通過各種模擬信號輸出,這些模擬信號必須通過A/D 轉換器變換為數字信號后才 能送入上位機或外接數據采集器?;诖?,本文給出了基于A/D 轉換器TLC2543 的軟硬件 設計,并結合最小二乘法將輸出數據進行修正,達到了環保部分對有機污染物監測數據精度 的要求。
1 系統硬件設計介紹
如圖1所示,是系統電路圖, A/D轉換器采用TLC2543,它是12位串行模數轉換器,使用 開關電容逐次逼近技術完成A/D轉換過程,由于是串行輸入結構,能夠節省51系列單片機I/O 資源;且價格適中,分辨率較高,因此在儀器儀表中有較為廣泛的應用。其特點如下所述: A/D轉換器有12位分辨率;在工作溫度范圍內轉換時間為10us;有11個模擬輸入通道;采用 3路內置自測試方式[1];有轉換結束(EOC)輸出;具有單、雙極性輸出;有可編程的MSB或 LSB前導;輸出數據長度可以編程設定為8位、12位或16位。在本系統中采用的輸出長度設 定為12位。另外TLC2543與外圍電路的連線簡單,它有三個控制輸入端為CS(片選)、輸入/ 輸出時鐘(I/O CLOCK)以及串行數據輸人端(DATA INPUT);模擬量輸入端AIN0 ~ AIN10 (1 ~ 9 腳、11 ~ 12 腳),11路輸入信號由內部多路器選通,對于本系統,選用了AIN0 模擬輸入端;系統時鐘由片內產生并由I/O CLOCK同步;正、負基準電壓(REF+ ,REF-)由外部提供, 通常為VCC和地, 兩者差值決定輸人范圍。在本系統中,輸入模擬信號為4~20mA 電流的模擬量,也就是轉換輸入范圍電壓是0~5V。
單片機采用AT89LS51,如圖1 所示。AT89LS51 是一個低功耗,高性能CMOS 8 位單片 機,有40 個引腳,片內含4k Bytes ISP(In-system programmable)的可反復擦寫1000 次的Flash 只讀程序存儲器,128 bytes 的隨機存取數據存儲器(RAM),32 個外部雙向輸入/輸出(I/O) 口,5 個中斷優先級,2 層中斷嵌套中斷,2 個16 位可編程定時計數器,2 個全雙工串行通信 口,看門狗(WDT)電路,片內時鐘振蕩器。器件采用ATMEL 公司的高密度、非易失性 存儲技術制造,兼容標準MCS-51 指令系統及80C51 引腳結構,芯片內集成了通用8 位中 央處理器和ISP Flash 存儲單元。同時該芯片還具有PDIP、TQFP 和PLCC 等三種封裝形式, 在本系統用采用的是PDIP 封裝形式,輸入/輸出(I/O)口采用了P1 口如圖1 所示,P1 口 是一個帶內部上拉電阻的8 位雙向I/O 口,P1 的輸出緩沖級可驅動(吸收或輸出電流)4 個 TTL 邏輯門電路。對端口寫“1”,通過內部的上拉電阻把端口拉到高電平,此時可作輸入 口。
1.1 TLC2543 主要引腳說明
AIN0~AIN10,引腳為1~9,11,12:模擬量輸入端。11 路輸入信號由內部多路器選 通(本系統采用通道AIN0)。
DATA OUT,引腳為16,A/D 轉換結果的三態串行輸出端。為高時處于高阻抗狀態, 為低時處于激活狀態。
DATAINPUT,引腳為17,串行數據輸入端。由4 位的串行地址輸入來選擇模擬量輸 入通道。
I/O CLOCK,引腳為18,輸入/輸出時鐘端。I/OCLOCK 接收串行輸入信號并完成以 下四個功能:(1)在I/O CLOCK 的前8 個上升沿,8 位輸入數據存入輸入數據寄存器;(2) 在I/OCLOCK 的第4 個下降沿,被選通的模擬輸入電壓開始向電容器充電,直到I/OCLOCK 的最后一個下降沿為止;(3)將前一次轉換數據的其余11 位輸出到DATAOUT 端,在 I/OCLOCK 的下降沿時數據開始變化;(4)I/OCLOCK 的最后一個下降沿,將轉換的控制信 號傳送到內部狀態控制位。
EOC,引腳為19,轉換結束端。在最后的I/OCLOCK 下降沿之后,EOC 從高電平變 為低電平并保持到轉換完成和數據準備傳輸為止。EOC 引腳由高變低是在第12 個時鐘的 下降沿,它標志TLC2543 開始對本次采樣的模擬量進行A/ D 轉換,轉換完成后EOC 變高, 標志轉換結束。
1.2 串口輸出電路介紹
如圖2所示,是MAX232芯片與單片機AT89LS51與PC機的具體電路圖,外圍元件都是按照 MAX232的標準外圍元件接入,其連接電路簡單,穩定;串口針腳的接法也是按照標準工業的 說明接入,其中第2個針腳是接入數據,第3個針腳是發送數據,第5個針腳接地,其他針腳 懸空。
2 AD轉換過程及實現
如圖1所示,上電后,片選CS 為高, I/ O CLOCK、DATA IN PUT 被禁止, DATA OUT 呈 高阻狀態, EOC為高。使CS 變低, I/ O CLOCK、DATA IN PUT 使能, DATA OUT 脫離高阻 狀態。12 個時鐘信號從I/ O CLOCK端依次加入,隨著時鐘信號的加入,控制字從DATA INPUT 一位一位地在時鐘信號的上升沿時被送入TLC2543 (高位先送入) , 同時上一周期轉換的A/ D 數據, 即輸出數據寄存器中的數據從DATA OUT 一位一位地移出。TLC2543 收到第4 個 時鐘信號后,通道號AIN0 也已收到,因此,此時TLC2543 開始對選定通道的模擬量進行采樣, 并保持到第12 個時鐘的下降沿。在第12 個時鐘下降沿, EOC 變低,開始對本次采樣的模擬 量進行A/ D 轉換,轉換時間約需10μs ,轉轉完成EOC 變高,轉換的數據在輸出數據寄存器中, 待下一個工作周期輸出。此后可以進行新的工作周期。
3 最小二乘法原理及實現
最小二乘法是基于隨機統計原理,把試驗樣本值作為隨機變量,使其與所求直線的距離的 平方和為最小[2]。它在本系統中直接運用就是,當有一組(二維) 大小不等的試驗數據,它們之 間具有近似線性的關系,而需要求出它們之間的線性關系的表達式時,首先畫出二維坐標系, 把這些以試驗數據為坐標的點在坐標系中畫出,就可以利用最小二乘法原理根據試驗數據畫 出一條直線,使這條直線到所有點的距離的平方和為最小,那么這條直線的方程就可以最佳地 反映這組試驗數據的線性關系。如何畫出這條直線,求出直線的方程和斜率,可以借助excel 數據處理工具或其他線性擬合計算軟件來實現。
在上面 A/D 轉換程序中,buf0~buf7 是轉換后數據的高8 位,buf8~buf11 是轉換后數據 的低4 位。由于模擬量的輸入范圍是4~20mA,接入阻抗電阻為250Ω,所以轉換后電壓的 范圍是1~5V,又因模擬量4~20mA 與測量儀器測出的COD 值成線性關系,也就是與轉換 后1~5V 電壓成線性關系,因此可以采用最小二乘法求出線性關系的斜率系數a 和常數b,最后求出COD 值,通過串口將COD 值發送給PC 機或其他數據采集器。轉換后電壓算法及 COD 值算法如下:
因 5V 對應的12 位二進制數為111111111111(也就是滿量程的數4095),將5V 電壓分成4095 分,每一份即為5/4095,在1~5V 之中的電壓與0~4095 之間是一一對應的,因此轉換后電 壓可以按(1)式計算:
(2)式中斜率a和常數b采用最小二乘法求出。如下表1所示,是用有機污染監測儀器監測(型號為OPM-410A)到的COD值與A/D轉換電壓值,它們成線性關系。
在表1中:U是A/D轉換后測量出來的電壓值;COD是型號為OPM-410A的有機污染監測儀器 監測到的COD值。根據最小二乘法原理,可求出斜率a和常數b的值分別為125.3和(-50.6), 因此(2)式即為:
COD=125.3*dianya – 50.6 (單位:mg/L)
4 實際測試結果
以下是采用型號為OPM-410A的有機污染監測儀監測到的COD數據與本系統采集COD數據對比。
表1中 COD1 是指型號為OPM-410A有機污染監測儀監測到的COD數據數值; COD2 是采用本嵌入式系統所采集的數據數值;誤差=COD2-COD1;
表2中的數據僅僅是本系統在實際測試過程中隨機采集的一部分,從表中可以看出,本 系統所采集到的數據低于監測儀器采集到的數據,誤差不低于-3mg/L,可以滿足環保部分 對有機污染監測的要求,達到預期的效果。
結束語:
基于高精度的12位串行A/D轉換器TLC2543的模擬數據采集系統具有較好的靈活性和 實用性,采用TLC2543可以使電路簡單,便于提高性能,降低成本,同時本系統采用了最小 二乘法對電壓值與COD值之間進行線性擬和,使之所采集到的COD值更接近于有機污染監測儀 監測到的COD值。經實測,本系統穩定可靠,所采集到的數據精度滿足環保部分對有機污染 監測儀器精度的要求。
本文作者創新點:本文利用最小二乘法對電壓值與COD值進行線性擬合,使采集到的數據更 接近于真實值,在一定范圍內滿足環保部門對有機污染物監測儀器精度的要求。另外本系統 基于串行12位A/D轉換器TLC2543的模擬數據采集系統具有較好的靈活性和實用性,可實現對電壓、電流、溫度、壓力、濕度等多種電量與非電量的高精度采集與處理。
-
模數轉換器
+關注
關注
26文章
3204瀏覽量
126836 -
開關電容
+關注
關注
0文章
101瀏覽量
18439 -
系統電路
+關注
關注
0文章
4瀏覽量
6729
發布評論請先 登錄
相關推薦
評論