摘 要 本文主要系設計了一個基于STC12C5A08單片機控制的無線水溫控制系統,數據無線傳輸,實現遠端單片機與計算機接口的無線通訊。采用STC12C5A08單片機進行溫度檢測控制,下位機上的液晶顯示屏LCD用來顯示溫度,利用按鍵設置溫度的控制范圍。數字式傳感器DS18B20對溫度進行采樣和數模轉換,單片機與計算機間是通過無線通信,這里采用STR30無線收發數據模塊。通過PID控制算法對溫度進行實時控制,并且通過計算機實現對溫度曲線實時跟蹤打印。
關鍵詞 STC12C5A08 DS18B20 PID
中圖分類號:O55 文獻標識碼:A
0 引言
在工業生產的過程中,溫度是一個很重要的參數之一,隨著社會工業的不斷發展,對溫度的測控技術的要求也越來越高。傳統的溫度測控系統大多是采用有線通信方式,大量的數據電纜,不僅帶來布線的復雜和工作量大,而且存在短線和短路的隱患,成本高,易老化,與有線通信技術相比,無線通信技術具有成本抵、易于實現及快捷高效等優點。
系統采用單片機作為下位機,主要工作是對溫度控制現場進行數據采集并實時控制。計算機作為上位機,遠程控制下位機的工作,同時完成監控、報警和數據存儲功能,單片機與計算機之間的數據傳送,通過無線接收發模塊來實現。
1 系統設計
由于本系統是一個溫度實時監控的系統,對溫度的采集、控制、顯示是實時的,因而溫度采集的時間間隔以及數據發送接收的時間差,單片機與PC機之間數據的傳送速度以及上位機程序對數據的分析處理是本系統的關鍵。
系統主要由單片機控制系統、振蕩電路、復位電路、水溫檢測電路、LCD顯示、加熱元件以及按鍵電路七大部分組成。該系統的硬件結構如圖1所示。
2 硬件設計
2.1 主控芯片的選擇
STC12C5A08是一款低功耗、高性能CMOS 工藝8 位微控制器,攜有8K 在系統可編程Flash 存儲器。其主要性能有具有1個時鐘/機器周期,增強型8051內核,速度比普通8051快8~12倍;1280字節片內RAM數據存儲器;8通道、10位高速ADC,速度可達25萬次/秒,2路PWM還可當2路D/A使用 ;4個16位定時器,兼容普通8051的定時器T0/T1、2路PCA實現2個定時器 ;硬件看門狗(WDT);高速SPI串行通信端口;全雙工異步串行口(UART),兼容普通8051的串口;可編程時鐘輸出功能,T0在P3.4輸出時鐘,T1在P3.5輸出時鐘,BRT在P1.0輸出時鐘等。
圖1 整體系統結構圖 圖2 主程序流程圖
2.2 溫度傳感器
系統選用的是美國DALLAS半導體公司生產的DS18B20數字式溫度傳感器。該傳感器具有的性能:可實現雙向通訊;內置AD轉化器件;可供使用電壓范圍大:3.0V到5.5V都可以使用,器件的功耗較低;測溫分辨率高,最高可達0.125度,便于溫度精確控制;支持多點測試,多個DS18B20 可以并聯在一根線上,實現多點測溫。
2.3 無線模塊電路
系統選用的是STR30無線數據傳輸模塊,該模塊的具有性能:微發射功率;ISM頻段工作頻率,無需申請頻點;多信道,多速率,提供了8個信道,可根據需要擴展;完善的通訊協議,數據實時通信;傳輸距離較遠;TTL接口方式;看門狗實時監控;低功耗及休眠功能等。
2.4 可控硅控溫電路模塊
可控硅控溫電路是一種廣泛應用的控溫方式。加熱控制采用可控硅(即晶閘管)、晶體管、放大電路組成。當電壓相位過零點時,可控硅導通,此時加熱元件通電工作,產生大量熱量,對水進行加熱。控溫電路中利用光耦合器將輸入、輸出間互相隔離,電信號傳輸具有單向性特點,因而具有良好的電絕緣能力和抗干擾能力,光耦控制晶閘管的通斷。
2.5 電源電路模塊
系統采用外接直流電源供電模式,使用穩壓器LM2576。LM2576是降壓型開關穩壓器,LM2576內部包含整流電路、穩壓電路、濾波電路等,有3.3V、5V、12V、15V 的固定電壓輸出及可調節電壓輸出,這里采用的是5V固定電壓輸出。
2.6 LCD1602顯示模塊
系統采用LCD1602液晶顯示模塊,+5V電源供電,外圍電路配置簡單,價格便宜,具有很高的性價比。
3 系統軟件設計
STC12C5A08 是該系統的控制核心部分,控制著溫度的轉換以及讀取溫度數值并轉化成十進制數以及相應的ASCII 值在LCD1602 上進行顯示,通過無線傳輸由RS232串口供PC 機讀取溫度值。程序的設計包含以下部分:微控制器的初始化、溫度采集程序和LCD1620 程序的設計、按鍵程序設計、PWM的生成程序設計、PID控制程序設計。主程序流程圖如圖2所示。單片機程序設計開發工具采用Keil C51支持的C語言編寫,Keil C51軟件提供豐富的庫函數和功能強大的集成開發調試工具,全Windows界面。
4 結論
系統采用以單片機為控制核心的溫度檢測和控制系統,采用PID控制算法來控制PWM輸出的占空比,從而實現對水溫的實時監控,通過無線通信的方式將數據傳輸給上位機,上位機界面可根據上傳的數據繪制出實時溫度曲線圖。同時,通過上位機可以設定上下限溫度和需要的溫度,通過串口將上下限溫度值和設定的溫度值傳給下位機。在溫度低于設定溫度的低值時,下位機會控制加熱器進行加熱,直至溫度達到用戶需要的溫度時停止。在溫度高于設定溫度的高值時,加熱電路斷開,系統進行自然降溫。在沒有和上位機通信的情況下,下位機也能獨立工作,自行完成溫度的設定及溫度的控制,達到了設計的要求。
參考文獻
[1] 張培仁,孫力.基于C語言C8051F系列微控制器原理與應用[M].清華大學出版社,2002.
[2] 白美卿,高富強.電阻爐爐溫控制中的可控硅觸發技術[J].自動化儀表,1996.
[3] 楊恢先,黃輝先.單片機原理及應用[M].長沙:國防科技大學出版社,2003.
[4] 高峰.單片微型計算機原理與接口技術[M].北京:科學出版社,2003.