基于语音识别的智能杯垫设计

基于语音识别的智能杯垫设计

摘要:随着健康管理理念的普及以及生活节奏的加快,科学饮水逐渐成为人们关注的焦点,水温不适、水质不良、饮水不规律等问题也困扰着人们的日常饮水体验。水温过高易造成烫伤,过低会刺激肠胃,水质超标会带来健康隐患,忙碌的生活也容易让人忽略定时补水。因此研发出一种可以实现水温调节、水质检测、定时提醒、操作方便的智能饮水设备是十分必要的。

本设计提出了一种基于STM32F103C8T6单片机的智能杯垫。系统主要功能有通过DS18B20传感器检测水温,水温超过预设阈值时通过继电器启动加热或者制冷;通过TDS传感器监测水质,可溶性电解质含量超标时,CN-TTS语音模块发出更换提醒;通过按键设置饮水定时,时间到后语音提醒并驱动SG90舵机自动开盖;支持按键设置参数、手动控制设备、触发语音播报水温水质,每一步操作都有语音反馈;OLED显示屏同步显示测量值和设置值,同时通过蓝牙模块实现手机端数据接收和远程控制。

该智能杯垫的作用就是给用户一种安全、智能的饮水管理工具。采取自动调节、异常报警、定时提醒、远程互动等方法保证饮水安全,并且养成规律饮水习惯,从而改善生活质量和健康管理能力。

关键词:智能杯垫;水温调控;水质监测;蓝牙远程控制

Design of a Smart Coaster Based on Speech Recognition.

Abstract:With the spread of health management concepts and the change in people's lives, more and more attention has been paid to scientific drinking water in recent years. There are problems with the temperature of the water, its quality and regularity of supply; it is not pleasant to drink. Too high a water temperature can cause burns, and if it is too low, it may irritate the intestines and stomach; bad water quality can hide health problems, and people are too busy in their daily lives to drink enough water regularly. Therefore, it is very necessary to develop an intelligent drinking water device that can achieve water temperature control, water quality monitoring, time reminder, etc., and be convenient to use.

The Design of an Intelligent Water Cup Based on the STM32F103C8T6 Single-Chip Microcomputer is presented here. The first four functions of this system are as follows: A DS18B20 is used to get the temperature of the water, and according to how high this temperature is compared with the preset upper limit, the relay will be turned on or off to switch the heater or cooler. At the same time, the TDS sensor is employed to determine the purity of the water; if the amount of dissolved salts exceeds the upper limit, a warning will be issued by the CN-TTS voice module. A button can be pressed to set a drinking reminder, and when this time is up, a voice alarm will be triggered; at this time, the SG90 servo will move to open the lid. It can be set up for button-based parameter modification, manual equipment operation and voice broadcasting of water temperature and quality data, and a voice feedback will be given after each operation; at the same time, the OLED screen will display the measured and set values in real time, and the Bluetooth module is used to obtain and control data from and control the system remotely via a mobile phone.

The function of this smart water cup is to offer people a safer and more convenient way to use drinking water. Through automatic regulation, early warning of abnormalities, timely reminders and remote operation, etc., this can ensure the safety of drinking water and foster a good habit of regular consumption to improve people's lives and health management efficiency.

Keywords:Intelligent Water Cup; Water Temperature Regulation; Water Quality Monitoring; Bluetooth Remote Control

目 录

1绪论

1.1 研究背景及意义

1.2 国内外研究现状

1.3 主要内容

2系统总体方案设计

2.1系统总体设计

2.2主要模块方案选择

3系统硬件设计

3.1总体硬件框架

3.2主控模块电路设计

3.3环境感知模块电路设计

3.4执行模块电路设计

3.5交互模块电路设计

3.6通信模块电路设计

3.7电源模块电路设计

4系统程序设计

4.1编程软件介绍

4.2系统主流程设计

4.3 温度检测模块子流程设计

4.4 水质检测模块子流程设计

4.5 舵机子流程设计

4.6 独立按键子流程设计

4.7 语音播报模块子流程设计

4.8 OLED显示屏子流程设计

5实物制作与功能测试

5.1 实物制作

5.2 环境感知与显示功能测试

5.3 温度调控功能测试

5.4 定时提醒与自动开盖功能测试

5.5 语音交互功能测试

5.6 蓝牙通信功能测试

5.7 水质异常提醒功能测试

6总结与展望

6.1 总结

6.2 展望

参 考 文 献

致 谢

附 录 A 原理图

附 录 B PCB

附 录 C 主程序

1 绪论

1.1 研究背景及意义

随着社会的发展,健康管理理念深入人心,生活节奏不断加快,科学饮水已经成为全民健康生活的重要组成部分。但是日常饮水场景中仍然存在很多痛点,水温控制依靠经验容易造成烫伤或者饮用过凉水体刺激肠胃,水质好坏没有直观的判断方式,可能会误饮含杂质或者电解质超标的劣质水,忙碌的工作和生活常常导致饮水不规律,长期缺水会影响新陈代谢和身体机能。这些小问题虽然小,但是会对饮水体验造成很大的影响,并且会对人类健康造成危害[1]。

目前市场上饮水设备存在明显的功能不足。传统水杯只能完成储水功能,完全依靠人工判断水温、水质和水量,不能满足智能化的要求;普通保温水杯可以保持水温,但是没有主动调节和监测的能力,功能单一;现有的智能杯垫产品中,低端型号大多只具有水温显示的功能,操作复杂,没有异常预警;高端产品虽然集成了一些智能功能,但是价格昂贵(多在几百元以上),并且大多数没有蓝牙远程控制和语音交互的功能,不能满足现代用户对便捷性和智能化的需求[2]。智能杯垫交互设计没有考虑用户的习惯,也没有考虑用户的使用习惯。按键布局过密、反馈不清楚造成使用率低,不能真正融入到日常健康管理当中[3]。

随着健康中国战略的推进以及智能家居技术的普及,用户的饮水设备需求也从以前单一的监测、控制、交互需求变为现在的安全监测、智能控制、便捷交互的复合型需求。基于高性价比单片机、集成水温调节、水质监测、定时提醒、语音交互、蓝牙远程控制的智能杯垫,可以很好地解决目前产品存在的问题,彻底改变科学饮水体验[4]。其研究与实现有重要的社会价值和现实意义,具体表现在以下几个方面。

保障饮水安全,用DS18B20传感器实时监测水温并自动调节,防止烫伤或者过凉饮水;TDS水质检测模块及时发现劣质水并发出语音警示,从源头上阻断健康隐患,给用户饮水安全提供双重保障。

养成良好习惯定时提醒功能可以按照用户设定的定时提醒时间,发出语音提醒并打开杯子盖子,使用户避免忘记喝水的烦恼,养成规律喝水的好习惯,适合久坐办公、高度集中注意力工作的人群,也适合需要严格控制饮水量的特殊人群。

提高使用便捷性,按键和语音协同的操作方式,配合每一步操作的语音反馈,使阈值设置、设备控制等流程更容易上手;蓝牙远程控制功能可以实现手机端数据查看和设备操控,即使不在水杯旁也能掌握饮水状态、调整设备参数,符合现代便捷化生活需求。

推动智能设备普及,选用性价比高的STM32F103C8T6单片机等核心元件,保证产品的功能性,又可以有效地控制成本,使得产品具有规模化推广的可能性。能够使更多的普通家庭用得起、用得好智能饮水设备,使健康管理类智能家居产品从高端消费走向全民普惠。

1.2 国内外研究现状

1.2.1 国内研究现状

近些年来,国内以单片机为基础的智能杯垫研究发展很快,实用性强、成本低、本土化程度高。随着居民健康意识的提高以及智能家居市场的发展,智能杯垫的市场需求量也越来越大,智能杯垫的技术也越来越复杂[5]。

STM32系列单片机由于高性能、低功耗、丰富的I/O接口和亲民的价格,被广泛应用于中小规模智能杯垫的设计中,STM32F103C8T6由于运算能力适中、丰富的I/O接口和亲民的价格,成为中小规模智能杯垫设计的主流选择。国内研究大多集中在对本型号单片机硬件模块的整合以及软件逻辑的优化上,采用提高传感器数据采集频率、滤波算法等方法来减小水温检测的误差,在0.5℃内,并对TDS检测进行改进,在5ppm之内满足日常生活使用的精度标准[6]。

在国内研究中,大多数都是从用户使用场景出发,重在对感知、调控、交互一体化的设计。大多数智能杯垫具有水温检测、OLED显示屏、基本按键控制等特性,有些还有定时提醒、语音播放等功能。近几年来,随着蓝牙技术的普及,国内的研究也开始加入了蓝牙远程控制的功能,使用HC-05蓝牙模块实现手机端的数据接收和参数设置,从而提高产品的便捷性。国内研究以本土化适配性为主,根据我国人们的饮水习惯,改进了定时提醒算法,设置了早中晚固定的提醒时间段,使得功能更加实用[7]。

产业应用层面,小米、华为等企业采用“单片机+物联网”的方式拓展产品边界,推出带有APP健康数据统计的智能杯垫,但是价格较高;高校和中小企业以STM32F103C8T6为核心,开发低成本智能杯垫,通过电商平台推广,市场接受度逐渐提高。总体上来说,国内研究已经由原来的单纯的“水温监测”向现在的“监测-调控-管理”一体化方向发展,技术成果与用户实际需求的匹配度越来越高[8]。

1.2.2 国外研究现状

国外对于智能杯垫的研究开始的比较早,技术积累比较丰富,更注重智能化、生态化、人性化的发展方向。由于欧美、日本这些国家有着十分先进的传感器技术以及交互设计理念,所以产品精度高、用户体验好。

国外对于单片机的选择更加多样化,除了 STM32 系列外,TI 公司的 MSP430 系列由于超低功耗的优势被广泛应用于便携式设备,Microchip 公司的 PIC 系列以高可靠性著称。传感器大多是高精度的器件,美国Dallas公司的DS18B20高精度温度传感器、Honeywell公司的TDS传感器以及自适应滤波算法,能够准确地采集环境参数,部分产品还获得了FDA认证,具备医疗级监测精度[10]。

国外的产品都是将各种环境场景和智能化交互深度结合在一起的产物。例如部分基于STM32F103C8T6的系统集成人体红外传感器,实现拿起水杯自动唤醒的功能,降低待机功耗;语音交互使用自然语言处理技术,支持多句式指令识别,根据用户使用习惯个性化调整播报语速和音量。除此之外,远程健康管理功能也越来越完善,用WiFi模块把饮水数据上传到健康云平台中,根据用户的饮食、运动数据给出个性化的饮水建议,从而达到饮水和健康闭环的效果。

市场应用方面,美国 Ember、英国 Chilly’s 等品牌占据高端智能杯垫市场,其产品既有基础的感知、控制功能,又有人体工学设计和环保材料,握持舒适度和耐用性更好;并且重视特殊需求的适配,比如针对健身人群设计的饮水量计算功能,通过蓝牙与运动手环联动,精准匹配运动强度和饮水量。国外研究一般从技术的前瞻性、用户体验出发,把智能杯垫由原来的娱乐性产品变成健康管理的终端设备[12]。

1.3 主要内容

本文以STM32F103C8T6单片机为控制核心,设计并实现了一款多功能智能杯垫。硬件上集成环境感知模块(DS18B20水温传感器、TDS水质传感器)、执行模块(加热/制冷继电器、SG90舵机)、交互模块(按键、CN-TTS语音模块、OLED显示屏)和通信模块(蓝牙模块),构建完整的感知、控制、交互、通信体系;软件上通过编程实现传感器数据采集、自动调控逻辑、定时提醒流程、语音交互和蓝牙通信功能,旨在提供一款安全、便捷、智能化的饮水管理工具,其具体功能如下表所示。

1.通过 DS18B20 传感器检测水杯水温,当水温高于预设最大值或低于最小值时,控制对应继电器启动加热或制冷;

2.通过 TDS 传感器检测水中可溶性电解质含量,超过预设最大值时,CN-TTS 语音模块播报 “杯内水质过高,请更换” 的提醒;

3.通过按键设定定时饮水时间,时间到达后,语音模块发出饮水提醒,同时驱动 SG90 舵机自动打开杯盖;

4.支持通过按键手动设置水温、水质等参数阈值,及手动控制杯盖开关、加热 / 制冷功能;

5.OLED 显示屏同步显示水温、水质、定时时间等测量值与设置值,清晰直观;

6.每完成一步操作,CN-TTS 语音模块均进行对应状态播报,实现操作反馈;

7.通过按键触发语音播报功能,实时播报当前水温与水质信息;

8.利用蓝牙模块将监测数据传送到手机端,接收手机端的指令,完成阈值设置、杯盖开关、加热/制冷的远程控制。

2 系统总体方案设计

2.1 系统总体设计

采用的是ST公司生产的STM32F103C8T6单片机来担任环境感知、智能调控、人机互动以及远程交流等各种功能的融合应用。系统整体由中控单元、输入单元、输出单元三部分组成,三者之间是通过硬件接口以及软件逻辑来进行整个水处理过程的智能化控制。

中控单元用STM32F103C8T6单片机来构成,它是系统里的“控制中枢”,它把输入单元的感知信号和操作指令收进来,然后做逻辑判断和时序调度,再把控制命令发给输出单元,从而协调水温调节、水质监测、定时提醒、语音交互、蓝牙通信等各个功能的有序运转。

输入部分由四个模块组成,第一部分为环境感知模块,包括DS18B20水温传感器、TDS水质传感器,分别采集水温、水质信号;第二部分为交互输入模块,由按键组和蓝牙模块(兼具输入功能)组成,按键用于设定参数、触发操作,蓝牙模块接收手机端的远程控制指令;第三部分为供电模块,采用锂电池搭配充电管理电路,给系统提供稳定的3.3V和5V电源;第四部分为存储模块(兼具输入功能),采用EEPROM芯片存储用户设定的阈值参数和定时时间,支持掉电数据保存。

输出部分由四个模块组成,第一部分为执行模块,包括加热/制冷继电器和SG90舵机,分别实现水温调节和杯盖自动开关;第二部分为交互输出模块,由CN-TTS语音模块和OLED显示屏组成,语音模块负责操作反馈、异常提醒和状态播报,显示屏同步显示测量值和设置值;第三部分为通信模块(兼有输出功能),通过蓝牙模块将水温、水质等监测数据传输到手机端,实现数据远程同步;第四部分为状态指示模块(集成在语音和显示模块中),通过语音播报和屏幕显示双重反馈,使用户准确掌握设备状态。系统的框图如图 2.1 所示。

图 2.1 系统框图

2.2 主要模块方案选择

2.2.1 主控模块方案选择

方案一STM32F103C8T6是基于ARM Cortex-M3内核的32位单片机,主频可以达到72MHz,运算处理能力强。它具有较多的外设资源,即三个USART接口、两个I2C接口、一个SPI接口、十二位ADC模块和若干个通用GPIO口,可以同时和多个传感器、按键、语音模块、执行器、蓝牙模块等进行连接,从而达到对多参数同步感知、多任务协同控制的目的。单片机可以进入低功耗模式,适合锂电池供电的便携式设备,开发环境比较成熟(支持Keil、STM32CubeIDE等工具),可以快速开发出自动调控逻辑、语音交互流程、蓝牙通信协议等功能,也可以对已开发的功能进行优化[13]。

方案二AT89C52是经典的8位单片机,主频只有12MHz,开发成本低。但是由于8位架构的限制,数据处理速度较慢,不能满足传感器数据高频采集和蓝牙通信的实时性要求;外设接口数量少,需要复杂的扩展电路才能连接多个功能模块,增加了系统的复杂度,而且老旧的开发环境会延长项目周期。

综合考虑,STM32F103C8T6具有高性能运算能力、丰富的外设资源、低功耗特性以及成熟的开发生态,可以很好地满足智能杯垫多任务处理的要求,可以高效地协调环境感知、自动控制、交互通信的时序逻辑,因此选择STM32F103C8T6作为主控模块。

2.2.2 环境感知模块方案选择

2.2.2.1 水温检测模块方案选择

方案一采用DS18B20数字温度传感器,DS18B20数字温度传感器采用单总线通信协议,只需要一个GPIO口就可以和单片机进行数据交互,硬件连接简单。其测量范围为-55℃~125℃,测量精度为±0.5℃,可以满足水杯水温监测的精度要求;支持多点测温,不需要额外校准,稳定性好,适合长期浸泡在水中的使用场景,功耗低,有利于延长设备的续航时间[14]。

方案二采用LM35模拟温度传感器和ADC模块组合成水温检测模块,该传感器线性度好、成本低。但是需要通过ADC接口将模拟信号转换成数字信号,增加了软件编程的复杂度,而且输出信号容易受到水质电磁干扰的影响,测量误差较大(±1℃),需要设计滤波电路来降低误差,硬件成本和开发难度都较高,不能满足精准监测的要求。

综合来看,DS18B20传感器具有数字通信、高精度、高稳定性、易于集成等特点,可以准确地完成水温检测功能,完全符合智能杯垫的要求,因此选择该方案作为水温检测模块。

2.2.2.2 水质检测模块方案选择

方案一使用TDS-1820水质检测模块,该模块集成了TDS传感器和信号调理电路,可以直接输出与可溶性电解质含量对应的模拟电压信号(0-2.5V),通过单片机ADC接口就可以采集数据。其测量范围为0-1000ppm,分辨率为1ppm,可以准确地识别水质的好坏;模块体积小(30×15×8mm),可以直接嵌入水杯底部,防水性能好,适合长期水下工作[15]。

方案二使用自制TDS检测电路,用两个电极板和放大电路组成检测模块,成本很低。但是电极板容易受到水垢的影响而使测量精度降低,需要定期校准;信号调理电路设计复杂,容易受到水温的影响而产生误差,稳定性差,不能满足长期可靠监测的要求。

综合考虑,TDS-1820模块具有集成度高、测量准确、防水性好、易于集成等特点,可以很好地实现水质检测功能,为用户饮水安全提供可靠保障,因此选择TDS-1820模块作为水质检测模块。

2.2.3 执行模块方案选择

2.2.3.1 温度调控模块方案选择

方案一为12V直流加热片、半导体制冷片、继电器模块三者组合而成,加热片功率5W,制冷片功率8W,分别由两个独立的继电器控制其是否接通。继电器模块采用高电平触发方式,直接由 STM32F103C8T6 的 GPIO 口驱动,控制逻辑简单,继电器具有隔离功能,可以有效地防止强电对单片机的干扰,安全性高,加热 / 制冷响应速度快,可以在 5 分钟内将 200ml 水调节到目标温度[16]。

方案二采用PTC加热器和可控硅调功模块组成温度控制模块,PTC加热器具有恒温特性,安全性好。但是可控硅调功模块需要通过PWM信号控制功率,软件编程复杂,只能实现加热功能,不能制冷,功能单一,成本是继电器方案的2倍以上。

综合以上所述,加热片、制冷片、继电器组合方案可以实现水温双向调节,控制简单、安全可靠、成本低,与系统设计目标高度契合,因此选择该方案作为温度调控模块。

2.2.3.2 杯盖驱动模块方案选择

方案一使用SG90舵机作为杯盖驱动部件,舵机转角范围为0°到180°,扭矩为1.8kg・cm,可以驱动塑料材质的杯盖开合。舵机用PWM信号控制转角,STM32F103C8T6定时器可以直接输出PWM波形,驱动逻辑简单,舵机响应速度快(0.1s/60°),定位精度高(±1°),可以实现杯盖的精准开合控制,体积小(22×11.5×27mm),适合嵌入水杯顶部[17]。

方案二采用直流电机加减速齿轮组的杯盖驱动模块,直流电机转速高、成本低。但是需要另外设计电机驱动电路(L298N),增加了硬件复杂度;电机没有定位功能,需要通过限位开关检测杯盖开合状态,软件编程复杂,运行噪音大,影响用户体验。

综合考虑,SG90 舵机具有控制简单、响应快、定位准、体积小等特点,可以很好地实现杯盖自动开合功能,因此选择它作为杯盖驱动模块。

2.2.4 交互模块方案选择

2.2.4.1 语音交互模块方案选择

方案一使用CN-TTS语音合成模块,CN-TTS语音合成模块可以产生中文语音,通过UART接口与STM32F103C8T6通信,发送文本指令后产生语音,不需要事先存放在语音文件中,灵活性好。模块语音清晰、自然度高,音量可调范围为20-80dB,可以满足室内外不同场景的播报需求;支持离线工作,不需要网络就可以实现语音输出,响应延迟小于100ms,适合实时操作反馈和状态播报[18]。

方案二使用的是ISD1820语音录放模块,该模块要先录制好语音片段,再通过GPIO口进行播放。但是录制的语音片段是固定的,不能动态生成参数播报(实时水温),功能局限性大;语音长度有限(最长 20 秒),不能满足多指令播报的需求,音质差,清晰度不够,不利于用户获取信息。

综合考虑,CN-TTS模块具有文本转语音的灵活性、清晰的音质、快速的响应速度,可以很好地实现操作反馈、状态查询、异常提醒等语音交互功能,所以选择CN-TTS模块作为语音交互模块。

2.2.4.2 显示模块方案选择

方案一使用的是0.96英寸OLED显示屏,分辨率为128×64,支持I2C通信接口,和STM32F103C8T6的连接只需要2根信号线,电路比较简单。该显示屏具有高的对比度(10000:1),宽视角(160°)等特点,在任何光线的条件下都可以清楚地显示出信息,可以同时显示水温、水质、定时时间等各个方面参数,信息容量大。另外它的功耗很低(工作电流≤10mA),有利于延长锂电池的续航时间[19]。

方案二采用的是一种LCD1602字符型显示屏,成本低、结构简单。但是该显示屏只能显示字符和数字,不能通过图形化界面区分不同的参数类型,信息展示不够直观;对比度低,在强光下容易反光,使数据难以辨认,而且需要占用8根I/O接口线,增加了硬件连接的复杂度。

综合以上分析可知,OLED显示屏具有高清晰度、强光可视性、低功耗、丰富的信息展示能力,可以很好地满足参数显示的要求,因此选择OLED显示屏作为显示模块。

2.2.4.3 按键模块方案选择

方案一采用四个独立的按键分别对应界面切换/确认、参数增加、参数减少、语音播报触发等操作,四个按键的一端分别接STM32F103C8T6的GPIO口(PB7到PB10),另一端接地,按键和GPIO口之间串联一个10KΩ的上拉电阻。未按键时引脚为高电平,按键按下后变为低电平,单片机通过定时扫描引脚电平变化来识别按键操作,配合10ms延时消抖程序可以有效地避免误触发。按键采用不同的形状凸起(圆形、方形、三角形、椭圆形),便于用户通过触摸来区分功能[20]。

方案二使用触摸按键模块,用电容感应原理来实现按键的功能,无机械磨损,寿命长。但是触摸按键容易受到水质、湿度的影响而产生误触发,稳定性差,不能通过触觉区分按键的功能,操作辨识度低,需要专用驱动芯片,增加了系统成本和开发难度。

综上所述,独立按键方案电路简单、识别准确、触觉区分清楚,可以满足参数设置和功能触发的交互需求,且与 STM32F103C8T6 充足的 GPIO 资源相匹配,因此选择该方案作为按键模块。

2.2.5 通信模块方案选择

方案一使用HC-05蓝牙模块,HC-05蓝牙模块支持蓝牙2.0协议,传输距离10米(室内环境)可以实现和手机端的无线通信。模块使用UART接口和STM32F103C8T6的USART接口相连接,使用AT指令可以完成参数设置(波特率、设备名称等),开发方便,可以进行双向数据传输,可以将水温、水质监测数据上传到手机端,也可以接收手机端下发的阈值调整、设备启停等指令,响应时间小于100ms。

方案二使用ESP8266WiFi模块,ESP8266WiFi模块支持WiFi协议,传输距离为50米,可以直接和互联网连接,进行数据的同步。但是模块功耗大(工作电流约80mA),会缩短锂电池的续航时间;配置流程复杂,需要进行网络参数设置和协议适配,开发周期长,成本是HC-05模块的3倍以上,对于仅需要近距离手机交互的场景存在功能冗余。

综合考虑HC-05蓝牙模块的通信稳定性、开发便捷性、功耗控制、成本适配性等各方面表现都很出色,可以准确地实现手机端数据接收和远程控制功能,因此选择HC-05蓝牙模块作为通信模块。

以上为部分内容节选,如您需要获取完整版,欢迎随时联系我们