徐航宇 范則遠 蔡俊杰
(南京理工大學自動化學院 南京 210094)
?
基于MSP430單片機的餐廳服務機器人的多狀態(tài)顯示系統(tǒng)的研究*
徐航宇范則遠蔡俊杰
(南京理工大學自動化學院南京210094)
隨著社會經(jīng)濟的快速發(fā)展,對餐飲業(yè)服務質(zhì)量的需求不斷提升。餐廳服務機器人作為機器人行業(yè)新的發(fā)展方向,在給餐廳帶來了新鮮元素的同時又降低了餐廳的人力成本。論文設計了一種餐廳服務機器人多狀態(tài)顯示系統(tǒng),該系統(tǒng)通過機器人控制器接收終端機指令,并根據(jù)指令作出相應顯示,以此實現(xiàn)餐廳服務機器人相應的狀態(tài)顯示功能。該系統(tǒng)設計包括電路設計、軟件設計以及調(diào)試三個部分。硬件電路包括對系統(tǒng)的硬件電路板設計。軟件部分包括嵌入式程序以及對顯示模塊通信程序的書寫。最后在實驗室環(huán)境下進行了調(diào)試,并完成了狀態(tài)顯示系統(tǒng)的使用。
餐廳; 狀態(tài)顯示系統(tǒng); MSP430單片機; 無線通信
Class NumberTP368.1
隨著計算機技術、網(wǎng)絡技術以及現(xiàn)代控制技術的高速發(fā)展,機器人的種類變得越來越豐富,功能也越來越齊全,并逐步從傳統(tǒng)的工業(yè)應用領域走進人們的日常生活,被人們了解和熟知。隨著獨生子女建立家庭,對餐飲業(yè)服務的需求不斷擴大,餐飲業(yè)對勞動力的需求也不斷增加。但新興勞動力對單調(diào)、辛苦的服務普遍不感興趣,加上勞動力成本不斷提高,餐廳招聘服務員面臨困境。研究與開發(fā)餐廳服務機器人技術,能夠進一步解放勞動力,降低用工成本,促進餐飲服務業(yè)的健康發(fā)展[1~2]。
餐廳服務機器人技術主要包含運動控制算法技術,導航定位方式技術,通信技術,安全避障功能,人機交互功能。其中通信技術作為餐廳服務機器人的“耳朵”,需要隨時接收終端機控制指令,并將狀態(tài)信息實時反饋給終端機,這就涉及到機器人與終端機之間的相互通信,必須具備高效、穩(wěn)定的通信方式,來實現(xiàn)用戶對機器人的指令下發(fā)與實時監(jiān)控,同時通信過程必須具有很強的抗干擾能力[3]。
多狀態(tài)餐廳服務機器人的多狀態(tài)系統(tǒng)結(jié)構如圖1所示,其可劃分為四個模塊分別為核心控制模塊,無線通信模塊,狀態(tài)顯示模塊以及上位機。其功能分別如下:
圖1 餐廳服務機器人多狀態(tài)系統(tǒng)結(jié)構
1) 核心控制模塊:該模塊是整個系統(tǒng)的核心部分,相當于是機器人的“大腦”。主要完成對數(shù)據(jù)采集模塊的數(shù)據(jù)交換,及傳輸數(shù)據(jù)到狀態(tài)顯示模塊,同時控制電機的轉(zhuǎn)速以及轉(zhuǎn)向,并且通過無線通信模塊和上位機進行信息的交換等。
2) 無線通信模塊:通過RS485串口模塊電路,將機器人的信息與上位機系統(tǒng)實現(xiàn)無線通信。
3) 狀態(tài)顯示模塊:該模塊是作為人與機器人互動的部分。主要通過串口通信模塊將數(shù)據(jù)與核心控制模塊交換,通過對數(shù)據(jù)的比對,接受核心控制模塊所發(fā)出的指令,顯示預設置的狀態(tài)。顯示作為一種人機交互的性能體現(xiàn),能夠滿足人們對服務機器人多樣化、高性能的互動方式的需求[4]。
因此,對于餐廳服務機器人的多狀態(tài)顯示系統(tǒng)也是餐廳服務機器人的重要研究方向。
3.1主控模塊設計
主控芯片是餐廳服務機器人控制系統(tǒng)的核心,它的選型直接關系到整個控制系統(tǒng)的控制性能和開發(fā)方式[5]。芯片選型主要考慮數(shù)據(jù)處理能力、端口資源、功耗、成本及開發(fā)環(huán)境等方面,經(jīng)過對比,美國TI公司的MSP430F5438微控制器作為核心主控芯片MSP430F5438具有如下優(yōu)勢:
1) 數(shù)據(jù)處理能力超強:它是16位微控制器,主頻最高可達18MHz,一個時鐘周期可以執(zhí)行一條指令;
2) 端口資源豐富:硬件看門狗定時器、3個16位定時器、1個16路的12位AD轉(zhuǎn)換器、3通道DMA控制器、4個USCI串行通信接口、87個可進行方向設置的通用I/O口、16個具有中斷功能的中斷I/O口;
3) 功耗超低:工作電壓為2.2V~3.6V,具有超低工作及待機電流;
4) 成本低:市場售價在25元左右,性價比高;
5) 開發(fā)環(huán)境高效方便:整個開發(fā)環(huán)境(編譯、調(diào)試)都可以在同一個軟件集成環(huán)境中進行。
3.2電源模塊
電源模塊由電池、電源轉(zhuǎn)換模塊和充放電電路組成等。電池選用24V/20Ah動力鋰電池,具有可充電、高倍率、容量大的優(yōu)點。對于主控芯片,供電電壓為3.3V,先由HZD10W-24S05型24V轉(zhuǎn)5V模塊將電池24V轉(zhuǎn)換為5V,再由TPS7333芯片將5V轉(zhuǎn)換為3.3V供給主控芯片。主控芯片電源電路圖如圖2所示。
圖2 主控芯片電源電路圖
3.3通信模塊
RS485通信具有傳輸距離遠、抗干擾能力強等特點,所以很多傳感器均采用RS485通信[6]。由于MSP430F5438的USCI_A模塊的輸出電平為TTL電平,而RS485通信采用差分方式傳輸信號,因此通信時必須將TTL電平轉(zhuǎn)為RS485差分信號。本文選用MAXIM公司的MAX3485芯片進行轉(zhuǎn)換,工作電壓為+3V~+3.6V,工作電流為1mA,驅(qū)動60Ω負載時峰值電流可達50mA。狀態(tài)顯示模塊接口電路原理圖以及無線通信模塊接口電路如圖3及圖4所示。
圖3 觸摸屏模塊接口電路原理圖
圖4 無線通信模塊接口電路原理圖
其中,為了抑制共模干擾,使用上拉電阻將RS485_4+以及RS485_1+引腳上拉至3.3V,使用下拉電阻將RS485_4-以及RS485_1-下拉至地;為抑制回波干擾,在RS485總線的兩個終端設備上接入12K電阻;為防止芯片因瞬間的脈沖而損壞,在兩個終端設備上接入瞬態(tài)雙向電壓抑制二極管。
3.4無線通信模塊
無線通信模塊選型關系到機器人與終端機之間通信的穩(wěn)定性,主要指串口轉(zhuǎn)無線模塊選型。本文選用上海卓嵐信息科技有限公司開發(fā)的ZLAN7142串口服務器如圖5所示其具備以下優(yōu)點:
1) 能夠自適應串口參數(shù)。使用虛擬串口時,可以根據(jù)PC機串口軟件打開的串口波特率、校驗位等自適應相應的參數(shù)。
2) 支持更高的波特率。本文使用的是115200波特率。
3) 具有RS232/RS485轉(zhuǎn)WIFI TCP/IP的功能,可以方便地實現(xiàn)Modbus RTU協(xié)議轉(zhuǎn)化為Modbus TCP wifi協(xié)議。能夠快速的通過串口轉(zhuǎn)wifi,使嵌入式下位機能夠通過無線與上位機連接。
4) 能夠與任何局域網(wǎng)內(nèi)的網(wǎng)絡設備進行控制。并且支持全雙工、高速率數(shù)據(jù)轉(zhuǎn)發(fā),不丟包。
圖5 ZLAN7142串口服務器實物圖
3.5顯示模塊
界面顯示模塊作為服務機器人與人做互動的關鍵部分,能夠提高人機交互性能以便給用戶帶來更為新鮮的體驗感。因此本文選擇Samkoon SK系列的觸摸屏如圖6所示。它是高質(zhì)量的開放性的人機界面產(chǎn)品。通訊方式主要是串行通訊,并且支持RS。
圖6 SK-050AE顯示模塊實物圖
4.1系統(tǒng)軟件總體流程
1) 開始,系統(tǒng)上電復位。
2) 完成各模塊初始化,其中初始化模塊包括時鐘初始化、定時器初始化、I/O端口初始化、串口初始化等。
3) 進入死循環(huán),等待中斷,若無線通信中斷觸發(fā),則將無線通信中斷標志變量置1。
4) 若定時器中斷周期到達,則將計數(shù)器值加1,根據(jù)計數(shù)器值是否為10的倍數(shù),決定是否將10ms標志變量置1。
5) 當無線通信中斷標志變量為1時,執(zhí)行無線信號解析,接收終端機指令,將無線通信中斷標志變量清零。
6) 當10ms標志變量為1時,執(zhí)行狀態(tài)顯示模塊控制,使狀態(tài)顯示模塊顯示機器人運行狀態(tài)以及目標餐桌號、狀態(tài)信息發(fā)送函數(shù),并將10ms標志變量清零。
7) 當所有的標志變量都為0時,繼續(xù)循環(huán)程序[7]。
其中主函數(shù)流程圖如圖7所示,TA0定時器中斷函數(shù)流程圖如圖8所示,無線通信模塊函數(shù)流程圖如圖9所示。
圖7 主函數(shù)流程圖
圖8 TA0定時器中斷函數(shù)流程圖
圖9 無線通信模塊流程圖
嵌入式系統(tǒng)初始化包括鐘初始化、I/O端口初始化、定時器初始化、串口初始化等。MSP430F5438嵌入式系統(tǒng)初始化流程圖如圖10所示。
圖10 MSP430F5438嵌入式系統(tǒng)初始化流程圖
嵌入式系統(tǒng)初始化具體包括以下幾個方面:
1) 時鐘初始化:包括關閉看門狗,選擇晶振輸入引腳,開啟晶振,設置內(nèi)部負載電容,清除振蕩器錯誤標志。
2) I/O端口初始化:對于普通I/O口,通過PxDIR寄存器設置輸入/輸出方向、PxOUT設置輸出高電平或低電平、PxSEL設置引腳功能。對于有中斷能力的I/O口,通過PxIE寄存器設置中斷使能、PxIES選擇中斷觸發(fā)沿、PxIFG設置中斷標志。
3) 定時器初始化:選擇時鐘源,中斷使能,設置定時中斷時間,設置計數(shù)模式,選擇輸出模式。
4) 串口初始化:配置引腳功能,選擇時鐘源,設置波特率,中斷使能。
4.2串口初始化設計
嵌入式系統(tǒng)與RS485轉(zhuǎn)無線模塊和觸摸屏模塊通信采用串口通信方式,具體由主控芯片MSP430F5438的兩個USCI_A模塊實現(xiàn),通過設置之后,可以由硬件自動實現(xiàn)數(shù)據(jù)的移入和移出,從而完成串行通信[7,8]。在本系統(tǒng)中,采用異步串行通信,設置標志寄存器UCSYN=0,將USCI_A1設置為UART模式,實現(xiàn)異步串行通信。USCI_A1模塊包括四個部分:波特率、接收部分、發(fā)送部分和接口部分。其中波特率控制串行通信數(shù)據(jù)接收和發(fā)送的速度,包括時鐘輸入選擇和分頻、波特率發(fā)生器、調(diào)整器和波特率寄存器;接收部分接收串行輸入的數(shù)據(jù),包括接收移位寄存器和接收緩沖寄存器UCA1RXBUF;發(fā)送部分發(fā)送串行輸出的數(shù)據(jù),包括發(fā)送移位寄存器和發(fā)送緩沖寄存器UCA1TXBUF;接口部分:完成并/串、串/并轉(zhuǎn)換[9]。
在本控制系統(tǒng)中,BRCLK由8MHz外部晶振產(chǎn)生。USCI_A0接RS485轉(zhuǎn)無線通信模塊,USCI_A3接觸摸屏模塊,均采用波特率為115200bps,計算得到寄存器配置分別為:UCA0BR0=0x45,UCA0BR1=0x00;UCA3BR0=0x45,UCA3BR1=0x00。在通信過程中,通信雙方往往需要遵循一定的協(xié)議進行通信,以保證雙方通信的正常。通信協(xié)議是一段連續(xù)的數(shù)據(jù),由若干個字節(jié)組成,采用固定長度幀的結(jié)構,格式為“幀頭+數(shù)據(jù)位+幀尾”[10]。
4.3無線模塊接收信號處理與發(fā)送信號設計
1) 無線模塊接收信號處理:終端機向機器人發(fā)送一次狀態(tài)信息,波特率115200bps,幀字頭0xfb,幀字尾0xbf,其數(shù)據(jù)格式如表1所示。
表1 終端機向機器人發(fā)送數(shù)據(jù)格式
其中,Data1表示機器人編號,主要用于多機器人同時送餐時區(qū)分;CRC表示數(shù)據(jù)校驗位。
2) 無線模塊發(fā)送信號設計:嵌入式系統(tǒng)每隔10ms向終端機發(fā)送一次狀態(tài)信息,波特率115200bps,幀字頭0xfa,幀字尾0xaf,其數(shù)據(jù)格式如表2所示。
表2 機器人向終端機發(fā)送數(shù)據(jù)格式
其中,Data1表示機器人編號,當有多臺機器人同時參與送餐,需區(qū)分每臺機器人編號;Data2表示狀態(tài)信息,用于通知終端機當前狀態(tài),包括等待、送餐故障等;CRC表示數(shù)據(jù)校驗位。
3) 多狀態(tài)顯示模塊:多狀態(tài)顯示模塊包括餐桌編號與運行狀態(tài)。多狀態(tài)顯示模塊數(shù)據(jù)格式如表3所示。
表3 多狀態(tài)顯示模塊數(shù)據(jù)格式
其中,Data1,當接收到送餐指令后,將餐桌編號發(fā)送到觸摸屏模塊;Data2,狀態(tài)顯示,包括正常、障礙、欠壓或異常等;CRC,數(shù)據(jù)校驗位。
1) 首先配置ZLAN7142串口服務器,將設備工作狀態(tài)設置為“station”模式,然后連接到局域網(wǎng);根據(jù)ZLAN7142串口服務器用戶手冊,波特率設為115200bps。在完成串口服務器配置后,測試無線通信是否正常。在測試無線通信過程中,借助兩個調(diào)試軟件:TCP&UDP調(diào)試工具和串口調(diào)試工具,其中TCP&UDP調(diào)試工具通過局域網(wǎng)與串口服務器相連,串口調(diào)試工具通過USB轉(zhuǎn)RS485與串口服務器相連,測試雙方能否相互收發(fā)數(shù)據(jù)。
2) 其次對Samkoon SK顯示器的編輯軟件SKWorkshop進行編輯。添加顯示界面的編號以及狀態(tài)的模塊,設置數(shù)據(jù)類型以及寄存器所在的位置。編寫好宏指令之后,對其進行測試。把波特率設為115200bps,通過串口調(diào)試工具對其進行指令的輸入,測試顯示模塊能否顯示餐桌編號及其狀態(tài)。
3) 最后聯(lián)調(diào),通過上位機發(fā)送指令,檢測顯示模塊是否顯示相對應的餐桌編號及其狀態(tài)。
通過上位機發(fā)送指令一號機器人送餐致5號餐桌,一號機器人的顯示界面顯示為一號,送至5號餐桌,狀態(tài)正常。如圖11狀態(tài)所示。
圖11 狀態(tài)顯示
本文以MSP430為核心模塊的,使用串口服務器和顯示模塊以及周圍電路搭建了一個狀態(tài)顯示系統(tǒng),通過上位機的操控實現(xiàn)了對狀態(tài)顯示遠程輸發(fā)功能的實現(xiàn)。此顯示系統(tǒng)作為一種人機交互的性能體現(xiàn),能夠為餐廳服務機器人增加人與機器人的互動性。該設計在餐廳服務機器人的實際運用中具有廣闊的應用前景。
[1] 王田苗,陶永,陳陽.服務機器人技術研究現(xiàn)狀與發(fā)展趨勢[J].中國科學:信息科學,2012,42(9):1049-1066.
WANG Tianmiao, TAO Yong, CHEN Yang. Research status and development trend of service robot technology[J]. Science China Information Sciences,2012,42(9):1049-1066.
[2] 蘇劍波.服務型機器人的新時代[J].自動化博覽,2014(7):17-17.
SU Jianbo. A new era of service robot[J]. Automation Expo,2014(7):17-17.
[3] 蔡型,張思全.短距離無線通信技術綜述[J].現(xiàn)代電子技術,2004,27(3):65-67.
CAI Xing, ZHANG Siquan. Summary of short range wireless communication technology[J]. Modern Electronics Technique,2004,27(3):65-67.
[4] 董士海.人機交互的進展及面臨的挑戰(zhàn)[J].計算機輔助設計與圖形學學報,2004,16(1):1-13.
DONG Shihai. Progress and challenges of human computer interaction[J]. Journal of Computer-Aided Design and Computer Graphics,2004,16(1):1-13.
[5] 米秀杰.單片機應用系統(tǒng)研究——輪式移動機器人控制系統(tǒng)設計與研究[J].制造業(yè)自動化,2011,33(3):63-66.
MI Xiujie. Research on application system of single chip microcomputer — Design and research of control system of wheeled mobile robot[J]. Manufacturing Automation,2011,33(3):63-66.
[6] 程麗丹,肖穩(wěn)安,行鴻彥,等.用Delphi實現(xiàn)大氣電場儀系統(tǒng)中PC機與MSP430單片機的串行通信[J].信息化研究,2009,35(3):40-43.
CHENG Lidan, XIAO Wen’an, XING Hongyan, et al. Realization of serial communication between PC and MSP430 MCU in atmospheric electric field instrument system with Delphi[J]. Informatization Research,2009,35(3):40-43.
[7] 蔣春勇.基于MSP430F149和CVI6.0的串行通信設計[J].現(xiàn)代計算機:下半月版,2006(2):110-112.
JIANG Chunyong. Design of serial communication based on MSP430F149 and CVI6.0[J]. Modern Computer: The Second Half of The Month,2006(2):110-112.
[8] 王冰,胡彬,王春香,等.自動導引車車載控制系統(tǒng)的研究與設計[J].自動化儀表,2013,34(5):1-4.
WANG Bing, HU Bin, WANG Chunxiang, et al. Research and design of the vehicle control system of the automatic guided vehicle[J]. Process Automation Instrumentation,2013,34(5):1-4.
[9] 徐俊,戴亞文,張義桃.基于MSP430的超低功耗無線應變傳感器的設計[J].儀表技術與傳感器,2008,7:11-13.
XU Jun, DAI Yawen, ZHANG Jitao. Design of ultra low power wireless strain sensor based on MSP430[J]. Instrument Technique and Sensor,2008,7:11-13.
[10] 楊平,王威.MSP430系列超低功耗單片機及應用[J].國外電子測量技術,2008,27(12):48-50.
YANG Ping, WANG Wei. MSP430 series ultra low power consumption single chip microcomputer and its application[J]. Foreign Electronic Measurement Technology,2008,27(12):48-50.
Status Display System of Restaurant Service Robot Based on MSP430 MCU
XU HangyuFAN ZeyuanCAI Junjie
(School of Automation, Nanjing University of Science and Technology, Nanjing210094)
With the rapid development of social economy, the demand for service quality of catering industry is increasing. The restaurant service robot as a new development direction of the robot industry, brings fresh elements in the restaurant while reducing the human cost of the restaurant. In this paper, a kind of restaurant service robot state display system is designed. Through the robot controller receiving terminal instruction, and in accordance with the instructions a corresponding display is made, achieve restaurant service robot corresponding state display function. The system is designed circuit design, software design and joint commissioning of three parts included. Hardware circuit includes microcontroller hardware board design and software part includes embedded program and the display module communication program writing. Finally, the system is debugged in the laboratory environment, and the use of human computer interaction system is completed.
restaurant, status display system, MSP430 MCU, wireless communication
2016年4月8日,
2016年5月21日
徐航宇,男,碩士研究生,研究方向:控制系統(tǒng)在工業(yè)領域的應用。
TP368.1
10.3969/j.issn.1672-9722.2016.10.020