陈江萍 钟浩
摘 要:文章设计了一种基于STM32的多功能智能水杯系统,旨在使人们养成良好的饮水习惯。该系统采用单片机控制温度传感器和压力传感器,实时测量水温和水量。同时,通过蓝牙模块,用户可以通过手机App获得水温、水量等信息。内置在杯子中的锂电池可以为微控制器和每个模块提供电力。经过调试,该系统能够成功地实现上述功能,较好地解决了人们的饮用水问题,具有较高的性价比和应用前景。
关键词:智能水杯;自动提醒;单片机
0 引言
本文设计了一种基于物联网的智能水杯,用户可以设定时间和水温。当达到用户设定的时间或热水冷却到用户设定的水温时,声音提醒用户喝水。本文设计的智能水杯具有内置锂电池和测量电路。锂电池采用无线充电技术充电,使水杯更小更方便。同时还具有压力传感器,可以测量杯中的水量。水杯内置蓝牙模块,微控制器通过蓝牙模块向手机App传输数据,使用户可以更方便地在手机App上查看饮用水记录。
1 系统设计
在本文所提的系统中,单片机通过温度传感器、压力传感器和时钟模块采集数据,并在液晶显示器上显示水温、水量和电流时间,此外,它可以通过不同的水温点亮不同的Led灯,并可以通过按钮设置水温和饮水时间,微控制器检测水温和时间,并控制语音模块在达到预定水温和时间时发出声音,它可以控制AD转换器采集电压并显示在LCD上,当电池电量不足时,电池通过无线充电技术充电。系统中包含蓝牙模块,微控制器通过蓝牙模块向移动App发送数据[1]。
2 主模块设计
2.1 主控芯片
STM32F103C8T6集成了一个高性能的ARM cortex-m332位RISC核心,在72 MHz工作,高速嵌入式存储器,以及各种增强的 I/O和连接到两个APB总线的外设。该系统采用单片机中的12位ADC和RTC模块实现电压的采集和时钟的显示。 12位ADC是一个逐次逼近的模拟数字转换器。它有多达18个多路信道允许它测量来自16个外部和两个内部来源的信号。各通道的A/D转换可以采用单通道、连续通道、扫描通道或间断通道进行。ADC的结果存储在左对齐或右对齐的16位数据寄存器中。
2.2 触摸键模块
触摸键芯片是RH6030。该芯片是一种电容式可触摸感应开关,可替代传统的机械式开关。RH6030可以通过外部引脚在多种模式下工作。当触键面积增加到一定程度时,面积的持续增加几乎不会影響灵敏度。在触摸电极和触摸输入针之间连接一个电阻器,用于提高触摸的抗干扰能力。在VDD和GND之间需要一个滤波电容来消除噪声。电源需要稳定。如果电源电压漂移或快速变化,可能造成灵敏度漂移或检测误差。在给系统供电之前,应该将介质覆盖在触摸电极上,因为芯片在加电时会检测环境和初始电容。如果覆盖层是在芯片初始化后放置的,那么系统可能检测到电容的突然变化,从而导致判断错误。
2.3 语音模块
ISD1820提供高质量、单芯片、单消息、录音/回放解决方案,用户可选择持续时间。CMOS器件包括片上振荡器、麦克风前置放大器、自动增益控制、抗混叠滤波器、多级存储器阵列、平滑滤波器和扬声器放大器。最小录音/回放子系统可以配置一个麦克风、扬声器、多个被动元件、两个按钮和一个电源。这些记录存储在芯片上的非挥发性记忆体存储单元中,以提供零功率的信息存储。
2.4 时钟模块
选用STM32内部RTC时钟作为时钟模块。实时时钟是一个独立的计时器。RTC 核心和时钟配置(RCC _ bdcr寄存器)位于备份域,这意味着RTC设置和时间在重置或从备用模式唤醒后保持不变。重置后,将禁用对备份寄存器和 RTC的访问,并保护备份域(BKP)免受可能的寄生写访问。RTC和备份寄存器由一个开关提供,该开关由VDD电源供电或由VBAT引脚供电。当VDD电源不存在时,备份寄存器(1 016位寄存器)可用于存储数据。实时时钟提供了一组连续运行的计数器,可以与适当的软件一起使用,以提供时钟日历功能,并提供报警中断和周期性中断。它由一个外部的32.768 kHz振荡器、一个内部的低功率RC振荡器或一个除以128的高速外部时钟来计时。内部低功耗RC的典型频率为 32 kHz。该RTC可以校准使用外部512赫兹输出,以补偿任何自然石英偏见。RTC有一个32位的可编程计数器,可用于长期测量使用比较寄存器生成警报[2]。
2.5 温度模组
DS18B20数码温度计提供9至12摄氏度的温度测量,并设有报警功能,具有非挥发性用户可编程上下触发点。DS18B20通过1线总线进行通信,根据定义,该总线只需要一条数据线(和地线)与中央微处理器进行通信。它的工作温度范围为-55℃至+125 ℃,精确度为± 0.5 ℃,从-10 ℃至+85 ℃。此外,DS18B20可以直接从数据线(“寄生电源”)获得电力,而不需要外部电源。根据定义,1-Wire总线只有一条数据线。每个设备(主设备或从设备)都通过一个开放接口或三态端口连接到数据线。这允许每个设备在不传输数据时“释放”数据线,因此总线可用于其他设备。DS18B20的单线端口(DQ引脚)是开放式漏极,需要大约5 kω的外部上拉电阻。DS18B20的核心功能是直接数字式温度传感器。用户可以将温度传感器的分辨率设置为9,10,11或12位,相应的增量分别为0.5 ℃,0.25 ℃,0.125 ℃ 和0.0625 ℃。开机时的默认分辨率为12位。DS18B20在低功耗空闲状态下启动;要开始温度测量和a/d转换,主机必须发出 Convert [44h]命令。转换后,生成的热数据存储在暂存器中的2字节温度寄存器中,DS18B20返回到空闲状态。在 DS18B20执行温度转换后,将温度值与存储在1字节TH和TL寄存器中的用户定义2的补码报警触发器值进行比较。符号位(s)表示该值是正数还是负数: 对于正数s=0,对于负数s=1。TH和TL寄存器是非易失性的(EEPROM),因此当设备断电时,它们将保留数据。
2.6 电源管理模块
电池使用电磁感应无线充电技术充电。主要原理是在初级线圈上产生交流电,而次级线圈通过电磁感应产生一定的电流。充电基座和水杯端子分别有内置线圈,当两者接近时,在水杯中的接收线圈中产生一定的电流电磁感应。通电导线周围产生的磁场方向与电流方向垂直,通常磁场很弱。然而,如果导线缠绕成一个圆圈或螺旋,同一方向的磁场就会叠加,从而形成一个强磁场。利用变化的电场产生变化的磁场,利用变化的磁场产生电场,从而将能量从发射端转移到接收端,从而产生电流给装置充电[3]。
3 结语
本文介绍的智能水杯与普通水杯相比,能够显示水温、水量,提醒用户智能饮水。无线通信技术允许用户在App上查看饮用水记录。无线充电技术消除了充电的不便。该系统采用传感器测量水杯内的水温和水量,误差不超过±0.5 ℃。当水温低于30 ℃,30 ℃~60 ℃和高于60 ℃时,分别开启3种颜色指示灯,误差不超过± 0.5℃。水温通过按键在液晶显示器上设定。当热水冷却到设定温度时,声音提醒用户饮水,误差不超过±0.5 ℃。用户可以通过按键设置LCD上的时间。当设定的时间到来时,声音提醒用户喝水。电磁感应的无线充电技术被用来给锂电池充电。当锂电池电压达到4.2 V时,断开电路停止充电,当锂电池电压小于3.4 V时,系统提醒用户对电池充电。蓝牙模块用于无线数据传输,饮用水记录可以在移动App上查看。
[参考文献]
[1]陈莲芳.关于单片机温度控制系统方案的探讨[J].科技资讯,2019(10):11-12.
[2]王维佳.基于单片机的温度控制系统设计[J].电子技术与软件工程,2018(23):244.
[3]高敏.基于单片机的温度控制系统的研究与实现[J].广州城市职业学院学报,2016(4):26-29.
(编辑 何 琳)