基于AT89S52單片機(jī)的以太網(wǎng)遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)
本系統(tǒng)是以爐溫作為溫度檢測(cè)對(duì)象,電阻爐的溫度變化范圍為30℃~150℃。系統(tǒng)設(shè)定溫度為35℃~80℃,溫度越限時(shí)產(chǎn)生告警。由于溫度變化慣性大,因此,系統(tǒng)選用固態(tài)繼電器作為溫控元件。固態(tài)繼電器是由固體元件組成的無觸點(diǎn)開關(guān)元件,利用電子元件的開關(guān)特點(diǎn)來控制電路的斷開與接通,工作可靠、壽命長(zhǎng),開關(guān)速度快,能實(shí)現(xiàn)較為理想的控溫較果。系統(tǒng)采用的固態(tài)繼電器是TOSHIBA的TSSl6J4lS。系統(tǒng)選用了PID調(diào)節(jié)器。當(dāng)電阻爐的溫度一旦越限,PID調(diào)節(jié)器使固態(tài)繼電器TSSl6J4lS接通或斷開,從而實(shí)現(xiàn)控制加熱器,使電阻爐溫度被控制在設(shè)定的溫度范圍內(nèi)。
(3)以太網(wǎng)接口電路設(shè)計(jì)
系統(tǒng)的以太網(wǎng)功能是通過ZNE-100T模塊實(shí)現(xiàn)的。ZNE-100T是周立功公司開發(fā)的一款嵌入式以太網(wǎng)轉(zhuǎn)串口模塊,它內(nèi)部集成了TCP/IP協(xié)議,配有32位ARM7CPU、16KB RAM、128KB FLASH和10M以太網(wǎng)接口,支持RS-232和RS-485接口,支持動(dòng)態(tài)或靜態(tài)獲取IP地址,有TCP Server,TCP Client,UDP,Real COM driver,Group Mode等多種工作方式,可使用網(wǎng)頁瀏覽器進(jìn)行配置,提供通用配置函數(shù)庫,方便用戶使用VC、VB、Delphi和C++Builder開發(fā)應(yīng)用程序。由于ZNE一100T以太網(wǎng)模塊能夠?qū)崿F(xiàn)串口設(shè)備和以太網(wǎng)設(shè)備之間數(shù)據(jù)的透明傳輸,利用它可以輕松完成嵌入式設(shè)備的網(wǎng)絡(luò)功能。ZNE-100T以太網(wǎng)模塊的波特率、開始位、停止位以及工作方式通過配置軟件來設(shè)計(jì)。在本系統(tǒng)中,設(shè)置其波特率為9600b/s,開始位為1位,停止位為1位,工作方式為TCP Sever。
由于AT89S52單片機(jī)本身提供了一組全雙工串行傳輸口,由TXD引腳來傳送串行數(shù)據(jù),而由RXD引腳來接收數(shù)據(jù),可是其工作邏輯電平皆為TTL電平(0V,5V)。而ZNE-100T模塊配置的是RS-232標(biāo)準(zhǔn)串行接口,電平為(+12V,-12V),二者的電氣規(guī)范不一致,因此要完成單片機(jī)與PC機(jī)的數(shù)據(jù)通信,必須對(duì)單片機(jī)輸出的TTL電平進(jìn)行電平轉(zhuǎn)換。本系統(tǒng)采用MAXIM公司生產(chǎn)的MAX232電平轉(zhuǎn)換芯片來實(shí)現(xiàn)RS-232標(biāo)準(zhǔn)接口通信。
(4)控制電路
驅(qū)動(dòng)電路采用繼電器驅(qū)動(dòng)方式。通過控制繼電器在控制周期內(nèi)通斷的時(shí)間,實(shí)現(xiàn)對(duì)加熱器的開關(guān)控制。從而實(shí)現(xiàn)控制溫度。由單片機(jī)I/O口輸出的控制信號(hào),經(jīng)NPN晶體管放大,驅(qū)動(dòng)繼電器工作。
(5)告警電路
本設(shè)計(jì)采用蜂鳴器告警電路,它由晶體管和蜂鳴器組成。由單片機(jī)I/O口輸出信號(hào)控制晶體管的導(dǎo)通或截止,晶體管導(dǎo)通,則蜂鳴器告警。
4 溫度監(jiān)控的實(shí)現(xiàn)
系統(tǒng)工作時(shí)先由使用者設(shè)定預(yù)期達(dá)到的兩位溫度值(該值為十進(jìn)制,單位為攝氏度,范圍35℃~80℃),溫度值輸入后,打開電源,單片機(jī)自動(dòng)復(fù)位,進(jìn)行初始化,這時(shí)LED顯示器顯示設(shè)定溫度,以便操作人員核對(duì)設(shè)定溫度,然后溫度檢測(cè)電路將測(cè)點(diǎn)的溫度輸入單片機(jī),經(jīng)軟件濾波后作為實(shí)測(cè)溫度,此后顯示器將一直顯示實(shí)測(cè)溫度。本系統(tǒng)的溫度設(shè)置也可通過遠(yuǎn)程監(jiān)控端的上位PC機(jī)設(shè)定,上位PC機(jī)通過ZNE一100T模塊,將給定量和各設(shè)定參數(shù)傳遞給AT89S52單片機(jī),DSl8820溫度傳感器也將現(xiàn)場(chǎng)實(shí)時(shí)檢測(cè)得到的電阻爐的溫度傳遞給AT89S52單片機(jī),AT89S52單片機(jī)獲得DSl8820溫度傳感器傳送的溫度后經(jīng)主程序分析,并把它與設(shè)定值比較,若實(shí)測(cè)溫度高于設(shè)定溫度時(shí),則通過驅(qū)動(dòng)電路關(guān)上加熱器并告警;若實(shí)測(cè)溫度低于設(shè)定溫度時(shí),則通過驅(qū)動(dòng)電路打開加熱器并告警;若在設(shè)定溫度范圍內(nèi),則加熱器狀態(tài)不變。
5 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)采用AT89S52作為核心處理器件,把經(jīng)過DSl8820現(xiàn)場(chǎng)實(shí)時(shí)采集到的溫度數(shù)據(jù),存入AT89S52的內(nèi)部數(shù)據(jù)存儲(chǔ)器,送液晶顯示,并與預(yù)先設(shè)定值進(jìn)行比較,然后由單片機(jī)輸出信號(hào)去控制加熱器。進(jìn)行溫度控制程序的設(shè)計(jì)應(yīng)考慮如下幾個(gè)問題:?實(shí)時(shí)采集溫度;?溫度顯示;?與上位PC機(jī)通信程序;?越限告警和處理。軟件設(shè)計(jì)主要有:主程序、初值設(shè)定子程序、溫度讀取子程序、液晶顯示子程序和輸出控制子程序等。初值設(shè)定子程序完成對(duì)溫度初值的設(shè)定及數(shù)據(jù)保存;溫度讀取子程序完成對(duì)溫度傳感器數(shù)據(jù)的讀取,并通過液晶顯示子程序顯示溫度值;輸出控制子程序則根據(jù)溫度的數(shù)值完成對(duì)輸出口的控制。AT89S52的具體軟件主程序和串口通信中斷程序分別如圖3和圖4所示。
評(píng)論