基于FPGA的洗衣機(jī)控制系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:為提高家用雙缸洗衣機(jī)控制系統(tǒng)的性能,改善定時(shí)精確度和洗滌效果,基于可編程性強(qiáng)的FPGA設(shè)計(jì)了一種用于洗衣機(jī)的控制系統(tǒng),并進(jìn)行了時(shí)序仿真。通過實(shí)驗(yàn)時(shí)設(shè)計(jì)方案進(jìn)行了完善,得到了可進(jìn)行數(shù)字化控制和顯示的洗衣機(jī)控制系統(tǒng),有效地提高了洗衣機(jī)性能。
關(guān)鍵詞:控制理論與控制工程;FPGA;洗衣機(jī)控制系統(tǒng);Quartus II;Nios II
隨著時(shí)代的發(fā)展,洗衣機(jī)已成為人們?nèi)粘I钪械谋匦杵?。目前全自動單筒、滾筒洗衣機(jī)已日漸盛行,但其結(jié)構(gòu)復(fù)雜,日常維修和購買時(shí)成本偏高,所以結(jié)構(gòu)簡單、價(jià)格實(shí)惠的雙缸洗衣機(jī)依然受到普通大眾的歡迎。從市場反饋的情況發(fā)現(xiàn),雙缸洗衣機(jī)的控制電路因?yàn)椴捎昧藗鹘y(tǒng)機(jī)械式的轉(zhuǎn)鈕,所以發(fā)生故障的概率很高,且一直以來都未找到合適的問題解決辦法。隨著芯片制造工藝的發(fā)展和成本的進(jìn)一步降低,可編程門陣列以其具有體系結(jié)構(gòu)和邏輯單元靈活、集成度高以及適用范嗣寬等特點(diǎn),在大規(guī)模數(shù)據(jù)計(jì)算、嵌入式處理、通信、家用電器智能控制等方面都被廣泛使用。為了改善家用雙缸洗衣機(jī)機(jī)械控制系統(tǒng),本文充分利用FPGA的特點(diǎn),用其作為洗衣機(jī)控制系統(tǒng)的核心,配置電路和控制邏輯的設(shè)計(jì)是該系統(tǒng)的重要組成部分,該控制系統(tǒng)很好的解決了洗衣機(jī)機(jī)械式控制的問題,實(shí)現(xiàn)了洗衣機(jī)的正常工作。
1 系統(tǒng)控制邏輯設(shè)計(jì)
傳統(tǒng)雙缸洗衣機(jī)洗滌模式分為強(qiáng)洗、輕柔、標(biāo)準(zhǔn)3種。根據(jù)傳統(tǒng)洗衣機(jī)的洗滌模式,文中分別設(shè)計(jì)了3種洗滌模式的控制邏輯。強(qiáng)洗時(shí):洗滌電機(jī)以1 200 r/min的轉(zhuǎn)速正向連續(xù)工作5 s,之后暫停工作2 s;然后電機(jī)以相同的轉(zhuǎn)速反向連續(xù)工作5 s,后暫停2 s,如此循環(huán)控制電機(jī),直到洗滌定時(shí)結(jié)束。標(biāo)準(zhǔn)和輕柔洗時(shí):其邏輯控制過程和強(qiáng)洗相同,不同的是電機(jī)分別以1 000r/min和800r/min的轉(zhuǎn)速連續(xù)工作。洗滌時(shí)間通過控制面板的時(shí)間增減按鍵設(shè)置??刂葡到y(tǒng)的默認(rèn)值為標(biāo)準(zhǔn)模式洗滌,洗滌時(shí)間為10 min??赏ㄟ^模式選擇按鍵和洗滌時(shí)間設(shè)置按鍵選擇自己想要的洗滌模式和時(shí)間,當(dāng)一次洗滌結(jié)束,系統(tǒng)自動返回默認(rèn)狀態(tài)。洗滌過程由啟/停鍵控制。洗滌的定時(shí)誤差小于0.2s。
2 控制系統(tǒng)總體設(shè)計(jì)
系統(tǒng)主要由FPGA主控芯片、模式選擇控制、中斷控制、排水電磁閥控制、定時(shí)器輸入控制、聲光報(bào)警電路、洗滌電機(jī)和整個(gè)系統(tǒng)的供電電路組成。如圖1所示。
2.1 FPGA芯片選擇
在FPGA的應(yīng)用過程中,首先就是要對FPGA芯片進(jìn)行選型,根據(jù)具體應(yīng)用選擇合適的FPGA芯片對于下一步的開發(fā)以及功能實(shí)現(xiàn)有著重要的意義。我們根據(jù)前面平臺的總體設(shè)計(jì),可以得出對芯片的基本要求如下:1)成本低;2)需要最少4路PWM波形輸出:3)需要較高的12 V轉(zhuǎn)化為3.3 V的實(shí)時(shí)芯片;4)要有較高的處理速度;5)I/O接口要多。
綜合考慮以上條件,采用Altera公司生產(chǎn)的CycloneII系列FPGA中的EP2C35F672C6型號基本滿足要求。它具有出色的運(yùn)算速度、低成本且?guī)в蠨SP模塊、超大的內(nèi)部存儲器、多通道PWM的輸出、靈活的設(shè)計(jì)和多種語言的綜合運(yùn)用。其優(yōu)勢突出,性價(jià)比較高。
2.2 配置電路
FPGA芯片正常工作需要完整的配置電路,下面從硬件的選型和設(shè)計(jì)上對配置電路做一下要點(diǎn)分析。
1)電源電路的設(shè)計(jì) 電源系統(tǒng)為整個(gè)系統(tǒng)提供能量,是系統(tǒng)正常工作的保障,具有極其重要的地位。一個(gè)好的電源往往能使系統(tǒng)的故障減少一半以上。因?yàn)槭须姙?20 V交流電,所以在給控制系統(tǒng)供電之前需要一個(gè)變壓器將電壓降為5 V,F(xiàn)PGA的I/O端口供電點(diǎn)壓是3.3 V,內(nèi)核供電電壓是1.2 V,需再由TPS37HD301將5 V轉(zhuǎn)化為3.3 V和1.2 V。FPGA的端口電壓是3.3 V,為將I/O電壓升壓到5 V,在這里使用74HCT245升壓芯片。
2)時(shí)鐘和復(fù)位電路的設(shè)計(jì) 時(shí)鐘電路中用ZPB-26-16M作為有源晶振。它的頻率為16M,這使得串口波特率更加精確,同時(shí)可以支持芯片內(nèi)部的PPL功能及ISP下載功能,使系統(tǒng)運(yùn)行速度更快,更方便程序調(diào)試下載。復(fù)位電路采取硬件復(fù)位和軟件復(fù)位。
3)調(diào)試JTAG和下載電路FPGA 內(nèi)部可以直接搭建軟核。ISP和JTAG,所以在硬件電路接一個(gè)IDC-10的JTAG接口即可滿足要求。
4)配置存儲電路 選EPCS16作為FPGA的ROM,可以由下載電纜或其他設(shè)備進(jìn)行重復(fù)編程,也可以通過AS接口進(jìn)行在線系統(tǒng)編程。用FPGA芯片內(nèi)部自帶的4M的On-Chip memory作為FPGA的RAM。
5)聲光報(bào)警電路 聲光電路主要由發(fā)光二極管和蜂鳴器組成,直接接入FPGA,來提醒洗衣機(jī)的工作狀態(tài)。
6)時(shí)間輸入和顯示電路 利用4個(gè)按鍵輸入洗滌時(shí)間,兩個(gè)數(shù)碼管顯示設(shè)定時(shí)間。有關(guān)設(shè)定洗滌時(shí)間是由FPGA內(nèi)部的定時(shí)器計(jì)時(shí)的,計(jì)時(shí)完成洗滌結(jié)束。
7)模式選擇和中斷控制 模式選擇主要通過3個(gè)按鍵輸入洗滌的模式(強(qiáng)洗、標(biāo)準(zhǔn)、輕柔)。為了讓洗衣機(jī)在工作的時(shí)候能夠隨時(shí)停止工作,在控制電路中加一個(gè)中斷控制按鍵。
8)排水控制電路 當(dāng)洗衣機(jī)工作完成后,通過控制電路中的排水按鍵給FPGA一個(gè)信號,由其輸出控制信號,控制電磁閥。
3 主控系統(tǒng)關(guān)鍵程序設(shè)計(jì)
將程序設(shè)計(jì)分為硬件程序設(shè)計(jì)和軟件程序設(shè)計(jì)兩部分,硬件程序設(shè)計(jì)要對硬件電路進(jìn)行時(shí)序仿真以確定達(dá)到涮試的效果。FPGA開發(fā)環(huán)境是由Ouartus II進(jìn)行硬核平臺的搭建與設(shè)計(jì)和Nios II進(jìn)行軟核編程組成,這里用的是Quartus II9.0和Nios II 9.0軟件。
3.1 模式控制電路設(shè)計(jì)
在模式控制電路中,用key1、key2、key3 3個(gè)按鈕選擇模式,分別代表強(qiáng)洗、標(biāo)準(zhǔn)、輕柔。在洗滌之前選擇洗滌的模式,在洗滌的過程中由FPGA輸出控制信號,控制洗滌電機(jī)的工作。根據(jù)洗滌控制電路性能要求,搭建硬件原理圖,編譯后對key1、key2、key3進(jìn)行時(shí)序仿真,分析時(shí)序關(guān)系,估計(jì)設(shè)計(jì)的性能及檢查和消除競爭冒險(xiǎn)。仿真結(jié)果如圖2所示。其中Output輸出的是控制電機(jī)轉(zhuǎn)速的PWM波形。
由上圖可以看出,當(dāng)依次按下key1、key2、key3時(shí),output輸出波形的頻率是越來越小,使得電機(jī)轉(zhuǎn)速也是越來越小,電機(jī)的輸出力矩也會隨之變小。
3.2 電機(jī)控制模塊設(shè)計(jì)
在電機(jī)控制模塊里,通過FPGA輸出驅(qū)動信號,控制洗滌電機(jī)的正反向轉(zhuǎn)動,以達(dá)到洗滌的目的。根據(jù)原理和性能要求,搭建硬件原理圖,編譯后對洗滌電機(jī)控制信號進(jìn)行時(shí)序仿真,來研究其性能是否符合設(shè)計(jì)的要求。仿真結(jié)果如圖3所示。
圖中的clr為片選信號,輸出output為電機(jī)驅(qū)動信號,fd為電機(jī)方向信號,output16是送往SOPC的信號,clr是由SOPC送出的控制信號。由仿真圖看出,當(dāng)片選信號clr為高電平時(shí),開始10個(gè)PWM波形的fd信號為高,接下來的后10個(gè)PWM波形電機(jī)方向信號fd則變?yōu)榈碗娖健_@個(gè)過程說明洗衣機(jī)完成了一次順時(shí)針洗衣和逆時(shí)針洗衣的過程,順時(shí)針洗衣服的時(shí)間是由lpm_cunstant控制的,在這里用10個(gè)波形代替。
3.3 整體流程圖設(shè)計(jì)
硬件設(shè)計(jì)調(diào)試完成后,還要進(jìn)行軟件系統(tǒng)設(shè)計(jì)。在C語言文件中編寫C程序進(jìn)行SOPC的編程(簡稱軟核編程)。最后利用NiosII軟件把Quar tus II產(chǎn)生的硬核文件.SOF文件和Nios II軟件產(chǎn)生的.JDI文件下載到存儲器。整體工作流程圖如圖4所示。
洗衣機(jī)在通電后先要手動的關(guān)閉排水閥,再進(jìn)行人工注水,然后設(shè)置洗滌的模式和洗滌的時(shí)間。當(dāng)各項(xiàng)設(shè)置完成后按下啟動按鈕,這是洗衣機(jī)開始正常的工作,同時(shí)定時(shí)器開始工作。在工作過程中由循環(huán)程序和FPGA協(xié)同控制洗滌電機(jī)的轉(zhuǎn)動,當(dāng)洗滌完成后蜂鳴器報(bào)警,洗滌工作結(jié)束。
4 結(jié)束語
本文洗衣機(jī)控制系統(tǒng)的組成成本低廉、原理簡單、使用方便、結(jié)構(gòu)緊湊,而且FPGA具有很強(qiáng)的可編程性,在日后的實(shí)際使用中可繼續(xù)開發(fā)拓展更多的功能。在設(shè)計(jì)和最后的開發(fā)板仿真中,結(jié)果表明該系統(tǒng)實(shí)現(xiàn)了控制邏輯功能,具有洗滌、定時(shí)、數(shù)碼顯示等功能,可很好的替代傳統(tǒng)的機(jī)械式控制系統(tǒng),在洗衣機(jī)的控制方面具有很高的實(shí)用價(jià)值。