利用SPMC75F2413A來(lái)開(kāi)發(fā)直流變頻洗衣機
洗衣機是一種在家庭中不可缺少的家用電器,發(fā)展非???,全自動(dòng)式洗衣機因使用方便得到大家的青睞,全自動(dòng)即進(jìn)水、洗滌、漂洗、甩干等一系列過(guò)程自動(dòng)完成,控制器通常設有幾種洗滌程序,對不同的衣物可供用戶(hù)選擇。變頻控制依其高性能、節能等優(yōu)點(diǎn)在洗衣機的控制中得到廣泛應用,下面介紹采用凌陽(yáng)科技公司的SPMC75F2413A和SPCE061A單片機來(lái)設計的直流變頻洗衣機的控制系統。
2芯片特性簡(jiǎn)介
SPMC75F2413A是凌陽(yáng)科技公司開(kāi)發(fā)的用于變頻驅動(dòng)的嵌入式16位微控制器,適用于變頻電動(dòng)機驅動(dòng)、電源、家電和車(chē)內風(fēng)扇控制系統等領(lǐng)域。
特性包括:
◆凌陽(yáng)16位u’nSP處理器(ISA 1.2)
◆工作電壓:4.5V~5.5V
◆最高運行速度:24MHz
◆工作溫度: -40 ℃~85 ℃
◆芯片內存儲器:
32KW (32K×16) Flash
2KW (2K×16) SRAM
◆基于時(shí)鐘發(fā)生模塊的鎖相環(huán)電路
◆看門(mén)狗定時(shí)器
◆10位模/數轉換器
8通道輸入
10us (100kHz)轉換時(shí)間
◆串行通訊接口
通用異步串行通訊接口(UART)
標準外圍接口(SPI)
◆64(QFP80)/53(QFP64、SDIP64)個(gè)通用輸入輸出管腳
◆電源管理
2種低功耗模式:Wait/Standby
每個(gè)外設都可以獨立的供電
◆兩個(gè)比較匹配定時(shí)器
◆5個(gè)16位通用定時(shí)器
2個(gè)用于驅動(dòng)電機的脈寬調制輸出(互補的3相6路脈寬調制輸出)
2個(gè)用于速度捕獲
1個(gè)用于速度反饋環(huán)
◆中心(center)或邊沿(edge)脈寬調制輸出
◆通過(guò)外部錯誤保護管腳進(jìn)行脈寬調制輸出保護
◆可編程的死區控制(Dead time control)
◆脈寬調制服務(wù)和錯誤中斷發(fā)生
◆具備驅動(dòng)交流感應電機和直流無(wú)刷電機的能力
◆內嵌在線(xiàn)仿真功能(ICE)
3系統總體方案介紹
整個(gè)系統主要由兩部分組成:由SPMC75F2413A控制的DMC控制板和由SPCE061A控制的PANEL板,兩者之間的連接系統方塊圖如圖3-1所示。
圖3-1 變頻洗衣機系統組成框圖
PANEL控制器采用16 位SPCE061A控制器,主要完成的功能有:按鍵掃瞄、狀態(tài)顯示與通訊。洗衣機的控制通過(guò)按鍵輸入來(lái)選擇操作模式,并可設定選擇水量、預約時(shí)間,詳細設定洗衣、洗凈及脫水的參數;電源按鍵鈕為起始與驅動(dòng)控制電路板的連接,起動(dòng)或暫停鍵為運轉洗衣機或暫停。運轉過(guò)程中的剩余時(shí)間透過(guò)7 段顯示器來(lái)顯示。
DMC 控制器采用16 位SPMC75F2413A 單芯片控制器,主要完成的功能有:偵測馬達轉子的位置訊號,以120 度方波驅動(dòng)PWM 方式驅動(dòng)直流無(wú)刷馬達。
4系統硬件設計
系統控制包括DMC控制板和PANEL控制板兩部分,下面主要介紹DMC控制板硬件設計。
4.1 電源電路
圖4-1為EMI 電源濾波器與單相全橋整流器電路,AC 電源輸入接頭為CON1,電壓為220VAC,電源輸入端通過(guò)突波吸收器ZNR3以避免過(guò)大的電壓突波損壞器件,C8 與C12 串聯(lián)后連接至接地點(diǎn),通常也可以連接至機殼。透過(guò)全橋整流器DB1整流、C13 濾波后可得到輸出直流電壓。
圖4-1 EMI 電源濾波器
圖4-2為DC/DC電源供應電路,電源供應器的輸出側電源為P+18V 與+12V。P+18V 電源輸出后分別透過(guò)IC21與IC22 產(chǎn)生P+15V 與P+5V,以供給IPM 功率模塊的工作電壓。而+12V 經(jīng)線(xiàn)性穩壓器IC20產(chǎn)生+5V 電源供給SPMC75F2413A 等數字電路的工作電壓。
圖4-2 DC/DC電源供應電路
4.2MCU控制電路
圖4-3為MCU控制電路,此部分的電路主要是以u’nSP SPMC75F2413A 微控制器為主,CON5連接在線(xiàn)調試、仿真器ICE。
圖4-3 MCU控制電路
4.3IPM馬達驅動(dòng)電路
圖4-4為IPM馬達驅動(dòng)電路,因為驅動(dòng)的馬達為三相變頻,因此一般來(lái)說(shuō)微控制器需具備能夠輸出6 個(gè)PWM 訊號的能力,SPMC75F2413A 在芯片硬件上可由MCP 與PDC 定時(shí)器模塊完成此功能。IPM 模塊內集成了驅動(dòng)回路與過(guò)電流檢測電路,MCU 的PWM 輸出訊號通過(guò)光耦送到IPM 模塊,但在實(shí)際應用上需考慮到對MCU 的保護以及與快速地對IPM 模塊產(chǎn)生高阻抗訊號,光耦的正常驅動(dòng),因此在電路中加入了IC12 的緩沖電路;過(guò)電流回饋訊號經(jīng)光耦合器后連接到FTINx 的輸入腳,以求能夠對IPM 模塊快速地保護。D5、D6、D7、C37、C40 與C43 產(chǎn)生組成自舉電路提供IPM上臂開(kāi)關(guān)的驅動(dòng)信號。
圖4-4 IPM馬達驅動(dòng)電路
4.4 水位檢測電路
圖4-5為洗衣機的水位檢測電路,CON4連接水位傳感器,水壓大小產(chǎn)生LC 震蕩,壓力越小則頻率越大,反之亦然。當接近零水位時(shí),輸出頻率約在27.8KHz。此頻率通過(guò)F/V 轉換電路,轉換為模擬電壓輸入至芯片內ADC 模塊來(lái)計算水位高低。
F/V 轉換電路由IC7所產(chǎn)生,電路組件R33 與C36 形成輸入端高通濾波器以濾除直流電壓,輸出電壓大小由R30、C33 與輸入頻率決定,電壓計算式為: Vo = R30 x C33 x Vcc x Fin;其中Vcc 為+5V、Fin 為輸入頻率。
圖4-5 水位檢測電路
5系統軟件設計
變頻洗衣機控制器主要以雙MCU 設計,兩控制器通過(guò)串行通訊交換訊息與系統控制,設定SPCE061A 面板控制器為主機,SPMC75F2413A 馬達驅動(dòng)控制器為從機。主機負責整個(gè)傳輸的過(guò)程;從機端負責接收主機端傳送的命令并執行,且需響應相對應的ACK 訊號給主機,相對地。當使用者在面板控制器上下達對應的運轉命令后,從機負責執行,當有異常狀況發(fā)生時(shí),從機實(shí)時(shí)回報或直接能夠由主機檢知,利用顯示電路通知使用者。
因此本系統的軟件開(kāi)發(fā)包括針對馬達驅動(dòng)、通訊格式與通訊狀態(tài)機切換、洗衣機狀態(tài)機切換、按鍵掃瞄與狀態(tài)顯示等程序為主;以下將針對DMC 控制器與PANEL 控制器重要的程序給予說(shuō)明。
5.1 直流無(wú)刷馬達驅動(dòng)程序
在DMC 控制器主要負責直流變頻馬達驅動(dòng),可區分為兩大部分:內回路的電壓控制與外回路的速度控制。內回路電壓控制系針對偵測到的馬達轉子位置(由霍爾組件讀取得到),由于馬達轉子為永久磁石結構,因此由微控制器所輸出的電壓訊號需對應于所讀取到的霍爾組件訊號,在實(shí)際的設計例中是以定時(shí)器Timer3 產(chǎn)生4000Hz 的固定周期的中斷時(shí)間,在每次中斷程序中會(huì )對霍爾組件輸入接口作讀取的動(dòng)作,并輸出相應的電壓H/L與PWM 訊號,此程序以有限狀態(tài)機實(shí)現,共區分3 個(gè)狀態(tài)為PHSIDLE、PHSHOLD 與PHSRUN,在PHSIDLE 主要工作在禁能DMC 驅動(dòng)器并對調控參數進(jìn)行初始化,PHSHOLD 狀態(tài)在保證產(chǎn)生自舉電壓,而PHSRUN 則是真正產(chǎn)生120 度方波訊號,詳細程序流程可參考如圖5-1 所示。
圖5-1 狀態(tài)切換流程
5.2 馬達轉速計算與控制程序
洗衣機的直流無(wú)刷馬達為同步馬達,亦即馬達的機械轉速與磁場(chǎng)旋轉頻率為同步的。因此可根據馬達的霍爾位置訊號計算脈波寬度的時(shí)間即可計算出馬達的實(shí)際轉速,達到閉回路的速度控制。利用SPMC75F2413A的PDC0中斷做相位檢測,TPM2定時(shí)器中斷計時(shí)來(lái)完成位置檢測和速度計算。圖5-2為PDC0和TPM2中斷流程。
圖5.2 PDC0和TPM2中斷流程
其中PDC0_PDCINT_ISR()負責檢測霍爾組件的脈波寬度,TMR2_TPRINT_ISR()負責當馬達轉速變化時(shí)更新實(shí)際轉速值并作控制。
5.3串行通訊程序
DMC控制器和PANEL 控制器通過(guò)UART交換訊息,采用CRC校驗方式,所有的通訊動(dòng)作的起始、中止與異常檢出皆由PANEL 控制器所主導。
DMC 控制器以環(huán)形隊列(circular queue)存儲數據,串行字符是以中斷接收并儲存在的緩沖區中。DMC 控制器檢查所收到的串行字符命令,若所收到的字符組正確無(wú)誤,則對相應的命令回應給PANEL 控制器,若是接收為有效的命令,則執行Decode_RxStream()程序以譯碼出控制命令與數據,并對PANEL 控制器發(fā)出ACK訊號;反之,若接收為無(wú)效的命令,則對PANEL 控制器發(fā)出NACK 的訊息,以利PANEL 控制器作訊息的控制與再傳送的動(dòng)作。程序流程圖如圖5-3 所示。
圖5-3 串行通訊程序流程
5.4PANEL控制器韌體說(shuō)明
當按下『電源』按鍵時(shí),PANEL 控制器將會(huì )開(kāi)始通訊動(dòng)作,嘗試與DMC 控制器握手特定的訊息內容,當從回傳的字符組被PANEL 控制器認可后,才可接受使用者對洗衣機的操作;否則,將判定為通訊異常情況發(fā)生。當使用者已經(jīng)選擇將洗衣模式與參數內容后,按下『?jiǎn)?dòng)/暫?!话存I會(huì )使馬達開(kāi)始運轉。系統預設有4 種運轉程序,對應的洗衣參數見(jiàn)表5-1:
表5-1 洗衣程序內容
上表在P1 程序可單獨調整個(gè)別參數,但P0、P2 與P3 程序則無(wú)法更改系統默認值。舉例說(shuō)明,當使用者只需要對作衣物脫水的動(dòng)作,只需要將洗衣時(shí)間、洗衣次數對應的7 段顯示器調整至不顯示,再調整所需的脫水時(shí)間,按下啟動(dòng)按鍵,即進(jìn)入脫水模式。
『預約時(shí)間』的設定則由3 小時(shí)至9 小時(shí),每次調整間隔1 小時(shí)。上述功能在軟件設計上是以定時(shí)器中斷執行,時(shí)間的設定利用Timer B 定時(shí)器(IRQ2 中斷),設定為8000Hz 頻率中斷,在此程序中分為2 個(gè)time slice,分別為T(mén)ick1Func 與Tick2Func,程序如圖5-4 所示,因此Tick1Func 與Tick2Func 程序的執行頻率為4000Hz。
圖5-4 IRQ2 中斷流程
在Tick1Func程序中,除了對按鍵輸入作掃瞄的動(dòng)作,另外依據按下的按鍵內容更改SystemT 與SystemF 結構的內容,其中SystemT 主要儲存設定洗衣參數內容并更新SA7Wash 的結構(用于狀態(tài)機切換), ystemF 為紀錄運轉的狀態(tài)標志。當洗衣參數被更改后,將會(huì )改變預估洗衣完成時(shí)間,并于7 段顯示器中顯示。Tick2Func 程序負責掃瞄電路上的顯示電路,采用高速的循序顯示,以節省IO 接口的資源,此程序并包含依據水量的預估來(lái)提示使用者所需加入的洗劑量。
6結語(yǔ)
該系統采用凌陽(yáng)科技公司的SPMC75F2413A和SPCE061A單片機來(lái)完成直流變頻洗衣機的控系統制,SPMC75F2413A為專(zhuān)用于變頻馬達控制的IC,其強大的PWM輸出功能使得程序開(kāi)發(fā)非常方便。SPCE061A除了具有普通單片機的功能以外,還具有語(yǔ)音識別、語(yǔ)音錄放等功能,可以將洗衣機的一些使用狀態(tài)、常識播報出來(lái)。
評論