郝傳斌,王奐奇,陳 梅
(曲阜師范大學工學院,山東 日照 276826)
隨著自動化技術的發(fā)展,傳統(tǒng)餐館弊病明顯。傳統(tǒng)餐館服務人員眾多、成本較高,非就餐高峰期就餐人較少,會造成人工成本浪費。在高峰期,許多餐館效率較慢,存在排隊點餐、配送不及時等問題。由于人民生活節(jié)奏的加快和對于餐飲質量要求的提高,要縮短就餐時間,增加餐館的智能化和觀賞性。本文設計的智能餐館具有智能點餐系統(tǒng),能自動分配座位,自動識別餐盤和自動配送等。該系統(tǒng)提升了服務效率,降低了人工成本,使得顧客的滿意度增加。未來系統(tǒng)還能與醫(yī)療健康系統(tǒng)等對接,根據顧客的身體情況進行推薦菜品。
系統(tǒng)由集成Kinetis MK60DN512ZVLQ10核心板和外設接口的電路板、OpenMV圖像采集模塊、繼電器、薄膜晶體管(thin film transistor,TFT)屏自助選餐模塊、語音播放模塊、傳送帶、減速電機、機械臂、電源供電、環(huán)形餐桌組成。設計制作的印制線路板(printed circuit board,PCB)集成了各外設的接口與供電電源接口。OpenMV圖像采集模塊用來采集餐盤上的數字信息,并將數字信息通過串口發(fā)送到主控芯片KinetisK60。經KinetisK60處理后,對傳送帶的減速電機進行控制,同時控制機械臂上6個步進電機的動作。不同的餐位將對應機械臂不同的動作指令,從而達到將餐盤送到指定顧客位置的功能。語音播放模塊主要完成點餐與提醒功能:在顧客點餐完成后,會有語音提醒顧客就餐位置;經過機械臂傳送餐品到達后,會有語音提示顧客取餐。系統(tǒng)結構如圖1所示。
圖1 系統(tǒng)結構框圖
系統(tǒng)主要包括智能點餐、自動送餐功能。系統(tǒng)操作流程如圖2所示。
圖2 系統(tǒng)操作流程圖
智能點菜系統(tǒng)由TFT顯示屏和語音模塊組成。TFT顯示屏由七個引腳組成。其中,前兩個是驅動電壓輸入引腳,輸入為3.3 V。中間四個為SPI串口通信引腳,分別是CS片選輸入、SCK時鐘輸入、SDI數據輸入和D/C數據/命令選擇[1]。SPI串口通信不僅操作簡單、傳輸效率高,而且只占用單片機4個I/O,節(jié)約了單片機I/O口資源,為以后增加其他功能提供了I/O口。最后一個為RST復位引腳。當屏幕上電打開時,控制TFT初始化,使其工作穩(wěn)定,大大減少了花屏、黑屏等故障。語音模塊采用JQ8900-TF,支持U盤和TF卡,可以采用單片機串口控制,也可以使用按鍵進行一對一或多對一控制等多種控制模式。這個模塊有7個觸發(fā)I/O管腳,最多支持19段語音觸發(fā)播放。通過USB轉TTL模塊,將計算機和JQ8900-TF語音模塊連接起來,再通過調試軟件進行串口調試,快速方便。
將菜單顯示在屏幕上,顧客選擇菜品后,會將選擇的菜品顯示在屏幕上,并發(fā)送至單片機進行處理,然后由單片機隨機給顧客分配座位;也可由顧客自行選擇合適的位置,分配好座位之后單片機會將對應于語音模塊的引腳變?yōu)榈碗娖?;語音模塊接收到低電平后,提醒顧客就座位置。單片機引腳恢復高電平,語音播放模塊停止播放。
2.2.1 餐盤標志采集模塊的選取
餐盤標志采集選用OpenMV3攝像頭。OpenMV3是一種具有獨自處理芯片的攝像頭,其內置處理器為STM32F765VI ARM Cortex M7,通過高級語言Python編程使用,常用于機器視覺領域。通過其I/O管腳控制OpenMV使得攝像頭與系統(tǒng)主控進行串口通信。OpenMV攝像頭中的感光元件為OV7725,在80幀率下可以處理640×480個點的灰度圖或者320×240個點的RGB565 彩色圖像[2];大多數簡單的算法運行在30幀率以下。采用OpenMV3攝像頭可以達到系統(tǒng)采集餐盤信息的要求。
2.2.2 餐盤標志的采集
顧客的餐位確定后存入單片機中,并通過表單告知廚師在做好餐后放入標有餐位標號的餐盤中,餐盤上的標志為餐位數字信息。采用讀取數字信息的方法為模板匹配法。模板匹配可應用于目標跟蹤、圖像識別等領域。它是一種識別特定圖像的方法。這種識別算法簡單,在圖像方位、大小變化不大的情況下識別成功率高,應用范圍很廣泛[3]。首先,在OpenMV的外插SD卡內存入標號的圖片信息作為對比模板,在攝像頭下一旦經過掃描對比發(fā)現與內存中存入的模板一致的餐盤,將會通過串口RX、TX向K60單片機發(fā)送相應的數字信號。比如:識別到的餐盤信息為15號,則識別出該信息后,OpenMV將會向K60發(fā)送信號“15”;單片機得到指令后,將會自動分配傳送帶定時時間,傳送給顧客餐食。
自動配送裝置由繼電器、減速電機、傳送帶和機械臂組成。選用帶光耦隔離的繼電器,性能比較穩(wěn)定,并且驅動能力強、觸發(fā)電流小。控制方案為:將Kinetis K60的其中一個控制引腳接到繼電器的輸入端,通過Kinetis K60發(fā)出的控制信號控制繼電器的開通與關斷,從而控制傳送帶的啟停。將減速電機中的一根線分別接到繼電器輸出端的常開接口和COM接口。當繼電器輸入端有效時,輸出端的常開接口和COM就會閉合,進而減速電機接通,傳送帶開始工作,也就是開始傳送餐食。當繼電器輸入端無效時,輸出端的常開接口和COM就會懸空,進而電機不接通,說明餐食已經送到指定顧客位置。用繼電器來控制傳送帶,以此來節(jié)省用電,降低餐館成本。
系統(tǒng)采用了小體積、低噪聲、大扭矩的減速電機帶動傳送帶,以便及時地將顧客點的餐送到顧客面前。當顧客的餐做好之后,OpenMV3識別餐盤信息,然后將信息傳給KinetisK60。經過KinetisK60處理,首先單片機會給繼電器輸入端一個高電平,使電機轉動。當電動機轉動后,測速裝置會將采集的數據傳給單片機,經過比例積分微分(proportional integral differential,PID)調速會使電機的速度平穩(wěn),保持在預先設定的速度。通過計算時間,得到傳送帶傳送的距離,傳送的距離不斷反饋到單片機。當到達顧客的位置之后,單片機控制繼電器關斷和語音模塊播放提醒顧客。同時,機械臂上的6個步進電機互相配合,將餐從傳送帶上取下放到顧客桌上。
在傳送帶上設計了專門放置餐盤的固定槽,使得餐盤在傳送帶上傳送時更加平穩(wěn),并且增加了openmv識別的成功率。
本設計主要是對單片機KinetisK60、OpenMV3、TFT顯示屏和繼電器等設備進行供電。KinetisK60單片機openmv的穩(wěn)定工作電壓都為3.3 V。TFT顯示屏工作電壓3.3 V或5 V,一般選用3.3 V。繼電器采用5 V供電,所以設計了5 V和3.3 V電源電路。根據需要,并查找穩(wěn)壓芯片數據手冊,選用了LM2940-5.0 V和LM2937-3.3 V低壓差三端穩(wěn)壓芯片[4]。這兩種穩(wěn)壓芯片輸入輸出之間的損耗非常小,輸出電流大并且內含靜態(tài)電流降低電路、電流限制、過熱保護、電池反接和反插入保護電路。在電源輸入端和輸出端分別加了兩個電容進行濾波,保證輸出電源穩(wěn)定,使單片機和各種設備工作在穩(wěn)定狀態(tài),并使用Altium Designer繪制了原理圖[5]。電源電路如圖3所示。
圖3 電源電路圖
系統(tǒng)控制器選用KinetisK60系列的Kinetis MK60DN512ZVLQ10核心板。采用Cortex-M4內核擁有128 KB RAM 和512 KB FLASH,系統(tǒng)主頻為100 MHz,處理速度比一般的單片機更快,并且低功耗,可帶外設,更適用于工業(yè)領域[6]。控制器適用于處理大批量的串口通信信息,可更加準確地控制系統(tǒng)的正常、穩(wěn)定運行。
主控芯片KinetisK60的程序編譯器使用的是IAR Embedded Workbench。IAR是對于嵌入式系統(tǒng)進行編譯和調試的工具,適用于匯編、C、C++語言,可以通過各種監(jiān)控手段進行對于系統(tǒng)程序的調試,編譯速度快,適用于各種系統(tǒng)開發(fā)[7]。而OpenMV的圖像處理使用OpenMV IDE進行編程,使用語言是Python。Python使用較為簡單,對于圖像處理更加方便。
為了更加方便地管理和監(jiān)控各部分系統(tǒng)的執(zhí)行情況,在系統(tǒng)中設計了反饋部分。顧客點完餐之后的數據將保存在單片機的RAM中,并通過串口傳輸到計算機端進行同步顯示[8]。由于KinetisK60輸出TTL電平,而計算機輸出的是RS-232信號,將KinetisK60接一個MAX232芯片進行轉換,這樣KinetisK60的數據就可以發(fā)送到計算機上[9]。當顧客取完餐之后,也會通過串口給單片機發(fā)一個信號,提醒監(jiān)管人員。這樣監(jiān)管人員可以隨時了解餐館內運作情況,減少或避免一些錯誤發(fā)生。未來,也可以將顧客點餐或用餐口味等數據整理出來進行分析,得到大部分人喜歡的口味或菜品,供廚師參考。
①本設計采用了TFT顯示屏顯示菜單和點菜,不僅替代了傳統(tǒng)的紙質菜單、更加全方位詮釋餐廳特色及飲食文化,而且大大節(jié)省了點餐所用的時間,更加方便快捷。
②本設計主控采用了KinetisK60單片機。其具有較強的處理能力,運算速度更快,對座位的分配以及各個系統(tǒng)的控制具有明顯的優(yōu)勢。
③采用了openmv3攝像頭對餐盤上的標志進行圖像識別。它自帶STM32F765VIARM Cortex M7的處理器,處理圖像更快、更準確,后續(xù)還可增加人臉識別等功能。
④采用傳送帶和繼電器配合傳送食物,更加快速。
以KinetisK60為核心,基于OpenMV攝像頭設計的智能餐館系統(tǒng),具有自助點餐、自助分配餐位、自動配送餐食等功能。該設計解決了傳統(tǒng)點餐、送餐效率低、速度慢等問題,提高了餐館的服務效率。