




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、題目:智能家用太陽能熱水器控制器院 系:數字設計工程系專 業:應用電子技術年 級:2009級學 號:0923003002 0923003011作者姓名:陳柳東 完成日期:2012-02-13目錄1、前言11.1 本設計的目的和意義11.2 控制系統設計要求11.3 本設計實現思路及方法12、總體方案設計12.1 方案一3 系統的組成及原理32.1.2 系統框圖32.2 方案二32.2.1 系統組成及工作原理3 系統框圖42.3 方案選擇53、單元模塊設計53.1 單片機概述53.2 水位檢測模塊63.3 溫度檢測模塊73.4 鍵盤模塊83.5 顯示模塊83.6 器件介紹93.6.1 AT89C
2、51單片機9數碼管顯示94、軟件設計114.1 主程序流程圖114.2 溫控進水程序124.3 溫度顯示子程序134.4 鍵盤處理程序145、系統調試與原理圖156、總結與體會16附錄A 電路原理圖18附錄B 源程序19智能家用太陽能熱水器控制器摘 要:針對目前家用太陽能熱水器功能單一、操作復雜、控制不方便等特點,本文提出了一種新型的太陽能熱水器控制系統設計方案。根據太陽能熱水器對控制系統的要求以AT89C51 單片機為檢測控制核心,設計了一種太陽能熱水器智能控制器. 該控制器具有時間、溫度、水位設定與控制功能,及良好的抗干擾性能.關鍵詞:太陽能熱水器、傳感器、實時時鐘、單片機 Intelli
3、gent household solar water heater of the ControllerChenliudong WenchuanjianChaoShan Vocational And Technical College ,No.1 University Road, Puning City, Guangdong Province. 515300Abstract: In view of at present home use solar-powered water heater function sole, the operation complex, the control not
4、 convenient and so on the characteristics, this article proposed one kind of new solar-powered water heater control system design proposal.According to the solar-powered water heater to the control system request take at89C51 monolithic integrated circuit as the examination control core, has designe
5、d one kind of solar-powered water heater intelligence controller. This controller has the time, the temperature, the water level hypothesis and the control function, and good resistance to interference.Keywords: Solar Water Heater、Sensor、Real clock、Single Chip Microcomputer(SCM)1、前言1.1 本設計的目的和意義本設計具
6、有很強的實用性,用成本低廉的電阻式傳感器以及電極配以單片機技術對生產實際中的太陽能熱水器的水溫的控制以及水位的顯示。本裝置電路簡單、實用性強、性價比高、水溫控制靈活,水位顯示直觀醒目,可廣泛應用于家庭生活對太陽能熱水器的水位顯示與水溫控制,具有良好的市場前景。1.2 控制系統設計要求1、能夠根據水位和水溫兩個條件控制是否需要進水,每次只進整個水箱的四分之一水量,也可以在手動狀態下自由進水(上滿時自動停止)或停止進水。2、控制系統具有手動和自動切換功能;3、具有水溫和水位顯示功能;4、具有進水超水位和超水溫報警指示;5、用水時若水溫達不到設置值時,可手動起動加熱裝置,這樣可在很大程度上節約電能;
7、6、用水時可自由調節水溫;7、控制系統具有管道排空功能,這樣防止冬天時因水管內有積水而在夜間凍裂水管。1.3 本設計實現思路及方法水位由潛入儲水容器不同深度的水位電極和潛入容器底部的公共電極(導線)檢測;并由四個綠色LED發光二極管顯示:若無水則綠燈不亮;若有四分之一儲水箱的水亮一盞綠燈;通過觀察綠燈點亮的數量可識別水位的高低,這里取4段顯示,也可根據需要進行增減。水溫由四個LED數碼管顯示,前三個數碼管顯示的為溫度最后一個數碼管我們只用到了四段碼顯示為溫度的符號C,水溫有效值最多可顯示為99.9。2、總體方案設計如圖2-1所示,本系統主要由控制器、自動控制閥、手動控制閥、水位檢測電極、水溫檢
8、測傳感器、電阻加熱絲、儲水箱等組成??刂破鳎褐饕ㄟ^里面的電磁閥控制YV1和YV2的通斷,控制水溫檢測傳感器檢測水溫、控制水位檢測傳感器檢測水在水箱中的位置以及控制電阻加熱絲加熱。自動控制閥:主要通過控制器控制,當水箱中的水的實際溫度大于所設置的溫度時,自動閥就自動打開往水箱中上水,直到上到上一個目標水位為止。圖1 系統組成示意圖手動控制閥:當自動閥損壞時,可以通過手動閥進行上下水。水位檢測電極:主要用來檢測水箱中水的位置,主要把水箱分成四等分,一共有五個電極,接地的電極放在最水箱的最底下,其余分別放在四等分點上,比如當水箱中的水在第一等分和第二等分之間,則顯示水箱中有四分之一的水,當超過第二
9、等分,則顯示二分之一的水。水溫檢測傳感器:主要用來檢測水箱中水的實際溫度。電阻加熱絲:主要用來加熱水箱中水,使其達到用戶所需要的溫度。本控制系統分為手動和自動兩種控制方式,在系統處于自動狀態下,當檢測溫度高于設置溫度,且水位未達到最高時,控制器打開電磁水閥YV1和YV2進行上水,同時點亮上水指示燈,當水位上至上一目標水位時,自動停止上水(即關閉電磁水閥YV1和YV2),若水箱內無水,則自動上水至最低水位處。在系統處于手自動狀態下,可自由上水或停止上水(上水時水箱水位必須未滿),若水位達到最高則自動停止上水;若需要啟動加熱器則必須先設定加熱溫度,然后按下加熱鍵進行加熱;若需洗浴時,則需打開手動閥
10、YV4,系統自動打開電磁水閥YV2,可通過YV5自由調節水溫;當電磁水閥YV1和YV2損壞或停電時,可通過打開YV5和YV6進行上下水解決燃眉之急;此系統設置YV3是為了防止冬天氣溫過低引起水管因內有積水而凍裂(即手動打開此閥放完水管中的積水)。2.1 方案一2.1.1 系統的組成及原理(1)智能控制系統采用MCS-5l單片機為中心控制單元。由于系統運算量不是大,沒有太多的中間數據需要處理、保存,使用AT89C51已完全能夠滿足要求。系統的硬件電路包括:控制器實時時鐘接口電路、蓄水箱溫度和水位檢測接口電路、設定鍵和串行顯示接口電路、看門狗和復位電路等(2)特點:利用單片機實時監測水溫及水位。用
11、水時,若日曬水溫達不到設定值,單片機控制電加熱器自動補溫至設定溫度間;缺水時能自動上水到設定值。采用外擴EEPROM對設置的參數具有斷電保留功能,斷電后,參數無須重新設置。該系統具有使用方便、穩定性高。節能等特點,實用性高。2.1.2系統框圖AT89C51顯示器A/D轉換看門狗繼電器電磁閥加熱控制控制上水時鐘控制水量設定溫度設定報警裝置 溫度水量檢測圖2 熱水器微控系統框圖2.2方案二2.2.1 系統組成及工作原理本系統由溫度傳感器及調理電路、水位傳感器及調理電路、AD轉換電路、液晶顯示電路(顯示水溫和水位)、FPGA控制模塊、按鍵輸入和繼電器執行部件組成,其中FPGA控制模塊是本系統的核心。
12、系統結構如圖2.2.2所示。(1)液位傳感器采用ATSl73型霍爾元件121,若干霍爾元件固定在一個垂直導槽上,浮子帶動磁鋼沿導槽運動,霍爾元件的輸出經電阻網絡轉換成不同電壓,經ADC送入智能控制模塊中。溫度傳感器采用負溫度(NTC)型通用熱敏電阻,信號經一路ADC送入智能控制部分。(2)FPGA控制部分根據檢測到的水位信號、溫度信號以及用戶的設定或操作,通過必要的邏輯運算,以確定當前應該進行的操作,并通過輸出口送至執行部件,進而控制進水閥、加熱泵的狀態,以實現所要求的控制功能。在頂層設計中加入了定時器模塊和液位、水溫信號共同完成控制功能,實現分時段控制,進而實現在自動補水的同時不影響使用熱水
13、,在自動開啟電加熱器補溫的同時不造成能源浪費,從而解決了定時補水、加熱的問題。2.2.2 系統框圖FPGALCD報警電路儲水箱溫度傳感器及其調理電路液位傳感器及其調理電路A/D繼電器執行部件鍵盤圖3 系統結構示意圖2.3方案選擇 通過比較以上兩個方案可知,都能實現太陽能熱水器所要求的各種功能 :水溫測量電路、水位測量電路、顯示電路、自動加熱上水控制電路等部分,實現對水溫和水位的實時監測和顯示,實現自動加熱和上水的控制,但由于采用單片來實現更加靈活,簡便。應用更加廣泛,從性價比方面來說,方案一更具實用性,故此次設計選擇方案一。3、單元模塊設計3.1 單片機概述 圖4 時鐘電路與復位電路圖3.1中
14、,晶體振蕩器的頻率選6MHZ,復位電路采用上電復位,電路參數如圖中所示,以滿足系統復位時兩個機器周期的高電平的要求。由于CPU的內部已含有程序存儲器,所以EA引腳接高電平。該水位自動顯示控制器采用AT89C51單片機,機內有一高增益反相放大器,構成自激振蕩電路,振蕩頻率取6MHz,外接6MHz晶振,兩個電容C1、C2取20pF,以便于起振蕩的作用。右圖中XTAL1為內部時鐘工作電路的輸入,XTAL2為來自反向振蕩器的輸出。該水位自動顯示控制器采用上電復位電路,由R14、C3構成復位電路,在上電瞬間,產生一個脈沖,AT89C51將復位。為保證可靠復位,脈沖寬度應大于兩個機器周期,這取決于R、C時
15、間長數。取電容C=10uF,電阻R=10K。 3.2水位檢測模塊實驗證明,純凈水幾乎是不導電的,但自然界存在的以及人們日常使用的水都會含有一定的Mg2+、Ca2+等離子,它們的存在使水導電。本控制裝置就是利用水的導電性來完成的。我們把儲水箱大致分為四個等份,水位由潛入太陽能熱水器的儲水箱不同深度的水位電極和潛入儲水箱底部的公共電極(導線)進行檢測;由單片機依次使各水位電極呈現高電平,由公共電極所接的三極管進行電 位轉換,水位到達的電極,轉換電位為低(0);水位沒有到達的電極,轉換電位為高(1);每檢測一位便得到一位數據,5個電極檢測一遍以后便得到了5個串行數據,然后把這5個數據轉化為字節一路送
16、發光二極管;在這里我們可以用發光二極管亮的盞數來顯示水位的高低。(若沒有發光二極管亮則表示箱內沒有水或者只有少量的水,若有一個發光二極管燈亮則表示箱內有四分之一箱的水,以此類推,若有四個發光二極管亮,則表示水箱水是滿的。)圖5 水位檢測電路3.3溫度檢測模塊本設計溫度傳感器選用AD590。AD590屬于半導體集成電路溫度傳感器,測溫范圍-55- +150,在其二端加上一定的工作電壓,其輸出電流與溫度變化成線性關系,1uA/°K,誤差有幾種等級:±1、±0.5、±0.3,本設計中選取±0.5品種。OP07為高精度運算放大器,AD590電流流經R1
17、、RP1轉換為電壓信號,R2、RP2為運算負反饋電阻,成反相比例放大器,將溫度信號轉換成0-5V的電壓信號,ADC0832再將其轉換為數字信號,輸入CPU。圖3.5為溫度檢測和A/D轉換電路圖。圖6 溫度檢測電路 3.4鍵盤模塊P1.0- P1.7口作為按鍵的信號輸入端,鍵按下,就執行該鍵的功能。其電路如圖3.4所示。(為了編程簡單、方便,采用獨立式鍵盤電路)圖7 鍵盤電路3.5顯示模塊本設計采用共陽型數碼管,8個LED燈如圖3.9中接法,燈的負極依次接到數碼管的a-f段,采用動態掃描電路,并把顯示程序作為主程序。數碼管的段用P0口控制,P2.0口、P2.3口作為數碼管的位控制,P2.4作為指
18、示燈的控制。 圖8 顯示電路3.6 器件介紹3.6.1 AT89C51單片機圖9 AT89C51單片機芯片AT89C51是一個低功耗高性能CMOS 8位單片機,4k Bytes Flash只讀程序存儲器(ROM),512 Bytes 內部數據存儲器(RAM),該微處理器采用ATMEL公司的高密度、非易失性存儲技術生產,兼容標準MCS-51指令系統,引腳兼容80C51和80C52芯片,片內的Flash存儲器可以像常規程序存儲器一樣進行燒寫,AT89S51片內總共有256字節的用戶數據區,而128字節的內部擴展數據區需通過清SFR(8EH)的位1并用MOVX指令訪問,片內置通用8位中央處理器和Fl
19、ash存儲單元,另一個256BytesRAM區與ATMEL之AT89系列8052兼容的單片機是一致的,AT89C51結合通用的8位微處理器和Flash存儲技術構成功能強大單片微處理器,可提供許多高性能低價位的系統控制應用場合。AT89C51主要特點:40個引腳,32kBytes的程序存儲器,32個外部雙向輸入/輸出(I/O)端口,同時內含2個外中斷口,3個16位可編程定時計數器,2個全雙工串行通信口,內置時鐘振蕩器,其Flash存儲器,可反復擦寫1000次的Flash存儲器可有效地降低開發成本。軟件設置電 源省電模式,睡眠其間,定時/計數器,串行口和中斷口均停止工作,RAM中的數據被“凍結”,
20、直到下次被中斷激活或硬件復位方可恢復工作。3.6.2數碼管顯示由單片機的定時器To做16位計數器(為便于數據處理,這里只用低8位計數值,即寄存器TL0中的值)。一邊記錄脈沖數量,一邊以厘米為單位由四位數碼管顯示出來。四位數碼管采用動態掃描方式顯示。長度計量儀采用0.5英寸共陽極連接的LED數碼管。LED數碼管由發光二極管作為顯示字段的數碼型顯示器件。下圖為LED圖數碼管外形和引腳圖,其中7只發光二極管分別對應a-g筆段,構成“日”字形,另一只發光二極管DP作為小數點,因此這種LED顯示器稱為八段數碼管。共陽極型LED數碼管,是將各段發光二極管的陽極連在一起,作為公共端com,應接高電平。ag、
21、Dp各筆段中,某筆段接低電平時發光,高電平時不發光。為了節省單片機I/O口的數量,將各位數碼管的ag對應筆畫并聯起來分別與單片機的P2.0P2.7引腳連接。顯示時,由P2口依次輸出各位數字的筆段碼,并依次由P1.0、P1.1、P1.2、P1.3輸出低電平位選信號接通數碼管的公共端,輪流進行,循環不止,由于循環的頻率較高(約50Hz),加上人眼的視覺暫留,既保障了各位數字的對應顯示,又不會出現閃爍現象,實現動態掃描顯示。圖10 LED數碼管4、軟件設計4.1 主程序流程圖開中斷調水位控制子程序開始初始化調溫度控制子程序調鍵盤控制子程序判定水位?顯示溫度溫度<設定啟動輔助加熱延時關閉加熱Y圖
22、11 主程序流程圖4.2溫控進水程序水位控制子程序測量值設置值是否在上水?是否最高?賦目標水位值打開上水閥水位是否為目標值?關閉上水閥返回NNN賦實際水位值圖12 水溫控制圖4.3 溫度顯示子程序水溫顯示取十位值DPTR#TAB查表的字段碼判斷是否閃爍?字段碼P0使十位LED有效延時1ms使十位LED無效取個位值使溫度字母C的LED無效返回DPTR#TAB圖13 溫度顯示流程圖4.4 鍵盤處理程序NYNY有鍵閉合?KEY延時去抖動有鍵閉合?是何鍵?轉相應鍵處理程序返回KEYYY圖14 鍵處理流程圖5、系統調試與原理圖本次設計主要在系統軟件調試方面。困難主要出現在軟件的編寫。雖然沒有錯誤,但是進
23、行仿真時,不能達到預期的效果。經過多次調試,程序也修改過好幾次,仍然走不通。而問題也主要集中在掃描顯示這一模塊。最后通過在網上查找資料及在單片機論壇上與其它高手的交流,結合設計思想,進行了修改、調試,也終于達到了方案的總體要求。對軟件方面逐步進行分析之后,重新進行系統的軟件上的仿真。圖15 控制系統原理圖6、總結與體會本控制裝置充分應用AT89C51單片機的軟硬件資源,該系統具有智能化、結構緊湊、性能穩定等優點,通過對這次基于單片機的太陽能溫控進水及水溫水位顯示控制裝置的設計,我將在大學里所學的專業知識在這次畢業設計中的到了廣泛的運用,加深了理論與實際的聯系。提高了思維與動手能力,增長了才干;
24、培養了自己的創新意識,使自己在單片機應用方面得到了全面提高,為今后的工程實際應用,新產品開發奠定了基礎。通過這次畢業設計,自己進一步熟悉和掌握了PROTEL仿真軟件和Keil編程軟件,體會到PROTEL、Keil等功能強大的設計軟件,在現代電子系統設計中發揮的強大的作用??傊?,此次畢業設計經過自己獨立思考、查找資料,自己受益匪淺。而且,通過這次設計,更深切地感覺到團隊合作的重要性。是和組員的共同努力,才完成了此次智能家用太陽能熱水器控制器畢業設計任務!總之,以往的課程設計都是停留在理論層面上,而這次畢業設計的實際意義非常明顯。經過這次畢業設計,自己從心理上就成長了不少,這將是自己以后人生路上一
25、筆寶貴的財富。參考文獻1 張迎新.單片機原理及應用M/北京:電子工業出版社,2009.2 郝波.電子技術基礎模擬電子技術M/西安:電子科技大學出版社,2008.3 郝波.電子技術基礎數字電子技術M/西安:電子科技大學出版社,2009.4 白乃平.電工基礎M/西安:電子科技大學出版社,2008.5 田華.電子測量技術M/西安:電子科技大學出版社,2009.6 吳小花. 電子技能訓練與EDA技術應用M/廣州:華南理工大學出版社,2009.7 大學生電子實驗室EB/OL 8 PROTEUS仿真論壇EB/OL 附錄:附錄A 電路原理圖附錄B 源程序主程序:ORG 0000H LJMP MAINORG
26、000BHLJMP CT0;轉定時器0中斷服務程序ORG 0030H;主程序MAIN: MOV 30H,#00H;0.1秒單元MOV 20H,#00000100B;置相應標志位MOV P2,#0FFH;P2口不顯示,電磁閥不通電,不加熱MOV SP,#5FH;設置堆棧深度SETB EA;開中斷SETB ET0;允許T0中斷MOV TMOD,#01010001B;T0方式1定時,T1工作于方式1計數MOV TH0,#3CH;定時常數MOV TL0,#0B7HMOV TH1,#00H;清計數單元MOV TL1,#00HSETB TR0;啟動定時定時器0SETB TR1;啟動T1MOV 28H,#6
27、0;設置初始溫度為60度MOV 40H,#0FFH;轉顯示狀態為全滅MOV 36H,#0;清溫度存放單元MOV 37H,#0MOV 2FH,#1;目標水位為1LOOP: LCALL WATER;水位檢測LCALL DISP;顯示程序LCALL KEY;鍵盤處理程序SJMP LOOP中斷子程序:CT0: MOV TH0,#3CH;重置時間初值MOV TL0,#0B0HPUSH ACC;保護現場PUSH PSWSETB RS0;選工作寄存器1組MOV R1,#30H;指向0.1秒單元INC R1CJNE R1,#10,RET_TIMEMOV R1,#00HCPL 00HLCALL TEST_TEM
28、P;調溫度處理程序RET_TIME:POP PSW;恢復現場POP ACCRETI;中斷返回溫度檢測程序:TEST_TEMP:;溫度處理程序,將溫度存放在27H單元,設置的溫度存放于28H單元 JB 01H,RE_AD;若為設置狀態,則不進處理MOV SCON,#00H ;置串口方式0,禁止接收CLR ES ;串口禁中CLR P3.6 ;片選0832MOV A,#06H ;置CH0通道配置ADC0: MOV SBUF,A ;啟動A/DADC1: JNB TI,ADC1 ;串行發送啟動及通道配置信號CLR TI ;清發送中斷標志SETB REN ;允許(啟動)串行接收ADC2: JNB RI,A
29、DC2 ;接收第一字節CLR RI ;清接收中斷標志,同時啟動接收第二字節MOV A,SBUF ;讀第一字節數據MOV B,A ;暫存ADC3: JNB RI,ADC3 ;接收第二字節CLR RI ;清接收中斷標志MOV A,SBUF ;讀第二字節數據ANL A,#0FH ;第二字節屏蔽高4位ANL B,#0F0H ;第一字節屏蔽低4位ORL A,B ;組合SWAP A ;高低4位互換,組成正確的A/D數據MOV 36H,A ;存A/D數據CLR REN ;兩通道A/D完畢,禁止接收SETB P3.6 ;清0832片選RET水溫控制上水程序:MOV 27H,36H MOV 42H,#00H J
30、NC N05 MOV 42H,#05H;顯示小數0.5N05: JNB ACC.7,OK MOV A,#0OK: CJNE A,#64H,EADEAD: JNC ERRAD;溫度超過100則顯示99EAD1: MOV B,#10;轉換成十進制數,送顯示單元 DIV AB MOV 44H,A MOV 43H,B MOV 41H,#0CH;最后一位顯示C CLR 05H JNB 02H,RE_AD MOV A,27H CJNE A,28H,EADDEADD: JC BSH;未到設定溫度,不上水 MOV A,2EH CJNE A,#04H,SWSW: JNC RE_AD JB 03H,RE_AD MOV 2FH,2EH;未到設定溫度,上至高一檔水位 INC 2FH;目標水位 CLR P2.6 CLR P2.7 SETB 03HRE_AD: RETERRAD: MOV A,#63H;溫度超過100則顯示99 SJMP EAD1BSH: SETB P2.6; SETB P2.7 CLR 03 SJMP RE_AD溫度顯示子程序:DISP:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論