




已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
PWM控制加熱目 錄1 引言12 理論分析12.1 PWM12.2 PWM控制技術(shù)23 系統(tǒng)設計23.1 設計方案比較和論證33.1.1 單片機系統(tǒng)33.1.2 溫度傳感器33.1.3 顯示電路33.1.4 PWM信號44 系統(tǒng)硬件設計44.1 復位電路44.2 時鐘電路54.3 P0口上拉電阻電路54.4 按鍵電路64.5 LCD1602顯示電路64.6 DS18B20測溫電路74.7 電源電路74.8 溫度控制電路85 系統(tǒng)軟件設計85.1 PWM控制加熱軟件的主程序及流程圖95.2 LCD1602顯示子程序125.3 LCD延時子程序175.4 數(shù)字式溫度傳感器DS18B20子程序185.5 PWM控制加熱子程序205.6 溫度控制流程216 系統(tǒng)調(diào)試236.1 Keil軟件236.2 Proteus軟件236.3 仿真結(jié)果246.4 調(diào)試結(jié)果247 小結(jié)27參考文獻27致謝28ABSTRACT29附錄30附I 整體電路圖30PWM控制加熱摘要:介紹了以STC89C52單片機為核心,使用PWM技術(shù)和閉環(huán)系統(tǒng)實現(xiàn)對溫度的自動或手動控制的系統(tǒng)。系統(tǒng)通過溫度芯片DS18B20采集溫度信號,并將溫度信號傳送給單片機。并由單片機進行相應處理,根據(jù)目標溫度與實測溫度關(guān)系決定是加熱占空比高還是停止加熱占空比高,從而實現(xiàn)對溫度的閉環(huán)控制的目的。系統(tǒng)還加入LCD液晶顯示電路,使得整個設計更加完整,更加靈活。系統(tǒng)可通過鍵盤設定溫度,LCD顯示設定溫度值及當前溫度值。關(guān)鍵詞:STC89C52單片機;溫度控制;PWM;DS18B20 ;LCD液晶顯示1 引言 溫度是眾多行業(yè)生產(chǎn)中的基礎參數(shù)之一,隨著社會的進步、工業(yè)的發(fā)展,溫度控制技術(shù)也不斷革新,但其還處于初級發(fā)展階段,很多領(lǐng)域?qū)囟瓤刂朴兄叩囊蟆R虼?,溫度控制是生產(chǎn)工藝流程中極為重要的一個環(huán)節(jié),尤其在電力、航天、交通、造紙、裝備制造、食品加工等行業(yè)有廣泛的應用。利用單片機來對溫度進行控制,不僅能夠有效地提升控制能力與生產(chǎn)的自動化,而且還有可能盡早實現(xiàn)智能化的目標。和傳統(tǒng)的溫度控制相比,基于單片機實現(xiàn)PWM的溫度控制可以降低能源消耗。因為傳統(tǒng)的溫度控制都是通過電阻限流的方式到達的溫度控制,這樣雖然加熱器的熱量小了,但是整體的功率并沒有根本性的改變,造成了能源的浪費。而PWM是通過占空比實現(xiàn)的并沒有限流的損失,這樣就會大大節(jié)約能源。本文主要研究的就是利用單片機的PWM技術(shù)而設計的溫度控制系統(tǒng)。2 理論分析2.1 PWMPWM是英文“Pulse Width Modulation”的縮寫,即脈沖寬度調(diào)制,簡稱脈寬調(diào)制。它是一種模擬控制方式,其根據(jù)相應載荷的變化來調(diào)制晶體管柵極或基極的偏置,來實現(xiàn)開關(guān)穩(wěn)壓電源輸出晶體管或晶體管導通時間的改變,這種方式能使電源的輸出電壓在工作條件變化時保持恒定,是利用微處理器的數(shù)字輸出來對模擬電路進行控制的一種非常有效的技術(shù),廣泛應用在從測量、通信到功率控制與變換的許多領(lǐng)域中。PWM是開關(guān)型穩(wěn)壓電源中的術(shù)語。這是按穩(wěn)壓的控制方式分類的,除了PWM型,還有PFM型和PWM、PFM混合型。脈寬寬度調(diào)制式(PWM)開關(guān)型穩(wěn)壓電路是在控制電路輸出頻率不變的情況下,通過電壓反饋調(diào)整其占空比,從而達到穩(wěn)定輸出電壓的目的。 其中方波高電平時間跟周期的比例叫占空比,例如1秒高電平1秒低電平的PWM波占空比是50% 。PWM的一個優(yōu)點是從處理器到被控系統(tǒng)信號都是數(shù)字形式的,無需進行數(shù)模轉(zhuǎn)換,PWM相對于模擬控制的另一個優(yōu)點是增強對噪聲抵抗的能力。2.2 PWM控制技術(shù) PWM(Pulse Width Modulation)控制技術(shù)就是對脈沖的寬度進行調(diào)制的技術(shù),即通過對一系列脈沖的寬度進行調(diào)制,來等效的獲得所需要的波形(含形狀和幅值);(沖量相等而形狀不同的窄脈沖加在具有慣性的環(huán)節(jié)上時,其效果基本相同.PWM控制技術(shù)就是以該結(jié)論為理論基礎,對半導體開關(guān)器件的導通和關(guān)斷進行控制,使輸出端得到一系列幅值相等而寬度不相等的脈沖,用這些脈沖來代替正弦波或其他所需要的波形。按一定的規(guī)則對各脈沖的寬度進行調(diào)制,既可改變逆變電路輸出電壓的大小,也可改變輸出頻率。)而控制方法有:為了克服PAM法方波電壓而不能調(diào)壓這個缺點發(fā)展而來的等脈寬PWM法;為了減少電機繞組的電磁噪音及諧波造成的振動而發(fā)展而來的隨機PWM方法;以采樣控制理論中的一個重要結(jié)論為理論基礎而產(chǎn)生的SPWM法;把SPWM法原理直接闡釋成為等面積法;為計算繁瑣的缺點而提出的硬件調(diào)制法;由于用軟件生成SPWM波形變得比較容易而提出的軟件生成法;使所得SPWM波形最接近正弦波而提出的自然采樣法;對自然采樣法的改進而成為規(guī)則采樣法;以消去PWM波形中某些主要的低次諧波為目的的方法而成為低次諧波消去法;為了提高直流電壓利用率提出了梯形波與三角波比較法;對于像三相異步電動機這樣的三相無中線對稱負載提出了線電壓控制PWM,其中包括馬鞍形波與三角波比較法和單元脈寬調(diào)制法;以把希望輸出的電流波形作為指令信號的基本思想而提出了電流控制PWM,其中包括滯環(huán)比較法、三角波比較法以及預測電流控制法;以三相波形整體生成效果為前提,以逼近電機氣隙的理想圓形旋轉(zhuǎn)磁場軌跡為目的而提出了空間電壓矢量控制PWM(SVPWM)等等。PWM控制技術(shù)以其控制簡單,靈活和動態(tài)響應好的優(yōu)點而成為電力電子技術(shù)最廣泛應用的控制方式,也是人們研究的熱點。PWM控制技術(shù)主要應用在電力電子技術(shù)行業(yè),包括風力發(fā)電、電機調(diào)速、直流供電等領(lǐng)域??傊琍WM既經(jīng)濟、節(jié)約空間、抗噪性能強,是一種值得廣大工程師在許多設計應用中使用的有效技術(shù)。3 系統(tǒng)設計 硬件電路主要分為電源電路、復位電路、時鐘電路、按鍵電路、LCD顯示電路和溫度采集電路六部分。采用集成的單片機作為主控,通過溫度傳感器采集數(shù)據(jù)信息,將結(jié)果傳送到單片機控制的主控器,數(shù)據(jù)通過顯示器顯示。通過按鍵改變設定溫度,從而改變運行操作程序。系統(tǒng)整體結(jié)構(gòu)如圖1所示。按鍵模塊電源模塊單片機LCD顯示模塊復位電路時鐘電路溫度采集模塊圖1 系統(tǒng)整體結(jié)構(gòu)3.1 設計方案比較和論證3.1.1 單片機系統(tǒng) 單片機種類很多,剛開始想到ATMEL公司的51系列單片機,但翻閱資料后發(fā)現(xiàn)STC89C52單片機:處理速度快;價格低;加密性強;超強抗干擾;超低功耗;在系統(tǒng)可編程,無需編程器,無需仿真器。3.1.2 溫度傳感器溫度傳感器種類繁多,按照測量方式可以分為接觸式和非接觸式兩大類;按照傳感器材料以及電子的元件特性可分為熱電阻和熱電偶兩類。傳統(tǒng)的溫度檢測多數(shù)情況下以熱敏電阻為傳感器,但熱敏電阻可靠性差、測量溫度準確率低,且必須經(jīng)過專門的接口電路轉(zhuǎn)換成數(shù)字信號才能由單片機進行處理。而DS18B20能夠直接讀出被測溫度并且可以根據(jù)實際要求通過簡單的編程實現(xiàn)912位的數(shù)字值讀數(shù);以其獨特的一線接口方式,實現(xiàn)多點能力;無需連接外部元件,就可用數(shù)據(jù)總線供電,電壓范圍為3.0 V至5.5 V ;測量溫度范圍為-55C至+125,其中-10C至+85C范圍內(nèi)精度為0.5C,最大分辨率可達0.0625,可實現(xiàn)高精度測量。所以,在本設計中選擇DS18B20溫度傳感器。3.1.3 顯示電路通常顯示電路主要有兩類:數(shù)碼管(LED)顯示和液晶(LCD)顯示。 液晶顯示屏(LCD):低壓微功耗、平板型結(jié)構(gòu)、顯示的信息量大、無電磁輻射、使用壽命長等優(yōu)點,但本設計要求顯示的數(shù)據(jù)量小,不能發(fā)揮其顯示內(nèi)容豐富的優(yōu)點,同時占用I/O口線較多。 數(shù)碼管顯示(LED):采用LED數(shù)碼管顯示,該方案具有實現(xiàn)容易、發(fā)光亮度大、驅(qū)動電路簡單等優(yōu)點,但是顯示內(nèi)容單一。 所以,通過比較之后,我選擇液晶顯示屏來顯示溫度。本設計選擇LCD1602,用來滿足一定的視覺要求。3.1.4 PWM信號脈沖寬度調(diào)制信號的形成電路有4種:(1)可用電壓-脈寬變換器產(chǎn)生,即硬件產(chǎn)生脈寬調(diào)制信號;(2)由軟件定時產(chǎn)生,由定時器定時,定時時間受軟件控制,并從脈寬信號的輸出口P1.0或其他口輸出脈寬可調(diào)信號;(3)由單片機控制外接定時/計數(shù)器(如8253)硬件電路產(chǎn)生脈寬調(diào)制信號,只需用兩個計數(shù)器分別工作于方式1和方式2,通過硬件連接便可以產(chǎn)生脈寬調(diào)制信號;(4)軟件延時模擬。其中,第一種是硬件電路實現(xiàn),電路復雜。第二種使用定時器T0,但由于系統(tǒng)計數(shù)器不足,必須擴展。第三種是利用8253需要額外開銷,所以我們選用軟件延時非常方便,于是本系統(tǒng)選用了第四種方式進行PWM調(diào)制。4 系統(tǒng)硬件設計 硬件電路主要由八大塊構(gòu)成,分別是:復位電路、時鐘電路、P0口上拉電阻電路、按鍵電路、LCD1602顯示電路、DS18B20測溫電路、電源電路、溫度控制電路。4.1 復位電路 復位電路是單片機系統(tǒng)最基本的組成部分,可靠的復位設計是保證系統(tǒng)可靠運行的前提。單片機復位是使CPU和系統(tǒng)中的其他功能部件都處在一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。復位電路可以用很多方法來實現(xiàn),但是從功能上一般分為兩種:一種是電源復位,即外部的復位電路在系統(tǒng)通上電源之后直接使單片機工作,是用電源來控制單片機的開始與停止;另外一種是按鍵復位,就是在復位電路中設計按鍵開關(guān),通過按鍵開關(guān)觸發(fā)復位電平,控制單片機的復位。經(jīng)過比較,本設計采用電源復位,設計電路如圖2所示。 圖2 單片機復位電路4.2 時鐘電路時鐘是單片機內(nèi)部電路工作的基礎,也是CPU工作時序的時間基準。時鐘電路用于產(chǎn)生單片機工作所需的時鐘信號。單片機內(nèi)部有一個高增益反相放大器,用于構(gòu)成振蕩器。其輸入端接至單片機的內(nèi)部,即XTAL1引腳,其輸出端接至單片機的外部,即XTAL2引腳。在XTAL1和XTAL2兩端跨接一個晶振,兩個電容,構(gòu)成一個穩(wěn)定的自激式振蕩電路。電容C1、C2起穩(wěn)定振蕩頻率、快速起振作用,容量的選擇范圍為530PF,通常選擇30pF。振蕩頻率的選擇范圍為1.212MHz,本設計選擇12MHZ,時鐘周期為(1/12)s。如圖3所示是單片機內(nèi)部時鐘方式的振蕩電路。時鐘電路產(chǎn)生的振蕩脈沖經(jīng)過觸發(fā)器進行二分頻之后,才成為單片機的時鐘脈沖信號。 圖3 片機內(nèi)部時鐘電路4.3 P0口上拉電阻電路STC89C52單片機P0口內(nèi)無上拉電阻,單片機對端口的輸出是通過控制內(nèi)部的場效應管導通或截止實現(xiàn)的,如果沒有上拉電阻,雖然單片機輸出1通過鎖存器反相使場效應管截止,但單片機的端口還是無法得到高電平(輸出0不影響),因此P0口處需加上拉電阻。如圖4所示。 圖4 P0口上拉電阻電路4.4 按鍵電路按鍵有二個,分別是S2和S3,其中S2作為加按鍵,S3作為減按鍵。通過兩個按鍵,可以用來設定目標溫度程序,加按按鍵和減按鍵,用來增加或者減少設定的目標溫度。如圖5所示。圖5 按鍵電路4.5 LCD1602顯示電路 LCD1602采用標準的16腳接口,字符型LCD通常有14條引腳線(市面上也有很多16條引腳線的LCD,多出來的2條線是電源線VCC(15腳)和地線GND(16腳),其控制原理與14腳的LCD完全一樣)。其中第3腳接一個10K的電位器可以用來調(diào)整液晶顯示屏的對比度。其內(nèi)部的驅(qū)動器為HD44100和控制器HD44780,都采用低功耗CMOS技術(shù)。采用并行8位數(shù)據(jù)線的傳送方式,當然使用者也可以通過軟件設計,使用四條數(shù)據(jù)線來控制液晶顯示屏。目前市面上的字符型液晶絕大多數(shù)是基于HD44780液晶芯片的,所以控制原理是完全相同的,為HD44780寫的控制程序可以很方便地應用于市面上大部分的字符型液晶。本系統(tǒng)液晶顯示屏主要顯示設定的目標溫度和當前目標溫度,如圖6所示。圖6 LCD1602顯示電路4.6 DS18B20測溫電路DS18B20是美國DALLAS半導體公司生產(chǎn)的單總線數(shù)字溫度傳感器,它可以實現(xiàn)數(shù)字化的輸出和測試。每一個DS18B20包含一個唯一的64位長的序號,該序號值存放在DS18B20內(nèi)部的ROM(只讀存儲器)中。DS18B20的1管腳接地,2管腳為數(shù)字輸入/輸出腳需要連接上拉電阻到電源并接至單片機端口,3管腳接電源。如下圖7所示。圖7 測溫電路4.7 電源電路單片機系統(tǒng)電源主要運用220V的電壓通過電路來實現(xiàn)芯片所需的+12V電源。如圖8所示,該電源電路主要通過變壓器把220V電壓降壓,經(jīng)電橋整流、電容C1濾波產(chǎn)生24V電壓,再利用7805集成芯片穩(wěn)壓輸出+12V直流電壓。輸入電容C1是用來改善紋波和抑制過電壓,C2是用來改善負載瞬態(tài)響應。圖8 電源電路4.8 溫度控制電路本設計中采用PWM來控制溫度,此模塊電路是為調(diào)節(jié)溫度的PWM脈沖設計的。單片機控制Q3有兩種狀態(tài): 1.Q3的基極為高電平,PNP截止此時Q2由于基極有下拉電阻NPN也處于截止 ,Q1有4.7K上拉電阻Q1場效應管不導通,此時PTC不通電不加熱 ;2.Q3基極為低電平,PNP導通,此時Q2也導通,場效應管也處于導通 PTC有電流處于加熱狀態(tài)。PWM脈沖主要是數(shù)字電路的0與1的表現(xiàn),當脈沖為0時,Q3的PNP型三級管導通,由Q2電路可知Q2也會跟著Q3一起導通,這樣場效應管就跟著導通接入12V電源PTC開始加熱;當脈沖為1時Q3截止,由于Q2有下拉電阻于是Q2也跟隨截止,導致場效應管斷開,即PTC停止加熱。當DB18B20所獲得溫度大于60度時,系統(tǒng)會減小加熱時間使溫度下降,直至低于60度時,系統(tǒng)會再次提高加熱占空比使溫度上升,使得系統(tǒng)維持在60度。此時,單片機產(chǎn)生一定占空比的PWM脈沖,就會使PTC功率控制在一定范圍內(nèi)處于恒溫,也就是所謂的溫度控制。如圖9所示。 圖9 溫度控制電路5 系統(tǒng)軟件設計 軟件編寫的語言一般情況下,有匯編語言和語言兩種,兩種語言各有優(yōu)劣。 用語言編寫程序的優(yōu)點是:編寫簡單,容易上手,網(wǎng)上有許多已編寫好的子程序,可以通過學習再結(jié)合自己想要實現(xiàn)的功能,從而編寫相關(guān)的程序,因此開發(fā)程序所需時間也相對短。 而用匯編語言編寫則相對要求高一些,它要求對硬件有足夠的了解和認識,在此基礎上,嚴格地對照各部件的時序圖,進行程序的編寫,而且讀起來相對繁瑣。 通過兩種語言的比較,語言學起來很快,所以我選擇采用C語言編寫。5.1 PWM控制加熱軟件的主程序及流程圖程序的最基本思路流程圖如圖10所示。開始歡迎畫面初始化溫度顯示初始化,變量初始化,溫度傳感器初始化讀取當前溫度并通過LCD顯示,并根據(jù)溫度計算調(diào)整占空比判斷當前溫度是否小于目標溫度根據(jù)當前溫度與目標溫度的差決定加熱占空比開始按比例控制加熱目標溫度增加鍵是否按下目標溫度增加并重新顯示目標溫度減少鍵是否按下目標溫度減少并重新顯示暫停時停止加熱NYYYNN圖10 主程序流程圖/主函數(shù)void main()uint X1,X2,CT=0,XCT=0;Init1602(); /液晶初始化LCDdelay(10000);Display_T_Init();tmpchange(); NT=tmp();Display_T_Init();while(1) /無限期循環(huán)tmpchange(); /數(shù)字型溫度傳感器,溫度轉(zhuǎn)換,模擬信號轉(zhuǎn)數(shù)字NT=tmp();Display_T(NT,MMT); / NT實際溫度,MMT目標溫度/控制加溫X1=NT/10; / 因為溫度放大了10倍,所以要除上10X2=MMT/10;if(X1X2) /如果實際溫度3) /目標溫度-實際溫度3度if(X280) /目標溫度-實際溫度3度,目標溫度大于80度CT=100; XCT=0;Else /目標溫度-實際溫度3度,目標溫度小于80度CT=50;XCT=100;Else /目標溫度-實際溫度3度CT=50;XCT=100;LCDdelay(CT); /通過延時長度不同,來控制恒溫;CT為加熱時間,CT等于多少,就加熱多少;如果CT=0,那么剛剛拉低,又拉高,等于沒有加熱,延時為0JR=1; /單片機P1.7口為高電平,不加熱LCDdelay(XCT);/+if(K1=0) /按鍵1按下LCDdelay(100); /屏幕以s級的延遲while(K1=0); MMT=MMT+10; /目標溫度加1度if(MMT=1210) /當目標溫度加熱到超過或等于121度時 MMT=0;/-if(K2=0) /按鍵2按下LCDdelay(100);while(K2=0);MMT=MMT-10; /目標溫度減1度if(MMT=0xff00) /目標溫度-10度MMT=1200;/目標溫度為120度5.2 LCD1602顯示子程序顯示數(shù)據(jù)子程序的主要功能就是把測溫后的結(jié)果經(jīng)單片機處理完畢后顯示在LCD液晶顯示屏上。顯示數(shù)據(jù)子程序流程圖如圖11所示。開始數(shù)據(jù)傳送顯示數(shù)據(jù)結(jié)束YN圖11 顯示數(shù)據(jù)子流程圖/寫命令void write_com(uchar com) LCDRS=0; /單片機P2.7為低電平 P0=com; LCDdelay(10); LCDEN=1; /單片機P2.6為高電平 LCDdelay(10); LCDEN=0; /單片機P2.6為低電平/寫數(shù)據(jù)void write_data(uchar date) LCDRS=1; /單片機P2.7為高電平 P0=date; LCDdelay(10); LCDEN=1; /單片機P2.6為高電平 LCDdelay(10); LCDEN=0; /單片機P2.6為低電平/1602初始化void Init1602() uchar i=0; /定義一個i write_com(0x38);/屏幕初始化 write_com(0x0C);/打開顯示 無光標 無光標閃爍 write_com(0x06);/當讀或?qū)懸粋€字符是指針后一一位 write_com(0x01);/清屏 write_com(0x80);/設置位置 for(i=0;i16;i+) write_data(Init1i); /顯示init1數(shù)組中的內(nèi)容 write_com(0x80+40);/設置位置 /跳到下一行 for(i=0;i16;i+) write_data(Init2i); /顯示init2數(shù)組中的內(nèi)容 void Display_T_Init() uchar i=0; write_com(0x38);/屏幕初始化 write_com(0x0C);/打開顯示 無光標 無光標閃爍 write_com(0x06);/當讀或?qū)懸粋€字符是指針后一一位 write_com(0x01);/清屏 write_com(0x80);/設置位置 for(i=0;i16;i+) write_data(Init3i); /顯示init3數(shù)組中的內(nèi)容 write_com(0x80+40);/設置位置 /跳到下一行 for(i=0;i16;i+) write_data(Init4i); /顯示init4數(shù)組中的內(nèi)容 /溫度顯示void Display_T(uint T,uint JT)write_com(0x80+0x40+9);/設置位置 /加9表示空9格write_com(0x80+0x40+9);/設置位置 LCDdelay(10);write_data(0+T/1000); /顯示千位write_data(0+T/100%10); /顯示百位write_data(0+T/10%10); /顯示十位write_data(.); /顯示小數(shù)點write_data(0+T%10); /顯示個位write_data(0xDF); /顯示write_data(C); /顯示“C”write_com(0x80+0x40+1);/設置位置 /加1表示空1格write_com(0x80+0x40+1);/設置位置 LCDdelay(10);write_data(0+JT/1000); write_data(0+JT/100%10);write_data(0+JT/10%10);write_data(0xDF);write_data(C);1602程序流程圖如圖12所示。圖12 1602程序流程圖/read a byte date 讀一個字節(jié) uchar tmpread(void) uchar i,j,dat; dat=0; for(i=1;i=8;i+) j=tmpreadbit(); /讀出的數(shù)據(jù)最低位在最前面,這樣剛好/一個字節(jié)在 dat 里 dat=(j1); /將一個字節(jié)數(shù)據(jù)返回 return(dat); /write a byte to ds18b20 /寫一個字節(jié)到 DS18B20 里 void tmpwritebyte(uchar dat) uint i; uchar j; bit testb; for(j=1;j1; if(testb) /write 1 DS=0; i+;i+; DS=1; i=8;while(i0)i-; else DS=0; /write 0 i=8;while(i0)i-; DS=1; i+;i+; /溫度顯示void Display_T(uint T,uint JT)write_com(0x80+0x40+9);/設置位置 /加9表示空9格write_com(0x80+0x40+9);/設置位置 LCDdelay(10);write_data(0+T/1000); /顯示千位write_data(0+T/100%10); /顯示百位write_data(0+T/10%10); /顯示十位write_data(.); /顯示小數(shù)點write_data(0+T%10); /顯示個位write_data(0xDF); /顯示write_data(C); /顯示“C”write_com(0x80+0x40+1);/設置位置 /加1表示空1格write_com(0x80+0x40+1);/設置位置 LCDdelay(10);write_data(0+JT/1000); write_data(0+JT/100%10);write_data(0+JT/10%10);write_data(0xDF);write_data(C);5.3 LCD延時子程序 LCD延時程序流程圖如圖13所示。圖13 LCD延時程序流程圖/LCD延時void LCDdelay(uint z) /定義Z uint x,y; for(x=z;x0;x-) /延時多久,在括號里填一定的數(shù)值Z for(y=10;y0;y-); 5.4 數(shù)字式溫度傳感器DS18B20子程序 DS18B20程序流程圖如圖14所示。圖14 DS18B20程序流程圖/DS18B20 begin change 發(fā)送溫度轉(zhuǎn)換命令void tmpchange(void) dsreset(); /初始化 DS18B20 delaySS(1); /延時 tmpwritebyte(0xcc); /跳過序列號命令 tmpwritebyte(0x44); /發(fā)送溫度轉(zhuǎn)換命令 /get the temperature 獲得溫度uint tmp() float tt; uchar a,b; dsreset(); delaySS(1); /發(fā)送讀取數(shù)據(jù)命令 tmpwritebyte(0xcc); tmpwritebyte(0xbe); /連續(xù)讀兩個字節(jié)數(shù)據(jù) a=tmpread(); b=tmpread(); /two byte compose a int variable /兩字節(jié)合成一個整型變量。 temp=b; temp=8; temp=temp|a; if(b=0xff) flag=1; temp=temp+1; /得到真實十進制溫度值,因為 DS18B20 tt=temp*0.0625; /可以精確到 0.0625 度,所以讀回數(shù)據(jù)的最低位代表的是 /0.0625 度。 /放大十倍,這樣做的目的將小數(shù)點后第一位 temp=tt*10+0.5; /也轉(zhuǎn)換為可顯示數(shù)字,同時進行一個四舍五入操作。 /返回溫度值 return temp; 5.5 PWM控制加熱子程序PWM是調(diào)節(jié)脈沖波占空比的一種方式,占空比= On-time(脈沖的High時間)/脈沖的一個周期(On-time +Off-time)。Tsw(一周期)可以是開關(guān)周期,也可以是Fsw=1/Tsw的開關(guān)頻率。占空比以及所對應的周期,是由溫度傳感器所測的實際溫度與目標溫度的差來決定的。所以,分區(qū)間討論,其中JR為加熱管腳,X1實際溫度,X2目標溫度,自然冷卻時間為:(1-占空比)*周期。1.X13,X280 此時占空比為100%,周期為10000us (2)X2-X13,X280 此時占空比為1/3,周期為15000us (3)X2-X1=X2 占空比為0,周期不定,自然冷卻。PWM加熱程序流程圖如圖15所示。圖15 PWM加熱程序流程圖 /控制加溫X1=NT/10; /因為溫度放大了10倍,所以要除上10X2=MMT/10;if(X1X2) /如果實際溫度3) /目標溫度-實際溫度3度if(X280) /目標溫度-實際溫度3度,目標溫度大于80度CT=100; XCT=0;Else /目標溫度-實際溫度3度,目標溫度小于80度CT=50;XCT=100;Else /目標溫度-實際溫度3度CT=50;XCT=100;LCDdelay(CT); /通過延時長度不同,來控制恒溫;CT為加熱時間,CT等于多少,就加熱多少;如果CT=0,那么剛剛拉低,又拉高,等于沒有加熱,延時為0JR=1; /單片機P1.7口為高電平,不加熱LCDdelay(XCT);5.6 溫度控制流程 在設計中使用PWM技術(shù)作為設計的核心技術(shù),PWM原理是以一固定直流電壓經(jīng)過以一定頻率打開與閉合的開關(guān)K,從而控制改變PTC上的電壓。設當PTC接通時的最大電流為。開關(guān)開閉周期為T,每次閉合時間為t,則當占空比為D=t/T,PTC的平均電流為: (1)由(1)式可知,當T不變(即開關(guān)的開關(guān)頻率固定)時,只要改變導通時間t,就可改變PTC兩端的平均電流,從而改變PTC的加熱溫度。 PTC的發(fā)熱強度基本上正比于通過PTC器件的電流,這說明在脈沖電流的平均電流與直流電流相同的條件下,PTC的發(fā)熱效果一樣。另外,用高幅值的脈沖電流驅(qū)動PTC,然后通過調(diào)節(jié)脈沖的占空比獲得較合適的平均電流,這樣可以降低功耗。因為當PTC工作在脈沖狀態(tài)時,人會感覺到PTC的溫度會結(jié)余高溫與均值之間。因此,脈沖電流驅(qū)動PTC可比直接恒流驅(qū)動的PTC溫度更高一些,即獲得同樣的加熱強度,脈沖電流驅(qū)動方式比直流驅(qū)動方式所需要的平均電流值更小。對于PTC,如果采用脈沖電路驅(qū)動,其控制部分采用脈寬調(diào)制方式,與恒流控制方式相比,控制部分的控制效率會有比較大的提升,另外還可去掉限流電阻或減小其值。因此,從節(jié)能的角度出發(fā),采用脈沖電源驅(qū)動方式更好。脈沖驅(qū)動方式是利用溫度的惰性,采用重復向PTC器件通斷供電的方式使之點亮。但采用這種驅(qū)動方式通常需考慮脈沖直流幅值的確定和重復頻率的選擇。要獲得與直流驅(qū)動方式相當?shù)陌l(fā)熱強度,脈沖驅(qū)動電流的平均值應與直流驅(qū)動的電流值相同。如圖16所示,平均電流是瞬間電流i的時間積分。對于矩形波,有 (2) (3)式中,為直流驅(qū)動電流值,為脈沖驅(qū)動電流平均值,為脈沖電流幅值,是占空比。為了使脈沖驅(qū)動方式下的平均電流與直流驅(qū)動電流相同,則需使其脈沖電流幅值滿足: (4)可見脈沖驅(qū)動時,脈沖電流的幅值是直流驅(qū)動電路的電流幅值的倍。需注意驅(qū)動器件的工作頻率,當頻率超過一定范圍,器件將無法正常工作,因為器件無法正常導通和關(guān)斷。PTC的工作頻率是10Hz到幾KHz范圍內(nèi)。 圖16 脈沖電流驅(qū)動電路設計中PWM信號經(jīng)過Q3與Q2的基極連接到P溝道功率MOSFET IRF9540的柵極上。P溝道功率MOSFET的柵極驅(qū)動采用簡單的二級放大作為驅(qū)動電路,以改善MOSFET的導通過程,減少驅(qū)動電源的功率。6 系統(tǒng)調(diào)試6.1 Keil軟件 單片機開發(fā)中不但要有必要的硬件,而且要有相應的軟件與之結(jié)合,此時Keil軟件發(fā)揮著舉足輕重的地位。隨著單片機開發(fā)技術(shù)的不斷發(fā)展,從匯編語言的普遍使用到高級語言開發(fā)的逐漸使用,單片機的開發(fā)軟件也隨之在發(fā)展著,與匯編語言相比,C語言在功能上、結(jié)構(gòu)性、可維護性上有明顯的優(yōu)勢,易學易用。Keil軟件是目前最流行的開發(fā)MCS-51系列單片機軟件,Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些部份組合在一起。Keil C51標準C編譯器為8051微控制器的軟件開發(fā)提供了C語言環(huán)境, 同時保留了匯編代碼高效,快速的特點。Keil C51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,功能不斷增強,生成的目標代碼效率非常高。所以本設計選擇Keil軟件。6.2 Proteus軟件Proteus軟件是來自英國Labcenter electronics公司的EDA工具軟件,除了具有和其它EDA工具一樣的原理布圖、PCB自動或人工布線及電路仿真的功能外,其特有的功能是,它的電路仿真是互動的,針對微處理器的應用,還可以直接在原理圖的虛擬原型上編程,并實現(xiàn)軟件源碼級的實時調(diào)試。由此可見,Proteus軟件功能強大,集電路設計、制版以及仿真等功能于一身,不僅可以對電路進行設計與分析,還可以對微處理器進行設計和仿真,是一款電子線路設計與仿真軟件。所以Proteus軟件是一個基于Pro-SPICE混合模型仿真器、完整的嵌入式系統(tǒng)軟硬件設計仿真平臺。 Proteus軟件與其它單片機仿真軟件不同的是,它不僅能仿真單片機CPU的工作情況,也能仿真單片機外圍電路或沒有單片機參與的其它電路的工作情況。因此在仿真和程序調(diào)試時,關(guān)心的不再是某些語句執(zhí)行時,單片機寄存器和存儲器內(nèi)容的改變,而是從工程的角度直接看程序運行和電路工作的過程和結(jié)果。對于這樣的仿真,從某種意義上講,彌補了實驗和工程應用不能相結(jié)合的不足。 所以本設計采用的仿真軟件是Proteus軟件,通過它實現(xiàn)電路圖的繪制,并與Keil軟件進行相關(guān)的調(diào)試。6.3 仿真結(jié)果 將Keil軟件成的.hex文件加載到單片機內(nèi),并在Proteus軟件里仿真,會在液晶顯示屏內(nèi)看到溫度顯示,如圖17所。其中60度是系統(tǒng)設定的默認溫度,即目標溫度;27度是DS18B20溫度傳感器的溫度,即實際溫度。在顯示27度之前,會看到DS18B20溫度傳感器顯示85度,85度的產(chǎn)生是由于溫度傳感器讀取過快,還沒有復位,但當運行一會之后溫度傳感器就會復位。 圖17 仿真圖6.4 調(diào)試結(jié)果 溫度調(diào)節(jié)效果如下: (1)通電源,打開開關(guān),液晶顯示情況如圖18所示,其中TO表示目標溫度,NO表示實際溫度。圖18 通電后,液晶屏顯示情況(2) 通電一段時間后,隨著溫度的上升,目標溫度與實際溫度的差大于3度,且目標溫度是60度,此時占空比為1/3,周期為15000us。此時液晶顯示情況,如圖19所示。 圖19 通電一段時間后,液晶屏顯示情況 (3) 通電一段時間后,目標溫度與實際溫度的差小于等于3度,此時占空比為1/3,周期為15000us。此時液晶顯示情況,如圖20所示。圖20 液晶顯示情況(4)通過按鍵S2,將目標溫度增至86度,且目標溫度與實際溫度的差大于3度,此時占空比為100%,周期為10000us。此時液晶顯示情況,如圖21所示。圖21 液晶顯示情況(5)通過按鍵S3,將目標溫度減至80度,此時占空比為0,周期不定,自然冷卻。此時液晶顯示情況,如圖22所示。圖22 液晶顯示情況7 小結(jié) 本次的畢業(yè)設計,我基本上實現(xiàn)了“基于單片機實現(xiàn)的PWM溫度控制系統(tǒng)的設計”。從選擇單片機,并在研究單片機的管腳性能基礎上,設計出相應的電路;通過設計程序,調(diào)試程序,把設計的相應電路通過Proteus軟件以及keil軟件結(jié)合起來,達到實現(xiàn)系統(tǒng)功能的設計,在仿真的基礎上,確立電路以及程序的正確性,其中不足的是,Proteus軟件當中沒有PTC熱敏電阻元件,而是通過NTC熱敏電阻元件替代,不能實現(xiàn)相應的溫度動態(tài)顯示,只能顯示一下傳感器DS18B20的溫度,以及程序設定的默認溫度60度,看不到相應的PWM控制加熱的效果,看不到具體的溫度上升;在仿真的基礎上完成實物,通過實物看到了具體的溫度上升顯示,基本完成設計的要求,不足之處,本設計是選擇通過軟件延時模擬進行的脈寬調(diào)制以及與閉環(huán)系統(tǒng)結(jié)合,不能得到準確的頻率值,進而不能算出固定的周期。從這次設計中,我學到很多知識,體會到理論聯(lián)系實際的好處,充分鍛煉了我的動手能力,提高了我的思維能力,專業(yè)知識更加完善,對自己今后的學習、工作都有很大的幫助。參考文獻:1 孫立志.PWM與數(shù)字化電動機控制技術(shù)應用.北京.中國電力出版社,2008.2 劉昭斌.單片機控制的溫度控制系統(tǒng).蘭州石化職業(yè)技術(shù)學院學報(綜合版),1992.3 周志敏 周紀海 紀愛華等.驅(qū)動電路設計與應用.北京.人民郵電出版社,2006.4 求是科技.單片機典型模塊設計實例導航. 人民郵電出版社,2004.8.5 周堅.單片機輕松入門.北京航空航天大學出版社,2004.2.6 沙占友 王彥朋 孟志永等.單片機外圍電路設計.電子工業(yè)出版社,2003.7 何立民.單片機應用系統(tǒng)設計.北京航空航天大學出版社,1994.24-38.8 楊素行.模擬電子技術(shù)基礎簡明教程.高等教育出版社. 2003.9 鄒應全.51系列單片機原理與實驗教程.西安電子科技大學出版社,2007.12.10 陳明.一種數(shù)字可調(diào)的升壓型開關(guān)電源的設計與實現(xiàn).西部工控11 梁坤 胡鴻至等.基于單片機功能的數(shù)控恒流源研制.桂林電子科技大學.12 Alou P.Cobos J A.Uceda J,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 圖書館美術(shù)推廣教研計劃
- 管理層培訓聽課評課心得體會
- 學校工會委員職責和工作流程
- 銀行業(yè)電子存款結(jié)算風險防范措施
- 2025年物流配送新年工作計劃
- 教師信息化教學能力評估與提升計劃
- 高校教師培訓工作流程
- 展覽場館安全防護措施
- 一年級閱讀興趣激發(fā)計劃
- 幼兒園園長午間管理工作流程
- 西藏幼教筆試題庫及答案
- 2025年人教遼寧版八年級語文下冊 第二學期 期末測試卷
- DB12T 1379-2024生豬規(guī)模養(yǎng)殖場消毒技術(shù)規(guī)范
- 統(tǒng)編版語文一年級上冊新教材解讀及教學建議 課件
- 托養(yǎng)中心培訓
- 醫(yī)院6S管理培訓課件
- 融資擔保行業(yè)2024年信用回顧與2025年展望 -新世紀
- 醫(yī)院反腐倡廉廉潔行醫(yī)專題黨課宣講課件
- 抗精神病與精神藥品區(qū)別
- 手術(shù)室抗菌藥物的使用
- 高速公路改擴建工程實施性交通組織方案
評論
0/150
提交評論