鐘平忠,駱德漢,溫騰騰,紀永杰
(廣東工業大學 信息工程學院,廣東 廣州 510006)
人類對世界物質認識的三大感官有聽覺、視覺和嗅覺,而聲音、圖像和氣味分別是這三大感官與外界信息交流的重要媒介[1]。隨著計算機技術和網絡通信技術的迅猛發展,聲音和圖像早已實現了網絡傳輸及終端再現,從真正意義上實現了古人所訴的“千里眼”和“順風耳”,使得人們足不出戶就可以領略萬千世界。然而人類對世界物質認識的另一重要感官——嗅覺,目前物質氣味還無法透過時空的限制以實現“萬里飄香”。
因此,本文設計一種霧化式氣味生成裝置[2],用于終端再現目標氣味,完成的裝置在智能家居、多媒體技術和醫療診斷等領域具有廣泛的應用前景[3-4]。
1.1.1 整體結構
氣味生成裝置端結構主要由外殼、氣室、排氣扇、霧化片及其固定夾層和香精香料儲蓄瓶等部分組成,整體結構模型如圖1所示。

圖1 氣味生成裝置整體結構模型
外殼對內部結構起到保護作用。氣室底端與霧化片固定夾板相接,左右兩端留有通風口,左端通風口處安置排氣扇,當霧化片將液態香精從儲蓄瓶中霧化到氣室中時,通過排氣扇將氣味從氣室右端吹出,擴散到空氣中。儲蓄瓶用于存放液態香精香料,本裝置使用8個瓶子存放8種不同香精以實現8種可選氣味;儲蓄瓶托架和內部結構固定卡槽凸片等結構主要用于固定裝置中的特定結構。
1.1.2 霧化片工作結構
裝置端結構設計的關鍵部分是如何固定霧化片并使霧化片與儲蓄瓶中的液態香精香料接觸以實現霧化片的穩定工作。圖2給出了本文的設計方案,以其中一個霧化通道為例,圖2中標號1指的是霧化氣體的出口,霧化片和儲蓄瓶通過圖2中的上、中、下三塊板來固定,霧化片與儲蓄瓶中的液態香精香料接觸通過圖2中標號7所示的棉棒來實現,棉棒一頭透過瓶蓋與霧化片接觸,其余部分與香精香料液體接觸,由于棉棒的吸水特性,將瓶中的液體吸至與霧化片接觸的一頭,此時霧化片就可將液態香精香料霧化出出氣口。

圖2 霧化片工作結構
整個裝置端硬件系統由STM32F103主控芯片、電源輸入模塊、藍牙模塊、三級管開關、霧化片驅動電路和STM32F103芯片內部定時器等部分組成,硬件電路整體框圖如圖3所示。

圖3 裝置端硬件整體框圖
1.2.1 霧化片驅動電路
本文霧化片驅動電路芯片選用SJ303型號芯片,該芯片專用于微孔超聲波霧化片驅動IC,其內部集成了:高頻PWM發生器、DC-DC升壓控制器、MCU內核等資源。IC通過驅動2顆低內阻N溝道MOSFET來實現霧化片驅動頻率輸出,本文選用的霧化片最佳工作頻率為113 kHz,SJ303驅動IC可自動捕捉微孔霧化片最佳諧振頻率,其輸出頻率可在100 kHz~120 kHz之間進行定制。
圖4所示是SJ303芯片的一個具體使用拓撲電路[5],電路輸入直流電壓并控制在2.4 V~5 V之間。OUTA和OUTB是電路的輸出端即霧化片接口。

圖4 霧化片驅動電路
1.2.2 藍牙模塊通信
微信小程序操作端與裝置端的數據傳輸,通過藍牙模塊透傳功能來實現,CC2541低功耗藍牙模塊[6],其反應速度可達到0.4 s,收發數據無字節限制,最高可達3 kb/s。模塊外部留置了串口通信接口,使其與STM32F103控制器的串口1對應GPIO口相連,當微信小程序操作端藍牙與CC2541藍牙模塊連接成功后,就可以實現全雙工通信,微信小程序操作端就可以發送指定數據控制裝置端運行,裝置端運行結果會實時反饋給微信小程序操作端。
圖5(a)所示是裝置端硬件電路和內部結構的實物圖,圖5(b)展示的是整個完整的裝置端。

圖5 氣味生成裝置樣機
軟件設計包括裝置端控制電路軟件設計和微信小程序操作端軟件設計,裝置端軟件設計在MDK5開發環境中完成[7],微信小程序操作端軟件設計在微信Web開發者工具中完成[8]。裝置端軟件包含霧化片驅動控制、定時器計時、串口通信和風扇排氣控制等,微信小程序操作端軟件主要包含頁面顯示、頁面布局和頁面邏輯等。圖6所示是整個裝置系統的軟件控制流程。

圖6 系統軟件控制流程
STM32F103內置5路串口,本文選用串口1進行通信[9],串口軟件設計主要包括以下幾個步驟:
(1)使能串口1時鐘,使能串口1 GPIO引腳時鐘;
(2)串口1復位;
(3)配置串口1 GPIO引腳為串口工作模式;
(4)配置串口1波特率、字長、奇偶校驗位、停止位等參數;
(5)開啟串口1中斷并初始化NVIC;
(6)使能串口1;
(7)編寫串口1中斷函數;
完成上述步驟之后,微信小程序操作端就可以通過藍牙透傳功能并由STM32F103串口1實現與裝置端的數據傳輸。
由于裝置端風扇和霧化片工作都需要設定時間,因此這個計時功能可由STM32F103內置的定時器來實現。STM32F103內核處理器包含了一個SysTick定時器[10],該定時器是一個24位的倒計數定時器,使用該定時器實現計時既不占用中斷,也不占用系統定時器。SysTick的時鐘源自HCLK的8分頻,本系統外部晶振為8 MHz,因此倍頻為72 MHz,所以SysTick的時鐘為9 MHz,也就是SysTick每計數1一次時間為1/9 μs。系統對定時器的軟件實現,只需配置時鐘、設置定時器寄存器、使能定時器,最后根據計數次數來定制需要的時間。
風扇和霧化片驅動電路在硬件電路中一端固定接高電平,另一端接STM32F103 GPIO引腳,通過GPIO口輸出高低電平來控制風扇和霧化片工作,因此風扇和霧化片驅動的軟件設計只需配置STM32F103對應GPIO口為輸出模式,STM32F103就可以通過接收到的數來據控制風扇和霧化片工作。
微信小程序開發平臺提供了一個簡單、高效的應用開發框架和豐富的組件及API接口[11]。小程序頁面設計使用WXML(WeiXin Markup Language)語言,結合基礎組件、事件系統就可構建出想要的頁面結構;頁面樣式布局采用WXSS(WeiXin Style Sheets)語言設計完成;頁面邏輯處理使用JS(JavaScript)語言來設計,頁面邏輯主要包含藍牙連接、數據收發等API接口調用。圖7所示是微信小程序操作端的三個主要操作界面。

圖7 微信小程序主要操作界面
完成前述所有設計工作后,對整個系統進行運行測試。首先給裝置上電,裝置電路板上電源指示燈亮起則表示裝置供電正常,如圖8(a)所示;接下來打開微信小程序,測試藍牙連接結果,藍牙連接成功后,小程序界面顯示“藍牙已連接”,如圖8(b)所示;藍牙連接成功后,點擊配置界面“設備初始化”,小程序頁面反饋顯示“設備正常”,如圖8(c)所示,則說明小程序操作端與裝置端之間數據傳輸以及裝置工作狀態正常;通過氣味點播頁面選擇需要生成的目標氣味,并選擇需要釋放的時長發送給裝置端,如圖8(d)所示,裝置端霧化片、風扇正常工作后,小程序頁面反饋顯示“釋放完成”,如圖8(e)所示,說明裝置端氣味釋放正常。

圖8 系統運行測試
對裝置生成的氣味效果,本文設計了簡單的評估實驗,實驗內容是通過實驗人員辨識裝置釋放的香味,實驗材料選用的是蘋果、橙子、水蜜桃、香蕉、菠蘿、哈密瓜、檸檬和草莓8種食用香精(濃度相同),實驗人員為本團隊實驗室挑選的40名研究生(包含男女),參與者的嗅覺功能正常,沒有感冒、鼻炎或呼吸道過敏等癥狀,無吸煙史,在參加實驗期間不使用香水或帶有氣味的化妝品,實驗環境保持室溫通風。實驗步驟為:(1)40位參與者需提前對8種香精進行嗅感辨識;(2)40位參與者輪流進行實驗,每人一次辨識一種氣味,實驗前實驗操作員為其帶上眼罩,隨機釋放一種氣味,每位參與者對每種氣味需進行3次測試;(3)參與者根據聞到的氣味,對氣味種類和強度進行記錄,強度從0~10進行表示,0表示最弱,10最強;(4)根據實驗結果統計準確率和平均強度,如表1所示。
從以上結果可看出,哈密瓜的準確率最低且其平均強度也最低,而檸檬的準確率為100%,所以實驗效果與香精香料類別、質量等因素密切相關。

表1 實驗結果
本文設計并實現了一種霧化式氣味生成裝置系統,裝置端以STM32F103作為主控芯片,通過藍牙模塊實現裝置端與微信小程序操作端的數據傳輸。裝置預置8種氣味輸出,氣味生成效果滿足人類感官體驗,氣味生成裝置可應用于電子商務、虛擬現實、智能家居和醫療診斷等多個領域。