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