基于單片機的太陽能熱水器智能水位水溫控制儀的設計_第1頁
基于單片機的太陽能熱水器智能水位水溫控制儀的設計_第2頁
基于單片機的太陽能熱水器智能水位水溫控制儀的設計_第3頁
基于單片機的太陽能熱水器智能水位水溫控制儀的設計_第4頁
基于單片機的太陽能熱水器智能水位水溫控制儀的設計_第5頁
已閱讀5頁,還剩37頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

摘要本文設計了一個太陽能熱水器智能控制系統。它以89C52單片機為核心,配合電阻型4檔水位傳感器、負溫度系數NTC熱敏電阻溫度傳感器、8255A擴展鍵盤和顯示器件、驅動電路(電磁閥、電加熱、報警)等外圍器件,完成對太陽能熱水器容器內的水位、水溫測量、顯示;時間顯示;缺水時自動上水,水溢報警;手動上水、參數設置;定時水溫過低智能電加熱等功能。其中本文第一章主要說明了太陽能熱水器智能控制系統的研究現狀和本課題的主要任務,第二章對系統的整體結構作了簡單介紹,第三章重點介紹了水位水溫測量電路,第四章介紹了時鐘電路,第五章介紹了顯示和鍵盤電路,第六章對其他電路作了介紹,第七章是對水位測量電路的硬件調試。本系統對于水位傳感器、水溫傳感器的電阻數據的處理均采用獨特的RC充放電的方法。它與使用A/D轉換器相比,電路簡單、制造成本低。特別適用于對水位、水溫要求不精確的場合。關鍵詞:太陽能,熱水器,控制器,89C52,RC充放電AbstractThisarticlehasdesignedaintelligencecontrolsystemforsolar-poweredwaterheater.Ittakethe89C52microcontrollerintegratedcircuitasthecore,thecoordinate4gradesofwaterslevelresistancesensor,thenegativetemperaturecoefficientNTCthermistortemperaturesensor,the8255Aexpansionkeyboardandthedemonstrationcomponent,theactuatecircuit(solenoidvalve,electricheating,warning)andotherperipherycomponent,completestothewaterlevelandtemperaturemeasureanddemonstrate;thetimedemonstrate;lackofwaterautomaticallyupstream,thewateroverflowwarn;fixedtimeintelligencelyelectricheat.Thefirstchapterofthisarticlemainlyexplainedtheresearchsituationofthesolar-poweredwaterheaterintelligencecontrolsystemandtheprimarymissionofthistopic.Thesecondchapterhasmadethesimpleintroductiontotheoverallconstructionofthesystem.Thethirdchapterintroducedwithemphasisonthewaterlevelandwatertemperaturemeteringcircuit.Thefourthchapterintroducedtheclockcircuit.Thefifthchapterintroducedthedemonstrationandthekeyboardcircuit,.Thesixthchapterhasmadetheintroductiontoothercircuits.Theseventhchapteristhehardwaredebuggingofthewaterlevelmeasuringcircuit.RegardingtheprocessofthewaterlevelsensorandwatertemperaturesensorresistancedatathissystemusesthemethodoftheuniqueRCelectricsufficientanddischarging.ComparedtousingtheA/Dconverter,theelectriccircuitissimple,theproductioncostislow.Speciallyitissuitableforthewaterlevelandthewatertemperaturemeasuringrequestedunprecisesituation.Keyword:Solarenergy,waterheater,controller,89C52,RCelectricsufficientanddischarge目錄摘要 IAbstract II目錄 III第一章引言 11.1課題的背景意義 11.2太陽能熱水器和其控制器的發展現狀 11.3課題的研究內容 3第二章太陽能熱水器智能水位控制系統整體結構介紹 4第三章水位和水溫測量電路硬件設計 53.1水位測量電路 53.1.1方案比較選擇 53.1.2水位測量電路的具體設計及優化 83.2水溫測量電路 153.2.1方案比較選擇 153.2.2水溫測量電路的設計及溫度計算方法 163.3水位、水溫測量電路的整體設計 20第四章顯示電路 214.1方案選擇 214.1.18255A芯片介紹 214.1.28255A在太陽能熱水器控制電路中的作用 244.2顯示電路工作原理 254.2.18255A顯示電路的硬件結構。 254.2.28255A實現顯示方法 27第五章其他硬件電路設計 305.1上水電磁閥、電加熱、報警等驅動電路 305.1.1上水控制電路 305.1.2電加熱控制電路 305.1.3報警控制電路 305.1.4水位顯示電路 305.2電源電路 31參考文獻 33致謝 34附錄 35第一章引言1.1課題的背景意義隨著太陽能熱水器的迅速推廣,廣大消費者對太陽能熱水器特別是太陽能熱水器控制器的要求越來越高,太陽能熱水器商家為使自己的產品能在市場上生存和發展,在不斷提高太陽能熱水器熱水性能的同時,也不斷加大力度滿足消費者對于太陽能使用方便的要求,于是太陽能熱水器的智能化程度越來越高。本設計追蹤科技應用前沿,跟蹤市場,根據論文資料及市場現有產品模型,在加上自己的理解和創意,模仿出了一套智能化的太陽能熱水器控制系統。本系統完全跟隨太陽能熱水器本身智能化程度和成本的要求,為太陽能熱水器提供了一套智能化程度高、性能良好、使用方便、經濟實惠的配套控制系統。1.2太陽能熱水器和其控制器的發展現狀中國太陽能熱水產業的發展始于上世紀80年代,當時的市場定位是農村或中小城鎮的低收入家庭。90年代后期,住宅商品化的發展以及家庭對熱水需求的大幅度增長為太陽能熱水器的發展提供了市場空間,太陽能熱水器的生產規模進一步擴大,形成了一些有一定知名度的產品和品牌。自上世紀90年代以來,我國太陽能熱水器行業保持了10多年的快速增長,2005年太陽能熱水器年生產量為1500萬平方米,是2000年640萬平方米的2倍多,到2005年底,我國太陽能熱水器保有量超過7500萬平方米是2000年2600萬平方米的近3倍。目前,我國既是世界上最大的太陽能熱水器生產國,同時也擁有世界上最大的太陽能熱水器市場。至2005年,全國有1000多家有一定規模的太陽熱水器生產企業,年總產值達150多億元,出口創匯2000萬美元,全行業提供約30多萬個就業機會,產生了顯著的經濟、環境和社會效益[1]。到目前已有許多太陽能品牌為大家耳熟能詳,如皇明、桑樂、四季牧歌、力諾等。總之,太陽能熱水器已是一件和電視機、洗衣機一樣必不可少的家用電器。進步源于競爭,在我國太陽能擁有廣闊的市場,當然也有更大的競爭,各大商家為了使自己的產品在市場上立足并長遠發展,不斷提高太陽能熱水器的性能,其中太陽能熱水器控制器以其靈活、貼近客戶成為商家競爭的熱點。目前,各大商家紛紛提高太陽能熱水器的智能化程度來滿足消費者的需求。許多太陽能熱水器的功能有:開機自檢、溫控上水、強制上水、水位預置、水質設置、水溫指示、低水壓上水、水位顯示、防高溫空曬、缺水報警、自動防溢流、缺水上水、手動上水、故障提示等許多貼近客戶需求的功能。目前太陽能控制器的控制器基本實現數字化,以單片機為控制核心的控制系統占領太陽能熱水器的主要市場。在市場調查中發現,太陽能控制單片機的型號較多,其中應用最多的是51系列和PIC系列單片機。其基本框圖如圖1-1所示。圖1-1市場太陽能熱水器基本框圖[2]太陽能熱水器控制系統可以實現水位顯示、水位控制、溫度顯示、防凍等多種功能,其中對水位的檢測、控制,實現水位顯示、自動上水、超限報警是太陽能熱水器控制系統的核心。目前大多數太陽能熱水器的水位傳感器都采用分段式水位傳感器,因為太陽能熱水器對水位精確度的要求不高,并且分段式傳感器的成本很低。圖1-2是常用的一種分段式熱水器傳感器的基本原理。對于溫度的檢測便于用戶的使用和控制電加熱。目前,溫度傳感器的應用種類較為繁雜,有直接使用熱電阻、熱電偶的,也有使用數字溫度變送器(如MAX6674)的。在顯示方面多采用LED顯示或LCD液晶顯示。圖1-2一種分段式水溫傳感器[3]1.3課題的研究內容本課題主要是對市場現有產品的仿制,要能夠實現太陽能熱水器的完整功能。本課題以89C52單片機為核心配合傳感器、顯示器件、電磁閥、電加熱器、報警器等外圍器件,采集熱水器儲水箱中的水位、水溫信號,通過控制電動機的運轉、電加熱器加熱來控制儲水器的水位、溫度,并完成水位、水溫顯示,時間顯示,水溢報警等功能。另外配有鍵盤,可以實現手動上水、手動電加熱、設置水位、設置溫度等功能。第二章太陽能熱水器智能水位控制系統整體結構介紹太陽能熱水器整體結構大致可以分為四大部分:1.水位、水溫測量電路。這部分用于采集水位水溫信號給單片機,是太陽能熱水器控制器最關鍵的部位。2.時間、水位、溫度顯示和鍵盤電路。這部分用于系統和人的信息交互,有對太陽能熱水器狀態的直觀顯示,也有用于人對系統控制的鍵盤電路。3.時鐘電路。給系統提供時間顯示和參考時間。4.驅動電路。包括電加熱、上水電磁閥、報警電路,是整個系統的執行部分。系統的整體結構圖如圖2-1所示。圖2-1太陽能熱水器控制系統整體結構圖第三章水位和水溫測量電路硬件設計水位測量和水溫測量是太陽能熱水器控制系統的最重要部分,是實現其他功能的基礎,此部分性能好壞將關系到整個系統的優良程度,所以設計一個性能良好的水位、水溫測量系統是本設計的重點。3.1水位測量電路水位測量可以有多種方法,需從性能和成本兩方面進行考慮,選擇合適的方案。3.1.1方案比較選擇1.排阻分檔鍵盤式水位傳感器在許多資料中都介紹了一種類似鍵盤電路的分檔水位傳感器,其原理圖如圖3-1所示。圖3-1排阻式水位測試電路示意圖[4]它的工作原理類似于鍵盤的工作原理,用5根不銹鋼針分別置于水箱內的四種不同高度的位置,當某個鋼針不接觸水面時,其輸出為高電平;當其與水面接觸時則輸出低電平。它們的輸出接至電子開關CD4069,經過CD4069反向并經74LS244驅動后分別接入89C52的P1.0~P1.3引腳。CPU對這些引腳進行判斷后,送去顯示相應的水位值。顯示共分4檔,每檔為滿水位的25%。這種方法簡單,易實現,省去了傳統的A/D轉換器,成本低,雖然不精確但可以滿足使用要求[4]。2.RC充放電式水位傳感器測量電路這種電路資料較少,但我們在市場上購買的桑樂太陽能的水位和水溫傳感器就是基于這種原理,其基本形狀如圖3-2所示。圖3-2桑樂太陽能水位水溫傳感器外形圖從圖3-2中我們可以清楚的地看到傳感器外形非常簡單,一共只有4個端口,其中一個是防凍接口,沒有使用,使用的只有3個端口,在可用的三個端口上分別標有公共、水位、水溫標志,由此可知測量水位、水溫都只用了一個端口。觀察傳感器可知水位傳感器有5個與水接觸點,我們從上到下依次命名它們為1—5觸點。我們分別測量了觸點不同接法時公共和水位兩端口之間的電阻,數據如表3-1所示。由上述測試結果的電阻值得出這樣的規律,那就是電阻的并聯短接,其原理如圖3-3所示。表3-1輸出電阻值表短接方式無短接1、21、2、31、2、3、41、2、3、4、5輸出電阻值(kΩ)極大2512.58.66.3圖3-3桑樂太陽能水位傳感器原理它的工作原理是,水面每接觸一個鋼針就會多并聯一個電阻,電阻隨水位變化而規律的變化。利用單片機的一個口周期性的給電容電路充放電,然后用圖3-4RC充放電式水位傳感器測量電路原理圖單片機監測電容兩端電壓的變化,因為電容電壓的上升或下降時間t=RC,所以用單片機記錄這個時間就能判別電阻的變化,進而轉化為水位的變化進行顯示及其他動作。3.傳感器選擇RC充放電式水位傳感器測量電路,明顯優于排阻分檔鍵盤式水位傳感器的地方有:(1)接線簡單,排阻分檔鍵盤式水位傳感器需要四根導線傳輸水位信號,而RC充放電式水位傳感器僅需要兩根就能完成,這對于線路較長的太陽能熱水器傳輸信號電路來說能節省相當多的導線資源。(2)給水溫測量電路設計帶來方便,RC充放電式水位傳感器的原理可以同樣運用到熱電阻溫度測量電路中。(3)占用較少的I/O口,僅需兩個I/O口就能完成水位檢測任務,極大地節約了單片機的I/O口資源。綜上比較可見選用第二種方案較為優越。3.1.2水位測量電路的具體設計及優化1.直接接單片機I/O口檢測單片機中的定時器可以提供電壓變化時間的紀錄,接下來就是如何將電壓的變化傳遞給單片機。一種簡單的方案是:用P1.0口給RC電路周期性的充放電,然后用P1.1口監測電容的電平變化,完成計時,這種方案看上去簡單易實現,但實際則行不通。按剛才提到的方法接圖如圖3-5。這樣做得到的結果是P1.1的電壓一直保持高電平,即電容電壓一直保持高點平。這與單片機內部電路有關,單片機的內部電路如圖3-6所示。圖3-5直接用I/O檢測電容電壓測量水位電路原理圖圖3-6P1口的位結構[5]從圖中可見,P1口只有高電平和低電平兩種狀態,當P1.1口為高電平時,將電容端與P1.1連接,VCC會通過內部上拉電阻持續給電容充電,所以監測電容電壓一直為高電平。而當將其置低電平時,P1口相當于接地,將會出現相反的情況,其通過地一直給電容放電,電容電壓一直低電平。2.采取與I/O隔離并用中斷監測電容電壓的電路這樣需要將電容電壓與單片機監測端口隔離,采取如圖3-7所示電路。圖3-7水位測量電路LM358的應用LM358的正向輸入端接電容電壓正端,反向輸入端與輸出端相連,構成電壓跟隨器。電壓跟隨器的顯著特點就是,輸入阻抗高,而輸出阻抗低,一般來說,輸入阻抗要達到幾兆歐姆是很容易做到的。輸出阻抗低,通??梢缘綆讱W姆,甚至更低,也就是說電壓跟隨器有較好的隔離作用,使輸出對輸入影像較小,正好滿足我們的要求[6]。LM358的輸出電壓幅度為0至Vcc-1.5V,而要跟隨的電壓范圍為0—5V,所以應選用大于+6.5V的電源供電,這里選用+12V單電源供電2.LM393的作用給比較器設置+3V的參考電壓,將電容電壓的指數曲線變成矩形波,波形圖如圖3-8所示。將參考電壓接同相輸入端,比較電壓接反相輸入端,從而實現電容電壓在上升到參考電壓時比較器產生下降沿信號,作為單片機的外部中斷信號。如圖3-8所示。根據LM393的特性本設計電源電路提供的電壓,選用+5v給其供電。由LM393的內部原理圖可知LM393的輸出為集電極開路,它的輸出高電平與LM393的電源無關,但須接外部電源和上拉電阻。在圖3-7所示的水位測量電路中并未有這樣的上拉電壓電路,是因為單片機內部INT0、INT1口已經具備了這樣的電路。INT0、INT1的內部電路類似于P1口如圖3-6所示。另外LM393的同相輸入端輸入和反相輸入端輸入之間有相互嵌位作用,+5V電源和分壓電阻提供的+3v參考帶電平對反相輸入端輸入有嵌位作用,如果不接LM358電源跟隨器而與電容直接相連,顯然會影響電容電壓的變化,這就是要加電壓跟隨器進行隔離的原因。圖3-8電容電壓與比較器輸出信號(仿真和實測)3.充電時間的設定和電容的選擇電容充電時間的計算公式為:(3-1)T即位電容電壓上升時間。編程使P1.0口輸出周期性的方波,給電容充放電,方波半周期(充電或放電時間)為,應使方波半周期大于電容電壓上升時間,即:(3-2)如果使用單片機主程序一直循環給P1.4口輸出方波,方波的周期可以很大,超過幾秒甚至幾十秒,但是這樣主程序就只能干這一項工作,影響單片機的其他工作。所以要用定時器來實現方波輸出。這樣用定時器就可以用定時中斷使P1.4口輸出方波,又不影響單片機的其他工作。這樣方波的周期就受定時器定時時間的限制。89C52單片機定時器共有4種定時方式,其中定時時間最長的為定時方式1。當定時器/計數器在方式1下做定時器用時,其定時時間計算公式為:(3-3)采用12M的晶振,晶振周期為S,因為采取定時器終端方式,所以N=0XFFFF=65536。所以:(3-4)那么當T=30ms,計數初值為0X8AD0=35536。定時輸出30ms其程序如下:voidmain(){initial(); while(1) display();}voidtimer_t1()interrupt3{TH1=0X8A;//重新給定時器1賦值TL1=0XD0;P1_4=!P1_4;//充放電變換 if(P1_4)//充電開始時啟動定時器0 { TL0=TH0=0X00;//定時器0賦初值0TR0=1;//啟動定時器0 }}如圖3-6,這里用INT0中斷來監視記錄電容變化,內部編程實現計時器對電容電壓上升時間的記錄,所以可以通過將計時器寄存器里的值顯示出來的方式直觀顯示電容電壓結果,來確定合適的電容。以下是編程實現這一過程的結果。表3-2不同電容大小時計數器寄存器中的值一水位二水位三水位四水位TH0TL0TH0TL0TH0TL0TH0TL02uFA0~B4——85~98——70~83——60~65——1uF64~70——49~50——38~40——32~34——0.22uF2——180~A3172~80164~72由表格數據可見當選用2uF電容時,應需較大的充放電時間,充放電不夠充分,所以計數器寄存器中的值大而不準;而當取0.22uF電容式計數寄存器TH0的值僅為1或2,非常不利用區分;當取1uF電容時,數據大小合適,分段明顯,所以應選用1uF電容。另外,電容兩端的最高電壓為+5V,最低電壓為0V,所以所選電容的耐壓留有一定裕量為最大電壓的3倍,所以應選取耐壓為15V以上的電容。由表3-2知R最大值為25KΩ,所以:(3-5)又由式3-8得:(3-6)這樣由公式3-5、3-6得到。因此取充電和放電時間為30ms。4、編程實現水位處理由于水電阻的波動性和電容的不穩定性等原因,計數器中的數值會有一定的波動,所以需要對數據進行相應的處理顯示水位。其中buf[1]為計數器0寄存器中的值。voidLvRead(){if(buf[1]>60){ WTLV=1;//顯示1水位 L3=0;L2=1;L1=1;L0=1; } elseif(buf[1]>45) { WTLV=2;//顯示2水位L3=1;L2=;L1=1;L0=1; } elseif(buf[1]>36) { WTLV=3;//顯示3水位L3=1;L2=1;L1=0;L0=1; } else { WTLV=4;//顯示4水位L3=1;L2=1;L1=1;L0=0; }}3.2水溫測量電路水溫測量電路的設計包括傳感器的選擇和測量電路的選擇??紤]到性價比等原因,市場上大部分太陽能熱水器的溫度傳感器都選用NTC負溫度系數熱電阻,本系統也選用這種。下面主要論述測量電路。3.2.1方案比較選擇溫度測量方案很多,下面通過比較選擇合適的測量方法。熱電阻A/D轉換式水溫傳感器圖3-9熱電阻A/D轉換電路原理圖A/D轉換式水溫傳感器的原理是,利用熱敏電阻的阻值隨溫度變化的特性,將隨溫度變化的電阻信號轉化為變化的電壓信號,然后將這個電壓信號經運放放大處理成0—5V的電壓信號,電壓信號經A/D轉換變成數字信號送給單片機。這種電路測量比較精確,但需用A/D轉換器,而A/D轉換的價格較貴,會加大成本,另外A/D轉換需占用8個數據口和兩個片選口及兩個控制口共12個I/O口。2.RC充放電式熱電阻水溫傳感器測量電路RC充放電式熱電阻水溫傳感器測量電路的原理與前面提到的RC充放電式水位傳感器測量電路原理完全相同,只要把水位電阻換成熱電阻就可以了。其缺點是不夠精確,但成本很低,對于對溫度要求不算精確的太陽能熱水器系統,完全可以滿足我們的需要。另外與A/D轉換式溫度傳感器相比,其優勢還是十分突出的:(1)僅需2個I/O口就能完成對溫度的檢測,節約了單片機的I/O,有利于降低成本。(2)實現起來也十分簡單。3.2.2水溫測量電路的設計及溫度計算方法1.水溫測量電路

圖3-10水溫測量電路原理圖對太陽能熱水器中水的溫度進行控制及顯示,需對熱水器水溫與出水溫度進行檢測。對于熱水器來說溫度控制與顯示的精度要求并不高,因此本設計采用負溫度系數NTC熱敏電阻作為測溫元件,利用NTC熱敏電阻阻值隨溫度變化而改變的特性實現測溫。2.水溫計算方法NTC熱敏電阻的阻值與溫度的準確關系為:(3-7)式中R0為溫度為T0時的電阻值,T0為基準溫度298.15K,即25℃。為材料系數。R0與由熱敏電阻生產廠家給出[7]。由式3-7可得:(3-8)由式3-3和式3-4可得;(3-9)經測試T0=25℃的計數器寄存器中的值=16384。將T0、、值代入上式并用攝氏溫度表示時水膽溫度為;(3-10)因為89C52單片機無法進行直接的對數運算,按上述公式計算溫度值將是十分困難的。在這里查表法是一種經常采用的解決辦法,即事先計算出所有可能的計時結果所對應的溫度值以表格形式寫入控制程序,每次轉換完畢后查表得出所對應的溫度值。但此種方法需占用較多的程序儲存空間本設計采用一次線性插值法對溫度與A/D轉換結果之間的關系進行分段線性化,以少量單片機能直接進行的運算的組合去逼近目標函數。圖3-11為溫度T與計時器計時結果N之間的關系曲線。圖3-11計時寄存器值N與溫度T的關系曲線其中圓滑曲線為實際的T-N關系曲線設計中根據使用要求將曲線在0-90范圍內分3段采用圖中的3段直線斷代替實際曲線。曲線按式3-10計算出圖中各線段端點坐標值為:N1=1000,T1=90(℃);N2=7549,T2=43(℃);N3=20000,T3=20(℃);N4=56450,T4=0(℃);分段線性化后溫度T的近似計算公式:,(℃)(3-11),(℃)(3-12),(℃)(3-13)為了能在單片機上進行計算,將以上三式進一步變換成如下形式(其中int為取整函數):T=97-int(N*8/1000),(3-14)T=50-int(N/1000),(3-15)T=30-int(N*5/10000),(3-16)式3-14、3-15和3-16的計算過程僅需通過簡單的幾步移位與加減法操作即可實現,與通過式3-10計算并進行四舍五入圓整的結果相比較單片機通過式3-14、3-15和3-16計算出的溫度值在0~20范圍內誤差不超過2℃,在20~90范圍內誤差不超過1℃,并且計算出的溫度值與3.程序實現測量水溫程序與水位程序類似,由單片機口給電容發矩形波充放電,然后檢測中斷計時,根據計數器中的值來判斷當前溫度。也就是水溫測量程序包含中斷計時和數據處理兩部分。定時器0和1已經被水位測量電路,和充電定時占用,所以這里需可以編程序實現水位和水溫中斷輪流開關,來輪流使用定時器0,計算溫度傳感器的上升時間。數據處理公式已在上面列出。下面列出數據處理程序,其中buf[3]、buf[2]為中斷1得到的定時器1中的值,中斷程序見附件。voidTmRead(){uintval;val=buf[3]*256+buf[2];if(val<7549)TMP=97-int(val*8/1000);elseif(val<20000)TMP=50-int(val/1000);elseTMP=30-int(val*5/10000);}3.3水位、水溫測量電路的整體設計由上面的分析知道,兩者的電路原理一樣,都是用P1口給電容充電,用中斷檢測電容電壓變化。作為充電口P1口的作用相當于電源(充電時)或地(方電時),所以可以用同一個口為兩個沖放電回路充電,兩個回路是獨立的。LM393和LM358都是雙運放、8腳DIP封裝,恰好用于水位和水溫檢測兩路。下面圖3-12是實際的水位和水溫測量電路圖。圖3-12水位和水溫測量電路實際電路圖以P1.0口作為水位和水溫電路的公共充0放電口,以INTO作為水位測量電路的中斷檢測口,以INT1作為水溫測量電路的中斷檢測第四章顯示電路鍵盤和顯示電路是太陽能熱水器水位控制系統與用戶的接口,用戶通過顯示來觀察水溫、水位、時間等狀態值,再根據觀察到的值,通過鍵盤對太陽能熱水器進行控制。本章設計了較為合理的鍵盤和顯示電路完成這些功能。4.1方案選擇太陽能熱水器系統需要用數碼管顯示時間和溫度,時間精確到分,24或12小時制,這就需要4位顯示;而溫度顯示范圍為0—99度,這又需要2位顯示。對于六位顯示,采用占用I/O較少的動態掃描方式,也需要六位位選碼數據線,八位段選碼數據線,共需14個I/O口。鍵盤采用復用方式,仍需要至少4個I/O口。鍵盤和顯示電路共需18個I/O口,89C52單片機共有4×8個I/O口,而又有8個口有特殊功能,也就是常用的共有3×8個I/O口,該系統的其他設置也還要占用大量I/O口,顯然這樣太浪費資源。4.1.18255A芯片介紹圖4-18255A輸入輸出口和編程模型表4-18255A引腳定義引腳名功能連接去向D0~D7數據總線(雙向)CPURESET復位輸入CPU片選信號譯碼電路EQ讀信號CPU寫信號CPUA0,A1端口地址CPUPA0~PA7端口A外設PB0~PB7端口B外設PC0~PC7端口C外設VCC電源(+5V)/GND地/2.8255的工作方式圖4-2方式控制字

4.1.28255A在太陽能熱水器控制電路中的作用單片機與8255A的連接如圖5-3所示,如圖所示分別將8255A的讀、寫、復位端口與單片機的讀、寫、復位端口相連。A0、A1、為8255A的地址口,D0-D9為數據口。P2.5與A1相連,P2.6與A2相連,P2.7與相連,提供8255的端口地址信號。單片機的P0口為8255A提供數據輸出輸入。8255A共占用單片機11個常用I/O口,比直接顯示鍵盤電路節省了7個I/O口。圖5-3單片機與8255A連接圖4.2顯示電路工作原理4.2.18255A顯示電路的硬件結構。8255A擴展顯示及鍵盤電路如圖5-4所示。圖4-4用8255A擴展的鍵盤和顯示電路在顯示電路中用8255A的PA口輸出位選信號,通過74F07接LED顯示器的片選引腳。7407是TTL門集成的六路輸出緩沖器/驅動器,因為本系統采用的是共陰極LED顯示器,位選應接低電平,可能有幾十毫安的電流輸出,而單片機的I/O口最大能承受幾毫安的灌電流,所以需用7407來接受較大的輸出電流。PB口輸出的段選信號,通過74LS245芯片接LED段碼引腳,因為8255A的輸出電流一般是微安級的,而LED一般則要求5到幾十毫安的電流,不能直接驅動LED,而74LS245的高電平輸出電流在15毫安左右,可以驅動LED顯示。另外74LS245的輸出接上拉電阻,幫助驅動顯示器。LED顯示器是由發光二極管顯示子段組成的顯示器件。在單片機系統中通常使用的是七段LED顯示器,這種顯示器有共陰極共陽極兩種,在這次設計中選用共陰極LED顯示器。共陰極七段LED顯示器的管腳如圖5-5所示圖4-5共陰極LED顯示器的原理和管腳圖表4-1共陰極LED顯示器七段碼顯示字符共陰極七段碼顯示字符共陰極七段碼03FH96F106A7725BB7C34FC39466D5E56DE7967DF71707P7387FU3E4.2.28255A實現顯示方法8255A的PA、PB口作為輸出口驅動數碼管顯示;PC口用作輸入口監測鍵盤輸入,所以這里須用工作方式0——基本輸入輸出口工作方式,其方式控制字為10001001。8255A的RESET引腳與單片機的RESET引腳直接相連,當單片機復位時,8255A同時復位。單片機的P2.7口與8255A的片選信號相連,顯示期間一直輸出低電平,選中8255。在P2.5、P2.6都輸出高電平時,即A1=1,A2=1時,=0,單片機輸出寫信號,訪問控制寄存器,將方式控制字10001001通過單片機的P0口與8255A的D0-D7數據口送給8255的控制字寄存器。由圖5-3的連接方式知控制字寄存器地址為:0111111111111111,即0x7FFF,向該地址寫入控制字即可。當P2.5、P2.6都輸出低電平時,A1=0,A2=0時,=0,單片機輸出寫信號,訪問端口A,將位選碼送出,選中要顯示的位,即端口A地址為:0001111111111111=0x1FFF,向該地址寫入位選碼即可。然后將P2.5=0,P2.6=1,即A1=0,A2=1,=0,單片機輸出寫信號,訪問端口B,將段選碼送出,保持幾毫秒的延時,使LED顯示。即端口C地址為:0101111111111111=0x5FFF,向該地址寫入段選碼即可。顯示程序如下:/*定義8255A字符型字位口*/#defineDIGPORTXBYTE[0x1FFF]//PA口地址,位選碼地址#defineWORDPORTXBYTE[0X3FFF]//PB口地址,段選碼地址#defineCCOMXBYTE[0X7FFFF]//控制字寄存器地址#defineKPORTXBYTE[0X5FFF]//PC口,鍵盤掃描地址voiddisplay(void){uchari;//顯示緩沖區首址uchardelay;//顯示延時uchardisp;//顯示內容uchardigit;//定義數碼管顯示位digit=0x08;for(i=0;i<2;i++){if(BUFFER[i]>100)disp=BUFFER[i]%10+10;elsedisp=BUFFER[i]%10;DIGPORT=digit;WORDPORT=TABLE[disp];for(delay=0;delay<=200;delay++);digit=digit>>1;disp=BUFFER[i]/10;DIGPORT=digit;WORDPORT=TABLE[disp];for(delay=0;delay<=200;delay++);digit=digit>>1;}}第五章其他硬件電路設計上水、電加熱、報警電路屬于大功率驅動電路,需用開關控制外部電源的關斷。水位顯示是簡單的三極管驅動電路。電源電路微單片機的主電路及部分驅動開關提供電源。本章對這些綜合介紹。5.1上水電磁閥、電加熱、報警等驅動電路上水電磁閥、電加熱開關、水位顯示、報警開關等驅動電路均采用9013三極管進行放大驅動,如圖6-1所示。5.1.1上水控制電路由單片機P1.1口的輸出來控制上水電磁閥。單片機P1.1口通過一個2.2K的電阻接9013三極管的基極,9013的集電極通過一個單刀繼電器接正12V電源,9013射極接地。當P1.1輸出低電平時,三極管截至,幾乎沒有電流通過三極管的基極到射極、集電極到射極,即,所以此時流過繼電器的電流幾乎為0,繼電器打開。當P1.1口輸出高電平時,三極管9013導通,有較大的飽和電流流過繼電器,使其吸合、關閉,從而開啟電磁閥。5.1.2電加熱控制電路電加熱的繼電器采用雙開關繼電器,一個開關控制電加熱器的火線,另一個控制零線。當P1.0輸出低電平時,三極管不導通,繼電器無電流通過,開關開啟,電加熱器不工作。當P1.0輸出高電平時,三極管導通,繼電器有較大電流通過,開關閉合,電加熱器開始工作。。5.1.3報警控制電路報警輸出三極管的集電極接蜂鳴器,蜂鳴器的另一端接正5伏電源。有P1.2口控制報警電路,當水位超標時P1.口輸出高電平報警,不報警時將P1.2口置低電平。5.1.4水位顯示電路水位顯示電路由P2.0-P2.4口來控制,其中P2.4口輸出高低電平控制水位的顯示與否,P2.0-P2.3口輸出高低電平控制二極管的亮滅來顯示水位。圖5-1主要驅動電路電路圖5.2電源電路對于太陽能用戶來講,最常用、最方便的電源當然是220V的工頻交流電源,但太陽能容熱水器控制系統需要的是穩定的+5V和+12V電源,所以要為控制系統設計直流電源電路。由于本設計由+5V和+12V兩個不同的電壓供電,并且+5V是主電源。變壓器分別采用220/8和220/15的變壓器,穩壓電路分別采用集成穩壓器件7805和7812進行穩壓。圖6-2為系統+5V直流電源的整體圖,+12V電源與它基本相同。圖6-2系統直流電源總圖結論本課題設計了一個以89C52單片機為核心配合其他外圍電路的太陽能熱水器智能控制系統,完成了對太陽能熱水器容器內的水位、水溫測量、顯示;時間顯示;缺水時自動上水,水溢報警;手動上水、參數設定;定時水溫過低智能電加熱等功能模塊的設計。完成了太陽能熱水器水位、水溫的測量和顯示電路的設計,并作了硬件調試,調試結果較為理想,得到了準確的分檔水位測量,和誤差較小的溫度測量,驗證了RC充放電測量電阻的可行性。通過對水位、水溫的測量監控,實現了自動上水、水溢報警、智能加熱等功能。完成了用8255A擴展鍵盤和顯示電路的設計,實現了溫度時間共六位動態顯示,和4個獨立鍵盤輸入。完成了時鐘電路設計,為系統提供了準確的時間顯示,顯示時、分。并為定時加熱提供了時間參考,從而完成自動電加熱。用鍵盤實現了手動上水、電加熱、參數設置等功能。參考文獻[1]胡潤青.蓬勃發展的太陽能熱水器產業.可再生能源.[2]袁小平,陳躍.一種智能型太陽能熱水器控制器的研制.江蘇煤炭.[3]范延濱,王正彥.太陽能熱水器控制器中測量模型.電子測量技術,2004,3.[4]唐德禮,鮑連升.太陽能熱水器水溫水位控制器.十堰職業技術學院學報,2002,15(4).[5]姜志海,黃玉青等.單片機原理及應用.電子工業出版社,2005.113-120.[6]劉潤華,劉立山.模擬電子技術.石油大學出版社,2003.250-254.[7]孫東勝.新型電熱水器控制器的研制:[碩士學位論文].上海:上海交通大學,20041001.[8]歐陽喬.時鐘芯片DS1302的原理及其Proteus仿真設計.計算機與信息技術,2006,6.[9]周荷琴,吳秀清.微型計算機原理.中國科學技術大學出版社,2004.325-354.[10]SandrineCLAQUIN,AlainCARRIERE,FranqoisROCARIES.ModellingandApplicationofAdaptiveControltoaGasHeater.The3rdIEEEConferenceonControlApplications(CCA'94),Glasgow(U.K)24-26August1994.[11]PopovicD,VPBhatkar.DistributedComputerControlforIndustrialAutomation.MarcelDekkerInc,1992.[12]王兆安,黃俊.電力電子技術.機械工業出版社,2005.[13]LatticeDateBook.LATTICESEMICONDATEBOOKCORPORATION.1994.致謝在本次課程設計過程中和其他與邊老師的接觸中,邊老師對我們都是悉心教導、躬親示范,在生活上對我們也是十分關懷,特別是邊老師博學的知識、耐心的教誨給了我極大的支持和鼓舞。在即將離開大學的時候,在邊老師教誨下度過的這段時光將成為終生受益的經歷。在此,對邊老師致以衷心的感謝和崇高的敬意,愿邊老師學術攀高峰,桃李滿天下。在此也特別感謝在畢業設計中給我很大幫助的楊志亮、么亞濤、劉魁魁、李辰等同學。對實驗室的其他老師給予的大力支持和指導表示真誠的謝意。附錄附錄1主程序流程圖和程序太陽能熱水器智能控制系統程序://定義頭文件和各個輸入管腳以及變量聲明#include<reg52.h>#include<absacc.h>return(dat);}voidDS1302_Init(void)//初始化DS1302{DS1302_Write(DS1302_CONTROL_Reg,0x00);//關閉寫保護DS1302_Write(DS1302_SEC_Reg,0x80);//暫停DS1302_Write(DS1302_CHARGER_Reg,0xa9);//涓流充電DS1302_Write(DS1302_YEAR_Reg,0x04);//年DS1302_Write(DS1302_MONTH_Reg,0x12);//月DS1302_Write(DS1302_DATE_Reg,0x09);//日DS1302_Write(DS1302_DAY_Reg,0x04);//周DS1302_Write(DS1302_HR_Reg,0x10);//時DS1302_Write(DS1302_MIN_Reg,0x25);//分DS1302_Write(DS1302_SEC_Reg,0x00);//秒DS1302_Write(DS1302_CONTROL_Reg,0x80);//打開寫保護}voidReadTime(void)//讀取時間{uchardat;dat=DS1302_Read(DS1302_YEAR_Reg);//年year0=dat&0x0f;year1=dat>>4;dat=DS1302_Read(DS1302_MONTH_Reg);//月month=dat;dat=DS1302_Read(DS1302_DATE_Reg);//日date=dat;dat=DS1302_Read(DS1302_DAY_Reg);//周day=dat;dat=DS1302_Read(DS1302_HR_Reg);//時hour=dat;dat=DS1302_Read(DS1302_MIN_Reg);//分minute=dat;dat=DS1302_Read(DS1302_SEC_Reg);//秒second=dat;}附錄2太陽能熱水器水位水溫傳感器圖片附錄:外文翻譯InWangZuoliang’stranslationpractices,hetranslatedmanypoems,especiallythepoemswrittenbyRobertBurns.HistranslationofBurn’s“ARed,RedRose”broughthimfameasaversetranslator.Atthesametime,hepublishedabouttenpapersonthetranslationofpoems.Somearguethatpoemscannotbetranslated.Froststressesthatpoetrymightgetlostintranslation.AccordingtoWang,versetranslationispossibleandnecessary,for“Thepoet-translatorbringsoversomeexcitingworkfromanothercultureandindoingsoisalsowritinghisownbestwork,therebyaddingsomethingtohisculture.Inthistransmissionandexchange,aricher,morecolorfulworlde

溫馨提示

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

評論

0/150

提交評論