智能工业温度检测仪表设计毕业设计说明书.doc_第1页
智能工业温度检测仪表设计毕业设计说明书.doc_第2页
智能工业温度检测仪表设计毕业设计说明书.doc_第3页
智能工业温度检测仪表设计毕业设计说明书.doc_第4页
智能工业温度检测仪表设计毕业设计说明书.doc_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

南 阳 理 工 学 院 本科生毕业设计(论文)学 院:电子与电气工程学院专 业: 自 动 化 学 生: 指导教师: 完成日期 2014 年 5 月I南阳理工学院本科生毕业设计(论文) 智能工业温度检测仪表设计 Design of Smart Industrial Temperature Measuring Instrument 总 计 : 35 页插 图 : 21 幅II南 阳 理 工 学 院 本 科 毕 业 设 计(论文)智能工业温度检测仪表设计智能工业温度检测仪表设计 Design of Smart Industrial Temperature Measuring Instrument 学 院: 电子与电气工程学院 专 业: 自动化 学 生 姓 名: 学 号: 指 导 教 师(职称): 评 阅 教 师: 完 成 日 期: 南阳理工学院 Nanyang Institute of Technology智能工业温度检测仪表设计 摘 要智能工业温度检测仪表的设计由硬件设计、软件设计组成。它的硬件主要有四个部分组成:STM32单片机最小系统、信号调理电路、液晶显示、电源模块。文中分别介绍了各组成部分的主要芯片,设计了其接口电路。在抗干扰方面,通过分析干扰产生原因并采取措施,提高了该智能工业温度检测仪表的抗干扰性能。软件部分,采用keil4编程软件编写程序,使用模块化的编程手法,使编程更加容易,程序更加易懂。整个应用程序主要包括主程序的设计、中断定时程序设计、液晶显示程序设计等。经过不断地测试和改进最终实现了稳定的精确实时显示。 关键词温度测量;STM32单片机;PT100热电阻传感器;液晶显示Design of Smart Industrial Temperature Measuring Instrument Abstract: The design of the intelligent industrial temperature measuring instrument is made up of hardware design, software design.The hardware mainly has four parts:STM32 MCU minimum system, signal conditioning circuit, liquid crystal display, power supply module.In the paper respectively introduces the main chip of each component,designs its interface circuit.In anti-interference, by analyzing the causes of interference and take measures to improve the anti-jamming performance of the intelligent industrial temperature detection instrument.Its software part, uses the keil4 programming software to program, the usage of modular programming technique, makes programming easier and program more readable.The entire application mainly includes the design of the main program, interrupt timing program design, liquid crystal display design, etc. Finally realize the stable and accurate real-time display through continuously testing and improvement.Key words: Temperature measurement;STM32 microprogram control unit;pt100 thermal resistance sensor;liquid-crystal display 目 录1 引言11.1 智能工业温度检测仪表的概述11.2 智能工业温度检测仪表国内外研究现状11.3研究的目的及意义22 系统分析32.1电源模块32.2 控制模块42.3 测量模块62.4 显示模块73 硬件设计83.1 控制芯片外围电路设计83.2液晶屏电路设计93.3复位电路的设计113.4抗干扰电路的设计114 基于STM32处理器的工业温度检测仪表设计的软件设计124.1软件的开发环境124.2系统驱动的设计144.2.1串口驱动设计144.2.2 TFTLCD驱动的设计144.3定时器模块设计154.4 液晶显示字库164.5测量、计算、显示等逻辑程序175 测试结果与分析185.1测试结果185.2测试结果分析19结束语21参考文献22致谢35III智能工业温度检测仪表设计1 引言 随着现代工业的高速发展,生产技术的不断进步,对于产品的精度要求也越来越高,人们对温度等控制要素的精度要求不断提高,对温度的测量以及监控就显得十分重要。在化工等行业中对温度的要求较高,防止由于工作环境温度的偏差进而引发事故。如文物的保护,不仅在文物出土的时刻,在博物馆和档案馆中,温度的控制也是藏品保存关键,所以温度的检测对其也是具有重要意义的;化工业中做酶的发酵同样也离不开温度的采集,必须时刻了解所发酵酶的温度才可以得到所需酶1;另外大型机房的温度的采集,超出此范围会影响服务器或系统的正常工作等等。传统方式监控温度往往很耗费人力,而且实时性差。本文就设计了一个基于STM32的温度测量系统,能够实现温度的实时监测。1.1 智能工业温度检测仪表的概述本次毕业设计的要求是能对常规的温度信号进行采集并转换,温度范围-100+800摄氏度,并且能将信号变送值其他控制单元,传送方式采用工业标准信号或无线传输,要求采集信号与输出成线性关系。1.2 智能工业温度检测仪表国内外研究现状 国内外工业的日益发展,促使温度检测技术不断地进步,目前的温度检测使用的温度计种类繁多、应用范围也较广泛;以知识经济为特征的信息时代的到来,使人们对仪器仪表作用的认识愈加深入,温度传感器正从模拟式向数字式、由集成化向智能化、网络化的方向发展,在高新技术的推动下,正跨入真正的数字化、智能化、网络化的时代。 (1) 本课题主要涉及问题:通过所做课题,综合设计温度信号采集电路(包含传感器、信号放大电路),通过温度采集电路完成温度信号的提取,经过处理器对温度信号的处理和存储,将信号信息显示在显示模块上。 (2) 国内研究现状:随着经济全球化的到来,以及我国制造业的发展,国内工业制造水准的提高,温度控制仪表的生产紧随着国际水平的发展。正跨入真正的数字化、智能化、网络化的时代。 (3) 国外研究现状:现代信息技术的三大基础是信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术),而仪器仪表正是实现信息的获得、转化、存取、处理和揭示物质活动规律的必要工具,是当今普遍称之为实现时代标志的信息科技的三大基础的必要手段,也是新技术革命的一项重要内容2。随着以知识经济为特征的信息时代的到来,人们对仪器仪表作用的认识愈加深入。目前,国际上新型温度传感器正从模拟式向数字式、由集成化向智能化、网络化的方向发展,在高新技术的推动下,正跨入真正的数字化、智能化、网络化的时代。1.3研究的目的及意义 本课题主要训练学生的软硬件设计能力。训练实践STM32处理器的应用,培养解决检测与控制等领域具体问题的能力;学生通过所做课题,熟悉STM32内核的应用系统开发研制的过程,硬件设计的工作方法,工作内容,工作步骤;对学生进行基本技能训练,例如组成系统、编程、调试、绘图等,使学生理论联系实际,提高动手能力和分析问题,解决问题的能力。 该研究项目属于设备测试仪器技术,能锻炼学生动手制作产品软硬件的能力,同时要求学生能熟练运用32位处理器STM32,还要求学生有传感器等知识的积累,能锻炼学生的综合能力和动手实践能力。 温度传感器选用pt100热电阻,热电阻是中低温区最常用的一种温度检测器。它的主要特点是测量精度高,性能稳定。其中铂热是阻的测量精确度是最高的,它不仅广泛应用于工业测温,而且被制成标准的基准仪。金属热电阻的感温元件有石英套管十字骨架结构,麻花骨架结构得杆式结构等。金属热电阻常用的感温材料种类较多,最常用的是铂丝。工业测量用金属热电阻材料除铂丝外,还有铜、镍、铁、铁镍、钨、银等。与热电偶的测温原理不同的是,热电阻是基于电阻的热效应进行温度测量的,即电阻体的阻值随温度的变化而变化的特性。因此,只要测量出感温热电阻的阻值变化,就可以测量出温度。 MCU选用STM32RBT6,有测量精度高、操作简单、价格低廉等优点。STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核。按性能分成两个不同的系列:STM32F103“增强型”系列和STM32F101“基本型”系列。增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;基本型时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,是16位产品用户的最佳选择。两个系列都内置32K到128K的闪存,不同的是SRAM的最大容量和外设接口的组合。时钟频率72MHz时,从闪存执行代码,STM32功耗36mA,是32位市场上功耗最低的产品。同时在编程方面STM32也具有和其他单片机的优势之处,如51单片机必须从最底层开始编程,而STM32所有的初始化和一些驱动的程序都是以模板的形式提供给开发者,在此开发者只需要了些其他的模块功能和工作方式和少量的语法知识便可以进行编程,此优势不但节约了时间,也为STM32的发展做出了强有力的铺垫,而且STM32目前是刚刚被作为主流开发的单片机,所以其前景是无可估量的,这次毕业设计也是看好了其优越的发展趋势来选择的3。硬件设计使用的是Altium Designer软件,Altium Designer 把原理图设计、PCB绘制编辑、电路仿真、拓扑逻辑自动布线、信号完整性分析和设计输出等技术进行了完美融合,使用起来非常方便。原理图的绘制,使我对整体的结构布局有了深一步的认识和了解。软件部分则是通过keil uvision4来设计的,Keil uVision4引入灵活的窗口管理系统,使开发人员能够使用多台监视器,并提供了视觉上的表面对窗口位置的完全控制的任何地方。新的用户界面可以更好地利用屏幕空间和更有效地组织多个窗口,提供一个整洁,高效的环境来开发应用程序。新版本支持更多最新的ARM芯片,还添加了一些其他新功能。支持最新的Cortex-M3核处理器,自动配置启动代码,集成Flash烧写模块,强大的 Simulation设备模拟,可进行软件仿真。软件仿真时可以查看很多硬件相关的寄存器,通过观察这些寄存器,就能很容易的检查代码的功能是否符合设计要求,出现错误时也方便找出原因4。通过Jlink连接处理器后,还能进行在线调试,就能实时跟踪程序在硬件上的执行状况,可以进行复位、执行到断点处、挂起、执行进去、执行过去、执行出去等丰富的操作,例如,单步执行程序,就可以看到每一行代码在硬件的所起的效果,这样更直观,更方便对程序进行改进。这个功能在软件设计的过程中给予我极大的帮助,STM32的寄存器比较繁杂,使用时很容易遗漏某些部分,而在线调试就容易找出问题所在,从而进行纠正。 2 系统分析 本系统是基于STM32 微控制器所设计的温度测量系统,通过pt100热电阻传感器,并把测得的模拟信号转化为数字信号通过微控制器驱动液晶模块显示当前测得的温度。整个系统模块分为四个模块:主芯片模块、PT100温度测量信号模块、液晶显示模块、以及电源模块。上面有芯片工作需要的最少资源:时钟控制电路、复位电路以及与外围电路相连的接口。PT100和液晶分别是温度测量、控制显示部分。2.1电源模块 STM32开发板以及测量信号转换模块需用5V直流电源。 电源模块制作原理:通过变压器先转换为12V交流电再通过整流桥把交流电转化为直流电,最后通过稳压芯片7805转化为5V电源。交流直流转换电路原理图如下图1所示;5V稳压电路原理图如下图2所示。交流电通过P3口的1、3端子进入电阻桥(D1、D2、D3、D4构成整流电桥),由于二极管的单相导电性的限流作用,把交流电变为直流电,DC+为正极,DC-为负极。图2中7805为5V稳压芯片,电压不稳定的直流电经过滤波和稳压芯片的处理,最终变成直流5V电源,由于芯片散热能力较差,所以它提供的功率不能太大。 图1 交直流转换电路原理图 图2 直流5V稳压电源原理图2.2 控制模块 STM32系列芯片按性能分成两个不同的系列:STM32F103“增强型”系列和STM32F101“基本型”系列。增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;基本型时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,是16位产品用户的最佳选择。两个系列都内置32K到128K的闪存,不同的是SRAM的最大容量和外设接口的组合5。时钟频率72MHz时,从闪存执行代码,STM32功耗36mA,是32位市场上功耗最低的产品,相当于0.5mA/MHz。它是专为要求低成本、低功耗、高性能的嵌入式应用设计的ARM Cortex-M3内核。 内核:ARM32位Cortex-M3 CPU,最高工作频率72MHz,1.25DMIPS/MHz。 时钟、复位和电源管理:2.0-3.6V的电源供电和I/O接口的驱动电压。POR、PDR和可编程的电压探测器(PVD)。4-16MHz的晶振。内嵌出厂前调校的8MHz RC振荡电路。内部40 kHz的RC振荡电路。用于CPU时钟的PLL。带校准用于RTC的32kHz的晶振。 存储器:片上集成32-512KB的Flash存储器。6-64KB的SRAM存储器。 调试模式:串行调试(SWD)和JTAG接口。 支持的外设:定时器,ADC,DAC,SPI,IIC和USART。 2个12位的us级的A/D 转换器(16通道):A/D测量范围:0-3.6 V。双采样和保持能力。片上集成一个温度传感器。集成嵌入式Flash和SRAM存储器的ARM Cortex-M3内核。和8/16位设备相比,ARM Cortex-M3 32位RISC处理器提供了更高的代码效率。STM32F103xx微控制器带有一个嵌入式的ARM核,所以可以兼容所有的ARM工具和软件。 嵌入式Flash存储器和RAM存储器:内置多达512KB的嵌入式Flash,可用于存储程序和数据。多达64KB的嵌入式SRAM可以以CPU的时钟速度进行读写(不待等待状态)。 可变静态存储器:FSMC嵌入在STM32F103xC,STM32F103xD,STM32F103xE中,带有4个片选,支持四种模式:Flash,RAM,PSRAM,NOR和NAND。3个FSMC中断线经过OR后连接到NVIC。没有读/写FIFO,除PCCARD之外,代码都是从外部存储器执行,不支持Boot,目标频率等于SYSCLK/2,所以当系统时钟是72MHz时,外部访问按照36MHz进行。 嵌套矢量中断控制器(NVIC):可以处理43个可屏蔽中断通道(不包括Cortex-M3的16根中断线),提供16个中断优先级。紧密耦合的NVIC实现了更低的中断处理延迟,直接向内核传递中断入口向量表地址,紧密耦合的NVIC内核接口,允许中断提前处理,对后到的更高优先级的中断进行处理,支持尾链,自动保存处理器状态,中断入口在中断退出时自动恢复,不需要指令干预。 外部中断/事件控制器(EXTI):外部中断/事件控制器由用于19条产生中断/事件请求的边沿探测器线组成。每条线可以被单独配置用于选择触发事件(上升沿,下降沿,或者两者都可以),也可以被单独屏蔽6。有一个挂起寄存器来维护中断请求的状态。当外部线上出现长度超过内部APB2时钟周期的脉冲时,EXTI能够探测到。多达112个GPIO连接到16个外部中断线。 时钟和启动:在启动的时候还是要进行系统时钟选择,但复位的时候内部8MHz的晶振被选用作CPU时钟。可以选择一个外部的4-16MHz的时钟,并且会被监视来判定是否成功。在这期间,控制器被禁止并且软件中断管理也随后被禁止。同时,如果有需要(例如碰到一个间接使用的晶振失败),PLL时钟的中断管理完全可用。多个预比较器可以用于配置AHB频率,包括高速APB(PB2)和低速APB(APB1),高速APB最高的频率为72MHz,低速APB最高的频率为36MHz。 电源管理:设备有一个完整的上电复位(POR)和掉电复位(PDR)电路。这条电路一直有效,用于确保从2V启动或者掉到2V的时候进行一些必要的操作。当VDD低于一个特定的下限VPOR/PDR时,不需要外部复位电路,设备也可以保持在复位模式。设备特有一个嵌入的可编程电压探测器(PVD),PVD用于检测VDD,并且和VPVD限值比较,当VDD低于VPVD或者VDD大于VPVD时会产生一个中断。中断服务程序可以产生一个警告信息或者将MCU置为一个安全状态。PVD由软件使能。 电压调节:调压器有3种运行模式:主(MR),低功耗(LPR)和掉电。MR用在传统意义上的调节模式(运行模式),LPR用在停止模式,掉电用在待机模式:调压器输出为高阻,核心电路掉电,包括零消耗(寄存器和SRAM的内容不会丢失)7。选型片的原则是:在能满足性能要求的前提下,选择成本和功耗较低的产品。 从这两个方面来看,STM32功耗36mA,是32位市场上功耗最低的产品,相当于0.5mA/MHz,时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,综合考虑,本次设计选用的集成芯片为STM32RBT6。单片机最小系统原理图如下图3所示。2.3 测量模块 PT100铂热电阻温度传感器是中低温区最常用的一种温度检测器。它的主要特点是测量精度高,性能稳定。其中铂热电阻的测量精确度是最高的,它不仅广泛应用于工业测温,而且被制成标准的基准仪。 PT100的特点:抗振性能好;测温精度高;机械强度高,耐高温耐压性能好;进口薄膜电阻元件,性能可靠稳定。 测温探头部分采用抗震耐腐材质,使用寿命延长。卡套螺纹固定形式,能调节插入的深度,外加密封元件,加强了密封性,使介质不易外泄。采用高精度铂热电阻元件,测量温度更加精确。引线采用四芯金属屏蔽线,抗干扰性强。温度信号转换电路原理图如下图4所示;温度信号的滤波及放大如下图5所示。图4 信号转换原理图图5 信号放大原理图2.4 显示模块 TFT(Thin Film Transistor)即薄膜场效应晶体管。所谓薄膜晶体管,是指液晶显示器上的每一液晶象素点都是由集成在其后的薄膜晶体管来驱动。从而可以做到高速度、高亮度、高对比度显示屏幕信息。TFT属于有源矩阵液晶显示器。TFT液晶显示屏的特点是亮度好、对比度高、层次感强、颜色鲜艳,但也存在着比较耗电和成本过高的不足。TFT液晶技术加快了手机彩屏的发展。新一代的彩屏手机中很多都支持65536色显示,有的甚至支持16万色显示,这时TFT的高对比度,色彩丰富的优势就非常重要了。其主要的特点有: (1)大面积:九十年代初第一代大面积玻璃基板(300mm400mm)TFT-LCD生产线投产,到2000年上半年玻璃基板的面积已经扩大到了680mm880mm),而且950mm1200mm的玻璃基板也将投入运行。原则上讲没有面积的限制。(2) 高集成度:用于液晶投影的1.3英寸TFT芯片的分辨率为XGA含有百万个象素。分辨率为SXGA(12801024)的16.1英寸的TFT阵列非晶体硅的膜厚只有50nm,以及TAB ON GLASS和SYSTEM ON GLASS技术,其IC的集成度,对设备和供应技术的要求,技术难度都超过传统的LSI8。 (3)功能强大:TFT最早作为矩阵选址电路改善了液晶的光阀特性。对于高分辨率显示器,通过0-6V范围的电压调节(其典型值0.2到4V),实现了对象元的精确控制,从而使LCD实现高质量的高分辨率显示成为可能。TFT-LCD是人类历史上第一种在显示质量上超过CRT的平板显示器。而且人们开始把驱动IC集成到玻璃基板上,整个TFT的功能将更强大,这是传统的大规模半导体集成电路所无法比拟的。(4)低成本:玻璃基板和塑料基板从根本上解决了大规模半导体集成电路的成本问题,为大规模半导体集成电路的应用开拓了广阔的应用空间。(5)工艺灵活:除了采用溅射、CVD(化学气相沉积)MCVD(分子化学气相沉积)等传统工艺成膜以外,激光退火技术也开始应用,既可以制作非晶膜、多晶膜,也可以制造单晶膜。不仅可以制作硅膜,也可以制作其他的-族和-族半导体薄膜。(6)应用领域广泛,以TFT技术为基础的液晶平板显示器是信息社会的支柱产业,也技术可应用到正在迅速成长中的薄膜晶体管有机电致发光(TFT-OLED)平板显示器也在迅速的成长中9。液晶显示的实物图如下图6所示。图6 液晶显示实物图3 硬件设计3.1 控制芯片外围电路设计MCU选用的STM32F103ZET6。排阻P3和P1分别用于PORTA和PORTB的IO口引出,其中P2还有部分用于PORTC口的引出。PORTA和PORTB都是按顺序排列的。P2连接了DS18B20的数据口以及红外传感器的数据线,它们分别对应着PA0和PA1,只需要通过跳线帽将P2和P3连接起来就可以使用了。P4口连接了PL2303的串口输出,对应着STM32的串口1(PA9/PA10),在使用的时候,也是通过跳线帽将这两处连接起来。这样设计使得PA9和PA10用作其他用途使用的时候,不受到PL2303的影响。P5口是另外一个IO引出排阵,将PORTC和PORTD等的剩余IO口从这里引出10。STM32芯片以及外围开发接线图如下图7所示。 图7 STM32芯片以及外围开发接线图3.2液晶屏电路设计TFT型液晶显示器采用了两夹层间填充液晶分子的设计。左边夹层为FET晶体管,而右边夹层为共通电极。在光源设计上,TFT的显示采用背透式照射方式,即假想的光源路径是从右向左,这样的作法是在液晶的背部设置了类似日光灯的光管。光源照射时先通过右偏振片向左透出,借助液晶分子来传导光线。由于左右夹层的电极改成FET电极和共通电极,在FET电极导通时,液晶分子的表现会发生改变,也通过遮光和透光来达到显示的目的。TFTLCD采用34引脚,部分对应关系为:LCD_LED对应PC10;LCD_CS对应PC9;LCD_RS对应PC8;LCD_WR对应PC7;LCD_RD对应PC6;LCD_D17:1;对应PB15:0,液晶显示作为本次设计的重要部分,一定要按照原理图接线。从STM32引脚之后的液晶显示通道电子电路原理图如下图8和下图9所示。图8 液晶显示通道电路图(1)图9 液晶显示通道电路图(2)3.3复位电路的设计为确保温度检测系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。一般微机电路正常工作需要供电电源为5V5%,即4.755.25V。由于电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC超过4.75V低于5.25V以及晶体振荡器稳定工作时,复位信号才会撤除,电路开始正常工作11。在整个系统运行时,在软件中还存在着中断定时和其它一些可能导致系统陷入死循环的程序,在硬件中也存在着接触不良等一些不可知的其它因素,因此复位电路是不可缺省的。STM32的复位按键图如下图10所示。图10 复位电路原理图3.4抗干扰电路的设计 每一个电子电路的设计与开发过程中都不可避免的要考虑各种各样的干扰,干扰信号如果不经过处理会对电路的运行结果产生很大的影响,在工业生产中会对企业造成重大的经济损失和安全问题。本次设计为了防止干扰,在模拟信号转化为数字信号前,在模拟信号的放大处理过程中加入滤波电路。温度信号经过pt100转化为电阻信号,电阻信号经过惠斯通电桥转化为两个电位信号P7、P8,P7、P8信号经过RC阻容滤波电路可以减小干扰信号对系统的影响。提高测量结果的准确率和精确度。防干扰电路原理图如下图11所示。由于热电阻传感器可能受热不均或接触不良等一些硬件和环境问题,可能产生一些杂波,影响电路的正常工作,进而影响到液晶屏的显示,为了滤除杂波排除干扰,设计了滤波电路。电容C9和电阻R3组成一个RC滤波电路,电容C12和电阻R4组成一个滤波电路。图11 防干扰电路原理图硬件设计后的实物图如图12所示图12 硬件设计后的实物图4 基于STM32处理器的工业温度检测仪表设计的软件设计4.1软件的开发环境本次设计uVision4 IDE是一款集编辑,编译和项目管理于一身的基于窗口的软件开发环境。uVision4集成了C语言编译器,宏编译,链接/定位,以及HEX文件产生器。如图15所示,是它的一个典型的调试窗口,它主要包括以下几个窗口: l 工程区:用于访问文件组和文件,调试是可以查看CPU寄存器。l 输出窗口:显示编译结果,以便快速查找错误的地方,同时还是调试命令输入 输出窗口,也可以用于显示查找结果。l 内存窗口:显示指定地址内村里的内容。查看和调用l 堆栈窗口:用于查看和修改变量的值,并且现实当前函数调用。l 代码窗口:用于查看和编辑源文件。l 外设对话框:检查微控制的片上外设的状态。l 使用Keil来开发嵌入式软件,开发周期和其他的平台软件开发周期是差不多 的,大致有以下几个步骤:l 创建一个工程,选择一块目标芯片,并且做一些必要的工程配置。l 编写C或者汇编源文件。l 编译应用程序。l 修改源程序中的错误。l 联机调试。由于Keil uVision4的便捷和高效的编程环境,使用它作为智能工业温度检测仪表软件设计的开发工具12。它的软件开发环境如下图13所示。 图13 软件开发环境4.2系统驱动的设计4.2.1串口驱动设计串口最基本的设置,就是波特率的设置。STM32的串口使用需要开启了串口时钟,并设置相应IO口的模式,然后配置一下波特率,数据位长度,奇偶校验位等信息。具体步骤如下。串口时钟使能。串口作为STM32的一个外设,其时钟由外设时钟使能寄存器控制,其中串口1是在APB2ENR寄存器的第14位。除了串口1的时钟使能在APB2ENR寄存器,其他串口的时钟使能位都在APB1ENR寄存器。串口复位。当外设出现异常的时候可以通过复位寄存器里面的对应位设置,实现该外设的复位,然后重新配置这个外设达到让其重新工作的目的。一般在系统刚开始配置外设的时候,都会先执行复位该外设的操作。串口1的复位是通过配置APB2RSTR寄存器的第14位来实现的13。串口波特率设置。每个串口都有一个自己独立的波特率寄存器USART_BRR,通过设置该寄存器就可以达到配置不同波特率的目的。串口驱动程序的编写如下图14所示。 图14 串口驱动程序设计4.2.2 TFTLCD驱动的设计在本系统中采用彩色TFT液晶,波形显示清晰,界面良好。液晶控制的关键在于编写底层驱动程序,底层驱动写好以后再封装不同功能的函数,以后调用就很方便了。STM32的FSMC模块是能够与同步或异步的存储器和16位的PC存储器卡的接口,它的主要作用是: (1) 将AHB传输信号转换到适当的外部设备协议 (2) 满足访问外部设备的时序要求通过这样的方法就可以把液晶当作外部存储设备来使用,通过配置读写及控制信号的时序,用指定指针就可以实现对液晶的读写访问。这样处理不但简化了对液晶的操作,只需指定读写数据的指针就可完成操作,而且提高了访问速度,避免了用端口模拟时序访问液晶产生的滞后现象。并且STM32自带FSMC方式控制TFT-LCD的实例14,只需做一些相应的修改就可应用到本系统中。液晶显示流程图的设计如下图15所示。 图15 液晶显示流程图4.3定时器模块设计 在程序设计中不可避免地要用到定时器、计数器和中断,提前为它们做一个程序块,使用的时候会很方便。传输数据到串口通过DMA方式,从串口接收数据时需要检测,这时就采用中断方式。 CM3内核支持256个中断,其中包含了16个内核中断和240个外部中断,并且具有256级的可编程中断设置。但STM32并没有使用CM3内核的全部东西,而是只用了它的一部分。STM32有76个中断,包括16个内核中断和60个可屏蔽中断,具有16级可编程的中断优先级。其中串口2属于可屏蔽中断,中断向量地址为0x0000_00D8。对于如此多的中断,优先级的分配也就显得很有意义,IPRInterrupt Priority Registers,就是控制中断优先级控制的寄存器组,IPR寄存器组由15个32字节的寄存器组成,每个可屏蔽中断占用8字节,这样总共可以表示15*4=60个可屏蔽中断。刚好和STM32的可屏蔽中断数相等。IPR0的3124,2316,158,70分别对应中中断30,依次类推,总共对应60个外部中断。而每个可屏蔽中断占用的8个字节并没有全部使用,而是 只用了高4位。这4位,又分为抢占优先级和子优先级。抢占优先级在前,子优先级在后。而这两个优先级各占几个位又要根据SCB-AIRCR中中断分组的设置来决定15。定时器中断模块的设计如下图16所示。图16 定时器中断等程序模块4.4 液晶显示字库在液晶显示中用一些是比较常用的子,就需要把它们编成一个字库放在程序模块中,以简化以后程序的编写。液晶屏中字的显示需要一个点一个点的编程,把它们放在字库中,如果程序用到的话只需调用代码即可。液晶显示字库编程如下图17所示。图17 液晶显示字库编程4.5测量、计算、显示等逻辑程序本次设计运用PT100传感器,它具有以下特点:抗振性能好;测温精度高;机械强度高,耐高温耐压性能好;进口薄膜电阻元件,性能可靠稳定。温度信号经过PT100采样处理后,转换为压差信号,由于此时的压差信号比较微弱,而且里面还有一些杂波干扰,需经过滤波和信号放大处理。放大芯片选用TL082芯片。滤波信号采用RC滤波电路信号传输到STM32后,经过ADC模块处理转化为数字信号,这样的数字信号经过逻辑运算程序的处理后转换成所需要的温度值,再经过液晶屏显示出来。主程序流程图如图18所示,主程序的编写如下图19所示。图18 主程序流程图图19 智能工业温度检测仪表主程序的编写 在程序编写过程中,要先想好整体的编程思路,按照模块化的编程手法,有理有条的编写程序。5 测试结果与分析5.1测试结果 下图19为在常温下用本次设计系统测得的水的温度显示。 图19 STM32温度显示用18b20所做的校准温度显示器所显示的温度如图20所示。 图20 18b20校准温度显示 下图21为在热水中用本次设计系统测得的水的温度显示 图21 STM32温度显示用18b20所做的校准温度显示器所显示的温度如图22所示 图22 18b20校准温度显示5.2测试结果分析在本次设计中圆满的完成了设计要求,实现了系统的硬件设计和软件设计,做出了实物。所做系统显示屏的第一行显示的是对整个系统功能的概括。第二行描述的是系统数据的单位。第三行显示的是温度显示是否正常,由于环境原因,整个系统现在的设定温度为0到600度之间(整个系统的测温范围是-100到650度之间,在这个区间可以随意调整)。若温度超出这个范围工作状态会显示异常。第四行显示系统异常类型,若系统功能正常,则显黑色方块;若系统异常,显示红色方块。第五行和第六行显示温度上限和温度下限。给系统上电后,pt100热电阻和信号滤波放大模块工作正常,交流电转直流电工作模块正常,A/D信号转换正常,液晶屏显示正常,温度能够正常实时显示,精确度为1度;但由于7805稳压芯片的功率较小,在为整个电路提供5V直流电压时发热比较厉害,还需改进,建议在演示半个小时以后断电散热。结束语本系统实现的是智能工业温度仪表的设计。首先调查了市场上的同类产品,并分析了它们存在的优点与不足,并借鉴了它们的优势部分应用到该系统中,研究了他们整体的设计方法,查阅了智能工业温度检测仪表的相关电路设计,初步设计出本系统的方案,并探讨其实现的可行性。其次是对于芯片的选择也是非常重要的,系统选用了性价比高的基于Cortex-M3的STM32芯片作为微处理器,该MCU能够很好的完成系统所需的功能。在熟悉了软硬件开发环境后,采用模块化设计,把整个系统化分为多个小模块并逐步去实现。本系统设计主要完成了一下几点 (1) 理解了STM32开发板的原理图和功能,也掌握了STM32开发板的基本运用。(2) 实现了交流电转换为直流电的功能,其电压相对稳定5V。(3) 通过pt100热电阻传感器实现了稳定信号转换为电信号的功能。(4) 利用STM32单片机的AD模块实现了模电信号和输电信号之间的转换。(5) 最终通过控制液晶显示屏实现了温度显示。但本系统还有一些不足,亟待改进。(1) 7805稳压芯片能提供的功率太小,需要改进以增加功率。(2) 温度显示的精确度为1度太低需要提高。(3) 由于硬件限制温度测量范围只有-100到650度。 参考文献 1 李宁基于MDK的STM32处理器应用开发M北京:北京航空航天大学出版社,2008:53-672 刘军例说STM32M北京:北京航空航天大学出版社,2011:26-283 刘鹏程基于ARM的温度测量系统J科技信息(学术研究),2008(18):77-784 樊昌信,曹丽娜通信原理M北京:国防工业出版社,2006:53-825 曾凡鑫无线通信中的序列设计原理M北京:国防工业出版社,2007:86-1136 喻金钱短距离无线通信详解:基于单片机控制M北京:航空航天大学出版社,2009: 176-2317 潘焱无线通信系统与技术M北京:人民邮电出版社M,2011:65-66 8 STMicroelectronics CorporationRM0008 Reference manualS20119 STMicroelectronics CorporationThe Definitive Guide to the ARM Cortex-M3J.2010. 10 李刚,林凌,虞启琏滤除工频干扰的自适应相干模板法J中国生物医学工程学报第 16卷第3期,2007年9月:280281 11 STMicroelectronics CorporationSTM32F103XX DatasheetJ2007 12 周立功ARM嵌入式系统基础教程M北京:北京航空航天大学出版社,2005:30-7113 高有堂电子电路设计制板与仿真PROTEL DXPM郑州:郑州大学出版社,2005:43-189. 14 赵申苓. 液晶显示器背光源驱动优化的探讨J. 液晶与显示,2006.4(21):133-137 15 胡广书数字信号处理-理论、算法与实现M. 清华大学出版社. 2003:75-85附录: 主程序:#include stm32f10x.h/* 如果要用ST的固件库,必须包含这个文件 */#include /* 因为用到了printf函数,所以必须包含这个文件 */#include #include bsp_usart.h/* printf函数定向输出到串口,所以必须包含这个文件 */#include bsp_led.h/* LED指示灯驱动模块 */#include bsp_button.h/* 按键驱动模块 */#include bsp_timer.h/* systick定时器模块 */#include bsp_tft_lcd.h/* TFT液晶显示器驱动模块 */#include images.h/* 图片资源模块 */* 定义例程名和例程发布日期 */#define EXAMPLE_NAMETFT显示文字图片例程#define EXAMPLE_DATE2011-10-16#define DEMO_VER2.0/#define DEMO_PAGE_COUNT5/* 演示页面的个数 */#define SAMP_COUNT20/* 样本个数,表示200ms内的采样数据求平均值 */uint16_t g_usAdcValue;/* ADC 采样值的平均值 */char Display_Char15;/显示单元/* 仅允许本文件内调用的函数声明 */static void InitBoard(void);static void PrintfLogo(void);static void DispTextDemo(void);static void DispSharpDemo(void);static void DispPicDemo(void);static void DispTextOnPic(void);static uint16_t GetADC(void);static void ADC_Configuration(void);void AdcPro(void);/*函 数 名: main*功能说明: c程序入口*形 参:无*返 回 值: 错误代码(无需处理)*/int main(void)uint32_t usValue;uint16_t ucBright;FONT_T tFont;/* 定义一个字体结构体变量,用于设置字体参数 */int32_t Temperature_Data;float u1; float u2; float ad_u; int16_t Over_Range;/int16_t Char_Length;/* 由于ST固件库的启动文件已经执行了CPU系统时钟的初始化,所以不必再次重复配置系统时钟。启动文件配置了CPU主时钟频率、内部Flash访问速度和可选的外部SRAM FSMC初始化。系

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论