基于单片机的便携式语音控制自动加热水杯设计

2022-09-07 06:38吴玛佳欧阳可炳
科技创新与应用 2022年25期
关键词:加热器水杯串口

张 梨,吴玛佳,禄 媛,欧阳可炳

(安顺学院 电子与信息工程学院,贵州 安顺 561000)

如今,越来越成熟的语音控制产品进入了人们的日常生活中,让生活变得更加便捷,其中语音控制加热水杯更是贴近人们的生活。语音控制加热水杯可以解放人们的双手。目前该类研究已经有了车载式的语音控制自动加热水杯,专利号为2013201966867,并发布了一款智能的车载冷热杯[1],属于生活用品技术范畴。这款杯子包括杯盖、杯体及用来与汽车电源电相连的电热杯座,杯体与杯底加热座是拔插式的,可以分开和连在一起。在杯子内胆和杯底之间设有冷却片、散热器、风扇和PCB 晶片,内胆底部设有温度感应器和加热杆[1]。但是其价格昂贵并且使用环境单一,不能在广大人群中推广,且普通居家使用的加热水杯还没有语音加热这个功能,因此针对这一状况,作者设计了可以随身携带的语音控制加热水杯。

1 系统总体设计方案

1.1 系统总体概述

本文设计的语音加热水杯主要功能是实现语音控制水杯加热到理想温度,本设计主要由硬件和软件组成。由图1 可知,将增强型51 单片机STC8H1K28 作为硬件部分的基础,接收和处理所有信号,温度采集用于检测茶水的温度,按键输入用于设置温度的上、下阈值。本设计的重点和难点皆为语音识别,主要是如何通过语音控制加热与否。OLED 屏用于显示温度和温度上下阈值。在超过临界点时,对加热器的关闭进行控制;在低于临界点的情况下,对加热器的开启进行控制。其由1 个12 V 锂电池驱动,当电池能量不足以支持系统运行时,可以利用充电器对其进行充电。软件方面采用C 语言编译环境下的Keil 软件,其能够对程序进行模拟和调试并将程序烧写在单片机上。

图1 系统硬件组成

1.2 电量采集

电量采集如图2 中I 部分所示,本设计采用STC8H1K28单片机为主控核心,该单片机可以使用内置内部时钟振荡器(IRC)晶振频率无需外置晶振,烧录程序时可以在单片机下载编程烧录软件(STC-ISP)里选择5.529 6 MHz 频率。所以该单片机只需要给其工作电源就可以构成单片机最小系统电路。由于使用的是12 V 锂电池组,而单片机的模数转换器(AD)转换最大只能是5 V,不能直接将12 V 锂电池组给单片机进行AD 转换,因此通过3 个10 kΩ 电阻串联分压原理模数转换器(AD),当锂电池电压为12 V,经过电阻分压后与单片机相连的P10 检测到4 V 电压才转到单片机AD 转换引脚上。随着电池电量越来越少后,电池电压会只剩下10 V 左右,这个时候P10 检测的电压只有3.3 V,单片机根据P10 口采集的电压量就可以知道电池电量还有多少。

1.3 语音识别接口

语音识别电路如图2 中Ⅱ所示,采用的是天问语音模块,利用其串口的发送串行数据(TXD)接到单片机的P30 口,而单片机P30 口的引脚复用功能就是串口13 的接收串行数据(RXD),这样就实现了语音识别通信的硬件连接,而4 到12 端口为I/O 端口,本设计用不到I/O 模式因此无连接。由于天问语音识别模块的主芯片是3.3 V 的,所以其信号输出都是以3.3 V 为标准,而STC 单片机是5 V 供电的,信号输出都是以5 V 为标准。因此在两者之间需采用1 kΩ 电阻进行隔离,否则容易烧坏语音识别模块。天问语音模块编写好语音识别词汇,然后将不同的词汇发送至不同的串口数据,单片机根据与不同的数据来控制响应的操作。

1.4 显示电路

OLED 液晶屏显示电路如图2 中Ⅲ部分所示,用于显示温度、温度上限和温度下限数据。采用0.96 英寸的OLED 屏,1、2 脚接工作电源,3、4 脚为IIC 通信接口分别接到单片机P27 和P26 口,利用单片机I/O端口模拟IIC 通信与OLED 屏进行通信,以达到单片机正常驱动OLED 屏显示的目的。

图2 基于单片机芯片的部分电路图

1.5 温度传感器电路

温度传感器电路如图2 中Ⅳ部分所示。温度传感器电路是用来测量水温的,1、3 脚接工作电源,2 脚为温度数据输出脚,单片机与P37 口相连读取温度数据,由于DS18B20 是由1 根总线来进行数据交换,其接收数据时为高电阻输入,其发送数据时是开漏输出[2],本身不具有输出高电平的能力,即输出“0”时通过场效应管下拉为低电平,而输出“1”时,则为高阻,在外部接一个电阻将信号钳位在高电平上。因此,为保证单片机读取温度数据的稳定性,外置10 kΩ 的上拉电阻很有必要。从而单片机程序通过判断P37 的高低电平的状态就可以知道温度传感器接收数据还是发送数据。

1.6 按键检测

按键检测电路如图3 所示,主要用于按键设置温度范围和控制加热关闭加热操作。以KEY1 按键为例,当按键按下后按键内部导通,P15 直接接地检测为低电平,当按键松开后按键内部断开,P15 悬空默认为高电平,单片机程序通过判断P15 的高低电平的状态就可以知道按键是否有按下操作[3]。同理KEY2 和KEY3检测也是一样的原理,只是接到单片机I/O 不同。在本设计中,3 个按键分别为设置、加操作和减操作功能。

图3 按键检测电路

1.7 继电器控制

继电器控制电路如图4 所示,其用于控制加热器的开关。由于继电器吸合消耗的电流比较大,而单片机I/O端口启动能力有限,所以采用三极管启动的方式[4]。当P54 输出低电平时三极管导通继电器吸合后加热器得电后加热,同时LED 指示灯被点亮,为防止LED 灯电流过大而烧坏,还需要串联一个电阻进行限流。当P54输出高电平时三极管截止,继电器断路LED2 熄灭,飞轮二极管4148 起到保护三极管的作用[5]。

图4 继电器控制

2 系统软件设计

2.1 系统软件主程序设计

主程序包括整个系统及各子模块初始化、DS18B20 温度读取、OLED 液晶显示及语音调控加热等。主程序流程图如图5 所示。

图5 语音控制加热水杯主程序流程图

2.2 语音识别软件设计

语音识别程序是能够根据人不同的语言识别词汇来执行不同的操作,主要是以天问语音识别模块将语音翻译成串口信息传送给单片机串口1,程序流程如图6 所示。首先判断语音是否被唤醒,如果说“水杯水杯”,其回答“我在”,说明语音识别唤醒成功,然后说语音识别控制词汇,语音识别程序就会将词汇翻译成串口信号输出送给单片机的串口1;单片机串口1 接收到数据后,保存到串行数据缓冲器中,并分析串口指令数据,做出执行相应的动作。如果使用者说“打开加热”,语音识别会自动反馈语音“好的,已为打开加热”,并发送“03”数据;如果说“温度上限加一”,语音识别会反馈语音“好的,已为设置温度上限加一”,并发送“05”数据。其他的语音识别词以此类推。单片机串口1 根据指令的不同使执行的功能产生差别。

图6 语音识别流程图

3 系统调试及测验

系统调试主要包括了电源输出、单片机最小系统、OLED 屏显示、温度采集、按键输入、语音识别、继电器驱动和LED灯指示。具体可以根据表1调试内容表进行调试。

表1 语音控制加热水杯系统调试过程

自动模式下加热或关闭受温度支配。自动模式下的操作图如图7 所示。图7 中,检测电池电压是12.2 V,设置温度上限28 ℃,下限26 ℃。由图7(a)可知,当温度高于23.3 ℃、低于26 ℃,继电器的常开触点吸合,开启加热器进行加热,同时绿色LED 亮起,这时温度慢慢往上升;当温度高于28 ℃后控制继电器断开,让加热器断电,同时红色LED 亮起,如图7(b)温度已经达到31.3 ℃。

图7 温控水杯自动模式运行图

手动模式下通过按键或者语音识别的方式进行人工控制加热的打开和关闭,手动模式运行图如图8 所示。手动加热超过温度上限也会自动关闭加热,如图8(a)所示。手动打开加热如图8(b)所示。在加热的过程中也可以随时通过按键或者语音关闭加热。

图8 温控水杯手动模式运行图

4 结束语

本设计通过增强型51 单片机,使用DS18B20 温度传感器来收集温度数据,利用按键和天问语音识别模块设定温度上下限参数及控制工作模式。当在自动模式下采集的温度低于预定值,单片机就会处理信号使继电器吸合,加热器开始持续加热直到温度达到上限值,此时就会控制继电器断路,加热装置失去动力,加热停止。当在手动模式下,可以通过按键或者语音识别模块人为控制加热,当加热到超过温度上限后也会强制断开加热,最终实现语音和自动控制加热的水杯,这对于市场上的传统水杯来说是一个重大突破。

猜你喜欢
加热器水杯串口
SIAU诗杭便携式气泡水杯
高效沥青加热器在沥青生产及储运中的应用
浅谈AB PLC串口跟RFID传感器的通讯应用
华龙一号稳压器电加热器套管冷装
移水杯
移水杯
某厂1 000 MW机组低压加热器疏水不畅分析与治理
电动汽车PTC加热器双重保护装置及方法
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索