<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 自動洗碗機的控制系統(tǒng)設(shè)計

          自動洗碗機的控制系統(tǒng)設(shè)計

          作者: 時間:2004-12-08 來源:網(wǎng)絡(luò) 收藏
          摘要:基于的功能要求,介紹了用單片機AT89LS8252和鍵盤/顯示管理芯片HD7279A的硬件方法,給出了用HD7279控制鍵盤和顯示的硬件電路,同時給出了系統(tǒng)軟件和功能軟件模塊的流程圖。該系統(tǒng)經(jīng)過試驗調(diào)試,可有效地實現(xiàn)控制,完成自動進水、加溫、清洗、消毒等功能。

          關(guān)鍵詞:洗碗機;控制器;鍵盤/顯示

          1 引言

          隨著數(shù)字信息家用電器應(yīng)用的普及,洗碗機已經(jīng)廣泛進入人民大眾的家庭之中,從而使得人們能夠從繁雜的家務(wù)勞動中逐步解放出來。作為一種家庭自動化設(shè)備,洗碗機一般需要實現(xiàn)諸如自動控制進水、自動加洗滌劑、冷洗、自動加溫洗、清洗、排水、殺菌消毒,以及定時和故障報警等功能。從被控制量角度出發(fā),一個洗碗機通常需要滿足圖1所示的一些具體要求,其中涉及的開關(guān)量信號有兩種,一種是傳感器的高、低電平信號檢測,如機門開關(guān)、水位高低、溫度調(diào)節(jié)保護器和行程開關(guān)等;另一種開關(guān)信號經(jīng)由固態(tài)繼電器控制強弱電壓信號的斷開和加載,如進水電磁閥門的開合、恒溫加熱器的開合、瞬間加熱器的開合、清潔劑控制盒和消毒劑控制盒的工作等。圖1中所涉及的模擬量信號主要用于實現(xiàn)以下幾方面的功能:

          (1)用溫度傳感器實現(xiàn)水溫/消毒水溫度檢測;

          (2)通過人機接口的顯示輸出、鍵盤輸入和聲音輸出等實現(xiàn)水溫顯示、洗滌過程顯示以及故障類型顯示等;

          (3)根據(jù)用戶需要通過設(shè)置鍵選擇洗滌模式,并通過功能鍵啟動相關(guān)功能;

          (4)機器使用情況統(tǒng)計、清潔劑和消毒劑劑量的使用情況計數(shù)等;

          (5)故障報警以及、洗滌完成報告等。

          2 洗碗機的硬件

          針對上述功能及可靠性、成本和方便使用維護等因素,筆者設(shè)計了圖2所示的洗碗機。

          單片機最小系統(tǒng)采用與MCS-51兼容的AT-MEL公司低功耗高性能CMOS芯片AT89LS8252設(shè)計,其中片內(nèi)8k字節(jié)在線可編程閃存用以存放系統(tǒng)程序,可通過SPI接口來下載程序;而2k字節(jié)的EEPROM則用以存放關(guān)鍵參數(shù),如開機維護密碼、產(chǎn)品的序列號、開機次數(shù)、洗滌設(shè)置參數(shù)等;256字節(jié)的RAM用來存放臨時變量。

          鑒于本洗碗機有較多的開關(guān)量信號,故此,設(shè)計中使用并行芯片8255來擴展I/O接口,以配合P1和P3口部分管腳的使用,其輸出和輸入的比例為21/14,其中蜂鳴器由P1.3控制。從可靠性角度出發(fā),輸入和輸出部分都采用光電隔離措施??紤]到部分驅(qū)動信號所要求的驅(qū)動電流較大,因此,本設(shè)計選用功率驅(qū)動器件ULN2803來驅(qū)動。

          溫度采集有兩種方案:一是使用熱敏電阻配合芯片MAX150進行AD轉(zhuǎn)換,然后通過存放在程序存儲器里的表格來求得當前溫度;二是使用三端溫度傳感器DS18B20進行采集,直接得到溫度數(shù)據(jù)。相比之下,后一種方案較為經(jīng)濟簡捷。

          鍵盤和LED顯示選用HD7279A?3?來進行控制,其電路圖如圖3所示。HD7279A無需外圍元件即可直接驅(qū)動8位共陰式LED數(shù)碼管;引腳DIG0~3對應(yīng)0~3位數(shù)字輸出驅(qū)動;引腳SA~SG和DP則對應(yīng)于段a~g及小數(shù)點的驅(qū)動輸出;各位可獨立控制譯碼/不譯碼及消隱和閃爍等屬性。

          該芯片共有三種類型的指令:第一種是6條不帶數(shù)據(jù)的8位純指令,如復(fù)位、測試、左/右(循環(huán))移位等;第二種是7條16位帶數(shù)據(jù)指令,包括下載數(shù)據(jù)按方式0/1譯碼、下載不譯碼、閃爍、消隱、段點亮、關(guān)閉等;第三種是讀取鍵盤數(shù)據(jù)指令。它們均采用串行方式與AT89LS8252進行通訊,串行數(shù)據(jù)從DATA引腳送入芯片并由CLK端同步。當片選信號CS變?yōu)榈碗娖胶?,DATA引腳上的數(shù)據(jù)將在CLK引腳的上升沿時被寫入HD7279A的緩沖寄存器。

          此外,HD7279A片內(nèi)含有去抖動電路,可控制64鍵鍵盤矩陣。圖3中,元件JKEY為44鍵盤接口,當有鍵按下時,KEY引腳輸出低電平,發(fā)光二極管LED1發(fā)亮,該狀態(tài)一直保持到按鍵松開。此時如果接收到“讀鍵盤”指令15H,在指令前半段,DATA引腳將處于高阻狀態(tài)以接受來自微處理器的指令。而在指令后半段,DATA引腳則從輸入狀態(tài)轉(zhuǎn)為輸出狀態(tài),用以輸出所按下的鍵代碼值。

          3 洗碗機控制系統(tǒng)的軟件設(shè)計

          本系統(tǒng)功能模塊按洗碗過程可分為六個階段:進水過程、加溫過程、注入清潔劑過程、控制電機旋轉(zhuǎn)清洗過程、注入消毒水消毒過程和排水過程。同時為確保洗碗機正常工作,對容易出故障的過程,系統(tǒng)還設(shè)置了故障報警或停機功能。系統(tǒng)軟件可按照洗碗機的工作流程進行編寫。主要的軟件模塊有開機自檢、狀態(tài)初始化、顯示當前默認狀態(tài),進入鍵盤掃描狀態(tài)并等待操作鍵按下,以及根據(jù)操作鍵轉(zhuǎn)入相應(yīng)流程等,其主程序流程見圖4所示。

          圖3

          用戶使用前,應(yīng)首先檢查洗碗機狀態(tài)是否正常,若狀態(tài)正常,按下弱電源開關(guān),根據(jù)洗滌要求設(shè)置洗滌模式(或使用默認方式),將碗放入清洗室,然后關(guān)上機門,按下開始鍵。之后,控制器檢測水位高低和水溫,以決定是否進水與恒溫加熱,至此準備工作完成,啟動電機進行清洗。接下來再把清潔劑注入清洗室,同時檢測水位高低,若水位較低,則立即進水,以保證清洗效果。清洗完成后,等碗上的水空一段時間后,洗碗機再注入高溫消毒水進行消毒。洗滌完成后,蜂鳴器鳴叫,表明洗滌完成,同時控制器回到用戶初始設(shè)置模式。洗滌中每一過程和按鍵均對應(yīng)有一發(fā)光二極管的亮滅,用以顯示過程和按鍵的正常與否。洗滌完成后,用戶打開機門,取出碗盤,然后斷電即可結(jié)束整個洗碗過程。

          在該系統(tǒng)軟件子程序中,需要對鍵盤/顯示管理模塊進行說明,包括初始化子程序、發(fā)送子程序、接收子程序、中斷子程序、顯示子程序等。其中用戶通過鍵盤設(shè)置模塊可以設(shè)定洗滌模式、每一過程的時間長短以及洗滌劑量大小,也可隨時按相應(yīng)的功能鍵暫?;蛑兄瓜礈爝^程。技術(shù)維護人員可以通過鍵盤/顯示管理模塊輸入正確密碼來查詢機器的使用狀況,如機器序列號、機器的使用次數(shù)等,也可對關(guān)鍵參數(shù)根據(jù)實際情況進行設(shè)置。

          故障報警功能模塊可在工作電壓故障、進水閥故障、加熱器故障、電機故障、清潔劑注入故障以及高溫消毒水注入故障發(fā)生時用蜂鳴器報警,同時斷掉強電控制信號,以確保系統(tǒng)安全。

          4 結(jié)論

          該控制系統(tǒng)目前已經(jīng)調(diào)試成功,試驗性能良好,可實現(xiàn)本自動洗碗機所要求的功能,而且簡捷實用。但還有需要完善提高的地方,如排水需要人工干預(yù)、人機接口可考慮選用效果更好的字符或圖形LCD、系統(tǒng)集成度有待提高等。

          蜂鳴器相關(guān)文章:蜂鳴器原理
          電機保護器相關(guān)文章:電機保護器原理


          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();