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

正文內(nèi)容

生物室溫控制系統(tǒng)設(shè)計畢業(yè)設(shè)計論文(編輯修改稿)

2025-08-18 20:06 本頁面
 

【文章內(nèi)容簡介】 CMS240: 壓縮比為 80: 按音質(zhì)排序: A20xxS480S240 我們了解我經(jīng)常對語音處理要分別進(jìn)行為 A/D、編碼處理、進(jìn)行存儲、解碼處理以及 D/A 處理,而對麥克風(fēng)輸入的生成的 WAVE 文件,他占用的存儲空間很多,比較占地方,這對相對存儲空間較小的單片機(jī)有點(diǎn)多,而 SOCE061A 提出解決的方法,級 SACMLIB,它將 A/D、編碼、解碼、存儲、 D/A 來做成相應(yīng)的模塊,每 個模塊都有相應(yīng)的應(yīng)用程序接口 API,所以只要了解相應(yīng)的模塊程序的功能及接口參數(shù),然后調(diào)用相 應(yīng)的函數(shù)就可以實(shí)現(xiàn)相應(yīng)的功能。 。 通過對從 SPCE061A 單片機(jī) DAC 輸出的信號放大,從 DAC 通道出來的是電流信號, DAC 輸出通過 SPY0030,進(jìn)行音頻放大,放大進(jìn)過濾波之后,得到的是平穩(wěn)的電流信號,然后通過對外接滑動電阻進(jìn)行調(diào)節(jié),從而進(jìn)行對放大器放大功率的調(diào)整,達(dá)到合適的效果目標(biāo),然后進(jìn)過 SPY0030 放大,然后進(jìn)過喇叭,進(jìn)行播報的功能, 第三章 軟件部分的設(shè)計 算法有兩種: 直接算法就是當(dāng)前需要的控制量。 公式: Pout = Kp * e(t) + Ki * Σ e(t) + Kd (e(t) – e(t1))。 增加量計算法就是在相對于標(biāo)準(zhǔn)算法的相鄰兩次運(yùn)算之差,從而得到的結(jié)果是增加量,換個說法就是說在上一次控制量的基礎(chǔ)上要增加的控制量。 公式: Pout(t1) = Kp*(e(t) – e(t1) + Ki e(t) + Kd(e(t) – 2*e(t1) + e(t2))。 基本偏差 :e(t) 表示的是當(dāng)前測量值與設(shè)定的目標(biāo)之差,設(shè)定目標(biāo)為被減數(shù),結(jié)果可以是正或負(fù),正數(shù)表示的是還沒有達(dá)到,負(fù)數(shù)表示的事已經(jīng)超過了預(yù)期的設(shè)定值。這是面向比例項(xiàng)用的變動數(shù)據(jù)。 累計偏差:Σ e(t)= e(t) + e(t1) + e(t2)+…… .+e(1),這是每一次測量到的偏差值的總和,即代數(shù)和,考慮到正負(fù)符號運(yùn)算,即面向積分項(xiàng)用運(yùn)的變動數(shù)據(jù)而已。 基本偏差和相對偏差: e(t) – e(t1),將本次的基偏差減去上次的基偏差,來考察當(dāng)前控制量對象的發(fā)展趨勢,這塊作為快速反應(yīng)的一個重要依據(jù),即面向微分項(xiàng)的可變動的一個數(shù)據(jù)。 比例調(diào)節(jié)作用:這個是按比例反應(yīng)的系統(tǒng)偏差,如果系統(tǒng)出現(xiàn)了偏差,比例調(diào)節(jié)系統(tǒng)立即便會產(chǎn)生調(diào)節(jié)作用,來減少偏差。比例作用大,就可以加快調(diào)節(jié)的作用,這樣減少誤差,但是如果比例過大,這便使系統(tǒng)的穩(wěn)定性能下降,甚至造成系統(tǒng)的不穩(wěn)定。 積分調(diào)節(jié)作用:即使系統(tǒng)消除或減少穩(wěn)態(tài)誤差,來提高無差度的標(biāo)準(zhǔn)。因?yàn)橛姓`差,積分調(diào)節(jié)就在進(jìn)行,直至到無差,如果積分調(diào)節(jié)停止,積分調(diào)節(jié)便會輸出一常值。積分作用的強(qiáng)弱在于與積分的時間常數(shù) Ti,如果 Ti越小,積分作用便會就越強(qiáng)。反過來 Ti大,積分作用就會弱,積分調(diào)節(jié)會使系統(tǒng)穩(wěn)定性能下降,動態(tài)響應(yīng) 變慢。積分作用便與另外兩種調(diào)節(jié)規(guī)律結(jié)合,來組成 PI調(diào)節(jié)器或者是 PID調(diào)節(jié)器。 微分調(diào)節(jié)作用:微分作用是反映系統(tǒng)偏差信號的變化情況,具有預(yù)見性,它能預(yù)測到偏差變化的趨勢,這便能使系統(tǒng)產(chǎn)生預(yù)知的控制作用,即在偏差還沒有成形之前,就已經(jīng)被微分調(diào)節(jié)的作用消除了。因此,在微分調(diào)節(jié)可以改變系統(tǒng)的動態(tài)性能。 如果微分時間在選擇合適情況下,便可以減少超調(diào)的情況,減少調(diào)節(jié)時間。加快率,但是微分調(diào)節(jié)的作用對噪聲干擾有很大的作用,所以過強(qiáng)的加強(qiáng)微分調(diào)節(jié),對系統(tǒng)抗干擾能力不利。而且,微分反應(yīng)即是變化率,對當(dāng)輸入沒有變化時,微分作用 輸出為 0;而且微分作用不能單獨(dú)作用,需要和其他兩種調(diào)節(jié)作用規(guī)律相結(jié)合,組成 PD 或者是 PID 控制器。 由圖可知 PID 調(diào)節(jié)器是一種線性調(diào)節(jié)器,這種調(diào)節(jié)器是將設(shè)定值 w與實(shí)際輸出值 y進(jìn)行比較構(gòu)成偏差 模擬 PID 控制 ywe ?? 并將其比例、積分、微分通過線性組合構(gòu)成控制量。其動態(tài)方程為: dt tdeKdtteKteKtu dip )()()()( ? ??? ( 1) 其中 pK 為調(diào)節(jié)器的比例放大系數(shù) iK 為積分時間常數(shù) dK 為微分時間常數(shù) PID 調(diào)節(jié)器的離散化表達(dá)式為 )]1()([)()()( ????? kekeTKkTeKkeKku dip 其增量表達(dá)形式為: )1()()( ???? kukuku )]2()1(2)([)()]1()([ ????????? kekekeTKkTeKkekeK dip 其中 T為采樣周期。 可見溫度 PID 調(diào)節(jié)器有三個可設(shè)定參數(shù),即比例放大系數(shù) pK 、積分時間常數(shù) iK 、微分時間常數(shù) dK 。 程序流程圖 開 始系 統(tǒng) 初 始 化讀 取 鍵 值對 讀 取 的 值 進(jìn) 行 處 理是 否 有 采 樣 數(shù) 據(jù) 處 理語 音 讀 數(shù)進(jìn) 行 P I D 數(shù) 據(jù) 處 理繼 電 器 控 制 電 爐YN int main(void){ int iKeyValue。 status = system_temperature_set。 guifgSpeechPlay = 0。 System_Initial()。 PIDinit()。 while(1){ System_ServiceLoop()。 //鍵盤掃描、去抖動處理 iKeyValue = SP_GetCh()。 //取鍵值 key_value_process(iKeyValue)。 //鍵值處理 if(guifgSpeechPlay) temperature_speech_play( )。 //語音播放 if(status == system_temperature_control) display_speech_ADC_temperature()。 //測量溫度顯示、溫度播報、 PID 計算 Clear_WatchDog()。 //清看門狗 System_ServiceLoop()。 //鍵盤掃描 if(fOut=0) turn_off_timerB()。 } } 程序剛開始進(jìn)行系統(tǒng)的一個初始化,然后開始進(jìn)行讀取輸入的值,對值進(jìn)行轉(zhuǎn)換,變成電腦能夠識別的編碼,然后同時對采集的數(shù)據(jù)進(jìn)行轉(zhuǎn)化 ,判斷,如果達(dá)到一個設(shè)定的標(biāo)準(zhǔn),就進(jìn)行在 DAC 輸出口輸出數(shù)據(jù),通過 SPY0030 進(jìn)行放大,通過喇叭進(jìn)行語音播報,同時進(jìn)行數(shù)據(jù)處理與判斷,通過改變電磁繼電器的狀態(tài)給電熱爐加熱或停止加熱。 從主程序看,在進(jìn)行一系列的程序調(diào)用之前對系統(tǒng)進(jìn)行初始化,然后在對鍵盤的其他程序進(jìn)行調(diào)試,看是否有所反應(yīng),從而判斷是否有溫度樣本的采集,如果有就進(jìn)行溫度的 A/D 轉(zhuǎn)換盒 PID 計算,然后用控制繼電器。 SPCE061A 內(nèi)置的看門狗監(jiān)視器,其作用就是看是系統(tǒng)是否正常運(yùn)行,其實(shí)就是一個計數(shù)器,每隔一段時間就被清除了,其中的清除時間為 ,不然的話,計數(shù)將溢出,是系統(tǒng)運(yùn)行出現(xiàn)差錯,導(dǎo)致系統(tǒng)復(fù)位,并開始執(zhí)行程序,看門狗監(jiān)視系統(tǒng)可以通過指令來設(shè)置火屏蔽。看門狗清除寄存器 P_Watchdog_Clear在 SPCE061A 系統(tǒng)正常運(yùn)行時,只要每隔 向 P_Watchdog_Clear 寫入相應(yīng)的清除程序便可對看門狗計數(shù)器進(jìn)行清除,這樣就不會反正看門狗計數(shù)發(fā)生溢出,在運(yùn)行時就不會導(dǎo)致系統(tǒng)出現(xiàn)復(fù)位,保證了系統(tǒng)正常 的運(yùn)行。 A/D 值轉(zhuǎn)換處理 開 始是 否 有 溫 度 采 集A D C 數(shù) 據(jù) 采 樣 均 值 處理轉(zhuǎn) 換 成 溫 度十 進(jìn) 制 轉(zhuǎn) 換L E D 顯 示 語 音 播 報 P I D 計 算結(jié) 束 void display_speech_ADC_temperature(void) { float fT,K。 int adc_data。 static int siTlast = 0。 if(G_ADC_flag){ //判斷是否有溫度采樣 1,有 0,無 G_ADC_flag = 0。 adc_data = adc_data_cmp()。 adc_data /= SET_ADC_TIME。 //計算溫度平均值 if(adc_data 0x0255) K = 。 //確定溫度系數(shù) else K = 。 fT = adc_data * K。 //換算成溫度值 //將溫度值轉(zhuǎn)換成十進(jìn)制用于 LED 顯示 guiLED_Value[0] = (int)fT/10。 guiLED_Value[1] = (int)fT%10。 guiLED_Value[2] = (int)(fT*10)%10。 if((int)fT != siTlast){ //判斷溫度的整數(shù)值是否變化 temperature_speech_index(guiLED_Value)。 //溫度整數(shù)值語音播放排序 SACM_A20xx_Initial(0)。 //非自動方式播放的初始化 SACM_A20xx_InitDecoder(DAC2)。 //開始對 A20xx的語音數(shù)據(jù)以非自動方式解碼 SP_INT_IRQ6()。 iAddrSpeech = speech_start_address(iaSpeech_index[0])。//語音播放始地址 guifgSpeechPlay = 1。 //設(shè)置語音為播放狀態(tài) siTlast = (int)fT。 } = 1。 // 設(shè)置 PID 比例值 = 。 // 設(shè)置 PID 積分值 = 。 // 設(shè)置 PID 微分值 fOut = 100*PIDCalc ( amp。stPID,(int)(fT*10) )。 // PID計算 active()。 } } 當(dāng)單片機(jī)收到溫度數(shù)據(jù)采樣時,對采集的溫度進(jìn)行均值處理,來防止在采樣的過程中由外界干擾造成對采樣數(shù)據(jù)的不準(zhǔn)確。然后來確定溫度的系數(shù),使得采樣轉(zhuǎn)換進(jìn)行,得到電壓信號進(jìn)而轉(zhuǎn) 換成溫度值,并且進(jìn)行十進(jìn)制的轉(zhuǎn)換,用于LED 顯示、語音播報和 PID 計算。其中均值處理處于很重要的地位,而 A/D 轉(zhuǎn)換是必須進(jìn)行的工作。 采樣數(shù)據(jù)中斷程序流程 其中繼電器是與 61 單片機(jī)的 IOA4 口相連的,繼電器的開斷完全在于 IOA4口的輸出結(jié)果,也就是 PID 計算的結(jié)果。如果輸出小于零則就表示設(shè)定的值小于輸出值,這是就要表示關(guān)閉電爐,同時要關(guān)閉定時器 B 的計時狀態(tài)。 定 時 器 1 0 秒 定 時 中 斷看 時 間 是 否 到關(guān) 閉 繼 電 器時 間 積 累清 理 中 斷退 出N如果輸出的值大于或等于設(shè)定值 2攝氏度時就對開電爐對水開始加熱。這樣設(shè)定值與實(shí)際輸出值差值在 2 攝氏度以內(nèi)時,我們就調(diào)用中斷程序來定時加熱。 void active() { if(fOut=0){ turn_off_relay()。 //溫度高于設(shè)定值,關(guān)閉電爐 turn_off_timerB()。 //停止計時 } else{ if(fOut30*) //溫度低于設(shè)定值 2攝氏度 turn_on_relay()。 //開電爐加熱 else { turn_on_relay()。SP_INT_TIMEB()} 。//初始化定時器,開始定時加熱 } } 上圖是相關(guān)繼電器控制程序的中斷服務(wù)子程序流程圖,它是用來控制繼電器來定時加熱。它通過中斷定時器 10ms 確定加熱時間大小,當(dāng)加熱時間未到預(yù)定數(shù)時,則繼續(xù)時間累積,如果加熱時間到預(yù)定時,就調(diào)
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1