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

正文內(nèi)容

畢業(yè)論文-pid水溫控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)(編輯修改稿)

2025-02-12 21:31 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 圖 (三) 發(fā)揮部分設(shè)計(jì) PIC16F877 本身具有看門狗定時(shí)器,當(dāng)系統(tǒng)出現(xiàn)異常時(shí),能自動(dòng)進(jìn)行掉電保護(hù)和系統(tǒng)復(fù)位 。系統(tǒng)采用硬件計(jì)數(shù)器來(lái)計(jì)數(shù),提高 CPU 的工作效率。 XXX 大學(xué)本科畢業(yè)設(shè)計(jì) 9 三、 系統(tǒng) 軟件 設(shè)計(jì) (一) 程序的主流程圖 圖 6 主流程圖 在設(shè)計(jì)程序編寫(xiě)過(guò)程中,首先還有一系列的準(zhǔn)備工作。在這個(gè)程序中涉及到了許多的庫(kù)和組成文件,主要有: 、 、 、 、 、 、 。 //========================================= //函數(shù) : 主程序 //語(yǔ)法: main(void) //描述:、鍵盤掃描、溫度控制 //參數(shù):無(wú) //返回:無(wú) //=========================================== main(void) { int iKeyValue。 status = system_temperature_set。 guifgSpeechPlay = 0。 XXX 大學(xué)本科畢業(yè)設(shè)計(jì) 10 System_Initial()。 PIDinit()。 while(1) { System_ServiceLoop()。 //鍵盤掃描、去抖動(dòng)處理 iKeyValue = SP_GetCh()。 //取鍵值 key_value_process(iKeyValue)。 //鍵值處理 if(status == system_temperature_control) display_speech_ADC_temperature()。//測(cè)量溫度顯示、溫度播報(bào)、 PID計(jì)算 Clear_WatchDog()。 //清看門狗 System_ServiceLoop()。 //鍵盤掃描 if(fOut=0) turn_off_timerB()。 } } 從主程序中可以看出,在進(jìn)行一系列程序調(diào)用之前對(duì)系統(tǒng)進(jìn)行初始化,然后再對(duì)鍵盤程序有所反應(yīng)。進(jìn)而判斷是否有溫度采集到,有就進(jìn)行 A/D轉(zhuǎn)換和 PID計(jì)算,將其結(jié)果用來(lái)控制繼電器 。 (二) 各個(gè)功能模塊流程 系統(tǒng)中鍵盤掃描、 保溫 等子程序都通過(guò)查詢實(shí)現(xiàn),并采用 4MHz 的時(shí)鐘頻率,對(duì)指令的運(yùn)行時(shí)間進(jìn)行了精確計(jì)算和設(shè)計(jì),保證軟件的可靠性和穩(wěn)定性。 1. 溫度傳感器溫度數(shù)字采集部分 從 AD7416 讀數(shù)據(jù)是一或二字節(jié)的操作。讀配置寄存器的內(nèi)容是一個(gè)單字節(jié)的操作,若從溫度值寄存器中讀數(shù)據(jù)是一個(gè)二字節(jié)的操作(如 圖 8 所示)。 圖 7 AD7416 時(shí)序圖 圖 8 AD7416 時(shí)序圖 XXX 大學(xué)本科畢業(yè)設(shè)計(jì) 11 2. 讀數(shù)字溫度的流程圖 圖 9 讀數(shù)字溫度流程圖 3. 按鍵設(shè)置溫度部分 M 是記錄數(shù)的十位, N 是記錄數(shù)的個(gè)位;設(shè)置端口 1 即 RC0=0; RC1=1,設(shè)置端口 2即 RC0=1; RC1=0; t+1 顯示 應(yīng)答? 送地址 +讀 建立啟動(dòng)信號(hào) t=4? 開(kāi)始 結(jié)束 初始化 成功? 單片機(jī)接收 應(yīng)答? 接第一個(gè)數(shù) 送應(yīng)答 應(yīng)答? 接第二位數(shù) 單片機(jī)接收 應(yīng)答? 顯示 送應(yīng)答 建立停止信號(hào) 應(yīng)答? 應(yīng)答? N N XXX 大學(xué)本科畢業(yè)設(shè)計(jì) 12 圖 10 溫度設(shè)置框圖 4. 數(shù)字 PID 計(jì)算 由于單片機(jī)控制是一種采樣控制,它只能根據(jù)采樣時(shí)刻的偏差值計(jì)算控制量,因此式( 1)中的積分和微分項(xiàng)不能直接準(zhǔn)確計(jì)算,只能用數(shù)值計(jì)算的方法逼近。在采樣時(shí)刻t=iT(T為采樣周期 )。式( 1)所示的 PID調(diào)節(jié)規(guī)律可通過(guò)數(shù)值公式( 2)近似計(jì)算。 oiidij jiiPi ueeTTeTTeKu ????? ??? )]([ 10 ( 2) 由式( 2)可以得到: oiidij jiiPi ueeTTeTTeKu ????? ?????? ? )]([ 211011 ( 3) 由( 2) ( 3)可得增量式算法公式: 設(shè)端口 1? 開(kāi)始 M+1 N+1 M=10? N=10? M=2 N=0 結(jié)束 N 設(shè)置端口 2 N N 顯示數(shù)字 鍵盤松開(kāi)? XXX 大學(xué)本科畢業(yè)設(shè)計(jì) 13 1???? iii uuu )]2()[(211 ??? ?????? iiidiiiip eeeTTeTTeeK ][ 2 iiip eDIeeK ????? idiiip eKeKeK 2????? 這個(gè)計(jì)算 的過(guò)程可用一個(gè)簡(jiǎn)單的程序來(lái)實(shí)現(xiàn)。 //===================================== //函數(shù) : void PIDinit(void) //語(yǔ)法: void PIDinit(void) //描述: PID初始化 //參數(shù):無(wú) //返回:無(wú) //===================================== void PIDinit(void) { = 0。 = 0。 = 0。 } //==================================== //函數(shù) :float PIDCalc( PID *pp, int NextPoint ) //語(yǔ)法: float PIDCalc( PID *pp, int NextPoint ) //描述: PID計(jì)算 //參數(shù): PID 數(shù)值 采樣溫度值 //返回: PID輸出值 //==================================== float PIDCalc( PID *pp, int NextPoint ) { int dError, Error。 Error = ppSetPoint*10 NextPoint。 // 偏差 ppSumError += Error。 // 積分 dError = ppLastError ppPrevError。 // 當(dāng)前微分 ppPrevError = ppLastError。 ppLastError = Error。 return (ppProportion * Error // 比例項(xiàng) + ppIntegral * ppSumError // 積分項(xiàng) + ppDerivative * dError // 微分項(xiàng) )。 } XXX 大學(xué)本科畢業(yè)設(shè)計(jì) 14 圖 11 溫度控制框圖 5. 其他功能模塊 數(shù)據(jù)處理、 保溫、 定時(shí)計(jì)數(shù)等其他功能程序都根據(jù)程運(yùn)行時(shí)間進(jìn)行了統(tǒng)籌設(shè)計(jì),在此不再進(jìn)行詳述 。 四、 系統(tǒng) 測(cè)試與調(diào)試 (一) 電路測(cè)試 電路焊接無(wú)誤后,先將數(shù)字溫度傳感器放到水里, LED 會(huì)顯示出當(dāng)前水的溫度,再放一支標(biāo)準(zhǔn)溫度計(jì)與之比較,若幾乎相等,則說(shuō)明電路無(wú)誤;再設(shè)定目標(biāo)溫度,若可以自動(dòng)加熱,使達(dá)到目標(biāo)溫度,則說(shuō)明電路測(cè)試無(wú)誤,實(shí)驗(yàn)可以正常進(jìn)行 。 N 初始化 開(kāi)始 結(jié)束 計(jì)算 E 一次啟動(dòng)? C=0 計(jì)算 C 記錄當(dāng)溫 計(jì)算 U 返回 U XXX 大學(xué)本科畢業(yè)設(shè)計(jì) 15 (二) 儀器的使用 首先連接好相應(yīng)的電源線,將溫度計(jì)和傳感器放在水里,此時(shí)數(shù)碼管會(huì)顯示出當(dāng)前溫度值,用戶可以根據(jù)需要設(shè)定目標(biāo)溫度值,按下加熱開(kāi)關(guān)可開(kāi)始加熱。當(dāng)溫度達(dá)到你所想要的溫度時(shí),系統(tǒng)會(huì)自動(dòng)斷電,接著系統(tǒng)它又會(huì)進(jìn)入保溫系統(tǒng),進(jìn)行保溫。 (三) 測(cè)試的結(jié)果 根據(jù)測(cè)試得到的部分實(shí)驗(yàn)數(shù)據(jù)如 表 51:實(shí)驗(yàn)數(shù)據(jù)驗(yàn)證說(shuō)明 ,測(cè)量誤差為 ℃控制誤差為 ℃,因此 本系統(tǒng)的設(shè)計(jì)不 管是在 采樣控制 顯示溫度 ,還是在實(shí)時(shí)處理顯示精度上,都取得了理想的效果。 表 2 數(shù)據(jù)測(cè)量表 當(dāng)前溫度值 30 40 50 60 13 11 80 目標(biāo)溫度值 60 30 40 50 70 80 60 40 20 90 精確溫度值 40 實(shí)測(cè)溫度值 測(cè)量精度 0 控制精度 (四) 發(fā)揮部分測(cè)試 當(dāng)溫度達(dá)到目標(biāo)溫度后,系統(tǒng)會(huì)自動(dòng)報(bào)警提醒用戶。這時(shí)候,系統(tǒng)會(huì)進(jìn)入保 溫狀態(tài)。溫度時(shí)溫度達(dá)到的最高溫度與目標(biāo)溫度的差值只有 的誤差。 五、 結(jié) 論 本次實(shí)驗(yàn)采用了 PICC編程方式,實(shí)現(xiàn)了溫度的測(cè)量與控制,完全達(dá)到了本次實(shí)驗(yàn)的要求,更重要的是該實(shí)驗(yàn)的測(cè)量誤差小于 ℃ 度,控制誤差小于 ℃ 度,已基本實(shí)現(xiàn)本實(shí)驗(yàn)擴(kuò)展部分的要求。它可以廣泛用于溫度測(cè)量精度要求比較高的場(chǎng)面,實(shí)現(xiàn)簡(jiǎn)單,成本低。綜上所示,本系統(tǒng)的方案具有實(shí)用推廣價(jià)值。本系統(tǒng)通過(guò)添加一個(gè)傳感器,將其貼放在電熱杯的內(nèi)壁上,系統(tǒng)開(kāi)始加熱,若溫度迅速上升,則說(shuō)明杯中水不足,很有可能為干燒,為不安全加熱,用戶請(qǐng)注意,這屬于 該系統(tǒng)需要改進(jìn)的地方。 XXX 大學(xué)本科畢業(yè)設(shè)計(jì) 16 致 謝 通過(guò)這次畢業(yè)設(shè)計(jì),論文基本上掌握了開(kāi)發(fā)一個(gè) 電子監(jiān)控控制 系統(tǒng)的基本思路和實(shí)施步驟。在設(shè)計(jì)和論文寫(xiě)作的整個(gè)過(guò)程中,指導(dǎo) 汪 光宅 教授 和劉強(qiáng)老師 在各方面都給予了全面的指導(dǎo)和幫助。導(dǎo)師的精深淵博知識(shí)、求實(shí)創(chuàng)新、勤奮嚴(yán)謹(jǐn)?shù)闹螌W(xué)風(fēng)范、忘我的工作作風(fēng)時(shí)刻熏陶著我;導(dǎo)師的因材施教、誨人不倦的授業(yè)精神給學(xué)生留下了深刻的印象,這將使我受益終身。 在校期間,得到輔導(dǎo)老師的親切關(guān)懷和無(wú)私的培養(yǎng),使 我 在學(xué)習(xí)的過(guò)程學(xué)到了許多做人的道理。在此 我 向他們道聲:您們辛苦了! 感謝 四川師范大學(xué)成都學(xué)院的 老師 們 多 年來(lái)在工作、學(xué)習(xí)上給予的熱情關(guān)懷、指導(dǎo)與幫助。 另外,互聯(lián)網(wǎng)上一些朋友也給我完成設(shè)計(jì)提出了很多寶貴的意見(jiàn)和無(wú)私的幫助。這對(duì)于我以后的學(xué)習(xí)和工作都有很大的幫助 , 在此對(duì)他們表示由衷的感謝。 特別感謝我的姐姐對(duì)我的默默奉獻(xiàn) , 在學(xué)習(xí)上的理解和大力支持!感謝父母及家人多年來(lái)的在生活和學(xué)習(xí)上的鼓勵(lì)和支持! XXX 大學(xué)本科畢業(yè)設(shè)計(jì) 17 附 錄 附錄 一 設(shè)計(jì)總 電路圖 XXX 大學(xué)本科畢業(yè)設(shè)計(jì) 18 附錄 二 設(shè)計(jì) PCB 圖 XXX 大學(xué)本科畢業(yè)設(shè)計(jì) 19 附錄 三 設(shè)計(jì) 3D 圖 XXX 大學(xué)本科畢業(yè)設(shè)計(jì) 20 附錄 四 程序清單 include //頭文件 unsigned char s1[4], s2[4]。 //采集溫度數(shù)據(jù)并存儲(chǔ)到兩個(gè)數(shù)組中,高字節(jié)存到 S1 中,低字節(jié)存到 S2 中 unsigned int counter1, counter2, figure1=2, figure2, flag2。 //定時(shí)器,目標(biāo)溫度,標(biāo)志位申明 unsigned int num1, num2, flag1=0, i, j, m。 //采集溫度數(shù)據(jù) num1:整數(shù)位, num2:小數(shù)位,啟動(dòng)標(biāo)志位 flag1 及延時(shí)變量申明 double y, temp, e, c, t, u, k。//模糊控制參數(shù)申明 const char table[10]={0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f}。 //不帶小數(shù)點(diǎn)筆段碼 const char table0[10]={0xbf, 0x86, 0xdb, 0xcf, 0xe6, 0xed, 0xfd, 0x87, 0xff, 0xef}。 //帶小數(shù)點(diǎn)筆段碼 /*系統(tǒng) I/O 端口初始化子程序 */ void INITIAL() { OPTION=0X0F。 ADCON1=0X07。//設(shè)定 RA 口為變通數(shù)字端口 TRISD=0。 TRISB=0。 PORTD=0。 PORTB=0。 TRISA2=1。 TRISA3=1。 TRISC0=0。 TRISA0=0。 TRISA1=0。 TRISC1=0。 RC0=0。 RC1=0。 RA0=0。 RA1=0。 } //tmr1 初始化子程序
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1