夏益民 杜 敏
摘要:設計了一種以AT89C2051單片機為核心的加熱爐溫度采集系統(tǒng)。給出了該溫度采集系統(tǒng)的基本原理、電路結構和軟件的實現(xiàn)過程。
數(shù)據(jù)采集是獲取信息的一種重要手段。數(shù)據(jù)采集以傳感器、信號測量與處理、微型計算機等技術為基礎形成了一門綜合的應用技術,它研究數(shù)據(jù)的采集、存儲、處理和控制等作業(yè),具有很強的適用性。
數(shù)據(jù)采集廣泛應用于各個測試和控制系統(tǒng),數(shù)據(jù)采集系統(tǒng)的設計和實現(xiàn)包括很多方面的內(nèi)容,涉及的面也很廣。本課題設計完成的是對爐溫的多通道采集、數(shù)碼管顯示以及PC機對溫度變化的曲線圖繪制。設計采用了模塊化的思想,條理比較清楚,主要分為硬件原理圖設計和軟件程序設計。該系統(tǒng)設計簡單、擴展和接口方便、連線簡單、操作容易、可靠性也比較好,在多點溫度檢測中有很廣泛的應用前景,具有較強的使用價值。就其采樣頻率和分辨率來說屬于中速類型,適合對數(shù)據(jù)采樣頻率要求不是特別高的應用場合。
系統(tǒng)硬件結構
1.硬件框圖
本設計主要包括模擬信號采集、信號調(diào)整放大、A/D模數(shù)轉(zhuǎn)換、CPU控制處理、PC機溫度曲線圖繪制與顯示以及溫度的數(shù)碼管顯示6個模塊,圖1是結構框圖,圖2是原理圖。
該設計的大致工作流程從圖2可以看出為:
2.硬件各部分功能簡介
(1) AD524信號調(diào)整放大器 基于本設計電路對信號調(diào)整放大性能的要求,及對同類芯片特點性能的比較,選用運放AD524。AD524是一種低噪聲、低非線性、高信噪比的高精度的運放器件。主要特點有:低補償電壓、低補償電壓漂移;引腳選擇增益1、10、100、1000;通過可變電阻可得到任意增益;輸入輸出補償。
(2)TLC2543串行A/D轉(zhuǎn)換器TI公司的TLC2543 12位串位A/D轉(zhuǎn)換器,使用開關電容逐次逼近技術完成A/D 轉(zhuǎn)換過程。提供的最大采樣速率為66Ksps供電電流僅需1mA(典型值)。其每個器件包括片選()、輸入輸出時鐘(I/OCLOCK)、地址輸入端(DATE INPUT)三個控制器輸入端。它還可以通過一個串行的3態(tài)輸入端(DATE OUT)與主處理器或其外圍的串行口通訊,輸出轉(zhuǎn)換結果。在轉(zhuǎn)換結束時,轉(zhuǎn)換結束(EOC)輸出端變高以指示轉(zhuǎn)換的完成。本器件中的轉(zhuǎn)換結合外部輸入的差分高阻抗的基準電壓,具有簡化比率轉(zhuǎn)換、刻度以及模擬電路與邏輯電路和電源噪聲隔離的特點。開關電容的設計可以使在整個溫度范圍內(nèi)有較小的轉(zhuǎn)換誤差。除了高速的轉(zhuǎn)換器和通用的控制能力外,本器件有一個片內(nèi)的14通道多路器可以在11個輸入通道或3個內(nèi)部自測試電壓中任意選擇一個。這種形式的通道速度較慢,但硬件開銷少,對轉(zhuǎn)換速度要求不高的系統(tǒng)最為合適。由于是串行輸入結構,能夠節(jié)省51系列單片機I/O資源,且價格適中。
(3)AT89C2051單片機 AT89C2051是美國ATMEL公司推出的一種性價比較高的8位單片機,其指令系統(tǒng)與MCS-51系統(tǒng)完全兼容。另外具有很強的加密功能。ATAT89C2051只有20只引腳,壓縮了I/O端口與存儲器容量,其余配置與功能不減,可方便地應用于家電產(chǎn)品及小型儀器儀表,是性價比極優(yōu)的單片機。
(4)MAX232電平轉(zhuǎn)換器 EIA-RS-232C是用正負電壓來表示邏輯狀態(tài),與TTL以高低電平表示邏輯狀態(tài)的規(guī)定不同。因此為了能夠同計算機接口連接,必須在RS-232與TTL電路之間進行電平和邏輯關系的轉(zhuǎn)換。
MAX232芯片可完成TTL與EIA雙向電平轉(zhuǎn)換,且MAX內(nèi)部有電壓倍增電路和轉(zhuǎn)換電路,僅需+5V電源便可工作,使用十分方便,亦可連接兩對收/發(fā)線。
(5)LED驅(qū)動器MAX7219 MAX7219是八位串行共陰LED數(shù)碼管動態(tài)掃描驅(qū)動電路,僅需使用單片機3個I/O口,即可完成對八位LED數(shù)碼管的控制和驅(qū)動,線路非常簡單,控制方便,外圍電路僅需一個電阻設定峰值段電流,同時可以通過軟件設定其顯示亮度;還可以通過級聯(lián),完成對多于八位的數(shù)碼管的控制顯示。當工作于關閉方式時,不僅單片機仍可對其傳送數(shù)據(jù)和修改控制方式,而且芯片耗電僅為150μA。使用方便靈活,連線簡單,且不占用數(shù)據(jù)存儲器空間。
(6)其他 由于AD524的正電源電壓范圍是6~18V,負電源電壓是-6~-18V,而其他的器件都是采用的典型電源電壓+5V和-5V。用LM7805來實現(xiàn)電源電壓轉(zhuǎn)換,使電壓統(tǒng)一。SCREEN數(shù)碼管用來顯示轉(zhuǎn)換結果即加熱爐溫度。
系統(tǒng)軟件結構
單片機程序主要包括主程序MAIN、串行數(shù)據(jù)采集模塊"D_SAMPLE"和串行數(shù)據(jù)傳輸模塊"D_COM"。TLC2543的通道選擇和方式數(shù)據(jù)為8位,其功能為D7、D6、D5和D4,用來選擇要求轉(zhuǎn)換的通道,D7D6D5D4=0000時選擇0通道,D7D6D5D4=0001時選擇1通道,依次類推;D3和D2用來選擇輸出數(shù)據(jù)長度,本程序選擇輸出數(shù)據(jù)長度為12位,即設置D3D2=00或D3D2=10;D1、D0選擇輸入數(shù)據(jù)的導前位,D1D0=00選擇高位導前。TLC2543在每次I/O周期讀取的數(shù)據(jù)都是上次轉(zhuǎn)換的結果,當前的轉(zhuǎn)換結果在下一個I/O周期中被串行移出。主程序MAIN的程序流程如圖3,測試時用的是單通道,晶體管顯示后,直接傳到PC機上,再返回采集。在本刊的網(wǎng)站(www.eleworld.com)上給出了部分程序,供讀者參考。分模塊介紹如下:
(1)初始化程序INIT 主要是對定時器/計數(shù)器、中斷源、串口的初始化。
(2)串行數(shù)據(jù)采集模塊D_SAM PLE 單片機通過編程產(chǎn)生串行時鐘,即由CLK先高后低的轉(zhuǎn)變提供串行時鐘;并按時序發(fā)送與接收數(shù)據(jù)位,完成通道方式/通道數(shù)據(jù)的寫入和轉(zhuǎn)換結果的讀出;用累加器和帶進位的左循環(huán)移位指令來合成SPI功能。程序流程圖如圖4所示。
(3)串行數(shù)據(jù)傳輸模塊D_COM 串行數(shù)據(jù)傳輸模塊應包括串行口初始化INIT和數(shù)據(jù)傳輸程序D_COM,在此把INIT寫到總的初始化子程序中。數(shù)據(jù)傳輸程序D_COM可采用查詢方式亦可采用中斷方式,兩者可方便替換。筆者用的是中斷方式,采用MOV SBUF,A進行發(fā)送數(shù)據(jù),一條寫SBUF指令就可啟動數(shù)據(jù)發(fā)送過程,在發(fā)送移位時鐘(由波特率確定)的同步下,從TXD先發(fā)出起始位,然后是8位數(shù)據(jù)位,最后是停止。這樣的一幀10位數(shù)據(jù)發(fā)送完后,中斷標志TI置位。程序流程如圖5。
(4)上位機串口接收程序設計上位機串口接收數(shù)據(jù)程序用C語言,包括初始化子程序和接收子程序。
(5)16進制到BCD碼的變換程序HEXTOBCD 把原始16進制結果存儲在R2、R3中,將轉(zhuǎn)換后的BCD碼結果存儲在起始地址是70H的緩沖區(qū)中。
(6)LED顯示驅(qū)動程序 MAX7219是八位串行共陰LED數(shù)碼管動態(tài)掃描驅(qū)動電路,每片可驅(qū)動8個LED數(shù)碼管,通過對片內(nèi)的位和控制寄存器編程,可選擇譯碼方式、LED個數(shù)、顯示亮度和關閉等功能。
抗干擾措施
筆者設計的加熱爐溫度采集系統(tǒng)由于現(xiàn)場使用環(huán)境較惡劣,各種干擾因素較多,因此必須采取有效的抗干擾措施以確保系統(tǒng)穩(wěn)定工作,下面介紹我們在該系統(tǒng)上采取的抗干擾措施。
(1)光電隔離 在輸入和輸出通道上采用光電隔離器來進行信息傳輸是很有好處的,它將微機系統(tǒng)與各種傳感器、開關、執(zhí)行機構從電氣上隔離開來,很大一部分干擾將被阻擋。
(2)過壓保護電路 在輸入輸出通道上應采用一過壓保護電路,以防引入高電壓,傷害微機系統(tǒng)。過壓保護電路由限流電阻和穩(wěn)壓管組成,限流電阻選擇要適宜,太大會引起信號衰減,太小起不到保護穩(wěn)壓管的作用。穩(wěn)壓管的選擇也要適宜,其穩(wěn)壓值以略高于最高傳送信號電壓為宜,太低將對有效信號起限幅效果,使信號失真。
(3)配置去耦電容原則上每個集成電路芯片都應安置一個0.01mF的陶瓷電容器,可以消除大部分高頻干擾。
(4)良好接地 本系統(tǒng)既有模擬電路又有數(shù)字電路,因此數(shù)字地與模擬地要分開,最后只在一點相連,如果兩者不分,則會互相干擾。
結束語
由于微型計算機控制技術的引用,使得溫度采集技術的各項指標大幅度提高。本文介紹的以AT89C2051單片機為核心構成的加熱爐溫度采集系統(tǒng),可以實現(xiàn)對爐溫的多道采集、晶體管顯示和PC機對溫度變化的曲線圖繪制。實際應用時,系統(tǒng)運行正常,效果較佳。