钟平忠,骆德汉,温腾腾,纪永杰
(广东工业大学 信息工程学院,广东 广州 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种气味输出,气味生成效果满足人类感官体验,气味生成装置可应用于电子商务、虚拟现实、智能家居和医疗诊断等多个领域。