為提高家用雙缸洗衣機控制系統的性能,改善定時精確度和洗滌效果,基于可編程性強的FPGA設計了一種用于洗衣機的控制系統,并進行了時序仿真。通過實驗時設計方案進行了完善,得到了可進行數字化控制和顯示的洗衣機控制系統,有效地提高了洗衣機性能。 1 系統控制邏輯設計 傳統雙缸洗衣機洗滌模式分為強洗、輕柔、標準3種。根據傳統洗衣機的洗滌模式,文中分別設計了3種洗滌模式的控制邏輯。強洗時:洗滌電機以1 200 r/min的轉速正向連續工作5 s,之后暫停工作2 s;然后電機以相同的轉速反向連續工作5 s,后暫停2 s,如此循環控制電機,直到洗滌定時結束。標準和輕柔洗時:其邏輯控制過程和強洗相同,不同的是電機分別以1 000r/min和800r/min的轉速連續工作。洗滌時間通過控制面板的時間增減按鍵設置?刂葡到y的默認值為標準模式洗滌,洗滌時間為10 min?赏ㄟ^模式選擇按鍵和洗滌時間設置按鍵選擇自己想要的洗滌模式和時間,當一次洗滌結束,系統自動返回默認狀態。洗滌過程由啟/停鍵控制。洗滌的定時誤差小于0.2s。 2 控制系統總體設計 系統主要由FPGA主控芯片、模式選擇控制、中斷控制、排水電磁閥控制、定時器輸入控制、聲光報警電路、洗滌電機和整個系統的供電電路組成。如圖1所示。 2.1 FPGA芯片選擇 在FPGA的應用過程中,首先就是要對FPGA芯片進行選型,根據具體應用選擇合適的FPGA芯片對于下一步的開發以及功能實現有著重要的意義。我們根據前面平臺的總體設計,可以得出對芯片的基本要求如下:1)成本低;2)需要最少4路PWM波形輸出:3)需要較高的12 V轉化為3.3 V的實時芯片;4)要有較高的處理速度;5)I/O接口要多。 綜合考慮以上條件,采用Altera公司生產的CycloneII系列FPGA中的EP2C35F672C6型號基本滿足要求。它具有出色的運算速度、低成本且帶有DSP模塊、超大的內部存儲器、多通道PWM的輸出、靈活的設計和多種語言的綜合運用。其優勢突出,性價比較高。 2.2 配置電路 FPGA芯片正常工作需要完整的配置電路,下面從硬件的選型和設計上對配置電路做一下要點分析。 1)電源電路的設計 電源系統為整個系統提供能量,是系統正常工作的保障,具有極其重要的地位。一個好的電源往往能使系統的故障減少一半以上。因為市電為220 V交流電,所以在給控制系統供電之前需要一個變壓器將電壓降為5 V,FPGA的I/O端口供電點壓是3.3 V,內核供電電壓是1.2 V,需再由TPS37HD301將5 V轉化為3.3 V和1.2 V。FPGA的端口電壓是3.3 V,為將I/O電壓升壓到5 V,在這里使用74HCT245升壓芯片。 2)時鐘和復位電路的設計 時鐘電路中用ZPB-26-16M作為有源晶振。它的頻率為16M,這使得串口波特率更加精確,同時可以支持芯片內部的PPL功能及ISP下載功能,使系統運行速度更快,更方便程序調試下載。復位電路采取硬件復位和軟件復位。 3)調試JTAG和下載電路FPGA 內部可以直接搭建軟核。ISP和JTAG,所以在硬件電路接一個IDC-10的JTAG接口即可滿足要求。 4)配置存儲電路 選EPCS16作為FPGA的ROM,可以由下載電纜或其他設備進行重復編程,也可以通過AS接口進行在線系統編程。用FPGA芯片內部自帶的4M的On-Chip memory作為FPGA的RAM。 5)聲光報警電路 聲光電路主要由發光二極管和蜂鳴器組成,直接接入FPGA,來提醒洗衣機的工作狀態。 6)時間輸入和顯示電路 利用4個按鍵輸入洗滌時間,兩個數碼管顯示設定時間。有關設定洗滌時間是由FPGA內部的定時器計時的,計時完成洗滌結束。 7)模式選擇和中斷控制 模式選擇主要通過3個按鍵輸入洗滌的模式(強洗、標準、輕柔)。為了讓洗衣機在工作的時候能夠隨時停止工作,在控制電路中加一個中斷控制按鍵。 8)排水控制電路 當洗衣機工作完成后,通過控制電路中的排水按鍵給FPGA一個信號,由其輸出控制信號,控制電磁閥。 3 主控系統關鍵程序設計 將程序設計分為硬件程序設計和軟件程序設計兩部分,硬件程序設計要對硬件電路進行時序仿真以確定達到涮試的效果。FPGA開發環境是由Ouartus II進行硬核平臺的搭建與設計和Nios II進行軟核編程組成,這里用的是Quartus II9.0和Nios II 9.0軟件。 3.1 模式控制電路設計 在模式控制電路中,用key1、key2、key3 3個按鈕選擇模式,分別代表強洗、標準、輕柔。在洗滌之前選擇洗滌的模式,在洗滌的過程中由FPGA輸出控制信號,控制洗滌電機的工作。根據洗滌控制電路性能要求,搭建硬件原理圖,編譯后對key1、key2、key3進行時序仿真,分析時序關系,估計設計的性能及檢查和消除競爭冒險。仿真結果如圖2所示。其中Output輸出的是控制電機轉速的PWM波形。 由上圖可以看出,當依次按下key1、key2、key3時,output輸出波形的頻率是越來越小,使得電機轉速也是越來越小,電機的輸出力矩也會隨之變小。 3.2 電機控制模塊設計 在電機控制模塊里,通過FPGA輸出驅動信號,控制洗滌電機的正反向轉動,以達到洗滌的目的。根據原理和性能要求,搭建硬件原理圖,編譯后對洗滌電機控制信號進行時序仿真,來研究其性能是否符合設計的要求。仿真結果如圖3所示。 圖中的clr為片選信號,輸出output為電機驅動信號,fd為電機方向信號,output16是送往SOPC的信號,clr是由SOPC送出的控制信號。由仿真圖看出,當片選信號clr為高電平時,開始10個PWM波形的fd信號為高,接下來的后10個PWM波形電機方向信號fd則變為低電平。這個過程說明洗衣機完成了一次順時針洗衣和逆時針洗衣的過程,順時針洗衣服的時間是由lpm_cunstant控制的,在這里用10個波形代替。 3.3 整體流程圖設計 硬件設計調試完成后,還要進行軟件系統設計。在C語言文件中編寫C程序進行SOPC的編程(簡稱軟核編程)。最后利用NiosII軟件把Quar tus II產生的硬核文件.SOF文件和Nios II軟件產生的.JDI文件下載到存儲器。整體工作流程圖如圖4所示。 洗衣機在通電后先要手動的關閉排水閥,再進行人工注水,然后設置洗滌的模式和洗滌的時間。當各項設置完成后按下啟動按鈕,這是洗衣機開始正常的工作,同時定時器開始工作。在工作過程中由循環程序和FPGA協同控制洗滌電機的轉動,當洗滌完成后蜂鳴器報警,洗滌工作結束。 4 結束語 本文洗衣機控制系統的組成成本低廉、原理簡單、使用方便、結構緊湊,而且FPGA具有很強的可編程性,在日后的實際使用中可繼續開發拓展更多的功能。在設計和最后的開發板仿真中,結果表明該系統實現了控制邏輯功能,具有洗滌、定時、數碼顯示等功能,可很好的替代傳統的機械式控制系統,在洗衣機的控制方面具有很高的實用價值。 |