基于單片機的智能熱水器控制系統(tǒng)【實用文檔】doc_第1頁
基于單片機的智能熱水器控制系統(tǒng)【實用文檔】doc_第2頁
基于單片機的智能熱水器控制系統(tǒng)【實用文檔】doc_第3頁
基于單片機的智能熱水器控制系統(tǒng)【實用文檔】doc_第4頁
基于單片機的智能熱水器控制系統(tǒng)【實用文檔】doc_第5頁
已閱讀5頁,還剩78頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

基于單片機的智能熱水器控制系統(tǒng)【實用文檔】doc文檔可直接使用可編輯,歡迎下載

目錄基于單片機的智能熱水器控制系統(tǒng)【實用文檔】doc文檔可直接使用可編輯,歡迎下載TOC\o"1-3”\h\z\u摘要PAGEREF_Toc446019198\hIHYPERLINK\l”_Toc446019199”AbstractPAGEREF_Toc446019199\hIIHYPERLINK\l”_Toc446019200"引言PAGEREF_Toc446019200\h1HYPERLINK\l"_Toc446019201"1智能熱水器控制系統(tǒng)的總體設(shè)計方案PAGEREF_Toc446019201\h11。1方案的分析與選擇PAGEREF_Toc446019202\h11.2系統(tǒng)總體設(shè)計概述PAGEREF_Toc446019203\h2HYPERLINK\l"_Toc446019204"1.3各功能模塊介紹PAGEREF_Toc446019204\h31.3.1控制模塊PAGEREF_Toc446019205\h3HYPERLINK\l”_Toc446019206”1.3。2顯示模塊06\h31.3.3輸入模塊PAGEREF_Toc446019207\h5HYPERLINK\l”_Toc446019208"1。3.4其它模塊PAGEREF_Toc446019208\h61.4本章小結(jié)PAGEREF_Toc446019209\h82硬件電路的設(shè)計與實現(xiàn)PAGEREF_Toc446019210\h8HYPERLINK\l”_Toc446019211"2.1單片機最小系統(tǒng)硬件電路設(shè)計6019211\h82。2顯示模塊硬件電路設(shè)計PAGEREF_Toc446019212\h82。3溫度傳感器DS18B20電路設(shè)計PAGEREF_Toc446019213\h9HYPERLINK\l”_Toc446019214"2。4電子式水位開關(guān)硬件電路設(shè)計PAGEREF_Toc446019214\h102.5時鐘芯片電路設(shè)計PAGEREF_Toc446019215\h102。6聲光報警電路設(shè)計PAGEREF_Toc446019216\h112。7按鍵設(shè)置模塊電路設(shè)計PAGEREF_Toc446019217\h11HYPERLINK\l”_Toc236544383#_Toc236544383”1。2要求4HYPERLINK”file:///C:\\Documents%20and%20Settings\\Administrator\\桌面\\新建%20Microsoft%20Word%20文檔.doc”\l”_Toc236544384#_Toc236544384”1.2。1基本要求4HYPERLINK”file:///C:\\Documents%20and%20Settings\\Administrator\\桌面\\新建%20Microsoft%20Word%20文檔.doc”\l"_Toc236544405#_Toc236544405”附錄2.源代碼191。系統(tǒng)方案選擇和論證1。1任務設(shè)計并制作一個水溫自動控制系統(tǒng),控制對象為1升凈水,容器為搪瓷器皿。水溫可以在一定范圍內(nèi)由人工設(shè)定,并能在環(huán)境溫度降低時實現(xiàn)自動控制,以保持設(shè)定的溫度基本不變。1。2要求技術(shù)指標為-40~+100度控制精度為1度溫度檢測精度為0.5度控制對象為電爐絲加熱器,介質(zhì)為水,LED數(shù)碼直讀顯示1。3系統(tǒng)基本方案根據(jù)題目要求系統(tǒng)模塊分可以劃分為:溫度測量模塊,顯示電路模塊,加熱模塊,控制模塊。為實現(xiàn)各模塊的功能,分別做了幾種不同的設(shè)計方案并進行了論證。1。3.1各模塊電路的方案選擇及論證(1)控制器模塊根據(jù)題目要求,控制器主要用于對溫度測量信號的接受和處理、控制電熱絲和風扇使控制對象滿足設(shè)計要求、控制顯示電路對溫度值實時顯示以及控制鍵盤實現(xiàn)對溫度值的設(shè)定等。對控制器的選擇有以下二種方案:方案一:由于本設(shè)計是測溫電路,可以使用熱敏電阻之類的器件利用其感溫效應,在將隨被測溫度變化的電壓或電流采集過來,進行A/D轉(zhuǎn)換后,就可以用單片機進行數(shù)據(jù)的處理,在顯示電路上,就可以將被測溫度顯示出來,這種設(shè)計需要用到A/D轉(zhuǎn)換電路,感溫電路比較麻煩.

方案二:由于本設(shè)計是測溫電路,可以使用熱敏電阻之類的器件利用其感溫效應,在將隨被測溫度變化的電壓或電流采集過來,進行A/D轉(zhuǎn)換后,就可以用單片機進行數(shù)據(jù)的處理,在顯示電路上,就可以將被測溫度顯示出來,這種設(shè)計需要用到A/D轉(zhuǎn)換電路,感溫電路比較麻煩。從以上兩種方案,很容易看出,采用方案二,電路比較簡單,軟件設(shè)計也比較簡單,故采用了方案二。

(2)加熱裝置有效功率控制模塊根據(jù)題目,可以使用電熱爐進行加熱,控制電熱爐的功率即可以控制加熱的速度。當水溫過高時,關(guān)掉電熱爐進行降溫處理,讓其自然冷卻.在制作中,我們裝設(shè)一個小電風扇,當水溫超高時關(guān)閉電爐開啟風扇散熱,當需要加熱時開啟電爐關(guān)閉風扇.由于加熱的功率較大,考慮到簡化電路的設(shè)計,我們直接采用220V電源。對加熱裝置控制模塊有以下兩種方案:方案一:采用可控硅來控制加熱器有效功率??煽毓枋且环N半控器件,應用于交流電的功率控制有兩種形式:控制導通的交流周期數(shù)達到控制功率的目的;控制導通角的方式控制交流功率。由交流過零檢測電路輸出方波經(jīng)適當延時控制雙向可控硅的導通角,延時時間即移相偏移量由溫度誤差計算得到。可以實現(xiàn)對交流電單個周期有效值周期性控制,保證系統(tǒng)的動態(tài)性能指標。該方案電路稍復雜,需使用光耦合驅(qū)動芯片以及變壓器等器件.但該方案可以實現(xiàn)功率的連續(xù)調(diào)節(jié),因此響應速度快,控制精度高。方案二:采用繼電器控制.使用繼電器可以很容易實現(xiàn)地通過較高的電壓和電流,在正常條件下,工作十分可靠.繼電器無需外加光耦,自身即可實現(xiàn)電氣隔離。這種電路無法精確實現(xiàn)電熱絲功率控制,電熱絲只能工作在最大功率或零功率,對控制精度將造成影響。通過比較,我們選擇方案一。(3)溫度采集模塊題目要求溫度靜態(tài)誤差小于等于0。2℃方案一:利用熱電阻傳感器作為感溫元件,熱電阻隨溫度變化而變化,用儀表測量出熱電阻的阻值變化,從而得到與電阻值相應的溫度值.最常用的是鉑電阻傳感器,鉑電阻在氧化介質(zhì)中,甚至在高溫的條件下其物理,化學性質(zhì)不變。由鉑電阻阻值的變化經(jīng)小信號變送器XTR101將鉑電阻隨溫度變化的轉(zhuǎn)換為4~20mA線形變化電路,再將電流信號轉(zhuǎn)化為電壓信號,送到A/D轉(zhuǎn)換器--ADC0809。即將模擬信號轉(zhuǎn)換為數(shù)字信號。該方案線性度優(yōu)于0.01%。方案二:采用溫度傳感器AD590K。AD590K具有較高精度和重復性,良好的非線性保證±0.1℃方案三:采用數(shù)字溫度傳感器DS18B20。DS18B20為數(shù)字式溫度傳感器,無需其他外加電路,直接輸出數(shù)字量。可直接與單片機通信,讀取測溫數(shù)據(jù),電路簡單?;谝陨戏治龊同F(xiàn)有器件所限,溫度采集模塊選用方案三。DS18B20與傳統(tǒng)的熱敏電阻相比,他能夠直接讀出被測溫度并且可根據(jù)實際要求通過簡單的編程實現(xiàn)9~12位的數(shù)字值讀數(shù)方式。并且從DS18B20讀出的信息或?qū)懭隓S18B20的信息僅需要一根口線(單線接口)讀寫,因而使用DS18B20可使系統(tǒng)結(jié)構(gòu)更趨簡單,可靠性更高。他在測溫精度、轉(zhuǎn)換時間、傳輸距離、分辨率等方面帶來了令人滿意的效果。(4)鍵盤與顯示模塊 根據(jù)題目要求,水溫要由人工設(shè)定,并能實時顯示溫度值。對鍵盤和顯示模塊有下面兩種方案:方案一:采用液晶顯示屏和通用矩陣鍵盤。液晶顯示屏(LCD)具有功耗小、輕薄短小無輻射危險,平面直角顯示以及影象穩(wěn)定不閃爍,可視面積大,畫面效果好,抗干擾能力強,并可靈活的現(xiàn)實多種狀態(tài).方案二:采用三位LED七段數(shù)碼管分別顯示溫度的十位、個位和小數(shù)位。按鍵采用單列3按鍵進行溫度設(shè)定。數(shù)碼管具有:低能耗、低損耗、低壓、壽命長、耐老化,對外界環(huán)境要求較低。同時數(shù)碼管采用BCD編碼顯示數(shù)字,程序編譯容易,資源占用較少。根據(jù)以上論述,51單片機資源豐富,根據(jù)需要,我們選用方案一。1.3。2系統(tǒng)各模塊的最終方案根據(jù)以上分析,結(jié)合器件和設(shè)備等因素,確定如下方案:1.采用AT89C51單片機作為控制器,分別對溫度采集、LCD顯示、溫度設(shè)定、加熱裝置功率控制。2。溫度測量模塊采用數(shù)字溫度傳感器DS18B20。此器件經(jīng)軟件設(shè)置可以實現(xiàn)高分辨率測量。3。電熱絲有效功率控制采用光隔離器和雙向可控硅控制。4.顯示用LCD液晶顯示實時溫度值。系統(tǒng)的基本框圖如圖1.1所示。CPU(AT89C51)首先寫入命令給DS18B20,然后DS18B20開始轉(zhuǎn)換數(shù)據(jù),轉(zhuǎn)換后通過89S52來處理數(shù)據(jù)。數(shù)據(jù)處理后的結(jié)果就顯示到數(shù)碼管上.另外由鍵盤設(shè)定溫度值送到單片機,單片機通過數(shù)據(jù)處理發(fā)出溫度控制信息到繼電器。OutputOutputLED數(shù)碼管繼電器DS18B20鍵盤輸入AT89C52Input1.1系統(tǒng)基本框圖2.系統(tǒng)硬件設(shè)計2。1溫度采集部分設(shè)計本系統(tǒng)采用半導體溫度傳感器作為敏感元件.傳感器我們采用了DS18B20單總線可編程溫度傳感器,來實現(xiàn)對溫度的采集和轉(zhuǎn)換,DQ接上拉電阻,與單片機P2.6口相連,直接與單片機通訊,大大簡化了電路的復雜度.DS18B20的測溫電路如圖2.1所示.圖2。1DS18B20測溫電路2.2矩陣鍵盤的設(shè)計由于控制鍵位較多,方便程序設(shè)計,硬件安全可靠,我們設(shè)計4×4矩陣鍵盤,與單片機P1口相連,電路如圖2。2所示。圖2.2矩陣鍵盤電路2。3液晶顯電路我們用單片機P0口作為1602的數(shù)據(jù)傳輸口,P2.0為數(shù)據(jù)命令選擇端、P2.1讀寫、P2。2使能端。硬件電路如圖2。3所示。圖2。3液晶硬件電路圖2.4水溫升溫將溫控制。本設(shè)計中涉及到了強電部分,因此對電爐的控制我們用moc3041和bt13電路如圖2。4,對風扇我們采用繼電器,電路如圖2.5。圖2.4電爐控制圖圖2。5風扇電路圖3.系統(tǒng)軟件設(shè)計3。1讀取DS18B20溫度模塊子程序每次對DA18B20操作時多要按造DS18B20工作過程中的協(xié)議進行。初始化—〉RoM操作命令->存儲器操作命令->處理數(shù)據(jù)程序流程圖如圖3。1所示。3.2數(shù)據(jù)處理子程序由于DS18B20轉(zhuǎn)換后的代碼并不是實際的溫度值,所以要進行數(shù)據(jù)處理.由于本程序采用的是0.0625的精度,小數(shù)部分的值,可以用后四位代表的實際數(shù)值乘以0。0625,得到真正的數(shù)值,數(shù)值可能帶幾個小數(shù)位,所以采取四舍五入,保留一位小數(shù)即可。也就說,本系統(tǒng)的溫度精確到了0。1度。首先程序判斷溫度是否是零下,如果是,則DS18B20保存的是溫度的補碼值,需要對其低8位(LSByte)取反加一變成原碼。處理過后把DS18B20的溫度復制到單片機的RAM中,里面已經(jīng)是溫度值的Hex碼了,然后轉(zhuǎn)換Hex碼到BCD碼,分別把小數(shù)位,個位,十位的BCD碼存入RAM中。數(shù)據(jù)處理子程序流程圖如圖3。2所示。開始開始開始初始化DS18B20存在?ROM操作命令存儲操作命令讀取溫度值返回是否圖3。1讀取DS18B20溫度子程序流程圖返回返回數(shù)據(jù)傳遞溫度是否為負?BCD碼轉(zhuǎn)換求補運算圖3。2數(shù)據(jù)處理子程序流程圖3.3鍵盤掃描子程序設(shè)置上下限報警溫度設(shè)置上下限報警溫度開始鍵盤掃描功能鍵是否按下?是主函數(shù)否圖3。3鍵盤子程序流程圖3。4主程序流程圖總模塊流程圖如圖3。4所示。本軟件設(shè)計采用循環(huán)查詢來處理各個模塊,溫度是緩慢變化量所以可以滿足性能要求。初始化開始數(shù)據(jù)處理顯示子程序鍵盤掃描子程序繼電器可控硅初始化開始數(shù)據(jù)處理顯示子程序鍵盤掃描子程序繼電器可控硅ds18b20是否存在是顯示上次數(shù)值否溫度是否高于設(shè)置溫度是否風扇電爐4。系統(tǒng)測試4.1靜態(tài)溫度測試測試方式:由于條件的限制,采用模擬加熱方式進行測試.測量儀器:空調(diào)溫度顯示屏測試結(jié)果如表4。1所示:表4.1測試結(jié)果數(shù)據(jù)標準溫度/℃2022252728測量溫度/℃19。822.124.726。827。6誤差/℃0.20.10。30.20。44。2動態(tài)溫控測量測試方式:加熱方式用體溫對傳感器DS18B20進行加熱。設(shè)定控制溫度,記錄超調(diào)溫度,穩(wěn)態(tài)誤差。超調(diào)溫度與加熱的功率有關(guān),這里不再測量.測量儀器:空調(diào)溫度顯示屏測量結(jié)果如表4。2所示:表4.2測試結(jié)果數(shù)據(jù)設(shè)定溫度/℃29303335超調(diào)溫度/℃1。30.91。10。6穩(wěn)態(tài)誤差/℃0。20。40.20.44。3結(jié)果分析有以上的測量結(jié)果可見,系統(tǒng)基本上達到了所要求的指標,靜態(tài)測溫的精度主要由DS18B20來決定。在控溫指標中,影響系統(tǒng)的性能的因素很多。最關(guān)鍵的是加熱系統(tǒng)本身的物理性質(zhì)及控制算法。由于條件的限制,在本設(shè)計中采用體溫進行測試.附錄1。參考文獻[1]劉勇編數(shù)字電路電子工業(yè)出版社2004[2]陳正振編電子電路設(shè)計與制作廣西交通職業(yè)技術(shù)學院信息工程系2007[3]楊子文編單片機原理及應用西安電子科技大學出版社2006王法能編[4]單片機原理及應用科學出版社2004[5]全國大學生電子設(shè)計競賽培訓系列教程高吉祥主編附錄2。源代碼#defineucharunsignedchar#defineuintunsignedintunsignedcharkey_value;//bitdir=1;unsignedcharpwm=30;floattemperature;unsignedcharkey_value;//存放鍵盤返回floattemperature;unsignedchart[2],*pt//用來存放溫度值,測溫程序就是通過這個數(shù)組與主函數(shù)通信的ucharkey_flag=0;//定義有鍵按下的標志#include"reg52.h”#include”user.h"#include"hardware.c”#include”lcd.c”#include”ds18b20.h"#include"key。c"voidmain(){LCD_Initial();sys_init();setds18b20(TH,TL,RS);//設(shè)置上下限報警溫度和分辨率delay_18B20(100);Init_DS18B20();while(1){pt=ReadTemperature();//讀取溫度,溫度值存放在一個兩個字節(jié)的數(shù)組中,temper_LCD();//實測溫度轉(zhuǎn)化為ACSII碼,并送液晶顯示緩沖區(qū)LCD_Print(0,0,TempBuffer0);LCD_Print(0,1,TempBuffer1);key_value=kbscan();if(key_flag==1){key_value=kbscan();key_command(key_value);alarm=1;delay_20ms(20);alarm=0;}elsealarm=0;useralarm();}}voidtimer1(void)interrupt3{TH1=(65536-pwm*100)/256;TL1=(65536—10000)%256;}#include〈intrins。h>//液晶顯示程序//PortDefinitions**********************************************************sbitLcdRs=P2^0;sbitLcdRw=P2^1;sbitLcdEn=P2^2;sfrDBPort=0x80;//P0=0x80,P1=0x90,P2=0xA0,P3=0xB0。數(shù)據(jù)端口voidlcd_delay(unsignedchart){unsignedchari,j;for(i=0;i〈t;i++)for(j=0;j〈100;j++);}//內(nèi)部等待函數(shù)voidLCD_Wait(void)//讀忙狀態(tài){LcdRs=0;LcdRw=1;}//向LCD寫入命令或數(shù)據(jù)#defineLCD_COMMAN0//Command#defineLCD_DATA1//Data#defineLCD_CLEAR_SCREEN0x01//清屏#defineLCD_HOMING0x02//光標返回原點voidLCD_Write(bitstyle,unsignedcharinput)//寫數(shù)據(jù)1/命令0{LcdRs=style;LcdRw=0;DBPort=input;LcdEn=1;lcd_delay(10);LcdEn=0;LCD_Wait();//設(shè)置顯示模式#defineLCD_SHOW0x04//顯示開#defineLCD_HIDE0x00//顯示關(guān)#defineLCD_CURSO0x02//顯示光標#defineLCD_NO_CURSOR0x00//無光標#defineLCD_FLASH0x01//光標閃動#defineLCD_NO_FLASH0x00//光標不閃動//設(shè)置輸入模式#defineLCD_AC_UP0x02#defineLCD_AC_DOWN0x00//default#defineLCD_MOVE0x01//畫面可平移#defineLCD_NO_MOVE0x00//default//初始化LCDvoidLCD_Initial(void)//初始化LCD{LCD_Write(0,0x38);//8位數(shù)據(jù)端口,2行顯示,5*7點陣lcd_delay(300);LCD_Write(0,0x0c);//顯示模式LCD_Write(0,0x01);//清屏LCD_Write(0,0x06);//輸入模式}//************************************************************************voidGotoXY(unsignedcharx,unsignedchary){EA=0;if(y==0)LCD_Write(0,0x80|x);if(y==1)LCD_Write(0,0xc0|x);EA=1;}//輸出字符串voidPrint(unsignedchar*str){EA=0;while(*str!='\0’)LCD_Write(1,*str++);EA=1;}voidLCD_Print(unsignedcharx,unsignedchary,unsignedchar*str){EA=0;GotoXY(x,y);Print(str);EA=1;}//hardware.c硬件程序sbitalarm=P2^5;sbithot=P2^7;sbitcold=P2^4;voidsys_init(void){/*EA=1;ET1=1;TMOD=0X01;TH1=15536/256;TL1=15536%256;TR1=1;*/alarm=0;cold=0;hot=0;}/////////////////////矩陣鍵盤程序#include<string.h〉charcodetab[4][4]={{'。',1,4,7},//7,8,9,EUP{0,2,5,8},//4,5,6,Ddown{’F’,3,6,9},//1,2,3,CSET{'B’,’C','D',’E'}};//0到F的16個鍵植//A.,0,F+/-,BOKvoiddelay(unsignedchara){unsignedchari;while(a—-)for(i=100;i〉0;i--);}unsignedcharkbscan()//鍵盤掃描{unsignedcharhang,lie,key;key_flag=0;P1=0x0f;if(P1!=0x0f){delay(10);if(P1!=0x0f){alarm=1;delay_20ms(3);alarm=0;key_flag=1;P1=0x0f;switch(P1&0x0f){case0x0e:lie=0;break;case0x0d:lie=1;break;case0x0b:lie=2;break;case0x07:lie=3;break;}P1=0xf0;switch(P1&0

溫馨提示

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

評論

0/150

提交評論