摘要
近些年来,随着现代科学技术的不断发展,集成电路的应用早已涉及到生活的方方面面。监控应用系统已经在各个行业领域得到了广泛使用,在应用领域中温度控制方面的研究取得了许多成果,在应用初期的研究工作主要使用热敏电阻完成温度信息的收集,根据实时采集的信息完成后续工作,这样不仅精度不够,而且监控效果也不够好。
本文设计完成的温度显示系统以STM32F103C8T6单片机为基础,适用于多路温度采集,运用多个传感器完成温度信息收集,收集到的温度数据在TFT液晶屏进行实时显示,对各个温度测量点进行监控。并且当采集的温度数据超出所设定的安全值时,会及时地通过LED灯和蜂鸣器进行报警提醒。上述多个模块同构成该多路温度采集显示系统。
关键词:STM32;单片机;TFT显示屏;DS18B20;蜂鸣器
1.绪 论
1.1 系统设计的背景及意义
近些年来,随着社会现代科学技术的不断发展以及国家工业化进程的不断加速,科学技术的不断进步使得集成电路的集成度越来越高,科技的进步给生产生活带来了很多便利,计算机的出现给人民的生活带来极大的改变,单片机的应用水平不断提升也给各行各业的创新发展创造了有利条件。
现段段单片机以良好的稳定性、快速的运算效果在各个应用领域发挥着无可比拟的重要作用,通过单片机的应用使日常生活生产发生了改变。人们在日常生产生活中对温度的要求越来越严格,对于温度监控系统的需求越来越高。温度作为一项重要的环境指标,可以对一些工作环节产生化学反应,如果不能对环境浊度数据进行采集和监空将会给生产过程、产品质量和环境安全带来一系列影响,因此需要有适宜的手段进行环境温度采集,温度采集信息系统在科研领域、工业控制及以及日常生活中都得到了普遍应用。在工厂的众多生产环节中,很多工序都需要对温度进行精确的控制,使生产过程符合温度标准,为稳定生产提供良好的条件。通过自动多路温度采集显示系统可以快速收集环境温度信息,保证生产的智能化、自动化能够顺利、安全进行,从而为工人提供更安全的生产环境,同时还可以提高企业的生产效率。
1.2国内外研究现状及发展趋势
国外对于温度测量技术的研究比较早,初期技术大致是先进行温度的初步采集,然后对温度信号进行处理分析,做出相应的指示、记录。对于温度测量技术的研究在国内起步较晚,后来在国内发展需求的推动和国外发达国家的温度测量技术的指引下,我国开始学习并吸取其技术的精髓,当时国内的技术人员主要以吸收发达国家的温度测控技术为基础。随着计算机应用技术、电子技术的不断发展,温控系统现阶段已在各应用领域中使用,多路温度采集系统的相关研究成果显著,现阶段软硬件的设计水平较高。在应用初始阶段,温度采集大都通过热敏电阻来完成温度数据采集,根据实时采集的数据据进行温控处理,避免由于温度控制不力而对生产造成不良影响,这种方法在实际工作中效果并不突出。经过科研人员的不断研究,目前温控技术已经比较成熟,温度采集控制水平较高。目前国内使用的温度多路采集系统较多,温度采集系统所选用的部件也不相同,各个系统的优点也不尽相同,此领域仍有广阔的发展潜力。
随着科学技术的发展,人们认识到温度测量的重要性,实时的温度测量在日常生活和农业生产、工业生产过程中是非常有必要的,这关乎着生产过程的方方面面,因此深入研究温度测量方法和装置是具有重要意义的。在未来,多路温度采集显示系统将趋于集成化、智能化,系统将向更稳定、更可靠、更准确的方向去研究。
系统设计的主要任务以STM32F103C8T6为主控,搭配多个模块完成以下任务:
(1)设计完成四路温度信号采集以及传输电路。
(2)完成信号接收线路设计
(3)完成输出线路设计,实现对接收数据的显示。
(4)完成提示报警电路。
系统设计的主要内容设计一个四路温度采集显示系统,设计要求包含信号采集、信号转换、信号传输、数据显示、报警提示五部分。利用DS18B20温度传感器进行温度数据的测量和采集,通过A/D转换的方式将系统模拟信号进行转换,以数字信号形式在LED屏中显示,将所采集的信号转换并传输到STM32主控芯片进行计算处理,并将所接收到的信号通过SPI串口驱动TFT显示屏进行多路温度的实时显示,最后根据计算处理的结果判断是否通过LED和蜂鸣器进行报警提示。
2.系统设计方案
系统的框架设计此次设计主要目的是通过四个温度传感器进行温度数据的采集然后传输进单片机进行处理分析,之后可以分别显示在显示模块上面,并且当温度超出设置的安全值时进行报警提示。根据本次系统设计的总体目标及其硬件配置的特点,为了更快、更精确地对多路温度进行实时的采集显示,在达到一定温度时会出现警示声,此项功能的实现需要多个模块共同作用。通过对此温度采集系统所实现的功能进和全面分析后确定系统的构成,本系统设计包括STM32F103C8T6单片机、TFT显示模块、DS18B20传感模块、四脚独立按键输入模块、蜂鸣器以及LED灯
构成,本系统整体框架结构见图1所示
图 1-1系统框架
主要元器件的选择有源蜂鸣器蜂鸣器(Buzzer)是一种一体化结构的电子讯响器,采用直流电压供电,主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型,广泛应用于多种领域,本系统用来实现报警功能。蜂鸣器根据驱动方式的不同可分为有源和无源两种,有源蜂鸣器需要接通电源才可发出声响,无源蜂鸣器需要根据进行电路设计后,在输出端实现蜂鸣效果。在本项设计中使用有源蜂鸣器,由于其内部设有振荡源,因此只要外接电源将有发出声响,使用起来比扬声器简单,程序控制也更方便。
LED发光二极管LED也可称为发光二极管,应用于发光显示,可以在单片机程序执行过程发光指示,在通电的情况下以光能形式体现,在各领域中应用较广。根据化学特征不同分为有机发光二极管OLED和无机发光二极管LED,此两类二级管者具有单向导向特性。选择LED是因为与传统灯具相比,LED灯更节能,能耗是白炽灯的十分之一,是节能灯的四分之一;体积小,不占空间,方便安装;它具有的突出优势就是可以多次开关,比较耐用;由于其内部不含有重金属等有害物质,因此比较环保,响应速度快,只要一接通电源,LED灯马上就会亮起来;与其他光源产品相比,LED灯在使用效果更佳,由于LED属于冷光源自身并不具有较多的热能,因此不会吸引环境中的昆虫。
DS18B20温度传感器DS18B20是常用的数字温度传感器,比传统热敏电阻拥有更多的优点。具有体积小,精度高,耐磨耐碰,封装形式多样,使用方便,具有较强的抗扰性能,当电极错接时,也不会出现芯片快速损毁不能工作的情况。且DS18B20采用单总线技术,使DS18B20同主控单片机之间仅需要通过一根线就可以直接读出被测温度,即与单片机接口仅需占用一个I/O端口,即可将外部环境温度串行输出,传感器内部内置AD转换,测量结果直接输出数字温度信号,并且DS18B20提供了9—12位的可编程分辨率,分辨率最高可达0.0625°C,其转化速率随着温度分辨率的增加而减少,并且DS18B20的测温范围在-55°C~+125°C满足了大部分项目的基本需求。因此可以将多个DS18B20温度传感器共存于同一条单总线上,适合本系统多路温度采集的需求。
TFT液晶显示屏TFT(Thin Film Transistor)即薄膜场效应晶体管,是有源矩阵类型液晶显示器LCD中的一种,在技术上采用了“主动式矩阵”的方式来驱动,它可以主动对屏幕上的各个独立的像素进行控制,这样使得反应时间得到大幅提高。而且由于TFT是主动式矩阵LCD可使为液晶屏增加记忆功能,使得即使电源中断依然还可以将原状记录。TFT液晶显示屏的优点是显示质量高、可视角度大、体积小重量轻、辐射小、画面效果好。
3.硬件电路设计
STM32F103C8T6单片机STM32F103C8T6由意法公司研制一款以Cortex-M3内核为基础的32位处理器。硬件采用LQFP48封装,芯片一共引出44只引脚,其中A口有A0-A15共16个引脚,B口有B0-B15共16个引脚,C口有C13-C15共3个引脚,D接中D0-D1共设计了两个引脚。STM32F103C8T6的GPIO设计了8种工作模式,输入工作模式包括有上拉和下拉,因此外部没有设置上下拉电阻。STM32单片机还支持3种程序下载方式,根据原理不同可分为ISP串口下载、SWD下载和JTAG下载。
STM32F103C8T6单片机具有性能强劲、速率高、经济性、集成性强、使用简易等特点,因此获得普遍应用。因此在本项设计中选用STM32F103C8T6单片机为系统的核心控制处理器,配合使用其他各种相应的功能模块来实现多路温度采集显示系统的各种功能。
图 3-1芯片管脚图
3.2单片机最小系统
所谓单片机最小系统,就是单片机可以完成运行的最小工作单元,当最小系统接电后可使单片机系统完成回位并进行程序加载。STM32F103C8T6单片机最小系统组成部件包括:芯片、电源电路、复位电路和时钟电路。其中,复位电路组成包括按键、电阻和电解电容,复位方式可分为上电复位和按动按钮复位两种;晶体振荡器(简称晶振)和两个瓷片电容构成了时钟电路,它的主要作用是为单片机传输时钟信号。
电源电路本设计中选用STM32单片机作为主控芯片,主控芯片的运行需要电源电压为3.3V,而我们生活中最广泛应用的电源电压为5V,例如各种手机充电器、充电USB等均为5V。所以一般使用AMS1117-3.3V 稳压电源芯片将5V降压为3.3V,该芯片的封装一般为SOT223。AMS1117系列稳压器目前在市场上有两种版本,分为使用者根据需求可调电压的版本和产家已经固定电压的版本。如图使用了电容器来滤除两侧的噪声和无用的谐波电流,该芯片的输出电压相对稳定,工作电压范围较大。
图 3-2电源电路原理图
复位电路复位电路又叫初始化电路,作用就是在板子上电的瞬间向单片机复位引脚(NRST)传输一个低电平,使单片机完成回位,将除备份存储器以外所有寄存器状态恢复原始状态,简单来说就是让程序重头开始跑。尤其是当芯片在工作过程中出现问题的时候,复位电路就尤为重要。复位电路的是根据RC电路充放电原理设计的,当接电瞬间NRST引脚低电平作用下,会在复位引脚NRST上连接电容和电阻,当复位电平完成两个机器周期以上可完成回位,使电容开始进行充电程序,此时会维持相应的低电平状态,让单片机完成回位。上电初始阶段,电容连结部位电压值为0,也就是低电平回位,RC电路存在一种充电曲线,也就是电压变化情况曲线,单片机进行电平辩识需要一个连接电压,保证RC电路电容电压充到单片机临界电压的时间在两个机器周期以上便可以使单片机回位。
图 3-3复位电路原理图
时钟电路数字电路运行要由工作时钟提供信号,晶振电路将完成此项工作,所有的外设工作,CPU工作都要基于该时钟,类似于整个系统的“心跳节拍”。晶振来自于石英晶体,石英晶体在电子系统应用源于它具有的压电效应。虽然现在很多单片机都已经集成了内部时钟,可以不用外接晶振电路了。不过由于内部时钟容易受外界干扰,所以在要求严格的场合,晶振电路还是很有必要的。晶振电路中有一个晶振,还有两个电容,这两个电容一般称为负载电容。晶振电路中加这两个电容是为了满足谐振条件。一般外接电容,是为了使晶振两端的等效电容与负载电容基本相同,要实现起振需要有符合条件的电容相连才会开始工作。
3.3有源蜂鸣器设计
常用的驱动方式就是直接通过三极管来驱动,三极管的主要作用是用来放大电流,因为蜂鸣器响应的时候需要比较大的电流,一般单片机接口直接提供不了那么大的电流。三极管起到的是开合作用,当基极处于高电平状态时将便接通三极管,此时蜂鸣器将发出声响;而基极低电平则使三极管关闭,蜂鸣器停止发声。必要时还可以给蜂鸣器反向并联一个二极管用来延长蜂鸣器的使用寿命,由于蜂鸣器内部有线圈,相当于一个电感,当蜂鸣器关闭的时候,会在线圈上产生一个反向电动势,这个二极管在蜂鸣器关闭的时候可以给线圈进行放电。
图 3-5蜂鸣器原理图
3.4温度传感器设计
DS18B20采用单总线协议, 在同一数据线进行输入端进行数据写入,在输出端完成温度测量并输出,采取的传输方式半双工的双向模式,从多感感器按照系统赋予的编码分别完成任务。进行数据读写需要按照时序标准进行,根据主机发出的指令进行数据读写,设备全部处于侦听状态,数据和指令的传输次序按照低位优先原则。在读取DS18B20接收到的温度数据时, 主机在发送写指令后,此时会通过开启读时序进行数据采集。DS18B20在运行时对电源可以是外部电源也可以使用内部电源。VDD端口电压值在3.0V—5.5V之间时会选用外接电源,当VDD端口处于接地状态时,会选用内部电源。此多路温度系统电源选取外部电源完成运行,将工作电源DS18B20接入VDD引脚,使使系统电量充足,可以实现较高转换精确度,可以在同一总线加挂几个DS18B20感应器,构建多路的温度采集电路系统。当处于外接电源状态下,DS18B20的引脚GND必须在接地状态,避免空置,否则将不能实现温度转换目标。如果没有接地,DS18B20读取的温度始终都是85℃。
任何器件想要使用,首先就是需要初始化,对于DS18B20单总线设备,首先初始化单总线为高电平,总线需要测定线上DS18B20器件状态。当总线上存有
DS18B20,总线会根时序需要反馈低电平脉冲,否则不会反应,总线将持续呈现现高电平状态。
图 3-6温度传感器原理图
3.5TFT液晶显示设计
使用的显示屏幕是带有SPI通讯的1.8英寸TFT 液晶显示屏,该屏幕使用T7735S作为驱动芯片,分辨率为128*160,供电电压在5V~3.3V之间。此屏幕使用SPI作为与MCU的主要通信协议。STM32的HAL库已经实现了该协议,这使我们的项目更加方便。SPI是串行外围设备接口的缩写,除了两条数据线之外,它还具有时钟线和选择线,以在要与之通信的设备之间进行选择。
图 3-7液晶显示屏接口图
4.软件设计
4.1编程软件介绍
本设计所用到的编程软件为Keil5 MDK,该软件集成了开发环境,调试器和仿真环境,为Cortex-M、Cortex-R4、ARM7、ARM9处理器的运行创建良好的运行和设计环境,与其他设计环境相比较,Keil5具有简便易行,界面更佳的特点。
主程序流程设计在主程序运行过程中,首先需要完成各模块的初始化操作,然后程序进行while循环程序。在主循环中,首先是获取当前四路温度传感器采集的温度数据,并显示在屏幕上;然后获取按键状态,根据按键情况判断是否改变相应变量,也就是安全阈值;最后通过判断函数判断当前温度是否超出安全范围,若超出则启动LED和蜂鸣器报警。主程序部分代码如下:
while (1)
{
ds18b20_1.get(&ds18b20_1, &temp_1); /*获取当前温度*/
ds18b20_2.get(&ds18b20_2, &temp_2); /*获取当前温度*/
ds18b20_3.get(&ds18b20_3, &temp_3); /*获取当前温度*/
ds18b20_4.get(&ds18b20_4, &temp_4); /*获取当前温度*/
tft18.str(&tft18, 10, 20, 12, “Temp_1:%.2f”, temp_1); /*显示字符串*/
tft18.str(&tft18, 10, 40, 12, “Temp_2:%.2f”, temp_2); /*显示字符串*/
tft18.str(&tft18, 10, 60, 12, “Temp_3:%.2f”, temp_3); /*显示字符串*/
tft18.str(&tft18, 10, 80, 12, “Temp_4:%.2f”, temp_4); /*显示字符串*/
tft18.str(&tft18, 10, 100, 12, “Hight:%u Low:%u “, H_temp, L_temp); /*显示字符串*/
switch (key_state)
{
case 0:
tft18.str(&tft18, 10, 115, 12, ” “); /*显示字符串*/
break;
case 1:
tft18.str(&tft18, 10, 115, 12, ” * “); /*显示字符串*/
break;
case 2:
tft18.str(&tft18, 10, 115, 12, ” * “); /*显示字符串*/
break;
default:
break;
}
图 4-1主程序流程图
5.系统的调试与制作
硬件的选型与软件的编程完成之后,就是系统的仿真运行,对多路温度的采集、温度的显示、安全阈值的修改、LED与蜂鸣器的报警这四个方面进行仿真测试。系统测试首先可以实行分块测试,然后再进行各功能模块的联合调试,调试时从一个模块开始,逐一增加,直至各个模块全部增加完毕,最后实现全部模块的联合调式。
通过对系统的仿真测试,可以确保系统功能得以实现。然后再通过Altium Designer根据原理图进行PCB的制作,待PCB打样完成后,要做的就是将各功能模块焊接在事先设计好的地方,系统的所有电路设计并有繁琐,只要单片机各个焊点牢固,没有短路和虚焊的现象,将可以稳定运行。最后进行系统的应用测试,取精度较高的温度测量计与本系统采集的数据进行对比,结果表明在不同环境下采集的测量数据在在-10~50℃区间同,两者存在的最大误差均保持在±0.1℃范围内,适用于绝大多数场合。
6.总结与展望
通过对本次毕业设计,使我将所学到理论知识和实践进行了紧密结合,进行软硬件系统设计,完成了一个多路温度采集显示系统。虽然过程中遇到不少困难,但我也在这个过程中将以往所学过的知识更进一步的巩固了,不仅如此,我还学习了不少新的知识。
本多路温度采集显示系统的设计是以STM32单片机为中心,包括由温度采集模块(DS18B20温度传感器)、按键输入模块、显示模块(TFT液晶显示屏)、报警模块(LED和蜂鸣器)等功能模块构成。该显示系统利用4个DS18B20进行温度数据采集,随后将相应信息传输至STM32单片机完成分析程序,实时通过TFT屏幕显示出来,并根据判断结果决定是否报警。通过实际效果的测试,本系统适用于多种实际应用场景和复杂的工作环境,实现了对多个点位的实时温度监控。使用人员还可以根据现场环境以及自身需求,随时调整温度安全范围,使得系统具有了更好的兼容性。
随电子科技技术的发展,相信未来的应用系统将会具有更多用途,人们生活中也会更多的用到此系统,无论是在日常生活,还是工业生产方面,人们可以通过该系统让自己的生活更便利、更智能。
参考文献
[1]朱群峰, 黄磊, 唐杰,等. 基于DS18B20的单总线多路温度采集系统[J]. 仪表技术, 2008(12):3.
[2]黄仁欣,张琴.单片机原理与应用技术(第二版).北京:清华大学出版社,2020
[3]李艳,电路仿真软件在电子技术教学实践中的应用,电子测试,2019,(23)
[4]梁宇,施建明,顾江萍.基于单片机的多通道温度采集系统设计[J].数字技术与应用,2012(05):21.DOI:10.19695/j.cnki.cn12-1369.2012.05.017.
1、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“文章版权申述”(推荐),也可以打举报电话:18735597641(电话支持时间:9:00-18:30)。
2、网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
3、本站所有内容均由合作方或网友投稿,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务。
原创文章,作者:1158,如若转载,请注明出处:https://www.447766.cn/chachong/74633.html,