《电子技术应用》

基于STM32的智能温控杯控制系统设计

2016年微型机与应用第19期 作者:卢伟,占雪梅,李珊珊
2016/12/19 14:45:00

  卢伟,占雪梅,李珊珊

  (郑州铁路职业技术学院 电子工程系,河南 郑州450052)

       摘要:设计以ARM STM32F103作为系统控制核心,使用DS18B20测量温度,以半导体制冷器件作为降温设备,以PTC发热片作为升温设备,用LCD1602液晶进行显示,实现对杯内水温的有效控制。通过反复验证,该温控系统具有操作简单、精度较高、工作可靠和性价比高等特点。

  关键词:温控;STM32;DS18B20

0引言

  随着社会经济的不断发展,目前人们生活使用的水杯已经不能很好地满足现代人对于智能化生活的需求。因此,设计一款新颖、实用、操作简单的智能温控水杯很有必要。智能温控杯可以通过LCD显示杯内的实时水温,并根据个人需求有效地调节杯内水温,满足人们的多样化需求。智能温控杯的设计主要分为两部分,一部分是机械结构的设计:确定所需材料、构型分布以及合理的执行机构等,保证智能温控杯美观、节能,并可高效地加热和制冷;另一部分是控制系统的设计:实时显示温度、人机交互、有效控温等。本文主要介绍智能温控杯控制系统的设计[1]。

1系统设计方案

  本系统包括STM32F103主控板、DS18B20温度传感器、矩阵键盘、声光报警电路、LCD1602液晶显示屏、驱动电路、继电器控制电路、半导体制冷片及PTC加热片,系统设计图如图1所示。

图像 001.png

  本系统采用防水型的DS18B20温度传感器采集杯内水温信息,并将采集到的水温信息直接传送给主控器STM32F103进行处理,主控器将采集回来的温度信息与通过矩阵键盘预设的温度信息进行对比,如果实际温度值大于预设温度值,则使用半导体制冷片进行制冷降温,如果实际温度值小于预设温度值,则使用PTC加热片进行加热升温,以达到有效控温的目的。同时STM32F103将DS18B20采集回来的温度信息在LCD1602液晶显示屏上进行温度变化的实时显示[2]。

2硬件系统主要部件设计

  2.1电源模块设计

  电源的设计关乎到整个系统是否能够正常运行,一般STM32处理器系统的标准电压是3.3 V,首先使用LM7805得到5 V电压,再通过ASM1117电路得到3.3 V电压。具体电路图如图2所示。

  5 V电压使用LM7805模块实现,图2中的电容主要功能是滤波。本次设计用AMS1117的DC/DC转换器功能提供稳定的输出电压,在电源设计中AMS1117的作用是把外接5 V电压转换成3.3 V的稳定输出电压,偏差是±6%[3]。

图像 002.png

  2.2测温电路设计

  本系统采用DALLAS公司生产的数字温度计DS18B20进行温度的测量,DS18B20相比于传统的热敏电阻等测温元件,具有体积小、易处理等特点,只

图像 003.png

需要进行简单的配置就可以实现实时温度采集。同时本次采用防水型的DS18B20,可以很好地进行水温的测试,实现水温的实时采集。DS18B20与STM32微处理器的连接方式非常简单,具体电路图如图3所示。

  2.3继电器控制模块

  图5智能温控杯主程序流程图控制系统对水杯进行升温和降温是通过控制继电器的开关状态来实现的,当实际温度大于预设温度值时,通过控制继电器操作半导体制冷片进行制冷降温;当实际温度小于预设温度值时,通过控制继电器操作PTC加热片进行加热升温。继电器电路原理图如图4所示,继电器的通断由ARM STM32F103的GPIO口通过R1电阻与S8550三极管基极相连进行控制[4]。

图像 004.png

3系统软件设计

  3.1增量式PID算法

  系统采用PID算法控制单片机输出PWM的占空比从而控制半导体制冷片的功率,PID是比例控制(P)、积分控制(I)和微分控制(D)的简称。在过程控制中,按偏差的比例(P)、积分(I)和微分(D)进行控制的PID控制器是应用最广泛的一种自动控制器。PID调节规律是连续系统动态品质校正的一种有效方法,它的参数整定方式简单,结构形式灵活。控制点包含两种PID控制算法,分别是增量式算法和位置式算法[5-6]。

  智能温控杯控制系统采用增量式PID算法进行恒温控制,通过多次实验,得到控制对象的一组控制系数。控制系统每隔一个采样周期时间T,就将杯内水温与预先设定的温度值进行比较,从而得出偏差e(k),然后将所得到的偏差值代入增量式PID公式进行PID运算。增量式PID计算公式:

    QQ图片20161219145136.png

  此公式决定PWM方波的占空比,可得到相应的高电平持续时间,当杯内水温与设定值差距较大时,加热/制冷电路电流大,结果是使得杯内水温与设定值偏差越来越小,最终达到自动控制的目的。同时,本文采用分段式控温的思想,当温度偏差值大于10℃时,进行全速加热或者降温,当偏差值小于10℃时,再启动PID进行控温,这样既保证了加热/制冷效率,还节约了系统的功耗[1-6]。

  3.2软件设计主流程

  系统在初始化阶段设置期望温度,初始化完毕后通过DS18B20温度传感器对杯内水温进行实时温度采集,判断采集到的温度值与预设温度之间的差值,利用增量式PID算法进行处理,控制继电器加热/制冷,同时在LCD1602液晶显示屏上进行温度的实时显示[7]。主程序流程图如图5所示。

图像 005.png

4系统测试及分析

  测试时实验室温度为25℃。将智能温控杯组装完毕后,将杯中置满水,初始测得水温为20.1℃。选定从60℃~-5℃之间的数值进行测试。实验过程中,键入指定数值进行测试,待LCD显示数值稳定,不再有较大波动时,记录下LCD显示温度。记录表格如表1所示[8]。

图像 006.png

  在测试温控精度的同时,也对制冷/制热效率进行了测试,杯内水温从20℃升温至60℃只需要10 min,升温速度比较快,升温效率较高。将杯内水温从20℃降至5℃需要40 min,在降温初期降温速度比较慢,等温度降低至一定程度后,降温速度开始加快,降温效率较低。通过改进智能温控杯机械结构可以进一步改善降温效率[9-11]。

  可以看出本系统能够较精确地控制温度,动态响应好,超调量小。本系统基本达到了预期的设计目标,具有一定的实际应用价值。

5结论

  本文主要基于STM32设计了一款可对杯内水温进行实时快速有效控制的智能温控系统。硬件上采用ARM STM32F103作为主控芯片,使电路结构简单,开发方便灵活,使用DS18B20温度传感器测试温度,提高测量的精确度以及效率。采用PTC和半导体制冷片作为升温和降温设备,使温度的稳定性较高。软件上采用增量式PID算法,并结合分段控温思想,在节约系统功耗的同时,达到精确控温的目的。最后对整个智能温控系统进行测试与分析,测试结果表明该系统满足应用需求,具有一定的实际应用价值。

  参考文献

  [1] 王超. 基于半导体制冷技术的微型温控箱研制[D].西安:陕西师范大学,2014.

  [2] 王桔,洪梅.基于STM32单片机的恒温箱系统设计[J].长春大学学报(自然科学版),2015,25(4):13-16.

  [3] 卢伟. 基于μTenux的智能家居系统网关的设计与实现[D].大连:大连交通大学,2015.

  [4] 胡斌,胡跟龙,孔祥梅.基于超低功耗单片机的智能饮水机系统设计[J].新技术新工艺,2015(3):69-71.

  [5] ASTROM J K WITTENMARK B.Computer controlled systems[M].Prentice_Hall,1984.

  [6] 张幼军.UG CAD/CAM基础教程[M].北京:清华大学出版社,2006.

  [7] 宗振海,王雅萍,陈智慧.基于STM32的仔猪智能恒温保育箱的设计[J].浙江农业科学,2014(1):128-130.

  [8] 王直,孙强.基于STM32的半导体制冷片控制系统设计[J].电子设计工程,2015,23(18):100-102.

  [9] 陈永禄,张莉.基于单片机的温度控制系统设计与实现[J].现代电子技术,2015(2):73-76.

  [10] 陶兴朋,王婵,张铮.基于神经元PID的温湿度实验箱设计与实现[J].湖北工业大学学报,2015,30(2):37-41.

  [11] 姬志君. 基于半导体制冷技术的自动温控箱的研究与设计[D].保定:河北农业大学,2012.


继续阅读>>