




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、題目:自動(dòng)加熱控制系統(tǒng)設(shè)計(jì)摘 要目前,很多場(chǎng)合都需要自動(dòng)加熱控制系統(tǒng),如鍋爐、金屬熱處理等工業(yè)生產(chǎn)中。自動(dòng)加熱控制系統(tǒng)改善了生產(chǎn)條件差、控制精度低、資源利用率低等問題。本文設(shè)計(jì)了一個(gè)可用于金屬熱處理的自動(dòng)加熱控制系統(tǒng),系統(tǒng)采用STC89C52單片機(jī)作為系統(tǒng)控制處理核心,采用數(shù)字化的溫度傳感器DS18B20采集水箱溫度信息,并與設(shè)定值比較,計(jì)算出偏差,由固態(tài)繼電器作為電加熱爐的控制開關(guān),控制器其導(dǎo)通時(shí)間。實(shí)測(cè)溫度與給定值由LED顯示。此外,還設(shè)置了溫度報(bào)警功能,當(dāng)期望值與實(shí)測(cè)值溫差較大時(shí)進(jìn)行故障聲光報(bào)警。論文著重介紹了系統(tǒng)的硬件及軟件設(shè)計(jì)。初步試驗(yàn)表明:該系統(tǒng)達(dá)到設(shè)計(jì)任務(wù)要求。該系統(tǒng)的電路結(jié)構(gòu)簡(jiǎn)
2、單,具有人工設(shè)定、自動(dòng)調(diào)節(jié)、報(bào)警顯示等功能。本系統(tǒng)采用單片機(jī)控制,具有成本低、可靠性好、結(jié)構(gòu)簡(jiǎn)單、控制能力強(qiáng)等特點(diǎn)。因此,可很多領(lǐng)域都得到應(yīng)用。關(guān)鍵詞:?jiǎn)纹瑱C(jī),DS18B20,固態(tài)繼電器ABSTRACT At present, many occasions the need for automatic heating control system, such as the boiler, the heat treatment of metals in industrial production.Automatic heating control system to improve the pr
3、oduction conditions are poor, low control precision, resource utilization rate is low problem. This paper introduces the design of a can be used in metal heat treatment automatic heating control system, the system adopts STC89C52 chip as the system control processor core, the application of digital
4、temperature sensor DS18B20 temperature information collection water tank, and is compared with the set value, calculate the deviation, by solid state relay as the electric heating furnace control switch, controller of the conduction time.The measured temperature and a given value by the LED display.
5、In addition, also set up a temperature alarm function, the desired value and the measured value of large temperature difference when the fault alarm.This paper mainly introduces the system hardware and software design.Preliminary experiments show that: the system reach the design requirements.The sy
6、stem has the advantages of simple circuit structure, with artificial settings, automatic control, alarm display and other functions. This system adopts single-chip microcomputer control, has the advantages of low cost, good reliability, simple structure, strong control ability and other characterist
7、ics.Therefore, many areas have been applied.KEY WORDS:Single chip microcomputer,DS18B20,Solid State Relay第一章 前 言1.1選題的背景意義 隨著我國(guó)經(jīng)濟(jì)的迅速發(fā)展,能源短缺已成為制約我國(guó)工業(yè)發(fā)展的重要阻礙,社會(huì)各界都對(duì)此積極關(guān)注。此外,溫濕度的自動(dòng)化控制已經(jīng)在工業(yè)生產(chǎn)中得到了廣泛的應(yīng)用。因此,自動(dòng)加熱控制系統(tǒng)的出現(xiàn)極大地解決了能源利用率的問題,有效地改善了目前資源浪費(fèi)和利用率低等問題。自動(dòng)加熱控制系統(tǒng)極大地方便了以前生產(chǎn)條件差、控制精度低、資源利用率低等問題。溫度控制系統(tǒng)在國(guó)內(nèi)各行各業(yè)雖得
8、到了廣泛的應(yīng)用,但就我國(guó)目前生產(chǎn)的溫度控制器來講,總體發(fā)展水平仍然存在很多問題,存在很多弊端。目前,很多場(chǎng)合都需要自動(dòng)加熱控制系統(tǒng),如鍋爐、石油、化工、冶金、機(jī)械、熱處理、建材、電子、材料、輕工業(yè)、制藥、表面處理等工業(yè)生產(chǎn)中。在比如好多都與我們?nèi)粘I罹o密相關(guān)的空調(diào)、電熱毯、電飯鍋、電磁爐、電暖氣、打印機(jī)、吹風(fēng)機(jī)等也都不同程度的應(yīng)用了自動(dòng)加熱控制系統(tǒng)。 現(xiàn)在,我國(guó)正主張節(jié)能減排。因此,設(shè)計(jì)一套完善可行的自動(dòng)加熱控制系統(tǒng)具有巨大的經(jīng)濟(jì)意義和環(huán)保價(jià)值。自動(dòng)加熱控制系統(tǒng)與我們生活緊密聯(lián)系,所以它的需求將會(huì)有一個(gè)非常可觀的發(fā)展前景,況且,目前我國(guó)自動(dòng)加熱器的發(fā)展還不是很成熟,綜合國(guó)力還有待提高,21世
9、紀(jì)賦予我們更多的機(jī)遇,同時(shí)也給了我們更大的挑戰(zhàn),只有提高我國(guó)的綜合國(guó)力,大力加強(qiáng)科技教育投資力度,讓我國(guó)的科技更加提高,這樣才能立足世界不敗之林!加熱溫度控制系統(tǒng)的設(shè)計(jì)有很多不同的方案,有的是采用手動(dòng)控制,繼電器控制,可控硅晶閘管控制等。1.2國(guó)內(nèi)外研究方案目前國(guó)內(nèi)的主要控制方法:手動(dòng)控制、溫度儀表顯示;順序控制器;全PLC控制;專用電腦控制加熱形式有:1.電阻加熱式 這也正是國(guó)內(nèi)絕大多數(shù)廠家采用的方式,其特點(diǎn)是鍋水不帶電2.電磁感應(yīng)加熱式 其原理是當(dāng)電流通過加熱線圈時(shí),就會(huì)形成電磁場(chǎng),把金屬鋁殼至于電磁場(chǎng)中就會(huì)使?fàn)t殼產(chǎn)生渦流并導(dǎo)致其發(fā)熱,從而完成對(duì)鍋水加熱的目的。傳統(tǒng)的自動(dòng)控制加熱系統(tǒng)普遍采
10、用繼電器控制技術(shù),根據(jù)繼電器的導(dǎo)通與關(guān)斷來控制加熱設(shè)備的加熱。由于傳統(tǒng)繼電器采用固定接線的硬件實(shí)現(xiàn)邏輯控制,使控制系統(tǒng)的體積增大,耗電多,效率不高并且因?yàn)榻泳€繁多容易出現(xiàn)故障,不能保證產(chǎn)品的質(zhì)量以及正常的工業(yè)生產(chǎn)。國(guó)外的主要形式有:PID控制、模糊控制、神經(jīng)網(wǎng)絡(luò)和遺傳算法等。1.3我的可選方案經(jīng)分析國(guó)內(nèi)外的現(xiàn)狀及我們完成的可行性,經(jīng)討論決定我們的思路是:方案一:自動(dòng)加熱控制系統(tǒng)采用單片機(jī)為核心進(jìn)行控制。期望溫度值由電位器電路經(jīng)過A/D轉(zhuǎn)換后得到,然后與數(shù)字溫度傳感器DS18B20的測(cè)量結(jié)果進(jìn)行比較,這樣可能會(huì)存在偏差,如果偏差存在,則再經(jīng)PID調(diào)節(jié),再進(jìn)行D/A轉(zhuǎn)換、運(yùn)算放大器放大,然后再和5
11、55定時(shí)器產(chǎn)生的三角波進(jìn)行比較得到脈沖信號(hào),該脈沖信號(hào)的高電平使IGBT導(dǎo)通以控制電阻絲加熱,再用數(shù)字溫度傳感器測(cè)溫,構(gòu)成閉環(huán)。直至測(cè)量的溫度與期望值相等,最后經(jīng)LED顯示實(shí)測(cè)值。設(shè)計(jì)的主要內(nèi)容包括52最小系統(tǒng)、電位器電路、A/D轉(zhuǎn)換模塊、D/A轉(zhuǎn)換模塊、555定時(shí)器模塊、運(yùn)算放大器和比較器、加熱和測(cè)量模塊、顯示模塊。方案二:利用單片機(jī)作為最小系統(tǒng)進(jìn)行控制,期望溫度值由電位器電路經(jīng)過A/D轉(zhuǎn)換后得到,實(shí)測(cè)溫度值通過DS18B20測(cè)得,然后將期望值與實(shí)測(cè)值的進(jìn)行比較,但這樣可能會(huì)存在偏差,如果偏差為正,則固態(tài)繼電器吸合,電爐開始加熱,如果偏差為負(fù),則固態(tài)繼電器不吸合,直至測(cè)量的溫度與期望值相等,
12、最后經(jīng)LED顯示。此外,本設(shè)計(jì)還設(shè)置了溫度報(bào)警功能,當(dāng)期望值與實(shí)測(cè)值溫差較大時(shí)進(jìn)行報(bào)警警示,溫差較小時(shí)則不報(bào)警。這樣有利于提示工作人員更好的進(jìn)行溫度控制,而且,我們采用了燈光和蜂鳴器雙報(bào)警,這樣就避免了一個(gè)報(bào)警出現(xiàn)問題,導(dǎo)致不能正常報(bào)警,使其出現(xiàn)誤差。同時(shí),對(duì)于有的噪聲干擾大的工作環(huán)境中,采用聲源報(bào)警可能無法正確識(shí)別;而對(duì)于有的能見度低的工作環(huán)境中,采用燈光報(bào)警也不利于識(shí)別。因此,采用雙報(bào)警有效地避免了報(bào)警誤差。設(shè)計(jì)的主要內(nèi)容包括52最小系統(tǒng)、電位器電路、A/D轉(zhuǎn)換模塊、加熱和測(cè)量模塊、顯示模塊、報(bào)警模塊。最后,我們以方案一為主,方案二作為預(yù)備方案,實(shí)現(xiàn)對(duì)水溫的檢測(cè)控制。 第二章 總體設(shè)計(jì)方案
13、2.1 設(shè)計(jì)指標(biāo)1.控制加熱爐中水溫的恒定;2.采用位式調(diào)節(jié)規(guī)律;3.運(yùn)行開始后,可顯示瞬時(shí)溫度和設(shè)定溫度值;4.具有上下限報(bào)警功能;5.可以實(shí)時(shí)設(shè)置期望溫度值;2.2 系統(tǒng)概述本課題所設(shè)計(jì)的自動(dòng)加熱控制系統(tǒng)主要包括兩部分:硬件電路及軟件程序。硬件電路采用ATMEL公司的AT89C52作為主處理器,系統(tǒng)主要由信號(hào)采集、A/D轉(zhuǎn)換、數(shù)據(jù)處理輸出、LED顯示等模塊組成。各部分電路的設(shè)計(jì)及原理將會(huì)在硬件電路設(shè)計(jì)部分詳細(xì)介紹;程序的設(shè)計(jì)使用C語言編程,利用Keil 軟件對(duì)其編譯和仿真,詳細(xì)的設(shè)計(jì)算法將會(huì)在程序設(shè)計(jì)部分詳細(xì)介紹。系統(tǒng)控制原理框圖如下:測(cè)量值被控變量偏差給定值測(cè)溫傳感器控制器執(zhí)行器被控對(duì)象
14、圖2-1 控制原理框圖 首先給定一個(gè)溫度期望值然后與測(cè)量值進(jìn)行比較,將得到后的偏差通過控制器再經(jīng)過調(diào)節(jié)控制執(zhí)行器對(duì)加熱設(shè)備進(jìn)行加熱,然后經(jīng)測(cè)溫傳感器進(jìn)行測(cè)溫,將實(shí)測(cè)值再與期望值進(jìn)行比較,直至實(shí)測(cè)值與期望值相符合。2.3系統(tǒng)總體方案2.3.1方案一的系統(tǒng)總體方案框圖比較器電位器A/D控制器D/ANE555IGBT加熱杯測(cè)溫元件圖2-2 方案一系統(tǒng)總體方案方案二的系統(tǒng)總體方案框圖溫度值電位器A/D控制器繼電器加熱杯測(cè)溫元件圖2-3 方案二的系統(tǒng)總體方案2.4控制方案選擇 在實(shí)際的溫度測(cè)量系統(tǒng)中,常用的控制方法有開關(guān)控制和PID控制等。開關(guān)控制的輸出規(guī)律是根據(jù)輸入的偏差的正負(fù),控制器的輸出為最大或最
15、小。這種控制方法比較簡(jiǎn)單,易于實(shí)現(xiàn)。但其存在一定的滯后,使得溫度在設(shè)定值附近有一定的波動(dòng),不適合高精度的溫度控制中。PID控制具有較強(qiáng)的適用范圍,可適用于控制對(duì)象慣性較大且控制精度要求較高的場(chǎng)合。這種控制既能快速控制,又能消除余差,具有較好的控制技能。開關(guān)控制介紹 開關(guān)控制又稱雙位控制,其控制器只有最大或最小兩個(gè)輸出值,相應(yīng)的執(zhí)行器只有開和關(guān)兩個(gè)極限位置。理想的雙位控制器其輸出y與輸入偏差error之間的關(guān)系為: 理想的雙位控制特性如圖:圖2-4 雙位控制特性2.4.2 PID控制介紹在過程控制中,按偏差的比例(P)、積分(I)和微分(D)進(jìn)行控制的PID控制是應(yīng)用最為廣泛的一種自動(dòng)控制器。它
16、具有原理簡(jiǎn)單,易于實(shí)現(xiàn),適用面廣,控制參數(shù)相互獨(dú)立,參數(shù)的選定比較簡(jiǎn)單等優(yōu)點(diǎn);因此PID控制器是一種最優(yōu)控制。參數(shù)的選擇: 比例系數(shù)P對(duì)系統(tǒng)性能的影響:在連續(xù)控制方式中,最基本的控制規(guī)律就是比例控制。比例系數(shù)越大,放大倍數(shù)就越大,將偏差放大的能力越強(qiáng),控制力度也就越強(qiáng),反之亦然。比例控制的優(yōu)點(diǎn)是控制及時(shí)、反應(yīng)靈敏,偏差越大,控制力度越強(qiáng),但其缺點(diǎn)是控制結(jié)果存在余差。積分控制I對(duì)系統(tǒng)性能的影響:為了消除比例控制器中的余差,在比例的基礎(chǔ)上加入積分調(diào)節(jié)器,就可以輕松的解決,從而提高系統(tǒng)的控制精度。但積分的作用是隨著時(shí)間的積累才逐漸增強(qiáng)的,控制動(dòng)作緩慢,控制不及時(shí)。微分控制D對(duì)系統(tǒng)性能的影響:對(duì)于慣性
17、較大的對(duì)象,受到干擾作用的初始時(shí)刻偏差很小。如果用比例控制,偏差值很小時(shí),控制作用也很小,因此,比例控制對(duì)于慣性較大的對(duì)象控制過程緩慢,控制品質(zhì)不佳。微分的特點(diǎn)是能起到超前控制的作用。能在偏差很小時(shí),提前增大控制作用。對(duì)于慣性大的對(duì)象用比例微分,可以改善控制品質(zhì),減小最大偏差,縮短控制時(shí)間。但當(dāng)偏差存在但不變化時(shí),控制作用為零?;谝陨咸攸c(diǎn),將比例(P)、積分(I)、微分(D)結(jié)合起來組成PID控制器可以有效地改善控制性能。數(shù)字PID算法的增量表達(dá)式為:u(k)=Pe(k)-e(k-1)+Ie(k)+De(k)-2e(k-1)+e(k-2)變形為:u(k)=(P+I+D)e(k)-(P+2D)
18、e(k-1)+De(k-2)其中,k表示第k次采樣,X(k)為設(shè)定溫度,Y(k)為實(shí)際水溫,u(k)為控制量,誤差為e(k)=X(k)-Y(k)。2.5軟件設(shè)計(jì)任務(wù)軟硬分工后,軟件部分完成的任務(wù):開機(jī)后首先進(jìn)行初始化,然后將給定溫度值經(jīng)A/D轉(zhuǎn)換后顯示出來,由于我們既要看到給定值又要看到實(shí)測(cè)值,否則難以判斷當(dāng)前溫度是否符合給定的溫度值,但我們又不想占用太多的單片機(jī)口線,所以我們采用一個(gè)四位LED數(shù)碼管顯示,通過一個(gè)按鍵的開關(guān)兩種狀態(tài)控制顯示哪個(gè)溫度值,這樣只需在程序中進(jìn)行選擇即可。實(shí)測(cè)值采用DS18B20進(jìn)行測(cè)溫,將這兩個(gè)溫度值進(jìn)行比較,判斷是否符合誤差范圍,如果符合繼續(xù)測(cè)溫比較;如果不符合,
19、判斷是需要加熱還是需要降溫,然后進(jìn)行相應(yīng)的控制,直到符合誤差范圍,然后在測(cè)溫比較,返回繼續(xù)判斷。第三章 硬件系統(tǒng)設(shè)計(jì)3.1 主控制器的選擇這次設(shè)計(jì)采用的是Atmel公司生產(chǎn)的AT89C52單片機(jī),目前,單片機(jī)產(chǎn)品百花齊放,各具特色,互為互補(bǔ)。單片機(jī)有著一般的微處理器芯片所不具有的功能,他可以獨(dú)立的完成現(xiàn)代工業(yè)控制場(chǎng)所要求的智能化控制功能,其應(yīng)用領(lǐng)域也在不斷擴(kuò)大。AT89C52單片機(jī)片內(nèi)含有可編程Flash存儲(chǔ)單元,用戶可以很方便地進(jìn)行程序的擦寫操作;同時(shí)還含有12B的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM)。AT89C52單片機(jī)屬于AT89C51單片機(jī)的增強(qiáng)型,其主要工作特性是:片內(nèi)程序存儲(chǔ)器內(nèi)含有的8K
20、B的Flash程序存儲(chǔ)器,可擦寫壽命為1000次;片內(nèi)數(shù)據(jù)存儲(chǔ)器內(nèi)含256字節(jié)的RAM;有32根可編程I/O口線;有3個(gè)可編程定時(shí)器;8個(gè)中斷源;串行口是具有一個(gè)全雙工的可編程串行通信口;具有一個(gè)數(shù)據(jù)指針DPTR;低功耗工作模式有空閑模式和掉電模式;工作電源電壓為+5V;最高工作頻率為24MHz。因?yàn)锳T89C52的價(jià)格比較便宜、編程簡(jiǎn)單、支持在線下載程序,適合初學(xué)者學(xué)習(xí)使用,所以我們這次采用AT89C52作為主控制器。單片機(jī)引腳圖為:圖3.1 單片機(jī)的引腳圖3.2 溫度信號(hào)采集部分方案一:采用熱敏電阻。利用半導(dǎo)體電阻值隨溫度呈顯著變化的特性制成的熱敏元件。但熱敏電阻的互換性差,非線性嚴(yán)重,溫
21、度和電阻關(guān)系是指數(shù)關(guān)系。方案二:采用熱電偶。熱電偶是一種發(fā)電型的溫敏元件,它將溫度信號(hào)轉(zhuǎn)換成電動(dòng)勢(shì)信號(hào),配以測(cè)量電動(dòng)勢(shì)信號(hào)的儀表就可實(shí)現(xiàn)溫度的測(cè)量。其優(yōu)點(diǎn)為:測(cè)量精度高。精度可達(dá)0.10.2。具有良好的復(fù)現(xiàn)性和穩(wěn)定性。動(dòng)態(tài)特性好。它的測(cè)量端可以制成很小的接點(diǎn),響應(yīng)速度快,時(shí)間常數(shù)可以達(dá)到毫秒級(jí)甚至微妙級(jí)。構(gòu)造簡(jiǎn)單,制造極其方便。通常是由兩種不同的金屬絲組構(gòu)成,而且不受大小和開頭的限制,外面設(shè)有保護(hù)管套,使用用起來非常方便。方案三:采用DS18B20。DS18B20 是DALLAS公司生產(chǎn)的一種單總線系統(tǒng)的數(shù)字溫度傳感器。他能提供9 位溫度讀數(shù),分辨力為0.5,可在-55+125的范圍內(nèi)測(cè)量。每
22、一個(gè)DS18B20有唯一的系列號(hào) 因此同一條單線總線上可以放多個(gè)DS18B20,十分方便。DS18B20的主要特點(diǎn):1) 用戶可自設(shè)定報(bào)警上下限溫度值2) 不需要外部組件,能在-55+125的范圍內(nèi)進(jìn)行溫度的測(cè)量3) 在-10+85范圍內(nèi)的準(zhǔn)確度為0.54) 通過編程可以實(shí)現(xiàn)9到12位的數(shù)字讀數(shù),測(cè)溫分辨率達(dá)0.06255) 單總線接口方式,僅用一條線就可實(shí)現(xiàn)與微處理器的雙向通信經(jīng)過比較后我們發(fā)現(xiàn)DS18B20優(yōu)越于其它兩種方案,所以我們采用方案三。采集電路如圖所示:圖3.2 采集電路部分3.3 給定溫度電路通常溫度設(shè)定值由按鍵給定,但這樣會(huì)使電路復(fù)雜;用電位器電路給定會(huì)簡(jiǎn)化電路,方便調(diào)節(jié)。本
23、設(shè)計(jì)采用電位器電路給定初始值,需要用到AD轉(zhuǎn)換電路。給定溫度電路圖如圖所示。圖3.3 給定溫度電路3.4 顯示部分本設(shè)計(jì)采用四位一體LED作為顯示模塊其圖片為:圖3.4.1 LED顯示屏它與單片機(jī)的連接如圖所示:圖3.4.2 LED與單片機(jī)的連接圖3.5 報(bào)警電路本設(shè)計(jì)采用發(fā)光二極管報(bào)警和蜂鳴器報(bào)警,即聲光雙報(bào)警,減少了單個(gè)報(bào)警不正常工作后帶來的弊端,同時(shí)雙報(bào)警的應(yīng)用范圍比較廣闊。其報(bào)警電路圖為:圖3.5 報(bào)警電路部分方案一較方案二相比除了上述部分外,還要D/A轉(zhuǎn)換電路、三角波電路以及執(zhí)行器電路等模塊。第四章 軟件設(shè)計(jì)部分這次軟件設(shè)計(jì)由以下幾部分組成:DS18B20溫度采集部分,數(shù)據(jù)處理部分,
24、AD轉(zhuǎn)換部分,顯示部分以及聲光報(bào)警部分。采用模塊化將各個(gè)模塊分別編程,最后采用子程序調(diào)用將程序融為一體,使程序編程簡(jiǎn)單,結(jié)構(gòu)清晰,易于改正錯(cuò)誤。在這里將對(duì)各個(gè)模塊的流程設(shè)計(jì)做出說明,并給出了各自的程序流程圖。4.1主程序設(shè)計(jì)本系統(tǒng)采用DS18B20進(jìn)行測(cè)溫。通過調(diào)整電位器阻值的大小設(shè)定給定值,將該給定值經(jīng)過A/D轉(zhuǎn)換后通過LED顯示。給定值和設(shè)定值的偏差通過PID控制算法進(jìn)行整定計(jì)算出控制量,然后和555構(gòu)成的多諧振蕩器生成的三角波進(jìn)行比較,得到PWM脈沖對(duì)絕緣柵雙極型晶體管(IGBT)進(jìn)行控制,由于占空比的不同,IGBT的導(dǎo)通時(shí)間就不同,這樣就可以控制加熱時(shí)間的長(zhǎng)短。其主程序流程圖如下所示:
25、否是A/D轉(zhuǎn)換和測(cè)溫開始初始化比較偏差是 否為零PID調(diào)節(jié)D/A轉(zhuǎn)換返回圖4.1 程序主流程圖主函數(shù)的定義void main() initial(); /調(diào)用初始化函數(shù) while(1) adc0809(); ds18b20(); if(aj=1) Delay_ms(10); b20display(); else if(aj=0) Delay_ms(10); display(); jrbj(); 4.2 ADC0809模塊4.2.1 ADC0809引腳及功能介紹ADC0809為28引腳的雙列直插式封裝,其引腳如下:1) IN0IN7:模擬量輸入通道。2) ADDA、ADDB、ADDC:模擬通道
26、地址線。用于對(duì)模擬通道進(jìn)行選擇,其通道選擇表如下所示:表1 ADC0809通道選擇表C(ADDC)B(ADDB)A(ADDA)選擇的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN73) ALE:地址鎖存信號(hào),對(duì)應(yīng)于ALE上跳沿時(shí),ADDA、ADDB、ADDC地址狀態(tài)送入地址鎖存器中。4) START:轉(zhuǎn)換啟動(dòng)信號(hào)。在START信號(hào)上跳時(shí),所有內(nèi)部寄存器清0;在START信號(hào)下跳時(shí),開始進(jìn)行A/D 轉(zhuǎn)換。(轉(zhuǎn)換期間START保持低電平)5) D7D0:數(shù)據(jù)輸出線。6) OE:輸出允許信號(hào)。OE=0時(shí),輸出數(shù)據(jù)線呈高阻狀態(tài);OE=1時(shí)允許輸出。7
27、) CLK:時(shí)鐘信號(hào)。需要外部提供,內(nèi)部沒有。8) EOC:轉(zhuǎn)移結(jié)束狀態(tài)信號(hào)。當(dāng)EOC=0時(shí),表示正在進(jìn)行轉(zhuǎn)換;當(dāng)EOC=1時(shí),表示轉(zhuǎn)換結(jié)束。(可作為查詢信號(hào),也可作為中斷請(qǐng)求求信號(hào))9) VCC:+5電源10) VREF:參考電壓(VREF(+)=+5V、VREF(-)=0V)4.2.2 A/D轉(zhuǎn)換流程圖由于本系統(tǒng)只需要采集一路信號(hào),故可將A/D轉(zhuǎn)化器的地址信號(hào)全部直接接地,這樣在軟件編程時(shí)就不需要設(shè)置ADC0809的地址信號(hào)。 A/D采樣時(shí)先對(duì)ADC0809進(jìn)行初始化,然后給ADC0809的START端子一個(gè)上升沿和下降沿,啟動(dòng)A/D;然后單片機(jī)讀取ADC0809的EOC端信號(hào),如果此信號(hào)
28、為高電平,則說明A/D轉(zhuǎn)換結(jié)束,單片機(jī)給ADC0809的OE端子一個(gè)高電平,讀取轉(zhuǎn)換后的采樣值。A/D采樣流程圖如下圖所示:NOYES開 始初始化 A/D啟動(dòng)A/D判斷A/D轉(zhuǎn)換是 否結(jié)束讀取A/D值返回圖4.2 AD轉(zhuǎn)換流程圖4.2.3 A/D轉(zhuǎn)換子程序#include#define uchar unsigned char#define uint unsigned intuchar code table=0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07,0x7f,0x6f;uchar disp4; /定義數(shù)組變量uchar td=0xf7,0xfb,0xfd,
29、0xfe;sbit EOC=P32; /定義EOC引腳sbit OE=P31; /定義OE引腳sbit ST=P30; /定義START引腳sbit CLK=P33;sbit xsd=P17; /定義數(shù)碼管小數(shù)點(diǎn)int temp,getdata;void delay(uint z);void display();void initial();void main() initial(); /調(diào)用初始化函數(shù) while(1) OE=0; /剛開始禁止將轉(zhuǎn)換結(jié)果輸出 ST=0; ST=1; ST=0; /啟動(dòng)A/D轉(zhuǎn)換開始while(EOC=0); /等待轉(zhuǎn)換結(jié)束OE=1; /允許轉(zhuǎn)換結(jié)果輸出get
30、data=P0; /將轉(zhuǎn)換結(jié)果賦值給變量getdataOE=0; /禁止轉(zhuǎn)換結(jié)果輸出 temp=getdata*1.0*5*25*10/255; /將得到的數(shù)據(jù)進(jìn)行處理 disp0=temp%10; /取得個(gè)位數(shù) disp1=temp/10%10; /取得十位數(shù) disp2=temp/100%10; /取得百位數(shù) disp3=temp/1000; /取得千位數(shù) display(); /調(diào)用顯示子程序 void delay(uint z) uint x,y; for(x=z;x0;x-) for(y=115;y0;y-);void initial()TMOD=0x01;TH0=(65536-20
31、)/256;TL0=(65536-20)%256;EA=1;ET0=1;TR0=1;void timer0() interrupt 1 /給AD0809提供25KHz的時(shí)鐘脈沖 TH0=(65536-20)/256; TL0=(65536-20)%256; CLK=CLK; void display() /將顯示結(jié)果在數(shù)碼管中顯示 uchar i,temperature;for(i=0;i4;i+) P2=tdi; P1=tabledispi; if(i=1)xsd=1; delay(1); 4.3 溫度傳感器DS18B20模塊4.3.1引腳及功能腳介紹 溫度傳感器DS18B20有3個(gè)管腳:V
32、CC為電源接口即可由數(shù)據(jù)線提供電源,又可由外部提供電源,范圍3.0V5.5V。GND為接地線。DQ為數(shù)據(jù)輸入輸出接口。DS18B20溫度傳感器的內(nèi)部存儲(chǔ)器包括一個(gè)高速暫存RAM和一個(gè)非易失性的電可擦除的EEPROM。當(dāng)DS18B20接收到溫度轉(zhuǎn)換命令后,開始啟動(dòng)轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以16位帶符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲(chǔ)在高速暫存存儲(chǔ)器的0、1字節(jié)。單片機(jī)可通過單線接口讀到該數(shù)據(jù),讀取時(shí)低位在前,高位在后。DS18B20的工作協(xié)議:初始化ROM操作命令存儲(chǔ)器操作命令處理數(shù)據(jù)。ROM操作命令,如表2所示表2 ROM操作命令指令說明讀ROM(33H)讀DS18B20的序列號(hào)匹配ROM(55H)
33、繼續(xù)讀完64位序列號(hào)的命令,用于多個(gè)DS18B20時(shí)定位跳過ROM(CCH)此命令執(zhí)行后的存儲(chǔ)器操作將針對(duì)在線所有DS18B20搜ROM(F0H)識(shí)別總線上各器件的編碼,為操作各器件做準(zhǔn)備報(bào)警搜索(ECH)僅溫度越限的器件對(duì)此命令做出響應(yīng)存儲(chǔ)器操作指令,如表3所示表3 DS18B20存儲(chǔ)器控制命令指令說明溫度轉(zhuǎn)換(44H)啟動(dòng)在線DS18B20作溫度A/D轉(zhuǎn)換讀數(shù)據(jù)(BEH)從高速暫存器讀9位溫度值和CRC寫數(shù)據(jù)(4EH)將數(shù)據(jù)寫入高速暫存的第3和第4字節(jié)中復(fù)制(48H)將高速暫存器中的第3和第4字節(jié)復(fù)制到EERAM讀EERAM(B8H)將EERAM內(nèi)容寫入高速暫存器中的第3和第4字節(jié)讀電源供
34、電方式(B4H)了解DS18B20的供電方式4.3.2 DS18B20程序流程圖 DS18B20溫度傳感器是單總線式芯片,故對(duì)其讀寫都應(yīng)該是一位一位的進(jìn)行,而且DS18B20的讀寫有著固定的時(shí)序。利用DS18B20采集溫度數(shù)據(jù)時(shí),應(yīng)先對(duì)其進(jìn)行初始化,由單片機(jī)發(fā)出一個(gè)復(fù)位脈沖和從機(jī)發(fā)出存在脈沖,存在脈沖讓單片機(jī)知道DS18B20在總線上且已經(jīng)準(zhǔn)備好了;當(dāng)知道DS18B20存在時(shí),單片機(jī)便向單片機(jī)發(fā)出ROM命令,設(shè)置DS18B20中ROM的格式;然后便可以對(duì)DS18B20采集的數(shù)據(jù)進(jìn)行讀取,由低位到高位一位一位的讀取溫度值,讀取的溫度值存放在兩個(gè)變量中;最后對(duì)存在溫度值的兩個(gè)變量進(jìn)行處理,是溫度數(shù)
35、據(jù)轉(zhuǎn)化成十進(jìn)制形式,以便進(jìn)一步顯示。DS18B20為單總線器件,數(shù)據(jù)和命令在一根線上傳輸,先向溫度傳感器寫入轉(zhuǎn)換命令,延長(zhǎng)一段時(shí)間,再發(fā)送讀命令,將溫度值讀回單片機(jī),單片機(jī)進(jìn)行數(shù)據(jù)處理,送顯示,其轉(zhuǎn)換關(guān)系為:T=temperature*0.625T為單片機(jī)要顯示的溫度,temperature為從DS18B20讀回的數(shù)字量具體溫度采集流程圖如下圖所示:開始初始化讀取溫度值寫溫度值轉(zhuǎn)化為十進(jìn)制返回圖4.3 DS18B20程序流程圖4.3.3 DS18B20子程序如下#include #define uchar unsigned char#define uint unsigned intsbit D
36、Q=P25;sbit dot=P17;uchar td=0xfe,0xfd,0xfb,0xf7; uchar data disp4;Uchar code LED12=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40;uint T;uchar temph,temp1;bit fuhao;Delay_ms(uchar t) uchar i; while(t-)for(i=0;i120;i+); void delay (uchar t) while(t-); void Init_DS18B20(void) uchar x=0; D
37、Q=1; delay(8); DQ=0; delay(90); DQ=1; delay(5); x=DQ; delay(50); uchar ReadByte(void) uchar i,dat; for(i=0;i=1;DQ=1;if(DQ)dat|=0x80;delay(8); return (dat) ; void WriteByte(uchar dat) uchar i; for(i=8;i0;i-) DQ=0; DQ=dat&0x01; delay(8); dat=1; DQ=1; ReadTemperature(void) Init_DS18B20(); WriteByte(0xC
38、C); WriteByte( 0x44); Init_DS18B20(); WriteByte(0xCC); WriteByte( 0xBE); temp1=ReadByte(); temph=ReadByte(); T=temph; T=8; T=T|temp1;b20display() int temperature; uchar i; T=T*0.625; disp0=T/1000; disp1=T/100%10; disp2=T/10%10; disp3=T%10; if(fuhao)disp0=11; if(!disp1) disp1=10; if(!disp0) disp0=10;
39、 if(!disp1) disp1=10; for(i=0;i4;i+) P2=tdi;P1=LEDdispi;if(i=2) dot=1;Delay_ms(3);temperature=disp0*100+disp1*10+disp2; ds18b20() while(1) ReadTemperature();if(temph&0xf0) fuhao=1; T=-T; else fuhao=0;b20display(); main() ds18b20();4.4 PID子模塊4.4.1 PID子模塊程序流程圖開始計(jì)算誤差計(jì)算比例、積分和微分計(jì)算控制量返回圖4.4 PID子模塊程序流程圖4.4
40、.2 PID子模塊的程序如下#include#define uchar unsigned char#define uint unsigned intuint cb3=0,0,0; /差值保存,給定和反饋的差值uint fh3; /符號(hào),1則對(duì)應(yīng)為負(fù)數(shù),0為對(duì)應(yīng)的正數(shù)uint KP;uint KI;uint KD;uint ku; /上一時(shí)刻的控制電壓uint temp; /設(shè)定值uint T; /實(shí)際值uint out; /加熱輸出uint error; /*PID=ku+P*E(k)-E(k-1)+I*E(k)+D*E(k)-2E(k-1)+E(k-2);(增量型PID算式) 函數(shù)入口:te
41、mp(設(shè)定值),T(實(shí)際值)、P、I、D 函數(shù)出口:ku */void PIDoperation(void) /PID運(yùn)算函數(shù) uint piancha3=0,0,0; /中間臨時(shí)變量 uint Postsum; /正數(shù)和 uint Negsum; /負(fù)數(shù)和 Postsum=0; Negsum=0; error=temp-T; if(error0) /設(shè)定值大于實(shí)際值否,即偏差大于0? if(error100)/偏差大于100否? ku=0; /偏差大于100(全速加熱) else piancha0=error; /偏差cb1) /E(k)E(k-1)否? piancha0=cb0-cb1;
42、/E(k)E(k-1) fh0=0; /E(k)-E(k-1)為正數(shù) else piancha0=cb0-cb1; /E(k)piancha2) /E(k-2)+E(k)2E(k-1)否? piancha2=(cb0+cb2)-piancha2; /E(k-2)+E(k)2E(k-1) fh2=0; /E(k-2)+E(k)-2E(k-1)為正數(shù) else piancha2=piancha2-(cb0+cb2); /E(k-2)+E(k)0 /*D*E(k-2)+E(k)-2E(k-1)*/ if(fh2=0) Postsum+=piancha2;/正數(shù)和 else Negsum+=pianc
43、ha2; /負(fù)數(shù)和 /*ku*/ Postsum+=(unsigned long int)ku; if(PostsumNegsum) piancha0=Postsum-Negsum; if(piancha0100) ku=piancha0; else ku=0; else /控制量輸出為負(fù)數(shù) ku=100; else ku=0;void main() PIDoperation();4.5 D/A子模塊4.5.1 D/A子模塊流程圖 開始初始化D/A轉(zhuǎn)換輸出結(jié)果結(jié)束4.5 D/A子模塊流程圖4.5.2 D/A子程序#include#define uchar unsigned char #defi
44、ne uint unsigned intuint ku,wenbian=20,shuziliang;float fenbian=0.0195,dianya,shuzixiaoshu2,shifenwei;sbit cs=P37;sbit wr=P36;void dacinit(void) cs=0; wr=0;void biaodubianhuan(void) ku=85; dianya=(float)ku/20; shuzixiaoshu0=dianya/fenbian; shuzixiaoshu1=shuzixiaoshu0*10; shifenwei=(int)shuzixiaoshu1
45、%10; if(shifenwei=5) shuziliang=shuzixiaoshu0+1; else shuziliang=shuzixiaoshu0; void dac0832(uchar x) P0=x;void main() dacinit(); while(1) biaodubianhuan(); dac0832(shuziliang); 4.6預(yù)備方案主流程圖在主程序中先對(duì)系統(tǒng)進(jìn)行初始化,接著調(diào)用初始值設(shè)置子程序和實(shí)時(shí)溫度采集子程序,設(shè)置低溫報(bào)警值和高溫報(bào)警值;然后分別數(shù)據(jù)進(jìn)行處理并顯示;再調(diào)用報(bào)警子程序,判斷采集到的實(shí)時(shí)數(shù)據(jù)是否超過報(bào)警限,若實(shí)時(shí)數(shù)據(jù)小于低溫報(bào)警值時(shí),則進(jìn)行燈
46、光報(bào)警和蜂鳴器報(bào)警提示,這時(shí)繼電器導(dǎo)通加熱;如果實(shí)時(shí)數(shù)據(jù)高于高溫報(bào)警值時(shí),則進(jìn)行燈光報(bào)警和蜂鳴器報(bào)警提示,這時(shí)可以在電熱爐里添加冷水進(jìn)行冷卻;如果實(shí)測(cè)溫度值在高溫報(bào)警和低溫報(bào)警值范圍內(nèi)則保持不變。系統(tǒng)采用ADC0809對(duì)溫度信號(hào)進(jìn)行轉(zhuǎn)換,通過前置放大器進(jìn)行放大后送給單片機(jī),單片機(jī)采集電壓信號(hào)并計(jì)算出實(shí)際溫度值。主程序是一個(gè)循環(huán)體,通過對(duì)子程序的不斷的調(diào)用進(jìn)行溫度的采集處理,以達(dá)到采集顯示實(shí)時(shí)溫度的目的。否是否是開始A/D轉(zhuǎn)換和測(cè)溫計(jì)算偏差e-4=e4加熱返回圖4.6 預(yù)備方案主流程圖第五章 系統(tǒng)調(diào)試 在前期焊接工作和軟件編程已經(jīng)出有成果時(shí),接下來的工作就是調(diào)試工作了,調(diào)試分為硬件調(diào)試和軟件調(diào)試
47、兩部分。下面就分別介紹這兩部分的調(diào)試過程及遇到的問題和解決辦法。5.1 硬件調(diào)試在硬件的焊接工作完成后,要想知道硬件是否合格,能否達(dá)到標(biāo)準(zhǔn),是要經(jīng)過一些檢測(cè)工具的檢驗(yàn),同時(shí)還要配合軟件的測(cè)試才能知道。對(duì)硬件的測(cè)試主要是通過萬用表和示波器進(jìn)行的,在整個(gè)檢測(cè)環(huán)節(jié),調(diào)試是非常重要的,它在整個(gè)設(shè)計(jì)中占著舉足輕重的位置。5.1.1 硬件調(diào)試工具簡(jiǎn)介硬件的調(diào)試主要通過萬用表來實(shí)現(xiàn)。首先,要仔細(xì)對(duì)照電路原理圖,確保硬件的焊接及連線與原理圖一致。接下來就是檢查各個(gè)焊接點(diǎn)有無虛焊,漏焊,短路等問題。具體方法是:把萬用表的兩個(gè)表筆接好,即黑表筆接在COM端,紅表筆接在V端。然后把萬用表打到二極管的檔位上,用一只表
48、筆接在焊接點(diǎn)的一端,另一只表筆接在應(yīng)與這個(gè)焊接點(diǎn)短路(開路)的另一端,如果焊接完好,則萬用表就會(huì)發(fā)出報(bào)警聲(不會(huì)發(fā)出報(bào)警聲)。另外還應(yīng)檢測(cè)一下使用的電阻、電容等器件是否正確。確定無誤后,進(jìn)行上電測(cè)試,把萬用表打到測(cè)電壓檔位,看各處電壓值是否正常。確定好硬件焊接無誤后接下來要通過硬件與軟件聯(lián)機(jī)調(diào)試以完成預(yù)期目標(biāo)。5.1.2 硬件調(diào)試問題及解決方法在硬件調(diào)試過程中,我們經(jīng)過檢測(cè)發(fā)現(xiàn)雖然各個(gè)連接點(diǎn)沒有虛焊和短接,但是顯示部分和A/D轉(zhuǎn)換部分有一些小問題,再次檢查電路,發(fā)現(xiàn)實(shí)際硬件電路圖連接沒有問題,最后檢測(cè)發(fā)現(xiàn)單片機(jī)最小系統(tǒng)的P2和P3管口的VCC不是+5V,而是0V。最后我們把電源線引接到P0口,再次檢測(cè)后,硬件基本已經(jīng)完好。5.1.3 加熱模塊的調(diào)試我們的下限報(bào)警時(shí)的設(shè)計(jì)是蜂鳴器響,指示燈亮,同時(shí),繼電器吸合,電熱爐開始工作,但這時(shí)我們的繼電器不能有
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 互聯(lián)網(wǎng)建設(shè)合同范本
- 分期合同范本模板
- 廠子務(wù)工合同范例
- 吊車協(xié)議合同范本
- 廈門合同范例范例
- 制造加工企業(yè)勞動(dòng)合同范例
- 保供煤合同范例
- 出售商用烤箱合同范例
- 沙子承包的合同范本
- 同意賣公司股合同范例
- 醫(yī)療廢物管理組織機(jī)構(gòu)架構(gòu)圖
- cjj/t135-2009《透水水泥混凝土路面技術(shù)規(guī)程》
- 短時(shí)耐受電流
- 社保人事專員績(jī)效考核表
- 河北省自然科學(xué)基金資助項(xiàng)目申請(qǐng)書模板
- 上海世博會(huì)對(duì)上海城市競(jìng)爭(zhēng)力影響的評(píng)估模型
- 常用標(biāo)準(zhǔn)波導(dǎo)和法蘭尺寸
- 河南書法家協(xié)會(huì)入會(huì)申請(qǐng)表
- 鄉(xiāng)村獸醫(yī)登記申請(qǐng)表(共1頁)
- 旋挖樁主要施工方法及技術(shù)措施(全護(hù)筒)
- GB∕T 12810-2021 實(shí)驗(yàn)室玻璃儀器 玻璃量器的容量校準(zhǔn)和使用方法
評(píng)論
0/150
提交評(píng)論