金鵬 黃江 吳文新 楊宇艇
摘要:本文采用STM32系列單片機作為智能廚房機器人的核心,采用步進電機以及舵機來控制機器人的各種轉動,單片機將接收到的指令整理成為電信號傳遞給步進電機,用以控制舵機轉動,使其達到想要轉動的度數,達到控制機器人的作用。
關鍵詞:STM32;步進電機;溫度傳感
1設計背景
隨著科學技術的進步,機器人生產代替傳統的人工生產已經成為不可避免的趨勢,目前市場上已經出現了各式各樣的機器人產品,機器人功能越來越細化。在生活節奏加快的今天,烹飪是現代生活一件時間成本很高的事情,因此,研究一款智能的廚房助手是非常有必要,智能廚房助手可以有效的幫助人們節省在廚房做飯的時間,提高了勞動效率。在烹飪領域的智能機器人是目前研究的熱點之一,市面上現有的關于烹飪工具是對廚房工具進行智能化改進,或使某一工具具備更多的功能,是對某方面烹飪技巧的細分,使之更容易被操作者掌握。本設計智能廚房機器人將移動技術和烹飪技術有機的融合起來,實現了廚房內半自動或全自動化烹飪,是一款性能較為全面的智能廚房機器人。
2功能模塊設計
中餐烹飪的菜肴的樣式非常豐富,為使廚房智能機器人烹飪好一道菜肴。我們通過采訪很多名經驗豐富的大廚,總結他們多年的經驗,作為設計方案的前期準備工作,機器人模仿廚師烹飪食材關鍵是掌握烹飪時的實時溫度與所需要放置調料的濃度,并且根據反饋的溫度適當的調節火力的大小。因此將廚房助手機器人按功能劃分為四個模塊,分別是食材預處理模塊、火力調節模塊、材料添加模塊以及攪拌模塊。
2.1食材預處理模塊
該模塊負責烹飪前的準備工作,主要是識別不同種類的食材,并且根據食材的種類和數量與預設菜譜中進行對比,篩選出適合烹飪的菜品,消費者可以對菜品的種類、口味和烹飪的火候等進行選擇。消費者選擇完成后開始對菜品進行處理,并且將信息同步到其他幾個模塊。具體說明如下:
1)烹飪前都要對食材進行處理,包括稱量重量,清洗食材,切割食材,然后根據消費者的口味,配置所需要的調味品。
2)操作者選擇好自己想要烹飪的菜品后反饋給STM32主控,然后進行清洗工作,之后根據所選擇的菜品進行相應切割方式,然后將切好的食材加入到食材放置盤中備用。
3)根據預先設定的程序將食材在最合適的火候加入鍋中。
2.2火力調節模塊
中餐烹飪中,“火候”是控制菜肴出品質量的關鍵。火候可以分為“火”和“候”,“火”是指烹飪中的溫度控制,“候”是指對烹飪時長的控制。這是中餐烹飪的重點也是難點,為使食材能在最合適的溫度下烹飪,我們將“火候”分開進行處理。火力調節模塊負責調節烹飪的實時溫度,通過溫度傳感器實時的檢測,與烹飪過程中所需要的溫度進行比較,進而調節燃氣灶的進氣量來調節火力的大小,從而保證了溫度的精準控制。具體說明如下:
1)通過控制燃氣灶的進氣量來控制火焰的大小,從而達到控制溫度的高低;通過對每種菜肴烹飪過程的統計分析,總結出不同的溫度下最適合的烹飪時長。
2)“火”的調節通過設置溫度傳感器來監測鍋具中食材的溫度,通過溫度傳感器反饋的溫度對燃氣的進氣量進行調整。
3)“候”的調節我們通過對廚師的烹飪過程的的數據記錄,然后進行數據分析,然后通過特殊的算法計算出不同的溫度所應該烹飪的時長。
2.3材料添加模塊
該模塊主要負責在最合適的時間內加入食材和調味品。同樣添加食材和調味品的時機也是據溫度傳感器反饋的溫度來調整,具體說明如下:
1)材料添加可以分為食材添加和調味品添加。
2)食材添加是將食材預處理后盛到食材放置盤中的食材在合適的時間添加到鍋具中進行烹飪。
3)調味品添加是有準確的次序和時間的,我們同樣是根據對多組數據的處理和分析,然后通過特殊的算法進行計算,并將數據記錄到菜譜庫中,在烹飪的過程調用菜單庫的數據,然后通過用步進電機和舵機聯合控制的機械臂進行調味品的抓取和放置。
2.4攪拌模塊
烹飪過程中需要使食材均勻受熱。我們采取顛鍋和廚具翻炒使食材達到均勻受熱的目的。顛鍋是通過鍋具帶動食材翻滾使得食材均勻受熱;攪拌就是通過機械臂帶動鍋鏟使食材翻面。具體說明如下:
1)中餐的烹飪手法固然多種,但我們只采用顛鍋和翻炒這兩種方式,因為這兩種方式在烹飪過程中使食材均有受熱效率最高,且適應絕大部分的菜品。
2)對于顛鍋我們同樣是采用收集多名廚師的多次顛鍋時鍋體運動的軌跡,通過對數據的分析,找出幾條最適合鍋體運動的軌跡,并將其記錄到攪拌模塊中,針對不同的菜品選擇不同的顛鍋運動軌跡。
3)通過舵機控制機械臂控制鏟子實現對食材的翻炒,為能更好的控制菜肴的品質,翻炒的機械臂與添加調料的機械臂相互獨立,這樣不僅能提高菜肴的品質,也能是得因事件沖突而造成程序運行出錯的幾率大大下降。
3 硬件設計
系統根據方案設計可分為主控模塊、電機模塊、溫度傳感模塊三大部分。微處理器是整個設計的核心,本系統使用STM32F767為主控芯片,STM32系列處理器是基于ARM 7架構的32位、支持實時仿真和跟蹤的微控制器,可以實現溫度的實時檢測。采用6級流水線,性能高達5CoreMark/MHz,在200 MHz工作頻率下測試數據高達1000CoreMarks,遠超此前性能最高的STM32F4(Cortex M4內核)系列,DSP性能超過STM32F4的兩倍。自帶了LCD控制器和攝像頭接口(DCMI),并且集成了硬件JPEG編譯解碼器,可以秒解JPEG圖片,可以提高界面加載速度。STM32F767為主控芯片板自帶RGB LCD接口(LCD),可以連接各種ALIENTEK的RGB LCD屏模塊,并且支持觸摸屏(電阻/電容屏都可以)。為了節省IO口,采用的是RGB565格式,雖然降低了顏色深度,但節省了IO,且RGB565格式,程序上更通用一些。通過STM32控制攝像頭檢測食材的形狀、大小、顏色等特征,然后與內置數據庫中的數據進行識別,確定食材的種類。然后將食材的種類和重量記錄下來并對比菜單庫中的食材量進行比對,將最合適的菜品顯示在液晶屏上供操作者選擇。DCMI是STM32芯片自帶的一個數字攝像頭接口,該接口是一個同步并行接口,能夠接收外部8位、10位、12位或 14位 CMOS 攝像頭模塊發出的高速數據流(可達 54 MB/s)。DCMI接收到的數據,存儲在DCMI_DR寄存器(32位)里面,我們接ATK-OV2640采用8位數據寬度,所以每4個像素時鐘,才會捕獲完32位數據,第一個字節存放在LSB位置,第四個字節存放在MSB位置。
驅動步進電機運用A4988,A4988是一款完整的微步電機驅動器,內置裝換器,操作簡便。可以用于以全步、半步、四分之一步、八分之一和十六分之一步模式操作的雙極步進電機,輸出驅動能力高達35V和2A電流。在步進操作期間,A4988中的斬波控制器自動選擇當前衰減模式,慢速火混合。在混合衰減模式中,設備最初設置為固定關閉時間的一部分的快速衰減,然后設置為關閉時間的剩余部分的緩慢衰減。混合衰減電流控制可降低可聽到的電機噪聲,提高步進精度并降低功耗。
傳感器方面我們采用的是非接觸式紅外溫度傳感器,相比與接觸式溫度傳感器,非接觸式的傳感器能遠離高溫環境,在長期運行過程中大大提高可靠性。且非接觸式紅外溫度傳感器具有高精度、高靈敏度、高信噪比、反應時間低、低成本的優點,符合我們的需要。
4 總結
本文所設計的廚房助手機器人采用模塊化設計將烹飪復雜過程分解成幾個較為簡單的模塊,并且通過實時監測溫度的設計將烹飪的過程更加細致的劃分,并且提高了容錯率,使得烹飪更加容易控制和實現。為能滿足大多數人口味,我們內置數據收集分析,不斷的根據每個人的喜好進行智能學習,不斷改進烹飪的時間和口味,進而滿足每個家庭的餐飲習慣,使其更容易被廣大消費者所接受。
基金項目:
廣西高校大學生創新創業訓練計劃項目—廚房助手智能機器人(201813638041)
參考文獻:
[1]李輝,郭文成,陳浩.基于STM32F107的搬運機器人電機控制系統設計[J].單片機與嵌入式系統應用,2012,12(4):36-38.
[2]黃智偉,王兵,朱衛華.STM32F 32位ARM微控制器應用設計與實踐[M].北京航空航天大學出版社,2012.
[3]王登貴,楊中平,胡真明,et al.基于PLC的四相步進電機控制方法及實現[J].微計算機信息,2006,22(34):36-37.
作者簡介:
金鵬(1997-),男,漢族,電子科學與技術專業在校本科生;
通訊作者:黃江(1981-).男,壯族,廣西柳州人,碩士研究生,講師,研究方向:智能機器人;
吳文新(1998-)男,漢族,電子科學與技術專業在校本科生;
楊宇艇(1997-)女,漢族,電子科學與技術專業在校本科生。
(作者單位:廣西大學行健文理學院)