陳力生,付 輝
(四川省綿陽市涪城區(qū)西南科技大學,四川 綿陽 621000)
單片機溫控箱設(shè)計
陳力生,付輝
(四川省綿陽市涪城區(qū)西南科技大學,四川綿陽621000)
【摘要】恒溫箱作為一種常用而必備的器械已經(jīng)廣泛地滲入到生活、工業(yè)、農(nóng)業(yè)、醫(yī)療等領(lǐng)域中,并發(fā)揮著不可替代的作用。用單片機對恒溫箱的溫度進行PID控制,控制改變過零比較后產(chǎn)生的PWM波的幅值和周期,使晶閘管的通斷時間不斷改變,控制白熾燈的亮滅以及亮滅的時間,來實現(xiàn)溫度的變化。用按鍵來輸入溫度的給定值和給定時間,用液晶來顯示當前溫度,并且加入達到溫度時的報警功能。溫度信號是通過溫度傳感器DS18b20來傳送的。
【關(guān)鍵詞】PID控制; PWM波; DS18b20
先將按鍵設(shè)置好的溫度反饋入AT8952微控器中,并將采集到的溫度信息傳遞給微控器進行處理,當溫度沒有達到預設(shè)值時,控制晶閘管的導通時間,此時控制了100W燈泡的亮度來產(chǎn)熱。當達到預設(shè)值后裝置開始報警,同時燈泡的亮度減弱,溫度下降,由溫度傳感器將信息反饋回微控器進行處理。
2.1AT8951程序下載和液晶
在AD中繪入復位電路,和晶振的相關(guān)電路。P0口接入排阻,上拉5V的電路,為驅(qū)動液晶作準備。同時繪制下載口,將USB下載口和STC下載口繪制于圖中。AT8952是一種低功耗高性能微處理器,具有8K可編程的Flash存儲器,具有P0、P1、P2、P3 I/O口,從數(shù)量和功能上完全滿足要求。計數(shù)晶振采用12MHz,這樣一個機器周期為1us有利于計數(shù)初值的計算。接了倆個小電容為33pF有助于提高晶振的穩(wěn)定性。復位時間計算得2us。
2.2過零比較
此處外接變壓器的+-6V和地,檢測過零點,然后輸入單片機INT0 ,過零后單片機中斷延時,由于MOC3021在零點處不導通,因而需要避開這個零點位置,中斷就是過零檢測中波形處于零點的時間。避開這倆點處的時間,當電壓處于正時,光耦被觸發(fā)而導通,單片機來控制可控硅光耦MOC3021導通,隔離后控制雙向可控硅。
2.3電源部分
用7805穩(wěn)出的5V電壓,此5V用在后級電路用以實現(xiàn)相關(guān)功能。如在MOC3041的電壓驅(qū)動上,在液晶排阻的上拉電阻處,蜂鳴器的電壓驅(qū)動上都要用到5V電壓
2.4輸出控制電路
該電路由MOC3021實現(xiàn)的,之前選用的MOC3041只能實現(xiàn)亮滅控制而不能產(chǎn)生燈泡的漸和漸滅。在溫度的控制上沒有3021理想。加熱電路中采用MOC3023的目的是強弱電的隔離,在電路中是基于開關(guān)輸入的設(shè)定控制指令及傳感器的原理來控制電器的電源通斷。
BTA16是雙向晶閘管,當被電源控制電路的輸出管腳送出的開關(guān)控制指令為高電平,MOC3023截止,BTA16截止,關(guān)掉電器;當電源控制電路送出的開關(guān)控制指令為低電平,MOC3023導通,BTA16導通電器被打開。
2.5按鍵部分
采用了5個按鍵,復位按鍵,換擋按鍵,加按鍵,減按鍵,確認按鍵。用來配合軟件在按鍵處所要實現(xiàn)的功能。
2.6溫度傳感器部分
采用DS18b20來采集溫度信息。多個DS18B20可以掛接于同一條單線總線上,可在不同的地方放置溫度傳感器,1-Wire總線支持一主多從式結(jié)構(gòu),硬件需外接上拉電阻。當一方完成數(shù)據(jù)通信需要釋放總線時,只需將總線置高點平即可;若需要獲得總線進行通信時則要監(jiān)視總線是否空閑,若空閑,則置低電平獲得總線控制權(quán)。
2.7報警模塊
該電路采用一個小功率三極管Q1驅(qū)動蜂鳴器BELL,當單片機接收到超額溫度信號或危險信號時,輸出腳BELL輸出高點平,Q1導通,致使蜂鳴器BELL得電工作,發(fā)出報警聲。同時,電路中的發(fā)光二極管指示出電路的工作狀態(tài)。
3.1按鍵部分
通電后,單片機啟動信號并且只接受設(shè)定的溫度,同時系統(tǒng)引入鍵盤管理模式。如果檢測到有鍵閉合應(yīng)該先去除抖動,采用軟件延時,一段時間過后,確認按鍵是否有閉合,然后將設(shè)定好的值送入預置溫度緩存區(qū),并調(diào)用溫度判斷檢測報警程序,當設(shè)定溫度超過最大值時就會報警,最后啟動按鍵閉合時啟動加熱。
3.2液晶顯示
顯示子程序的功能是將緩沖區(qū)的二進制數(shù)據(jù)先轉(zhuǎn)換成3個BCD碼,再將其分別存入百位、十位、個位3個顯示緩沖區(qū),送往串行口,利用單片機的P0口進行掃描,讓數(shù)據(jù)動態(tài)的在1602上顯示出來,可顯示設(shè)置溫度和測量溫度。
3.3控制模塊
溫度控制子程序流程,將預置溫度和當前溫度比較,設(shè)定溫度大于當前溫度是,開啟電熱器;當設(shè)定溫度小于當前溫度是,關(guān)閉電熱器;兩者相同時,電熱器保持這一狀態(tài)。
3.4溫度警模塊
根據(jù)設(shè)計要求,當檢測到當前溫度值高于設(shè)定溫度值時報警,報警的同時讓燈泡的亮度漸漸變暗使得溫度降低。為了防止誤報,設(shè)置了報警允許標志,只有在允許報警的情況下,溫度值高于設(shè)定溫度值時才報警。
3.5中斷程序與主程序
中斷程序用于報警、檢測溫度和控制;主程序主要是完成系統(tǒng)初始化,顯示預置溫度及設(shè)置定時器0
【參考文獻】
[1]王兆安,黃俊.電力電子技術(shù)(卷四) [M].北京:機械工業(yè)出版社,2009.6
[2]張華林,周小方.電子設(shè)計競賽實訓教程 [M].北京:北京航空航天大學出版,2007.7: 38-42
[3]張俊謨.單片機中級教程(卷二) [M]北京:北京航空航天大學出版社,2008.6附錄
[4]任文輝,林智群,彭沛夫.用單片機對實驗室恒溫控制系統(tǒng)的設(shè)計.大學物理,2005,05:42-45.
【作者簡介】
陳力生(1994-),漢族 ,四川省雅安市石棉縣 ,本科 ,研究方向:電氣工程