语音识别与蓝牙通信的智能水温控制系统
2021-11-03天津职业技术师范大学金新人王皓南徐麒麟高茂华
天津职业技术师范大学 金新人 刘 颖 王皓南 徐麒麟 高茂华
针对目前家居环境中人们对家电采用语音控制及手机APP实时显示与控制的需求,开发了一款基于语音识别与蓝牙通信的智能水温控制系统。本系统采用STM32芯片作为主控芯片,具有语音控制和手机APP控制的方式,能够实现对水温的实时监测、显示及精准调节,本系统能够满足家庭洗浴、厨房用水、鱼缸用水等多种水温控制场合的需要,有较好的应用前景。
水温控制在家居环境中扮演着非常重要的角色,其中家用洗浴热水器、厨宝热水器、鱼缸恒温系统及保温杯等都是常见的水温控制应用场景。在这些水温控制应用场景中,采用语音控制方式以及手机APP实时显示与控制方式,能够更大程度地提高用户使用的舒适性与便捷性,也更适应目前人们的生活现状与需求。然而,目前具有这些控制功能的家用智能水温控制系统较少,无法满足普通用户的广泛需求。本系统基于这一特点,基于STM32芯片设计了一款具有语音控制、主控板按键控制和手机APP控制三种控制方式的智能化家用水温控制系统,能够实时监测和控制水温,提高了用户使用操作的自由度和便捷性。
1 总体方案设计
系统主要由STM32主控芯片、语音识别模块、蓝牙通信模块、继电器控制模块、温度感应模块及电源模块所组成。语音识别模块实现外部语音输入功能,可通过设定的“唤醒词”唤醒语音输入功能,然后通过语音达到对温度值的设定。蓝牙模块实现手机APP对系统温度设定和上水等基本控制,手机与蓝牙模块通过蓝牙实现通信功能,蓝牙模块再将接收到的信息通过串口传递到主控芯片。蓄水舱温度控制部分主要实现对水温的实时监测、加热、散热及温度显示等功能。指令输入部分包括语音交互输入、旋钮调节输入、手机APP输入三种方式,实现对所需温度指令的输入。在温度控制的过程中利用PID算法实现对温度的稳定控制。本智能温控系统的系统框图如图1所示。
图1 系统设计框图
2 硬件设计
2.1 主控制器模块
主控制器模块采用STM32F103C8T6作为控制芯片,该单片机I/O接口丰富,可对外围电路功能进行拓展,且对于本套系统可适用的芯片范围内,价格合理,性能强大。它拥有强大的运算功能和控制功能,对IO口传送回来信号的处理速度较快。该芯片还具有复位功能,以保障系统的稳定工作,可通过复位键令STM32主控芯片回归初始状态。
2.2 温度检测模块
温度检测模块的核心器件是一个经过防水处理的DS18B20温度传感器,该温度传感器的传输方式为单总线的接口方式,测量范围为-55℃~+125℃,测量精度满足设计目标且能够将温度信号及时准确的传回主控制器。在温度检测模块的应用程序设计中,首先进行DS18B20温度传感器的初始化设置,判断温度检测模块是否已在工作状态,然后读取蓄水舱内的温度,转换后的温度数据通过命令BEH读取,并送到显示程序进行显示,与此同时通过判断语句来控制加热棒对水温进行加热、恒温保持或散热降温的操作。
2.3 继电器控制模块
为了实现易拆卸安装的功能,本系统设计采用继电器控制电路,分别控制加热、水温中和及散热降温等功能,以完成舱内温度的准确控制。当主控芯片STM32F103 C8T6接收到来自用户下达的指令后,吸合控制加热器的继电器,对加热器供电加热水温。当水温临近目标温度时吸合控制搅拌扇叶的继电器,令舱内整体水温一致,水温达到用户要求后利用芯片内写入的PID算法,对水温进行实时控制,保持水温恒定。若输入目标水温低于当前温度时,主控芯片通过吸合控制散热器的继电器,使散热扇叶工作,达到快速散热降温功能。当蓄水舱内温度达到用户目标温度后,再次利用PID算法对温度达到实时控制。
系统中使用继电器的实际电路如图2所示,其中选用NPN型三极管利用三极管开关电路作为开关使用,当基极端为高电平时集电极与发射极导通,进而使继电器内部线圈发生电磁感应现象,使继电器由常闭端吸合至常开端。因为只需要在工作时给加热器等上电,所以继电器选择常开端,且为防止继电器断电后线圈的感应电动势击穿三极管进而损坏其它电路,在继电器外部反向并联一个续流二极管。
图2 继电器控制电路
(1)搅拌电机的控制:当温度临近目标时,控制搅拌电机的继电器接收主控芯片指令、开始工作,使蓄水舱内各处温度达到一致。
(2)加热棒的控制:当用户通过蓝牙将需要的温度信号传回主控制器时,将目标温度与实时温度进行比较,若低于当前温度,吸合控制加热器的继电器,对加热器供电,加热水温。若高于目前温度,则将信号传达给控制风扇的继电器,令风扇转动,对水温进行降温。当达到指定温度后启动控制搅拌电机的继电器,当水温达到用户要求后利用芯片内写入的PID算法,对水温进行实时控制,保持水温恒定。
(3)风扇降温的控制:当模块接收到主控芯片降温指令后,控制风扇的继电器开始工作,起到降温作用。当达到指定温度后,启动控制搅拌电机的继电器,并利用芯片内写入的PID算法,动态的吸合控制加热器的继电器,对水温进行实时控制,保持水温恒定。
3 软件设计
此设备在运行过程中有许多参数,如语音信号、移动端APP与设备的通信信号、蓄水舱内水量等,对这些参数实时、精准的接收及主控所做出的相应反应,我们设计此套设备基于STM32F103芯片,具有较强的运算能力,处理速度较快,能实时的接收、掌控各个模块的数据,使整个系统能够有条不紊的工作。主控芯片实时监测状态水温,并通过编程写入的算法对控制加热器的继电器的开合达到精准控制,以保证水温能在要求范围内动态变化,系统主程序设计流程如图3所示。在外部通信系统中,主控芯片通过串口对语音模块接收并发送的信息进行分析,对于不同指令做出不同的处理动作,并在舱内温度达到目标值时做出语音提醒,同时通过蓝将信息第一时间传送到用户移动端APP中,串口通信子程序的设计流程如图4所示。
图3 程序设计总流程图
图4 串口通讯子程序设计流程图
本套智能水温控制系统采用STM32芯片作为主控芯片,并采取语音识别和蓝牙通信模块,实现了稳定、准确的水温控制功能,并能够将实时数据通过多方式、高效、智能的方式传输给用户。本系统所采用的语音控制功能和手机APP蓝牙通信功能,提升了用户操作的便捷性,为用户提供了更大的操作自由度和良好的使用体验,具有良好的应用前景。