王靖凱,袁嫣紅
(浙江理工大學 機械與自動控制學院,浙江 杭州 310018)
隨著人們生活水平的不斷提高,對于糧食的需求也從吃飽、吃好逐漸過渡到如何吃得營養、吃得健康上。然而研究表明,大米的絕大部分營養是保存在胚芽里的。胚芽米又稱為留胚米,指胚芽保留率達到80%以上,并符合大米等級標準的精米。其富含豐富的蛋白質、脂肪、可溶性糖和多種維生素以及鉀、鈣、鐵等人體必需的微量元素,另外還含有植物固醇、谷維素等特殊成分,長期食用有防治便秘及預防肥胖癥、糖尿病、心血管疾病等功效[1-2]。但由于早期的碾米技術不夠發達以及胚芽本身易脫落等緣故,人們常食用的精大米是不含胚芽的。近年來隨著農業機械技術的不斷發展,目前國內已能夠設計、生產出保留胚芽的碾米機,并且市場上也出現了一批投放于各個小區的自助式胚芽碾米機設備,該設備已具備供料、生產、自助購買、排料等全自動化功能[3-4]。因此,研究與發展胚芽米碾米機械及便捷的自助售賣系統,對于改善人類飲食健康有著深遠影響。
目前國內自助胚芽米碾米系統仍處于示范階段,有待進一步推廣與應用。在較發達的城市首先進行了試點銷售,最開始由廣州全谷鮮、浙江萬盛等企業引進韓國、日本等國原裝機器在國內進行推廣與銷售,之后深圳的艾雷特、西安斗石等企業在國外機器的基礎上進行消化與吸收,自行研制出TLE 系列和ZM 系列[5]。然而,目前市場上的自助胚芽米系統一方面由于體積龐大,單次加工的胚芽米數量較多,而過多的胚芽米不利于儲存,易受潮霉變;另一方面每臺碾米機之間彼此獨立,缺乏統一調控。隨著碾米機數量的增加,使得統計碾米機狀況、加工數據等工作變得十分繁瑣,管理也十分低效[6]。
本文針對這些問題設計一套自助胚芽米碾米系統,并擬開發出一種新型胚芽米銷售模式。以家用為目的,為每個消費者家庭配置一臺小型自助胚芽碾米機系統,廠商可為用戶提供送糙米原料上門服務,類似于桶裝水的銷售模式。該模式能夠改善消費者購買胚芽米的體驗,使消費者能夠足不出戶,通過網絡下單的方式隨時隨地加工出每餐需要的新鮮胚芽米。
目前,單臺的碾米機技術已經非常成熟,其機構簡圖如圖1 所示。電機通過帶輪將動力輸送至碾米軸上使碾米軸旋轉,此時將糙米放進入米口,在螺旋推進器作用下將糙米推入左側碾米室,糙米在碾米室內受到碾米筋及其他米粒共同施加的碾削作用,將糙米的米糠層去除。其中,米糠透過篩網從米糠口流出,碾白后的精米從出米口流出[7-9]。
Fig.1 Sketch of rice milling machine structure圖1 碾米機機構簡圖
但是,由于現有碾米機單次加工數量較多,一次加工出的精米如果保存不當很容易變質。為提高即碾即吃的便利性,系統對原有的碾米機結構進行改進,設計為網絡下單、自動定量取米并碾米。用戶通過手機端或電腦端輸入對應的URL 登入網頁,選擇加工數量并點擊啟動按鈕,此時服務器后臺會將加工數據編組成符合MQTT 協議格式的報文,發送給MQTT 中轉站;MQTT 中轉站根據報文中的主題查找訂閱該主題的其他客戶端(本系統為WiFi 聯網模塊),將此報文轉發給WiFi 模塊;主控板通過串口接收中斷,當接收到來自WiFi 模塊的一條完整報文后開始提取有效數據,得到加工數量和運行指令,并設置對應變量控制定量取米電機的運行周期,將儲米倉中的糙米按量放入碾米室內;取米動作完成后,再驅動主軸電機進行碾米;一次完整的碾米動作完成后,主控板將本次加工數據及儲米倉余量打包成MQTT 協議上傳至服務器,服務器將接收的數據存入數據庫后在Web 前端頁面顯示。
系統框架如圖2 所示,主要由擴展機構、控制系統和Web 服務器3 部分組成。擴展機構通過設計糙米存儲與定量取糙米一體機構實現存儲糙米、從儲米倉定量取出糙米放入原有碾米機械碾米室內兩個功能。控制系統設計包括主控制器、系統供電電路、輔助機構中定量取米電機及碾米機主軸電機驅動的軟硬件設計等;Web 服務器設計包括后臺程序、數據庫、Web 前端頁面設計等。
Fig.2 Overall system framework圖2 系統整體框架
為了實現碾米系統以家庭為單位、現碾現吃的模式,在原有碾米機基礎上,增加定量取糙米機構,根據下單數量定量取糙米放入碾米室內。儲米與定量取米機構如圖3所示,其主要由機架、儲糙米倉、電機、連桿、曲柄、軸承、下滑槽、定量糙米倉、上滑槽、糙米余量傳感器等組成。設計的儲糙米倉可存儲糙米15kg,定量糙米倉容量約為200g 糙米,即單人一餐的用米量。小尺寸的定量糙米倉可有效控制每次的取米數量,保證每餐吃到的大米都是新鮮碾出的。由于定量糙米倉的體積較小,所以電機采用小功率的步進電機作為動力源,以保證在輸出動力的同時降低噪音。
從功能上將該機構分為儲米倉、定量糙米倉、定量取米傳動機構和機架4 部分。儲米倉為開口上大下小的漏斗狀容器,內部裝有糙米余量傳感器。當糙米存儲量接近最小閾值時,可實時提醒用戶系統糙米量不足,請及時購買新糙米。
Fig.3 Rice storage and quantitative rice pick-up mechanism圖3 儲米與定量取米機構
定量糙米倉是實現定量取米的關鍵,其結構如圖4 所示。定量糙米倉上下開口,其容量設計為取米量的最小刻度,目前為200g。定量糙米倉安裝在上下兩個滑槽內,上滑槽開口與儲米倉的出米口相連,下滑槽開口與碾米室相通。定量糙米倉受定量取米傳動機構驅動,可在進米和出米兩個工位中來回移動。
Fig.4 Composition of brown rice taking mechanism圖4 取糙米機構組成
如圖5 所示為進米工位,定量糙米倉的進米口與上滑槽上的開口重合,米倉中的糙米在重力作用下流入定量糙米倉。當定量糙米倉離開取米工位時,定量糙米倉的上檔板將上滑槽開口封住,防止儲米倉內的糙米繼續向下流出。定量糙米倉的出米口則被下滑槽上的檔板擋住,直到定量糙米倉到達出米工位,如圖6 所示。此時其出米口與下滑槽上的開口相通,糙米從下滑槽的開口流出,進入碾米機的碾米室內。
Fig.5 Rice feeding station圖5 進米工位
Fig.6 Rice output station圖6 出米工位
碾米控制系統接收服務器下發的指令,控制取米與碾米動作,并把碾米加工完成的信息上傳服務器。根據需求,碾米控制系統框架如圖7 所示。
Fig.7 Rice milling control system framework圖7 碾米控制系統框架
根據控制系統框架,硬件電路部分包含主控最小系統、光電傳感器接口、WiFi 模塊接口、存儲器接口、直流無刷電機驅動接口(主軸碾米電機)、霍爾傳感器接口及步進電機驅動接口(定量取糙米電機)。主控芯片選擇STM32F103VGT6,需要搭建必要的電路(如外部晶振電路、程序下載接口電路、復位電路等)形成最小系統才能正常使用[10-11]。
由于系統使用的各模塊電源不盡相同,如主控芯片正常工作電壓為3.3V,糙米余量傳感器額定電壓為24V,直流無刷電機三相逆變驅動電路中使用的功率管工作電壓為12V,霍爾傳感器反饋信號為5V,因此系統將24V 電源作為輸入設計了3 種降壓電路,可分別得到12V、5V、3.3V 電壓。
控制系統在與服務器進行數據交互時通過WiFi 模塊中轉,控制器與WiFi 模塊通過串口連接交互數據。在每次加工數據前都需要確認系統糙米余量是否充足,所以在系統中增加用于檢測糙米余量的光電傳感器。傳感器額定工作電壓為24V,設計傳感器接口電路使用光耦,將24V 電源與3.3V 電源隔離。由于每次加工完成后需要更新糙米余量,并將余量保存在系統中斷電不丟失,因此本系統外接W25Q64FLASH 存儲器,通過SPI 總線存取數據。
此外,系統最主要功能是定量取糙米與碾米,因此系統設計了步進電機驅動電路和直流無刷電機驅動電路,下面將詳細介紹兩部分硬件電路的設計。
4.1.1 定量取米電機驅動硬件設計
定量米倉作為曲柄滑塊機構中的從動件,動力來源于與曲柄通過聯軸器連接的電機。因為定量取米倉體積較小,所以采用兩相四線制混合式步進電機作為動力源。為降低設計難度,模塊采用TI 公司的DRV8818 驅動芯片。該芯片內部集成兩個N 溝道功率MOSFEET H 橋驅動器和控制馬達細分步距的分度器,最高可提供步距8 細分,以及每相繞組2.5A 的相電流。內部具有自關斷功能,可實現欠壓、過溫、過流及短路保護等。
定量取米電機驅動電路如圖8 所示,使用24V 直流電源為芯片供電,VREF 和RNF1、RNF2 引腳用來調整輸出電流,MODEL1 和MODEL2 引腳用來決定電機工作在幾分之一步進模式,最高可為八分之一。CLK、ENABLE、CW/CCW引腳分別連接主控制器的脈沖、使能和方向引腳,CR1 與CR2 引腳決定關閉時間,MTH 引腳決定電流衰減模式。根據定量取米模塊的實際工作情況,配置驅動芯片工作在八分之一步進模式,輸出電流為1.8A,衰減模式為混合衰減。
Fig.8 Fixed amount of rice pickup motor drive circuit圖8 定量取米電機驅動電路
4.1.2 主軸電機驅動硬件設計
直流無刷電機無需機械換向,并且在低速時能提供較大轉矩。本系統的碾米主軸電機選用三相直流無刷電機,一般采用三相六狀態120 度導通方式,通過搭建三相逆變電路實現對電機的驅動[12],其中,單個橋臂的驅動電路如圖9 所示,PWM 控制信號高電平為3.3V,經過TLP715 高速光耦進行保護隔離與升壓,使控制信號升至15V 作為IR2110S 的輸入控制信號。選用IR2110S 作為MOS 管的驅動,驅動IRFS3607 組成的H 橋,HIN、LIN 分別控制HO 端和LO 端。當HIN 輸入高電平時,HO 與VB 端導通;當HIN 輸入低電平時,HO 與VS 端導通,LIN 端同理。在上半橋Q3導通時,由于源極電壓約等于24V,若高于柵極會使Q3 導通一瞬間關斷,因此添加二極管D10 與電容C20 組成自舉升壓電路,在Q3 導通時將柵極電壓抬升至39V,從而保證柵源之間的電壓大于IRFS3607 的VGS,電機其他兩相驅動電路與之相似。
三相無刷直流電機需要位置反饋,通常在電機內部集成了霍爾傳感器以確定轉子相對位置。3 個霍爾傳感器安裝在電角度相差120°的位置,轉子每旋轉60°,3 個霍爾傳感器中的1 個就會產生信號跳變,控制器根據此信號可得到轉子位置,然后進行換向控制[13-14]。
4.2.1 定量取米模塊電機軟件設計
定量取米電機控制流程如圖10 所示。當模塊接收到運行指令后,首先對指令進行解析,獲得本次電機需要循環的次數TIMES;然后設置電機方向為正轉(即DIR=0),并啟動電機;電機啟動后不斷統計定時器PWM 輸出的脈沖個數,以此判斷電機是否到達指定位置;當從進米工位運動到儲米工位時,電機反向(即DIR=1)繼續運動;當電機再從出米工位回到進米工位時,此時方向標志位DIR 為1,TIMES 自減1,最后根據TIMES 的值是否為0 判斷本次取米動作是否結束。
Fig.9 Rice milling spindle motor drive circuit圖9 碾米主軸電機驅動電路
Fig.10 Flow of the control of quantitative rice taking motor圖10 定量取米電機控制流程
4.2.2 主軸電機模塊軟件設計
將霍爾傳感器3 根信號線接入控制器高級定時器1 的3 個外部輸入通道,配置定時器1 為霍爾模式,在每個霍爾信號線邊沿觸發中斷,并在中斷服務函數中讀取編碼器的值,將讀到的值與電機真值表對照,驅動對應的兩個MOS管導通進行換向。本模塊控制程序流程如圖11 所示,通過定時器的計數器初值控制碾米時間長短。此外,本系統采用每一相上半橋PWM 波、下半橋高低電平控制的方式,通過調節上半橋PWM 波脈沖的寬度(占空比)改變輸出電壓幅值,從而達到電機調速的目的。對于直流無刷電機而言,應盡量設置較高的開關頻率,一方面能降低電樞電流脈動量,另一方面也有利于自舉電容的充放電,使電路更穩定地工作。但是過高的開關頻率又會加劇MOS 管的損耗,影響其使用壽命[15]。結合碾米電機的實際使用情況,本模塊配置PWM 頻率為20kHz,占空比為50%。
Fig.11 Spindle motor control program flow圖11 主軸電機控制程序流程
4.2.3 控制器主程序
主程序流程如圖12 所示。通電開機后,先對各硬件進行初始化,包括串口、定時器、WiFi 模塊、MQTT 主題訂閱等,接著系統一直處于等待接收服務器下發指令狀態。當接收到服務器下發的加工指令,便開始解析數據并判斷儲米倉中的糙米是否充足。若不充足,則發送一條糙米原料不足的報警消息到服務器上,并退出循環等指令狀態,直到糙米補充完畢;若充足,則根據碾米數量控制定量取米電機循環次數,并按量取米。取米結束后,開啟主軸電機進行碾米。碾米完成后,將本次碾米數據打包成MQTT 的發布報文,通過WiFi 模塊發送至服務器。
Fig.12 Main program flow圖12 主程序流程
為實現遠程控制碾米機運行,并實時監測碾米機加工狀況及儲米倉余量信息,設計一套具有數據存儲、用戶認證、遠程控制與監測等功能的遠程服務器系統。服務器系統框架如圖13 所示。
服務器開發語言使用Python,最常見的基于Python 語言的Web 服務器框架有3 個,分別為:Django、Flask、Tornado。其中,Flask 因其自身體量小,可按照項目需求通過第三方模塊進行擴展,且第三方模塊資源非常豐富[16-17]。因此,本服務器選擇Flask 作為后臺開發框架。
為滿足服務器與聯網設備交互方便、易維護、可擴展的需求,使用MQTT 物聯網傳輸協議進行數據交互。該協議的物理模型如圖14 所示。服務器與聯網模塊既可作為發送方,又可作為接收方,只需訂閱同一個主題即可完成消息的雙向傳輸,非常便捷、高效[18]。
Fig.13 Server system framework圖13 服務器系統框架
Fig.14 MQTT physical model圖14 MQTT 物理模型
本系統采用目前最流行的關系型數據庫MySQL 對用戶信息與碾米機參數信息進行存儲。其占用磁盤空間小,僅100M 左右,安裝運行方便,數據的增、刪、改、查操作簡單且快速,用戶可使用不同的語言編寫程序訪問數據庫[19]。根據數據的不同類型對其進行存儲,本系統創建的服務器端數據庫設計表如圖15 所示[20]。
Fig.15 Server-side database design table圖15 服務器端數據庫設計表
在Flask 中通過SQLAlchemy 模塊操作數據庫,在SQLAlchemy 中以Python 類映射數據庫中的表,以類的實例對象映射具體數據。
Web 前端頁面通過H5 語言+VUE 框架實現,服務器Web 頁面主要由用戶管理頁面、加工數據統計頁面及碾米機控制頁面組成,如圖16 所示。
Fig.16 Web-side page圖16 Web 端頁面
服務器端和主控制器通過ESP8266WiFi 模塊實現遠程控制與數據交互,該模塊內置TCP/IP 協議棧,支持STA、AP、STA+AP 3 種模式,可在-40°~125°溫度范圍內正常工作[21]。本系統設置該模塊工作在STA 模式,通過連接房間內的路由器與服務器端建立TCP 連接。模塊本身與主控制器通過串口連接,主控制器使用AT 指令集實現模塊初始化及模式設置等功能。該模塊聯網工作流程如圖17 所示。
Fig.17 ESP8266 work flow圖17 ESP8266 工作流程
系統測試分為4 部分:第1 部分測試定量取米機構能否完成存儲糙米與定量取米功能;第2 部分進行步進電機驅動板測試,主要檢測通過PWM 方波能否正常驅動步進電機運行,并進行速度控制;第3 部分對主軸電機驅動板進行電機連接測試;第4 部分對服務器端進行數據傳輸、服務器與數據庫連接及數據前端顯示測試,最后對整個系統進行運行測試。經過不斷調試與修改,最后該系統完成了從Web 網頁端(見圖18)控制碾米機根據設定數量進行取米、加工及數據反饋等功能。加工數據統計頁面如圖19 所示。
Fig.18 Device control page圖18 設備控制頁面
Fig.19 Processing data statistics page圖19 加工數據統計頁面
本文針對胚芽米碾米機械設計一套自助碾米系統,并設計了擴展定量取米機構、專用控制電路及遠程服務器等。系統可實現線上下單、全自動碾米等功能,且單次碾米規格可低至200g,一定程度上保證了每餐所食用胚芽米的新鮮度。但該系統可加工的糙米品種固定,在后續研究中需要對系統進行改進,使其能適應不同產地、品種的糙米。