生物培養(yǎng)液微機(jī)溫度控制系統(tǒng)_第1頁(yè)
生物培養(yǎng)液微機(jī)溫度控制系統(tǒng)_第2頁(yè)
生物培養(yǎng)液微機(jī)溫度控制系統(tǒng)_第3頁(yè)
生物培養(yǎng)液微機(jī)溫度控制系統(tǒng)_第4頁(yè)
生物培養(yǎng)液微機(jī)溫度控制系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、xx理工大學(xué)計(jì)算機(jī)控制技術(shù)課程設(shè)計(jì)說(shuō)明書(shū)摘要計(jì)算機(jī)控制技術(shù)主要研究如何將計(jì)算機(jī)技術(shù)和自動(dòng)控制理論應(yīng)用于工業(yè)生產(chǎn)過(guò)程,并設(shè)計(jì)出所需要的計(jì)算機(jī)控制系統(tǒng),是自動(dòng)化專業(yè)的主干專業(yè)課程。生物培養(yǎng)液微機(jī)溫度控制系統(tǒng)的設(shè)計(jì)涉及到傳感與檢測(cè)技術(shù)、A/D轉(zhuǎn)換技術(shù)、自動(dòng)控制技術(shù)、單片機(jī)的編程和應(yīng)用等知識(shí)。本文詳細(xì)地介紹了基于單片機(jī)AT89C51和溫度傳感器LM35的溫度控制系統(tǒng)的設(shè)計(jì)方案與軟硬件實(shí)現(xiàn)方案。系 統(tǒng)采用數(shù)字溫度傳感器LM35采集溫度信號(hào)裝化為模擬信號(hào)電壓信號(hào),經(jīng)過(guò)ADC0808A/D轉(zhuǎn)換成單片機(jī)可識(shí)別的數(shù)字電壓信號(hào),數(shù)碼管顯示溫度測(cè)量值與設(shè)定值。當(dāng)溫度低于設(shè)定值時(shí),單片機(jī)控制繼電器啟動(dòng)加熱電阻絲加熱,

2、當(dāng)溫度高于設(shè)定值時(shí),單片機(jī)控制繼電器啟動(dòng)風(fēng)扇制冷,從而實(shí)現(xiàn)了控制溫度的目的。關(guān)鍵字:?jiǎn)纹瑱C(jī)、A/D轉(zhuǎn)換、溫度控制傳感器、LED生物培養(yǎng)液微機(jī)溫度控制系統(tǒng)1設(shè)計(jì)要求1.1初始條件設(shè)計(jì)一個(gè)生物培養(yǎng)液微型計(jì)算機(jī)溫度控制系統(tǒng),系統(tǒng)為一階慣性純滯后特性,溫度在1525范圍內(nèi)連續(xù)可控,溫度控制精度為 0.5;通過(guò)LED 顯示溫度。1.2要求完成的主要任務(wù)1. 輸入通道及輸出通道設(shè)計(jì)(溫度傳感器,A/D轉(zhuǎn)換,PWM輸出控制和溫度調(diào)節(jié)驅(qū)動(dòng)電路); 2. 鍵盤(pán)(溫度設(shè)置)與LED(溫度顯示)接口設(shè)計(jì); 3. 采用改進(jìn)PID控制算法; 4. 系統(tǒng)軟件流程及各程序模塊設(shè)計(jì); 5. 完成符合要求的設(shè)計(jì)說(shuō)明書(shū)2總體設(shè)計(jì)

3、方案及框圖2.1系統(tǒng)設(shè)計(jì)方案論證實(shí)現(xiàn)溫度控制的方法主要有以下幾種。方案一:采用純硬件的閉環(huán)控制系統(tǒng)。該系統(tǒng)的優(yōu)點(diǎn)在于速度較快,但可靠性比較差控制精度比較低、靈活性小、線路復(fù)雜、調(diào)試、安裝都不方便。且要實(shí)現(xiàn)題目所有的要求難度較大。方案二:?jiǎn)纹瑱C(jī)與高精度溫度傳感器結(jié)合的方式。即用單片機(jī)完成人機(jī)界面,系統(tǒng)控制,信號(hào)分析處理,由前端溫度傳感器完成信號(hào)的采集與轉(zhuǎn)換。這種方案克服了方案一的缺點(diǎn),所以本設(shè)計(jì)方案是基于該方案。2.2系統(tǒng)結(jié)構(gòu)框圖該生物培養(yǎng)液微型計(jì)算機(jī)溫度控制系統(tǒng)由以下幾個(gè)部分組成:溫度檢測(cè)電路,信號(hào)放大電路,A/D轉(zhuǎn)換電路,加熱控制電路,降溫電路,報(bào)警電路,鍵盤(pán)(溫度設(shè)置)模塊和LED(溫度顯

4、示)模塊,單片機(jī)判斷輸入溫度信號(hào)與設(shè)定的溫度的差距,再通過(guò)改進(jìn)的PID算法給以調(diào)節(jié)。放大器用來(lái)放大LM35的輸出模擬信號(hào), ADC0808是用來(lái)把采集到的模擬電壓信號(hào)轉(zhuǎn)換成單片機(jī)可以識(shí)別的數(shù)字信號(hào)。高阻抗加熱絲和風(fēng)扇(電機(jī))是該溫度控制系統(tǒng)的溫度調(diào)節(jié)部分,當(dāng)采集溫度不符合要求時(shí),則通過(guò)計(jì)算機(jī)判斷后進(jìn)行調(diào)節(jié)。風(fēng)扇用來(lái)降溫,高阻抗加熱絲用來(lái)加溫。顯示部分則用來(lái)顯示生物培養(yǎng)液的當(dāng)前溫度以及在設(shè)定時(shí)顯示設(shè)置的溫度值。溫度檢測(cè)電路采用溫度傳感器LM35來(lái)采集培養(yǎng)液的溫度。通過(guò)以上的幾個(gè)部分的組合,則組成了一個(gè)生物培養(yǎng)液微機(jī)溫度控制系統(tǒng)。生物培養(yǎng)液微型計(jì)算機(jī)溫度控制系統(tǒng)的結(jié)構(gòu)圖如下圖2-1所示。溫度顯示電

5、路報(bào)警電路溫度設(shè)置電路C51單片機(jī)風(fēng)扇降溫控制電路高阻抗加熱絲升溫控制電路A/D轉(zhuǎn)換電路信號(hào)放大電路傳感檢測(cè)電路生物培養(yǎng)液 圖2-1 生物培養(yǎng)液微機(jī)溫度控制系統(tǒng)結(jié)構(gòu)圖3硬件設(shè)計(jì)3.1單片機(jī)選擇單片機(jī)的選擇在整個(gè)系統(tǒng)設(shè)計(jì)中至關(guān)重要,要滿足大內(nèi)存、高速率、通用性、價(jià)格便宜等要求,本課題選擇AT89C51最為主控芯片。AT89C51是一種帶4K字節(jié)FLASHC存儲(chǔ)器( FPEROMFlash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器,俗稱單片機(jī)。AT89C2051是一種帶2K字節(jié)閃存可編程可擦除只讀存儲(chǔ)器的單片機(jī)。單

6、片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器。AT89C51芯片具有以下特性:與MCS-51 兼容 4K字節(jié)可編程FLASH存儲(chǔ)器 壽命:1000寫(xiě)/擦循環(huán) 數(shù)據(jù)保留時(shí)間:10年 全靜態(tài)工作:0Hz-24MHz 三級(jí)程序存儲(chǔ)器鎖定 1288位內(nèi)部RAM 32可編程I/O線 兩個(gè)16位定時(shí)器/計(jì)數(shù)器 5個(gè)中斷源 可編程串行通道 低功耗的閑置和掉電模式 片內(nèi)振蕩器和時(shí)鐘電路AT89C51芯片管腳說(shuō)明:V

7、CC:供電電壓。 GND:接地。 P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P0口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。 P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。 P2口:P2口

8、為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。 P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫(xiě)入“1”后,它們被內(nèi)部上拉為

9、高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。 P3口也可作為AT89C51的一些特殊功能口,如下表所示: 口管腳 備選功能 P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口) P3.2 /INT0(外部中斷0) P3.3 /INT1(外部中斷1) P3.4 T0(記時(shí)器0外部輸入) P3.5 T1(記時(shí)器1外部輸入) P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通) P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通) P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。 RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。

10、ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。 /PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但

11、在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。 /EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET; /EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。 XTAL2:來(lái)自反向振蕩器的輸出。 振蕩器特性: XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不

12、接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過(guò)一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無(wú)任何要求,但必須保證脈沖的高低電平要求的寬度。AT89C51單片機(jī)引腳圖如圖3-1所示圖3-1 AT89C51引腳圖3.2溫度檢測(cè)電路溫度檢測(cè)電路包括溫度傳感器、由放大器和電阻組成的信號(hào)放大電路。選用的溫度傳感器型號(hào)為L(zhǎng)M35,LM35是由National Semiconductor所生產(chǎn)的溫度感測(cè)器,其輸出電壓與攝氏溫標(biāo)呈線性關(guān)系,轉(zhuǎn)換公式如式(3-1),0C時(shí)輸出為0V,每升高 1C,輸出電壓增加10mV。 即: Vout-LM35(T)=10mv/CTC (3-1)LM35 有多種不同封裝型式,外觀如圖 2 所示

13、。在常溫下,LM35 不需要額外的校準(zhǔn)處理即可達(dá)到 1/4C的準(zhǔn)確率。其電源供應(yīng)模式有單電源與正負(fù)雙電源兩種,其引腳如圖 3所示,正負(fù)雙電源的供電模式可提供負(fù)溫度的量測(cè);兩種接法的靜默電流-溫度關(guān)係如圖 4所示,單電源模式在25C下靜默電流約50A,非常省電。圖3-2LM35封裝及引腳排列圖3-3單電源模式圖3-4雙電源模式由課程設(shè)計(jì)要求溫度在1525范圍內(nèi)連續(xù)可控。因此,只需要單電源模式即可滿足要求。又由于, LM35輸出的電壓太小,因此將輸出用同相放大器放大十倍,參數(shù)設(shè)置根據(jù)公式Uo=Ui*(1+R2/R3) (3-2) 可以確定電阻的參數(shù),其電路圖如下圖3-5所示。圖3-5 溫度傳感模塊

14、電路3.3A/D轉(zhuǎn)換電路由于LM35溫度傳感器輸出的是模擬量的溫度電壓值,單片機(jī)無(wú)法直接識(shí)別,因此需要對(duì)采集到的電壓信號(hào)進(jìn)行A/D轉(zhuǎn)換,將其轉(zhuǎn)化為單片機(jī)能識(shí)別的數(shù)字量。本設(shè)計(jì)采用ADC0808A/D轉(zhuǎn)換器,下面介紹ADC0808的特性。3.3.1ADC0808主要特性(1)8路8位AD轉(zhuǎn)換器,即分辨率8位。 (2)具有轉(zhuǎn)換起??刂贫恕?(3)轉(zhuǎn)換時(shí)間為100s(4)單個(gè)5V電源供電 (5)模擬輸入電壓范圍05V,不需零點(diǎn)和滿刻度校準(zhǔn)。 (6)工作溫度范圍為-4085攝氏度 (7)低功耗,約15mW。 3.3.2ADC0808內(nèi)部結(jié)構(gòu) ADC0809是CMOS單片型逐次逼近式AD轉(zhuǎn)換器,內(nèi)部結(jié)構(gòu)

15、如圖1322所示,它由8路模擬開(kāi)關(guān)、地址鎖存與譯碼器、比較器、8位開(kāi)關(guān)樹(shù)型DA轉(zhuǎn)換器、逐次逼近。 3外部特性(引腳功能) ADC0808芯片有28條引腳,采用雙列直插式封裝,如圖1323所示。下面說(shuō)明各引腳功能。 IN0IN7:8路模擬量輸入端。2-12-8:8位數(shù)字量輸出端。ADDA、ADDB、ADDC:3位地址輸入線,用于選通8路模擬輸入中的一路。與ADC0809不同的是,ADC0808的out8為最低位out1為最高位,out8-out1分別接單片機(jī)的P0.0到P0.7端。圖3-6 ADC0808通道選擇ALE:地址鎖存允許信號(hào),輸入,高電平有效。 START: AD轉(zhuǎn)換啟動(dòng)信號(hào),輸入,

16、高電平有效。 EOC: AD轉(zhuǎn)換結(jié)束信號(hào),輸出,當(dāng)AD轉(zhuǎn)換結(jié)束時(shí),此端輸出一個(gè)高電平(轉(zhuǎn)換期間一直為低電平)。 OE:數(shù)據(jù)輸出允許信號(hào),輸入,高電平有效。當(dāng)AD轉(zhuǎn)換結(jié)束時(shí),此端輸入一個(gè)高電平,才能打開(kāi)輸出三態(tài)門,輸出數(shù)字量。CLK:時(shí)鐘脈沖輸入端。要求時(shí)鐘頻率不高于640KHZ。 REF(+)、REF(-):基準(zhǔn)電壓。 Vcc:電源,單一5V。 GND:地。 ADC0808的工作過(guò)程是:首先輸入3位地址,并使ALE=1,將地址存入地址鎖存器中。此地址經(jīng)譯碼選通8路模擬輸入之一到比較器。START上升沿將逐次逼近寄存器復(fù)位。下降沿啟動(dòng) AD轉(zhuǎn)換,之后EOC輸出信號(hào)變低,指示轉(zhuǎn)換正在進(jìn)行。直到AD

17、轉(zhuǎn)換完成,EOC變?yōu)楦唠娖?,指示AD轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個(gè)信號(hào)可用作中斷申請(qǐng)。當(dāng)OE輸入高電平 時(shí),輸出三態(tài)門打開(kāi),轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上。 圖3-7 ADC0808內(nèi)部結(jié)構(gòu)框圖圖3-8 ADC0808外部引腳圖本系統(tǒng)中ADC0809的轉(zhuǎn)化電路如下圖3-9圖3-9 ADC0809轉(zhuǎn)換電路接線圖3.4加熱控制電路在讀取到從溫度傳感模塊采集到的溫度數(shù)值后,與事先設(shè)定好的溫度值進(jìn)行比較,若當(dāng)前檢測(cè)得的溫度比設(shè)定的溫度低,則需要對(duì)培養(yǎng)液進(jìn)行加熱處理。本系統(tǒng)利用高阻抗的電阻絲來(lái)對(duì)培養(yǎng)液加熱。如下圖10所示,在檢測(cè)到溫度比設(shè)定的溫度低時(shí),P3.0管腳輸出高電平,從而NPN管道通,驅(qū)

18、動(dòng)繼電器啟動(dòng),從而高阻抗加熱電阻絲導(dǎo)通加熱生物培養(yǎng)液。利用改進(jìn)的PID算法來(lái)計(jì)算PWM脈寬得出控制輸出。從而根據(jù)檢測(cè)到的溫度而自動(dòng)調(diào)節(jié)繼電器導(dǎo)通時(shí)間,從而實(shí)現(xiàn)實(shí)際溫度低于設(shè)定時(shí)加熱的功能。繼電器是具有隔離功能的自動(dòng)開(kāi)關(guān),廣泛用于遙控,遙測(cè),通信,自動(dòng)控制,機(jī)電一體化及電力電子設(shè)備中,是最重要的控制元件之一。繼電器是在自動(dòng)控制電路中起控制與隔離作用的執(zhí)行部件,它實(shí)際上是一種可以用低電壓、小電流來(lái)控制大電流、高電壓的自動(dòng)開(kāi)關(guān)。在本系統(tǒng)中,繼電器控制的自動(dòng)溫度調(diào)節(jié)電路和AT89C51單片機(jī)中程序構(gòu)成溫度自動(dòng)監(jiān)測(cè)電路,實(shí)現(xiàn)對(duì)生物培養(yǎng)液溫度的監(jiān)測(cè)和自動(dòng)控制。圖3-10 培養(yǎng)液電阻絲加熱電路3.5降溫控制

19、電路若當(dāng)前檢測(cè)得的溫度比設(shè)定的溫度高,則需要對(duì)培養(yǎng)液進(jìn)行降溫處理。本系統(tǒng)利用風(fēng)扇來(lái)對(duì)培養(yǎng)液進(jìn)行降溫。實(shí)際使用中也是同電阻絲加熱模塊一樣,采用繼電器,在滿足制冷條件下繼電器接通,接通制冷電源,利用改進(jìn)的PID算法來(lái)計(jì)算PWM脈寬得出控制輸出,從而達(dá)到根據(jù)檢測(cè)到的溫度而自動(dòng)調(diào)節(jié)繼電器導(dǎo)通時(shí)間在滿足制冷條件下繼電器接通,電風(fēng)扇的電機(jī)接通電源而轉(zhuǎn)動(dòng)制冷。也是利用改進(jìn)的PID算法來(lái)計(jì)算PWM脈寬得出控制輸出。從而達(dá)到根據(jù)檢測(cè)到的溫度而自動(dòng)調(diào)節(jié)風(fēng)扇的轉(zhuǎn)速。圖 3-11 培養(yǎng)液降溫電路3.6LED溫度顯示電路由于任務(wù)書(shū)要求使用LED顯示溫度,而且溫度在1525范圍內(nèi)連續(xù)可控,溫度控制精度為 0.5。因此,本

20、系統(tǒng)采用了四位共陽(yáng)極的七段數(shù)碼管。如圖10所示為4位7段數(shù)碼管的原理圖。由于所有的段選線并聯(lián)到同一個(gè) I/O,由這個(gè) I/O 口來(lái)控制,因此,若是所 有的 4 位 8 段 LED 都選通的話,4 位 8 段 LED 將會(huì)顯示相同的字符。要使各個(gè)位 的 8 段 LED 顯示不同的字符,就必須采用動(dòng)態(tài)掃描方法來(lái)輪流點(diǎn)亮每一位 8 段 LED,即在每一瞬間只選通一位 8 段 LED 進(jìn)行顯示單獨(dú)的字符。在此段點(diǎn)亮?xí)r間內(nèi),段選控制 I/O 口輸出要顯示的相應(yīng)字符的段選碼,而位選控制 I/O 口則輸出位選信號(hào),向要顯示的位送出選通電平(共陰極則送出低電平,共陽(yáng)極則送出高電平),使得該位顯示相應(yīng)字符。這樣

21、將四位 8 段 LED 輪流去點(diǎn)亮,使得每位分時(shí)顯示該位應(yīng)顯示的字符。由于人眼的視覺(jué)暫留時(shí)間為 0.1 秒,當(dāng)每位顯示的間隔未超過(guò) 33ms 時(shí),并在顯示時(shí)保持直到下一位顯示,則由于人眼的視覺(jué)暫留效果眼睛看上去就像是 4 位 8 段 LED 都在點(diǎn)亮。設(shè)計(jì)時(shí),要注意每位顯示的間隔時(shí)間,由于一位 8 段 LED 的熄滅時(shí)間不能超過(guò) 100ms,也就是說(shuō)點(diǎn)亮其它位所用的時(shí)間不能超過(guò) 100ms,這樣當(dāng)有 N 位的 8 段 LED 用來(lái)顯示時(shí),每一位間隔的時(shí)間 t 就必須符合下面的式子: t100ms/(N-1),本系統(tǒng)中N4,則由式子可以算出 t33ms,就是每一位的間隔時(shí)間不能超過(guò) 33ms,本

22、系統(tǒng)延時(shí)5ms。圖 3-12 LED的動(dòng)態(tài)顯示原理圖圖 3-13 LED溫度顯示模塊電路在進(jìn)行顯示編程時(shí),首先選定需要顯示的位數(shù),然后向段選位送數(shù)據(jù)。即可顯示。由于單片機(jī)可以直接驅(qū)動(dòng)LED顯示管,因此不需外加驅(qū)動(dòng)電路了,在LED的段選線上應(yīng)加上上拉電阻,且由于是共陽(yáng)極LED故上拉電阻1引腳接高電平。3.7溫度設(shè)置電路本系統(tǒng)共有四個(gè)按鍵式鍵盤(pán),分別是設(shè)置、溫度的十位、溫度的個(gè)位、清零,設(shè)置連P3.3,十位連P3.5,個(gè)位連P3.6,清零連P3.7。設(shè)置溫度時(shí),將設(shè)置按鍵按下使之不彈起,在按十位、個(gè)位、清零進(jìn)行設(shè)置。圖 3-14 溫度設(shè)置電路3.8報(bào)警電路如果培養(yǎng)液里的溫度過(guò)高或者是過(guò)低了,超出了

23、其允許的某個(gè)溫度范圍,則系統(tǒng)會(huì)自動(dòng)報(bào)警,提醒用戶,可以讓用戶采取更為快速和有效地措施來(lái)避免或是減少損失。報(bào)警電路圖下圖15所示。當(dāng)微機(jī)判斷當(dāng)前溫度值超出范圍時(shí),將P3.3管腳置低電平,利用非門來(lái)驅(qū)動(dòng)喇叭報(bào)警。圖3-15 報(bào)警電路電路圖3.9系統(tǒng)總體原理圖系統(tǒng)整體原理圖如圖3-16所示。圖 3-16 系統(tǒng)總體原理圖4.軟件設(shè)計(jì)4.1總體流程分析與設(shè)計(jì) 軟件設(shè)計(jì)基于硬件設(shè)計(jì)連接,由上面對(duì)于硬件的分析說(shuō)明和設(shè)計(jì),對(duì)整個(gè)程序流程需要有一個(gè)整體的思考和規(guī)劃。程序需要實(shí)現(xiàn)以下幾個(gè)功能:三位LED顯示溫度傳感器的當(dāng)前溫度,可以通過(guò)按鍵設(shè)定所需要的溫度,當(dāng)溫度超過(guò)1525攝氏度的時(shí)候報(bào)警,以及通過(guò)自動(dòng)控制加熱

24、、制冷模塊控制溫度。程序主要思想是通過(guò)單片機(jī)將ADC0808輸入模擬量轉(zhuǎn)化成數(shù)字量之后與設(shè)定溫度進(jìn)行比較,通過(guò)PID算法調(diào)節(jié)脈沖寬度即占空比來(lái)控制加熱與制冷,完成溫度控制。主程序流程圖如圖4-1所示。開(kāi)始報(bào)警程序Y加熱指示燈亮設(shè)定的溫度值?=設(shè)定的溫度值?溫度超出? 控制量輸出調(diào)用PID數(shù)據(jù)處理程序降溫指示燈亮單片機(jī)系統(tǒng)初始化有鍵按下?溫度采樣與A/D轉(zhuǎn)換調(diào)用LED顯示NYNYN圖 4-1主程序流程圖對(duì)于代碼段如下:/ 主程序 void main() uint i=0; Init_INT(); heat=0; cold=0; while(1) led_red=!led_red; ST=0;ST

25、=1;ST=0;/啟動(dòng)轉(zhuǎn)換 while(EOC=0); /等待轉(zhuǎn)換結(jié)果 OE=1; /允許輸出 ad=P1*250/128; /顯示A/D轉(zhuǎn)換結(jié)果。線性度0.1,T=(P1/128)*255/0.1再乘以10放大以便取出小數(shù)位。 OE=0; /關(guān)閉輸出 m1=ad/100%10; m2=ad/10%10; m3=ad%10; display(m1,m2,m3); pwm=PIDcalc(PID,ad,key_ad); /調(diào)用PID算法計(jì)算pwm占空比 /pwm=1500; if(pwm=0) /pwm控制制熱 for(i=0;i2000;i+) if(ipwm) heat=1; else he

26、at=0; else if(pwm0) /pwm控制制冷 pwm=-pwm; for(i=0;i2000;i+) if(i250|ad150)beep=0;else beep=1; 4.2 PID控制算法分析與設(shè)計(jì)采用典型的反饋式溫度控制系統(tǒng),組成部分見(jiàn)下圖4-1。其中數(shù)字控制器的功能由單片機(jī)實(shí)現(xiàn)。 圖4-2 控制系統(tǒng)框圖 已知培養(yǎng)皿的傳遞函數(shù)為 設(shè),其中1為電阻加熱的時(shí)間常數(shù),為電阻加熱的純滯后時(shí)間,為采樣周期。A/D轉(zhuǎn)換器可劃歸為零階保持器內(nèi),所以廣義對(duì)象的傳遞函數(shù)為 (4-1) 廣義對(duì)象的Z傳遞函數(shù)為 (4-2) 所以系統(tǒng)的閉環(huán)Z傳遞函數(shù)為: (4-3) 系統(tǒng)的數(shù)字控制器為:= (4-4

27、) 寫(xiě)成差分方程即為 : (4-5) 令 , 則有 (4-6)式中 第次采樣時(shí)的偏差;第次采樣時(shí)的偏差;第次采樣時(shí)的偏差; 本生物培養(yǎng)液溫控系統(tǒng)采用的數(shù)字PID算法由軟件實(shí)現(xiàn),增量PID控制算法的優(yōu)點(diǎn)是編程簡(jiǎn)單,數(shù)據(jù)可以遞推使用,占用存儲(chǔ)空間少,運(yùn)算快。但是對(duì)于溫度這種響應(yīng)緩慢、滯后性大的過(guò)程,不能用標(biāo)準(zhǔn)的PID算法進(jìn)行控制。當(dāng)擾動(dòng)較大或者給定的溫度值大幅度變化時(shí),由于產(chǎn)生較大的偏差,加上溫控本身的慣性及滯后,在積分作用下,系統(tǒng)往往產(chǎn)生較大的超調(diào)和長(zhǎng)時(shí)間的振蕩。因此,為克服這種不良的影響,采用積分分離法對(duì)增量PID算法進(jìn)行改進(jìn)。當(dāng)偏差e(k)絕對(duì)值較大時(shí),暫時(shí)取消積分作用;當(dāng)偏差e(k)絕對(duì)值

28、小于某一設(shè)定值M時(shí),才將積分作用投入。 (1)當(dāng)| e(k)|M時(shí),用PlD控制。偏差小,說(shuō)明系統(tǒng)溫度已經(jīng)接近設(shè)定值,此時(shí)加入了積分作用,可以消除系統(tǒng)靜差,保證系統(tǒng)的控制精度。根據(jù)遞增原理可得:式中:e(K)=r(K)一y(K)為第K時(shí)刻所得偏差信號(hào),其中r(K)是給定值,y(K)是實(shí)際輸出值; (4-7)其中kp為比例增益;ki為積分系數(shù);kd為微分系數(shù)。則增量式PID控制算法為: (4-8) (2)當(dāng)| e(k)|M時(shí),用PD控制。由于偏差大,說(shuō)明系統(tǒng)溫度遠(yuǎn)離設(shè)定值,應(yīng)快速降溫,采用PD控制,可以提高系統(tǒng)的動(dòng)態(tài)響應(yīng)速度,避免產(chǎn)生過(guò)大的超調(diào),減小動(dòng)態(tài)誤差。對(duì)應(yīng)程序段如下:float PIDc

29、alc(float *PID,uint show_ad,uint set_ad) int PID_pwm; PID0=set_ad-show_ad; /偏差 Error PID1+=PID0; /積分 iError PID2=PID0-PID3; /當(dāng)前微分 dError PID3=PID4; /prev_Error=last_error PID4=PID0; /last_Error=Error PID_pwm=KP*PID0+KI*PID1+KD*PID2; return PID_pwm;4.3顯示模塊流程分析與設(shè)計(jì) 由硬件部分可知本系統(tǒng)選用紅色四位共陽(yáng)極LED數(shù)碼管,LED有4個(gè)位選引腳讀

30、入片選信號(hào)和8個(gè)段選引腳控制信號(hào)。用到的三個(gè)位選信號(hào)控制三位分時(shí)顯示,通過(guò)延時(shí)程序的2ms延時(shí)使每位持續(xù)亮2ms直到下一位點(diǎn)亮,利用人眼視覺(jué)暫留,實(shí)現(xiàn)同時(shí)顯示,將獲取的溫度的十位個(gè)位及小數(shù)位分別顯示在LED上。對(duì)應(yīng)程序段如下:/數(shù)碼管顯示函數(shù)void display(uchar shi,uchar ge,uchar xiao) P0=tableshi; C1=1;/十位點(diǎn)亮 delayms(5);/延時(shí)5ms C1=0;/十位熄滅 P0=tablege; dip=0; C2=1; delayms(5); C2=0; P0=tablexiao; C3=1; delayms(5); C3=0;溫度

31、顯示程序流程圖如圖4-3所示。開(kāi)始延時(shí)2ms取消選擇中的數(shù)碼管讀取十位數(shù)據(jù)選擇數(shù)碼管顯示十位讀取小數(shù)位數(shù)據(jù)選擇數(shù)碼管顯示小數(shù)位延時(shí)2ms取消選中的數(shù)碼管延時(shí)2ms取消選中的數(shù)碼管讀取個(gè)位數(shù)據(jù)選擇數(shù)碼港顯示個(gè)位結(jié)束圖4-3 數(shù)碼顯示溫度流程圖4.4按鍵模塊流程分析與設(shè)計(jì)由于本系統(tǒng)需要對(duì)溫度進(jìn)行設(shè)置,且由于設(shè)置溫度范圍最高為25攝氏度,故在硬件上設(shè)計(jì)了十位與各位按鍵。設(shè)置按鍵按下進(jìn)行設(shè)置,清零按鍵按下將設(shè)置的溫度重置。對(duì)應(yīng)的代碼段如下:/鍵盤(pán)掃描程序 uint key_scan(void) static uint key_up=1;/按鍵按松開(kāi)標(biāo)志if(key_up&(key_shi=0|key_

32、ge=0)delayms(10);/去鍵盤(pán)機(jī)械抖動(dòng) key_up=0;if(key_shi=0)return 1;else if(key_ge=0)return 2;else if(key_shi=1&key_ge=1)key_up=1; return 0;/ 無(wú)按鍵按下按鍵掃描程序流程圖如圖4-4所示。返回值為1十位按下?開(kāi)始十位或者個(gè)位按鍵按下?延遲去按鍵抖動(dòng)按鍵松開(kāi)標(biāo)志 Y Y N NNY返回值為2個(gè)位按下?按鍵松開(kāi)標(biāo)志無(wú)鍵按下返回值為0圖4-4 按鍵掃描程序流程圖結(jié)束 5調(diào)試過(guò)程及記錄5.1調(diào)試過(guò)程采用Keil uVision4進(jìn)行程序編寫(xiě),首先點(diǎn)擊Project新建New uVisi

33、on Project,鍵入文件名保存后,點(diǎn)擊atmel選擇AT89C51。然后新建text,將程序?qū)懺趖ext內(nèi)并保存后綴為.c。然后將c文件添加進(jìn)Target中的Source Groupe中,再點(diǎn)擊魔術(shù)棒選擇Output選項(xiàng)卡,勾選Create,,Hex Flie,最后保存編譯。雙擊AT89C51添加生成的HEX,即可運(yùn)行仿真。傳感器溫度以手動(dòng)調(diào)節(jié),設(shè)置溫度低于實(shí)際測(cè)量溫度后觀察加熱指示燈,加熱指示燈點(diǎn)亮。設(shè)置溫度高于實(shí)際測(cè)量溫度后觀察降溫指示燈,降溫指示燈點(diǎn)亮。并且LED可以顯示當(dāng)前溫度和設(shè)置溫度。超過(guò)25攝氏度或低于15攝氏度報(bào)警。起初LED顯示出現(xiàn)了亂碼,經(jīng)過(guò)檢查程序與硬件發(fā)現(xiàn)程序中寫(xiě)

34、入的是共陰極段碼表,后來(lái)改成共陽(yáng)極段碼,還遇到問(wèn)題是小數(shù)點(diǎn)不顯示,后來(lái)修改程序?qū)ip=1改為dip=0后小數(shù)點(diǎn)可以正常顯示,由此將前面十位個(gè)位的標(biāo)志位改為先賦值1再賦值0,修改后LED終于可以正常顯示了。起初報(bào)警電路的喇叭,并沒(méi)有連接非門,在程序中報(bào)警時(shí)將報(bào)警標(biāo)志beep置1正常時(shí)置0。結(jié)果出現(xiàn)了正常溫度范圍報(bào)警,非正常范圍不報(bào)警的錯(cuò)誤。試圖修改時(shí),將beep報(bào)警置0正常置1發(fā)現(xiàn)蜂鳴器不響。后來(lái)連接非門才解決了問(wèn)題,實(shí)現(xiàn)正常報(bào)警。起初在傳感器輸出信號(hào)的放大上出現(xiàn)問(wèn)題,由于沒(méi)有理解放大器的正向放大與反相放大,在電阻設(shè)置上設(shè)置了R2/R1=10。結(jié)果在用電壓表測(cè)量放大器輸出時(shí)發(fā)現(xiàn)電壓沒(méi)有準(zhǔn)確放大

35、10倍,查閱資料后進(jìn)行改正。本系統(tǒng)使用的是正向放大,故R2/R1應(yīng)為9。改正后可以準(zhǔn)確按照10倍放大傳感器輸出電壓了。5.2仿真過(guò)程加熱過(guò)程,設(shè)定溫度為20攝氏度,實(shí)際溫度為18度,加熱過(guò)程仿真圖如圖5-1所示。圖5-1 加熱過(guò)程仿真圖降溫過(guò)程,設(shè)定溫度為20攝氏度,實(shí)際溫度為22攝氏度,降溫過(guò)程仿真圖如圖5-2所示。圖5-2 降溫過(guò)程仿真圖 實(shí)際溫度為27攝氏度,超過(guò)25攝氏度,報(bào)警過(guò)程仿真圖如圖5-3所示。圖5-3 報(bào)警過(guò)程仿真電路心得體會(huì)一周時(shí)間緊張而有序的課程設(shè)計(jì)結(jié)束了,雖然此次設(shè)計(jì)的方案并不具有很高的實(shí)際應(yīng)用價(jià)值,但是它讓我了解到了溫度控制系統(tǒng)的基本重要模塊的組成。在本次課程設(shè)計(jì)中,

36、通過(guò)查閱資料基本完成了硬件的設(shè)計(jì),然后根據(jù)硬件電路進(jìn)行軟件設(shè)計(jì),基本實(shí)現(xiàn)了生物培養(yǎng)液微機(jī)溫度控制系統(tǒng)的功能要求。在老師的指導(dǎo)和同學(xué)們的幫助以及自己的努力下,我順利完成了這次課程設(shè)計(jì),通過(guò)這次課程設(shè)計(jì),使我對(duì)單片機(jī)AT89C51的應(yīng)用、計(jì)算機(jī)控制技術(shù)、傳感器技術(shù)等等專業(yè)知識(shí)有了更深刻的了解,學(xué)習(xí)到了了許多在理論學(xué)習(xí)過(guò)程中不能理解的知識(shí),提高了自己理論聯(lián)系實(shí)際的能力,并且在實(shí)際應(yīng)用理論知識(shí)過(guò)程中發(fā)現(xiàn)了很多問(wèn)題,最后通過(guò)查找資料以及同學(xué)之間相互交流解決了問(wèn)題。為今后在工作中專業(yè)知識(shí)的應(yīng)用積累了寶貴的經(jīng)驗(yàn),也讓更加了解了今后在工作中解決問(wèn)題的方法。那就是靜下心來(lái),先認(rèn)真把理論知識(shí)弄清楚,原理清楚了之后

37、在實(shí)際應(yīng)用中遇到問(wèn)題也可以很快的想到解決方案。通過(guò)本次溫度監(jiān)控系統(tǒng)的設(shè)計(jì)我了解到了設(shè)計(jì)系統(tǒng)時(shí)的主要方法,這些都是寶貴的經(jīng)驗(yàn)。設(shè)計(jì)時(shí)可以采取先分后總的方式來(lái)設(shè)計(jì)總電路圖。也就是說(shuō)先根據(jù)功能把系統(tǒng)劃分為幾個(gè)獨(dú)立的模塊或者結(jié)構(gòu),然后再根據(jù)各個(gè)模塊之間的聯(lián)系性,把它們通過(guò)一定的關(guān)系綜合起來(lái),就得出了一個(gè)完整的系統(tǒng)。特別是在設(shè)計(jì)大型系統(tǒng)的時(shí)候就顯得特別的重要,有幾個(gè)或者幾十個(gè)設(shè)計(jì)者來(lái)合作,為了節(jié)省時(shí)間,必須同時(shí)開(kāi)始,這就得劃分模塊分工合作,最終再合起來(lái)?!跋确趾罂偂边@是一種設(shè)計(jì)方式。另外在本次設(shè)計(jì)的過(guò)程中遇到了使得我重新復(fù)習(xí)了過(guò)去的知識(shí),加深了對(duì)知識(shí)的了解。過(guò)去有些不了解的知識(shí)點(diǎn)經(jīng)過(guò)現(xiàn)在的復(fù)習(xí),有了更好

38、的理解。總的來(lái)說(shuō),本次課設(shè)讓我對(duì)單片機(jī)程序、單片機(jī)應(yīng)用、傳感器、放大器、A/D轉(zhuǎn)換等很多知識(shí)有更深一步的認(rèn)識(shí)。 參考文獻(xiàn)【1】 于海生 計(jì)算機(jī)控制技術(shù),機(jī)械工業(yè)出版社,2007年5月【2】 劉教瑜 曾勇 單片機(jī)原理及應(yīng)用,武漢理工大學(xué)出版社,2011年4月【3】 戴卓 傳感與檢測(cè),武漢理工大學(xué)出版社,2003年4月【4】 陳立周 陳宇單片機(jī)原理術(shù)及應(yīng)用,機(jī)械工業(yè)出版社,2007年1月【5】 何立民 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì),北京航空航天大學(xué)出版社,,2000.年附錄#include #include #define uchar unsigned char #define uint unsigned

39、intuchar code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e;/共陽(yáng)極段碼/ADC0808引腳定義sbit OE=P24;sbit EOC=P25;sbit ST=P26;/LED引腳定義,C1左起第二個(gè)數(shù)碼管sbit C1=P21;sbit C2=P22;sbit C3=P23;sbit dip=P07;/按鍵sbit key_shi=P35;sbit key_ge=P36;sbit key_clean=P37;sbit led_red=P20;/加熱、冷卻模塊sbit beep=P34;sbit heat=P27;sbit cold=P31;uint KP=10; /PID系數(shù)uint KI=0.5;uint KD=3;float PID5=0,0,0,0,0;/Error dError iError prev_Error last_Errorint pwm=0;uint ad,key_ad=0; /ad采樣溫度,key_ad設(shè)定溫度uchar m1,m2,m3;/存放各個(gè)數(shù)位/延時(shí)子程序void delayms(uint ms)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論