尋軌式語音播報送餐機器人系統(tǒng)的軟硬件設計
1 設計方案
本文引用地址:http://2s4d.com/article/201610/309177.htm方案采用STC12C5A60S2單片機作為主控制器,步進電機作為動力,人體紅外傳感器避障,TCRT5000傳感器尋跡,語音芯片則用來播報機器人服務過程中的日常用語。系統(tǒng)設計了一個電源開關(guān)、一個模式開關(guān)、8個餐桌按鍵盤、一個返回鍵。系統(tǒng)由模式開關(guān)來選擇“送餐”或是“收盤”,并依靠尋找黑線來實行餐桌定位,使用紅外探頭完成尋軌。機器人正前方安裝有人體紅外傳感器,用來檢測前方人體障礙物。中間設計成垃圾回收桶,可回收垃圾。左側(cè)設有小盤可放擦手毛巾,托盤上安裝壓力傳感器,當送餐到客人面前,語音提示客人點餐已到,客人取走點餐,壓力傳感器檢測到?jīng)]有壓力之后,語音提示并原路返回,若是“收盤模式”,則按返回鍵返回。系統(tǒng)硬件框圖如圖1所示。
2 硬件設計
2.1 主控芯片
主控芯片使用STC12C5A60S2單片機,該單片機是宏晶科技生產(chǎn)的單機器周期單片機,具有高速、低功耗、超強抗干擾的特點,指令代碼完全兼容傳統(tǒng)8051,但速度要快8~12倍、內(nèi)部集成MAX810專用復位電路、2路PWM。
2.2 紅外循跡探頭傳感器
循跡探頭采用TCRT5000傳感器,其靈敏度高,一只發(fā)送、一只接收。TCRT5000傳感器的紅外發(fā)射二極管不斷發(fā)射紅外線,當發(fā)射出的紅外線沒有被反射回來,或被反射回來但強度不夠大時,光敏三極管一直處于關(guān)斷狀態(tài),此時模塊的輸出端為低電平,指示二極管一直處于熄滅狀態(tài);被檢測物體出現(xiàn)在檢測范圍內(nèi)時,紅外線被反射回來且強度足夠大,光敏三極管飽和,此時模塊的輸出端為高電平,指示二極管被點亮。具體實現(xiàn)電路如圖2所示。
紅外探頭一共有8個,分布如圖3所示。其中探頭3、4、6、7為主探頭,用來尋軌;探頭5、8為輔助探頭,用來修正軌道;探頭1、2為計數(shù)探頭,用來計數(shù)餐桌號。底盤灰色部分為軌道。
系統(tǒng)設定8個餐桌,也可能擴展多個,位置布局如圖4所示。
2.3 步進電機的選用
步進電機選用美蓓亞42步進電機,相電阻為2 Ω,步距角為1.8°。6 V試電,短路電流達到了1.9 A,靜力矩約2.8 kg。采用LMD18200T驅(qū)動器,速度適合中等速度偏向高速,而且力量不錯,發(fā)熱也不大。
LMD18200T是NS推出的專用于直流電動機驅(qū)動的H橋組件,應用電路原理圖如圖5所示,內(nèi)部集成了4個DM0S管,組成一個標準的H型驅(qū)動橋。通過充電泵電路為上橋臂的2個開關(guān)管提供柵極控制電壓,充電泵電路由一個300 kHz左右的工作頻率控制。可在引腳1、11外接電容形成第二個充電泵電路,外接電容越大,向開關(guān)管柵極輸入的電容充電速度越快,電壓上升的時間越短,工作頻率越高。
引腳2、10接直流電機電樞,正轉(zhuǎn)時電流的方向從引腳2到引腳10;反轉(zhuǎn)時電流的方向從引腳10到引腳2。電流檢測輸出引腳8可以接一個對地電阻,通過電阻來輸出過流情況。內(nèi)部保護電路設置的過電流閾值為10 A,當超過該值時會自動封鎖輸出,并周期性地自動恢復輸出。如果過電流持續(xù)時間較長,過熱保護將關(guān)閉整個輸出。
2.4 壓力傳感器的選用
電阻應變式壓力傳感器能夠承受5 kg的重量,滿足一份點餐的重量。傳感器配合HX711AD模塊使用,HX711AD模塊具有兩路模擬通道輸入,內(nèi)部集成128倍增益可編程放大器,是一款高精度、低成本的采樣前端模塊。圖6為壓力傳感器安裝方式。
與同類型芯片相比,HX711AD芯片集成了包括穩(wěn)壓電源、片內(nèi)時鐘振蕩器等同類型芯片所需要的外圍電路,具有集成度高、響應速度快、抗干擾性強等優(yōu)點。該芯片與后端MCU芯片的接口和編程非常簡單,所有控制信號由引腳驅(qū)動,無需對芯片內(nèi)部的寄存器編程。
如圖7所示,輸入電路配置為提供橋壓的電橋式傳感器模式,通過HX711AD模塊的數(shù)字量送到MCU,當送餐到目的地后,客人端走托盤,系統(tǒng)檢測壓力傳感器壓力為0,觸發(fā)CPU 10 s倒計時,倒計時結(jié)束后機器人播音“拜拜”,并原路返回。
2.5 人體紅外檢測模塊
選用迷你型人體紅外檢測模塊,主要檢測送餐機器人正前方有無人員(障礙物),調(diào)整感應距離為0.5 m,若前方0.5 m處檢測到人體紅外光,則觸發(fā)模塊信號送到MCU處理,MCU發(fā)送指令操控送餐機器人停止前行,并觸發(fā)語音芯片發(fā)出“您好,服務員正在送餐中,請讓一下路”的提示。
2.6 語音播報IC的選用
語音播報使用MXH040語音芯片。MXH040語音芯片可編程一次性燒錄語音,語音長度可達40 s(采樣率為6kHz),最多可存放700個語音文件,最多可加載63段地址的語音,具有按鍵控制模式、一線串口控制模式以及兩線串口控制模式等。在本設計中主要采用按鍵控制模式,并通過單片機P2 I/O口來觸發(fā)語音播報。系統(tǒng)設計使用以下幾個語句:“您好,服務員正在送餐中。請讓一下路”,“您好,您的點餐已到,請慢慢享用”,“拜拜”,“您好,送餐已經(jīng)回來,請準備下一次送餐”。硬件電路如圖8所示。
2. 7 3×3按鍵矩陣
按鍵矩陣采用3x 3矩陣方式,通過兩個三輸入的與非門單片機中斷口連接,電路原理圖如圖9所示。
3 軟件設計
啟動后,選擇送餐或收盤模式,系統(tǒng)進入按鍵掃描狀態(tài),當服務員放好點餐端盤后,按下目的地餐桌號,系統(tǒng)若檢測到奇數(shù)餐桌號,則啟動奇數(shù)餐桌號計數(shù)器并禁止偶數(shù)餐桌號計數(shù)器;若檢測到偶數(shù)餐桌號,則啟動偶數(shù)餐桌號計數(shù)器并禁止偶餐桌號計數(shù)器,并把目的地餐桌號賦值給變量count,機器人開始尋軌行走。當探頭1或2檢測到分支路口時,計數(shù)器加1,直至計數(shù)器加至變量count的值,機器人才向相應的方向轉(zhuǎn)彎行走。當探頭3或4同時檢測到信號時,機器人停止行走,若是“送餐”模式,則客人取走端盤,系統(tǒng)等待10 s后原路返回。若是收盤模式,則按返回鍵,機器人原路返回。軟件流程圖如圖10所示。
3.1 紅外尋軌
3、4、6、7為紅外尋軌探頭,探頭5、8用來修正軌道。紅外反射外傳感器端口定義與尋軌程序設計如下:
3.2 步進電機驅(qū)動
步進電機作為機器人的動力,主要通過單片機產(chǎn)生的PWM脈沖來調(diào)速。LMD18200邏輯真值表如表1所列。
因為使用4個驅(qū)動步進電機,需要兩個LMD18200模塊,步進電機使能端位定義、左轉(zhuǎn)、右轉(zhuǎn)、前進、停止子程序設計略——編者注。
3.3 按鍵掃描程序設計
按鍵使用3×3矩陣中斷掃描,S1~S8分別對應1號~8號餐桌的路徑,S9為備用返回鍵。單片機的P1口用于鍵盤的連接,鍵盤中的行、列線分別連接到按鍵開關(guān)的兩端,通過鍵盤處理程序確定有無按鍵按下,判斷哪一個按鍵按下,還要消除按鍵在閉合或斷開時的抖動。兩個并行口中,一個使按鍵逐行動態(tài)接地,另一個并行口輸入按鍵狀態(tài),以此確定閉合鍵的位置。程序設計如下:
3.4 奇偶餐桌號計數(shù)
使用STC12C5A60S2單片機里的兩個計數(shù)器:T0、T1。其中,T0用來計奇號數(shù)餐桌號,T1用來計偶號數(shù)餐桌號。當按下奇號數(shù)餐桌號時,T0開始工作,T1禁止計數(shù)。當送餐機器人走到1號餐桌分支路口時,TCRT5000傳感器的紅外發(fā)射二極管不斷發(fā)射紅外線,并被黑線軌跡吸收,發(fā)射出的紅外線沒有被反射回來,這時計數(shù)器自動加1,直至加到與工作人員按下的按鍵號count值一致時,送餐機器人才向奇數(shù)餐桌側(cè)轉(zhuǎn)彎,并前行到該號餐桌。
當紅外探頭3、4檢測到有信號時,小車停止。同樣,當按下偶數(shù)餐桌號時,T1開始工作,T0禁止計數(shù)。程序設計如下:
結(jié)語
根據(jù)程序測試,選擇模式后,按下按鍵,尋軌式語音播報送餐機器人能夠沿著黑線行走,遇到前方有人時,機器人停止行走并語音提示前方行人讓路;遇到奇偶餐桌號時,可自動識別并計數(shù),直至行走到按鍵按下的餐桌號;達到目的地后,機器人停止,語音提示客人點餐已到,待客人拿走端盤,托盤壓力傳感器壓力為0,觸發(fā)主控器10 s倒計時,倒計時結(jié)束后機器人原路返回,若是“收盤模式”,則按返回鍵機器人原路返回。通過測試,尋軌式語音播報送餐機器人的設計實現(xiàn)了預期的功能。
評論