【《基于單片機的全自動洗衣機控制系統(tǒng)設計與實現(xiàn)》13000字】_第1頁
【《基于單片機的全自動洗衣機控制系統(tǒng)設計與實現(xiàn)》13000字】_第2頁
【《基于單片機的全自動洗衣機控制系統(tǒng)設計與實現(xiàn)》13000字】_第3頁
【《基于單片機的全自動洗衣機控制系統(tǒng)設計與實現(xiàn)》13000字】_第4頁
【《基于單片機的全自動洗衣機控制系統(tǒng)設計與實現(xiàn)》13000字】_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

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

文檔簡介

PAGEIII基于單片機的全自動洗衣機控制系統(tǒng)設計與實現(xiàn)摘要隨著計算機網絡在社會領域的快速發(fā)展,單片機應用越來越廣泛,與此同時也帶動了傳統(tǒng)技術的發(fā)展。微控制器以其體積小、性能全、價值低、開發(fā)簡單等優(yōu)點受到了一些電子系統(tǒng)設計者的青睞。它適用于時間段的管理,可以形成工業(yè)控制器、智能儀表、智能接口、智能武器設備和一般的測量和管理單元?,F(xiàn)在越來越被各大商家應用,相信在不遠的將來,單片機定會成為世界一大主流。本文設計了一個以STC89C52單片機為核心的全自動洗衣機系統(tǒng)。該技術實現(xiàn)了對洗衣機完整的洗衣方式的管理,包括四個階段:用戶參數(shù)輸入、洗滌、脫水和完成報警。該系統(tǒng)主要由一個微控制器主系統(tǒng)組成。微控制器主系統(tǒng)負責主導洗衣機的操作方法,主要由STC89C52微控制器、按鍵、蜂鳴器、LED、電機、水位感應元件等組成。洗衣機控制器主要由硬件、軟件設計兩部分構成,將從硬件電路原理、硬件調試、軟件設計、軟件調試等方面,對其進行介紹。該技術的電路并不困難,一旦將軟件包程序加載到STC89C52單片機上,它就能實現(xiàn)全自動洗衣機的功能。關鍵詞:單片機;繼電器;控制系統(tǒng);LED目錄摘要 I目錄 I1緒論 11.1研究的背景及意義 11.2洗衣機的國內外發(fā)展歷程 11.3洗衣機發(fā)展現(xiàn)狀和趨勢 32設計方案 52.1設計任務 52.1.1主要內容 52.1.2主要功能 52.2洗衣機的設計方案 52.2.1按鍵 62.2.2洗衣程序 62.2.3設計總方框圖 72.3控制系統(tǒng)的功能 73硬件設計 83.1重要元器件選型及功能介紹 83.1.1STC89C52單片機 83.1.2雙電壓比較器LM393 113.2控制系統(tǒng)的電路組成 133.3電機控制電路 153.4蜂鳴器報警電路 173.5顯示電路 183.6按鍵控制電路 193.7指示電路 193.8復位、時鐘、晶振電路 203.9水位檢測電路 214軟件設計 224.1主程序設計 224.2標準程序設計 234.3洗滌程序設計 244.4漂洗程序設計 254.5脫水程序設計 265系統(tǒng)調試 275.1硬件調試 275.2軟件調試 285.3仿真調試 31結論 34參考文獻 36附錄 40PAGE351緒論1.1研究的背景及意義洗衣機是我們現(xiàn)實生活中經常可以看到也是經常用的家用電器之一。隨著當代社會的快速發(fā)展,人們的生活節(jié)奏也在加快,這就意味著人們的勞動量大大增加,我們有時傾向于使用的半自動洗衣機,現(xiàn)在總是不被大家接受[1]。其次,普通的半自動洗衣機不僅是勞動密集型和資源浪費型的,而且在洗衣效果方面也不被大家所認可。因此,全自動洗衣機這種高科技產品,將成為人們在洗衣時的一個理性選擇[2]。隨著目前地球上各種不可再生資源的快速減少,我們生活中對眾多能源的需求也在不斷增加,這就造成了兩者之間的巨大矛盾。為了人類的財產發(fā)展,節(jié)能減排、保護環(huán)境、實現(xiàn)人與自然的和諧相處成為21世紀的目標[3]。作為家電產品中非常重要的一員,洗衣機更應該朝著這個目標發(fā)展。目前,在中國有許多類型的洗衣機。隨著全自動洗衣機的問世,人們對洗衣機的要求越來越高,現(xiàn)在的洗衣機有很多功能,如洗衣、排水、漂洗和脫水[4]。對洗衣機的需求不斷增加,同時也需要設計師設計出更加簡單、方便和快捷的洗衣機。此次洗衣機設計雖不能反映洗衣機的所有功能,但它能反映我們在學校學到的東西,并學以致用[5]。1.2洗衣機的國內外發(fā)展歷程自從洗衣機誕生以來,已經有一個多世紀了。1858年,美國人漢密爾頓-史密斯(HamiltonSmith)在匹茲堡的工廠制造了主要的人力洗衣機[6]。該洗衣機由3個部分組成:一個圓柱體、一個帶有槳葉的直軸和一個曲柄。通過人工方式轉動與槳葉直軸相連的曲柄,在圓筒內清洗衣物。由于太過辛苦,會弄壞衣物,所以沒有被廣泛使用,但它卻為挑戰(zhàn)“手洗時代”邁出了第一步[7]。伴隨著蒸汽時代科學技術的成熟,美國人在1880年制造了一臺蒸汽洗衣機。它通過外燃機的推動取代了人力。與以前的人力洗衣機相比,蒸汽洗衣機在當時取得了巨大成功。在同一時間,人們也將智能水循環(huán)系統(tǒng)應用于洗衣機系統(tǒng)中,這就是洗衣機行業(yè)內著名的“蒸汽洗滌”技術[8]。然而,操作原理或多或少是不變的,主要都是屬于拖動式的,區(qū)別只存在于動力方面的協(xié)助[9]。自然,電氣時代的出現(xiàn)應該觸動了許多希望動腦筋的人的靈感。世界上第一臺電動洗衣機的產地是美國芝加哥,設計者是一位名叫費希爾的美國人。后來一位名叫Mataig的美國人對洗衣機的結構設計進行了修改升級,將傳統(tǒng)的拖動式改為攪拌式,洗衣機的框架最終設計完成,因此,世界上第一臺攪拌式洗衣機隨之誕生了。這種攪拌式洗衣機有一個垂直軸,由圓柱體中心的電動機驅動,下面有攪拌翼。由于電機驅動垂直軸,攪拌翼前后不停擺動,從而讓水和衣物進行摩擦拍打,最終使洗衣效果得以實現(xiàn),使洗衣機實現(xiàn)自動洗衣功能。由于其科學合理性,它一直受到大家的歡迎[10]。1932年,德士古航空公司成功開發(fā)了一種前裝滾筒式洗衣機,該洗衣機在同一個滾筒內實現(xiàn)了洗衣、漂洗和脫水,這意味著智能洗衣機在科技領域由向前邁了一步,在原來的基礎上得以升級,這同樣也是向自動化邁出的又一大步[11]。1955年,日本人開發(fā)了一種至今仍在使用的洗衣機,其是基于噴流式洗衣機的升級版本:波輪式洗衣機[12]。波輪式洗衣機的底部有一個輪子,因此輪子在點擊的驅動下正反方向旋轉,所以熨燙在輪子上的服裝被翻轉,同時,水流也使服裝翻轉,所以實現(xiàn)了對服裝衣物的洗滌[13]。此時,洗衣機在市面上大致可以分為三種類型:波輪式、滾筒式、攪拌式。我國的洗衣機發(fā)展相比于歐美國家而言較晚,在改革開放浪潮襲來時,我國的洗衣機制作工業(yè)向前邁出了第一步,幾乎可以概括為三個時期[14]。首時期開始于20世紀80年代中期,在這個階段,我國依靠引進一些先進發(fā)達國家的技術和儀器,最典型的是引進日本的波輪式洗衣機。先進技術和儀器的引進,迅速打破了我國洗衣機行業(yè)內的空白。日本波輪洗衣機的引進,也為我國今后洗衣機的分析和發(fā)展確定了目標[15]。中時期開始于19世紀初期,伴著科學技術的不斷進步,中國的洗衣機生產貿易進入了全新高效的進步階段。我們擁有了大量的自主產權,打破了國外生產的困惑,不管從價格的降低還是自由品牌的創(chuàng)立都取得了不錯的進展,國內品牌已經慢慢取代了國外品牌在中國市場的地位。最后是第三階段,改革的深入和差距的拉大,投資為中國的洗衣機企業(yè)再次引入新的市場。原本輕裝上陣的國外品牌再次進入我國市場,其中投資最多的是生產滾筒洗衣機的歐洲企業(yè),制造商的急劇增加當然是在同一行業(yè)內的競爭?,F(xiàn)如今,中國的洗衣機生產和軟件開發(fā)已進入完善階段,全國各地的企業(yè)性質各異,我國已共同成為世界上洗衣機的主要購買者和生產者。我國的洗衣機年產量目前是世界第一。這不僅滿足了我們自己的愿望,而且還出口到全球所有或任何地方,這意味著我國已經在同行業(yè)中處于國際競爭的行列[16]。1.3洗衣機發(fā)展現(xiàn)狀和趨勢洗衣機誕生之后,我們可以和“手洗時代”說再見了,自洗衣機發(fā)展到現(xiàn)在,其已經從最初的半自動洗衣機發(fā)展成現(xiàn)在的全自動洗衣機。中國的洗衣機經常被各國提及,目前洗衣機體現(xiàn)了洗衣、漂洗、脫水、排水等一系列功能。但是中國的洗衣機發(fā)展比其他國家晚,在技術上存在一些問題,在質量上也比不過國外各個國家。因此,中國不應該只考慮升級技術,也要注意洗衣機的更高端發(fā)展,最后讓洗衣機的技術革命在國內激烈起來。現(xiàn)在,中國的洗衣機仍有令人遺憾的缺陷。例如,農業(yè)人口在中國占據(jù)了很大一部分比例,自動洗衣機在農村可以說是非常少見的,一方面是因為它們價格很昂貴,另一方面農村地區(qū)自來水非常不方便,因此洗衣機的能源規(guī)劃問題需要設計師來仔細考慮[17]?,F(xiàn)在,自動洗衣機的操作是由單片機完成的。隨著單片機技術的快速發(fā)展,單片機以其高度的責任感、堅固的操作、智能的環(huán)境能力、小巧的體積和替代性的優(yōu)勢,在家用電器中得到了越來越廣泛的應用。像洗衣機可以選擇洗衣時間和強度,微波爐可以通過區(qū)分食物類別來調整所需的加熱時間以及加熱溫度,冰箱可以確定食物的種類,從而確定新鮮程度并機械地選擇儲存溫度。這種非常智能的絕對自動家用電器充分發(fā)揮了微控制器和家用電器系統(tǒng)整合的優(yōu)勢,使其在之前的傳統(tǒng)版本之上做了更好更優(yōu)秀的升級。因此,這種時尚是在微控制器的前提下設計的,它具有堅固的作用,具有廣泛的實用性[18]。在未來,智能洗衣機可以帶來用戶專業(yè)知識的替代手段。洗衣機中將放置程序文件以及微處理器,程序的注入將使洗衣機具有智能處理功能,例如:通過水位檢測來實現(xiàn)自動進出水、自己檢測故障能力,傳輸顯示功能等。全自動智能洗衣機將會在物聯(lián)網技術的基礎下將數(shù)據(jù)與其余種類的家用電器進行共享;為洗衣用戶節(jié)約水和電并且能對故障進行反饋也是其一大優(yōu)點。按鍵和旋鈕多被用于傳統(tǒng)的洗衣機來進行操作,但是現(xiàn)在由于洗衣機操作繁瑣復雜,以前傳統(tǒng)的操作界面已經不能滿足現(xiàn)在的要求,也沒有足夠的空間來進行顯示,所以現(xiàn)如今純包操作界面被廣泛應用于各智能洗衣機品牌,而不是過去的旋鈕和按鈕交互手段。明智的洗衣機的智能控制操作使得用戶不需要在室內操作洗衣機,用戶在任何地方都會通過洗衣機運行。在相同的時間,洗衣機的洗衣任務完成后,用戶會通過手機非常及時地推送完成的信息,智能商品自動檢測操作,就能自行注意到洗衣機的故障,提前有針對性地直面故障維修方案,在機械上和售后服務上進行誘導。洗衣機長期設置為很多方便,很多節(jié)能,很多人性化的方向,全自動洗衣機可以完全取代半自動洗衣機[19]。2設計方案2.1設計任務2.1.1主要內容設計一個基于單片機的全自動洗衣機控制系統(tǒng)。以單片機為主要核心器件,并擴展相應的外部電路,使洗衣機能實現(xiàn)自動注水功能,可以顯示剩余時間以及出現(xiàn)故障時要能自動報警,內容需要包括系統(tǒng)設計方案,軟件設計,硬件設計,系統(tǒng)仿真等,實現(xiàn)洗滌過程的自動化。2.1.2主要功能1)在標準模式下洗滌時間為十二分鐘,漂洗時間為五分鐘,脫水時間為三分鐘;2)在快速模式下洗滌時間為四分鐘,漂洗時間為一分鐘,脫水時間為兩分鐘;3)在輕柔模式下洗滌時間為三分鐘,漂洗時間為三分鐘,脫水時間為兩分鐘;4)在調試模式下全部過程時間都為一分鐘;5)控制按鈕的應用需要首先點擊菜單鍵,其次點擊菜單選擇鍵,選擇你所需要的功能,當洗衣機工作時,點擊停止鍵洗衣機停止工作。6)脫水功能。7)指示功能:進行進水流程時,進水指示燈亮,其余模式同理。2.2洗衣機的設計方案本系統(tǒng)旨在支持微控制器技術的應用,實現(xiàn)了對洗衣機的整個洗衣過程的管理。該系統(tǒng)主要由電源電路、控制電路和外部硬件電路組成。電源電路為控制電路提供穩(wěn)定的5V直流電壓,以便為電機供電;控制電路負責主導洗衣機的工作過程和操作方法,主要由STC89C52單片機、開關、按鍵、蜂鳴器、高低水位傳感器、LED指示燈組成,因此外部硬件電路由繼電器、三極管、電機和步進電機驅動器組成。2.2.1按鍵洗衣機控制面板上有K1、K2、K3、K4,這4個按鈕。K1為菜單按鍵,在按K4菜單選擇鍵時,需先按下K1鍵,防止錯誤操作。K2為開始按鍵,用于啟動洗衣機。K3為停止按鍵。K4為菜單選擇鍵,用于選擇用戶所需的功能。2.2.2洗衣程序⑴洗滌過程首先需要通電,選擇洗衣模式,模式選擇完畢以后需要按開始鍵使其運行,進入工作后,洗衣機將開始進水,與此同時,電機開始運作并帶動波輪進行旋轉,在電機的正轉與反轉交替運行下,可以形成往返水流,進而達到洗衣的目的。若最開始沒有進行模式選擇,那么洗衣機將從洗滌模式開始依次運行。⑵漂洗過程洗滌模式完成后將進入下一模式,那就是漂洗模式。此過程與洗滌模式大致相同,同樣開始進水,當水位檢測計檢測進水完成時,進水指示燈熄滅,電機開始運作并帶動波輪進行旋轉,在電機的正轉與反轉交替運行下,可以形成往返水流,進而達到漂洗的目的,漂洗的時間較洗滌過程短。⑶脫水過程漂洗模式完成以后,電動機將停止運作,高水位檢測計檢測需要排水,排水指示燈亮,當排水完畢以后,排水指示燈熄滅,電機又開始正轉并帶動內筒高速旋轉,對洗好的衣物進行甩干,從而實現(xiàn)脫水。2.2.3設計總方框圖按鍵控制電路單片機主控系統(tǒng)按鍵控制電路單片機主控系統(tǒng)電機控制電路電機控制電路指示電路指示電路蜂鳴器報警電路蜂鳴器報警電路水位檢測電路水位檢測電路顯示電路顯示電路圖2-1設計總方框圖2.3控制系統(tǒng)的功能基于單片機的自動洗衣機旨在通過程序的管理,自動地完成進水、洗滌、漂洗、脫水和排水的全部方法。在整個洗滌過程中,系統(tǒng)控制洗衣機開始進水;一旦水位檢測器檢測到水,它就啟動電機正反轉運作,帶動波輪進行旋轉來洗滌衣物。當洗衣時間恢復到零,洗衣機在系統(tǒng)的控制下進行排水;然后洗衣機再次充滿水,進入下一漂洗模式,當完成漂洗完成后,高水位器檢測并開始排水;在排水結束以后,系統(tǒng)控制電機正轉并高速運行,完成脫水模式,一旦脫水過程完成,蜂鳴器立即響起,通知用戶整個洗衣方式完成。3硬件設計3.1重要元器件選型及功能介紹3.1.1STC89C52單片機本項目采用STC89C52單片機,STC89C52單片機是宏晶科技推出的新一代高速,低功耗,超強抗干擾的單片機,與傳統(tǒng)的8051單片機相比有很多優(yōu)勢,其主要特征如下:增強型8051單片機,六時鐘/機器周期和十二時鐘/機器周期可以任意選擇。用戶應用程序空間為8K字節(jié)片上集成512字節(jié)RAM具有EEPROM功能具有看門狗功能共3個16位定時器/計數(shù)器。即定時器T0、T1、T2外部中斷4路,下降沿中斷或低電平觸發(fā)電路,PowerDown模式可由外部中斷低電平觸發(fā)中斷方式喚醒圖3-1STC89C52引腳圖STC89C52RC引腳功能說明:P1端口:P1口是一個帶內部上拉電阻的8位雙向I/O口。P1的輸出緩沖器可驅動(吸收或者輸出電流方式)4個TTL輸入。對端口寫入1時,通過內部的上拉電阻把端口拉到高電位,這是可用作輸入口。RST(9引腳):復位輸入。當輸入連續(xù)兩個機器周期以上高電平時為有效,用來完成單片機的復位初始化操作??撮T狗計時完成后,RST引腳輸出96個晶振周期的高電平。ALE/(30引腳):地址鎖存控制信號(ALE)是訪問外部程序存儲器時,鎖存低8位地址的輸出脈沖。XTAL1(19引腳):振蕩器反相放大器和內部時鐘發(fā)生電路的輸入端。XTAL2(18引腳):振蕩器反相放大器的輸入端。特殊功能寄存器,在STC89C52片內存儲器中,80H~FFH共128個單元位特殊功能寄存器(SFR)。對沒有定義的單元讀寫將是無效的,讀出的數(shù)值將不確定,而寫入的數(shù)據(jù)也將丟失[20]。3.1.2雙電壓比較器LM393LM393主要特點如下:●工作電源電壓范圍寬,單電源、雙電源均可工作,單電源:2~36V,雙電源:±1~±18V;●消耗電流小,I=0.8mA;LM393內部結構圖:圖3-2LM393內部結構LM393引腳圖:圖3-3LM393引腳圖各引腳功能:引腳一的功能是輸出A,引腳二的功能是反向輸出A,引腳三的功能是同向輸入A,引腳四的功能是接地端,引腳五的功能是同向輸入B,引腳六的功能是反向輸入B,引腳七的功能是輸出B,引腳八的功能是電源電壓。LM393器件介紹:LM393是一個雙電壓高增益,寬頻帶比較器,輸入電源電壓在2~36V之間,輸入電壓范圍較寬。當比較器改變狀態(tài)時,輸出端到輸入端有寄生電容會產生耦合,引起振蕩。這種現(xiàn)象,旁路濾波并不能解決這個問題,然而PC板的設計對減小輸入輸出寄生電容耦合是有一定的幫助。減小輸入電阻小于10k將減小反饋信號,而且會增加很小的正反饋量,導致快速轉換使得不會產生由寄生電容引起的振蕩。可以利用滯后來解決這一問題,如果輸入信號是脈沖波形的話,波形如果類似于方形波,滯回就可以不需要了[21]。3.2控制系統(tǒng)的電路組成該電路主要組成部件是由89c52單片機、指示燈、電動機、蜂鳴器、LED顯示燈、水位信號模擬開關及4只按鍵組成。電動機有兩個控制端,一端控制電動機正轉且該端與P2.0相連,另一端控制電動機的反轉且該端與P2.1相連。顯示器共有兩只P1.2控制高位顯示器,P1.3控制低位顯示器。蜂鳴器由P0.7控制,當P0.7輸出為“0”時蜂鳴器發(fā)聲。本系統(tǒng)采用12M的晶體振蕩器定時器0的設置為每隔100ms產生一次中斷,整體具體連接圖如3-4所示。圖3-4控制系統(tǒng)的電路組成圖3.3電機控制電路電機控制電路如圖3-5所示,其中包括步進電機驅動芯片L298。L298是一種雙H橋電機驅動芯片,其中每個H橋可以提供2A的電流,功率部分的供電電壓范圍是2.5-48v,邏輯部分5v供電,接受五伏TTL電平。一般情況下,功率部分的電壓應大于6V否則芯片可能不能正常工作。且可以直接透過電源來調節(jié)輸出電壓。由于模塊是4路的H橋驅動,驅動4個直流電機的方法:使能ENA,ENB,ENC,END之后,分別從IN1-IN8輸入PWM信號驅動電機OUT1-OUT4的轉速和方向,也可以控制ENA,ENB,ENC,END和IN1-IN8配合調節(jié)轉速和方向,這種方法在使用電池供電的時候更省電。圖3-5電機控制電路圖L298內部邏輯圖,如圖3-6所示。圖3-6L298內部邏輯圖L298外形圖,如圖3-7所示。圖3-7L298外形圖L298引腳圖,如圖3-8所示。圖3-8L298引腳圖3.4蜂鳴器報警電路設計蜂鳴器報警是為了避免洗衣機出現(xiàn)問題或故障,保證洗衣機的安全運行狀態(tài)。在洗衣機的整個運行過程中,一旦發(fā)生故障,蜂鳴器就會立即發(fā)出蜂鳴器警報,提示用戶及時解決。實現(xiàn)流程:首先接通洗衣機的電源,按鈕、門開關和水位檢測器等輸入信號被傳送到微控制器,微控制器在內部時鐘信號的基礎上對其進行仔細分析。洗衣機必須用一個蜂鳴器來模擬報警電路,一旦按鍵操作完成,洗衣結束,蜂鳴器就會報警,如圖3-9所示。圖3-9蜂鳴器報警電路圖3.5顯示電路在單片機應用系統(tǒng)中,顯示器是一個不可缺少的人機交互設備之一,是單片機應用系統(tǒng)中最基本的輸出裝置。通常需要用顯示器顯示運行狀態(tài)以及中間結果等信息,便于人們觀察和監(jiān)視單片機系統(tǒng)的運行狀況。而單片機系統(tǒng)中最為常見的顯示器是發(fā)光二極管數(shù)碼顯示器(簡稱LED顯示器)。LED顯示器具有低成本、配置簡單、安裝方便和壽命長等特點,如圖3-10所示。圖3-10顯示電路圖3.6按鍵控制電路按鍵控制電路主要控制洗衣機的啟動,停止,和功能的選擇,分為菜單鍵、開始鍵、停止鍵、菜單選擇鍵,分別于單片機的P1.4、P1.5、P1.6、P1.7相連,如圖3-11所示。圖3-11按鍵控制電路圖3.7指示電路指示電路由8個發(fā)光二極管組成,分別指示洗衣機的進水、洗滌、漂洗、結束、標準、快速、輕柔、調試,當對應口為低電平時,相應指示燈亮,指示洗衣機現(xiàn)在的工作狀態(tài),如圖3-12所示。圖3-12指示電路圖3.8復位、時鐘、晶振電路復位電路的作用是復位,單片機的復位有手動復位和自動復位兩種,在此次設計中采用自動復位,其工作原理是:上電瞬間,電容充電,RST端的電容與VCC相同,隨著電容的充電,高電平使單片機復位。復位電路的功能就是:開機上電時和在系統(tǒng)出現(xiàn)死機或可能導致死機的異常情況后,給系統(tǒng)的控制器件一個強制復位信號使其程序計數(shù)器歸0,從而開始或恢復正常運行。上電掉電復位電路以前多是用阻容電路產生一個高電平或低電平延時脈沖作為復位信號,由于阻容復位電路可靠性不高,現(xiàn)在已經被專用復位電路所取代,專用復位電路的復位脈沖是標準的正方波并且確保固定的脈寬時間。程序監(jiān)控復位電路俗稱“看門狗”電路,主要是一個計時器,當經過一定的時間而沒有清零后,就會輸出一個復位信號對系統(tǒng)進行復位操作,因此使用程序監(jiān)控復位電路的系統(tǒng)在設計單片機程序時,一定要有定時給看門狗電路清零的子程序,這樣當程序進入死循環(huán)或跑飛后就會因不進行喂狗操作而被強制復位。現(xiàn)在很多復位電路都包括了上電掉電復位和程序監(jiān)控復位這兩種功能。晶振是晶體振蕩器的簡稱,在電氣上它可以等效成一個電容和一個電阻并聯(lián)再串聯(lián)一個電容的二端網絡,由于晶振等效為電感的頻率范圍很窄,所以即使其他元件的參數(shù)變化很大,這個振蕩器的頻率也不會有很大的變化。晶振電路的功能,就是利用晶體振蕩器的頻率非常穩(wěn)定這個特點用晶體振蕩器和附屬電路搭成一個固定頻率輸出的振蕩電路為系統(tǒng)提供時鐘頻率。時鐘電路由晶振和單片機內部電路組成,將晶振跨接到XTAL1和XTAL2之間。一般單片機采用的晶振頻率為11.0592MHZ,如圖3-13所示。圖3-13復位時鐘電路圖3.9水位檢測電路對于洗衣機內的水位高度檢測水位檢測電路實現(xiàn)。如果水不夠,或者洗衣服時水量不足就必須加水,微控制器可以決定是否必須加水,這將取決于二極管是否亮起。如果需要水,進水閥就會打開,直到水位二極管不亮。保護開關的作用是看洗衣機的蓋子是否在旋轉時打開。如果在脫水前桶蓋是打開的,報警器就會被蜂鳴器激活,如果在整個脫水過程中桶蓋是打開的,報警器也會被激活,直到桶蓋被關閉,蜂鳴器停止工作,脫水才會繼續(xù),如圖3-14所示。圖3-14水位檢測電路圖4軟件設計4.1主程序設計主程序是軟件設計的總體框架,通過主程序對各個子程序的調用,來完成洗衣過程。根據(jù)仿真設計要求主程序流程圖如圖4-1所示。洗衣機通電之后,第一步需要對程序進行初始化,設置各類數(shù)值然后進行模式選擇,系統(tǒng)默認洗滌為標準洗,模式選擇完成之后將開始對衣物進行洗滌,漂洗,脫水并循環(huán)這一流程,當脫水結束時蜂鳴器發(fā)聲,用于提醒用戶,總體程序流程圖如圖4-1所示。Y脫水程序Y脫水程序報警結束開始初始化模式選擇開始?洗滌程序漂洗程序脫水漂洗YYYNNN圖4-1主程序流程圖4.2標準程序設計標準洗衣程序是默認的洗衣方式,其流程圖如圖4-2所示。洗衣開始洗衣開始電機運轉進水洗滌結束?漂洗開始漂洗三次結束?脫水開始電機運轉電機正轉脫水結束?蜂鳴器報警洗衣結束YNNYNY圖4-2標準洗衣程序流程圖4.3洗滌程序設計洗滌是洗衣過程中的主要步驟。當前期流程結束時,下一步則將要進行洗衣流程,電動機在其基礎上開始正反高速運轉,對衣物進行不停翻轉洗滌,當顯示器顯示剩余時間為零時,則洗衣過程結束進入下一個漂洗階段,程序流程圖如圖4-3所示。洗衣開始洗衣開始電機正轉電機反轉電機停止剩余時間=0?進入漂洗YN電機停止圖4-3洗滌程序流程圖4.4漂洗程序設計漂洗這一洗衣方式在洗衣機模式選擇里比較固定,首先漂洗模式開始,漂洗指示燈立刻亮起,接著將進行三次漂洗,當洗滌完成時,漂洗結束漂洗指示燈熄滅,進入下一脫水流程,否則將一直重復漂洗這一模式,漂洗程序流程圖如圖4-4所示。開始開始漂洗指示燈亮第一次漂洗第二次漂洗第三次漂洗洗滌完成漂洗指示燈滅漂洗結束進入脫水NY圖4-4漂洗程序流程圖4.5脫水程序設計當洗衣機內筒高速旋轉時,衣物與其所含的水都受到離心力的影響,但是內筒的設計能阻擋衣物向外飛出,而衣物中的水則通過內筒上的開孔在離心力作用下拋了出來,于是衣物就和水分開了。在進入脫水模式之前需要先排水,然后啟動電動機進行脫水,當脫水結束時電機自動停轉,蜂鳴器開始報警,提醒用戶洗衣過程已經結束定時結束。程序流程圖如圖4-5所示。YY開始脫水開電機脫水脫水結束關電機開蜂鳴器洗衣結束N圖4-5脫水洗滌程序流程圖5系統(tǒng)調試各模塊電路和軟件系統(tǒng)完成后,將進入系統(tǒng)調試部分。而單片機的型號和選用的仿真器與調試息息相關,因此所選的微控制器模型非常重要。在此調試過程分為硬件調試和軟件系統(tǒng)調試以及仿真調試。5.1硬件調試在硬件調試中,靜態(tài)調試非常重要,需要使用萬用表和其他工具,按照原理圖和裝配圖快速確定電路,然后逐個檢測各個器件,以確定元素的種類、規(guī)格和安裝是否正確。然后通電檢查,以確定每個電位是否是正常的,具體流程如下。首先需要用萬用表檢查接線的正確性,并在通電前確認元件的型號和規(guī)格是否符合要求。需要特別注意電源正負極,模塊中是否有短路存在。由于這一步是以使用的微控制器為前提的,因此這一步基本不會出現(xiàn)問題。其次通電以后需要對單片機的輸入輸出接口進行檢查,并檢查每個電位正確與否。如果有一個高的電壓可能會傷害到外部仿真電路,如果電壓太低就不能靈活地驅動負載了。最后需要將微處理器信號輸出接口與外部仿真電路接口相連,安排計算機調試。在硬件的調試過程中常見的硬件故障有:元器件失效:一方面可能是器件本身已損壞,另一方面可能是組裝過程中造成元器件失效,在調試過程中,我們發(fā)現(xiàn)發(fā)光二極管接反。可靠性差:一個系統(tǒng)中可靠性很重要,器件接觸不良會造成系統(tǒng)不穩(wěn)定,經不起振動;此外還有兩個重要原因就是所用的器件負載過大或易受溫度影響等,造成電平不穩(wěn)定;其次,線路圖布局以及連線不合理等也會引起系統(tǒng)可靠性差。我們在調試的過程中硬件電路的二極管亮度忽明忽暗,經檢驗電源電壓無問題。最后檢查主要是由于該器件的引腳過長。電源故障可能是電壓值不滿足規(guī)劃需要,電源線和插座不對應,功率較低等。因此,電壓太低負載無法被驅動,電壓太高又會燒壞二極管。因此,我們選用直流電源來進行供電,使其輸出穩(wěn)定的電壓。全自動洗衣機系統(tǒng)調試:首先接通電源,打開菜單鍵進行模式選擇,每一個模式對于的指示燈就會亮起,如圖所示。5.2軟件調試軟件調試是根據(jù)所選擇的軟件包結構和編程技術進行闡述的。如果采用標準的程序開發(fā)技術,整個程序的調試是在逐個模塊標準化的情況下進行的,一旦對子程序進行調試,就必須滿足當前要求。調試的手段有單步操作和斷點操作,主要對計算機中央處理器以及輸入輸出口的狀態(tài)來判斷程序運行結果是否符合我們的要求。在整個調試方法中,用戶系統(tǒng)的軟件包和硬件區(qū)域需要被一步步調整,最終符合我們的要求。在對每個程序模塊進行調試后,將連接的執(zhí)行模塊合并在一起,進行整體綜合調試。如果在這個存儲階段發(fā)生錯誤,要考慮到在整個存儲操作過程中,各個子程序是否存在問題,設備的狀態(tài)是否正常等等。在單步調試和斷點調試之后,還要進行連續(xù)調試,因為單片機的操作是在嚴格的時間安排下進行的,單步操作不成功并不意味著連續(xù)操作不成功,在調試結束后,要反復運行多次。本設計中軟件部分采用KeilC51軟件進行程序的編寫和調試,適用于51系列單片機,其調試流程如下:首先需要建立一個新的工程,保存到一個對應的位置,接下來要對處理器類型進行選擇,選擇本文中所對應的系列,并將其加入到工程中,即完成工程的建立,如圖5-1所示。圖5-1元器件選擇其次需要建立一個新的文檔,此文檔用于編寫程序,將編寫完的程序進行保存,保存后綴為.c即可,把保存的程序加入到之前所建立的工程中,如圖5-2所示。圖5-2添加工程文件最后進行工程配置,點擊Project菜單下的OptionsforTarget‘Target1’選項,將所用到的選項進行勾選,之后進行程序的編譯選項,最后將寫好的程序復制到文件中,并完成編譯,如圖5-3和5-4所示。圖5-3工程配置圖5-4程序編譯5.3仿真調試完成程序編寫之后,開始對仿真部分進行調試,本系統(tǒng)仿真軟件采用Proteus8軟件進行仿真,首先在仿真軟件中建立一個新的工程,然后通過元器件搜索窗口,查找所需要的元器件,如圖5-5所示。圖5-5查找元器件接著在所有設置完成之后,就需要將編寫好的HEX程序文件下載到單片機中,如圖5-6所示。圖5-6程序下載最后就是仿真運行,對系統(tǒng)程序進行仿真,觀察程序是否能正確運行,如有偏差就要修改程序,進行反復調試,直到程序達到設計目標為止。圖5-7仿真運行圖結論經過兩個多月的努力我的畢業(yè)設計終于完成了,但是現(xiàn)在回想起來做畢業(yè)設計的整個過程,頗有心得,其中有苦也有甜,艱辛同時又充滿樂趣,不過樂趣盡在其中!通過本次畢業(yè)設計,沒有接受任務以前覺得畢業(yè)設計只是對這幾年來所學知識的單純總結,但是通過這次做畢業(yè)設計發(fā)現(xiàn)畢業(yè)設計不僅是對前面所學知識的一種檢驗,而且也是對自己能力的一種提高。這次畢業(yè)設計要求設計一個基于單片機的全自動洗衣機控制系統(tǒng),自行設計這對我將來踏上工作崗位是非常有幫助的。于是本次設計過程中我完全按照軟件設計步驟的要求來進行,從課題分析開始,再進行總體設計、詳細設計,最后到系統(tǒng)實現(xiàn)。每一步都讓我將理論學習的知識應用到實踐中去。也使我掌握了一整套規(guī)范的設計操作流程。在課題分析階段,由于本次是設計一個單片機控制系統(tǒng),所以對其中的單片機的工作分析尤為重要。老師給了我很大的幫助。在總體設計階段,由于課題分析做的比較全面,很快就對系統(tǒng)的功能,控制機制有了充分的認識,形成了自動控制流程圖。通過本次洗衣機控制系統(tǒng)設計,將所學的理論知識與實際工作中的專業(yè)知識有機結合,使我掌握了工程設計的方法和步驟以及很多自己根本沒接觸到的問題,提高了一些軟件(如Proteus、KEIL、C++、Visio等)的應用能力。對于這個單片機系統(tǒng)的應用還存在一些問題,在電機正反轉的管理方式上受限于單片機的管理,存在一些缺陷,調試方法比較困難。在此次設計中,我多次去學校圖書館查閱文獻,從網上查閱大量的相關資料,與舍友交流經驗,向老師請教,在這個過程中我已經學到了大量的知識,也親身經歷了大量的問題,解決了很多的難題,但收獲還是。完成了對洗衣機完整的洗衣方法以及用戶參數(shù)輸入、洗滌、漂洗、脫水和結束5個階段的管理。在對系統(tǒng)器件進行選擇時,查閱了大量相關的中外文資料和各芯片廠家的數(shù)據(jù)表,挑選出性能較好,性價比較高的芯片并了解其技術指標。這次設計可以總結出:這幾年單片機的廣泛使用使電子產品的風格變成了很多很多的方便、實用和集成。其次,單片機與電子技術和不同的技術密切相關,但它們的應用會對規(guī)劃結果產生現(xiàn)場影響,應用完全不同的元素和風格方式將建立洗衣機的規(guī)劃結果非常不同,洗衣機的性能將有所不同,同時,在此設計應用的元素都是單片機的應用,在這種設計基礎上稍作修改,就能簡單地開發(fā)不同的單片機為主的洗衣機系統(tǒng)。參考文獻[1]李遠鋒.洗衣機發(fā)展研究[J].現(xiàn)代職業(yè)教育,2017,(3):184[2]羅鵬程.技術創(chuàng)新驅動洗衣機市場規(guī)模不斷擴大[J].新營銷,2017,(6):32-33[3]張海波.全自動洗衣機控制器的設計[D].南京理工大學,2012[4]張蕾.中國家電企業(yè)開拓美國市場營銷策略研究[D].南京:河海大學,2005[5]謝博文,張國棟.全自動洗衣機控制系統(tǒng)設計[J].電子制作,2015,(06):11[6]侯景艷.基于低碳理念的滾筒洗衣機設計研究[D].江南大學,2012[7].PaveBlecharz,HanaStverkova.ProductQualityAndCustomerBenefit[A].IntelligentInformationTechnologyApplicationAssociation.AppliedEconomics,BusinessAndDevelopment(ISAEBD2011CCIS208)[C].IntelligentInformationTechnologyApplicationAssociation:智能信息技術應用學會,2011:7[8]井新宇.洗衣機環(huán)保節(jié)能策略設計七步法研究與實踐[J].實驗技術與管理,2016,33(09):200-203[9]JanM.Rabaey.DigitalIntegratedCircuits:ADesignPerspective[M].PowerElectronicsPrentice-Hall,Inc,1988[10]黃玉蓉.單片機開發(fā)系統(tǒng)的設計與實現(xiàn)[J].公安大學學報(自然科學版),2001,(06):15-18[11]韋宇聰.DD滾筒洗衣機用無刷直流電機系統(tǒng)及控制策略研究[D].哈爾濱工業(yè)大學,2006[12]史守坤.滾筒洗衣機智能控制系統(tǒng)研究與設計[D].南京理工大學,2012[13]王瑤,劉文吉.波輪式水桶洗衣機的設計[J].裝備制造技術,2013,(07):86-87[14]魏玉東.滾筒洗衣機動態(tài)性能研究[D].天津大學,2008[15]陳玉.小功率宿舍微洗衣機技術設計與研究[J].電子制作,2021,(05):96-98[16]王浩,魏穎.基于PLC的全自動洗衣機的設計與實現(xiàn)[J].湖北農機化,2019,(12):62[17]胡欣媛.智能洗干衣一體機控制器設計與實現(xiàn)[D].哈爾濱工業(yè)大學,2019[18]鄧竟花.波輪式全自動洗衣機進水系統(tǒng)常見故障及排除方法[J].電子技術與軟件工程,2017,(16):131[19]陳碩.面向物聯(lián)網的洗衣機控制器的研究與開發(fā)[D].江南大學,2012[20]張哲,李智,管四海.基于STC89C52的智能全自動洗衣機控制系統(tǒng)設計[J].微型機與應用,2017,36(07):102-105[21]李開良,阮祥,李振界.基于LM393電壓比較器的漏液監(jiān)測報警系統(tǒng)的設計與應用[J].中國醫(yī)療設備,2019,34(04):80-82附錄#include<reg52.h>voidTime_Init();sbitk1_Menu=P1^4;sbitk2_Start=P1^5;sbitk3_Stop=P1^6;sbitk4_Choose=P1^7;sbitHigh=P0^0;//高水位sbitLow=P0^1;//低水位sbitgai=P3^0;sbitWash=P0^2;//洗sbitRinse=P0^3;//漂sbitDehydration=P0^4;//脫sbitFinish=P0^5;//結束sbitInlet=P3^7;//進水sbitEffluen=P3^6;//出水sbitBuzzer=P3^5;//蜂鳴器sbitIN1=P3^2;//電機0,1正轉sbitIN2=P3^3;sbitSum2=P0^7;//數(shù)碼管sbitSum1=P0^6;sbitSta=P1^3;//模式1、2、3、4sbitFas=P1^2;sbitSof=P1^1;sbitTes=P1^0;charIn_Key1();charIn_Key2();//按鍵處理函數(shù)charIn_Key3();charIn_Key4();charIn_Key5();charIn_Key6();charUnify_data[6]={0,9,1,0,2};unsignedcharcodeSegment[10]={0x3F,0x0C,0xAB,0xAD,0x9C,0xB5,0xB7,0x2C,0xBF,0xBD};unsignedcharcodeWash_Mode[4][4]={{12,5,5,3},{4,2,2,2},{3,3,3,2},{1,1,1,1}};//模式時間例如Wash_Mode[0]洗滌12分鐘,漂洗兩次每次五分,最后脫水3分鐘unsignedcharcodeFunction_Time[4]={8,22,8,22};//依次是,標準,快速,輕柔,測試unsignedcharTime_Reverse[5]={0};unsignedcharbit_code[2]=(0);unsignedcharMode_Flag=0;unsignedcharStart_Flag=0;unsignedcharFinsh_Flag=1;unsignedcharSecond=0;unsignedcharStage_Flag=0;//階段控制位unsignedcharwater=0;//水位unsignedcharEle_Current_Flag=0;//電機狀態(tài)0停,1正,2停,3反unsignedcharTimes_1=22;unsignedcharPosi_Flag=0;//正轉標志1unsignedcharRever_Flag=0;//反轉標志1unsignedcharBuzzer_Flag=0;unsignedcharTimes_F=0;//占空比unsignedcharTimes_vari=0;//計數(shù)變量unsignedintBuzzer_Times=300;voidPwm();/********************************************************************************函數(shù)名:Data_Extraction*函數(shù)功能 :數(shù)據(jù)提取*輸入:data_ex*輸出:位數(shù)*說明:*******************************************************************************/voidData_Extraction(unsignedintdata_ex,charhex_){ unsignedinttemp=data_ex; chari; for(i=0;i<6;i++) { Unify_data[i]=0; } for(i=1;temp>0;i++) { Unify_data[i]=temp%hex_; temp=temp/hex_; } }//延時函數(shù)voidDelay(unsignedchartimes){ unsignedchari; while(times--) { for(i=0;i<100;i++); }}//顯示函數(shù)voidDisplay(){ chari; for(i=1;i<3;i++) { switch(i) //位選,選擇點亮的數(shù)碼管, { case(1): Sum1=1;Sum2=0;break;//顯示第0位 case(2): Sum1=0;Sum2=1;break;//顯示第1位 } P2=Segment[Unify_data[i]];//發(fā)送段碼 Delay(1);//間隔一段時間掃描 P2=0x00;//消隱 }}//模式控制voidChoose_Mode(){ charflag=0; charswi=0; bitv1,v2,v3,v4; if(Start_Flag)return; v1=In_Key1(); v2=In_Key2(); v3=In_Key3(); if(v1){flag=1;} if(v2){Start_Flag=1;Finsh_Flag=0;} if(v3){Finsh_Flag=1;Start_Flag=0;} while(flag) { v1=In_Key1(); v4=In_Key4();//菜單選擇 Wash=0; Rinse=0; Dehydration=0; Data_Extraction(Wash_Mode[swi][0],10); Display(); if(swi==0){Sta=0;Fas=1;Sof=1;Tes=1;} elseif(swi==1){Sta=1;Fas=0;Sof=1;Tes=1;} elseif(swi==2){Sta=1;Fas=1;Sof=0;Tes=1;} elseif(swi==3){Sta=1;Fas=1;Sof=1;Tes=0;} if(v1) { swi++; if(swi>3)swi=0; } if(v4) { flag=0; Mode_Flag=swi; } }}//時間控制voidTime_Contrl(){ chari; if(Start_Flag==1) { for(i=0;i<4;i++) { Time_Reverse[i]=Wash_Mode[Mode_Flag][i]; } Time_Reverse[4]=0; Start_Flag=2;// Second=60; Stage_Flag=0;//運行狀態(tài) water=0;//異常 Inlet=0;//進sui Effluen=1; } }//停止函數(shù)voidStop_Scan(){ bitv3; v3=In_Key3(); if(v3) { Wash=1; Rinse=1; Dehydration=1; Finish=1; Inlet=1; Start_Flag=0; Finsh_Flag=0; Buzzer_Flag=0; Sta=1; Fas=1; Sof=1; Tes=1; TR1=0; TR0=0; IN1=0; IN2=0; }}//功能運行voidFunction_Control(){ bitflag=0,v5,v6; if(Start_Flag==2) { v5=In_Key5();//高水位 v6=In_Key6();//低水位 if(v5&&water==0&&Inlet==0){Inlet=1;water=1;TR0=1;Ele_Current_Flag=1;} if(v6&&water==0&&Effluen==0) { if(Stage_Flag!=3) { Effluen=1;Inlet=0; } else { water=1; Effluen=1; Inlet=1; TR0=1; Ele_Current_Flag=1; } } //if(v6){P2=0xf0;while(1);}// if(Stage_Flag==3)// {// water=1;// TR0=1;// } Data_Extraction(Time_Reverse[Stage_Flag],10); Display(); //Ele_Control(Ele_Current_Flag); Pwm(); if(Stage_Flag==0) { Wash=0;Rinse=1;Dehydration=1;Finish=1; } elseif(Stage_Flag==1||Stage_Flag==2) { Wash=1;Rinse=0;Dehydration=1;Finish=1; } elseif(Stage_Flag==3) { Wash=1;Rinse=1;Dehydration=0;Finish=1; } elseif(Stage_Flag==4) { Wash=1;Rinse=1;Dehydration=1;Finish=0;Start_Flag=0; Sta=1;Fas=1;Sof=1;Tes=1; } //電機控制 } }voidEle_Control(unsignedchartimes){ if(times==0||times==2){Posi_Flag=0;Rever_Flag=0;}//停 elseif(times==1){Posi_Flag=1;Rever_Flag=0;}//正 elseif(times==3){Rever_Flag=1;Posi_Flag=0;}//反}/********************************************************************************函數(shù)名:main*函數(shù)功能 :主函數(shù)*輸入:無*輸出:無*說明:*******************************************************************************/voidmain(void){ gai=0; Time_Init();//初始化定時器 while(1) { Choose_Mode();//模式選擇 Time_Contrl();//時間控制 Function_Control();//功能運行 Stop_Scan();//停止 }}/********************************************************************************函數(shù)名:Time_Init*函數(shù)功能 :定時器初始化*輸入:無*輸出:無*說明:*******************************************************************************/voidTime_Init(){ TMOD=0x11; TH0=(65536-50000)/256;//定時器0賦初值 TL0=(65536-50000)%256;//定時

溫馨提示

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

最新文檔

評論

0/150

提交評論