【文章內(nèi)容簡介】
比較,做出相應(yīng)的控制,開啟加熱器。當(dāng)用戶需要比實(shí)時(shí)溫度低的溫度時(shí),此電路可以利用風(fēng)扇降溫。系統(tǒng)運(yùn)行過程中的各種狀態(tài)參量均可由數(shù)碼管實(shí)時(shí)顯示。 系統(tǒng)各功能模塊電路設(shè)計(jì) 最小系統(tǒng)AT89S52單片機(jī)為40引腳雙列直插芯片,有四個(gè)I/O口(P0、PP2 、P3),AT89S52單片機(jī)共有4個(gè)8位的 I/O口(P0、P1 、P2 、P3),每一條I/O線都能獨(dú)立地作為輸出或輸入。單片機(jī)的最小系統(tǒng)電路原理圖如圖32所示,18引腳和19引腳接時(shí)鐘電路,XTAL1接外部晶振和微調(diào)電容的一端,在片內(nèi)它是振蕩器倒相放大器的輸入,基于單片機(jī)的電加熱恒溫控制器的設(shè)計(jì)10XTAL2接外部晶振和微調(diào)電容的另一端,在片內(nèi)它是振蕩器倒相放大器的輸出。第9引腳為復(fù)位輸入端,接上電容,電阻及開關(guān)后能夠形成上電復(fù)位電路。圖 32 最小系統(tǒng)電路原理圖11 溫度采集電路的設(shè)計(jì)溫度采集電路模塊如圖33所示。DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、配置寄存器。其中DQ為數(shù)字信號輸入/輸出端;GND為電源地;VDD 為外接供電電源輸入端。圖 33 溫度采集電路原理圖DS18B20中的溫度傳感器可完成對溫度的測量,以12位轉(zhuǎn)化為例:用16位符號擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,℃/LSB 形式表達(dá),其中S 為符號位。這是12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲在DS18B20的兩個(gè)8比特的RAM中,二進(jìn)制中的前面5位是符號位,如果測得的溫度大于0,這5位為0,只要將測到的數(shù);如果溫度小于0,這5位為1,測到的數(shù)值需要取。 鍵盤和顯示的設(shè)計(jì)鍵盤采用行列式和外部中斷相結(jié)合的方法,圖34中各按鍵的功能定義如下表1。其中設(shè)置鍵與單片機(jī)的INT0 腳相連,S0 SYES、NO用四行三列接單片機(jī)P0 口,REST 鍵為硬件復(fù)位鍵,與R、C構(gòu)成復(fù)位電路。鍵盤模塊電路如圖 34所示。表 31:按鍵功能按鍵 鍵名 功能REST 復(fù)位鍵 使系統(tǒng)復(fù)位RET 設(shè)置鍵 使系統(tǒng)產(chǎn)生中斷,進(jìn)入設(shè)置狀態(tài)S0——S9 數(shù)字鍵 設(shè)置用戶需要的溫度YES 確認(rèn)鍵 用戶設(shè)定目標(biāo)溫度后進(jìn)行確認(rèn)NO 清除鍵 用戶設(shè)定溫度錯(cuò)誤或按了 YES 鍵后使用基于單片機(jī)的電加熱恒溫控制器的設(shè)計(jì)12圖34 鍵盤接口電路原理圖顯示采用4位共陽LED 顯示方式 ,顯示內(nèi)容有溫度值的十位、個(gè)位及小數(shù)點(diǎn)后兩位。用P2口作為段控碼輸出,并用74ALS244作驅(qū)動。— 輸出,用PNP型三極管做驅(qū)動。模塊電路如圖 35所示。圖 35 顯示接口電路原理圖 加熱控制電路的設(shè)計(jì)用于在閉環(huán)控制系統(tǒng)中對被控對象實(shí)施控制,被控對象為電熱杯,其功率為400W,采用對加在電熱杯兩端的電壓進(jìn)行通斷的方法進(jìn)行控制,以實(shí)現(xiàn)對水加熱功率的調(diào)整,從而達(dá)到對水溫控制的目的。對電爐絲通斷的控制采用SSR40DA固態(tài)繼電器。它的使用非常簡單,只要在控制端TTL 電平,即可實(shí)現(xiàn)對繼電器的開關(guān),使用時(shí)完全可以用NPN 型三極管接成電壓跟隨器的形式驅(qū)動。當(dāng)單片機(jī)的 點(diǎn)平時(shí),三極管驅(qū)動固態(tài)繼電器工作接通加熱器工作,固態(tài)繼電器關(guān)斷,加熱器不工作??刂齐娐穲D如圖36所示。13圖 36 加熱控制電路原理圖 報(bào)警及指示燈電路的設(shè)計(jì)當(dāng)設(shè)定的目標(biāo)溫度達(dá)到時(shí)需用聲音的形式提醒用戶,此時(shí)蜂鳴器為三聲斷續(xù)的滴答滴答的叫聲。系統(tǒng)中我們設(shè)計(jì)了越限報(bào)警,當(dāng)溫度低于設(shè)置的目標(biāo)溫度10度或高于10度時(shí)蜂鳴器為連續(xù)不斷的滴答滴答叫聲。,三極管導(dǎo)通,蜂鳴器工作發(fā)出報(bào)警聲。,蜂鳴器不工作。D1為電熱杯加熱指示燈,;D0為檢測到 DS18B20的指示,高電平有效;D10為降溫指示燈,低電平有效。報(bào)警及指示燈電路如圖37所示。圖 37 報(bào)警及指示燈電路原理圖基于單片機(jī)的電加熱恒溫控制器的設(shè)計(jì)14 時(shí)鐘電路及外部復(fù)位電路單片機(jī)內(nèi)部有一個(gè)高增益反向放大器,輸入端為芯片引腳 ,輸出端為引腳 。而在芯片外部 和 之間跨接晶體振蕩器和微調(diào)電容,從而構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。晶體震蕩頻率高,則系統(tǒng)的時(shí)鐘頻率也高,單片機(jī)運(yùn)行速度也就快,但反過來運(yùn)行速度快對存儲器的速度要求就高,對印制電路板的工藝要求也高,所以,這里使用震蕩頻率為12MHz 的石英晶體。震蕩電路產(chǎn)生的震蕩脈沖并不直接是使用,而是經(jīng)分頻后再為系統(tǒng)所用,震蕩脈沖經(jīng)過二分頻后才作為系統(tǒng)的時(shí)鐘信號。在設(shè)計(jì)電路板時(shí),振蕩器和電容應(yīng)盡量靠近單片機(jī),以避免干擾。需要注意的是:電路板時(shí),振蕩器和電容應(yīng)盡量安裝得與單片機(jī)靠近,以減小寄生電容的存在更好的保障振蕩器穩(wěn)定、可靠的工作電路圖如圖38所示。圖38 時(shí)鐘電路原理圖單片機(jī)的復(fù)位電路分上電復(fù)位和按鍵復(fù)位兩種方式。A. 上電復(fù)位:在加電之后通過外部復(fù)位電路的電容充電來實(shí)現(xiàn)的。當(dāng)Vcc的上升時(shí)間不超過1ms,就可以實(shí)現(xiàn)自動上電復(fù)位,即接通電源就完成了系統(tǒng)的初始化電路原理圖。RST上的電壓必須保證在斯密特觸發(fā)器的閥值電壓以上足夠長時(shí)間,滿足復(fù)位操作的要求。B. 按鍵復(fù)位:程序運(yùn)行出錯(cuò)或操作錯(cuò)誤使系統(tǒng)處于死鎖狀態(tài)時(shí),為了擺脫困境,也需按復(fù)位鍵以重新啟動。RST引腳是復(fù)位信號的輸入端,復(fù)位信號是高電平有效。按鍵復(fù)位又分按鍵脈沖復(fù)位(圖39)和按鍵電平復(fù)位。電平復(fù)位將復(fù)位端通過電阻與Vcc相連,按鍵脈沖復(fù)位是利用RC 分電路產(chǎn)生正脈沖來達(dá)到復(fù)位的。C. 注意:因?yàn)榘存I脈沖復(fù)位是利用RC微分電路產(chǎn)生正脈沖來達(dá)到復(fù)位的。所以電平復(fù)位要將復(fù)位端通過電阻與Vcc 、C的值選擇不當(dāng),使復(fù)位時(shí)間過長,單片機(jī)將處于循環(huán)復(fù)位狀態(tài)。故本設(shè)計(jì)采用按鍵復(fù)位。15圖 39 外部復(fù)位電路原理圖 電源電路控制系統(tǒng)主控制部分電源需要用5V直流電源供電,其電路如圖 310所示,把頻率為50Hz、有效值為 220V的單相交流電壓轉(zhuǎn)換為幅值穩(wěn)定的5V直流電壓。其主要原理是把單相交流電經(jīng) 過電源變壓器、整流電路、濾波電路、穩(wěn)壓電路轉(zhuǎn)換成穩(wěn)定的直流。由于輸入電壓為電網(wǎng)電壓,一般情況下所需直流電壓的數(shù)值和電網(wǎng)電壓的有效值相差較大,因而電源變壓器的作用顯現(xiàn)出來起到降壓作用。降壓后還是交流電壓,所以需要整流電路把交流電壓轉(zhuǎn)換成直流電壓。由于經(jīng)整流電路整流后的電壓含有較大的交流分量,會影響到負(fù)載電路的正常工作。需通過低通濾波電路濾波,使輸出電壓平滑。穩(wěn)壓電路的功能是使輸出直流電壓基本不受電網(wǎng)電壓波動和負(fù)載電阻變化的影響,從而獲得穩(wěn)定性足夠高的直流電壓。電路使用集成穩(wěn)壓芯片LM7805解決了電源穩(wěn)壓問題?;趩纹瑱C(jī)的電加熱恒溫控制器的設(shè)計(jì)16圖 310 電源部分連線原理圖 原理圖的設(shè)計(jì)A. 使用Protel進(jìn)行電路板設(shè)計(jì)原理圖,步驟如圖311所示。17開始添加元件庫 A d d /R e m o v e L i b r a r y調(diào)出元件 F i n d P l a c e元件布局連線設(shè)置元件屬性結(jié)束新建原理圖 N e w S C H存盤 S a v e圖 311 protel 設(shè)計(jì)的流程圖B. 在完成原理圖的基礎(chǔ)上生成PCB,其步驟如圖312所示?;趩纹瑱C(jī)的電加熱恒溫控制器的設(shè)計(jì)18開始結(jié)束規(guī)劃電路板添加元件庫A d d / R e m o v e更新 P C B元件布局走線設(shè)置絲印字新建印制板圖 N e w P C B存盤 S a v e圖 312 制作 PCB 板的流程194.軟件系統(tǒng)的設(shè)計(jì)系統(tǒng)的軟件由三大模塊組成:主程序模塊、溫度采集模塊、鍵盤模塊、顯示模塊、中斷模塊和運(yùn)算控制模塊。. 主程序模塊主程序主要完成加熱控制系統(tǒng)各部件的初始化和實(shí)現(xiàn)各功能子程序的調(diào)用,以及實(shí)際測量中各個(gè)功能模塊的協(xié)調(diào)在無外部中斷申請時(shí),單片機(jī)通過循環(huán)對外部溫度進(jìn)行實(shí)時(shí)顯示。把設(shè)置鍵作為外部中斷0,以便能對數(shù)字按鍵進(jìn)行相應(yīng)處理。主程序流程圖如圖41所示。開始系統(tǒng)初始化讀取溫度溫度顯示調(diào)比較程序是否有鍵按下 ? 按鍵處理報(bào)警越限 ?繼電器控制YYNN圖 41 主程序流程圖. 溫度采集模塊溫度測量通過DS18B20數(shù)字溫度傳感器測量將測得量轉(zhuǎn)換為數(shù)字量接入AT89S52單片機(jī)中。在通過與控制溫度比較對固態(tài)繼電器進(jìn)行控制。溫度采集流程圖如圖42所示?;趩纹瑱C(jī)的電加熱恒溫控制器的設(shè)計(jì)20開始D S 1 8 B 2 0 初始化跳過 R O M溫度轉(zhuǎn)換指令延時(shí)等待D S 1 8 B 2 0 初始化匹配 R O M讀出溫度指令讀出溫度值結(jié)束圖 42 溫度采集流程圖 鍵盤模塊系統(tǒng)設(shè)置了14鍵的鍵盤用于實(shí)現(xiàn)人機(jī)交換。用戶可以通過鍵盤直接設(shè)置和查詢考勤機(jī)的相關(guān)參數(shù)。14個(gè)按鍵分為4排,在 P1口高4位和低4位的邏輯控制下輪流掃描。對應(yīng)代表 0~9 十個(gè)數(shù)字鍵及“Set”等4 個(gè)功能鍵。鍵盤掃描流程圖如圖43所示。21 開始返回鍵盤掃描建立有效標(biāo)志計(jì)算鍵值建立無效標(biāo)志掃描鍵盤延時(shí)去鍵抖動有鍵閉合 ?找到閉合鍵 ?閉合鍵釋放 ?NYYYNN圖 43 鍵盤掃描流程圖 顯示模塊4位LED數(shù)碼管顯示,采用的是動態(tài)掃描,其中不同位顯示時(shí)間間隔可以通過調(diào)整延時(shí)程序的延時(shí)長短來完成。數(shù)碼管顯示的時(shí)間間隔也能確定數(shù)碼管顯示時(shí)的亮度,若顯示的時(shí)間間隔長,顯示時(shí)數(shù)碼管的亮度將亮些。若顯示時(shí)間間隔過長的話,數(shù)碼管顯示時(shí)將產(chǎn)生閃爍現(xiàn)象。所以,在調(diào)顯示時(shí)間間隔時(shí)要考慮到數(shù)碼管的亮度和不產(chǎn)生閃爍現(xiàn)象,其流程圖如圖44所示。基于單片機(jī)的電加熱恒溫控制器的設(shè)計(jì)22開始置七段碼首地址調(diào)延時(shí) 1 u s 子程序?qū)⑵叨未a送顯示端口送位掃描信號四個(gè)端口的數(shù)據(jù)全送完否 ?四位掃描完否 ?置下一組七段碼起始位置YNYN圖 44 顯示流程圖 中斷模塊圖45為中斷子程序流程圖,程序執(zhí)行過程中,允許外部或內(nèi)部事件通過硬件打斷程序的執(zhí)行,使其轉(zhuǎn)向?yàn)樘幚硗獠炕騼?nèi)部事件的中斷服務(wù)程序中去;完成中斷服務(wù)程序后,CPU繼續(xù)原來被打斷的程序,這個(gè)主要是為了保障整個(gè)軟件程序在運(yùn)行時(shí)可以達(dá)到中斷從而使系統(tǒng)進(jìn)一步達(dá)到完善。23開始中斷保護(hù)寄存器內(nèi)容調(diào)顯示子程序調(diào)鍵處理子程序調(diào)溫度處理子程序返回恢復(fù)寄存器內(nèi)容調(diào)鍵掃描子程序調(diào)比較子程序溫度設(shè)定完 ?YN圖 45 中斷流程圖. 運(yùn)算控制模塊系統(tǒng)為一溫度控制系統(tǒng),由于無法確切確定電爐的物理模型,因而無法建立其數(shù)學(xué)模型和傳遞函數(shù)。加熱器為一慣性系統(tǒng),采用模糊控制的方法,通過多次溫度測量模糊計(jì)算當(dāng)用戶設(shè)定目標(biāo)溫度時(shí)需提前關(guān)斷加熱器的溫度,利用加熱器自身的熱慣性使溫度上升到其設(shè)定溫度。每隔5 攝氏度我們進(jìn)行一次溫度測量,并當(dāng)達(dá)到其溫度時(shí)關(guān)斷加熱器記錄下因加熱器的熱慣性而上升的溫度值。從而可以建立熱慣性的溫度差值表,在程序中利用查表法,查出相應(yīng)設(shè)定溫度對應(yīng)的關(guān)斷溫度。通過對設(shè)置的目標(biāo)溫度與溫控系統(tǒng)監(jiān)測溫度進(jìn)行差值處理就可近似的求出單片機(jī)的提前關(guān)斷溫度。程序流程圖如圖44所示。基于單片機(jī)的電加熱恒溫控制器的設(shè)計(jì)24開始設(shè)溫 ( 3 8 H ) ≠ 實(shí)溫 ( 2 9 H 單元 )?設(shè)溫 < 2 5 度 ? 設(shè)溫 < 5 0 度 ? 設(shè)溫 < 8 0 度 ? 設(shè)溫 < 9 0 度 ?設(shè)溫 實(shí)溫 > 3 ? 設(shè)溫 實(shí)溫 > 3 ? 設(shè)溫 實(shí)溫 > 3 ? 設(shè)溫 實(shí)溫 > 3 ?設(shè)溫 ← 設(shè)溫 2 度設(shè)溫 ← 實(shí)溫 + 1 . 4 度設(shè)溫 ← 實(shí)溫 + 1 度設(shè)溫 ← 設(shè)溫 1 度設(shè)溫 ← 實(shí)溫 + 1 . 2 度設(shè)溫 ← 設(shè)溫 2 度設(shè)溫 ← 實(shí)溫 + 1 . 5 度設(shè)溫 ← 設(shè)溫 2 度返回YYYYYYYYYNN N N NNNNN圖 46 模糊控制算法子程序流程圖25設(shè)計(jì)總結(jié)在剛一拿到這個(gè)設(shè)計(jì)題目時(shí),我很茫然,不知道怎么著手去弄,有時(shí)候感覺自己就快堅(jiān)持不下去了,感覺很辛苦,還產(chǎn)生了放棄了的念頭,但是我還是堅(jiān)持下來了,因?yàn)槲抑浪鼘ξ襾碚f具有很大的挑戰(zhàn)性,我要去克服我的薄弱環(huán)節(jié),我選擇了拼搏,后來就慢慢的進(jìn)入了狀態(tài),思路也逐漸的清晰了,歷經(jīng)了幾個(gè)月的奮戰(zhàn),緊張而又充實(shí)的畢業(yè)設(shè)計(jì)終于落下了帷幕。回想這段日子的經(jīng)歷和感受,我感慨萬千,在這次畢業(yè)設(shè)計(jì)的過程中,我擁有了無數(shù)難忘的回憶和收獲。在感覺自己做的差不多的時(shí)候,我就將初稿拿給了我的老師,老師對我的設(shè)計(jì)進(jìn)行了仔細(xì)的研究,一項(xiàng)一項(xiàng)的對我講解,每一個(gè)部分都講解的很詳細(xì)透徹,對我提出了寶貴的意見,后來張老師將初稿修改后及時(shí)反饋給我,看了之后才發(fā)現(xiàn)論文中的論文漏洞很多,老師給了我很好的建議,至此,我發(fā)現(xiàn),要干好一件事并非那么簡單,但也不是很難,敷衍了事是萬萬不可的,對待任何事情都要認(rèn)真去思考,用思想來完成任務(wù)。一篇好的畢業(yè)設(shè)計(jì)不是寫出來的,而是修改出來的,這需要的是耐心,還要用心。在設(shè)計(jì)過程中,我遇到的問題很多,有些是在自己技術(shù)所在范圍之外,每當(dāng)無法實(shí)現(xiàn)自己的想法或者運(yùn)行不下去的時(shí)候,我就會出現(xiàn)浮躁的情緒,但是我沒有放棄,而是適時(shí)地調(diào)節(jié)自己的心態(tài),在同學(xué)老師的幫助下,完成了初次的設(shè)計(jì)。越是不懂的東西才要去學(xué),在學(xué)習(xí)的過程中你會收獲很多,其中一點(diǎn)就是互相學(xué)習(xí)是最好的學(xué)習(xí)途徑,在學(xué)習(xí)之后你會感覺