林國
摘 要:本文以P87C54單片機(jī)為主要核心部件,通過對(duì)A/D轉(zhuǎn)換、串口通信、鍵盤設(shè)置等模塊的軟件編程,設(shè)計(jì)了一個(gè)測量精度高、線路簡單、操作方便,并能與上位機(jī)(計(jì)算機(jī))通信的智能型高精度溫度儀表。
關(guān)鍵詞:單片機(jī)串行通信儀表
中圖分類號(hào):TN93 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-098X(2012)06(a)-0026-02
1引言
模擬的高精度溫度儀表存在外圍電路復(fù)雜、調(diào)試煩瑣、操作麻煩、無法與上位機(jī)通信等缺點(diǎn)。針對(duì)上述問題,本文闡述了基于單片機(jī)控制的智能高精度儀表的設(shè)計(jì)方案。該儀表不僅能精確測量溫度,對(duì)被控對(duì)象進(jìn)行精確的溫度控制(控制精度±0.01℃),而且能把測量的溫度傳送到計(jì)算機(jī)上處理并且打印,以便使用者分析處理。
2儀表的功能
本儀表采用PT100熱電阻測溫,測量精度為0.01℃,不僅能精確測量被測系統(tǒng)的溫度,而且能數(shù)字顯示溫度大小,具有動(dòng)態(tài)顯示、性能溫定、控制精度高等特點(diǎn)。概括起來儀表具有如下功能:
(1)采用PT100熱電阻測溫,測溫范圍為-100.00~300.00℃,顯示值基本誤差:±0.2%FS;
(2)具有RS-232串行通信接口,可以和上位機(jī)進(jìn)行通信;
(3)通過輕觸按鍵可以設(shè)定溫度及一系列控制參數(shù);
(4)雙窗口10位數(shù)碼管動(dòng)態(tài)顯示測量溫度和設(shè)定溫度。
3儀表的硬件結(jié)構(gòu)
本儀表主要由Philips P87c54單片機(jī)和外圍電路及其相應(yīng)的軟件編程構(gòu)成,如圖1所示。
本儀表可分為以下6個(gè)模塊:A/D模塊、顯示模塊、鍵盤輸入、串口通信模塊、輸出控制模塊、電源模塊。
本文主要介紹A/D模塊、通信模塊(MAX232)及鍵盤輸入。
4關(guān)鍵芯片及技術(shù)
4.1 A/D模塊
本設(shè)計(jì)采用了CRYSTAL公司生產(chǎn)的20bitA/D專用芯片CS5513。它是一種低成本、易于使用的Δ-ΣA/D轉(zhuǎn)換器,其內(nèi)部包括一個(gè)4階Δ-Σ調(diào)制器和一個(gè)濾波器。CS5513片上自帶振蕩器。無需外加時(shí)鐘源。CS5513的基本參數(shù)和特點(diǎn)如下:
●Δ-ΣA/D轉(zhuǎn)換器;
線性誤差:±0.0015%FS;
無噪聲分辨率17位;
●差分模擬輸入(雙極性);
●參考電壓范圍為250mV~5V;
●輸出字速率為16~326;
●帶有片上振蕩器;
●可配置成5V單電源和多種雙電源;
●采用8腳SOIC塑料封裝,可節(jié)省設(shè)計(jì)空間。
原先模擬的高精度儀表數(shù)據(jù)采集部分使用的是通用的16位雙積分式模/數(shù)轉(zhuǎn)換器7135,其采集速度慢、外圍電路多、線路復(fù)雜?,F(xiàn)在采用CS5513后,PCB板面積只有原來的五分之一。同時(shí)由于是串行接口,因而與單片機(jī)的接口非常簡單,其采集速度可達(dá)到100多Hz,采集精度也進(jìn)一步提高。
本設(shè)計(jì)的A/D模塊的硬件電路圖如圖2所示。
J1接PT100傳感器,其與R1的分壓和R2與R3的分壓差分輸入到CS5513的Ain+和Ain-。而CS(CS5513的片選)、SDO(串行數(shù)據(jù)輸出)和SCLK(串行時(shí)鐘輸入)接單片機(jī)端口。
A/D轉(zhuǎn)換的步驟如(圖3),先將CS置0這樣就可以對(duì)CS5513操作了,此時(shí)單片機(jī)可以根據(jù)SDO當(dāng)前的電平高低來判斷CS5513的工作狀態(tài),并讀取數(shù)據(jù),從圖3可以看出CS5513的轉(zhuǎn)換結(jié)果讀取過程十分簡單。
4.2 RS-232串口通信
單片機(jī)與計(jì)算機(jī)之間的雙向RS-232通信的目的是把儀表的溫度測量值、設(shè)定值及其他參數(shù)傳到上位機(jī)(計(jì)算機(jī)),上位機(jī)通過軟件接收數(shù)據(jù),并進(jìn)行更進(jìn)一步的處理。
單片機(jī)通過MAX232轉(zhuǎn)換模塊與PC機(jī)相連,單片機(jī)晶振采用11.0592M,使用T2定時(shí)器產(chǎn)生波特率,波特率為9600bit/s。數(shù)據(jù)傳送格式為1個(gè)起始位0、8個(gè)數(shù)據(jù)位(二進(jìn)制,最小有效位先發(fā)送)、2個(gè)停止位1(無校驗(yàn))。
4.3 鍵盤設(shè)置
模擬表通過電位器來設(shè)定溫度,操作麻煩。針對(duì)這一問題,本儀表在面板上設(shè)置了“SET、<、∧、∨”四個(gè)按鍵,用來設(shè)定各種參數(shù),并通過鍵盤接口的編程把各模塊聯(lián)系起來統(tǒng)一工作,使用者操作起來簡單明了。
5軟件設(shè)計(jì)
由于本儀表采用單片機(jī)控制,所以必須有強(qiáng)大的軟件系統(tǒng)支持。本儀表的軟件系統(tǒng)由一個(gè)主程序和多個(gè)子程序組成如圖4。
儀表的軟件系統(tǒng)總的來說由四大部分組成:
(1)系統(tǒng)的初始化。
包括P87C54芯片本身的初始化,串口、鍵盤接口、顯示模塊的初始化。
(2)鍵盤掃描及鍵盤功能程序
通過該程序可以修改儀表所有參數(shù),可以達(dá)到用戶所需的要求。
(3)數(shù)據(jù)采集、顯示部分。
(4)PID計(jì)算程序及輸出控制程序。
PID 1秒鐘計(jì)算一次,每次計(jì)算出合理的控制量,以便達(dá)到精確控制溫度。
6結(jié)語
本方案設(shè)計(jì)的高精度溫度儀表能滿足當(dāng)今用戶對(duì)高精度溫度儀表的精度、外觀、操作等各方面的要求,現(xiàn)已經(jīng)形成產(chǎn)品并大量應(yīng)用于工業(yè)現(xiàn)場,取得了一定的經(jīng)濟(jì)效益。
參考文獻(xiàn)
[1] 馬忠梅.單片機(jī)的C語言應(yīng)用程序設(shè)計(jì).北京航空航天大學(xué)出版社,2001.
[2] 潘新民.微型計(jì)算機(jī)控制技術(shù).人民郵電出版社,1999.