智能凈水器控制系統(tǒng)設(shè)計_第1頁
智能凈水器控制系統(tǒng)設(shè)計_第2頁
智能凈水器控制系統(tǒng)設(shè)計_第3頁
智能凈水器控制系統(tǒng)設(shè)計_第4頁
智能凈水器控制系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、摘要本文設(shè)計了一種自動凈水器的控制系統(tǒng),提供溫度控制、開關(guān)量輸出、數(shù)據(jù)保存、水位檢測等關(guān)鍵部件的設(shè)計思路及方案,給出了相應(yīng)的硬件電路和軟件流程,實(shí)現(xiàn)機(jī)器的自動運(yùn)行。溫度控制采用了PID控制,很好的解決了溫度控制系統(tǒng)具有非線性、純滯后、大慣性等特點(diǎn),系統(tǒng)實(shí)現(xiàn)了對溫度設(shè)定值的設(shè)置和對溫度升降的控制,并利用LCD液晶顯示器顯示溫度控制過程,另外用紅、綠發(fā)光二極管作為溫度報警器。水位監(jiān)測是利用兩組開關(guān)的控制實(shí)現(xiàn)的,用蜂鳴器作為水位監(jiān)測報警器。通過測試,證明了系統(tǒng)穩(wěn)定可靠。關(guān)鍵詞:自動凈水器;溫度控制;水位監(jiān)測;PID控制ABSTRACTThis article designed an automati

2、c water purification machine control system, temperature control, switch output, data storage, water detection and so on key parts of the design ideas and solutions, gives the corresponding hardware circuit and software process, the implementation of the machine to run automatically. Temperature con

3、trol adopted PID control, which is a very good solution to the temperature control system, which has the characteristics of nonlinear, pure time-delay, large inertia. The system realized the temperature set point set up and control of the temperature rise and fall, and use the LCD display shows the

4、temperature control process, in addition the system takes red and green light-emitting diodes (leds) as the temperature alarm. The system takes the use of two sets of switch control ast the simulation of Water level monitoring, and a buzzer as the alarm of water level monitoring. Through the test, w

5、hich has proved that the system is stable and reliable.Key words: automatic purifier; Temperature control;Water level monitoring;PID control目錄摘要.ABSTRACT第一章 緒論.11.1 意義.11.2 國內(nèi)外現(xiàn)狀及水平.1第二章 硬件設(shè)計.42.1 設(shè)計方案圖.42.2 AT89C51芯片介紹.52.3 溫度控制部分.92.4 水位監(jiān)測部分.14第三章 軟件設(shè)計163.1 主函數(shù)程序設(shè)計.163.2 溫度控制程序設(shè)計.183.3 鍵盤掃描程序設(shè)計.22

6、第四章 系統(tǒng)測試254.1 溫度控制測試.254.2 水位監(jiān)測測試.30總結(jié).31參考文獻(xiàn).32致謝.33第一章 緒論1.1 意義水是人類生命的源泉,人們對飲用水質(zhì)的要求及相應(yīng)的標(biāo)準(zhǔn)在不斷提高。人類經(jīng)歷了由最初的簡單的沉淀凈水到傳統(tǒng)的煮沸處理,發(fā)展到現(xiàn)在的深度凈化飲用水。在發(fā)達(dá)國家飲用水凈化處理工藝已經(jīng)很成熟且凈水機(jī)的使用也相當(dāng)普及,但在我國,這種凈水機(jī)目前仍不為大眾消費(fèi)者所熟悉。所以設(shè)計功能完善、經(jīng)濟(jì)實(shí)用的智能凈水機(jī)具有積極的社會意義。1.2 國內(nèi)外現(xiàn)狀及水平家用凈水器,是近幾年來發(fā)展了一個全新的技術(shù)領(lǐng)域,它的發(fā)展,為人類的生活質(zhì)量,提供了一個新的選擇空間,也給人類的生命質(zhì)量創(chuàng)造了新的可能。

7、因此,我們希望走近家用凈水器行業(yè),去發(fā)現(xiàn)它的現(xiàn)狀與前景,為未來的健康生活提供一些幫助。當(dāng)今世界上凈水器最大的生產(chǎn)國和出口國就是中國,中國凈水器產(chǎn)業(yè)正加速進(jìn)入品牌、技術(shù)和產(chǎn)品的洗牌階段。在生產(chǎn)制造業(yè)當(dāng)中,擁有核心技術(shù)尤為重要,水家電也是如此。凈水器自發(fā)展以來,凈化技術(shù)多次更迭,在生活水平日益提高的今天,人們對飲水健康需求呼聲甚高。品種單一、功能單一的產(chǎn)品以及慢慢地淘汰,凈水器正向智能化、時尚化、個性化方面發(fā)展。凈水器廠家也在慢慢向高端化轉(zhuǎn)型??v觀全球凈水行業(yè),發(fā)達(dá)國家的凈水發(fā)展市場并不大,而在發(fā)展中國家,由于經(jīng)濟(jì)的發(fā)展,污染處理不及時,或者是技術(shù)落后、經(jīng)濟(jì)的限制的原因,對于生態(tài)、水質(zhì)的污染程度有

8、不同程度的提高,人類的疾病發(fā)生率大大提高,因此急需水質(zhì)的處理、凈化,處理以后的水質(zhì)對于人類的健康,起到了非常積極的作用。以中國的家用凈水器行業(yè)看,以濾材過濾水質(zhì)的的居多,以粗濾,粗濾加精濾為主要方向,每天的產(chǎn)量不大,一般在每天2到300公斤左右,過濾以后水質(zhì),普遍稱之為弱堿水、小分子團(tuán)水。從技術(shù)上看,粗濾的技術(shù)過程,只是簡單地過濾了自來水中的一部分雜質(zhì),如果能過濾掉水中微生物,其實(shí)是根本不可能的,同時自來水本身對于微生物含量的控制,是能夠達(dá)到標(biāo)準(zhǔn)的,而對于水中的重金屬、有害礦物質(zhì)成份、余氯、鹵類成份及富營養(yǎng)化物質(zhì),不管是那種過濾技術(shù)或者說是那種材料,其過濾以后,這些有害物質(zhì)如何排除呢?是否積累

9、在濾材上?如果是積累在濾材上,那么是否有可能再次回到水里?事實(shí)上濾材成了一個藏污納垢的重要場所,一般半年到一年更換一次濾材的時間長度,水質(zhì)的安全程度有多高?家用凈水器凈水以后的標(biāo)準(zhǔn)和自來水標(biāo)準(zhǔn)一樣。幾乎所有的廠家采用的標(biāo)準(zhǔn)是衛(wèi)生部的生活飲用水水質(zhì)標(biāo)準(zhǔn)。這個標(biāo)準(zhǔn)和自來水的標(biāo)準(zhǔn)完全一致,標(biāo)準(zhǔn)偏低,產(chǎn)量小,無法改變水質(zhì)的“病態(tài)”,是目前家用凈水器行業(yè)最明顯的特征,那么家用凈水器的優(yōu)勢在那里呢?優(yōu)勢在于方便,多數(shù)的家用凈水器可以直接安裝在水龍頭上直接過濾,出現(xiàn)的水在一部分地區(qū)的確有明顯的改善。因?yàn)槟切┕艿琅f、水質(zhì)差、鐵銹嚴(yán)重的自來水,險些之外,凈水似乎效果并不明顯。部分家用凈水器存在安全隱患。有一部分

10、家用凈水器的濾材中有添加微量元素、礦物質(zhì)材料,這些材料中有鋅、堿性材料,事實(shí)人體不需要另外添加微量元素,只要生活中注意多樣化的食物膳食方式,微量元素不存在缺乏,而如果在水里另外添加,則有中毒的可能性。弱堿性只是一個概念,非實(shí)質(zhì)上的弱堿。改變水質(zhì)的性質(zhì),除非能改變水的分子結(jié)構(gòu),而改變水的分子結(jié)構(gòu)需要外在的能量供給,純粹的過濾何來的外在能量供給?因此弱堿水只有二種可能,那就是添加堿性材料,要以就是純粹,并非實(shí)質(zhì)上的弱堿水。而用堿性材料添加,就算緩慢溶解,PH值的控制同樣有難度,是否會對人體產(chǎn)生堿中毒?小分子團(tuán)水,是通過能量來打開氫鍵與水分子間的鏈接,而且必須持續(xù)不間斷地進(jìn)行,才能使水分子變小。真正

11、的小分子團(tuán)水的口感微甜,有濃厚感,不像普通水那么清淡。如果說用酒來形容,那么普通水就是剛剛釀造完成的酒,口感極差。而小分子團(tuán)水就是陳年的酒,口感極醇厚,帶有微甜。小分子團(tuán)水是否又是另外一個新概念?家用凈水器行業(yè)的突破口,在于技術(shù)的創(chuàng)新,未來的前景一片大好。以目前全球的自來水現(xiàn)狀,水質(zhì)都處于“病態(tài)”,水本身源于自然,而采用集中供水以后,水的流動性變?nèi)?,在自然環(huán)境下與氧氣的接觸少,水中的溶解氧明顯不夠,因此水就成了一種液體,對于人體的作用非常有限。而在自然環(huán)境下的了生態(tài)水,因?yàn)榻?jīng)過不斷在流動、撞擊,與空氣中氧氣親密接觸,加臭氧層自然消毒,水成了“生命之源”“百藥之王”,如今這些功能基本喪失,未來是

12、否能夠恢復(fù),需要家用凈水器行業(yè)的共同努力,為人類創(chuàng)造一片全新的、自然生態(tài)的未來,健康將不再難。國內(nèi)外知名企業(yè)及機(jī)構(gòu)陸續(xù)進(jìn)入凈水器行業(yè),智能化已經(jīng)成為企業(yè)對高端市場的一種定位。越來越多的企業(yè)注意到創(chuàng)新對于企業(yè)發(fā)展的必要性以及重要性。凈水器行業(yè)更加趨向智能化、時尚化以及個性化。眾多知名企業(yè)與國際專業(yè)機(jī)構(gòu)以及企業(yè)聯(lián)合,在產(chǎn)品技術(shù)方面進(jìn)行創(chuàng)新,從而推進(jìn)企業(yè)及行業(yè)市場拓展及品牌的強(qiáng)化。企業(yè)在實(shí)力與責(zé)任兩種創(chuàng)新機(jī)制的推動下,未來幾年,中國凈水器行業(yè)格局將會發(fā)生重大變化。第二章 硬件設(shè)計2.1 設(shè)計方案圖基于51單片機(jī)的智能凈水器控制系統(tǒng)設(shè)計方案圖如圖2.1所示AT89C51數(shù)字量輸出擴(kuò)展高溫消毒殺菌溫度控

13、制加熱,制冷燈報警顯示故障檢查水位檢查按鍵LCD顯示溫度傳感器濾波電 路圖2.1 系統(tǒng)方案圖本系統(tǒng)采用AT89C51作為設(shè)計的核心元件,利用LM016L液晶顯示器作為顯示器件,主要由溫度控制電路、溫度報警電路、水位監(jiān)測電路和水位報警電路等部分組成。加熱器采用proteus軟件中的加熱器模型(oven)進(jìn)行仿真,溫度報警分別采用紅、綠發(fā)光二極管進(jìn)行仿真,水位監(jiān)測采用雙列直插開關(guān)組進(jìn)行模擬仿真,水位報警采用proteus軟件中的蜂鳴器進(jìn)行仿真。在仿真中,加熱器模型輸出與溫度成比例的電壓信號,經(jīng)過ADC0831數(shù)模轉(zhuǎn)換器轉(zhuǎn)換后,ADC0831數(shù)模轉(zhuǎn)換器可將電壓信號轉(zhuǎn)換成與爐溫相對應(yīng)的數(shù)字信號,送入5

14、1單片機(jī)中由單片機(jī)完成數(shù)據(jù)處理后送LCD顯示。當(dāng)水溫低于或者高于設(shè)定溫度值時,紅色發(fā)光二極管點(diǎn)亮報警,加熱器進(jìn)行加熱或者停止加熱處理;當(dāng)水溫接近設(shè)定溫度值時,綠色發(fā)光二極管點(diǎn)亮,表示溫度正常。由于proteus中沒有水位監(jiān)測的傳感器可仿真,在這里采用雙列直插開關(guān)組進(jìn)行模擬仿真,配合蜂鳴器作為水位報警裝置。兩個開關(guān)分別反映了水位過高和水位過低的情形,當(dāng)打開開關(guān)1或者開關(guān)2時,蜂鳴器都會報警表示水位過高或者過低。2.2 AT89C51芯片介紹AT系列單片機(jī)是美國ATMEL公司在IntelMCS51單片機(jī)技術(shù)基礎(chǔ)上開發(fā)出的一種新產(chǎn)品,片內(nèi)帶有4k E2ROM,編程擦除全部采用電實(shí)現(xiàn)(有5V和12V兩

15、種模式),既能進(jìn)行在線編程擦寫,亦可采用電話線進(jìn)行遠(yuǎn)程編程擦寫??芍貜?fù)性強(qiáng),使用壽命長,可重復(fù)擦寫 1000次以上,并且擦寫速度快,4k編程大約需3s,擦除僅需10ms。程序保存時間長,可達(dá)100年,與IntelMCS51系列單片機(jī)完全兼容,且有超強(qiáng)的加密功能,能完全替代IntelMCS8751Intel MCS8752和Intel MCS87C51Intel MCS87C52,低電壓,低電流,低功耗,除了有DIP、PLCC、QFP等多種封裝形式,還有商用級、工業(yè)級、汽車用級、軍用級等多種規(guī)格。因此,目前它在微計算機(jī)產(chǎn)品開發(fā)中的應(yīng)用越來越“火”。AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只

16、讀存儲器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提 供了一種靈活性高且價廉的方案。圖2.2 AT89C51芯片2.2.1管腳說明VCC:供電電壓。    GND:接地。    P0口:P0口為一個8位

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

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

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

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

21、通信號。在由外部程序存儲器取指期間,每個機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。    /EA/VPP:當(dāng)/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。2.2.2振蕩器特性    XTAL1

22、和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。2.2.3芯片擦除    整個PEROM陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持ALE管腳處于低電平10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。    此外,AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低

23、到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時器,計數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個硬件復(fù)位為止。 2.3 溫度控制部分2.3.1 溫度控制電路溫度控制電路圖如圖2.3所示圖2.3 溫度控制電路圖溫度控制在科學(xué)研究和工業(yè)生產(chǎn)中具有重要意義,其控制系統(tǒng)具有非線性、純滯后、大慣性等特點(diǎn),導(dǎo)致傳統(tǒng)的控制方式超調(diào)大、調(diào)節(jié)時間長、控制精度低。因此在設(shè)計溫度控制系統(tǒng)中經(jīng)常采用PID進(jìn)行控制,PID控制作為自動控制系統(tǒng)中常用的一種控制方法,在工程中的應(yīng)用非常廣泛。本文設(shè)計了以AT8

24、9C51單片機(jī)為核心的加熱器溫度控制系統(tǒng),采用PID控制方法,并結(jié)合Proteus仿真平臺進(jìn)行了仿真研究。在系統(tǒng)中,加熱器模型輸出與溫度成比例的電壓信號,經(jīng)過信號調(diào)理電路轉(zhuǎn)換后,與AT89C51的A/D轉(zhuǎn)換通道連接,轉(zhuǎn)換成與爐溫相對應(yīng)的數(shù)字信號,由單片機(jī)完成數(shù)據(jù)處理后送LCD顯示。將測量溫度與設(shè)定溫度進(jìn)行比較,對其差值進(jìn)行PID運(yùn)算得出控制量,根據(jù)控制量計算出PWM占空比,通過單片機(jī)PWM端口輸出PWM波驅(qū)動三極管的導(dǎo)通和關(guān)閉,達(dá)到控制發(fā)熱絲的導(dǎo)通時間,以實(shí)現(xiàn)對爐溫的控制。加熱器(OVEN)為Proteus提供的加熱器模型,通過對該模型的參數(shù)設(shè)定,可改變發(fā)熱絲及加熱容器的參數(shù),以接近被控對象模

25、型。本系統(tǒng)溫度控制器的電熱元件是發(fā)熱絲。當(dāng)容器內(nèi)溫度升高至設(shè)定溫度時,溫度控制器會發(fā)出信號停止加熱。但這時發(fā)熱絲的溫度會高于設(shè)定溫度,發(fā)熱絲還將會對被加熱的器件進(jìn)行加熱,即使溫度控制器發(fā)出信號停止加熱,被加熱器件的溫度還往往繼續(xù)上升幾度,然后才開始下降。當(dāng)下降到設(shè)定溫度的下限時,溫度摔制器又開始發(fā)出加熱的信號,開始加熱,但發(fā)熱絲要把溫度傳遞到被加熱器件需要一定的時間。通常開始重新加熱時,溫度繼續(xù)下降幾度。所以,傳統(tǒng)的定點(diǎn)開關(guān)控制溫度會有正負(fù)誤差幾度的現(xiàn)象,但這不是溫度控制器本身的問題,而是整個熱系統(tǒng)的結(jié)構(gòu)性問題,使溫度控制器控溫產(chǎn)生一種慣性溫度誤差。在本系統(tǒng)溫度控制電路中,采用三極管作控制開關(guān)

26、,其原理是利用三極管的飽和和截止特性。圖2.2中,三極管為PNP型三極管,當(dāng)PWM端輸入為低電平時,三極管工作于飽和狀態(tài),集電極C和發(fā)射極E之間可視為短路,這時加熱器開始加熱;當(dāng)PWM端輸入為高電平時,三極管工作于截止?fàn)顟B(tài),集電極C和發(fā)射極E之間可視為斷路,這時加熱器停止加熱。在三極管與加熱器之間還需要做一個比較精確的過零負(fù)脈沖電路,讓脈沖發(fā)生于過零點(diǎn)以前,這樣我們就可以在過零點(diǎn)以前先關(guān)閉輸出,脈沖寬度越窄越好,至少這個脈沖寬度不能大于1ms,過零脈沖的識別也需要一點(diǎn)小小的處理,防止假脈沖混入,防止電網(wǎng)煩擾,這是軟件上的問題。2.3.2溫度值設(shè)定電路溫度值設(shè)定電路如圖2.4所示圖2.4 溫度值

27、設(shè)定電路本系統(tǒng)中溫度值設(shè)定電路利用兩個按鍵進(jìn)行設(shè)置,圖2.3中KEY2連接的是溫度值增加按鍵,KEY3連接的是溫度值減小按鍵,分別連接單片機(jī)的P1.5端口和P1.6端口。為了方便較大幅度改變設(shè)定的溫度值,這里可將按鍵處理為長按和短按,長按時溫度值以10度增加或減小,短按時溫度以1度增加或減小。2.3.3 溫度報警電路溫度報警電路如圖2.5所示圖2.5 溫度報警電路溫度報警電路是利用兩個發(fā)光二極管組成。發(fā)光二極管簡稱為LED,由鎵(Ga)與砷(AS)、磷(P)的化合物制成的二極管,當(dāng)電子與空穴復(fù)合時能輻射出可見光,因而可以用來制成發(fā)光二極管,在電路及儀器中作為指示燈,或者組成文字或數(shù)字顯示。磷砷

28、化鎵二極管發(fā)紅光,磷化鎵二極管發(fā)綠光,碳化硅二極管發(fā)黃光。 它是半導(dǎo)體二極管的一種,可以把電能轉(zhuǎn)化成光能,常簡寫為LED。發(fā)光二極管與普通二極管一樣是由一個PN結(jié)組成,也具有單向?qū)щ娦?。?dāng)給發(fā)光二極管加上正向電壓后,從P區(qū)注入到N區(qū)的空穴和由N區(qū)注入到P區(qū)的電子,在PN結(jié)附近數(shù)微米內(nèi)分別與N區(qū)的電子和P區(qū)的空穴復(fù)合,產(chǎn)生自發(fā)輻射的熒光。不同的半導(dǎo)體材料中電子和空穴所處的能量狀態(tài)不同。當(dāng)電子和空穴復(fù)合時釋放出的能量多少不同,釋放出的能量越多,則發(fā)出的光的波長越短。常用的是發(fā)紅光、綠光或黃光的二極管,本電路中采用發(fā)紅光和綠光二極管。當(dāng)容器內(nèi)溫度低于設(shè)定溫度值時,加熱器開始加熱,這時發(fā)紅光二極管亮,

29、表示正在加熱,直到容器內(nèi)溫度達(dá)到設(shè)定溫度值時發(fā)綠光二極管亮;當(dāng)容器內(nèi)溫度高于設(shè)定溫度值時,加熱器停止加熱,容器內(nèi)溫度開始下降,這時發(fā)紅光二極管亮,直到容器內(nèi)溫度達(dá)到設(shè)定溫度值時發(fā)綠光二極管亮。2.3.4 顯示電路顯示電路如圖2.6所示圖2.6 顯示電路我們對液晶顯示器并不陌生。液晶顯示模塊已作為很多電子產(chǎn)品的通過器件,如在計算器、萬用表、電子表及很多家用電子產(chǎn)品中都可以看到,顯示的主要是數(shù)字、專用符號和圖形。在單片機(jī)的人機(jī)交流界面中,一般的輸出方式有以下幾種:發(fā)光管、LED數(shù)碼管、液晶顯示器。發(fā)光管和LED數(shù)碼管比較常用,軟硬件都比較簡單。在單片機(jī)系統(tǒng)中應(yīng)用晶液顯示器作為輸出器件有以下幾個優(yōu)點(diǎn)

30、: 顯示質(zhì)量高 由于液晶顯示器每一個點(diǎn)在收到信號后就一直保持那種色彩和亮度,恒定發(fā)光,而不像陰極射線管顯示器(CRT)那樣需要不斷刷新新亮點(diǎn)。因此,液晶顯示器畫質(zhì)高且不會閃爍。 數(shù)字式接口 液晶顯示器都是數(shù)字式的,和單片機(jī)系統(tǒng)的接口更加簡單可靠,操作更加方便。 體積小、重量輕 液晶顯示器通過顯示屏上的電極控制液晶分子狀態(tài)來達(dá)到顯示的目的,在重量上比相同顯示面積的傳統(tǒng)顯示器要輕得多。功耗低 相對而言,液晶顯示器的功耗主要消耗在其內(nèi)部的電極和驅(qū)動IC上,因而耗電量比其它顯示器要少得多。液晶顯示器(LCD)具有功耗低、體積小、質(zhì)量

31、輕、功耗小的特點(diǎn)。點(diǎn)陣字符型液晶顯示器把 LCD控制器、點(diǎn)陣驅(qū)動器、字符存儲器集成在一塊印刷電路板上,構(gòu)成便于應(yīng)用的液晶模塊。這類液晶模塊不僅可以顯示數(shù)字、字符,還可以顯示各種圖形符號以及少量自定義符號,并且可以實(shí)現(xiàn)屏幕的上下左右滾動、文字的閃爍等功能;人機(jī)界面友好,使用操作也更加靈活、方便,使其日益成為各種儀器儀表等設(shè)備的首選。本設(shè)計的顯示電路采用的是LM016L液晶顯示器,主要用來顯示當(dāng)前實(shí)際溫度值和設(shè)定值。在仿真中,加熱器模型輸出與溫度成比例的電壓信號,經(jīng)過ADC0831數(shù)模轉(zhuǎn)換器轉(zhuǎn)換后,ADC0831數(shù)模轉(zhuǎn)換器可將電壓信號轉(zhuǎn)換成與爐溫相對應(yīng)的數(shù)字信號,送入51單片機(jī)中由單片機(jī)完成數(shù)據(jù)處

32、理后送LCD顯示。設(shè)定值一旦設(shè)定就顯示不變,而實(shí)際溫度值通常是變化的。當(dāng)實(shí)際溫度值低于設(shè)定值時,LCD上就會顯示實(shí)際溫度值在上升,直到實(shí)際溫度值達(dá)到設(shè)定溫度值;當(dāng)實(shí)際溫度值高于設(shè)定溫度值時,LCD就會顯示實(shí)際溫度值在下降,直到達(dá)到設(shè)定溫度值。2.4 水位監(jiān)測部分2.4.1 水位監(jiān)測電路水位監(jiān)測電路如圖2.7所示圖2.7 水位監(jiān)測電路由于Proteus中沒有水位監(jiān)測的傳感器可仿真,為了實(shí)現(xiàn)水位監(jiān)測功能,在這里采用雙列直插開關(guān)組進(jìn)行模擬仿真。開關(guān)1和開關(guān)2分別連接單片機(jī)的P1.4端口和P1.7端口。當(dāng)按下開關(guān)1(即開關(guān)1置1)時,表示水位超過警戒線;當(dāng)按下開關(guān)2(即開關(guān)2置1)時,表示水位低于警戒

33、線。2.4.2 水位報警電路在單片機(jī)應(yīng)用的設(shè)計上,很多方案都會用到蜂鳴器,大部分都是使用蜂鳴器來做提示或報警。蜂鳴器分為有源蜂鳴器與無源蜂鳴器,這里的“源”不是指電源,而是指震蕩源,也就是說,有源蜂鳴器內(nèi)部帶有震蕩源,所以只有一通電就會叫,而無源蜂鳴器內(nèi)部不帶震蕩源,所以如果用直流信號無法令其鳴叫,必須用2K-5K的方波去驅(qū)動它。本系統(tǒng)水位報警電路如圖2.8所示,水位報警電路采用Proteus中的有源蜂鳴器進(jìn)行仿真。蜂鳴器的一端接地,另一端通過三極管接入單片機(jī)的P2.6端口,這里的三極管同樣是作開關(guān)電路。圖2.7中,三極管為PNP型三極管,當(dāng)水位監(jiān)測電路中的開關(guān)置1時,產(chǎn)生低電平信號輸入單片機(jī)

34、內(nèi),經(jīng)單片機(jī)處理后,由P2.6端口輸出一個低電平信號,三極管工作于飽和狀態(tài),集電極C和發(fā)射極E之間可視為短路,三極管導(dǎo)通,蜂鳴器發(fā)聲報警。當(dāng)水位監(jiān)測電路中的開關(guān)置0時,表示水位正常,P2.6端口輸出高電平,三極管工作于截止?fàn)顟B(tài),集電極C和發(fā)射極E之間可視為斷路,三極管關(guān)閉,蜂鳴器停止發(fā)聲。圖2.8 水位報警電路第三章 軟件設(shè)計3.1 主函數(shù)程序設(shè)計整個軟件架構(gòu)采用狀態(tài)機(jī)的方法,系統(tǒng)節(jié)拍為200us,溫度采集部分精度1度,溫控部分采用PID控制。超調(diào)量14%,誤差在正負(fù)1度。3.1.1 主流程圖圖3.1 主流程圖如圖3.1是系統(tǒng)主流程圖。主函數(shù)是軟件部分的核心,程序的運(yùn)行首先是從主函數(shù)開始執(zhí)行的

35、。主函數(shù)的開始時系統(tǒng)的初始化,主要有定時器0的初始化、LCD1602的初始化和PID參數(shù)的初始化。然后開中斷,判斷定時中斷技術(shù)標(biāo)志為多少。當(dāng)定時中斷計數(shù)標(biāo)志為30時獲取按鍵值;當(dāng)定時中斷計數(shù)標(biāo)志為35時處理按鍵值;當(dāng)定時中斷計數(shù)標(biāo)志為70時顯示設(shè)定的溫度;當(dāng)定時中斷計數(shù)標(biāo)志為80時進(jìn)行AD采樣;當(dāng)定時中斷計數(shù)標(biāo)志為82時顯示實(shí)時溫度;當(dāng)定時中斷計數(shù)標(biāo)志為98時溫度控制處理函數(shù)。判斷定時中斷計數(shù)標(biāo)志處理完后系統(tǒng)進(jìn)入空虛狀態(tài),這時候系統(tǒng)又返回之前的判斷定時中斷計數(shù)標(biāo)志。3.1.2 主函數(shù)程序uint8 SetTemp = 50; /復(fù)位設(shè)置溫度值uint8 KeyValue = 0; /復(fù)位按鍵值

36、uint8 InterTime = 0; /中斷計數(shù)標(biāo)志uint8 PWM_Level = 0; /PWM占空比 sbit PWM = P25; /設(shè)置P25口為PWM輸出口sbit SPEEK = P26; /配置P26口為喇叭輸出口/測試程序運(yùn)行時間sbit FLAG1 = P30;sbit FLAG2 = P31;sbit FLAG3 = P32;sbit FLAG4 = P33;/測試程序運(yùn)行時間 */void TimeInit0(void);void CMPTemper(int sample);void KeyHandl(uint8 *KeyData);void Display(ui

37、nt8 StartXPos, uint8 StartYPos, uint8 Tvalue);void main() uint8 KeyValue,Temp; /按鍵臨時值TimeInit0();/定時器0初始化 LCD1602_Init();/LCD1602初始化LCD1602_Write_String(0,1,"real T: C");/顯示界面設(shè)置LCD1602_Write_String(1,1,"set T: C");PID_Paga_Init();/PID參數(shù)初始化OPEN_INTER();/開中斷while(1) switch(InterTim

38、e) case 30: GetKey(&KeyValue); /獲取按鍵值 break;case 35: FLAG2 = 1; KeyHandl(&KeyValue); /處理按鍵值 FLAG2 = 0; break;case 70: Display(1,7,SetTemp); /顯示設(shè)定的溫度 break;case 80: Temp = Adc0831_C(); Temp = Temp>>1; / Temp * 5 * 25 /255 break;case 82: Display(0,8,Temp); /顯示溫度 break;case 98: FLAG4 = 1;

39、 CMPTemper(PIDCalc(Temp); /溫度控制 FLAG4 = 0; break;default: break; PCON = 0x01; /進(jìn)入空閑模式 3.2 溫度控制程序設(shè)計在系統(tǒng)中,加熱器模型輸出與溫度成比例的電壓信號,經(jīng)過信號調(diào)理電路轉(zhuǎn)換后,與AT89C51的A/D轉(zhuǎn)換通道連接,轉(zhuǎn)換成與爐溫相對應(yīng)的數(shù)字信號,由單片機(jī)完成數(shù)據(jù)處理后送LCD顯示。將測量溫度與設(shè)定溫度進(jìn)行比較,對其差值進(jìn)行PID運(yùn)算得出控制量,根據(jù)控制量計算出PWM占空比,通過單片機(jī)PWM端口輸出PWM波驅(qū)動三極管的導(dǎo)通和關(guān)閉,達(dá)到控制發(fā)熱絲的導(dǎo)通時間,以實(shí)現(xiàn)對爐溫的控制3.2.1 PID算法設(shè)計及實(shí)現(xiàn)在

40、自動控制系統(tǒng)中,PID控制是應(yīng)用非常廣泛的一種控制方法。由于加熱器溫升與電壓接通時間基本成正比,這就構(gòu)成了PID調(diào)節(jié)的基礎(chǔ)。設(shè)t為采樣時間(ti×T,其中T為采樣周期,i為正整數(shù)),模擬PID控制器調(diào)節(jié)規(guī)律的數(shù)學(xué)模型可以用微分方程來表示u(t)Kpe(t)+T式中:Kp為比例系數(shù);T1為積分時間;T為微分時間。由于單片機(jī)不能對連續(xù)的控制算式直接進(jìn)行運(yùn)算,在單片機(jī)控制系統(tǒng)中就必須對控制規(guī)律進(jìn)行離散化的算法設(shè)計。加熱器控制系統(tǒng)為一時間離散控制系統(tǒng),可以采用數(shù)字式的差分方程來取代連續(xù)系統(tǒng)的微分方程,從而將PID算式離散化。數(shù)字PID控制算法的差分方程為u(t)Kpe(t)+e(n)e(n1

41、)+u=Kpe(n)+KI+KDe(n)e(n1) +u式中:Kp為比例系數(shù);KI為積分系數(shù);KD為微分系數(shù)。根據(jù)差分方程并結(jié)合溫控系統(tǒng)的具體情況,可以編寫出PID算法子程序,圖4是PID算法程序模塊的流程圖。PID運(yùn)算過程中所有參數(shù)和計算值均以多字節(jié)浮數(shù)表示。系統(tǒng)運(yùn)行過程中,通過定時器間隔50ms中斷1次,完成1次PID控制運(yùn)算,根據(jù)運(yùn)算結(jié)果對PWM波的占空比進(jìn)行修改。在一般情況下,輸出控制增量會在一個相對較小的范圍內(nèi)波動,最后達(dá)到平滑控制。在程序中輸出量大小設(shè)定了上下限值,可以防止在突發(fā)情況下溫控系統(tǒng)控制的崩潰現(xiàn)象。3.2.2 溫度控制流程圖圖3.2 溫度控制流程圖如圖3.2是溫度控制流程

42、圖。由于溫度控制系統(tǒng)具有非線性、純滯后、大慣性等特點(diǎn),導(dǎo)致傳統(tǒng)的控制方式超調(diào)大、調(diào)節(jié)時間長、控制精度低。因此在設(shè)計溫度控制系統(tǒng)中經(jīng)常采用PID進(jìn)行控制,PID算法及實(shí)現(xiàn)已經(jīng)在前面進(jìn)行了介紹。3.2.3 溫度控制程序int SetIntegral = 0;PID spid;uint8 ConstantTemperatuer = 1; /設(shè)定一個恒溫范圍的絕對值,方便CPU對恒溫情況下的處理sbit LED_GREEN = P21; /綠燈表示系統(tǒng)是否處在恒溫的狀態(tài) sbit LED_RED = P20;/紅燈表示系統(tǒng)是否處在加熱的狀態(tài)void PID_Paga_Init(void);/* 功能

43、: *PID清零初始化 入口參數(shù) : 出口參數(shù) :*/void PIDInit (struct PID *spid) memset( spid,0,sizeof(struct PID); /* 功能 : *PID算法函數(shù),及誤差的處理函數(shù) 入口參數(shù) :NextPoint = 當(dāng)前采集到的溫度值 出口參數(shù) :*/ int PIDCalc(int NextPoint ) int dError,Error,PIDIntegral = 0,PIDDerivative = 0; Error = spid.SetPoint - NextPoint; / 偏差 if(abs(Error) < SetI

44、ntegral) /設(shè)定一個積分門限,防止積分飽和,同時也是為了分段PID方便spid.Proportion = 40; / Set PID Coefficients spid.Integral = 1; spid.Derivative =100; spid.SumError += Error; / 積分spid.SumError = 6; PIDIntegral = spid.Integral * spid.SumError; / 積分項(xiàng) elsespid.Proportion = 65; / Set PID Coefficients spid.Integral = 0; spid.Deri

45、vative =100;if(abs(Error) <= ConstantTemperatuer)/如果溫度誤差在設(shè)定值的+-1度左右恒溫,綠燈亮,紅燈滅 LED_GREEN = 0;LED_RED = 1;else/否則綠燈滅,紅燈亮LED_GREEN = 1;LED_RED = 0;dError = Error - spid.PrevError; / 當(dāng)前微分PIDDerivative = spid.Derivative * dError; spid.PrevError = spid.LastError; spid.LastError = Error; return (spid.Pr

46、oportion * Error / 比例項(xiàng) + PIDIntegral + PIDDerivative); / 微分項(xiàng) /* 功能 : *PID參數(shù)初始化 入口參數(shù) : 出口參數(shù) :*/void PID_Paga_Init(void)PIDInit(&spid); / Initialize Structure spid.Proportion = 100; / Set PID Coefficients spid.Integral = 0; spid.Derivative =0; spid.SetPoint = 50; / Set PID Setpoint3.3 鍵盤掃描程序設(shè)計3.3.

47、1 鍵盤掃描函數(shù)流程圖圖3.3 鍵盤掃描函數(shù)流程圖系統(tǒng)的鍵盤掃描函數(shù)流程圖如圖3.3所示。程序的開始首先是判斷是否有鍵按下,沒有就直接轉(zhuǎn)到結(jié)束,有則進(jìn)行下一輪判斷按鍵的狀態(tài)。這時按鍵有四個狀態(tài),當(dāng)按鍵為消抖、按下和長按狀態(tài)時系統(tǒng)分別進(jìn)行置按下、置長按、置連接狀態(tài),然后繼續(xù)判斷按鍵是否松開,若是則置松開狀態(tài),若否則返回鍵值;當(dāng)按鍵為松開狀態(tài)時系統(tǒng)將置消抖狀態(tài),然后返回鍵值結(jié)束。3.3.2 鍵盤函數(shù)程序uint8 KeyScanf(void)if(io_Key_1 = 0)return KEY_VALUE_1;if(io_Key_2 = 0)return KEY_VALUE_2;if(io_Key

48、_3 = 0)return KEY_VALUE_3;if(io_Key_4 = 0)return KEY_VALUE_4;else return KEY_NULL; /鍵盤處理函數(shù)void GetKey(uint8 *KeyValue) static uint8 s_u8KeyStatue = KEY_STATUE_INIT,s_u8LastValue = KEY_NULL,s_u8KeyTimeCount = 0;uint8 KeyTemp;KeyTemp = KeyScanf();switch(s_u8KeyStatue)case KEY_STATUE_INIT: if(KEY_NULL

49、!= KeyTemp) s_u8KeyStatue= KEY_STATUE_WOBBLE; s_u8LastValue = KeyTemp; break;case KEY_STATUE_WOBBLE: s_u8KeyStatue = KEY_STATUE_PRESS; break;case KEY_STATUE_PRESS: if(s_u8LastValue = KeyTemp) s_u8KeyStatue = KEY_STATUE_LONG; KeyTemp = KeyTemp & KEY_DOWN ; else s_u8KeyStatue = KEY_STATUE_INIT; br

50、eak;case KEY_STATUE_LONG :if(s_u8LastValue = KeyTemp) s_u8KeyTimeCount+;if(s_u8KeyTimeCount=KEY_LONG_COUNT) s_u8KeyTimeCount = 0; KeyTemp &= KEY_LONG; s_u8KeyStatue = KEY_STATUE_CONTINUE; else s_u8KeyStatue= KEY_STATUE_RELEASE; break; case KEY_STATUE_CONTINUE:if(s_u8LastValue = KeyTemp) s_u8KeyT

51、imeCount+;if(s_u8KeyTimeCount= KEY_CONTINUE_COUNT) s_u8KeyTimeCount = 0; KeyTemp &= KEY_CONTINUE; else s_u8KeyStatue= KEY_STATUE_RELEASE; break; case KEY_STATUE_RELEASE: s_u8LastValue &= KEY_UP; KeyTemp = s_u8LastValue; s_u8KeyStatue = KEY_STATUE_INIT; break; default :break; *KeyValue = KeyTemp;第四章 系統(tǒng)測試4.1 溫度控制測試對系統(tǒng)溫度控制的測試主要是測試:加熱器加熱時,溫度是否上升,液晶顯示器顯示是否正常,紅綠發(fā)光二極管發(fā)光是否正常;溫度達(dá)到設(shè)定值時,液晶顯示器是否正常顯示,紅綠發(fā)光二極管是否正常發(fā)光;加熱器停止工作時,溫度是否下降,液晶顯示器是否正常顯示,紅綠發(fā)光二極管是否正常發(fā)

溫馨提示

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

最新文檔

評論

0/150

提交評論