微波爐控制器的工作環(huán)境相對(duì)比較惡劣。首先是爐腔溫度比較高,控制器附近溫度也會(huì)比較高,達(dá)到60℃~70℃;另一方面,微波輻射對(duì)單片機(jī)抗干擾的要求也很高,在做多次快速開關(guān)門試驗(yàn)中,當(dāng)少量微波泄露時(shí),對(duì)控制器有一定的輻射,以及反復(fù)開通和關(guān)斷大功率負(fù)載會(huì)產(chǎn)生較強(qiáng)的干擾。
所以選擇合適的單片機(jī)十分重要,在多年的家電產(chǎn)品設(shè)計(jì)中,經(jīng)常用盛群半導(dǎo)體(holtek)的48系列及46系列8bit單片機(jī)設(shè)計(jì)微波爐控制器,無論在適應(yīng)工作環(huán)境還是抗干擾等方面都完全滿足要求,在成本及供貨等方面比國外芯片也有更明顯的優(yōu)勢(shì)。
本文通過實(shí)際產(chǎn)品為例,以產(chǎn)品功能要求、方案確定和芯片選型、硬件設(shè)計(jì)、軟件規(guī)劃及編寫等幾部分介紹如何用單片機(jī)設(shè)計(jì)微波爐控制器。
功能要求
設(shè)計(jì)產(chǎn)品首先了解產(chǎn)品的要求,了解越詳細(xì)設(shè)計(jì)反復(fù)修改就越少,特別是關(guān)于影響芯片選型及輸出控制等跟硬件直接相關(guān)的部分。本文介紹的微波爐控制器的主要功能如下:
微波加熱,功率有10檔。
燒烤加熱,功率有2檔。
熱風(fēng)烘烤加熱,溫度多檔。
混合加熱,有三種組合模式:燒烤加微波、烘烤加微波、烘烤加燒烤。
自動(dòng)解凍,重量選擇有20檔。
自動(dòng)菜單,6大類,各類分別有重量選擇。
顯示:88:88數(shù)碼管,四周帶14個(gè)圖標(biāo)。
按鍵:有功能選擇鍵、啟動(dòng)鍵、取消鍵、熱風(fēng)烘烤鍵,時(shí)鐘及定時(shí)鍵,自動(dòng)菜單各功能鍵,總共11個(gè)。
編碼開關(guān):調(diào)節(jié)加熱時(shí)間。
另有蜂鳴器、門檢測(cè)和門燈控制。
方案確定和芯片選型
了解產(chǎn)品的詳細(xì)要求后,需要確定具體的實(shí)現(xiàn)方案,首先是選擇合適的單片機(jī)。選擇合適的型號(hào)主要要看兩個(gè)方面:硬件資源和軟件資源。要選擇合理的單片機(jī)首先必須了解單片機(jī)的各系列及各款的資源,再了解需要什么樣的資源,下面分別從硬件和軟件來說明怎樣根據(jù)要求選擇單片機(jī)。在選擇單片機(jī)時(shí),整個(gè)產(chǎn)品的方案也基本確定。
硬件相關(guān)資源
硬件相關(guān)的資源是指外圍硬件相關(guān)的如i/o數(shù)量、特殊驅(qū)動(dòng)、工作電壓等。
首先,選擇合適的單片機(jī)系列??垂╇婋妷杭肮ぷ鳒囟瓤垢蓴_能力等是否滿足要求。盛群的mcu在系統(tǒng)振蕩頻率小于4mhz時(shí)供電電壓供電范圍為2.2v~5.5v,當(dāng)8mhz時(shí)則為3.3v~5.5v,要提高系統(tǒng)的抗干擾能力,最好用5v電壓供電,當(dāng)供電電壓較高時(shí),mcu內(nèi)部所有邏輯電平幅值較高,容差電壓大,干擾更強(qiáng)才能改變其邏輯狀態(tài)。工作溫度,選擇holtek的48和46系列工業(yè)級(jí)單片機(jī),工作溫度范圍為-40℃~85℃,完全能滿足微波爐控制器工作溫度的要求。
在選擇合適的系列時(shí),還要看特殊資源的要求,如中斷口、pwm、蜂鳴器驅(qū)動(dòng)、a/d轉(zhuǎn)換等;在此產(chǎn)品的具體要求中,需要檢測(cè)爐腔的溫度以及在產(chǎn)品中需要對(duì)交流風(fēng)扇調(diào)速,溫度檢測(cè)需要a/d轉(zhuǎn)換,交流風(fēng)扇調(diào)速控制需要有過零中斷,所以,在這個(gè)產(chǎn)品中選擇了46系列單片機(jī)。但此產(chǎn)品不需要lcd驅(qū)動(dòng)、高精度a/d轉(zhuǎn)換及比較器等資源,則不選擇ht46r6x、ht46r5x、ht46r1x等系列,而選擇ht46r2x系列。
再就是選擇的具體i/o要求和什么樣封裝的單片機(jī),在holtek單片機(jī)中同型號(hào)的單片機(jī)有多種封裝,如ht46r23有dip28或sop28封裝,也有dip24或sop24封裝,其i/o分別為23個(gè)和19個(gè)。
根據(jù)前面提到的功能要求,其i/o的需求列舉如下:
繼電器驅(qū)動(dòng):微波、燒烤、熱風(fēng)烘烤、門燈/轉(zhuǎn)盤、散熱風(fēng)扇共5個(gè)輸出ports。
蜂鳴器驅(qū)動(dòng):1個(gè)輸出ports
按鍵有11個(gè):11個(gè)輸入port
門狀態(tài)檢測(cè):1個(gè)輸入port
編碼開關(guān)檢測(cè):2個(gè)輸入port
顯示數(shù)碼管:5個(gè)com,9個(gè)段,需14輸出port
過零中斷檢測(cè):1個(gè)中斷輸入port
溫度檢測(cè):1個(gè)a/d輸入port
簡單加起來總共需要20個(gè)輸出port,16個(gè)輸入port??紤]復(fù)用i/o,將9個(gè)數(shù)碼驅(qū)動(dòng)段和5個(gè)公共端同時(shí)做輸入檢測(cè);溫度檢測(cè)只能用a/d口pb.0,過零檢測(cè)只能用單獨(dú)的中斷pa.5來檢測(cè),所以總共需要22個(gè)i/o,所以選擇28pin的ht46r2x可以滿足要求。
軟件相關(guān)資源
軟件相關(guān)的資源主要包括程序空間即rom的大小和數(shù)據(jù)空間ram的多少,當(dāng)功能較多且復(fù)雜時(shí)需要更多的rom和ram;當(dāng)然還有定時(shí)器、中斷、以及其它某些特殊的資源;前面已經(jīng)選擇了28pin封裝的46r2x系列單片機(jī),此產(chǎn)品功能相對(duì)比較豐富,程序空間要求比較多,選擇4k的rom和192byteram的ht46r23應(yīng)該能夠滿足要求,同樣封裝可以選擇28pin的ht46r24,它有8k rom和384byteram,可以做后備選擇,這樣不必?fù)?dān)心資源不夠時(shí)換ic,反復(fù)修改硬件就很麻煩。
總之,在選擇資源時(shí),要軟硬兼顧,如果程序簡單,硬件資源要求高,則可以選擇封裝小、i/o少的單片機(jī),另外增加擴(kuò)展ic來擴(kuò)展i/o;當(dāng)程序復(fù)雜,硬件資源要求少時(shí),則選擇較小封裝、軟件資源多的單片機(jī)。
硬件電路設(shè)計(jì)
在選擇主芯片時(shí),已經(jīng)在考慮部分電路設(shè)計(jì)了,顯示、按鍵檢測(cè)、輸出驅(qū)動(dòng)等都考慮好了,由于篇幅有限,只簡單介紹幾個(gè)關(guān)鍵問題:
門檢測(cè)電路:給單片機(jī)檢測(cè)的門開關(guān)信號(hào)的同時(shí),還要控制微波、燒烤、熱風(fēng)烘烤繼電器的電源。
供電部分:考慮數(shù)碼管顯示內(nèi)容較多,驅(qū)動(dòng)電流大,變壓器盡量選擇繼電器和單片機(jī)獨(dú)立供電,一方面降低變壓器功率,同時(shí)可以讓單片機(jī)的電源不受繼電器的工作狀態(tài)影響。
過零檢測(cè)和觸發(fā):選擇合適的光耦和可控硅驅(qū)動(dòng)電路,實(shí)現(xiàn)過零驅(qū)動(dòng),過零檢測(cè)電路注意適當(dāng)?shù)臑V波和隔離,減少通過電源耦合的干擾。