基于STM32单片机的智能温度控制系统的设计
2018-11-08刘绍丽王献合
刘绍丽,王献合
(湖北文理学院理工学院,湖北襄阳,441000)
0 引言
温度是表征物体冷热程度的物理量,是工农业生产过程中一个普遍应用的参数。因此,温度控制是提高生产效率和产品质量的重要保证。温度控制的发展引入单片机后,可以降低对某些硬件电路的要求,实现对温度的精确控制。本文设计的温度控制系统主要目标是实现温度的设定值显示、实际值实时测量及显示,通过单片机连接的温度调节装置由软件与硬件电路配合来实现温度实时控制;显示可由软件控制在LCD1602中实现;比较采集温度与设定阈值的大小,然后进行循环控制调控,做出降温或升温处理;同时也可根据判断发出警报,用以提高系统的安全性[1-5]。
图1 系统总体框图
1 系统总体设计
本设计以STM32F103RTC6单片机为核心对温度进行控制,使被控对象的温度应稳定在指定数值上,允许有1℃的误差,按键输入设定温度值,LCD1602显示实际温度值和设定温度值。
2 系统硬件设计
图2 系统硬件电路图
本系统硬件电路主要包括:主控制器模块、数字温度测量模块、温度数值显示模块、温度控制模块、系统供电模块等。
2.1 主控制器模块
主控制模块是由STM32F103RTC6单片机最小系统构成,该控制器具有高性能、低成本、低功耗等特点,采用性能较高的ARMCortex-M3的32位的RISC内核,工作频率是72MHz,内部有高速存储器(高达128K字节的闪存和20K字节的SRAM),丰富的增强型I/O端口和联接到两条APB总线的外设。
2.2 数字温度测量模块
模拟信号在远距离传输过程中,由于所需引线较长,系统会产生误差补偿、多点切换及放大电路的零点误差等问题。此外,考虑到测量现场的电磁环境十分不确定,干扰信号可能比较强,模拟信号易受到干扰因素导致产生测量误差,影响测量的精度。因此,本系统采用一种抗干扰能力较强的新型数字温度传感器DS18B20来避免发生上述问题。
2.3 温度显示模块
显示模块主要用于显示状态以及温度值,本设计选用简单易用的LCD1602。它是一种专门用来显示英文字母、阿拉伯数字、标点符号等的点阵型液晶模块,由2*16个5X7点阵字符位组成,每个点阵块都可以显示一个字符,每位点阵块之间有一个点距的间隔,两行之间也有间隔,起到了字符间距和行间距的作用。由于LCD1602所需电压为5V,因此它与3.3V的单片机连接需要将STM32设置为开漏输出,且连接5V的上拉电阻提高电平。
2.4 温度控制模块
温度控制模块是由TC4427A、PTC热敏电阻、半导体制冷片以及N沟道MOS管构成。TC4437A的功能是电平转换,用以控制N沟道MOS管是否通断。当单片机给出3.3V高电平,TC4427A输出端会转换为12V高电平,然后连接到场效应管的栅极,此时场效应管处于导通状态,漏极会和源极接地连接并且连接到接线端子,与其 12V的电压形成一个完整通路,则器件启动。反之当单片机给出0V低电平,TC4427A输出端也为0V低电平,然后连接到场效应管的栅极上,于是场效应管处于断开状态(漏极和源极断开),此时接线端子的12V电压和场效应管的漏极不能形成完整通路,则器件关闭。
2.5 电源模块
由于单片机供电电压为3.3V,而LCD1602为5V,其余器件所需电压皆为12V,故而电源模块主要是有适配器输出12V的电压,然后通过7805转换的5V电压以及AMS1117转换的3.3V电压。
3 系统软件设计
围绕该系统设计要求,软件主控制模块流程图如图3所示,具体工作如下:首先系统先查找温度采集模块是否安装好,查询无误即可显示当前温度值,然后根据上述硬件设计要求按下开关键一打开设定的温度控制程序,开关键二和开关键三是设定上升温度还是下降温度,支持连续按下,开关键四控制发光二极管以及蜂鸣器进行报警提示,以上四个按键是在进入温度控制后方可有效。当设定值高于当前温度值,PTC加热器工作,红色灯亮起;倘若设定值低于当前温度值,半导体制冷器工作,蓝色灯亮起;如若相等,彩灯亮起并且伴随蜂鸣器报警。LCD1602一直显示出当前温度,设定值由开关键来控制显示。
图3 温控系统软件设计主控制流程图
4 系统测试
图4 系统测试结果曲线图
在升温测试过程中,单片机上电后,当前温度读取环境为19℃,其设定温度为22℃,由于当前温度低于系统设定值,当按下开关键四,红色灯亮起,代表PTC在工作,系统升温。当升高到一定温度,红灯熄灭,彩灯亮起且蜂鸣器发出警报,说明温度已进入温度控制系统的设定值;但是由于PTC与DS18B20之间有一段距离,温度随着PTC关闭后剩余热量继续散热,导致温度略高于22℃;之后温度略高于设定值半导体制冷器开始工作降低温度,彩灯熄灭且蓝灯亮起,温度降低到等于设定值,蓝灯熄灭彩灯亮起且蜂鸣器再次报警,如此循环保证系统一直处于设定值范围以内,如图4红色升温曲线所示。降温测试过程与升温过程类同,其设定温度为18℃,其测试结果如图4蓝色降温曲线所示,可知系统工作累计的最大误差为1℃,达到其设计要求。
5 结束语
本系统采用STM32主控制模块、温度控制模块、DS18B20温度采集模块、显示及报警模块等制作智能化温度控制装置。结果表明,该系统实现了对温度测量、显示及自动控制等功能,具有功耗低,稳定性好,可操作性强,构建简单,成本低廉等特点,并且系统扩展型强,具有较好的推广应用前景。