版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
緒論1.1器智能控制系統(tǒng)設(shè)計(jì)的研究意義與目的隨著世界科技的發(fā)展,世界各國(guó)對(duì)能源問(wèn)題越來(lái)越受重視,熱水器已成為成為我們的生活必不可少的。儲(chǔ)水式電熱水器.以其無(wú)污染、儲(chǔ)水量多等特點(diǎn)在眾多替代能源中受到青睞。儲(chǔ)水式工作時(shí)候用環(huán)保節(jié)能且功率小,對(duì)于各方面的要求也低,所以在我國(guó)大部分家庭均可使用。儲(chǔ)水式電熱水器在發(fā)達(dá)國(guó)家早已經(jīng)普遍了。在我國(guó)這個(gè)情況并沒(méi)有發(fā)生很大改變?nèi)缃穸鄶?shù)人在使用著太陽(yáng)能熱水器??墒墙裉祀S著我國(guó)經(jīng)濟(jì)的快速發(fā)展,儲(chǔ)水式熱水器將會(huì)在我國(guó)大面積的使用。可是由于我國(guó)各地區(qū)的水壓情況的不一樣,以及加熱的不及時(shí)。造成了我們所使用熱水器時(shí)造成的不好影響比如溫度調(diào)節(jié)不及時(shí),水溫?zé)o法達(dá)到,給我們消費(fèi)者帶了不少麻煩因此本課題將以此為研究對(duì)象,通過(guò)使用PID控制算法的熱水器智能控制系統(tǒng)設(shè)計(jì),使儲(chǔ)水式熱水器這一問(wèn)題得到較好的改善。1.2國(guó)內(nèi)外熱水器系統(tǒng)控制研究與現(xiàn)狀電熱水器有即熱式,儲(chǔ)水式。而我們大多數(shù)家用使用的是儲(chǔ)水式熱水器,與即熱式熱水器對(duì)比有以下特點(diǎn):1、需預(yù)熱,儲(chǔ)水量大。2、安全性好,一般家庭線路都可負(fù)載3、內(nèi)部相對(duì)于較為簡(jiǎn)單,維修時(shí)較為方便4、同樣的容積,價(jià)格對(duì)比十分低廉。5、預(yù)熱時(shí)間長(zhǎng),加熱相對(duì)較為慢。熱水器在國(guó)外多數(shù)是用豎式,而國(guó)內(nèi)大多使用橫式。而豎式則加熱速度快,出水率高,其下層是冷水這樣的設(shè)計(jì)能減少冷水對(duì)熱水的沖擊,符合國(guó)外的一個(gè)生活習(xí)慣。相比之下橫式熱水器儲(chǔ)水量大,洗澡時(shí)舒適感能得到大大加強(qiáng)。在熱水器的控制上面基于單片機(jī)的溫度測(cè)控系統(tǒng)在檢測(cè)和控制系統(tǒng)中的應(yīng)用也越來(lái)越廣泛所以在基礎(chǔ)上國(guó)內(nèi)外對(duì)對(duì)電熱水器的溫度有了基本的測(cè)量,自動(dòng)檢測(cè)和但是對(duì)于溫度的把控不夠精準(zhǔn)。溫度控制技術(shù)機(jī)械式:通過(guò)多種不同的的組合來(lái)實(shí)現(xiàn)不同功率的切換擁有顯示溫度和水位功能,但是不是達(dá)到溫度水位的自動(dòng)控制功能。,然后通過(guò)調(diào)節(jié)水的流量大小來(lái)決定控制溫度,但是由于調(diào)節(jié)的時(shí)候有流量以及功率不同的相互內(nèi)在的約束,造成調(diào)節(jié)溫度的方法不簡(jiǎn)便,并存此方式一般為手動(dòng)控制。雖然在有的熱水器產(chǎn)品中添加電加熱輔助裝置,但是在功能和智能上存在了很多的缺陷,給用戶體驗(yàn)帶來(lái)不好的感覺(jué)。例如我們經(jīng)常使用熱水器中有設(shè)置2-3個(gè)不同功率的加熱管對(duì)水進(jìn)行加熱,在溫度控制的過(guò)程中通過(guò)對(duì)水流量的控制對(duì)其進(jìn)行調(diào)整,但是流量調(diào)節(jié)及溫度調(diào)節(jié)之間存在的影響以及誤差,并且我們?cè)谄涫褂玫臅r(shí)候無(wú)法在溫度及流量上同時(shí)獲得滿足,并且溫度無(wú)法做隨流量變化做到微小調(diào)整。因此該技術(shù)存在不足。電子式:與機(jī)械式不同之處在于其有完整的控制結(jié)構(gòu),如溫度傳感器,流量傳感器,以及在設(shè)置了幾個(gè)不同大功率的加熱體然后通過(guò)控制芯片及其相關(guān)軟件來(lái)實(shí)現(xiàn)對(duì)水溫的控制。并且在此方式上解決了流量調(diào)節(jié)及溫度調(diào)節(jié)之間存在的影響以及誤差使流量的改變不會(huì)對(duì)水溫產(chǎn)生很大的變化,因此完成了對(duì)流量和溫度的不同控制。解決了機(jī)械方式的缺點(diǎn),所以在國(guó)內(nèi)外市場(chǎng)上被認(rèn)可使用。PID控制是比例,積分和微分控制,其結(jié)構(gòu)簡(jiǎn)單,穩(wěn)定性極佳,可靠且易于配置,通常是無(wú)法完全理解和掌握被控制對(duì)象的結(jié)構(gòu)和參數(shù),或者無(wú)法建立精確的數(shù)學(xué)模型時(shí)檢測(cè)時(shí)獲得的結(jié)果當(dāng)時(shí),通用控制理論及其計(jì)算難以接受,因此,目前使用PID控制技術(shù)最為簡(jiǎn)便。當(dāng)今的底盤(pán)溫度控制系統(tǒng)廣泛用于化學(xué),機(jī)械工程,機(jī)械工程,制藥和其他行業(yè)。在試運(yùn)行及調(diào)試過(guò)程中,化工產(chǎn)品符合生產(chǎn)工藝和生產(chǎn)要求,具有廣闊的應(yīng)用前景。另外,為了控制可行性,對(duì)當(dāng)前溫度值,當(dāng)前溫度趨勢(shì)和總能量進(jìn)行采樣,以方便控制系統(tǒng)快速識(shí)別,提高響應(yīng)速度并減少溫度穩(wěn)定時(shí)間。所以根據(jù)以上的優(yōu)缺點(diǎn)選擇使用pid溫度控制系統(tǒng),使水溫穩(wěn)定在一定的設(shè)計(jì)誤差內(nèi)并提供合適的熱水器解決方案。本課題將重點(diǎn)研究?jī)?chǔ)水式電熱水器1.3研究?jī)?nèi)容通過(guò)對(duì)上面的描述以及對(duì)儲(chǔ)水式熱水器優(yōu)缺點(diǎn)以及分析了國(guó)內(nèi)的溫度控制情況了解現(xiàn)有儲(chǔ)水式熱水器的一些缺陷,最大的問(wèn)題就是溫度控制精準(zhǔn)性不高,穩(wěn)定性一般,無(wú)法快速加熱滿足人們的日常需求。所以通過(guò)使用PID控制算法的熱水器溫控系統(tǒng)、控制系統(tǒng)及其相關(guān)影響參數(shù),實(shí)現(xiàn)快速升溫以及時(shí)刻保證溫度的恒定。后續(xù)會(huì)通過(guò)對(duì)于材料的選擇已經(jīng)對(duì)于電路的分析在pid上的一些參數(shù)調(diào)整進(jìn)一步的使這個(gè)溫控系統(tǒng)更加智能化,簡(jiǎn)單化。
2熱水器智能控制系統(tǒng)的總體方案設(shè)計(jì)2.1實(shí)時(shí)溫控系統(tǒng)的控制原理能量守恒定律設(shè)置流量傳感器及溫度傳感器放入在儲(chǔ)水熱水器的進(jìn)水端,隨后用通過(guò)單片機(jī)去獲取水溫度及流量的值,然后算出一個(gè)能量值是溫度提升所需要的數(shù)值,通過(guò)公式將這個(gè)得出加熱這個(gè)溫度時(shí)候所需要的功率,在通過(guò)單片機(jī)的控制引腳將功率轉(zhuǎn)換到加熱器上。Q=Cm△TM=pv(式2.1)表2.1公式的定義C比熱容焦/千克?攝氏度M水的質(zhì)量kg△t水溫變化量°Cp水的密度kg/m3根據(jù)流量的定義可知最后推出P=4200×流量X△T/60(流量單位L/min)(式2.2)系統(tǒng)中將水溫到達(dá)所要求的溫度,根據(jù)上述公式計(jì)算所需功率大小,以達(dá)到所需要的溫度值,而且為了減少程序中單片機(jī)的工作量,把事先算好的記升高一攝氏度所需要的能量,然后羅列好各種數(shù)據(jù),當(dāng)工作的時(shí)候單片機(jī)檢測(cè)到的流量后可以直接得系統(tǒng)需要的基礎(chǔ)功率,然后提供所需的的功率PID控制原理pid控制基本原理介紹比例環(huán)節(jié):基礎(chǔ)比例環(huán)節(jié)缺點(diǎn)為較容易產(chǎn)生穩(wěn)態(tài)的誤差;積分環(huán)節(jié):消除穩(wěn)態(tài)的誤差缺點(diǎn)就是增加了超調(diào)量微分環(huán)節(jié):加大慣性響應(yīng)的速度,減弱超調(diào)的趨勢(shì)圖2.1典型的閉環(huán)控制系統(tǒng)閉環(huán)控制系統(tǒng)的傳遞函數(shù)C(S)R在完美的情況下,R(s)和C(s)的傳遞函數(shù)是為1??墒沁^(guò)程的消息的得到的處理都需要一定的時(shí)間,這個(gè)傳遞函數(shù)為:c(s)RS=2.2總體方案設(shè)計(jì)圖2.2結(jié)構(gòu)系統(tǒng)原理圖表2.2系統(tǒng)結(jié)構(gòu)作用1開(kāi)關(guān)閥門(mén)(流量調(diào)節(jié)及關(guān)斷)2安全閥3接地導(dǎo)體4溫度傳感器5流量傳感器6隔離水電阻7加熱絲8加熱罐9高溫保護(hù)器10繼電器11控制中心12電流互感器2.2.1加熱控制系統(tǒng)加熱系統(tǒng)由以下單位所組合:溫度傳感器:基于控制精確的溫度以及快速響應(yīng)的特點(diǎn),不采取集成芯片。使用普通的電阻型塑封NTC即可且成本低廉。鎳金加熱絲:為了使熱交換效率高得以實(shí)現(xiàn)。采取體積小。鐐金加熱絲并且其自身的儲(chǔ)備熱能很小可以無(wú)視,因此在突發(fā)斷水的情況下不會(huì)發(fā)生溫度過(guò)沖繼電器:繼電器用于接收控制中心的控制信號(hào),決定是否對(duì)加熱絲進(jìn)行通斷2.2.2水路系統(tǒng)開(kāi)關(guān)閥設(shè)置在水路系統(tǒng)中,開(kāi)關(guān)閥在此起著重要的作用。它不僅可以打開(kāi)和關(guān)閉水路,還可以用作流量調(diào)節(jié)的調(diào)節(jié)器,還可以用作自動(dòng)觸發(fā)控制中心工作的輸入端口。只要用戶打開(kāi)此開(kāi)關(guān),整個(gè)機(jī)器就會(huì)啟動(dòng)并進(jìn)入工作狀態(tài),無(wú)需任何操作即可獲得預(yù)先設(shè)定的水溫。2.2.3安全系統(tǒng)隔電墻:用于出水進(jìn)水進(jìn)隔離水電阻,才能在工作220V降至安全電壓。接地導(dǎo)體:當(dāng)水中電壓還是存在的適合,用接地導(dǎo)體可以保證電壓為0.保證了安全。防干燒:當(dāng)溫度過(guò)高或者在局部高溫的時(shí)候手動(dòng)控制器將斷開(kāi)電路起到保護(hù)作用防燙傷:設(shè)置溫度傳感器,來(lái)檢測(cè)是否達(dá)到了溫度上限。若是檢測(cè)溫度過(guò)高停止加熱,保證溫度在需要的范圍內(nèi)。防止溫度過(guò)高燙傷。2.2.4加熱技術(shù)圖2.3從左到右為鎧裝、鍍膜、鎳金(1)電熱管加熱(鎧裝式)工作原理:其耐高溫的材質(zhì)放在又合金構(gòu)成的無(wú)縫管中均勻的排放這。致密分布的結(jié)晶氧化鎂粉末填充了間隙。施加電流后,電流流經(jīng)電阻線并產(chǎn)生熱量,隨后金屬管的溫度開(kāi)始升高,熱量通過(guò)在其表面加熱,然后熱量轉(zhuǎn)移到水中達(dá)到預(yù)想的溫度值。優(yōu)點(diǎn):能量傳遞效率高,發(fā)熱均勻,生產(chǎn)的工藝不復(fù)雜,成本相對(duì)低;缺點(diǎn):容易產(chǎn)生污垢,管子極易被腐蝕,(2)石英加熱管(鍍膜)工作原理:加熱器采用乳白色石英玻璃管和經(jīng)過(guò)特殊處理的耐腐蝕合成材料。由其自身的特點(diǎn)可以進(jìn)行高效率的轉(zhuǎn)換,吸收和升高管中的溫度會(huì)產(chǎn)生純硅-氧鍵的分子振動(dòng),從而使95%的可見(jiàn)光和近紅外光轉(zhuǎn)換成熱能并轉(zhuǎn)移到水中以實(shí)現(xiàn)加熱。優(yōu)點(diǎn)分析:傳遞能量的效率高,對(duì)于物體的增溫均勻,并且生產(chǎn)工藝簡(jiǎn)單且成本較低;缺點(diǎn):耐快速冷卻和耐熱性差,容易破裂,泄漏,耐壓性,長(zhǎng)期使用會(huì)衰減(3)鎳金加熱工作原理:自身鎳含量極高是普通加熱絲的無(wú)法達(dá)到的,將其放入水中進(jìn)行加溫,工作的環(huán)境無(wú)隔離層和絕緣層中間。優(yōu)點(diǎn):可以將能量幾乎達(dá)到99以上的傳遞效率,而且不會(huì)產(chǎn)生雜質(zhì),適合各種不同的水環(huán)境;劣點(diǎn):價(jià)格過(guò)高,且工作的適合需要添加隔電墻以防止強(qiáng)電。2.3本章小結(jié)本章通過(guò)對(duì)熱水器的加熱方式,安全技術(shù),溫控方面的研究,對(duì)熱水器進(jìn)行了初步的了解,對(duì)后面的實(shí)驗(yàn)以及設(shè)計(jì)做好鋪墊,特別對(duì)于整個(gè)的系統(tǒng)以及智能控制做好了準(zhǔn)備。
3溫控系統(tǒng)硬件電路設(shè)計(jì)圖3.1控制系統(tǒng)總體框架圖溫控系統(tǒng)控制的構(gòu)成為:溫度的檢測(cè)模塊,單片機(jī)控制系統(tǒng),鍵盤(pán)顯示電路和引擎控制單元組成。在本設(shè)計(jì)中,以AT89C52單片機(jī)為主要控制器,形成熱水器水溫微控制系統(tǒng)。在這設(shè)計(jì)中使用該傳感器使用內(nèi)置的單級(jí)溫度敏感傳感器DS18B20,該傳感器用于確定水溫并負(fù)責(zé)將檢測(cè)到的水壓轉(zhuǎn)換為模擬信號(hào)。另一方面,它通過(guò)LED顯示當(dāng)前的溫度和水位,而且它與設(shè)定的溫度和水位進(jìn)行比較和計(jì)算,并根據(jù)結(jié)果發(fā)送適當(dāng)?shù)募訜岷屠鋮s指令。調(diào)節(jié)熱水器的溫度。3.1最小系統(tǒng)應(yīng)用電路圖3.2AT89C52外部管腳排列圖AT89C52包括40個(gè)引腳關(guān)于對(duì)于AT89C52主要外部管腳排列介紹:VCC:能提供電壓、電流的容器知,如電池,所以也叫電源。gnd:指接地一般為看作為點(diǎn)位為0的導(dǎo)線,通常來(lái)說(shuō)是防止發(fā)生觸電P0:其組成為鎖存器,輸入緩沖器,非門(mén)與門(mén)各一個(gè),以及切換的開(kāi)關(guān)。8位漏極開(kāi)路型雙向I/O口。p0有三個(gè)功能:作為數(shù)據(jù)總線,作為地址總線,不擴(kuò)展的時(shí)候可以當(dāng)作I/O端口,無(wú)法上拉電阻。當(dāng)作為外部外部擴(kuò)展存儲(chǔ)器的數(shù)據(jù)地址總線時(shí)候從p0輸入信號(hào),然后這個(gè)信號(hào)會(huì)通過(guò)引腳進(jìn)入緩沖器從而達(dá)到內(nèi)部總線,p0端口工作的時(shí)候若是寫(xiě)入1,則這個(gè)時(shí)候高電阻會(huì)被當(dāng)作引腳。而當(dāng)作訪問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),此時(shí)p0則具有上拉電阻P1:結(jié)構(gòu)相對(duì)簡(jiǎn)單,它僅僅是作為數(shù)據(jù)輸入或者輸出端口作為使用,它與p0端口的主要的不同在于p1端口內(nèi)部的上拉電阻可替換了p0端口的場(chǎng)效應(yīng)管v1。并且內(nèi)部的總線發(fā)出輸出的信息。表3.1P1口部分引腳的第二功能表引腳號(hào)第二功能P1.0T2(定時(shí)器/計(jì)數(shù)器T2的外部計(jì)數(shù)輸入),時(shí)鐘輸出P1.1T2EX(定時(shí)器/計(jì)數(shù)器T2的捕捉/重載觸發(fā)信號(hào)和方向控制)P1.5MOSI(在系統(tǒng)編程用)P1.6MISO(在系統(tǒng)編程用)P1.7SCK(在系統(tǒng)編程用)P2端口:一共有著8個(gè)引腳,其作用可以作為:1.輸出輸入引腳,2外接存儲(chǔ)器,3地址總線高八位。其8個(gè)引腳的內(nèi)部電路結(jié)構(gòu)都是一樣的沒(méi)有差別。當(dāng)使用p2作為輸出時(shí)候,數(shù)據(jù)會(huì)被cpu用內(nèi)部總線送到鎖存器的去。并且會(huì)同步的給鎖存器cl送寫(xiě)信號(hào),然后通過(guò)一些列的處理從p2端口引腳輸出.當(dāng)作為輸入端使用的時(shí)候,此時(shí)cpu首先會(huì)讓p2寫(xiě)作1。同時(shí)關(guān)閉了p2端的輸出電路,隨后讓cpu送一個(gè)讀引腳的信號(hào),然后三態(tài)門(mén)被打開(kāi)這個(gè)數(shù)據(jù)被送到內(nèi)部總線。P3端口:一共有著8個(gè)引腳,其作用可以作為:1.輸出輸入引腳,2。第二功能其8個(gè)引腳的內(nèi)部電路結(jié)構(gòu)都是一樣的沒(méi)有差別。當(dāng)p3作為輸出時(shí)候cpu開(kāi)始工作首先給鎖存器的送寫(xiě)信號(hào),然后內(nèi)部總線來(lái)的信息在通過(guò)d進(jìn)入鎖存器然后從q輸出。當(dāng)作為輸入端口的時(shí)候cpu開(kāi)始工作給鎖儲(chǔ)器寫(xiě)1,同時(shí)關(guān)閉了p3端的輸出電路,隨后讓cpu送一個(gè)讀引腳的信號(hào),然后三態(tài)門(mén)被打開(kāi)這個(gè)數(shù)據(jù)被送到內(nèi)部總線。.作為第二功能的時(shí)候?qū)嶋H也是該端口輸入或輸出信號(hào)只不過(guò)是一些特殊功能的信號(hào)具體見(jiàn)下圖。表3.2P3口引腳第二功能表引腳號(hào)第二功能P3.0RXD(串行輸入)P3.1TXD(串行輸出)P3.2(外部中斷0)P3.3(外部中斷1)P3.4T0(定時(shí)器0外部輸入)P3.5T1(定時(shí)器1外部輸入)P3.6WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)P3.7RD(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)RST:RESET信號(hào)通常用于帶有CPU的電路中,這意味著復(fù)位和初始化。RESET信號(hào)用于在啟動(dòng)時(shí)初始化電路,而RESET信號(hào)在電路的工作狀態(tài)異常消失時(shí)必須用于重啟電路。ALE/PROG:當(dāng)單片機(jī)需要擴(kuò)展外部的隨機(jī)存儲(chǔ)的內(nèi)存的時(shí)候,ale用于控制把用于控制把P0口的輸出低8位地址送鎖存器鎖存器來(lái)PSEN:PSEN是讀取外部程序存儲(chǔ)器的門(mén)控信號(hào)。AT89S52存儲(chǔ)器:a程序存儲(chǔ)器程序存儲(chǔ)器一般來(lái)說(shuō)專門(mén)對(duì)于程序以及常熟來(lái)存放的時(shí)候使用的。當(dāng)把這些程序以及常熟放入的時(shí)候系統(tǒng)只能運(yùn)行并且無(wú)法重寫(xiě)。關(guān)閉系統(tǒng)電源后,程序不會(huì)丟失。因此,稱之為只讀存儲(chǔ)器。b數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)的構(gòu)成為讀寫(xiě)存儲(chǔ)器ram。作用為運(yùn)行是的中間數(shù)據(jù)結(jié)果等,at89c52的存儲(chǔ)器最大容量擴(kuò)展到64kb。AT89S52中有6個(gè)不同的中斷源:兩個(gè)外部中斷(和),定時(shí)器有3個(gè)用于三個(gè)分別得定時(shí)中斷和一個(gè)串行中斷。讓中斷源有效與無(wú)效的方法是可以用位置或者刪除特殊寄存器中的相關(guān)中斷。表3.3功能表關(guān)于中斷允許控制器符號(hào)位地址功能EAIE.7中斷總允許控制位。EA=0,中斷總禁止;EA=1,各中斷由各自的控制為設(shè)定—IE.6預(yù)留ET2IE.5定時(shí)器2中斷允許控制位ESIE.4串行口中斷允許控制位ET1IE.3定時(shí)器1中斷允許控制位EX1IE.2外部中斷1允許控制位ET0IE.1定時(shí)器0中斷允許控制位EX0IE.0外部中斷1允許控制位電源和復(fù)位和振蕩電路以及擴(kuò)展部分等部分組成最小系統(tǒng)。圖3.3最小系統(tǒng)電路圖復(fù)位電路:復(fù)位的功能是重新啟動(dòng)微控制器,它可以保證當(dāng)程序出現(xiàn)了混亂失控或崩潰可以讓整個(gè)系統(tǒng)進(jìn)入初始化的狀態(tài),方便后面工作的展開(kāi)也因此保證了系統(tǒng)的穩(wěn)點(diǎn)所以在電路中,只要按下復(fù)位后整個(gè)系統(tǒng)將會(huì)重啟,而且恢復(fù)了其本身設(shè)定好的默認(rèn)值。每個(gè)晶振都存在與振蕩電路中,它的作為非常大可以結(jié)合單片機(jī)電路產(chǎn)生單片機(jī)所需的時(shí)鐘頻率,當(dāng)這個(gè)能提供的頻率越高,那么單片機(jī)的運(yùn)行速度也是越迅速。其能得到的一切指令都是由于晶振能提供時(shí)鐘頻率晶振存在于振蕩電路單片機(jī)系統(tǒng),晶體可以等效于一個(gè)電感,并在電容器內(nèi)部形成一個(gè)振蕩環(huán)路,能量從電感到電容緩慢,然后從電容器到電感,然后形成振蕩。正半周期是電容器的充電和放電過(guò)程,負(fù)半周期是電感器的充電和放電過(guò)程。圖3.4振蕩電路圖3.2測(cè)溫電路在本次設(shè)計(jì)中使用DS18B20溫度傳感器,因?yàn)槠湓跍y(cè)量范圍較廣-55+125攝氏度之間合適并且線路簡(jiǎn)單而且體積小節(jié)約空間,可以應(yīng)用不同場(chǎng)合的并且改變其外觀。并且精度較為準(zhǔn)確可達(dá)到0.5℃。它具有一定簡(jiǎn)化電路的作用。我們通過(guò)讀取DS18B20數(shù)字傳感器數(shù)據(jù)線上的數(shù)據(jù),并通過(guò)一定的運(yùn)算來(lái)實(shí)現(xiàn)前溫度的讀取。圖3.5測(cè)溫電路接線圖3.3顯示屏輸出電路表3.4顯示屏引腳說(shuō)明引腳號(hào)功能第1腳VSS為地電源。第2腳VDD接5V正電源。第3腳VL為液晶顯示器對(duì)比度調(diào)整段,接正電源時(shí)對(duì)比度最弱,接地時(shí)對(duì)比度最高,對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度。第4腳RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。第5腳R/W為讀寫(xiě)信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫(xiě)操作。第6腳E端為使能端,當(dāng)E端由高電平跳變?yōu)榈碗娖綍r(shí),液晶模塊執(zhí)行命令。第7~14腳D0~D7位8位雙向數(shù)據(jù)線。第15腳背光源正極第16腳背光源負(fù)極。圖3.6連接顯示電路3.4按鍵電路按鍵電路用來(lái)調(diào)整溫度上下限,圖3.7按鍵電路3.5蜂鳴器報(bào)警電路報(bào)警器與I/O口P3.3連與一個(gè)報(bào)警器形成報(bào)警電路,通過(guò)對(duì)I/O輸入高低電平來(lái)控制報(bào)警器的響鈴。P3.3位低電平時(shí)報(bào)警。蜂鳴器報(bào)警電路如圖3.8(a)、(b)。圖3.8蜂鳴器報(bào)警電路(a)圖3.8蜂鳴器報(bào)警電路(b)3.6電機(jī)升降溫電路其工作機(jī)制為當(dāng)前的溫度高于設(shè)定溫度的峰值時(shí),Moter1降溫電機(jī)工作。當(dāng)前的溫度低于設(shè)定下限時(shí),Moter2升溫電機(jī)工作。電機(jī)升降溫電路如圖3.9所示。圖3.9電機(jī)升降溫電路4基于PID控制算法的溫控系統(tǒng)軟件設(shè)計(jì)4.1程序流程設(shè)計(jì)圖4.1工作流程首先在編寫(xiě)程序上先設(shè)定好所需要的溫度上下限定,在其工作的時(shí)候開(kāi)始溫度傳感器開(kāi)始獲取當(dāng)前的溫度,隨后把信息傳入單片機(jī)中,此時(shí)來(lái)判斷當(dāng)前的溫度是否滿足我們所需要的溫度,當(dāng)不滿足條件的時(shí)候分為兩種情況:一超過(guò)了預(yù)想溫度最高值,低于預(yù)想溫度最低值,當(dāng)超過(guò)最高值的時(shí)候,紅燈亮起,加熱的開(kāi)關(guān)被斷開(kāi)。當(dāng)溫度降低到正常使用范圍內(nèi)結(jié)束工作。二低于設(shè)定溫度的最低值,黃燈亮起,啟用電機(jī)升高溫度。達(dá)到所需要的溫度。若當(dāng)溫度滿足所設(shè)定的區(qū)間,則整個(gè)流程結(jié)束。 voidmain(){ Init_Display_String(); //初始化顯示 Read_Temperature(); //讀取溫度 MOTOR_control02(); //電機(jī)控制 delay1ms(1000); //延時(shí)1秒 wr_com(0x01); //LCD清屏 Display_Temperature(); //顯示溫度 Timer0_init(); while(1) { Read_Temperature(); //讀取溫度 Display_Temperature(); //顯示溫度 if(Detect==0)MOTOR_control01(); //電機(jī)控制 elseMOTOR_control02(); //電機(jī)停止 if(Adjust_TH==0) //調(diào)節(jié)TH。 { if(Key_up==0) { Temperature_H+=10; if(Temperature_H>350)Temperature_H=350; while(Key_up==0)Display_Temperature(); } if(Key_dn==0) { Temperature_H-=10; if(Temperature_H<=250)Temperature_H=250; while(Key_up==0)Display_Temperature(); } } if(Adjust_TL==0) //調(diào)節(jié)TL。 { if(Key_up==0) { Temperature_L+=10; if(Temperature_L>250)Temperature_L=250; while(Key_up==0)Display_Temperature(); } if(Key_dn==0) { Temperature_L-=10; if(Temperature_L<=150)Temperature_H=150; while(Key_up==0)Display_Temperature(); } }voidTimer1()interrupt2{TCON=0X04;IE=0X84;}}4.1.1溫度采集子程序開(kāi)始初始化命令開(kāi)始初始化命令跳過(guò)ROM命令溫度轉(zhuǎn)換命令初始化命令匹配ROM命令發(fā)送64位序列號(hào)讀取溫度值溫度數(shù)據(jù)處理結(jié)束圖4.2溫度采集子程序流程開(kāi)始對(duì)于溫度的采集,因?yàn)橹挥幸粋€(gè)dsb18b20,不需要進(jìn)行匹配rom,若是多個(gè)dsb18b20則需要匹配,因?yàn)閐sb18b20轉(zhuǎn)換后的代買(mǎi)不是實(shí)際的溫度值然后開(kāi)始執(zhí)行溫度轉(zhuǎn)化命令,隨后在進(jìn)行初始化,重新匹配rom發(fā)出了低字節(jié)8位產(chǎn)品類型標(biāo)號(hào),對(duì)于dsb18b20就是28h,接著48位是指的dsb18b20自身序列號(hào),最后的8位是對(duì)前面56的循環(huán)冗余校驗(yàn)碼,隨后讀取溫度的確切值發(fā),到達(dá)數(shù)據(jù)處整個(gè)過(guò)程結(jié)束。voidDisplay_String(u8*p) //顯示//{ while(*p!='\0') { wr_dat(*p); p++; delay1ms(10); }}voidInit_Display_String() //初始化顯示{ lcd_init(); wr_com(0x80); Display_String("Haveaniceday!"); wr_com(0xc0); Display_String("2020-03=6-25");}4.1.2溫度處理及顯示子程序DS18B20DS18B20測(cè)溫子程序讀取溫度的低位值讀取溫度的高位值對(duì)溫度值計(jì)算顯示溫度準(zhǔn)備讀取溫度值返回圖4.3溫度處理及顯示子程序流程圖Ds18b2發(fā)出了低字節(jié)8位產(chǎn)品類型標(biāo)號(hào),對(duì)于dsb18b20就是28h,接著48位是指的dsb18b20自身序列號(hào),最后的8位是對(duì)前面56的循環(huán)冗余校驗(yàn)碼,隨后讀取溫度的確切值發(fā),到達(dá)數(shù)據(jù)處整個(gè)過(guò)程結(jié)束。voiddelay_18B20(u8i) //延時(shí)i微秒{ for(;i>0;i--);}voidds1820rst() //*ds1820復(fù)位*/{ u8x=0; DQ=1; //DQ復(fù)位 u8i=0; u8dat=0; for(i=8;i>0;i--) { DQ=0; //給脈沖信號(hào) dat>>=1; DQ=1; //給脈沖信號(hào) if(DQ) dat|=0x80; delay_18B20(10); } return(dat);}voidds1820wr(u8wdata) //*寫(xiě)數(shù)據(jù)*/{ u8i=0; for(i=8;i>0;i--) { DQ=0; DQ=wdata&0x01; delay_18B20(10); DQ=1; wdata>>=1;}}voidRead_Temperature() //*讀取溫度值并轉(zhuǎn)換*/{ u8a,b; ds1820rst(); ds1820wr(0xcc); //*跳過(guò)讀序列號(hào)*/ ds1820wr(0x44); //*啟動(dòng)溫度轉(zhuǎn)換*/ ds1820rst(); ds1820wr(0xcc); //*跳過(guò)讀序列號(hào)*/ ds1820wr(0xbe); //*讀取溫度*/ a=ds1820rd(); b=ds1820rd(); Temperature=a+b*256; if(Temperature<=0x0fff)Temperature_flag=0; else { Temperature=~Temperature+1; Temperature_flag=1; } Temperature=Temperature*(0.625);//溫度值擴(kuò)大10倍,以精確到1位小數(shù) }/*******************************************************************/voidDisplay_Temperature()//溫度值顯示{ disdata[0]=Temperature/1000+0x30; //百位數(shù) disdata[1]=Temperature/100%10+0x30; //十位數(shù) disdata[2]=Temperature/10%10+0x30; //個(gè)位數(shù) disdata[3]=Temperature%10+0x30; //小數(shù)位 wr_com(0x80); Display_String(str1);; if(Temperature_flag==1)wr_dat(0x2d); //顯示符號(hào)位 if(disdata[0]!=0x30)wr_dat(disdata[0]); //顯示百位 wr_dat(disdata[1]); //顯示十位 wr_dat(disdata[2]); //顯示個(gè)位 wr_dat(0x2e); //顯示小數(shù)點(diǎn) wr_dat(disdata[3]); //顯示小數(shù)位 wr_dat('C'); if(Set_Clock==0) { Display_String("CLK:"); wr_dat(Clock_Timer/10+0x30); wr_dat(Clock_Timer%10+0x30); } wr_com(0xc0); Display_String(str2); wr_dat(Temperature_H/100+0x30); wr_dat(Temperature_H/10%10+0x30); wr_dat('C'); Display_String(str3); wr_dat(Temperature_L/100+0x30); wr_dat(Temperature_L/10%10+0x30); wr_dat('C'); }4.1.3升降溫程序及LED顯示子程序調(diào)溫及報(bào)警子程序讀取溫度子程序調(diào)溫及報(bào)警子程序讀取溫度子程序燈不亮返回返回返回降溫電機(jī)工作,紅燈亮升溫電機(jī)工作,黃燈亮在設(shè)定范圍內(nèi)嗎?是否大于最大值YesNoNoYes首先讀取了溫度數(shù),然后判定是否在我們?cè)O(shè)定的溫度區(qū)間內(nèi),若在溫度區(qū)間內(nèi)(yes)結(jié)束若不在溫度設(shè)定區(qū)間內(nèi)(no)折開(kāi)始判斷是否大于最大值若是大于最大值的話降溫電機(jī)工作,紅燈亮,隨后達(dá)到正常的溫度。若是沒(méi)有大于最大值的話,升溫電機(jī)工作,黃燈亮。隨后溫度到達(dá)所需要的范圍內(nèi)。停止工作返回。4.2PID參數(shù)整定KP,KI,KP在pid算法中是最為重要的三個(gè)控制參數(shù),在已知系統(tǒng)傳遞函數(shù)時(shí),可以用臨界比例度法整定系統(tǒng)PID參數(shù)。具體過(guò)程如下所示:(1)建設(shè)閉環(huán)回路,求出穩(wěn)定極限。(2)根據(jù)公式計(jì)算參數(shù)。由本文開(kāi)環(huán)相應(yīng)曲線,我們可以求出系統(tǒng)的近似傳遞函數(shù),其傳遞函數(shù)如下式所示:(式4.1)表4.1pid控制器特征數(shù)據(jù)控制器類型計(jì)算特征數(shù)據(jù)KpTiTdP0.5*KPD0.8*KPI0.45*K0.85*TPID0.6*K0.5*T0.12*T第一步先創(chuàng)建一個(gè)閉環(huán)系統(tǒng)用的是采取階躍輸入。然后不適用pid控制如下圖所示:圖4.5系統(tǒng)單閉環(huán)傳遞函數(shù)及響應(yīng)曲線首先將積分系數(shù)和微分系數(shù)設(shè)為0,即僅進(jìn)行比例控制,調(diào)整P參數(shù),以使系統(tǒng)出現(xiàn)穩(wěn)定的恒定振幅振蕩,此時(shí),可獲得下圖所示的響應(yīng)曲線:4.6系統(tǒng)臨界震蕩響應(yīng)曲線由上圖可知,臨界振蕩增益:K=1.5;臨界振蕩周期T=303.1S,詳細(xì)PID計(jì)算式參數(shù)如下:(式4.2)輸入相應(yīng)PID參數(shù)得到如下仿真輸出:圖4.7系統(tǒng)PID調(diào)節(jié)響應(yīng)曲線4.2.1控制算法設(shè)計(jì)加熱是非線性且隨時(shí)間變化的系統(tǒng),所以在本次控制系統(tǒng)的中選擇用智能控制算法pid。該算法將給定溫度與實(shí)際溫度之間的比率,然后設(shè)定kpki這三個(gè)控制的。。所獲得的算法結(jié)果控制了執(zhí)行器的執(zhí)行狀態(tài),從而可以顯著改善控制系統(tǒng)的控制時(shí)間,超調(diào),滯后反應(yīng)和最終穩(wěn)定性。4.3PID參數(shù)整定通常在pid控制算法中,啟到?jīng)Q定性的作用的分別是KP,KI,KP這三個(gè)控制參數(shù),在已知系統(tǒng)傳遞函數(shù)時(shí),可以用臨界比例度法整定系統(tǒng)PID參數(shù)。具體過(guò)程如下所示:(1)構(gòu)造一個(gè)閉環(huán)并確定穩(wěn)定性極限。(2)根據(jù)公式計(jì)算控制器參數(shù)。由開(kāi)環(huán)相應(yīng)曲線,我們可以求出系統(tǒng)的近似傳遞函數(shù),其傳遞函數(shù)如下式所示:(式4.3)原始P決定這個(gè)系統(tǒng)的穩(wěn)定性的極限的,一旦這個(gè)兩個(gè)參數(shù)被確定后,使用下表確定其他參數(shù)。表4.2穩(wěn)點(diǎn)極限計(jì)算控制器類型計(jì)算特征數(shù)據(jù)KpTiTdP0.5*KPD0.8*KPI0.45*K0.85*TPID0.6*K0.5*T0.12*T第一步是先用用步進(jìn)輸入建立一個(gè)不帶PID控制器的閉環(huán)系統(tǒng)及其仿真輸出,如下圖所示:圖4.8系統(tǒng)單閉環(huán)傳遞函數(shù)及響應(yīng)曲線首先將積分系數(shù)和微分系數(shù)設(shè)為0,即僅進(jìn)行比例控制,調(diào)整P參數(shù),使系統(tǒng)具有穩(wěn)定的恒定振幅振蕩。那時(shí),獲得如下圖所示的響應(yīng)曲線:圖4.9系統(tǒng)臨界震蕩響應(yīng)曲線由上圖可知,臨界振蕩增益:K=1.5;臨界振蕩周期T=303.1S,詳細(xì)PID計(jì)算式參數(shù)如下:輸入與之對(duì)應(yīng)的PID參數(shù)得到仿真輸出:圖4.10系統(tǒng)PID調(diào)節(jié)響應(yīng)曲線4.3.1PID參數(shù)微調(diào)從圖4-6的輸出結(jié)果可以看出,系統(tǒng)仍然存在一定量的過(guò)沖,所以在此基礎(chǔ)上減小了積分系數(shù),并進(jìn)行了微調(diào)對(duì)比例系數(shù)和微分系數(shù),最后得到曲線如下圖所示。。圖4.11系統(tǒng)最有PID響應(yīng)曲線由上面仿真結(jié)果可知系統(tǒng)上升時(shí)間為250S,系統(tǒng)在600S左右達(dá)到穩(wěn)定,而且超調(diào)量較小,PID調(diào)節(jié)效果較為理想。
5系統(tǒng)調(diào)試5.1調(diào)試過(guò)程在本次仿真中使用的是keiluVision仿真器,首先先用匯編語(yǔ)言keil的有的函數(shù)庫(kù)和c語(yǔ)言編寫(xiě)的文件放在一起,然后創(chuàng)建生成文件庫(kù)轉(zhuǎn)換為hex的文件,再將其導(dǎo)入寫(xiě)入的cpu存儲(chǔ)器當(dāng)中。電路設(shè)計(jì)制作完成后,先用keiluVision仿真器進(jìn)行調(diào)試。(1)、使用菜單“Project/NewProject”出現(xiàn)一個(gè)對(duì)話框,然后給將要建立的工程取一個(gè)名字,單擊保存后會(huì)出現(xiàn)另外一個(gè)對(duì)話框選擇系統(tǒng)所使用的單片機(jī)型號(hào),本系統(tǒng)所使用的單片機(jī)型號(hào)為AT89c52。選中后回到工程窗口的頁(yè)面打開(kāi)“Tatget”的下一層,“SourceGroup1”單機(jī)右鍵選中“Addfiletogroup‘SourceGroup1’”,出現(xiàn)對(duì)話框,選擇系統(tǒng)所用的源文件即可。(2)單擊“Project/Target1”出現(xiàn)對(duì)話框選中“Target”頁(yè)面修改單片機(jī)的頻率項(xiàng)Xtal(MHz)為12.選中“Output”頁(yè)面選中“CreateHEX”選項(xiàng)。(3)編譯連接通過(guò)“Project/RebuildallTargetFiles”來(lái)實(shí)現(xiàn)(4)在Protues上畫(huà)出電路圖,并將keil所生成的Hex文件調(diào)入到電路中的單片機(jī)內(nèi),點(diǎn)擊運(yùn)行。5.2調(diào)試結(jié)果圖5.1仿真溫度高于設(shè)定溫度連接好電路圖將程序hex文件植入單片機(jī)內(nèi),單片機(jī)開(kāi)始運(yùn)行,此時(shí)我們?cè)赿s18b20設(shè)置溫度為32在其最高最低溫度設(shè)為30-20此時(shí)系統(tǒng)判定當(dāng)溫度高于設(shè)定上限時(shí),Moter1降溫電機(jī)工作紅燈亮。直到溫度恢復(fù)工作停止。圖5.2仿真溫度低于設(shè)定溫度設(shè)置溫度為32在其最高最低溫度設(shè)為30-20此時(shí)系統(tǒng)判定當(dāng)溫度高于低于下限時(shí),Moter1升溫電機(jī)工作黃燈亮。直到溫度恢復(fù)工作停止。
6總結(jié)本次的畢業(yè)設(shè)計(jì)花費(fèi)了三個(gè)月,從一開(kāi)始的迷茫不懂,到最后較為熟練的使用軟件進(jìn)行操作,這次的溫控系統(tǒng)是一個(gè)at89c52單片機(jī)為主要的核心,搭配其他的電路以及pid的算法形成的,通過(guò)對(duì)儲(chǔ)水式熱水器實(shí)時(shí)溫控系統(tǒng)進(jìn)行研究。通過(guò)分析對(duì)當(dāng)前的技術(shù)方法和軟件系統(tǒng)內(nèi)部結(jié)構(gòu),采用精確控制方法進(jìn)行系統(tǒng)修正不僅大大簡(jiǎn)化了程序控制,而且獲得了更快的系統(tǒng)響應(yīng)速度和精度。在本次課設(shè)上沒(méi)有采取式及高深的控制理論,通過(guò)用計(jì)算機(jī)語(yǔ)言去解決了遇到的問(wèn)題以及人工下無(wú)法解決的取得了良好的效果使用ds18b20對(duì)于溫度的掌控,溫度的控制利用低功耗單線數(shù)字溫度傳感器DS18B20實(shí)現(xiàn)溫度采樣,將采樣的溫度值通過(guò)送入單片機(jī)處理,然后實(shí)現(xiàn)水溫的控制,利用按鍵對(duì)水溫的值進(jìn)行設(shè)置,當(dāng)溫度高于上限或者低于下限后蜂鳴器報(bào)警,使之保持溫度在一定范圍內(nèi)的穩(wěn)定。報(bào)警器與I/O口連與一個(gè)報(bào)警器形成報(bào)警電路,通過(guò)對(duì)I/O輸入高低電平來(lái)控制報(bào)警器的響鈴。位低電平時(shí)報(bào)警。系統(tǒng)用led顯示水溫,正常來(lái)說(shuō)我們所需要的水的溫度不超過(guò)100因?yàn)椴扇晌伙@示溫度,其范圍0-99在本次的畢業(yè)設(shè)計(jì)中不僅學(xué)習(xí)到了知識(shí),更多的是方法技巧。在之前對(duì)于調(diào)試仿真畫(huà)電路圖很迷惑,浪費(fèi)了大量時(shí)間并且效率還不高,現(xiàn)在通過(guò)一系列的學(xué)校提高了效率,在這段期間內(nèi),自己還有老師的幫助解決了工程遇到的困難,提升了自己的意志力也對(duì)于這個(gè)專業(yè)有了更深的認(rèn)識(shí),這都都將會(huì)為我們?cè)谝院蟮牡缆反蛏蠄?jiān)定的基礎(chǔ),積累寶貴的經(jīng)驗(yàn)。
參考文獻(xiàn)[1]陳和娟.基于STC12C5A60S2的智能循跡小車設(shè)計(jì)[J].湖南工業(yè)職業(yè)技術(shù)學(xué)院學(xué)報(bào),2012(04):14-16.
[2]魏麗芳.淺談超聲波測(cè)距儀設(shè)計(jì)[J].投資與創(chuàng)業(yè),2012(3):2-2.
[3]姜帥琦.基于大學(xué)生方程式賽車虛擬儀表系統(tǒng)硬件設(shè)計(jì)[J].科技視界,2014(11):109-111.
[4]何曉興.基于單片機(jī)的正弦信號(hào)發(fā)生器[J].電子制作,2015(04):8-10.
[5]杜德銀.基于光電傳感器的路燈控制系統(tǒng)設(shè)計(jì)電路分析[J].科技信息,2013(36):138-140.
[6]王會(huì).節(jié)能斷電報(bào)警器的設(shè)計(jì)[J].當(dāng)代農(nóng)機(jī),2014(08):71-73.
[7]張博付永平.煤矸石電廠除氧器自動(dòng)監(jiān)測(cè)控制裝置設(shè)計(jì)與應(yīng)用[J].機(jī)電信息,2014(21):147-148.
[8]馬玉芳.基于AT89S52語(yǔ)音告警電路的設(shè)計(jì)[J].電子世界,2014(18):229-229.
[9]任航.簡(jiǎn)易低頻信號(hào)發(fā)生器的設(shè)計(jì)[J].機(jī)電信息,2012(06):142-144.
[10]曹嘉瑋.基于單片機(jī)控制的步進(jìn)電機(jī)調(diào)速系統(tǒng)[J].電子世界,2011(07):22-26.
[11]王瑞.基于AT89S52單片機(jī)的PWM電機(jī)控制風(fēng)扇轉(zhuǎn)速系統(tǒng)[J].延安職業(yè)技術(shù)學(xué)院學(xué)報(bào),2012(01):107-109.
[12]朱興喜胡新勇戚仕濤劉云李琳.抗干擾手持式輸液液滴計(jì)數(shù)器的研制與開(kāi)發(fā)[J].醫(yī)療衛(wèi)生裝備,2007(11):29-32.
[13]張糧雨方方.基于51單片機(jī)的便攜式α檢測(cè)儀顯示電路設(shè)計(jì)[J].電子制作,2015(10):12-13.
[14]寧洪軍.基于單片機(jī)實(shí)際電路板的焊接調(diào)試與Proteus仿真研究[J].科技信息,2011(17):545-545.
[15]楊國(guó)榮.GSM通信基站安防及載波監(jiān)控系統(tǒng)設(shè)計(jì)[J].新技術(shù)新工藝,2015(06):49-52.
[16]吳漢清.常用的典型單片機(jī)資料[J].無(wú)線電,2007(11):9-9.
[17]付琛.低功耗、微型化近距離無(wú)線通信模塊硬件設(shè)計(jì)[J].科技信息(學(xué)術(shù)版),2006(04):244-247.
[18]賈麟.電加熱爐調(diào)溫控制系統(tǒng)[J].才智,2010(31):35-35.
[19]周航宋詩(shī)瑤.單片機(jī)在七彩霓虹燈設(shè)計(jì)中的應(yīng)用[J].遼寧經(jīng)濟(jì)職業(yè)技術(shù)學(xué)院(遼寧經(jīng)濟(jì)管理干部學(xué)院學(xué)報(bào)),2010(01):72-73.
[20]范穎.新型加溫器的研制[J].科技創(chuàng)新與應(yīng)用,2018(22):2-2.
[21]鐘衛(wèi)連.基于單片機(jī)的太陽(yáng)能熱水器控制系統(tǒng)設(shè)計(jì)[J].電子世界,2019(12):193-194[22]SuiZhenyou.DesignofIntelligentWaterHeaterControlSystem[J].ACADEMICPUBLISHINGHOUSE,2015,3(2).[23]XinHuiYang.DesignforaS7-200-BasedBoilerTemperatureCascadeControlSystem[J].TransTechPublicationsLtd,2014,3530.[24]WenyiWang,YaoyuLi,FengCao.Extremumseekingcontrolforefficientoperationofanair-sourceheatpumpwaterheaterwithinternalheatexchangercyclevaporinjection[J].ElsevierLtd,2019,99.[25]LiSong.TheCircuitDesignonThermostatControlofSolarWaterHeater'sWaterTemperature[J].TransTechPublicationsLtd,2014,2987.[26]張昌玉.家用智能熱水器控制器的設(shè)計(jì)[J].南方農(nóng)機(jī),2019,50(23):243.[27]高超學(xué),尹華,陳志強(qiáng),陳焱,武昊天.基于“互聯(lián)網(wǎng)+”智能熱水器系統(tǒng)[J].機(jī)械工程與自動(dòng)化,2019(06):172-174.[28]雷祿燕.基于AT89C51的太陽(yáng)能熱水器智能控制系統(tǒng)設(shè)計(jì)[J].科技與創(chuàng)新,2019(12):124-125+127.[29]陳培才,施文振,田敬北,賴宇虹.熱水器遠(yuǎn)程智能控制系統(tǒng)設(shè)計(jì)[J].科技風(fēng),2018(20):88.[30]張明華.基于單片機(jī)的熱水器智能控制系統(tǒng)的設(shè)計(jì)[J].電子制作,2015(06):8.[31]劉新.太陽(yáng)能熱水器自動(dòng)控制系統(tǒng)的設(shè)計(jì)[J].電子技術(shù)與軟件工程,2018(1):108.[32]曾璐琨.需求側(cè)聚合負(fù)荷協(xié)同控制策略研究[D].華北電力大學(xué)(北京),2019.
謝辭本論文在韓導(dǎo)師的悉心指導(dǎo)下完成的。導(dǎo)師淵博的專業(yè)知識(shí)、嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,精益求精的工作作風(fēng),誨人不倦的高尚師德,嚴(yán)于律己、寬以待人的崇高風(fēng)范,樸實(shí)無(wú)法、平易近人的人格魅力對(duì)本人影響深遠(yuǎn)。不僅使本人樹(shù)立了遠(yuǎn)大的學(xué)習(xí)目標(biāo)、掌握了基本的研究方法,還使本人明白了許多為人處事的道理。本次論文從選題到完成,每一步都是在導(dǎo)師的悉心指導(dǎo)下完成的,傾注了導(dǎo)師大量的心血。在此,謹(jǐn)向?qū)煴硎境绺叩木匆夂椭孕牡母兄x!在寫(xiě)論文的過(guò)程中,遇到了很多的問(wèn)題,在老師的耐心指導(dǎo)下,問(wèn)題都得以解決。所以在此,再次對(duì)老師道一聲:老師,謝謝您!時(shí)光匆匆如流水,轉(zhuǎn)眼便是大學(xué)畢業(yè)時(shí)節(jié),春夢(mèng)秋云,聚散真容易。離校日期已日趨漸進(jìn),畢業(yè)論文的完成也隨之進(jìn)入了尾聲。從開(kāi)始進(jìn)入課題到論文的順利完成,一直都離不開(kāi)老師、同學(xué)、朋友給我熱情的幫助,在這里請(qǐng)接受我誠(chéng)摯的謝意!在此我向北京理工大學(xué)珠海學(xué)院的工業(yè)自動(dòng)化的老師的感謝,謝謝你們?nèi)甑男燎谠耘?,謝謝你們?cè)诮虒W(xué)的同時(shí)更多的是傳授我們做人的道理,謝謝三年里面你們孜孜不倦的教誨!三年寒窗,所收獲的不僅僅是愈加豐厚的知識(shí),更重要的是在閱讀、實(shí)踐中所培養(yǎng)的思維方式、表達(dá)能力和廣闊視野。很慶幸這三年來(lái)我遇到了如此多的良師益友,無(wú)論在學(xué)習(xí)上、生活上,還是工作上,都給予了我無(wú)私的幫助和熱心的照顧,讓我在一個(gè)充滿溫馨的環(huán)境中度過(guò)三年的大學(xué)生活。感恩之情難以用言語(yǔ)量度,謹(jǐn)以最樸實(shí)的話語(yǔ)致以最崇高的敬意
附錄一材料編號(hào)名稱型號(hào)單位數(shù)量備注1芯片AT89C52片12液晶顯示器LCD160213輕觸開(kāi)關(guān)只34晶振12MHz只15電容33pF只36電阻只157電機(jī)200V塊28三極管PNP只29三極管NPN只110喇叭1V個(gè)111二極管2V只2附錄二程序
#include<AT89X51.H>
#defineu8unsignedchar
#defineu16unsignedint
#defineline010x80
#defineline020xc0
#defineDATA_BUSP0
sbitDQ=P2^7;
//ds18b20與單片機(jī)連接口
sbitEN=P2^0;
//lcd1602控制
sbitRS=P2^1;
//lcd1602與單片機(jī)控制接口
sbitRW=P2^2;
//lcd1602控制
sbitDetect=P3^2;
//檢測(cè)是否有人。
sbitMOTOR1=P2^4;
//電機(jī)1控制端
sbitMOTOR2=P2^5;
//電機(jī)2控制端
sbitLED0=P1^0;
//電機(jī)慢速指示
sbitLED1=P1^1;
//電機(jī)快速指示
sbitSet_Clock=P1^5;
//調(diào)定時(shí)控制
sbitAdjust_TL=P1^6;
//調(diào)TL控制
sbitAdjust_TH=P1^7;
//調(diào)TH控制
sbitKey_up=P3^6;
//+1操作鍵
sbitKey_dn=P3^7;
//-1操作鍵
u8codestr1[]={"TR:"};
u8codestr2[]={"TH:"};
u8codestr3[]={"
TL:"};
u8disdata[5];
u16Temperature;
//檢測(cè)到的溫度(擴(kuò)大了10倍)
u16Temperature_H=300;
//預(yù)設(shè)的高溫控制溫度(擴(kuò)大了10倍)
u16Temperature_L=200;
//預(yù)設(shè)的低溫控制溫度(擴(kuò)大了10倍)
u8Clock_Timer=30;
//預(yù)設(shè)定時(shí)為30分鐘;
u8Temperature_flag;
//溫度正負(fù)標(biāo)志
/*************************lcd1602程序**************************/
voiddelay1ms(u16ms)
//非精確延時(shí)1毫秒
{
u8i,j;
for(;ms>0;ms--)
for(i=2;i>0;i--)
for(j=250;j>0;j--);
}
voidwr_com(u8com)
//LCD1602寫(xiě)指令//
{
delay1ms(1);
EN=0;
RS=0;
RW=0;
DATA_BUS=com;
delay1ms(1);
EN=1;
delay1ms(1);
EN=0;
}
voidwr_dat(u8dat)
//LCD1602寫(xiě)數(shù)據(jù)//
{
delay1ms(1);;
RS=1;
RW=0;
EN=0;
DATA_BUS=dat;
delay1ms(1);
EN=1;
delay1ms(1);
EN=0;
}
voidlcd_init()
//初始化設(shè)置//
{
delay1ms(15);
wr_com(0x38);delay1ms(5);
wr_com(0x08);delay1ms(5);
wr_com(0x01);delay1ms(5);
wr_com(0x06);delay1ms(5);
wr_com(0x0c);delay1ms(5);
}
voidDisplay_String(u8*p)
//顯示//
{
while(*p!='\0')
{
wr_dat(*p);
p++;
delay1ms(10);
}
}
voidInit_Display_String()
//初始化顯示
{
lcd_init();
wr_com(0x80);
Display_String("Haveaniceday!");
wr_com(0xc0);
Display_String("
2020-03-29
");
}
/******************************ds1820程序***************************************/
voiddelay_18B20(u8i)
//延時(shí)i微秒
{
for(;i>0;i--);
}
voidds1820rst()
//*ds1820復(fù)位*/
{
u8x=0;
DQ=1;
//DQ復(fù)位
delay_18B20(4);
//延時(shí)
DQ=0;
//DQ拉低
delay_18B20(100);
//精確延時(shí)大于480us
DQ=1;
//拉高
delay_18B20(40);
}
u8ds1820rd()
//*讀數(shù)據(jù)*/
{
u8i=0;
u8dat=0;
for(i=8;i>0;i--)
{
DQ=0;
//給脈沖信號(hào)
dat>>=1;
DQ=1;
//給脈沖信號(hào)
if(DQ)
dat|=0x80;
delay_18B20(10);
}
return(dat);
}
voidds1820wr(u8wdata)
//*寫(xiě)數(shù)據(jù)*/
{
u8i=0;
for(i=8;i>0;i--)
{
DQ=0;
DQ=wdata&0x01;
delay_18B20(10);
DQ=1;
wdata>>=1;
}
}
voidRead_Temperature()
//*讀取溫度值并轉(zhuǎn)換*/
{
u8a,b;
ds1820rst();
ds1820wr(0xcc);
//*跳過(guò)讀序列號(hào)*/
ds1820wr(0x44);
//*啟動(dòng)溫度轉(zhuǎn)換*/
ds1820rst();
ds1820wr(0xcc);
//*跳過(guò)讀序列號(hào)*/
ds1820wr(0xbe);
//*讀取溫度*/
a=ds1820rd();
b=ds1820rd();
Temperature=a+b*256;
if(Temperature<=0x0fff)Temperature_flag=0;
else
{
Temperature=~Temperature+1;
Temperature_flag=1;
}
Temperature=Temperature*(0.625);//溫度值擴(kuò)大10倍,以精確到1位小數(shù)
}
/*******************************************************************/
voidDisplay_Temperature()//溫度值顯示
{
disdata[0]=Temperature/1000+0x30;
//百位數(shù)
disdata[1]=Temperature/100%10+0x30;
//十位數(shù)
disdata[2]=Temperature/10%10+0x30;
//個(gè)位數(shù)
disdata[3]=Temperature%10+0x30;
//小數(shù)位
wr_com(0x80);
Display_String(str1);;
if(Temperature_flag==1)wr_dat(0x2d);
//顯示符號(hào)位
if(disdata[0]!=0x30)wr_dat(disdata[0]);
//顯示百位
wr_dat(disdata[1]);
//顯示十位
wr_dat(disdata[2]);
//顯示個(gè)位
wr_dat(0x2e);
//顯示小數(shù)點(diǎn)
wr_dat(disdata[3]);
//顯示小數(shù)位
wr_dat('C');
if(Set_Clock==0)
{
Display_String("
CLK:");
wr_dat(Clock_Timer/10+0x30);
wr_dat(Clock_Timer%10+0x30);
}
wr_com(0xc0);
Display_String(str2);
wr_dat(Temperature_H/100+0x30);
wr_dat(Temperature_H/10%10+0x30);
wr_dat('C');
Display_String(str3);
wr_dat(Temperature_L/100+0x30);
wr_dat(Temperature_L/10%10+0x30);
wr_dat('C');
}
voidMOTOR_control01()
{
if(Temperature>=Temperature_H)
//大于TH,電機(jī)全速
{
MOTOR1=0;
MOTOR2=1;
LED0=1;
LED1=0;
}
elseif(Temperature>=Temperature_L)
//小于TH大于TL,電機(jī)半速
{
MOTOR1=1;
MOTOR2=1;
LED0=1;
LED1=0;
}
else
//小于TL,電機(jī)關(guān)閉
{
MOTOR1=1;
MOTOR2=0;
LED0=1;
LED1=1;
}
}
voidMOTOR_control02()
//關(guān)閉電機(jī)
{
MOTOR1=1;
MOTOR2=1;
LED0=1;
LED1=1;
}
voidTimer0_init(void)
{
TMOD=0x01;
TH0=(65536-10000)/256;
//在這里,10000本應(yīng)該是50000的,為了加快仿真的效果,加速了5倍。
TL0=(65536-10000)%256;
TR0=1;
ET0=1;
EA=1;
}
/********************主程序***********************************/
voidmain()
{
Init_Display_String();
//初始化顯示
Read_Temperature();
//讀取溫度
MOTOR_control02();
//電機(jī)控制
delay1ms(1000);
//延時(shí)1秒
wr_com(0x01);
//LCD清屏
Display_Temperature();
//顯示溫度
Timer0_init();
while(1)
{
Read_Temperature();
//讀取溫度
Display_Temperature();
//顯示溫度
if(Detect==0)MOTOR_control01();
//電機(jī)控制
elseMOTOR_control02();
//電機(jī)停止
if(Adjust_TH==0)
//調(diào)節(jié)TH。
{
if(Key_up==0)
{
Temperature_H+=10;
if(Temperature_H>350)Temperature_H=350;
while(Key_up==0)Display_Temperature();
}
if(Key_dn==0)
{
Temperature_H-=10;
if(Temperature_H<=250)Temperature_H=250;
while(Key_up==0)Display_Temperature();
}
}
if(Adjust_TL==0)
//調(diào)節(jié)TL。
{
if(Key_up==0)
{
Temperature_L+=10;
if(Temperature_L>250)Temperature_L=250;
while(Key_up==0)Display_Temperature();
}
if(Key_dn==0)
{
Temperature_L-=10;
if(Temperature_L<=150)Temperature_H=150;
while(Key_up==0)Display_Temperature();
}
}
if(Set_Clock==0)
//調(diào)節(jié)定時(shí)。
{
if(Key_up==0)
{
EA=0;
Clock_Timer++;
if(Clock_Timer>90)Clock_Timer=90;
while(Key_up==0)Display_Temperature();
EA=1;
}
if(Key_dn==0)
{
EA=0;
Clock_Timer--;
if(Clock_Timer>90)Clock_Timer=0;
while(Key_up==0)Display_Temperature();
EA=1;
}
if(Clock_Timer==0)MOTOR_control02();
//在定時(shí)模式下,定時(shí)到則電機(jī)停止。
}
}
}
voidTimer0()interrupt1
//定時(shí)器0用于在定時(shí)模式下,控制電機(jī)工作。
{
u8i,sec;
//Clock_Timer
TH0=(65536-10000)/256;
//在這里,10000本應(yīng)該是50000的,為了加快仿真的效果,加速了5倍。
TL0=(65536-10000)%256;
i++;
if(i>=20)
{
i=0;
sec++;
if(sec>=60)
{
sec=0;
Clock_Timer--;
if(Clock_Timer==0)Clock_Timer=0;
}
}
}
附錄三英文文獻(xiàn)附錄四英文文獻(xiàn)翻譯加熱爐溫度模型的預(yù)測(cè)模糊PID控制摘要:在傳統(tǒng)的PID控制方案中,由于自由度的限制,整體控制性能可能不理想?;谶@種背景,本文提出了一種繼承模糊PID控制和預(yù)測(cè)函數(shù)控制優(yōu)點(diǎn)的新型PID控制方法,并在加熱爐溫度模型上進(jìn)行了試驗(yàn)。在PFC框架的基礎(chǔ)上,引入模糊PID控制來(lái)獲得最優(yōu)控制律,進(jìn)而得到一種改進(jìn)的PID控制策略。最后,以加熱爐溫度模型為例,與常規(guī)PID控制和模糊自適應(yīng)PID控制相比,證明了所提出的PID控制方案的有效性。關(guān)鍵詞:預(yù)測(cè)函數(shù)控制、模糊控制、PID控制、溫度調(diào)節(jié)1簡(jiǎn)介傳統(tǒng)的PID控制由于其結(jié)構(gòu)簡(jiǎn)單、適應(yīng)性強(qiáng)等優(yōu)點(diǎn),在各種工業(yè)過(guò)程中得到了廣泛的應(yīng)用,但由于其時(shí)變和非線性的影響,其性能可能不盡如人意。由于難以獲得精確的過(guò)程模型,采用傳統(tǒng)的PID控制很難進(jìn)一步獲得改進(jìn)的控制效果[1-2]。PID控制的研究自提出以來(lái)從未停止過(guò),經(jīng)典的整定方法有很多[3-6]。Zhang等人。將預(yù)測(cè)函數(shù)控制(PFC)與常規(guī)PID控制相結(jié)合,提出了一種新的PID控制器,并在工業(yè)分餾塔上進(jìn)行了性能測(cè)試[7]。工業(yè)加熱爐的溫度具有非線性、時(shí)滯、時(shí)變性等特點(diǎn),控制難度大。非線性控制方法有很多,如模糊控制、時(shí)滯控制、滑??刂?、神經(jīng)元模型自適應(yīng)PID等。模糊控制廣泛應(yīng)用于非線性控制中,它是基于模糊集、模糊邏輯和模糊推理的復(fù)雜系統(tǒng)[12]。采用模糊控制算法的自適應(yīng)系統(tǒng)不僅使控制系統(tǒng)更加可靠,而且獲得了良好的控制性能[13]。模糊控制具有很強(qiáng)的適應(yīng)性,不需要精確的被控過(guò)程模型。為了克服傳統(tǒng)PID控制的缺點(diǎn),可以將模糊控制和PID控制結(jié)合起來(lái)。模型/設(shè)備失配的缺陷可以通過(guò)預(yù)測(cè)控制中可能出現(xiàn)的預(yù)測(cè)誤差來(lái)補(bǔ)償[14-15]。基于非線性系統(tǒng)的輸出誤差預(yù)測(cè),時(shí)變預(yù)測(cè)PID控制器可以解決一般預(yù)測(cè)PID控制器在系統(tǒng)約束條件下的設(shè)計(jì)問(wèn)題[16]。將模糊控制與預(yù)測(cè)控制相結(jié)合,利用模糊推理對(duì)預(yù)測(cè)誤差進(jìn)行補(bǔ)償[17-19]。將模糊控制
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東水利電力職業(yè)技術(shù)學(xué)院《高寒地區(qū)新型建筑材料》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東汕頭幼兒師范高等??茖W(xué)?!夺t(yī)學(xué)超聲影像學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東培正學(xué)院《專項(xiàng)技能與實(shí)踐2》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東農(nóng)工商職業(yè)技術(shù)學(xué)院《中學(xué)語(yǔ)文模擬教學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東茂名農(nóng)林科技職業(yè)學(xué)院《建筑模型》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東嶺南職業(yè)技術(shù)學(xué)院《高級(jí)英語(yǔ)綜合》2023-2024學(xué)年第一學(xué)期期末試卷
- 創(chuàng)業(yè)管理實(shí)戰(zhàn)(清華大學(xué))學(xué)習(xí)通測(cè)試及答案
- 【名師一號(hào)】2021年新課標(biāo)版歷史-必修3-雙基限時(shí)練23
- 《保定文化圖》課件
- 語(yǔ)文教育實(shí)習(xí)總結(jié)
- 視頻監(jiān)控維保項(xiàng)目投標(biāo)方案(技術(shù)標(biāo))
- 椎管內(nèi)腫瘤圍手術(shù)期護(hù)理課件
- 麻醉科主任述職報(bào)告
- PDCA降低護(hù)士針刺傷發(fā)生率
- 申請(qǐng)失業(yè)保險(xiǎn)金承諾書(shū)
- 工程竣工資料整理工程資料服務(wù)合同
- 智能化手術(shù)室介紹strykerisuite課件
- 2023年非標(biāo)自動(dòng)化工程師年度總結(jié)及來(lái)年計(jì)劃
- 2023-2024學(xué)年甘肅省嘉峪關(guān)市酒鋼三中高三上數(shù)學(xué)期末學(xué)業(yè)質(zhì)量監(jiān)測(cè)試題含解析
- 水利機(jī)械施工方案
- 懸挑式腳手架驗(yàn)收記錄表
評(píng)論
0/150
提交評(píng)論