freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機的水溫控制系統(tǒng)—畢業(yè)設(shè)計論文(編輯修改稿)

2025-04-03 12:04 本頁面
 

【文章內(nèi)容簡介】 主要完成初始化,鍵盤設(shè)定閾值溫度,設(shè)好后進入溫度采集模塊,并顯示實時溫度,再進入 PID 環(huán)節(jié) 進行運算,來控制 PWM 波的輸出對溫度進行調(diào)節(jié),每執(zhí)行一次都要判斷是否需要返回重新設(shè)置閾值溫度,若是需要,則返回到設(shè)置溫度環(huán)節(jié),否則 則是重復(fù)執(zhí)行上述過程 [8]。 如下圖 51 則是主程序的流程圖,也就是我的編程邏輯順序。 圖 51 主程序流程圖 13 PID 模塊流程圖的搭建 PID 模塊是本次設(shè)計的一個亮點和重點模塊,因為本次畢業(yè)設(shè)計重在要求用PID 算法來控制溫度變化達到恒溫的目的,所以 PID 模塊的編寫成為了本次設(shè)計的重中之重,根據(jù)之前所學(xué)自動控制原理,搭建系統(tǒng)閉環(huán)流程圖,并且根據(jù)其算法來進行編程。在本程 序中,以閾值溫度與實時檢測溫度的差值作為偏差給定 ek,根據(jù) PID 算法求出控制量 uk,本次設(shè)計中在根據(jù) uk 的變化去調(diào)節(jié)輸出 PWM 波的占空比,從而來實現(xiàn)加熱快慢,達到控制溫度的目的。如下圖 52 為 PID 環(huán)節(jié)。 圖 52 PID 模塊流程圖 定時器模塊流程圖的搭建 定時器中斷作為本次設(shè)計中必不可少的一部分, 用來通過中斷 來產(chǎn)生 PWM波。本次設(shè)計中, 設(shè)計為每 50毫秒進一次定時器中斷,調(diào)節(jié)周期為 5秒, 同時 僅當進入 PID調(diào)節(jié)時候 (即檢測溫度與閾值溫度之差為 15攝氏度以內(nèi)的時候) 才會開啟定時器中斷, 來進行 PWM 波的占空比調(diào)節(jié)。 作為關(guān)鍵部分, 本人通過仔細的查閱資料,和分析作用過程編寫出此模塊詳細的運行流程,進一步為編寫程序提供幫助。 如下圖 53 是定時器中斷的流程 [9]: 14 圖 53 時器中斷流程圖 軟件模塊的設(shè)計中心就是圍繞以上三個大部分,如其他的溫度采集模塊,鍵盤模塊以及顯示模塊都是作為一種不可少 , 但是不作為核心來出現(xiàn) 的,在此處 就不一一論述,總之,軟件是一個系統(tǒng)的大腦,只有大腦好,整個系統(tǒng)工作才會完美 ,對于一個合格的系統(tǒng)設(shè)計者來講,只有有著嫻熟的編程能力才能勝任系統(tǒng)的完美開發(fā) 。 15 第 6 章 系統(tǒng)調(diào)試 硬件和軟件系統(tǒng)都做好之后,就要進行硬軟結(jié)合,系統(tǒng)聯(lián)調(diào)了, 經(jīng)過多日努力,終于可以進行系統(tǒng)的調(diào)試,并根據(jù)之前的設(shè)計目標來記錄相應(yīng)的實驗數(shù)據(jù),并做出對應(yīng)的波形,進一步的來驗證系統(tǒng)的功能是否完備 [10]。 溫度時間變化曲線的繪制 系統(tǒng)進行調(diào)試,由于本系統(tǒng)主要是看水溫的變化與時間的關(guān)系,所以記錄實驗現(xiàn)象時候,分別選取了閾值溫度為 55 度以及 60 度時候記錄了相應(yīng)的數(shù)據(jù),來繪制溫度時間變化曲線,如下 : 表 61 閾值溫度為 55 度時候的溫度時間關(guān)系 時間( min) 0 1 2 3 4 5 6 溫度值( 度 ) 25 26 29 33 37 42 45 48 50 51 52 53 54 時間( min) 7 8 9 10 11 溫度值( 度 ) 55 55 55 55 55 下圖 61 根據(jù)上表所繪制的溫度時間變化曲線 : 溫度變化曲線01020304050600 2 4 6 8 10 12時間( 分鐘)溫度值(攝氏度)系列1 圖 61 閾值溫度為 55度時的溫度時間變化曲線 16 表 62 閾值溫度為 60 度時候的溫度時間關(guān)系 時間( min) 0 1 2 3 4 5 6 溫 度值( 度 ) 26 28 30 34 38 43 47 50 53 54 56 67 58 時間( min) 7 8 9 10 11 溫 度值( 度 ) 59 60 60 60 60 60 59 59 60 60 60 下圖 62 為根據(jù)上表所繪制的溫度時間變化曲線 : 溫度變化曲線0102030405060700 2 4 6 8 10 12時間(分鐘)溫度(攝氏度)系列1 圖 62 閾值溫度為 60度時 的溫度時間變化曲線 分析曲線并獲得相應(yīng)結(jié)論 通過上面兩條溫度時間變化曲線的繪制,不難發(fā)現(xiàn),本次設(shè)計的恒溫控制系統(tǒng)很完美的實現(xiàn)了所預(yù)定的目標。 ( 1) 首先可以 實現(xiàn)按鍵設(shè)定溫度,用五位數(shù)碼管顯示實時溫度; ( 2)溫度控制范圍為 0~100 度,測量誤差為士 度; ( 3)恒溫控制并且可以快速達到預(yù)設(shè)溫度且?guī)缀鯚o超調(diào); 綜上三點,本系統(tǒng)都完美的實現(xiàn)了,本次設(shè)計可以說是比較成功的,但相對也有不足之處,如調(diào)節(jié)時間還有些偏慢, 過渡時間過長, PID 參數(shù)還可以進一步的優(yōu)化,來更加快速準確的達到閾值溫度,并 且仍然無超調(diào), 所以,作為本系統(tǒng)仍有很大發(fā)揮之處 , 17 但是就目前來看,用這款打片機只有達到這樣的目標,也是很好的完成了設(shè)計之初的目的,可以達到要求的控制效果 。 18 第 7 章 結(jié) 論 通過本次 的設(shè)計,使我們不僅對單片機這門課程有了更深刻的認一識,懂得 了如何運用課本 知識結(jié)合實際來完成定時器的顯示和編程方法以及數(shù)碼顯示電路的驅(qū)動力一法,使我們能夠很快的適應(yīng)現(xiàn)代控制技術(shù)發(fā)展的需求,同時也提高了 我們的思維能力和實際操作能力,為以后更好的走上工作崗位奠定 了 堅實的基礎(chǔ) 。 基于 89C51單片機溫度控制系統(tǒng),利用溫度傳感變送器 DS18B20,將采樣到的溫度信號輸入到單片機中,再由單片機作為 整個溫控系統(tǒng) 的控制器,根據(jù)測量溫度與設(shè)定溫度的差值和 89C51 單片機的算法生成控制信號,控制電熱杯的通電與斷電。整個系統(tǒng)結(jié)構(gòu)緊湊、所用芯片少、控制精度高。 同時硬件結(jié)構(gòu)簡單明了,對于工業(yè)控制領(lǐng)域來講,有很大的實用性,控制簡單但是準確,并且故障點少,不易出現(xiàn)問題,故而本系統(tǒng)可以很好地應(yīng)用到一些工業(yè)領(lǐng)域中去。 在軟件上,基于 89C51 單片機的算法的溫度控制系統(tǒng)采用了經(jīng)典的 89C51 單片機的算法, 從某個角度上說這種算法優(yōu)于傳統(tǒng)的控制算法,有更穩(wěn)定、控制精度更高等優(yōu)點,而控制量的輸出上采用了模擬的 PWM 變 換,免去了一級 D/A 轉(zhuǎn)換器,減小了成本,且簡單易行。在程序的編寫過程中特別注意了人機的交互性及各種功能的實現(xiàn),如鍵盤控制管理程序和 89C51 單片機的運算程序都是經(jīng)過深思熟慮而精心設(shè)計,使系統(tǒng)的操作界而更容易讓人理解,同時使用鍵盤輸入控制溫度,雖然一定程度上增加了程序的復(fù)雜性,但同時也使系統(tǒng)的溫度更容易設(shè)定。 當然,系統(tǒng)同時也存在幾點缺點。在選擇 STC89C51 單片 機的控制器時用了速度相對較 慢的 單片 機,若采用速度更快的單時鐘周期系列的單片機,提高采樣頻率,控制精度將會更高。 同時本系統(tǒng)沒有采用與上位機通信的方式,這樣在實際的應(yīng)用中會有些不便。 另外此設(shè)計雖然能夠完成溫度的顯示和控制,但是 功能和精度有待于進一步提高。 以后可以通過加入 PID 算法優(yōu)化控制功能,并通過液晶顯示屏實時顯示溫度。 19 致 謝 經(jīng)過三個月的努力,我從一個對軟件設(shè)計不太了解的新手成長為一個可以很輕松的編出一套相對比較綜合的程序,并且如期完成了我的畢業(yè)設(shè)計,我感覺自己的成長真的好大,在這里我不得不說一下我的設(shè)計艱辛與在這個過程中 那些不離不棄的支持我的可愛的人們。 首先, 在本次設(shè)計中,特別感謝郭老師對我的幫助,為我提供了 硬件上的幫助,同時對我在思路的拓展方面都有點播, 并且不時的問我遇到了什么困難,需要那些幫助,對于我能夠順利的做好畢業(yè)設(shè)計有很大的作用 ; 其次 感謝在畢業(yè)設(shè)計期間曾經(jīng)在精神上和物質(zhì)上支持的同學(xué)們, 是你們,讓我在最后的大學(xué)生活中感到了溫暖不孤單,真心感謝大家。 最后感謝教過我的各位老師,是您們讓我從一個青澀的什么不太懂得學(xué)生成長為一個對電氣專業(yè)有相當了解的合格大學(xué)生,在畢業(yè)之際,真心感謝老師們的教導(dǎo) ! 20 參考 文獻 [1] 胡壽松 編著《 自動控制原理 》 .第五版 .北京:科學(xué)出版社 .2021 [2] 劉建清 編著《 輕松玩轉(zhuǎn) 51 單片機 C 語言 》 .北京:北京航空航天大學(xué)出版社 . 第一版 . . [3] 陸斌 編著《 21天學(xué)通 51單片機開發(fā) 》 . 北京 :電子工業(yè)出版社 . [4] 夏世英 編著《 關(guān)于電熱水器模糊 PID 水溫控制系統(tǒng)的設(shè)計 》 .隴東學(xué)院學(xué)報 .文章編號: 16741730( 2021) 04003103. [5] 《電子制作》 [6] ( 美 ) Bjarne Stroustrup 《 THE C++ PROGRAMMING LANGUAGE, SPECIAL EDITION》 Addison Wesley 1997 [7] 趙麗娟,邵欣編著《基于單片機的溫度監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)》機械制造 [8] 武慶生 仇梅 編著 《單片機原理與應(yīng)用》 電子科技大學(xué)出版社 [9] 譚浩強 編著《 C 語言設(shè)計》 .北京:清華大學(xué)出版社 1999 年 [10] 王彬 任艷穎 編著《 Digital IC System Design》 西安電子科技大學(xué)出版社 21 附 錄 系統(tǒng)源程序 //求取這個溫度數(shù)值的每一位 void bcd( uint m) {dubf[3]=m/100: dubf[2]=m/10%10: dubf[1]=m%10: dubf[0]=m*10%10: } //將溫度數(shù)值用動態(tài)顯示的方法顯示在五位數(shù)碼管上 void display( void) {uint g,i: g=20: while( g) { for( i=0: i5: i++) {if( i==4) {P0=0xbf: P2=0xbf: } else {P0=table[dubf[i]]: //選擇相應(yīng)的七段碼值并送入段選 P2=table2[i]: } //選相應(yīng)的位并送入 delayms( 5) : } } } //關(guān)掉顯示器 void guan( void) 22 {P0=0xff: P2= 0xff: } //設(shè)置目標溫度值 void mubiaowendu( void) { while( !flag) {bcd( tempset) : display() : delayms( 30) : if( inc10==0) {delayms( 70) : if( inc10==0) {dubf[2]=dubf[2]+1: if( dubf[2]==10) {dubf[3]=dubf[3]+1:: dubf[2]=0: } } } if( inc==0) {delayms( 70) : if( inc==0) {dubf[1]=dubf[1]+1: if( dubf[1]==10) {dubf[2]=dubf[2]+1: dubf[1]=0: } } } tempset=dubf[3]*100+dubf[2]*10+dubf[1]: if( qd==0) {delayms( 70) : if( qd==0) 23 {flag=1: guan() : } } } } //定時器 0 中斷函數(shù) void dingshiqi( void) interrupt 1 //定時器 0中斷處理函數(shù) ,定時 50ms自動進入中斷 {static uchar i=0: //必須是靜態(tài)變量否則一出程序就歸零了,無法正常工作 i++: TH0=( 6553550000) /256: //高 8 位放的值 ,重裝初值 ,重新計時 TL0=( 6553550000) %256: //低 8 位放的值 if( i==uk) {pwm=1: }//高電平的時間為( 50*uk) ms ,通過調(diào)節(jié) uk來調(diào)節(jié)固態(tài)繼電器的通斷時間來調(diào)節(jié)加熱速度 if( i==100) {pwm=0: i=0: }//pwm 的周期為 100*50ms } //pid 調(diào)節(jié)函數(shù) void pid( void) { ek=tempsettemp: //求取當前偏差 if(( ek15) ||( ek==15)) //當偏差值在 10 度內(nèi)不用 pid 調(diào)節(jié)直接加熱 {EA=0: pwm=0: } if(( ek0) amp。amp。( ek15)) //當溫差在 10 度 內(nèi)進行 pid 調(diào)節(jié) { EA=1: ek2=ek: //防止下一次裝入新的 ek 而把上次的丟失要先裝入 ek1 中去 ek1=ek: 24 eksum+=ek: //求取累計偏差 uk=kp*ek+ki*eksum+kd*( ek1ek2) : if( uk80)
點擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1