侯卫周, 顾玉宗
(河南大学 物理与电子学院,河南 开封 475004)
一款单片机系统控制的温控智能水杯设计
侯卫周, 顾玉宗
(河南大学 物理与电子学院,河南 开封 475004)
设计了一款具有测温、保温、提醒等多重特性的智能水杯。以STC89C51单片机为电路控制核心,对温控智能水杯系统的键盘显示及接口、DS18B20温度传感、报警等硬件电路进行了设计;采用Visual C++6.0作为软件开发工具进行编程,实现了单片机与LCD1602的接口电路设计;另外用户可通过红外遥控对温控智能水杯进行加热、定时等多种简便操作。结果表明:该款智能温控水杯具有的多重优点,弥补了传统水杯的不足,能极大地满足用户的需求。
单片机系统; 温度控制; 智能水杯
伴随电子技术日新月异的发展,越来越多的科技产品已步入用户的家庭和办公场所。随着人们对现代家庭和办公环境舒适、便利、安全以及多元化信息服务的广泛需要,智能化电器在人们日常生活中所占比重越来越大,如今的智能水杯产品已绝不是一个简单的加热器,而是具有一定科技含量的现代化家电产品。在目前的市场中,还没有一款同时具备测温、保温、提醒等多重功能的水杯。为满足用户需求并实现多功能的智能水杯,本设计采用STC89C51单片机为核心控制电路,成功制作出了测温、保温、提醒等具有多重智能特征的温控水杯,同时也满足了用户对快节奏的现代生活需求。
1.1 控制设计的原理
STC89C51芯片是一款低功耗、高性能CMOS八位的单片机[1-2],内含8 Kbyte的可反复擦写1 000次的Flash只读程序存储器,它采用高密度、非易失性存储技术生产,兼容了标准8051指令系统及引脚(或管脚)。该芯片集合了Flash程序存储器[3],既能在线进行编程(ISP)也能采用传统的方法实现编程;同时该芯片中内置有通用的8位微处理器,功能十分强大,在诸多自动控制领域内被广泛使用。本设计基于STC89C51型号的单片机优良特性,而智能温控系统部分的主要核心就是该控制芯片,通过方案择优确定了电源、键盘、编程接口、单片机、几种指示灯显示、水温检测和报警输出等可行性模块,进一步实现智能水杯的设计要求。
1.2 实验设计
由于STC89C51常采用+5 V电源供电,故要求供电电源单独设计制作。单片机硬件部分由单片机最小系统配以按键、显示器件构成。限于单片机型号采用12 MHz晶振和两个30 μF陶瓷平衡电容组成振荡电路[4]。为使硬件具有通用性,复位电路采用上电与按键复位结合设计,独立式按键通过P1口扫描查询,分别执行设置、加、减、确定等功能。系统还可通过红外遥控对智能水杯进行控制,以提高整个水杯加热系统的安全性。系统工作时,首先检测功能按键,进行温度范围设置;其次检测加减按键,进行温度范围调节,也可以按下红外遥控器上的按键操作,与主板上的按键功能一样,然后执行程序。由传感器DS18B20检测水温,当检测温度低于预设温度下限时,开始加热;检测温度高于预设温度上限时,停止加热;并可预约加热,设定时间0~999 min,定时时间到达开始自动加热。当水杯内没有水但温度还在设置范围内时,为保证安全,设计加入的防干烧模块中的水位检测器可有效预防干烧,若发生报警声系统自动切断加热模块,以防意外。
设计采用单片机来实现温控智能水杯的科技智能化,主要原因是其采用面向控制的指令系统,实时控制的功能比较强。CPU可直接对I/O口进行输入、输出操作及逻辑运算,并且具有很强的位处理能力[5],能有针对性地解决从简单到复杂的各类必要控制任务。
2.1 设计要求
(1) 用LCD1602液晶显示水温、设置上、下限和定时;
(2) 水温检测的显示范围在0~99 ℃;
(3) 温度预定范围为0~99 ℃,当测试水温温度低于预定温度时,加热系统开始启动,而测试的水温温度高于预定温度时,电路自动切断并停止加热;
(4) 设置4个程序按键,分别为“设置按键”“加键”“减键”“确认键”等;
(5) 能通过红外进行远程(≤10 m)遥控功能,利用水杯内的红外一体接收探头接收遥控器发来的信号,来执行相应的功能和需求;
(6) 防干烧模块在水位检测模块作用下能有效预防水杯干烧。
2.2 实验设计方案
(1) 以单片机STC89C51为控制核心的智能电热水器。本研究主要以单片机STC89C51为控制核心部分,外围配有时钟、按键、显示器件、复位等必要电路,最终温控智能水杯系统的执行框图如图1所示。
图1 系统设计框图
(2) 以PIC16C72单片机为控制器件的智能电热水器。PIC16C72是Microchip公司推出的8/11位单片机。虽然该芯片功能很强大,但也存在需要改进的地方:中断的现场保护是中断应用中一个很重要的部分,而PIC16C72的指令系统中没有专门的PUSH(入栈)和POP(出栈)指令,需要另用一段程序来实现该功能;另外其内部的控制继电器如果用直流对电机进行控制,其转速过快,过调量大,易引发震荡现象。
因此通过两种设计方案的比较和优化,且考虑设计成本及软硬件实现的难易程度,本设计采用方案(1)。
单片机应用系统的硬件设计包含两部分:
(1) 系统的扩展。单片机内部如ROM、RAM、定时器/计数器、I/O、中断系统等功能模块无法满足系统要求时,必须在STC89C51的芯片外围进行适当扩展,并设计相应的扩展电路。
(2) 系统的配置。按系统功能的要求配置显示器、打印机、键盘等相应的外围设备[6-8],同时还需要设计合适的接口电路进一步保障设计的最终实现。在考虑设计成本和实现的难易程度前提下,在本设计中,仅用单片机的最小系统外加键盘、显示、ISP接口等电路,单片机本身资源基本能满足本设计的一些需求,因此对单片机外围不必进行扩展,最终该温控智能水杯内的系统硬件电路设计较为实用。
3.1 系统硬件电路
系统的硬件电路以STC89C51单片机为核心,主要分直流稳压电源和智能电热水器控制电路两部分。而智能水杯内的电加热系统由时钟、报警、复位、温度检测和显示接口等重要电路部分组成。
(1)电源电路。电源设计是本智能水杯加热系统设计的重要环节。电源稳定与否直接关系到电路是否能稳定工作。按要求需一个+5 V电压和一个+12 V左右可调电压。LM317是三端稳压集成电路,最大输出电流为2.2 A,输出电压范围为1.25~37 V。本设计采用的LM317三端稳压集成器具有输出电压Uo可变,性价比较高且工作时的输出电压稳定可靠等优点。电源电路的设计目的是为了给单片机及其外围控制电路提供合适的稳定电压。
(2)键盘接口电路。设计中I/O口线采用的是单个按键电路,构成了独立式按键,其中每个独立按键分别占用一根I/O口线,其他I/O口线的工作状态不受该按键工作的影响,开始时每个按键的输入均需预置为低电平有效;另外在按键断开时,上拉电阻保证了I/O口线的uH(高电平)是确定。设计的独立式按键的软件常通过查询式方式进行访问和查找,先逐位查找所有I/O口线的输入工作状态。若当有一根I/O口线的输入电平为低时,则可判断该I/O口线所对应的按键已执行了相应的“按下”操作,进而转向该键所对应的功能处理程序。
(3)报警电路。当温度超过上限时电路会报警,表明水温过高,系统发出报警声,以提示用户要注意安全,报警电路设计如图2所示。
图2 报警电路
(4)水温检测电路。智能水杯的温度检测核心采用型号为DS18B20实时温度传感器[9-10]。DS18B20温度采集模块是达拉斯公司生产的一款线式数字温度传感器,具有三引脚的TO-92小体积封装形式,对于温度值的位数具有较高分辨率,能准确采集水杯内电热水器的实际温度,从而使系统设计更精确和灵活。单片机与 DS18B20温度传感器通过1-Wire协议进行数据通信,最终将DS18B20温度数值通过STC89C51单片机引脚P2.2口实现数据串口通信实现读数,而本设计控制的对象为智能水杯中的水温。系统中的水温检测电路如图3所示。
图3 水温检测电路
在温度传感器工作时,如果水温超过60 ℃,将温度信号传给单片机,蜂鸣器报警,自动切断电源;如果水温低于30 ℃,水杯的电热水器开始工作,加热指示灯自动亮起。
(5)红外一体接收模块。智能水杯系统内的红外传感器接收到红外信号并经处理后输出给单片机引脚P3.3口,通过对P3.3口电平的判断,来实现对单片机外围电路的控制,如液晶显示时间等。红外遥控接收模块外围电路如图4所示。
图4 红外遥控接收模块外围电路
3.2 显示电路
樱桃番茄播种适期是根据当地终霜期早晚、栽培品种与目的、苗床以及分苗次数等情况来确定。一般春季露地栽培,以当地终霜期往前推算60~70天为适宜播种日期。可利用阳畦、温床、温室等设施育苗。播前应进行种子处理,多实行普通的温汤浸种,或采用药剂浸种。将浸过的种子放在25~30℃的环境下,2~3天即可出芽。选晴天上午播种,先浇底水后再播,可撒播,播种要均匀,覆土厚度不超过1厘米。利用营养钵和育苗盘育苗的,先将容器装满营养土,整齐的摆放在畦内,然后浇透水,每穴播2~3粒种子,播种后覆土,然后加盖地膜或小拱棚,以利增温和保湿。
在该温控智能水杯加热系统中,用LCD作为显示部分,主要是设定时间和温度的显示。本设计选择JHD162A作为液晶屏的显示驱动控制器。按照1602液晶显示(又称LCD 1602)模块电路的实际工作原理,设计出的STC89C51单片机与LCD1602的接口部分如图5所示。其中1602液晶显示有不带背光的14个引脚或带背光的16个引脚的接口,本设计采用带背光的16个引脚的接口,由于篇幅有限,各引脚接口的详细说明在此略;LCD1602模块的读写、屏幕和光标等操作都是通过指令程序来完成的;另外LCD1602模块内部的控制器共有11条指令,指令详情读者可查相关书籍。
图5 单片机与LCD1602的接口电路
3.3 STC89C51单片机的最小系统
该温控智能水杯的核心控制部分主要受单片机的最小系统来控制。设计采用了STC89C51型单片机,其最小系统由STC89C51单片机及其外围电路构成,其中的外围电路主要包括时钟、复位等两部分。
时钟电路包含一个用于构成内部振荡器的高增益的反相放大器,该放大器与STC89C51芯片外的石英晶体或陶瓷谐振器一起构成自激振荡器,目的为单片机提供一个基准时序脉冲信号[11]。其中对预设和检测到的温度值等运算与控制过程均是在单片机产生的统一时序脉冲信号驱动下来完成的;如果单片机的时钟电路停止工作(晶振停振),那么单片机也就自动停止运行。
复位电路分上电复位和按键手动复位。它是利用在复位管脚上外接电阻和电容构成的外部复位电路来完成上电复位操作的。要求Ucc电压上升时间t不超过1 ms(注:时间常数τ=RC),振荡器启动时间不超过10 ms。在加电时,该电路可以使单片机复位。在对单片机通电启动时,RST(称为复位管脚)上的电位从Ucc逐渐下降,RST管脚上的电位是Ucc电压大小与电容电压uC的差值,RST管脚上的电压必须保证高于施密特触发器的阈值电压uT的时间足够长,才能满足复位电路的基本要求。为满足温控智能水杯及外围电路简单实用的要求,在设计中采用了上电和按键手动两种方式同时结合的办法来实现单片机复位。单片机复位后,单片机内部的一些专用寄存器状态从0000H单元开始执行程序,同时使一些专用寄存器初始化为复位状态值。受影响的具体寄存器状态详见表1。
表1 专用寄存器状态
基于上述优化方案和系统硬件电路的实现,最终设计的单片机最小系统电路原理图如图6所示。
图6 单片机最小系统电路原理图
软件部分主要是在Visual C++6.0的子编程环境进行程序设计的[12]。该智能温控系统的程序设计主要包括由主程序、键扫描子程序及若干功能模块子程序。其中主控制器子程序包括A/D转换子程序(水温、水位)、键盘处理及显示子程序、加热控制子程序(使用输出比较功能)、漏电保护子程序等。主程序首先要对单片机内部的定时器及端口、COP模块、A/D转换、键中断等的工作参数进行系统初始化设定,接着系统的主程序循环调用各功能模块的子程序,对相关事件的处理凭借标志位及判断标志位来执行和实现。由于涉及多方面技术原因,本文软件设计的VC++6.0程序详细代码不予以给出,具体程序设计构架(流程)如图7所示。
图7 主程序流程图
温控智能水杯调试过程如下:
(1) 智能水杯系统开始上电,现观察杯中温度为23.6 ℃(见图8),若预设上限温度为35 ℃,下限温度为28 ℃,时间为2 min。当前温度不在设置范围内,应当加热,但设备并未进行加热,此时红色指示灯亮,表明水杯现在处于缺水状态,系统自动检测并防止干烧。左下方的指示灯表示水位没有达到上限值,该指示灯起到报警作用。图8所示为水杯加热但杯中水位未达上限时的调试电路。
(2) 给水杯注水,使其达到水位的上限值,此刻缺水指示灯熄灭,加热棒开始加热,左上方指示灯(黄灯)亮起。加热棒通过继电器来控制的,输入信号分别是“0”和“1”,继电器的通与断是由温度传感器DS18B20采集处理相应温度数据后,通过引脚2输出并送给单片机,单片机将其与设定温度进行比较判断后产生控制信号,来控制继电器的通断。加热有水时的调试电路如图9所示。
图8 加热但杯中水位未达上限的调试图9 有水且在加热的调试
(3) 水温上升并超过下限温度,且未达到上限温度时,杯中水继续加热。当水温继续上升,并超过上限温度时,加热指示灯(黄灯)熄灭,停止加热。该过程的调试电路如图10所示。
(4) 本设计还可利用红外遥控来进行时间、上、下限温度等设置的简便操作。智能温控水杯的最终设计成果如图11所示;左下角是红外遥控,其中主要的按键“C”是用来进行“选择”操作,“+”和“-”键分别代表对预设温度进行“加和减”的操作。
图10 水温未超上限的调试图11 最终设计成果
通过图8~10可看出,本研究实验设计的温控水杯具有加热、保温、提醒等智能特性的优势。
本研究是基于STC89C51单片机为控制核心的温控智能水杯设计,主要包括设计方案的择优和电源、键盘接口、报警、水温检测等硬件电路的设计制作及单片
机最小系统、软件程序设计等方面的研究,同时还对智能水杯系统进行了一些必要的电路测试。该温控智能水杯具有如下特点:①可通过红外遥控实现对水温的控制,也能通过水杯上的按钮实现对水温的控制。②既可预设下限温度又能预设上限温度,温控智能系统操作简便,能进一步确保饮水者的身体健康。③能预约加热时间,节能又省时。④温控智能系统具有防干烧损坏的元器件模块,以防意外发生。⑤为以后的智能研究提供一个研究思路和方向。结果表明:采用单片机控制系统为核心,利用温度传感器、和继电器等电路成功设计的温控智能水杯具有多重智能优点,能进一步满足用户的使用需求,市场前景比较可观。
[1] 张振荣.MCS-51单片机原理与实用技术[M].北京:人民邮电出版社,2000.
[2] 沈红卫.基于单片机的智能系统设计与实现[M].北京:电子工业出版社,2005.
[3] 苗凤娟,王 喆,陶佰睿,等.基于微生物培养的高精度低成本温控仪研制[J].实验室研究与探索,2014,33(5):49-52.
[4] 李建事,陈 刚.家用电器单片机控制系统的制作与检修[M].上海:上海交通大学出版社,1998.
[5] 侯卫周,蒋俊华.基于单片机系统的手机蓝牙智能锁设计[J].测控技术,2016,35(6):132-136,140.
[6] 夏继强.单片机实验与实践教程[M].北京:北京航空航天大学出版社,2001.
[7] 黄仕凰,刘 政.基于单片机的室内环境控制系统[J].实验室研究与探索,2012,31(6):86-88,95.
[8] 周文华.基于单片机的空调节能插座的设计与实现[J].电子世界,2016,31(6):98-101.
[9] 陈忠平,高金定.基于ATmega16与DS18B20的智能温控系统的设计[J].现代电子技术,2011,34(4):175-177.
[10] 方 赟,虎恩典,薛永风.基于模糊PID和单片机的温度控制系统设计[J].电气技术与自动化,2011,52(2):149-151.
[11] 杨 宁.单片机与控制技术[M].北京:北京航空航天大学出版社,2005.
[12] 马忠梅,刘 滨,戚 军,等.单片机C语言Windows环境编程宝典[M].北京:北京航空航天大学出版社,2003.
Design of an Intelligent Cup Controlled by Microcontroller System
HOUWeizhou,GUYuzong
(School of Physics and Electronics, Henan University, Kaifeng 475004, Henan, China)
In order to meet the needs of users, an intelligent cup was designed to have multiple functions such as measuring temperature, heat preservation and temperature alarm. The STC89C51 microcontroller was selected as the core, the keyboard display and interface, and DS18B20 temperature sensor and alarm etc other hardware circuit were innovative designed. Using Visual C++6.0 as development tool and programming, the interface circuit realized successfully communication between microcontroller and LCD1602. Additionally, users could flexibly operate the heating and timing by infrared remote control. The design results showed that the intelligent cup has multiple intelligence advantages, it can make up for the defects for traditional cups, greatly meet the needs for users.
microcontroller system; temperature control; intelligent drinking cup
2016-07-26
国家自然科学基金项目(21173068);2015年河南省省级教学团队资助项目
侯卫周(1973-),男,山西永济人,副教授,现主要从事电子线路设计与研究、电子电路仿真研究。
Tel.: 13569509212;E-mail: hwz204@163.com
TN 99
A
1006-7167(2017)03-0070-05