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