許榮再
摘要:文章簡(jiǎn)要介紹了全自動(dòng)洗碗機(jī)的工作原理及主要功能,分析了洗碗機(jī)的幾個(gè)主要檢測(cè)對(duì)象及控制對(duì)象的具體控制需求。給出了一款以STM8S系列單片機(jī)為控制核心的洗碗機(jī)控制器的具體設(shè)計(jì)方案,介紹了系統(tǒng)各主要功能模塊的原理圖設(shè)計(jì)、軟件總體框架結(jié)構(gòu)以及部分軟件模塊的設(shè)計(jì)思路等。該方案同時(shí)考慮了兼容性設(shè)計(jì)的問(wèn)題,可兼容兩種顯示方案,三種類型的洗滌電機(jī)以及多種運(yùn)行參數(shù)選擇。
關(guān)鍵詞:STM8S;單片機(jī);兼容性設(shè)計(jì);洗碗機(jī)控制器;軟件結(jié)構(gòu)
中圖分類號(hào):TP368 文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1006-8937(2014)20-0023-03
洗碗機(jī)在歐美已廣泛應(yīng)用于普通家庭的廚房中,有數(shù)據(jù)統(tǒng)計(jì),在歐美主要國(guó)家,洗碗機(jī)的普及率已達(dá)到70%以上,幾乎是家家戶戶必備的廚房生活電器。而在中國(guó),由于生活習(xí)慣的影響,洗碗機(jī)一直無(wú)法得到普及,但隨著現(xiàn)代都市生活品質(zhì)的不斷提高,人們?cè)絹?lái)越關(guān)注生活中能帶來(lái)更多便利的電器,洗碗機(jī)也在吸引著更多中國(guó)消費(fèi)者的眼球,它的便利性正逐步得到人們的認(rèn)可。目前市場(chǎng)上Electrolux、SIEMENS、Whirlpool、SANYO、Hair、Midea等國(guó)內(nèi)外著名品牌均推出其洗碗機(jī)產(chǎn)品,洗碗機(jī)產(chǎn)品具有很廣闊的市場(chǎng)前景。
1工作原理及主要功能
洗碗機(jī)是用于洗碗的機(jī)器,它可用于自動(dòng)清洗碗、盤(pán)、碟、勺子、筷子等餐具。根據(jù)洗碗機(jī)的用途、洗滌方式、安裝方式、控制方式、開(kāi)門(mén)方式等,可將它分為多種種類及型號(hào)。本文主要討論的是家用噴淋式全自動(dòng)洗碗機(jī)的設(shè)計(jì)方案及實(shí)現(xiàn)方式,該產(chǎn)品也是目前家用洗碗機(jī)中最主要的產(chǎn)品形式。
此類型洗碗機(jī)的主要工作原理就是用水泵將加熱后的水抽送到旋轉(zhuǎn)噴臂,在水壓的作用下噴臂會(huì)旋轉(zhuǎn),水通過(guò)旋轉(zhuǎn)噴臂上的小孔向上下左右強(qiáng)力噴淋,輔助以清潔劑等物品,將碗碟上的油污等沖洗干凈,從而達(dá)到清洗碗碟的目的。噴淋式洗碗機(jī)工作原理如圖1所示。
洗碗機(jī)的主要功能包括洗滌、消毒、烘干、預(yù)約、水質(zhì)軟化、掉電自動(dòng)記憶、學(xué)習(xí)功能等,系統(tǒng)提供多種洗滌程序供用戶選擇,用戶可根據(jù)需要選擇普通、快速、強(qiáng)力、夜間、精細(xì)、自保養(yǎng)等洗滌模式。
2系統(tǒng)硬件方案
洗碗機(jī)控制器的系統(tǒng)主要組成部分如圖2所示,由于洗碗機(jī)的系統(tǒng)功能比較復(fù)雜,需要檢測(cè)及控制的信號(hào)量比較多,主要負(fù)載包括洗滌泵、進(jìn)水閥、排水閥、加熱器、洗滌劑閥等,其中加熱器采用繼電器控制,其余負(fù)載均采用可控硅控制。在洗滌泵的控制電路設(shè)計(jì)上考慮了兼容性,可兼容三種類型的電機(jī):無(wú)轉(zhuǎn)速反饋的交流電機(jī)、帶轉(zhuǎn)速反饋的交流電機(jī)以及BLAC調(diào)速電機(jī)。主要的信號(hào)輸入量包括:水溫、門(mén)開(kāi)關(guān)、水位開(kāi)關(guān)、溢流、過(guò)零信號(hào)、加熱器反饋信號(hào)、電機(jī)轉(zhuǎn)速、缺鹽信號(hào)等。用戶操作界面包括6個(gè)按鍵、10個(gè)LED、2位數(shù)碼管、蜂鳴器等。下面分別介紹部分主要電路的設(shè)計(jì)方案。
2.1主控芯片選擇
考慮到洗碗機(jī)控制器系統(tǒng)軟硬件復(fù)雜程度高,系統(tǒng)整體需求較高,結(jié)合芯片性能、價(jià)格等因素,選用了意法半導(dǎo)體公司的STM8S系列8位單片機(jī)STM8S207R8,該芯片是ST推出的高性能8位單片機(jī),在價(jià)格方面具有很強(qiáng)的競(jìng)爭(zhēng)力。該芯片為64 PIN LQFP封裝,具有52個(gè)I/O,64 K FLASH,6 K RAM,1.5 K EEPROM,16通道10位ADC,9通道CAPCOM Timer,具有多組SPI、IIC、UART等外圍接口,內(nèi)核運(yùn)行頻率24 MHz,整體功能十分強(qiáng)大,可滿足本系統(tǒng)的功能需求。
2.2電源電路設(shè)計(jì)
根據(jù)洗碗機(jī)控制器產(chǎn)品特點(diǎn)及成本要求,控制器電源電路采用了非隔離型的開(kāi)關(guān)電源方案。由于控制器總體功率不高,主要負(fù)載為1路繼電器、2路顯示、5路可控硅,因此采用了PI的LNK306開(kāi)關(guān)電源控制芯片,總功率輸出約4 W,提供-5 V和+7 V兩路輸出用于MCU及繼電器等負(fù)載供電。該方案具有性能可靠、抗干擾能力強(qiáng)等優(yōu)點(diǎn)。電源電路圖如圖3所示。
2.3過(guò)零信號(hào)電路設(shè)計(jì)
由于過(guò)零信號(hào)被用于控制可控硅的導(dǎo)通角,從而控制電機(jī)的轉(zhuǎn)速,因此過(guò)零信號(hào)的準(zhǔn)確性會(huì)影響電機(jī)的調(diào)速控制。由于采用非隔離型開(kāi)關(guān)電源,因此過(guò)零電路的設(shè)計(jì)直接采用L線經(jīng)電阻降壓后驅(qū)動(dòng)三極管的方案,該方案原理簡(jiǎn)單、成本低、可靠性好,主要需考慮的是分壓電阻的取值,以提高電路的精度。由于門(mén)開(kāi)關(guān)、水位開(kāi)關(guān)、加熱器反饋信號(hào)在系統(tǒng)電氣線路中也是同樣的接法,因此采用同樣的設(shè)計(jì)方案。
2.4電機(jī)驅(qū)動(dòng)電路設(shè)計(jì)
根據(jù)能耗要求及產(chǎn)品功能需求的不同,匹配的電機(jī)也有所不同。本產(chǎn)品在設(shè)計(jì)時(shí)充分考慮了電機(jī)驅(qū)動(dòng)的兼容性,最簡(jiǎn)單的無(wú)反饋定速電機(jī)直接采用可控硅全導(dǎo)通進(jìn)行控制;帶霍爾傳感器的交流電機(jī)采用了可控硅導(dǎo)通角閉環(huán)控制方式進(jìn)行調(diào)速;BLAC調(diào)速電機(jī)則通過(guò)UART串口通訊,傳輸控制命令至BLAC電機(jī)內(nèi)部的驅(qū)動(dòng)板進(jìn)行控制。因此在方案上可控硅控制部分的電路是一致的,針對(duì)兩款反饋電機(jī)分別再增加了TACHO反饋電路以及UART通訊電路。通過(guò)軟件EEPROM中的參數(shù)設(shè)定,可直接匹配所選的電機(jī)類型。
2.5用戶操作界面設(shè)計(jì)
用戶界面包括6個(gè)按鍵、10個(gè)LED或2路數(shù)碼管、1個(gè)蜂鳴器,設(shè)計(jì)上采用矩陣掃描的方式,其中10個(gè)LED和2路數(shù)碼管是兼容設(shè)計(jì)方案,也就是2選1的方式,可通過(guò)EEPROM中的參數(shù)設(shè)定自動(dòng)匹配。顯示部分設(shè)計(jì)為3X8掃描方式、按鍵部分為3X2掃描方式,總體為3X10的矩陣掃描。
3系統(tǒng)軟件方案
軟件是整個(gè)控制系統(tǒng)的核心,程序的框架會(huì)直接影響軟件功能實(shí)現(xiàn)的優(yōu)劣,由于系統(tǒng)功能復(fù)雜,包括正常模式、FVT測(cè)試模式、工廠測(cè)試模式、參數(shù)設(shè)定模式等,每個(gè)模式下均有復(fù)雜的邏輯功能。因此從模塊化、結(jié)構(gòu)化的軟件設(shè)計(jì)角度出發(fā),需要從功能劃分上定義出各主程序運(yùn)行模塊,然后在模塊內(nèi)部再根據(jù)具體需求完成軟件邏輯實(shí)現(xiàn)。
3.1MCU資源分配及中斷使用
由于需要檢測(cè)控制的信號(hào)量較多,需要合理地使用MCU資源,軟件中共使用了以下幾個(gè)中斷源:
①PORTA_EXTI:外部中斷,用于過(guò)零信號(hào)檢測(cè)。
②PORTD_EXTI:外部中斷,用于霍爾傳感器信號(hào)檢測(cè)。
③PORTE_EXTI:外部中斷,用于流量信號(hào)檢測(cè)。
④TIMER2_CMP:定時(shí)器中斷,用于可控硅導(dǎo)通角控制。
⑤UART1_RX/TX:UART1通訊中斷,用于FVT TEST UART通訊。
⑥UART3_RX/TX:UART3通訊中斷,用于BLAC電機(jī)UART通訊。
⑦TIM4_UPD:定時(shí)器中斷,用于時(shí)基2 ms定時(shí)產(chǎn)生。
各中斷均處理實(shí)時(shí)性高的任務(wù)或信號(hào)檢測(cè),時(shí)基中斷部分進(jìn)行了顯示掃描、計(jì)時(shí)器累加等基礎(chǔ)任務(wù),信號(hào)量的進(jìn)一步處理則在主程序中由相應(yīng)的程序進(jìn)行處理。
3.2軟件框架
軟件主程序整體框架采用了狀態(tài)機(jī)+時(shí)間調(diào)度的模式,每個(gè)主要模塊均按狀態(tài)機(jī)的機(jī)制進(jìn)行狀態(tài)細(xì)分,在每個(gè)工作狀態(tài)下再按時(shí)間間隔分配任務(wù),規(guī)定每個(gè)任務(wù)的執(zhí)行間隔時(shí)間。
主程序在開(kāi)始時(shí)先進(jìn)行硬件系統(tǒng)的初始化,對(duì)MCU資源進(jìn)行配置;然后讀取EEPROM數(shù)據(jù),包括機(jī)型設(shè)置參數(shù)以及程序運(yùn)行參數(shù);再對(duì)程序的運(yùn)行數(shù)據(jù)進(jìn)行初始化,根據(jù)需要恢復(fù)斷電前的系統(tǒng)運(yùn)行狀態(tài);或者進(jìn)行程序運(yùn)行狀態(tài)的選擇,進(jìn)入各種參數(shù)設(shè)定模式或測(cè)試模式。主程序流程圖如圖4所示。
關(guān)于時(shí)間調(diào)度模式,主要是根據(jù)任務(wù)運(yùn)行的頻度及信號(hào)處理的及時(shí)性需求對(duì)任務(wù)進(jìn)行劃分。以NORMAL_MODE運(yùn)行狀態(tài)為例,該模塊處理了洗碗機(jī)正常洗滌控制程序的全部任務(wù),包括顯示掃描、按鍵處理、輸入信號(hào)的檢測(cè)、負(fù)載控制信號(hào)的輸出、故障檢測(cè)、電機(jī)通訊控制、洗滌程序等。根據(jù)任務(wù)類型,將時(shí)間調(diào)度分為每2 ms、每10 ms、每100 ms執(zhí)行一次的三種調(diào)度節(jié)點(diǎn)類型,其中2 ms時(shí)間調(diào)度中處理了各輸入信號(hào)的檢測(cè)以及電機(jī)通訊等任務(wù);10 ms時(shí)間調(diào)度處理了用戶界面的輸入輸出程序及故障檢測(cè)程序等;100 ms時(shí)間調(diào)度則處理了主洗滌流程控制程序。NORMAL_MODE模塊流程圖如圖5所示。
3.3主洗滌流程控制程序
本洗碗機(jī)提供了10種洗滌程序,包括普通、快速、強(qiáng)力、夜間、精細(xì)、自保養(yǎng)等,每種洗滌程序?qū)?yīng)一個(gè)具體程序流程,程序流程一般包括預(yù)洗、主洗、冷沖、熱沖、烘干這些階段。每個(gè)階段再根據(jù)程序的需求選擇相應(yīng)的進(jìn)水量、洗滌時(shí)間、加熱溫度、洗潔劑添加、沖洗次數(shù)、光亮劑添加、烘干等。軟件中將所有的洗滌程序均細(xì)分為80個(gè)步驟,需要執(zhí)行的步驟根據(jù)結(jié)束條件進(jìn)行退出判斷,不需要執(zhí)行的步驟則直接跳過(guò)。因此在軟件處理上仍然采用狀態(tài)機(jī)的形式對(duì)步驟進(jìn)行管理,執(zhí)行至每一個(gè)步驟時(shí),相應(yīng)對(duì)該步驟進(jìn)行顯示處理、中斷處理、步驟結(jié)束檢測(cè)以及故障檢測(cè)處理等,滿足步驟結(jié)束條件時(shí)進(jìn)入下一步驟,直到完成所有步驟。主洗滌流程控制程序如圖6所示。
4結(jié)語(yǔ)
該洗碗機(jī)控制器設(shè)計(jì)方案可靠、性能穩(wěn)定、功能齊全,具有良好的擴(kuò)展兼容性。軟件采用模塊化設(shè)計(jì)理念、結(jié)構(gòu)清晰、健壯性高、易于維護(hù)修改。該控制器已實(shí)現(xiàn)產(chǎn)品批量生產(chǎn),其方案可廣泛應(yīng)用于家用洗碗機(jī)的控制系統(tǒng)。
參考文獻(xiàn):
[1] 胡漢才.單片機(jī)原理及系統(tǒng)設(shè)計(jì)[M].北京:清華大學(xué)出版社,2002.
[2] 周其節(jié).自動(dòng)控制原理[M].廣州:華南理工大學(xué)出版社,1989.
[3] 京訊.全自動(dòng)家用洗碗機(jī)[J].家用電器,1999,(2).
endprint
摘要:文章簡(jiǎn)要介紹了全自動(dòng)洗碗機(jī)的工作原理及主要功能,分析了洗碗機(jī)的幾個(gè)主要檢測(cè)對(duì)象及控制對(duì)象的具體控制需求。給出了一款以STM8S系列單片機(jī)為控制核心的洗碗機(jī)控制器的具體設(shè)計(jì)方案,介紹了系統(tǒng)各主要功能模塊的原理圖設(shè)計(jì)、軟件總體框架結(jié)構(gòu)以及部分軟件模塊的設(shè)計(jì)思路等。該方案同時(shí)考慮了兼容性設(shè)計(jì)的問(wèn)題,可兼容兩種顯示方案,三種類型的洗滌電機(jī)以及多種運(yùn)行參數(shù)選擇。
關(guān)鍵詞:STM8S;單片機(jī);兼容性設(shè)計(jì);洗碗機(jī)控制器;軟件結(jié)構(gòu)
中圖分類號(hào):TP368 文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1006-8937(2014)20-0023-03
洗碗機(jī)在歐美已廣泛應(yīng)用于普通家庭的廚房中,有數(shù)據(jù)統(tǒng)計(jì),在歐美主要國(guó)家,洗碗機(jī)的普及率已達(dá)到70%以上,幾乎是家家戶戶必備的廚房生活電器。而在中國(guó),由于生活習(xí)慣的影響,洗碗機(jī)一直無(wú)法得到普及,但隨著現(xiàn)代都市生活品質(zhì)的不斷提高,人們?cè)絹?lái)越關(guān)注生活中能帶來(lái)更多便利的電器,洗碗機(jī)也在吸引著更多中國(guó)消費(fèi)者的眼球,它的便利性正逐步得到人們的認(rèn)可。目前市場(chǎng)上Electrolux、SIEMENS、Whirlpool、SANYO、Hair、Midea等國(guó)內(nèi)外著名品牌均推出其洗碗機(jī)產(chǎn)品,洗碗機(jī)產(chǎn)品具有很廣闊的市場(chǎng)前景。
1工作原理及主要功能
洗碗機(jī)是用于洗碗的機(jī)器,它可用于自動(dòng)清洗碗、盤(pán)、碟、勺子、筷子等餐具。根據(jù)洗碗機(jī)的用途、洗滌方式、安裝方式、控制方式、開(kāi)門(mén)方式等,可將它分為多種種類及型號(hào)。本文主要討論的是家用噴淋式全自動(dòng)洗碗機(jī)的設(shè)計(jì)方案及實(shí)現(xiàn)方式,該產(chǎn)品也是目前家用洗碗機(jī)中最主要的產(chǎn)品形式。
此類型洗碗機(jī)的主要工作原理就是用水泵將加熱后的水抽送到旋轉(zhuǎn)噴臂,在水壓的作用下噴臂會(huì)旋轉(zhuǎn),水通過(guò)旋轉(zhuǎn)噴臂上的小孔向上下左右強(qiáng)力噴淋,輔助以清潔劑等物品,將碗碟上的油污等沖洗干凈,從而達(dá)到清洗碗碟的目的。噴淋式洗碗機(jī)工作原理如圖1所示。
洗碗機(jī)的主要功能包括洗滌、消毒、烘干、預(yù)約、水質(zhì)軟化、掉電自動(dòng)記憶、學(xué)習(xí)功能等,系統(tǒng)提供多種洗滌程序供用戶選擇,用戶可根據(jù)需要選擇普通、快速、強(qiáng)力、夜間、精細(xì)、自保養(yǎng)等洗滌模式。
2系統(tǒng)硬件方案
洗碗機(jī)控制器的系統(tǒng)主要組成部分如圖2所示,由于洗碗機(jī)的系統(tǒng)功能比較復(fù)雜,需要檢測(cè)及控制的信號(hào)量比較多,主要負(fù)載包括洗滌泵、進(jìn)水閥、排水閥、加熱器、洗滌劑閥等,其中加熱器采用繼電器控制,其余負(fù)載均采用可控硅控制。在洗滌泵的控制電路設(shè)計(jì)上考慮了兼容性,可兼容三種類型的電機(jī):無(wú)轉(zhuǎn)速反饋的交流電機(jī)、帶轉(zhuǎn)速反饋的交流電機(jī)以及BLAC調(diào)速電機(jī)。主要的信號(hào)輸入量包括:水溫、門(mén)開(kāi)關(guān)、水位開(kāi)關(guān)、溢流、過(guò)零信號(hào)、加熱器反饋信號(hào)、電機(jī)轉(zhuǎn)速、缺鹽信號(hào)等。用戶操作界面包括6個(gè)按鍵、10個(gè)LED、2位數(shù)碼管、蜂鳴器等。下面分別介紹部分主要電路的設(shè)計(jì)方案。
2.1主控芯片選擇
考慮到洗碗機(jī)控制器系統(tǒng)軟硬件復(fù)雜程度高,系統(tǒng)整體需求較高,結(jié)合芯片性能、價(jià)格等因素,選用了意法半導(dǎo)體公司的STM8S系列8位單片機(jī)STM8S207R8,該芯片是ST推出的高性能8位單片機(jī),在價(jià)格方面具有很強(qiáng)的競(jìng)爭(zhēng)力。該芯片為64 PIN LQFP封裝,具有52個(gè)I/O,64 K FLASH,6 K RAM,1.5 K EEPROM,16通道10位ADC,9通道CAPCOM Timer,具有多組SPI、IIC、UART等外圍接口,內(nèi)核運(yùn)行頻率24 MHz,整體功能十分強(qiáng)大,可滿足本系統(tǒng)的功能需求。
2.2電源電路設(shè)計(jì)
根據(jù)洗碗機(jī)控制器產(chǎn)品特點(diǎn)及成本要求,控制器電源電路采用了非隔離型的開(kāi)關(guān)電源方案。由于控制器總體功率不高,主要負(fù)載為1路繼電器、2路顯示、5路可控硅,因此采用了PI的LNK306開(kāi)關(guān)電源控制芯片,總功率輸出約4 W,提供-5 V和+7 V兩路輸出用于MCU及繼電器等負(fù)載供電。該方案具有性能可靠、抗干擾能力強(qiáng)等優(yōu)點(diǎn)。電源電路圖如圖3所示。
2.3過(guò)零信號(hào)電路設(shè)計(jì)
由于過(guò)零信號(hào)被用于控制可控硅的導(dǎo)通角,從而控制電機(jī)的轉(zhuǎn)速,因此過(guò)零信號(hào)的準(zhǔn)確性會(huì)影響電機(jī)的調(diào)速控制。由于采用非隔離型開(kāi)關(guān)電源,因此過(guò)零電路的設(shè)計(jì)直接采用L線經(jīng)電阻降壓后驅(qū)動(dòng)三極管的方案,該方案原理簡(jiǎn)單、成本低、可靠性好,主要需考慮的是分壓電阻的取值,以提高電路的精度。由于門(mén)開(kāi)關(guān)、水位開(kāi)關(guān)、加熱器反饋信號(hào)在系統(tǒng)電氣線路中也是同樣的接法,因此采用同樣的設(shè)計(jì)方案。
2.4電機(jī)驅(qū)動(dòng)電路設(shè)計(jì)
根據(jù)能耗要求及產(chǎn)品功能需求的不同,匹配的電機(jī)也有所不同。本產(chǎn)品在設(shè)計(jì)時(shí)充分考慮了電機(jī)驅(qū)動(dòng)的兼容性,最簡(jiǎn)單的無(wú)反饋定速電機(jī)直接采用可控硅全導(dǎo)通進(jìn)行控制;帶霍爾傳感器的交流電機(jī)采用了可控硅導(dǎo)通角閉環(huán)控制方式進(jìn)行調(diào)速;BLAC調(diào)速電機(jī)則通過(guò)UART串口通訊,傳輸控制命令至BLAC電機(jī)內(nèi)部的驅(qū)動(dòng)板進(jìn)行控制。因此在方案上可控硅控制部分的電路是一致的,針對(duì)兩款反饋電機(jī)分別再增加了TACHO反饋電路以及UART通訊電路。通過(guò)軟件EEPROM中的參數(shù)設(shè)定,可直接匹配所選的電機(jī)類型。
2.5用戶操作界面設(shè)計(jì)
用戶界面包括6個(gè)按鍵、10個(gè)LED或2路數(shù)碼管、1個(gè)蜂鳴器,設(shè)計(jì)上采用矩陣掃描的方式,其中10個(gè)LED和2路數(shù)碼管是兼容設(shè)計(jì)方案,也就是2選1的方式,可通過(guò)EEPROM中的參數(shù)設(shè)定自動(dòng)匹配。顯示部分設(shè)計(jì)為3X8掃描方式、按鍵部分為3X2掃描方式,總體為3X10的矩陣掃描。
3系統(tǒng)軟件方案
軟件是整個(gè)控制系統(tǒng)的核心,程序的框架會(huì)直接影響軟件功能實(shí)現(xiàn)的優(yōu)劣,由于系統(tǒng)功能復(fù)雜,包括正常模式、FVT測(cè)試模式、工廠測(cè)試模式、參數(shù)設(shè)定模式等,每個(gè)模式下均有復(fù)雜的邏輯功能。因此從模塊化、結(jié)構(gòu)化的軟件設(shè)計(jì)角度出發(fā),需要從功能劃分上定義出各主程序運(yùn)行模塊,然后在模塊內(nèi)部再根據(jù)具體需求完成軟件邏輯實(shí)現(xiàn)。
3.1MCU資源分配及中斷使用
由于需要檢測(cè)控制的信號(hào)量較多,需要合理地使用MCU資源,軟件中共使用了以下幾個(gè)中斷源:
①PORTA_EXTI:外部中斷,用于過(guò)零信號(hào)檢測(cè)。
②PORTD_EXTI:外部中斷,用于霍爾傳感器信號(hào)檢測(cè)。
③PORTE_EXTI:外部中斷,用于流量信號(hào)檢測(cè)。
④TIMER2_CMP:定時(shí)器中斷,用于可控硅導(dǎo)通角控制。
⑤UART1_RX/TX:UART1通訊中斷,用于FVT TEST UART通訊。
⑥UART3_RX/TX:UART3通訊中斷,用于BLAC電機(jī)UART通訊。
⑦TIM4_UPD:定時(shí)器中斷,用于時(shí)基2 ms定時(shí)產(chǎn)生。
各中斷均處理實(shí)時(shí)性高的任務(wù)或信號(hào)檢測(cè),時(shí)基中斷部分進(jìn)行了顯示掃描、計(jì)時(shí)器累加等基礎(chǔ)任務(wù),信號(hào)量的進(jìn)一步處理則在主程序中由相應(yīng)的程序進(jìn)行處理。
3.2軟件框架
軟件主程序整體框架采用了狀態(tài)機(jī)+時(shí)間調(diào)度的模式,每個(gè)主要模塊均按狀態(tài)機(jī)的機(jī)制進(jìn)行狀態(tài)細(xì)分,在每個(gè)工作狀態(tài)下再按時(shí)間間隔分配任務(wù),規(guī)定每個(gè)任務(wù)的執(zhí)行間隔時(shí)間。
主程序在開(kāi)始時(shí)先進(jìn)行硬件系統(tǒng)的初始化,對(duì)MCU資源進(jìn)行配置;然后讀取EEPROM數(shù)據(jù),包括機(jī)型設(shè)置參數(shù)以及程序運(yùn)行參數(shù);再對(duì)程序的運(yùn)行數(shù)據(jù)進(jìn)行初始化,根據(jù)需要恢復(fù)斷電前的系統(tǒng)運(yùn)行狀態(tài);或者進(jìn)行程序運(yùn)行狀態(tài)的選擇,進(jìn)入各種參數(shù)設(shè)定模式或測(cè)試模式。主程序流程圖如圖4所示。
關(guān)于時(shí)間調(diào)度模式,主要是根據(jù)任務(wù)運(yùn)行的頻度及信號(hào)處理的及時(shí)性需求對(duì)任務(wù)進(jìn)行劃分。以NORMAL_MODE運(yùn)行狀態(tài)為例,該模塊處理了洗碗機(jī)正常洗滌控制程序的全部任務(wù),包括顯示掃描、按鍵處理、輸入信號(hào)的檢測(cè)、負(fù)載控制信號(hào)的輸出、故障檢測(cè)、電機(jī)通訊控制、洗滌程序等。根據(jù)任務(wù)類型,將時(shí)間調(diào)度分為每2 ms、每10 ms、每100 ms執(zhí)行一次的三種調(diào)度節(jié)點(diǎn)類型,其中2 ms時(shí)間調(diào)度中處理了各輸入信號(hào)的檢測(cè)以及電機(jī)通訊等任務(wù);10 ms時(shí)間調(diào)度處理了用戶界面的輸入輸出程序及故障檢測(cè)程序等;100 ms時(shí)間調(diào)度則處理了主洗滌流程控制程序。NORMAL_MODE模塊流程圖如圖5所示。
3.3主洗滌流程控制程序
本洗碗機(jī)提供了10種洗滌程序,包括普通、快速、強(qiáng)力、夜間、精細(xì)、自保養(yǎng)等,每種洗滌程序?qū)?yīng)一個(gè)具體程序流程,程序流程一般包括預(yù)洗、主洗、冷沖、熱沖、烘干這些階段。每個(gè)階段再根據(jù)程序的需求選擇相應(yīng)的進(jìn)水量、洗滌時(shí)間、加熱溫度、洗潔劑添加、沖洗次數(shù)、光亮劑添加、烘干等。軟件中將所有的洗滌程序均細(xì)分為80個(gè)步驟,需要執(zhí)行的步驟根據(jù)結(jié)束條件進(jìn)行退出判斷,不需要執(zhí)行的步驟則直接跳過(guò)。因此在軟件處理上仍然采用狀態(tài)機(jī)的形式對(duì)步驟進(jìn)行管理,執(zhí)行至每一個(gè)步驟時(shí),相應(yīng)對(duì)該步驟進(jìn)行顯示處理、中斷處理、步驟結(jié)束檢測(cè)以及故障檢測(cè)處理等,滿足步驟結(jié)束條件時(shí)進(jìn)入下一步驟,直到完成所有步驟。主洗滌流程控制程序如圖6所示。
4結(jié)語(yǔ)
該洗碗機(jī)控制器設(shè)計(jì)方案可靠、性能穩(wěn)定、功能齊全,具有良好的擴(kuò)展兼容性。軟件采用模塊化設(shè)計(jì)理念、結(jié)構(gòu)清晰、健壯性高、易于維護(hù)修改。該控制器已實(shí)現(xiàn)產(chǎn)品批量生產(chǎn),其方案可廣泛應(yīng)用于家用洗碗機(jī)的控制系統(tǒng)。
參考文獻(xiàn):
[1] 胡漢才.單片機(jī)原理及系統(tǒng)設(shè)計(jì)[M].北京:清華大學(xué)出版社,2002.
[2] 周其節(jié).自動(dòng)控制原理[M].廣州:華南理工大學(xué)出版社,1989.
[3] 京訊.全自動(dòng)家用洗碗機(jī)[J].家用電器,1999,(2).
endprint
摘要:文章簡(jiǎn)要介紹了全自動(dòng)洗碗機(jī)的工作原理及主要功能,分析了洗碗機(jī)的幾個(gè)主要檢測(cè)對(duì)象及控制對(duì)象的具體控制需求。給出了一款以STM8S系列單片機(jī)為控制核心的洗碗機(jī)控制器的具體設(shè)計(jì)方案,介紹了系統(tǒng)各主要功能模塊的原理圖設(shè)計(jì)、軟件總體框架結(jié)構(gòu)以及部分軟件模塊的設(shè)計(jì)思路等。該方案同時(shí)考慮了兼容性設(shè)計(jì)的問(wèn)題,可兼容兩種顯示方案,三種類型的洗滌電機(jī)以及多種運(yùn)行參數(shù)選擇。
關(guān)鍵詞:STM8S;單片機(jī);兼容性設(shè)計(jì);洗碗機(jī)控制器;軟件結(jié)構(gòu)
中圖分類號(hào):TP368 文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1006-8937(2014)20-0023-03
洗碗機(jī)在歐美已廣泛應(yīng)用于普通家庭的廚房中,有數(shù)據(jù)統(tǒng)計(jì),在歐美主要國(guó)家,洗碗機(jī)的普及率已達(dá)到70%以上,幾乎是家家戶戶必備的廚房生活電器。而在中國(guó),由于生活習(xí)慣的影響,洗碗機(jī)一直無(wú)法得到普及,但隨著現(xiàn)代都市生活品質(zhì)的不斷提高,人們?cè)絹?lái)越關(guān)注生活中能帶來(lái)更多便利的電器,洗碗機(jī)也在吸引著更多中國(guó)消費(fèi)者的眼球,它的便利性正逐步得到人們的認(rèn)可。目前市場(chǎng)上Electrolux、SIEMENS、Whirlpool、SANYO、Hair、Midea等國(guó)內(nèi)外著名品牌均推出其洗碗機(jī)產(chǎn)品,洗碗機(jī)產(chǎn)品具有很廣闊的市場(chǎng)前景。
1工作原理及主要功能
洗碗機(jī)是用于洗碗的機(jī)器,它可用于自動(dòng)清洗碗、盤(pán)、碟、勺子、筷子等餐具。根據(jù)洗碗機(jī)的用途、洗滌方式、安裝方式、控制方式、開(kāi)門(mén)方式等,可將它分為多種種類及型號(hào)。本文主要討論的是家用噴淋式全自動(dòng)洗碗機(jī)的設(shè)計(jì)方案及實(shí)現(xiàn)方式,該產(chǎn)品也是目前家用洗碗機(jī)中最主要的產(chǎn)品形式。
此類型洗碗機(jī)的主要工作原理就是用水泵將加熱后的水抽送到旋轉(zhuǎn)噴臂,在水壓的作用下噴臂會(huì)旋轉(zhuǎn),水通過(guò)旋轉(zhuǎn)噴臂上的小孔向上下左右強(qiáng)力噴淋,輔助以清潔劑等物品,將碗碟上的油污等沖洗干凈,從而達(dá)到清洗碗碟的目的。噴淋式洗碗機(jī)工作原理如圖1所示。
洗碗機(jī)的主要功能包括洗滌、消毒、烘干、預(yù)約、水質(zhì)軟化、掉電自動(dòng)記憶、學(xué)習(xí)功能等,系統(tǒng)提供多種洗滌程序供用戶選擇,用戶可根據(jù)需要選擇普通、快速、強(qiáng)力、夜間、精細(xì)、自保養(yǎng)等洗滌模式。
2系統(tǒng)硬件方案
洗碗機(jī)控制器的系統(tǒng)主要組成部分如圖2所示,由于洗碗機(jī)的系統(tǒng)功能比較復(fù)雜,需要檢測(cè)及控制的信號(hào)量比較多,主要負(fù)載包括洗滌泵、進(jìn)水閥、排水閥、加熱器、洗滌劑閥等,其中加熱器采用繼電器控制,其余負(fù)載均采用可控硅控制。在洗滌泵的控制電路設(shè)計(jì)上考慮了兼容性,可兼容三種類型的電機(jī):無(wú)轉(zhuǎn)速反饋的交流電機(jī)、帶轉(zhuǎn)速反饋的交流電機(jī)以及BLAC調(diào)速電機(jī)。主要的信號(hào)輸入量包括:水溫、門(mén)開(kāi)關(guān)、水位開(kāi)關(guān)、溢流、過(guò)零信號(hào)、加熱器反饋信號(hào)、電機(jī)轉(zhuǎn)速、缺鹽信號(hào)等。用戶操作界面包括6個(gè)按鍵、10個(gè)LED、2位數(shù)碼管、蜂鳴器等。下面分別介紹部分主要電路的設(shè)計(jì)方案。
2.1主控芯片選擇
考慮到洗碗機(jī)控制器系統(tǒng)軟硬件復(fù)雜程度高,系統(tǒng)整體需求較高,結(jié)合芯片性能、價(jià)格等因素,選用了意法半導(dǎo)體公司的STM8S系列8位單片機(jī)STM8S207R8,該芯片是ST推出的高性能8位單片機(jī),在價(jià)格方面具有很強(qiáng)的競(jìng)爭(zhēng)力。該芯片為64 PIN LQFP封裝,具有52個(gè)I/O,64 K FLASH,6 K RAM,1.5 K EEPROM,16通道10位ADC,9通道CAPCOM Timer,具有多組SPI、IIC、UART等外圍接口,內(nèi)核運(yùn)行頻率24 MHz,整體功能十分強(qiáng)大,可滿足本系統(tǒng)的功能需求。
2.2電源電路設(shè)計(jì)
根據(jù)洗碗機(jī)控制器產(chǎn)品特點(diǎn)及成本要求,控制器電源電路采用了非隔離型的開(kāi)關(guān)電源方案。由于控制器總體功率不高,主要負(fù)載為1路繼電器、2路顯示、5路可控硅,因此采用了PI的LNK306開(kāi)關(guān)電源控制芯片,總功率輸出約4 W,提供-5 V和+7 V兩路輸出用于MCU及繼電器等負(fù)載供電。該方案具有性能可靠、抗干擾能力強(qiáng)等優(yōu)點(diǎn)。電源電路圖如圖3所示。
2.3過(guò)零信號(hào)電路設(shè)計(jì)
由于過(guò)零信號(hào)被用于控制可控硅的導(dǎo)通角,從而控制電機(jī)的轉(zhuǎn)速,因此過(guò)零信號(hào)的準(zhǔn)確性會(huì)影響電機(jī)的調(diào)速控制。由于采用非隔離型開(kāi)關(guān)電源,因此過(guò)零電路的設(shè)計(jì)直接采用L線經(jīng)電阻降壓后驅(qū)動(dòng)三極管的方案,該方案原理簡(jiǎn)單、成本低、可靠性好,主要需考慮的是分壓電阻的取值,以提高電路的精度。由于門(mén)開(kāi)關(guān)、水位開(kāi)關(guān)、加熱器反饋信號(hào)在系統(tǒng)電氣線路中也是同樣的接法,因此采用同樣的設(shè)計(jì)方案。
2.4電機(jī)驅(qū)動(dòng)電路設(shè)計(jì)
根據(jù)能耗要求及產(chǎn)品功能需求的不同,匹配的電機(jī)也有所不同。本產(chǎn)品在設(shè)計(jì)時(shí)充分考慮了電機(jī)驅(qū)動(dòng)的兼容性,最簡(jiǎn)單的無(wú)反饋定速電機(jī)直接采用可控硅全導(dǎo)通進(jìn)行控制;帶霍爾傳感器的交流電機(jī)采用了可控硅導(dǎo)通角閉環(huán)控制方式進(jìn)行調(diào)速;BLAC調(diào)速電機(jī)則通過(guò)UART串口通訊,傳輸控制命令至BLAC電機(jī)內(nèi)部的驅(qū)動(dòng)板進(jìn)行控制。因此在方案上可控硅控制部分的電路是一致的,針對(duì)兩款反饋電機(jī)分別再增加了TACHO反饋電路以及UART通訊電路。通過(guò)軟件EEPROM中的參數(shù)設(shè)定,可直接匹配所選的電機(jī)類型。
2.5用戶操作界面設(shè)計(jì)
用戶界面包括6個(gè)按鍵、10個(gè)LED或2路數(shù)碼管、1個(gè)蜂鳴器,設(shè)計(jì)上采用矩陣掃描的方式,其中10個(gè)LED和2路數(shù)碼管是兼容設(shè)計(jì)方案,也就是2選1的方式,可通過(guò)EEPROM中的參數(shù)設(shè)定自動(dòng)匹配。顯示部分設(shè)計(jì)為3X8掃描方式、按鍵部分為3X2掃描方式,總體為3X10的矩陣掃描。
3系統(tǒng)軟件方案
軟件是整個(gè)控制系統(tǒng)的核心,程序的框架會(huì)直接影響軟件功能實(shí)現(xiàn)的優(yōu)劣,由于系統(tǒng)功能復(fù)雜,包括正常模式、FVT測(cè)試模式、工廠測(cè)試模式、參數(shù)設(shè)定模式等,每個(gè)模式下均有復(fù)雜的邏輯功能。因此從模塊化、結(jié)構(gòu)化的軟件設(shè)計(jì)角度出發(fā),需要從功能劃分上定義出各主程序運(yùn)行模塊,然后在模塊內(nèi)部再根據(jù)具體需求完成軟件邏輯實(shí)現(xiàn)。
3.1MCU資源分配及中斷使用
由于需要檢測(cè)控制的信號(hào)量較多,需要合理地使用MCU資源,軟件中共使用了以下幾個(gè)中斷源:
①PORTA_EXTI:外部中斷,用于過(guò)零信號(hào)檢測(cè)。
②PORTD_EXTI:外部中斷,用于霍爾傳感器信號(hào)檢測(cè)。
③PORTE_EXTI:外部中斷,用于流量信號(hào)檢測(cè)。
④TIMER2_CMP:定時(shí)器中斷,用于可控硅導(dǎo)通角控制。
⑤UART1_RX/TX:UART1通訊中斷,用于FVT TEST UART通訊。
⑥UART3_RX/TX:UART3通訊中斷,用于BLAC電機(jī)UART通訊。
⑦TIM4_UPD:定時(shí)器中斷,用于時(shí)基2 ms定時(shí)產(chǎn)生。
各中斷均處理實(shí)時(shí)性高的任務(wù)或信號(hào)檢測(cè),時(shí)基中斷部分進(jìn)行了顯示掃描、計(jì)時(shí)器累加等基礎(chǔ)任務(wù),信號(hào)量的進(jìn)一步處理則在主程序中由相應(yīng)的程序進(jìn)行處理。
3.2軟件框架
軟件主程序整體框架采用了狀態(tài)機(jī)+時(shí)間調(diào)度的模式,每個(gè)主要模塊均按狀態(tài)機(jī)的機(jī)制進(jìn)行狀態(tài)細(xì)分,在每個(gè)工作狀態(tài)下再按時(shí)間間隔分配任務(wù),規(guī)定每個(gè)任務(wù)的執(zhí)行間隔時(shí)間。
主程序在開(kāi)始時(shí)先進(jìn)行硬件系統(tǒng)的初始化,對(duì)MCU資源進(jìn)行配置;然后讀取EEPROM數(shù)據(jù),包括機(jī)型設(shè)置參數(shù)以及程序運(yùn)行參數(shù);再對(duì)程序的運(yùn)行數(shù)據(jù)進(jìn)行初始化,根據(jù)需要恢復(fù)斷電前的系統(tǒng)運(yùn)行狀態(tài);或者進(jìn)行程序運(yùn)行狀態(tài)的選擇,進(jìn)入各種參數(shù)設(shè)定模式或測(cè)試模式。主程序流程圖如圖4所示。
關(guān)于時(shí)間調(diào)度模式,主要是根據(jù)任務(wù)運(yùn)行的頻度及信號(hào)處理的及時(shí)性需求對(duì)任務(wù)進(jìn)行劃分。以NORMAL_MODE運(yùn)行狀態(tài)為例,該模塊處理了洗碗機(jī)正常洗滌控制程序的全部任務(wù),包括顯示掃描、按鍵處理、輸入信號(hào)的檢測(cè)、負(fù)載控制信號(hào)的輸出、故障檢測(cè)、電機(jī)通訊控制、洗滌程序等。根據(jù)任務(wù)類型,將時(shí)間調(diào)度分為每2 ms、每10 ms、每100 ms執(zhí)行一次的三種調(diào)度節(jié)點(diǎn)類型,其中2 ms時(shí)間調(diào)度中處理了各輸入信號(hào)的檢測(cè)以及電機(jī)通訊等任務(wù);10 ms時(shí)間調(diào)度處理了用戶界面的輸入輸出程序及故障檢測(cè)程序等;100 ms時(shí)間調(diào)度則處理了主洗滌流程控制程序。NORMAL_MODE模塊流程圖如圖5所示。
3.3主洗滌流程控制程序
本洗碗機(jī)提供了10種洗滌程序,包括普通、快速、強(qiáng)力、夜間、精細(xì)、自保養(yǎng)等,每種洗滌程序?qū)?yīng)一個(gè)具體程序流程,程序流程一般包括預(yù)洗、主洗、冷沖、熱沖、烘干這些階段。每個(gè)階段再根據(jù)程序的需求選擇相應(yīng)的進(jìn)水量、洗滌時(shí)間、加熱溫度、洗潔劑添加、沖洗次數(shù)、光亮劑添加、烘干等。軟件中將所有的洗滌程序均細(xì)分為80個(gè)步驟,需要執(zhí)行的步驟根據(jù)結(jié)束條件進(jìn)行退出判斷,不需要執(zhí)行的步驟則直接跳過(guò)。因此在軟件處理上仍然采用狀態(tài)機(jī)的形式對(duì)步驟進(jìn)行管理,執(zhí)行至每一個(gè)步驟時(shí),相應(yīng)對(duì)該步驟進(jìn)行顯示處理、中斷處理、步驟結(jié)束檢測(cè)以及故障檢測(cè)處理等,滿足步驟結(jié)束條件時(shí)進(jìn)入下一步驟,直到完成所有步驟。主洗滌流程控制程序如圖6所示。
4結(jié)語(yǔ)
該洗碗機(jī)控制器設(shè)計(jì)方案可靠、性能穩(wěn)定、功能齊全,具有良好的擴(kuò)展兼容性。軟件采用模塊化設(shè)計(jì)理念、結(jié)構(gòu)清晰、健壯性高、易于維護(hù)修改。該控制器已實(shí)現(xiàn)產(chǎn)品批量生產(chǎn),其方案可廣泛應(yīng)用于家用洗碗機(jī)的控制系統(tǒng)。
參考文獻(xiàn):
[1] 胡漢才.單片機(jī)原理及系統(tǒng)設(shè)計(jì)[M].北京:清華大學(xué)出版社,2002.
[2] 周其節(jié).自動(dòng)控制原理[M].廣州:華南理工大學(xué)出版社,1989.
[3] 京訊.全自動(dòng)家用洗碗機(jī)[J].家用電器,1999,(2).
endprint