版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 摘要</b></p><p> 洗衣機是現(xiàn)代家庭必備電器之一。隨著科學技術的發(fā)展,人工智能技術逐漸應用于家用電器中。人們對洗衣機的要求在不斷地提高,傳統(tǒng)的全自動洗衣機已經(jīng)不能完全滿足人們的需求。智能洗衣機應運而生。 本設計為基于模糊控制理論的微電腦程控式的智能洗衣機設計。應用模糊控制可以實現(xiàn)對洗滌過程中的水位和洗滌時間的合理控制。洗滌過程中,洗衣機能自
2、動檢測出布量和布質,自動地確定水位和洗滌時間,使衣物能夠達到最佳的洗滌效果。 系統(tǒng)的硬件主要包括主控芯片,電源電路,驅動電路,傳感器電路,顯示電路,鍵盤輸入電路等。由于本次設計采用了功能強大的AT89C52單片機為主控制芯片,因此系統(tǒng)具有控制能力強,硬件簡單,工作可靠等優(yōu)點。</p><p> 關鍵詞:AT89C52單片機;智能洗衣機;模糊控制</p><p><b>
3、 Abstract</b></p><p> The washing machine is one of the essential electrical appliances of the modern family. With the development of science and technology, artificial intelligence technology is gra
4、dually applied in household appliances.As the requirements for washing machine is constantly improving, the traditional automatic washing machine can not meet the needs of people. Intelligent washing machines came to be
5、ing. This paper describes the system design of microcomputer programmed intelligent washing machine</p><p> Key words : AT89C52 single chip; Intelligent washing machine;fuzzy control</p><p>
6、;<b> 目錄</b></p><p><b> 摘要I</b></p><p> AbstractII</p><p><b> 1 緒論1</b></p><p> 1.1 洗衣機的發(fā)展狀況概述1</p><p> 1.2
7、 模糊控制理論簡述2</p><p> 1.3 智能洗衣機的設計方案3</p><p><b> 2 系統(tǒng)概述5</b></p><p> 2.1 系統(tǒng)結構介紹5</p><p> 2.2 主要芯片及元器件介紹6</p><p> 3 系統(tǒng)硬件電路設計15</
8、p><p> 3.1 系統(tǒng)電源電路15</p><p> 3.2 溫度檢測電路15</p><p> 3.3 水位檢測電路15</p><p> 3.4 濁度檢測電路16</p><p> 3.5 液晶顯示電路16</p><p> 3.6 迅響電路17</
9、p><p> 3.7 鍵盤輸入電路17</p><p> 3.8 驅動電路18</p><p> 3.9 負載檢測電路18</p><p> 4 系統(tǒng)軟件設計20</p><p> 4.1 智能洗衣機實現(xiàn)的關鍵技術20</p><p> 4.2 系統(tǒng)主要流程圖24
10、</p><p> 4.3 系統(tǒng)程序代碼29</p><p><b> 5 結 論36</b></p><p><b> 參考文獻37</b></p><p><b> 附錄:38</b></p><p><b> 致 謝
11、39</b></p><p><b> 1 緒論</b></p><p> 1.1 洗衣機的發(fā)展狀況概述</p><p><b> 1.洗衣機的發(fā)展史</b></p><p> 洗衣服是每個家庭都無法逃避的家庭勞動。洗衣機的出現(xiàn)給人們的生活帶來了相當大的方便,它的普及大大降
12、低了大多數(shù)家庭的體力勞作。</p><p> 1858年,美國人漢密爾頓·史密斯制成了第一臺洗衣機。1874年, 美國人比爾·布萊克斯發(fā)明了第一臺人工攪動式洗衣機,使得“手洗時代”受到了挑戰(zhàn)。1910年美國人研制出了第一臺電動式洗衣機。1922年美國瑪塔依格公司生產(chǎn)出了第一臺攪拌式洗衣機。1932年美德克斯航空公司研制成功了第一臺前裝式滾筒式洗衣機,這臺機衣機能夠使洗滌、漂洗、脫水三個步驟在
13、同一個滾中操作。與此同時,世界各地也相繼出現(xiàn)了洗衣機。洗衣機工業(yè)快速迅猛地發(fā)展起來。 </p><p> 1937年第一臺自動洗衣機問世。1955年日本研制出波輪式洗衣機。60年代日本出現(xiàn)了半自動洗衣機。70年代生產(chǎn)出了波輪式套桶全自動洗衣機。70年代后期以電腦控制的全自動洗衣機在日本問世。80年代“模糊控制”開始應用于洗衣機中,使得洗衣機能夠通過模糊控制使洗衣機操作更加簡單,實現(xiàn)智能化。近半個多世紀里,
14、在工業(yè)發(fā)達國家,全自動洗衣機技術得到廣范的應用,其年總產(chǎn)量及社會普及率均以達到相當高的水平。</p><p> 2.我國洗衣機的發(fā)展現(xiàn)狀</p><p> 洗衣機在中國起步較晚,1978年才開始正式生產(chǎn)家用洗衣機。 隨著改革開放的不斷深入,經(jīng)濟的持續(xù)增長,人民生活水平的普遍提高,人們對于洗衣機的認識也在不斷發(fā)展,進入80年代后,中國洗衣機行業(yè)一直保持著旺盛的發(fā)展形勢。目前,洗衣機在我國
15、城市甚至廣大農(nóng)村已得到大范圍的普及。中國洗衣機市場正處于快速更新?lián)Q代階段,市場潛力巨大,隨著家用電器的自動化、智能化發(fā)展,人們對于洗衣機的期望也越來越高。1983年,中國洗衣機產(chǎn)量由1978年的400臺增至365萬臺。此后全國各處都大規(guī)模的引進國外先進洗衣機技術。中國的洗衣機發(fā)展突飛猛進,先進技術的引進、吸收和創(chuàng)新,極大地促進了中國洗衣機的生產(chǎn)能力和產(chǎn)業(yè)質量。經(jīng)過三十年的發(fā)展,我國的洗衣機年產(chǎn)量已位于世界第一,將近為世界總年產(chǎn)量的四分之
16、一。</p><p> 3.智能洗衣機的發(fā)展前景</p><p> 洗衣機是一個家庭中不可或缺的家用電器,其發(fā)展速度十分迅速,傳統(tǒng)洗衣機由于功能的需要和技術的局限,手動控制按紐越來越多。而洗衣機的使用操作者一般是家庭婦女、老人、保姆等,相對而言這些人的文化程度較低,很難掌握正確用法,造成多功能洗衣機功能上的浪費,不能做到盡可能的節(jié)水、節(jié)電、省時。不但中國如此,據(jù)美國消費者協(xié)會亦調查到:
17、“在家用電器中,一般的美國人常用的功能鍵只有20%~ 30%,有80% 的家庭婦女不能掌握其全部用法。”所以控制簡單而且功能完善的家用電器就越來越受歡迎。因此傳統(tǒng)的洗衣機已經(jīng)遠不能滿足人們追求現(xiàn)代化的要求。新型的智能洗衣機應運而生。所謂智能洗衣機是微處理器和模糊控制技術引入到傳統(tǒng)自動洗衣機中的產(chǎn)物。它擁有高度自動化、智能化、人性化的特點,不僅能夠實現(xiàn)進水、洗滌、漂洗、脫水等一系列過程的自動完成,還能夠模擬傳統(tǒng)人工手洗的操作方式,總結人工
18、手洗的操作經(jīng)驗,通過模糊推理和模糊控制來實現(xiàn)洗衣機的全自動化和智能化。由于智能洗衣機采用了微電腦控制,擁有較大的程序存儲能力,在洗衣機內(nèi)部存儲了很多種洗滌模式,可由用戶任意選擇,能夠最大限度的節(jié)約水、電、洗滌劑,使衣物能夠在盡可能短的時間內(nèi)</p><p> 1.2 模糊控制理論簡述</p><p> “模糊”是人類感知萬物、獲取知識、思維推理、決策實施的重要特征。1965年,“模糊
19、控制理論”由美國學者加利福尼亞大學著名教授L.A.Zadeh首度提出。模糊控制是一種以數(shù)學為基礎,運用語言規(guī)則表示方法和先進的計算機技術,由模糊推理進行判決的高級控制策略。模糊控制屬于智能控制范疇,現(xiàn)已發(fā)展成人工智能領域中的一個重要分支,其理論發(fā)展迅速,應用領域廣范,控制效果顯著。與傳統(tǒng)控制理論相比,模糊控制有兩大不可比擬的優(yōu)點:第一,模糊控制在許多應用中可以有效且便捷的實現(xiàn)人的控制策略和經(jīng)驗,這一優(yōu)點自從模糊控制誕生以來就一直受到人們
20、密切的關注;第二,模糊控制不需要被控對象的數(shù)學模型即可實現(xiàn)較好的控制,這是因為被控對象的動態(tài)特性已隱含在模糊控制器輸入、輸出模糊集及模糊規(guī)則中。</p><p> 如今模糊控制被越來越多的應用于各個領域,尤其是被廣泛應用于家電系列中,基于模糊控制的洗衣機就是其中的一個典型實例。智能洗衣機整個工作過程的控制是由單片機控制系統(tǒng)實現(xiàn)的,由單片機、穩(wěn)壓電源、信號檢測模塊、振蕩器、蜂鳴器、功能鍵、顯示電路、驅動電路等組成
21、。智能洗衣機利用數(shù)字單片機組成硬件結構,由軟件進行模糊化,模糊推理和反模糊化作業(yè)。 </p><p> 1.3 智能洗衣機的設計方案</p><p><b> 1.洗衣機控制面板</b></p><p> 本次設計的智能洗衣機定義為基于模糊控制的微電腦程控式套桶波輪型洗衣機。其控制面板分為兩個部分:按鍵部分和顯示部分。</p>
22、;<p> 按鍵部分包括了三個按鍵:電源鍵、程序鍵、啟動/暫停鍵。</p><p> ?。?)電源鍵:手動按下電源鍵,即將電源接入至洗衣機系統(tǒng)。</p><p> ?。?)程序健:選擇工作模式。</p><p> ?。?)啟動暫停鍵:用于選擇啟動或暫時停止兩種工作狀態(tài)。</p><p> 顯示部分由一個發(fā)光二極管和一個LCD
23、12864液晶顯示器組成,其中發(fā)光二極管指示電源是否接通,液晶顯示器顯示洗滌模式、洗滌狀態(tài)及剩余時間。</p><p><b> 2.智能檢測</b></p><p> 待洗衣物的智能檢測是智能洗衣機能夠實現(xiàn)智能的關鍵技術之一。智能檢測利用了模糊控制原理,根據(jù)各類傳感器提供的洗滌物狀態(tài)和洗衣機運行參數(shù)進行模糊推理。通過對布量、布質、溫度、濁度的檢測來確定洗滌過程中
24、的洗滌水位,洗滌時間,漂洗次數(shù),排水時間,脫水時間等等。</p><p> 3.智能洗衣機工作流程</p><p> 人工放入待洗衣物和洗滌劑后,接通電源,選擇好洗滌模式,按下“啟動/暫?!辨I。此時洗衣機進入智檢過程。首先波輪正轉3s,斷電,初步確定水位。然后開進水閥,進水至檢測水位,波輪正轉30s,斷電,進行布量分析判斷,確定洗滌水位。繼續(xù)進水至已確定的水位,波輪轉動15s,斷電,進
25、行布質分析判斷,溫度檢測。通過測得的數(shù)據(jù)初步得出洗滌時間,進入“洗滌”過程。</p><p> 洗滌有三種模式:標準洗滌模式、快速洗滌模式、脫水模式。</p><p> ?。?)標準洗滌模式:首先將衣物浸泡至規(guī)定的時間,然后通過電機的正反轉對衣物進行洗滌,并通過對洗滌劑濁度的分析來修正洗滌時間。洗滌完畢,電機停止轉動,接通排水閥電機,打開排水閥,開始排水。當水位到達0水位時,進行漂洗前的
26、脫水過程。電機通電,進行脫水。到達預約時間后,電機斷電,稍后關閉排水閥。打開進水閥,進水至規(guī)定水位,起動電機,進行衣物的漂洗。漂洗時間到,電機停止轉動,打開排水閥進行排水,檢測水的濁度,若濁度不達標需重復漂洗程序(重復漂洗程序時要先進行脫水),漂洗程序最多重復兩次。漂洗結束之后,進行最后的脫水程序。開啟排水閥,排水至0水位,電機間斷和連續(xù)順時針轉動,到達規(guī)定時間后,電機停止轉動,關閉排水閥,蜂鳴器提示洗滌結束,軟件切斷電源。</p
27、><p> ?。?)快速洗滌模式:電機正反轉對衣物進行洗滌,至預約時間,進入漂洗程序。第一次漂洗完后,排水時檢測水的濁度,待脫水完畢,若測得的濁度不達標則進行二次漂洗,二次漂洗之后進行最后脫水。脫水完畢,蜂鳴器提示洗滌結束,軟件切斷電源。</p><p> ?。?)脫水模式:打開排水閥進行排水,待水位為0水位,啟動電機,進行脫水,至預約脫水時間,蜂鳴器提示脫水結束,軟件切斷電源。</p&
28、gt;<p><b> 2 系統(tǒng)概述</b></p><p> 2.1 系統(tǒng)結構介紹</p><p> 如圖1所示為智能洗衣機控制系統(tǒng)的結構框圖。智能洗衣機控制系統(tǒng)采用AT89C52單片機為主控制芯片。外圍電路包括電源電路,振蕩電路,復位電路,驅動電路,蜂鳴器電路,負載傳感器模塊,水位傳感器模塊,溫度傳感器模塊,濁度傳感器模塊,LCD顯示模塊,
29、鍵盤輸入模塊等。</p><p> 圖1智能洗衣機結構框圖</p><p><b> ?。?)電源電路 </b></p><p> 本次設計中電源電路用于將220V的市交流電轉為所需要的直流電壓。220V市電先經(jīng)變壓器降壓,然后經(jīng)過二極管橋式整流,電容濾波后送入集成穩(wěn)壓器進行穩(wěn)壓,然后將穩(wěn)定的直流電壓輸送給智能洗衣機控制系統(tǒng)電路的其他用
30、電模塊。</p><p><b> (2)驅動電路 </b></p><p> 洗衣機所用的電動機,電源開關線圈,進水電磁閥,排水電磁閥均為需要220V市電來帶動的負載,而單片機不能直接控制市電,因此驅動電動在本次設計中相當重要。本設計中采用的驅動電路由光電耦合器MOC3041和大功率晶閘管構成。MOC3041是常用的雙向晶閘管輸出的光電耦合器,帶過零觸發(fā)電路,輸
31、入端的控制電流為15mA,輸出端額定電壓為400V,最大重復浪電流為1A,輸入輸出端隔離電壓為7500V,有很好的隔離性。單片機將控制信號傳遞給MOC3041的輸入端,經(jīng)MOC3041的輸出端來控制大功率晶閘管的控制端,從而由大功率晶閘管來控制相應的負載。這種設計方式可以使系統(tǒng)強弱電之間具有很好的隔離效果,控制方便,性能穩(wěn)定。</p><p><b> ?。?)傳感器模塊</b></p
32、><p> 傳感器模塊包括溫度傳感器模塊,水位傳感器模塊,負載傳感器模塊和濁度傳感器模塊。傳感器模塊主要是用來將相應傳感器檢測的信號送入AT89C52單片機中。實現(xiàn)系統(tǒng)對特定信號的檢測,使洗衣機得以實現(xiàn)智能控制。</p><p><b> ?。?)鍵盤輸入模塊</b></p><p> 本次設計中鍵盤輸入電路的設計是方便用戶來自行選擇洗滌模式和
33、控制洗滌程序的啟動/暫停的。由于本次設計力求使洗衣機使用更為簡單,高度實現(xiàn)智能化,鍵盤按鍵僅有兩個,設計簡單,采用獨立鍵盤形式。</p><p><b> ?。?)蜂鳴器電路</b></p><p> 用蜂鳴器作為發(fā)聲元件,可以在需要的時候發(fā)出聲響,在洗衣機系統(tǒng)中可用于提示洗衣過程結束及對洗滌過程中出現(xiàn)的故障進行報警。</p><p>
34、 2.2 主要芯片及元器件介紹</p><p> 1.AT89C52單片機</p><p> 本設計采用的主控芯片為AT89C52單片機。AT89C52單片機由ATMEL公司生產(chǎn),屬于51系列單片機的一種,是一種低電壓、高性能的8位CMOS單片機,片內(nèi)置有通用8位中央處理器和FLASH單元,兼容MCS-51指令系統(tǒng)。AT89C52單片機存儲器采用哈佛結構,程序存儲器和數(shù)據(jù)存儲器空間
35、是相互獨立,分別是含有8K可反復擦寫的Flash只讀程序存儲器和256B的隨機存取數(shù)據(jù)存儲器,兩種存儲器都有各自獨立的尋址方式和尋址空間。</p><p> 如圖2所示為AT89C52單片機的引腳示意圖。AT89C52單片機共40個引腳,有32個雙向輸入/輸出(I/O)端口,內(nèi)含2個外部中斷口,3個16位可編程定時/計數(shù)器,2個全雙工串行通信口,2個讀寫口線。</p><p> 圖2
36、AT89C52單片機引腳示意圖</p><p><b> 其引腳功能如下:</b></p><p> ?。?)主電源引腳(2根)</p><p> VCC(Pin40):電源輸入,接+5V電源</p><p> GND(Pin20):接地線</p><p> ?。?)外接晶振引腳(2根)&
37、lt;/p><p> XTAL1(Pin19):片內(nèi)振蕩電路的輸入端。當使用片內(nèi)振蕩器時,此引腳接微調電容和石英晶體;當采用外接時鐘源時,引腳接振蕩器信號。</p><p> XTAL2(Pin20):片內(nèi)振蕩電路的輸出端。當使用片內(nèi)振蕩器時,和Pin 19的接法一樣;當采用外部時鐘源時,此引腳懸空。</p><p> ?。?)控制引腳(4根)</p>
38、<p> RST/VPP(Pin9):復位引腳,引腳上出現(xiàn)2個機器周期的高電平將使單片機復位。Vpp為第二引腳功能,當對片內(nèi)Flash進行編程時,此引腳接入編程電壓。 </p><p> ALE/PROG(Pin30):地址鎖存允許信號。若訪問外部程序存儲器(ROM)和數(shù)據(jù)存儲器(RAM),ALE將用于鎖存低8位的地址。此時,ALE仍會以時鐘振蕩頻率的1/6輸出一個固定的脈沖信號,可用于對外輸出時
39、鐘或定時。此外,可通過對特殊功能寄存器(SFR)中的8EH單元的D0位置位,可以禁止ALE操作。該位置位后,只有MOVX和MOVC指令才能把ALE激活。</p><p> PSEN(Pin29):外部存儲器讀選通信號,當為低電平時外部存儲器讀選通。</p><p> EA/VPP(Pin31):程序存儲器的內(nèi)外部選通信號,接低電平時從外部程序存儲器讀指令,接高電平則從內(nèi)部程序存儲器讀指
40、令。</p><p> ?。?)可編程輸入/輸出引腳(32根)</p><p> AT89C52單片機有4組8位的可編程I/O口,分別位P0、P1、P2、P3口,每個口有8位(8根引腳),共32根。</p><p> P0口(P0.0~P0.7):8位雙向I/O口線。P0口是一個漏極開路的I/O口。作為輸出口,每一位均可以驅動8個TTL負載。當對某個P0端口寫入
41、“1”時,該引腳可以用作高阻抗輸入。當訪問外部程序存儲器或者數(shù)據(jù)存儲器時,P0口也被作為地址總線(低8位)和數(shù)據(jù)分時復用。在這種模式下,P0不需要外加上拉電阻。P0口也可以作為I/O口使用,也可以用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié),此時需要加10K-4.7K的外部上拉電阻。</p><p> P1口(P1.0~P1.7):8位準雙向I/O口線。P1口內(nèi)部具有上拉電阻,P1口輸出緩沖器能夠驅動4個TTL
42、負載。若對P1 口寫入“1”的時候,內(nèi)部上拉電阻就會把端口拉高,此時可以用作輸入口。當作為輸入口使用時,被外部拉低的引腳因為其內(nèi)部電阻,將輸出電流。此外,P1.0和P1.2分別可以作定時器/計數(shù)器2的外部計數(shù)輸入和定時器/計數(shù)器2 的觸發(fā)輸入。</p><p> P2口(P2.0~P2.7):8位準雙向I/O口線。P2 輸出緩沖器能夠驅動4個TTL負載。當對P2 端口寫入“1”的時候,內(nèi)部上拉電阻就會把端口拉高
43、,此時就可以作為輸入口使用。當作為輸入使用時,被外部拉低的引腳因為其內(nèi)部電阻,將會輸出電流。在訪問其外部ROM或用16位地址讀取外部RAM時,P2 口就會送出高八位地址。此時,P2 口利用內(nèi)部上拉發(fā)送“1”。當使用 8位地址,訪問其外部數(shù)據(jù)存儲器(RAM)時,P2口將會輸出P2鎖存器的內(nèi)容。在Flash編程或者校驗時,P2口也用于接收高8位地址和某些控制信號。</p><p> P3口(P3.0~P3.7):8
44、位準雙向I/O口線。P3口其內(nèi)部具有上拉電阻,P2口輸出緩沖器能夠驅動4 個 TTL 負載。當對P3 口寫入“1”的時候,內(nèi)部上拉電阻就會把端口拉高,此時就可以作為輸入口使用。當作為輸入使用時,被外部拉低的引腳因為其內(nèi)部電阻,將會輸出電流。P3口也作為STC8C52具有第二功能的引腳使用,如表1所示。</p><p> 表1 P3口第二功能引腳圖</p><p> 2.點陣型LCD2
45、864簡介</p><p> 12864是一種圖形點陣液晶顯示器,它主要由行驅動器/列驅動器及128×64全點陣液晶顯示器組成。可完成圖形顯示,也可以顯示8×4個(16×16點陣)漢字。</p><p> 表2為12864的引腳功能表。</p><p> 表2 12864引腳功能表</p><p>
46、12864LCD的指令系統(tǒng)及時序。12864液晶顯示模塊(即KS0108B及其兼容控制驅動器)的指令系統(tǒng)比較簡單,總共只有七種。其指令表如表3所示:</p><p> 表3 12864指令表</p><p><b> 3.負載傳感器</b></p><p> 負載傳感器由電動機的反電動勢檢測電路,光耦合器和濾波電路組成??梢詼y得電動機在
47、不同階段的反電動勢.應用于洗衣機中可以通過模糊推論得出布量和布質的信息.其電路示意圖如圖3所示:</p><p> 圖3負載傳感器電路示意圖</p><p> 起動主電機旋轉,等電機轉速穩(wěn)定后切斷電源,主電機由于慣性繼續(xù)轉動直到停止.在主電機斷電慣性旋轉時, 主電機處于發(fā)電狀態(tài), 會產(chǎn)生感應電動勢輸出.如果負載較大主電機處于發(fā)電狀態(tài)的時間就長,如果負載較小則主電機處于發(fā)電狀態(tài)的時間就
48、相對較短。如圖4所示:</p><p><b> 圖4(a)負載小</b></p><p><b> 圖4(b)負載大</b></p><p> 圖4 電機斷電后負載與整形脈沖的關系圖</p><p> 將負載傳感器應用于洗衣機中就可以以通過多次測量負載的方式來判斷衣物的布質和布量。&
49、lt;/p><p><b> 4.溫度傳感器</b></p><p> DS18B20溫度傳感器是美國DALLAS公司生產(chǎn)的一款超小體積,超低硬件開銷的溫度傳感器。DS18B20采用先進的單總路線數(shù)據(jù)通信,能夠進行全數(shù)字的溫度轉換及輸出,其分辨率最小的公作周期為750毫秒,可檢測溫度范圍為-55 ℃~+125 ℃。它可以提供9位(二進制)溫度讀數(shù),指示器件的溫度信息經(jīng)
50、過單線接口送入DSl8B20或從DSl8B20送出,因此從主機CPU到DSl8B20僅需一條線(和地線),不需要用戶自行去進行模數(shù)轉換。圖5為溫度傳感器DS18B20。 </p><p> 圖5DS18B20</p><p> DS18B20共三個引腳,引腳1接電壓地,引腳2接單數(shù)據(jù)總線,引腳3接高電平電源。</p><p>
51、5.諧振式水位傳感器</p><p> 諧振式水位傳感器,采用了新型的傳感原理,把水位的高低轉化成水位與頻率的對應關系,主要用于在洗衣機中作為洗衣機特定的水位傳感器使用。如圖6所示是諧振式水位傳感器的結構圖。</p><p> 洗衣機的水位H轉換成導管口中的氣壓,導管中的水通過通過入嘴進入氣室。由于氣室上面是封閉的,與水位H成正比的氣壓被傳到隔膜上。隔膜上嵌裝有導板,當水位H上升時,氣
52、壓增大,導板向上移動,當水位下降時,氣壓降低,在彈簧的作用下,導板向下移動。導板中心有導向軸,受外殼的支撐點限位,使導板上下平行移動,不致偏移。導板上有固定支架,裝有磁性元件,在導管內(nèi)氣壓作用下導板上下平行移動時,帶動磁性元件使其與線圈之間的相對位置發(fā)生變化,因此線圈的電感量發(fā)生變化。該電感與電容組成三點式振蕩電路,振蕩的固有頻率隨水位的變化而變化,因此我們只要測得振蕩頻率就可以測知水位。</p><p> 圖
53、6諧振式水位傳感器的結構圖</p><p> 圖7為水位與振蕩頻率的對應關系圖。由圖可以看出諧振式水們傳感器的輸出特性曲線基本上呈線性變化。在洗衣機進水和排水過程中,水位從50~450mm任意一頻率的誤差可忽略不計。調試后的水位傳感器的測量氣壓的范圍為0~5.5kPa,電感的變化范圍為3.3~5.40mH。當水位(0~450mm)高度一定時,與其對應的傳感器輸出頻率在(26.8~23.04 kHz)范圍內(nèi)可以
54、任意設定。</p><p> 圖7 水位與振蕩頻率的對應關系圖</p><p><b> 6.濁度傳感器</b></p><p> TS濁度傳感器是GE公司專門為了用于家電產(chǎn)品中的檢測水濁度的低成本傳感器,主要用于洗衣機、洗碗機等產(chǎn)品的水污濁程度的測量。通過測量水的污濁程度來判斷所洗物品潔凈程度, 從而確定最佳的洗滌時間。</p&
55、gt;<p> TS濁度傳感器采用一定的紅外發(fā)光二極管作為檢測光源,穿透洗滌劑,檢測其透光強度。當光線穿過一定量的水時, 光線的透過量取決于該水的污濁程度, 水越污濁, 透過的光就越少。光接收端把透過的光強度轉換為對應的電流大小, 透過的光多, 電流大, 反之透過的光少, 電流小。通過測量接收端電流的大小,就可以計算出水的污濁程度。其原理圖如圖8所示:</p><p> 濁度電流信號經(jīng)過電阻R1
56、 轉換為0 V~5 V 電壓信號, 利用A/D 轉換器進行采樣處理, 單片機就可以獲知當前水的污濁度。</p><p> 圖8濁度傳感器電路圖 </p><p> 3 系統(tǒng)硬件電路設計</p><p> 3.1 系統(tǒng)電源電路</p><p> 如圖9所示,電源電路由變壓器,橋式整流電路,電容,集成穩(wěn)壓器7815和集成穩(wěn)壓器
57、7805組成。從集成穩(wěn)壓器7815輸出端輸出的15V電壓直接用于給V/F轉換器供電,從集成穩(wěn)壓器7805輸出端輸出的5V電壓用于給其他直流低壓部分提供電源。</p><p><b> 圖9 電源電路</b></p><p> 3.2 溫度檢測電路</p><p> 如圖10所示,溫度檢測電路主要由溫度傳感器DS18B20來實現(xiàn),輸出端
58、DQ與單片機P2.1口相連,將由DS18B20檢測到的溫度信號由P2.1口送到單片機中。</p><p> 圖10溫度檢測電路</p><p> 3.3 水位檢測電路</p><p> 如圖11所示為水位檢測電路。為了使計算機直接讀數(shù),傳感器采用敏感元件,L為傳感器內(nèi)部線圈,匝數(shù)為480匝,電感量在(3.30~5.40mH),初始電感量為3.30mH。電容
59、C1、C3選用0.22uF/63V。R5為1k,R8為4.7k。L、C1、C3組成的諧振電路與數(shù)字反向器7404連接輸出標準方波,隨著水位的變化,諧振頻率作相應的改變。</p><p> 圖11水位檢測電路</p><p> 3.4 濁度檢測電路</p><p> 如圖12所示,濁度檢測電路由濁度傳感器和壓頻轉換電路組成。濁度傳感器輸出端Q的電壓信號送到壓
60、頻轉換LMX31的7號引腳,LMX31將電壓信號轉換成頻率信號經(jīng)3號引腳送入到單片機中進行運算,從而判斷出洗滌劑的濁度及其變化率。</p><p> 圖12濁度檢測電路</p><p> 3.5 液晶顯示電路</p><p> LCD12864是一種常用的液晶顯示器,內(nèi)含有國標一級、二級簡體中文字庫。通過使用LCD12864可以實現(xiàn)本設計所需要的顯示效果。
61、如圖13所示,12864的數(shù)據(jù)口與單片機的P0口相連,通過控制P0口的輸出即可調整液晶顯示的字符。RS、RW、EN為LCD與單片機之間的讀寫控制信號,通過對其控制可以實現(xiàn)對LCD的讀寫控制。</p><p> 圖13液晶顯示電路</p><p> 3.6 迅響電路 </p><p> 如圖14所示,AT89C52的P1.3與9012的基極相連。當
62、P1.3輸出高電平時,9012截止,蜂鳴器不發(fā)生;當P1.3輸出低電平時,9012導通,蜂鳴器發(fā)出蜂鳴聲。</p><p><b> 圖14訊響電路</b></p><p> 3.7 鍵盤輸入電路</p><p> 本設計采用獨立鍵盤進行手動控制。如圖15所示,獨立鍵盤共有兩個按鍵,其中一個按鍵用于選擇洗滌模式,另一個用于控制洗衣機的
63、啟動和暫停。</p><p> 圖15鍵盤輸入電路</p><p><b> 3.8 驅動電路</b></p><p> 本設計中驅動電路由光電耦合器MOC3041和大功率晶閘管構成。</p><p> 如圖16所示,當MOC3041的2號引腳為高電平時,5號和6號引腳之間不導通,大功率晶閘管不導通,相應負載
64、斷電;當MOC3041的2號引腳為低電平時,其5號和6號引腳之間導通,大功率晶閘管導通,相應的負載處于啟動狀態(tài),驅動負載工作。</p><p><b> 圖16驅動電路</b></p><p> 3.9 負載檢測電路</p><p> 負載檢測電路是本次設計中洗衣機能實現(xiàn)智能檢測的關鍵電路。其電路圖如圖17所示。經(jīng)電動機兩端輸出的感應
65、電動勢先后經(jīng)過半波整流,光耦,濾波送入到單片機的P2.7口進行分析檢測出負載信息。</p><p> 圖17 負載檢測電路圖</p><p><b> 4 系統(tǒng)軟件設計</b></p><p> 4.1 智能洗衣機實現(xiàn)的關鍵技術</p><p> 1.布質布量及濁度的檢測</p><p&
66、gt;<b> ?。?)布量檢測</b></p><p> 洗衣機的額定洗凈率是按額定容量設計的。當衣物量減少時,由于衣物間的摩擦和翻滾都發(fā)生了變化,其洗凈率也會發(fā)生變化,特別是衣物量與額定洗滌容量相差較大時,這個變化尤為明顯。根據(jù)模糊控制的要求,我們專門研究了衣物量變化時,洗凈率與水位、洗滌時間的關系。</p><p> 洗滌電機帶動負載運轉時,突然切斷電源,由
67、于慣性作用,會維持短時間旋轉,這時轉子剩磁切割定子繞組而產(chǎn)生感應電勢,該電勢可以從定子繞組兩端檢出。由于衣物的阻尼作用,電機轉速迅速下降,感應電勢相應衰減, 其衰減時間與衣物量成一定比例。由于測反電勢的方法不需增加專用傳感器,只需從電機起動電容兩端取出信號,經(jīng)過隔離、放大、整形后,由計算機檢測出反電勢的脈沖個數(shù),即可得到衣物量的信息。布量與整形脈沖數(shù)的關系如圖18所示。</p><p> 圖18 布量與整形脈
68、沖數(shù)的關系圖</p><p><b> ?。?)布質檢測</b></p><p> 衣物纖維基本上可以分為棉質和化纖兩大類。對棉質衣物,由于污質易于滲入纖維里,因此洗滌較為困難,同時,棉質衣物易于吸水變沉,使衣物在洗滌過程中翻滾困難。對于化纖衣物,污質一般只會粘附于衣物表面,而不會滲于纖維內(nèi)部,因而較易洗滌。因此,對于不同衣質類型其洗滌方式有所不同。</p&g
69、t;<p> 棉質衣物和化纖衣物在不同水位有不同的阻尼,反應在電機停轉時感應電勢的脈沖個數(shù)的特性如圖19。</p><p> 圖19 棉質衣物和化纖衣物的阻尼特性</p><p> 從圖中可以看出,當衣物是化纖時,兩種測定過程中得到的脈沖數(shù)差值較小,而衣物是棉質時,兩種測定過程中得到的脈沖數(shù)差值較大。</p><p><b> (3
70、)濁度的檢測</b></p><p> 衣物的臟污( 包括臟污程度和臟污性質) 檢測是由紅外光電傳感器, 通過分析透光率的變化關系,從而檢測臟污程度和臟污性質。圖20為洗滌過程中, 紅外光電傳感器透光率的變化曲線。從圖20(a)可以看出, 臟污程度較重的, 在洗滌一段時間后, 透光率變化較大; 臟污程度較輕的, 在洗滌一段時間后, 透光率變化較小。圖20( b) 中的兩條曲線在洗滌一段時間后比較接近
71、, 但其變化速率不一樣。對于油污性質的臟污, 由于其溶解速度慢, 因而透光率的變化率較小; 反之, 對于泥性臟污, 由于易于脫落, 因而透光率的變化較大。因此, 可通過檢測紅外光電傳感透光率變化的絕對量和相對量, 檢測衣物的臟污程度和臟污性質。</p><p> 為了檢測衣物的污濁程度,采用如下特殊處理過程:</p><p> 在洗滌的過程中檢測濁度,濁度的檢測點在電機停止的時隙中完成
72、。此時洗滌劑較為平靜,水中氣泡揮發(fā)氣泡的影響較小,污濁度檢測的誤差較小。</p><p> 在排水過程中檢測濁度,要等排水管中排水狀態(tài)穩(wěn)定后方可檢測濁度。</p><p> 圖20臟污洗滌時間與透光率的關系</p><p> 對濁度傳感器輸出信號的采樣和處理,就是連續(xù)采樣10個數(shù)據(jù),累加取平均值,將得到數(shù)據(jù)作為結果。數(shù)據(jù)采樣處理過程可以在中斷中進行。洗滌過程
73、中濁度的變化率檢測為兩次濁度測量結果的差值來判斷,當差值在一定的范圍內(nèi)表示衣物洗凈,否則洗滌加時;排水過程中對濁度的檢測要求判斷濁度的值,當濁度值在一定范圍內(nèi)則表示漂洗干凈,否則要進行再次漂洗。</p><p><b> 2.模糊控制規(guī)則</b></p><p> 在本次設計中,模糊控制即是利用檢測到的衣質、衣量、水溫、濁度等信息進行分段就評估計算使其模糊化,再根
74、據(jù)模糊規(guī)則進行推理,然后根據(jù)推理的結果來進行模糊判決確定最合適的水位、浸泡時間、洗滌時間、漂洗時間、脫水時間及進/排水時間。</p><p> 智能洗衣機的模糊控制結構如圖21所示。</p><p><b> ?。?)水量的確定</b></p><p> 如果檢測到的衣量較多,則水位為高;</p><p> 如果檢
75、測到的衣量為中,則水位為中;</p><p> 如果檢測到的衣量較少,則水位為低。</p><p> 圖21模糊控制結構圖</p><p> ?。?)浸泡時間的確定</p><p> 如果測得的溫度為室溫,則浸泡時間短;</p><p> 如果測得的溫度為低溫,測浸泡時間長。</p><p
76、> ?。?)進/排水時間的確定</p><p> 如果檢測到的衣量較多,進/排水時間較長;</p><p> 如果檢測到的衣量為中,進/排水時間為中;</p><p> 如果檢測到的衣量較少,進/排水時間較短。</p><p> 如果檢測到的衣量較少,排水時間較短。</p><p> (4)洗滌時間的確
77、定</p><p> 如表4所示為洗滌時間的確定規(guī)則。</p><p> 表4 洗滌時間的確定規(guī)則表</p><p> ?。?)漂洗時間的確定</p><p> 如表5所示為洗滌時間的確定規(guī)則</p><p> 表5 漂洗時間的確定規(guī)則表</p><p> (6)脫水時間的確定&l
78、t;/p><p> 如果檢測到的衣量較多,脫水時間較長;</p><p> 如果檢測到的衣量為中,脫水時間為中;</p><p> 如果檢測到的衣量較少,脫水時間較短。</p><p> (7)濁度對時間的影響</p><p> 為了能盡可能將衣物洗的干凈,在洗滌的過程中同時還會對洗滌劑的濁度進行測量,如果洗滌時
79、間到了但是濁度的變化率不達標則認定洗衣過程還沒有結束,需要調整洗滌時間,調整時間的次數(shù)最多為兩次;在每次漂洗結束之后也要對排出的洗滌劑進行濁度檢測,若此時濁度不達標則要增加漂洗次數(shù),漂洗次數(shù)最多為3次。</p><p> 4.2 系統(tǒng)主要流程圖</p><p> 1.系統(tǒng)主程序流程圖</p><p> 圖22主程序流程圖</p><p&
80、gt;<b> 2.鍵盤掃描流程圖</b></p><p> 圖23 鍵盤掃描流程圖</p><p> 3.洗衣機自檢流程圖</p><p> 圖24洗衣機自檢流程圖</p><p> 4.標準洗滌模式流程圖</p><p> 圖25標準洗滌模式流程圖</p>&l
81、t;p> 5.快速洗滌模式流程圖</p><p> 圖26快速洗滌模式流程圖</p><p> 6. 脫水模式流程圖</p><p> 圖27脫水模式流程圖</p><p> 4.3 系統(tǒng)程序代碼</p><p><b> 源程序</b></p><p&
82、gt; //====================================================================//</p><p> //洗衣機控制模型--C程序//</p><p> //=================================AT89S52============================//</p>
83、;<p> //晶振頻率為24MHz//</p><p> //====================================================================//</p><p> #ifndef __KEYSCAN_H__</p><p> #define __KEYSCAN_H__</p>
84、;<p> #include <reg52.h></p><p> #include "lcd_12864.h"</p><p> #include "wash.h"</p><p> #include "delay.h"</p><p> sbi
85、t mode = P1^4; //設置按鍵</p><p> sbit start_pause = P1^5; //啟動暫停按鍵</p><p> void keyscan();</p><p><b> #endif</b></p><p> //=============================
86、=======================================//</p><p> #include "keyscan.h"</p><p> uint modenum;</p><p> extern xidimode;</p><p> void keyscan()</p>&l
87、t;p> {if(mode==0)</p><p> {delay_ms(5);//延時消抖</p><p> if(mode==0)</p><p> {while(!mode);//松手檢測</p><p> modenum++;</p><p> if(modenum==1)&l
88、t;/p><p> {photodisplay(0,1,5); }//反白顯示</p><p> if(modenum==2)</p><p> {photodisplay(0,2,5); }</p><p> if(modenum==3)</p><p> { photodisplay(0,
89、3,5); }</p><p> if(modenum==4)</p><p> {modenum=1;</p><p> photodisplay(0,1,5);</p><p><b> }</b></p><p><b> }</b></p>
90、;<p><b> }</b></p><p> if(start_pause==0)</p><p> {delay_ms(5);</p><p> if(start_pause==0)</p><p> {while(!start_pause); //松手檢測<
91、;/p><p> if(modenum==1)</p><p> {biaozhun();</p><p> xidimode=0; //標準洗滌</p><p><b> }</b></p><p> if(modenum==2)</p><p>&
92、lt;b> {fast();</b></p><p> xidimode=2; //快速洗滌</p><p><b> }</b></p><p> if(modenum==3)</p><p> {tuoshui();</p><p> xidimode
93、=3; //脫水</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> //===========
94、=========================================================//</p><p> #ifndef __DS18B20_H__</p><p> #define __DS18B20_H__</p><p> #include <reg52.h></p><p> #in
95、clude "delay.h"</p><p> sbit DQ=P2^0;</p><p> bit Init_DS18B20();</p><p> void WriteOneChar(uchar dat);</p><p> uchar ReadOneChar();</p><p>
96、 uint ReadTemp(); </p><p><b> #endif</b></p><p> //====================================================================//</p><p> #include "DS18B20.h"<
97、;/p><p> bit Init_DS18B20()</p><p> {bit dat=0;</p><p> DQ = 1; //DQ復位</p><p> DelayUs2x(5); //稍做延時</p><p> DQ = 0; //單片機將DQ拉低</p>&
98、lt;p> DelayUs2x(200); //精確延時 大于 480us 小于960us</p><p> DelayUs2x(200);</p><p> DQ = 1; //拉高總線</p><p> DelayUs2x(50); //15~60us 后 接收60-240us的存在脈沖</p><p> d
99、at=DQ; //如果x=0則初始化成功, x=1則初始化失敗</p><p> DelayUs2x(25); //稍作延時返回</p><p> return dat;</p><p><b> }</b></p><p> void WriteOneChar(uchar dat)</p&g
100、t;<p> {uchar i;</p><p> for (i=8;i>0;i--)</p><p><b> {DQ = 0;</b></p><p> DQ = dat&0x01;//按位與</p><p> DelayUs2x(25);</p><p
101、><b> DQ = 1;</b></p><p><b> dat>>=1;</b></p><p><b> }</b></p><p> DelayUs2x(25);</p><p><b> }</b></p>
102、;<p> uchar ReadOneChar()</p><p><b> {char i;</b></p><p> uchar dat=0;</p><p> for (i=8;i>0;i--)</p><p> {DQ = 0; // 給脈沖信號</p><p
103、> dat>>=1;//稍微延時</p><p> DQ = 1; // 給脈沖信號</p><p><b> if(DQ==1)</b></p><p> dat|=0x80;</p><p> DelayUs2x(25);</p><p><b> }
104、</b></p><p> return(dat);</p><p><b> }</b></p><p> uint ReadTemp() /*讀取溫度值并轉換*/</p><p> {uint t,LSB,MSB;</p><p> Init_DS18B20();
105、</p><p> WriteOneChar(0xcc); // 跳過讀序列號的操作 </p><p> WriteOneChar(0x44);//*啟動溫度轉換*/</p><p> delay_ms(10);</p><p> Init_DS18B20();</p><p> WriteOneChar(0
106、xcc); // 跳過讀序列號的操作 </p><p> WriteOneChar(0xbe);//*讀取溫度*/</p><p> LSB=ReadOneChar(); //低位</p><p> MSB=ReadOneChar(); //高位</p><p> Init_DS18B20(); //中止讀取后面不需要的字
107、節(jié)以減少讀取時間</p><p> t=(int)(((MSB<<8)|LSB)*0.0625);</p><p> return(t);</p><p><b> }</b></p><p> //===================================================
108、=================//</p><p> #ifndef __LCD_12864_H__</p><p> #define __LCD_12864_H__</p><p> #include <reg52.h></p><p> #include <intrins.h></p>&
109、lt;p> #include "delay.h"</p><p> #define LCD_data P0 //數(shù)據(jù)口</p><p> #define delayNOP(); {_nop_();_nop_();_nop_();_nop_();};</p><p> /*sbit lcdrs=P1^0;</p&g
110、t;<p> sbit lcdrw=P1^1;</p><p> sbit lcden=P1^2;*/</p><p> sbit lcdrs=P2^5;</p><p> sbit lcdrw=P2^6;</p><p> sbit lcden=P2^7;</p><p> void Che
111、ck_Busy();</p><p> void write_com(uchar com);</p><p> void write_date(uchar date);</p><p> void write_str(uchar *p);</p><p> void diyihang(uint z);</p><p
112、> void dierhang(uint z);</p><p> void disanhang(uint z);</p><p> void disihang(uint z);</p><p> void kaishi_window();</p><p> //void queren_window();</p>
113、<p> void init_12864();</p><p> void photodisplay(uchar x,uchar y,uchar width);</p><p> void fanbai_ready();</p><p><b> #endif</b></p><p> //====
114、================================================================//</p><p> #include "lcd_12864.h"</p><p> uchar code str1[]="請選擇洗滌模式";</p><p> uchar code str2
115、[]="1.標準洗滌";</p><p> uchar code str3[]="2.快速洗滌";</p><p> uchar code str4[]="3.脫水";</p><p> void Check_Busy()</p><p> { lcdrs=0;</
116、p><p><b> lcdrw=1;</b></p><p><b> lcden=1;</b></p><p><b> P0=0xff;</b></p><p> while((P0&0x80)==0x80);//忙則等待</p><p&g
117、t;<b> lcden=0;</b></p><p><b> }</b></p><p> void write_com(uchar cmd) //寫命令</p><p> { Check_Busy();</p><p> lcdrs = 0;</p><p&
118、gt; lcdrw = 0;</p><p> LCD_data = cmd;</p><p> lcden = 1;</p><p> delayNOP();</p><p> lcden = 0; </p><p><b> }</b></p><p>
119、 void write_date(uchar dat) //寫數(shù)據(jù)</p><p> { Check_Busy();</p><p> lcdrs = 1;</p><p> lcdrw = 0;</p><p> LCD_data = dat;</p><p> lcden = 1;</p&g
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能洗衣機控制系統(tǒng)設計畢業(yè)設計
- 畢業(yè)設計--自動洗衣機控制系統(tǒng)
- 畢業(yè)設計--洗衣機模糊控制系統(tǒng)設計論文
- 全自動洗衣機控制系統(tǒng)畢業(yè)設計
- 全自動洗衣機控制系統(tǒng)畢業(yè)設計
- 基于單片機的洗衣機智能控制系統(tǒng)畢業(yè)設計
- 智能洗衣機控制系統(tǒng)
- 畢業(yè)設計--全自動洗衣機的控制系統(tǒng)設計
- 全自動洗衣機控制系統(tǒng)的設計畢業(yè)設計
- 全自動洗衣機plc控制系統(tǒng)設計畢業(yè)設計
- 畢業(yè)設計(論文)工業(yè)洗衣機plc控制系統(tǒng)設計
- 全自動洗衣機機電控制系統(tǒng)設計畢業(yè)設計
- 畢業(yè)設計——全自動洗衣機的plc控制系統(tǒng)設計
- 基于plc的全自動洗衣機控制系統(tǒng)設計畢業(yè)設計
- 洗衣機畢業(yè)設計
- 洗衣機畢業(yè)設計
- 基于plc的全自動洗衣機控制系統(tǒng)畢業(yè)設計
- 基于單片機的洗衣機智能控制系統(tǒng)的設計與實現(xiàn)【畢業(yè)設計】
- 基于plc的全自動洗衣機控制系統(tǒng)畢業(yè)設計
- 畢業(yè)設計198數(shù)字顯示功能的洗衣機控制系統(tǒng)
評論
0/150
提交評論