1、编号:课程设计基于 LMTARM-V 试验平台的电子密码器的设计与实现院系:信息工程学院姓名:张华伟学号:1234130130专业:电子信息工程年级:2012 级指导教师:巫廷耀职称:工程师完成日期:2016 年 5 月I摘 要温控系统在人们生活中随处可见,在生物制药、冶金、医疗等领域扮演着非常重要的角色,已经成为人们生活不可或缺的一部分。它是一个集环境监测、反馈调节和人机交互的等功能的综合系统。它是能实现实时环境温度数据采集,经过相应的判断处理、计算来控制设备的运行以达到理想温度的系统,其应用范围非常广泛。如今,由于 ARM 构架设计的温控系统拥有稳定性和抗干扰性以及高运算速率等优点,一直受
2、广大电子设备控制系统开发人员的青睐。本设计采用 ARM 单片机技术、PT100 铂电阻温度传感器技术、单片机技术等来实现自动控制温度、手动设置温度和显示的功能。通过了解市场对温控系统的需求和简化实现方式的前提下,本设计制定了易于实现的模块化设计方案,在硬件电路方面主要设计了最小系统电路、电源电路、电压参考电路、制热模块电路、温度传感器电路和温度采集电路等,并完成了智能温控的各项功能测试。本设计实现了温度显示、设置温度和温度采集的功能,以及保持设置温度的功能。关键词:单片机;PID;温度传感器;AD 采集;铂电阻 IIAbstractTemperature control system can
3、be found everywhere in life.It has become an indispensable part of peoples life,played a very important role in the field of biological pharmacy, metallurgy, medical treatment and so on. It is an integrated system collecting the environmental monitoring, the feedback to adjustments, human-computer i
4、nteraction, and other functions. It is a system that can be realized real-time temperature data by the corresponding judgment processing, calculation to control the operation of the equipment in order to achieve the ideal temperature, and it has a wide range. Nowadays, due to the advantages of high
5、stability, anti-jamming and operation rate,the ARM temperature control system has been popular with the general electronic equipment control system developers. This design uses the ARM micro-controller technology, PT100 platinum resistance temperature sensor technology and single-chip microcomputer
6、technology to realize the functions of automatic control, manual setting temperature and temperature display. The modular arrangement of this design is easy and convenient by understanding the market demand for temperature control system and simplifying the premise of implementation. In terms of har
7、dware circuit, it design the minimum system circuit, power circuit, voltage reference circuit, heating circuit and temperature acquisition module circuit and temperature sensor circuit, etc., and complete the functional tests of intelligent temperature control. This design has realized the functions
8、 of displaying the temperature, setting up the temperature, collecting the temperature, and maintaining the set temperature. Key words :MCU;PID;TemperatureSensor;A/D conversion;PT100 III目录1 绪论 11.1 课题的研究背景与意义 .11.2 课题的国内研究现状 11.3 课题的国外研究现状 .21.4 课题的研究目的和内容 .22 系统总体方案设计与论证 32.1 主控系统方案论证 .32.2 电源系统方案论
9、证 .42.3 温度传感器方案论证 .42.4 显示模块方案论证 52.5 A/D 转换器模块方案论证 62.6 系统整体设计方案论证 .73 系统硬件设计 83.1 主控制系统设计 .83.1.1 STM32F407 单片机 83.1.2 通用定时器 83.1.3 模数转换器 .93.2 温度采集电路设计 .93.3 显示电路的设计 .103.4 制热模块驱动电路设计 .103.5 电源系统设计 .114 系统软件设计 134.1 主程序设计 .134.2 温度采集程序设计 144.3 驱动加热模块程序设计 .144.4 显示模块程序设计 .15IV5 制作与调试 165.1 软件调试 .1
10、65.2 实物制作 .175.3 测试与总结 .18参考文献 20致谢 21附录 I22附录 II 23附录 III .24绪论11 绪论1.1 课 题 的 研 究 背 景 与 意 义随着科技的发展,现代工业设计、工程建设及日常生活中温度控制都起着重要的作用,对温度控制的精度要求也越来越高。早期的温度控制主要用于在一些对温度要求控制的产品生产中,这样可以通过实时采集到的温度数据进行监测产品生产,以大幅提高产品生产质量和生产效率。随着人类社会的快速发展,现代社会中的温度控制系统早已应用在生活中的各个领域,像在一些酒店,厂房以及家庭生活中,甚至在一些应用中,对温度控制系统的要求变得极其严格。因此,
11、这就需要一种能够及时反应监测温度变化的设备,提供温度数据值,使人们能够及时对温度的变化做出相应的调整,更好的方便于人类社会生活。科技的快速发展,改变了人类社会生活,特别是在电子技术方面,在大规模集成电路诞生下而产生的微型计算机,更是将人类社会带入了一个新的时代。利用微型计算机的强大功能,人们可以实现更多复杂的控制,实现原来不能实现的控制。然而,由于大多数的工业控制并不需要微型计算机那样强大的功能,于是就诞生了单片机。单片机其实就是一个简化的微型计算机,它的用途主要是实现不同的控制功能。相对于微型计算机来说,单片机使用简单,价格低廉,对一些简单控制要求的场合非常适合。另外,单片机同样是按照工业控
12、制要求设计的,其性能可靠性高,可以在很复杂的环境下正常运行。单片机因其较高的可靠性和性价比,在工业生产控制、家用电器等方面得到极为广泛的应用。1.2 课 题 的 国 内 研 究 现 状我国对温度控制技术的研究相对晚于西方国家,在 20 世纪 80 年代我国技术人员开始对温度测控系统有了进一步研究。目前国内对温控系统的研究越来越深入,温控系统也发展到嵌入式单片机自动控制系统,温度检测也发展为现今的可编程的温度控制传感器,另外制冷加热模块也有所改善,这促使温度控制系统可调温度范围大大扩展,精度控制也越来越高,但与发达国家相比仍存在较大差距。我国温度控制现状距离达到工厂化程度仍有很远一段距离,实际生
13、产中仍存在诸多问题。如今国内温控系统多采用在家用电器,主要为空调、冰箱等;另外目前在国内具有生产温度控制器能力的厂商较少,仅一些相对发达的省市才有具有生产能力的生产厂家,而且他们的目绪论2前的生产力远不能满足市场的庞大需求;另外根据汽车行业当前市场的发展,一些公司企业地区产业的扩大,汽车产业规模日益壮大,在汽车、空调方面对温度控制器需求量也必将增 1。1.3 课 题 的 国 外 研 究 现 状近年来国外温控系统的发展速度急剧上升,而中国对这一变化有着决定性因素,中国作为一个主要的制造中心和工业电子温度控制器市场的快速发展影响着国内外温控系统的发展速度 2。另外国外的很多终端厂商转移到国内生产,
14、得以获得低成本的劳动力和原料优势。虽然温度控制系统在国内各方面发展应用已经十分广泛普遍了,但根据调查研究国内的温度控制器来看,国内整个发展趋势和发展水平并不高,相对国外而言在性能方面仍存在一定的不足。一些稳定成熟的温控系统产品控制算法以常规的 PID 控制算法为主,它仅能满足一般要求的控制系统,对一些要求较高场合的智能化、自动控制仪器,国内技术明显无法满足,在自动控制技术方面显得还不十分成熟,能够形成商品化的自动控制仪器仪表并不多。目前,温度控制器产品已从最初的模拟、集成温度控制器发展到如今的智能数码温度控制器。智能温控系统是计算机技术和自动控制技术的整合,特点是能输出温度数据和适配各种控制器
15、,另外它是通过软件的控制功能读取温度数据的,在硬件平台的基础上实现,因此其智能化程度和软件的开发水平有莫大的关系。1.4 课 题 的 研 究 目 的 和 内 容智能温控系统是一种新颖的自动化温控系统,是一个完整的多功能温控系统。本次设计的目的是深入研究温控系统的各个部分,研究并实现铂电阻温度测量,实现PID 控制算法,实现对温度的精确控制,实现各个模块的正常工作。本设计主要内容是是对该系统的总体方案及硬件、软件进行分析概要设计。在总体方案上,我们首先画出一般温控系统的原理框图,随后分析相关资料对温度传感器模块、显示模块、A/D 采集模块等各部分一一进行了方案论证与分析,确定了各模块设计的具体方
16、案,得出系统的详细原理框图。在硬件上详细地介绍了温度采集电路的基本原理及相关参数计算,数码管电路与按键接口电路的设计,半桥驱动电路及运算放大电路的基本原理与具体设计。在软件上主要研究了 PID 算法的基本理论及增量式PID 算法的实际应用,另外着重对温度采集、A/D 转换程序进行相关分析和介绍。系统总体方案的设计与论证32 系统总体方案设计与论证本设计的总体框图如图 2-1 所示。其中,包括温度检测模块、MCU 主控模块、加热器模块、显示器模块等器件,且各主要模块之间形成闭环,能够实现实时温度采集与控制。由于温控技术已相对比较成熟,温度控制系统的各个模块都有多种方案可供选择,因此要结合现实情况
17、,对不同模块的相关方案进行论证和分析,以得到适用于本课题的最佳方案。控制对象 温度传感器 A/D 采样MCU主控系统显示模块按键模块加热模块图 2-1 系统总体框图2.1 主 控 系 统 方 案 论 证根据本设计功能要求,分析完成功能所需要的信号处理能力和输出信号量做出了两种方案。在此对其方案可行性和可靠性等做了如下分析。方案一:选用 STM32F407ZG 单片机作为系统的主控部件,实现实时对系统进行控制与处理。ARM 单片机具有速度快、资源丰富、开发周期短等优点。另外 ARM单片机本身集成有 AD 转换模块,十位转换精度多通道 AD 转换满足开发需求,另外选用的 STM32F407ZG 带
18、有 FPU 单元,它 ST 公司是为多浮点型数据运算而准备的。方案二:选用 51 单片机作为系统的主控部件,实现实时对系统进行控制和处理。单片机有控制简单、使用方便快捷、价格低廉等优点。针对本设计特点,多模拟量输入和多浮点型数据的复杂程序控制系统,需要擅长处理多模拟量输入和多浮点型数据的标准单片机,同时需要选用 A/D 功能可增加 adc0809 模块。根据这些分析,常用的STC89C52 单片机具有功能强大的位操作指令,I/O 口均可按位寻址,程序空间高达8K,而且 51 单片机价格非常低廉,可满足需求但对浮点操作能力弱。综合考虑了处理能力和数据量等因素后,最终决定采用方案一。STM32F4
19、07 单片机实物图,如图 2-2 所示。系统总体方案的设计与论证4图 2-2 STM32F407 单片机实物图2.2 电 源 系 统 方 案 论 证方案一:通过的市面上电源适配器模块能够提供温控系统需要的稳定电压,使用家庭电压 220V 转换后输出 12V-1.2A 的电源提供整个系统使用,提供 3.3 伏特的电压供单片机运行,稳定而且方便。方案二:采用 12V 锂电池单电源供电,但锂电池单电压供电电量损耗快,由于加热模块功率高用电量大,所以,需要选用容量较大的电池供电才行。综合考虑选择方案一,其采用的电源如图 2-3 所示。图 2-3 电源2.3 温 度 传 感 器 方 案 论 证方案一:数
20、字式温度传感器是能把温度物理量和湿度物理量,通过温、湿度敏感元件和相应电路转换成方便计算机、PLC、智能仪表等数据采集设备直接读取得数字量的传感器。Dallas 公司的 DS18B20 属于典型的数字温度传感器 3,其主要特性如下:(1) 独特的单线接口方式,DS18B20 在与微处理器连接时仅需要一条口线即可实现微处理器与 DS18B20 的双向通讯;(2) 测温范围-55125 ,固有测温误差 1;(3) 支持多点组网功能,多个 DS18B20 可以并联在唯一的三线上,最多只能并联 8 个,实现多点测温;(4) 工作电源: 12V/DC (可以数据线寄生电源)。系统总体方案的设计与论证5方
21、案二:采用铂电阻温度传感器,由于金属铂的电阻值随温度的变化而变化,而且有很好的稳定性,因此利用铂金属的这种物理特性制成铂电阻温度传感器。它具有较高的测量精度和很好的稳定性以及温度测量范围广等特点,是一种常用的温度传感器,不仅广泛应用于工业测温,而且被作为一种标准的温度计供校准使用。铂电阻 PT1000 其阻值随温度线性变化,温度系数 TCR=0.003851,具有正温度系数,即温度每变化 1,其阻值按同样趋势变化 3.851。B 级测温范围为-50500。并且有热响应时间快;机械强度高,耐压性能好;测量精度高精度高;使用寿命长等优点。图 2-4 PT1000 铂电阻本系统要求的温控范围为 25
22、99,数字式温度传感器操作复杂不是最佳选择,其他的数字式温度传感器由于成本太高,铂电阻 PT1000 从测温范围,精度等方面均能满足要求,故综合考虑本设计选用铂电阻 PT1000 作为温度传感器。2.4 显 示 模 块 方 案 论 证方案一:led 数码管(LED Segment Displays)由多个 发光二极管封装在一起组成的器件,并把他们共用的一端称为共阴(阳)极。数码管实际上是由八个发光管组成的,并把这些段分别由字母 a,b,c,d,e,f,g,dp 来表示,如图 2-5 所示。图 2-5 引脚图点亮一个数码管,使特定的段点亮即可组成显示我们需要的数字。单个数码管的压降一般在 1.8
23、V 左右,电压不超过 30mA。将各个数码管段的阴极连在一起称为共阴极数码管,将各个数码管段的阳极连在一起称为共阳极数码管。当有多个数码管显示时,为充分利用单片机的 IO 口,需要将所有的段选并联在系统总体方案的设计与论证6一起,并由其他的 IO 口来控制数码管的公共阴极或者公共阳极。为了使多个数码管同时显示,需要循环扫描各个数码管显示成为动态显示,为了稳定显示需要有较高的刷新频率,避免数码管出现显示闪烁的情况。方案二:LCD1602 串口方式显示,当 PSB 脚接低电位时,模块将进入串行模式。从一个完整的串行传输流程来看,一开始先传输启始字节,它需先接收到五个连续的1(同步位字符串),在启始
24、字节,此时传输计数将被重置并且串行传输将被同步,再跟随的两位字符串分别指定传输方向位(RW)及寄存器选择位 (RS),最后第八的位则为0 4。在接收到同步位及 RW 和 RS 资料的启始字节后,每一个八位的指令将被分为两个字节接收到:高 4 位(DB7DB4)的指令资料将会被放在第一个字节的 LSB(最低有效未)部分,而低 4 位(DB3DB0)的指令资料则会被放在第二个字节的 LSB 部分,至于相关的另四位则都为0 5。串口传输信号时如图 2-6 所示。图 2-6 LCD 串口传输信号图鉴于硬件简单成本低廉的原则,本系统采用数码管显示方式。2.5 A/D 转 换 器 模 块 方 案 论 证方
25、案一:单片机 STM32F407 内置 AD 转换器。12 位 ADC 是逐次趋近型模数转换器。它具有多达 19 个复用通道,可测量来自 16 个外部源、两个内部源和 VBAT通道的信号 1。这些通道的 A/D 转换可在单次、连续、扫描或不连续采样模式下进行。ADC 的结果存储在一个左对齐或右对齐的 16 位数据寄存器中。ADC 具有模拟看门狗特性,允许应用检测输入电压是否超过了用户自定义的阈值上限或下限。同时内置A/D 有如下特性:可配置 12 位、10 位、8 位或 6 位分辨率、数据对齐以保持内置数据一致性、可独立设置各通道采样时间、外部触发器选项,可为规则转换和注入转换配置极性、不连续
26、采样模式、双重/三重模式(具有 2 个或更多 ADC 的器件提供)、双重/ 三重 ADC 模式下可配置的 DMA 数据存储、双重/三重交替模式下可配置的转换系统总体方案的设计与论证7间延迟、规则通道转换期间可产生 DMA 等。方案二:采用 AD 转换芯片 ADC0809。它是采用了 CMOS 工艺,8 位逐次逼近方式进行 AD 转换。其内部有一个 8 通道多路开关,根据地址码译码后的信号选择导通 8 路通道中的一个进行 A/D 转换。它由 8 路模拟开关、 地址锁存与译码器、比较器、8 位开关树型 A/D 转换器、逐次逼近寄存器、逻辑控制和定时电路组成。其工作过程如下:首先需要输入一个三位的地
27、址,并使 ALE=1,将地址存入地址锁存器中。经地址经译码选择要导通 8 路模拟输入中的其中一个通道。START 下降沿启动 A/D 转换,紧接着之后 EOC 会输出一个低点评信号,表示转换正在进行。直到 A/D 转换完成,EOC 变为高电平,A/D 转换结束,并将转换结果存入锁存器,并且这个信号可用作中断申请。当 OE 输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。经对比分析后可知,STM32F407 单片机内置 12 位 A/D 转换器,且不用连接其他电路,只需在程序中配置相应寄存器即可完成 A/D 转换;ADC0809 的分辨率则是 8位,还需接入 74LS373 等芯
28、片,使得电路较为复杂。因此无论从进度上还是易用性上都应该选择单片机内置 A/D 转换器。因此,使用单片机内置的 10 位 A/D 转换器是本课题的最佳选择。2.6 系 统 整 体 设 计 方 案 论 证经过以上详细的论证与分析,得到详细的系统框图如图 2-7 所示。PT100 传感器半桥驱动电路制热模块 PWM 输出、PID 运算、AD 采集通道温度换算。差分放大电路数码管显示模块通讯模块温度设定被控模块STM32f407图 2-7 系统框图PT1000 温度传感器与加热设备保持接触,其阻值变化通过电阻桥及放大电路转换为电压信号,STM32F407 通过内置 12 位 A/D 转换器采集到电压
29、值,经过相关计算得到当前温度值送给数码管显示,同时将此温度值与按键输入的目标温度值进行比较,进行根据 PID 计算结果输出 PWM 波,经 V/I 变换电路后转换为 420mA 标准电流信号。系统硬件设计83 系统硬件设计3.1 主 控 制 系 统 设 计采用单片机作为主控制系统对温控系统的状态进行实时控制,具有控制灵活、可靠,精度高的特点。单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器 CPU 随机存储器 RAM、只读存储器 ROM、多种 I/O口和中断系统、定时器/计时器、脉宽调制电路、模拟多路 转换器、A/D 转换器等电路集成到一块硅片上构成的一个小
30、而完善的嵌入式系统。3.1.1 STM32F407 单 片 机本设计采用 ARM 系列的 STM32F407ZG 单片机。 STM32F407ZG 系列是基于高性能的 ARMCortex-M4F 的 32 位 RISC 内核,工作频率高达 168 MHz。Cortex-M4F 核心功能支持所有 ARM 单精度数据处理指令和数据类型的单精度浮点单元(FPU)。它还实现了一套完整的 DSP 指令和内存保护单元(MPU ),从而提高应用程序的安全性。该 STM32F407ZG 系列采用高速嵌入式存储器(多达 1 MB 闪存,高达 192 KB 的 SRAM),最多 4 字节的备份 SRAM,以及广泛
31、的增强 I / O 的连接到两条 APB 总线和外设,两个 AHB 总线和一个 32 位的多 AHB 总线矩阵。STM32F407ZG 设备提供 3 个 12 位 ADC,两个 DAC,1 个低功耗 RTC,12 个通用16 位定时器,其中包括两个用于电机控制的 PWM 定时器,两个通用 32 位定时器。一个真正的随机数发生器(RNG)。他们还配备了标准和先进的通信接口。3.1.2 通 用 定 时 器通用定时器包含一个 16 位或 32 位自动重载计数器,该计数器由可编程预分频器驱动。它们可用于多种用途,包括测量输入信号的脉冲宽度(输入捕获)或生成输出波形(输出比较和 PWM)。使用定时器预分
32、频器和 RCC 时钟控制器预分频器,可将脉冲宽度和波形周期从几微秒调制到几毫秒。这些定时器彼此完全独立,不共享任何资源,它们可以同步操作。通用定时器工作模式有输出比较工作模式、计数器模式、PWM 模式、强制输出模式等。有多达 4 个独立通道,可用于输入捕获、输出比较、PWM 生成、单脉冲模式输出。在本设计中定时器配置工作模式为 PWM 模式,采用定时器 2 通道 2 在 PA1 口输系统硬件设计9出,配置定时器为定时器分频采用 83 分频,初始装载值为 999,向上计数的方式,时钟分频为 1 分频,所以可以产生频率为 2kHz 的 PWM 波。3.1.3 模 数 转 换 器12 位 ADC 是
33、逐次趋近型模数转换器。它具有多达 19 个复用通道,可测量来自16 个外部源、两个内部源和 VBAT 通道的信号。这些通道的 A/D 转换可在单次、连续、扫描或不连续采样模式下进行。ADC 的结果存储在一个左对齐或右对齐的 16 位数据寄存器中。ADC 开关控制:可通过将 ADC_CR2 寄存器中的 ADON 位置 1 来为 ADC 供电。首次将 ADON 位置 1 时,会将 ADC 从掉电模式中唤醒。SWSTART 或JSWSTART 位置 1 时,启动 AD 转换。可通过将 ADON 位清零来停止转换并使ADC 进入掉电模式。在此模式下,ADC 几乎不耗电(只有几 A)。通道选择有 16
34、条复用通道,可以将转换分为两组:规则转换和注入转换。每个组包含一个转换序列,该序列可按任意顺序在任意通道上完成。数据管理使用 DMA 由于规则通道组只有一个数据寄存器,因此,对于多个规则通道的转换,使用 DMA 非常有帮助。这样可以避免丢失在下一次写入之前还未被读出的 ADC_DR 寄存器中的数据。在使能 DMA 模式的情况下(ADC_CR2 寄存器中的 DMA 位置 1),每完成规则通道组中的一个通道转换后,都会生成一个 DMA 请求。这样便可将转换的数据从 ADC_DR 寄存器传输到用软件选择的目标位置。本设计中 AD 转换目的是将采集的电压量转换为数字量求得温度值,采用的是ADC1 通道
35、 0,配置 ADC 需要使能 ADC1 的时钟,配置端口为模拟输入。由于其映射在 DMA2 的数据流 0 上,所以数据管理配置使用 DMA2 的数据流 0,配置 DMA传输方向是从外部设备到寄存器,将 AD 采集的值存放到一个地址中。做到 AD 转换数据采集的实时性。3.2 温 度 采 集 电 路 设 计如图 3-1 是使用 PT100 做检测元件的差分放大电路。图中 MCP601 是差分放大器,根据实验测试电阻 R17=634k,根据虚短和虚断的概念可得Uo/Ui = R17 / R18 = 63.4 (3-1)所以电路放大倍数为 63.4 倍。由于 PT100 所测温度和本身电阻变化有关,
36、所以求得 PT100 的内阻即可根据转换关系求得当前温度。当前参考电压 VREF = 3.3V。P3 是滑动变阻器。系统硬件设计10图 3-1 温度采集电路PT100 的压降 VaVa = VREF * R23 /( R23+ R13) (3-2)有 PT100 的压降可得 Rpt100Rpt100 = ( R14 * Va ) / ( VREF - Va) (3-3)再有 PT100 内阻与温度的关求得 TT = 2.59281 * R - 259.40194 (3-4)3.3 显 示 电 路 的 设 计显示电路采用共阳极数码管,各数据脚直接接在单片机 PF0-PF7 引脚,位选为PF14,
37、PF15 引脚,如图 3-2 所示。图 3-2 数码管显示电路数码管显示当前的温度值,采用扫描显示的方式,数据口 PF0-PF7 传输要显示的数据,引脚 PF14、PF15 选择被选中显示的数码管。本设计使用两位数码管循环扫描显示当前温度数据。3.4 制 热 模 块 驱 动 电 路 设 计如图 3-3 是驱动加热片的半桥驱动电路,其中 IR2110 是一个桥类型为半桥的驱动器,采用 8 脚封装可以配置为同向和反向驱动。系统硬件设计1112J5U3IRF706VCNSDOM4LHB89+PW_T图 3-3 半桥驱动电路IR2104 的引脚功能如表 3-1 所示。其中,引脚 SD 低电平有效,用于
38、关断逻辑的输入控制加热片的工作状态。引脚 IN 用于同向输出到 HO 和 LO 引脚。通过引脚 IN输入的不同占空比的 PWM 来控制 J5 和 J6 上的电压差的大小,从而控制加热模块工作情况,另外芯片 IRF3703 是一种 N 型 MOS 管,通过 SD 端输入 1 或 0 可以选择导通 U3 或 U7。表 3-1 IR2104 引脚功能图IN 高和低侧栅极驱动输出,同相,何逻辑输入SD 用于关断逻辑输入VB 高侧浮动电源HO 高侧栅极驱动输出VS 高侧浮动电源返回VCC 低压侧和逻辑固定电源LO 低侧栅极驱动输出COM 低端回报3.5 电 源 系 统 设 计由于整个系统需要电源电压的不
39、同,本系统采用家庭用电通过电源稳压模块转换为低压 12V 后使用。电源 12V 转 5V 电路如图 3-4 所示。其中稳压芯片采用 LM2576 稳压器。LM2576 系列的稳压器是单片集成电路,能提供降压开关稳压器的各种功能,能驱动3A 的负载,有优异的线性和负载调整能力。系统硬件设计1212J8CONFEDBAK4UTVIG3/5LM76P0u+Rk9H图 3-4 电源 12V 转 5V 电路电源 5V 转 3.3V 电路如图 3-5 所示。其中转换芯片采用 AMS1117 稳压器。它是一个正向低压降稳压器,能提供包括固定电压输出版本(固定电压包括1.8V,3.3V,5V)跟三端可调电压输
40、出版本,最高输出电流可达 1A,输出电压精度高达 2,稳定工作电压范围为高达 12V,限流功能,过热切断等功能。inotS.图 3-5 电源 5V 转 3.3V 电路电压参考电路如图 3-6 所示。其中 REF196 是常用于基准电压源电路芯片,它的特点是内部精度高,温度稳定性好,电源电流低,有睡眠模式等。图 3-6 电压参考电路系统软件设计134 系统软件设计系统的软件设计主要包括四个部分,分为主程序设计、温度采集程序设计、显示电路程序设计、PWM 驱动加热模块程序设计。通过温度传感器监测被控对象的温度,主控制程序根据当前温度判断然后控制加热模块的状态并显示当前温度,使被控对象温度趋于一个设
41、定的值。在整个系统中这四个部分相互关联,互相影响,是整个系统的核心组成部分。同时在软件设计中会加入指示灯的控制等其他程序。4.1 主 程 序 设 计主程序主要是完成单片机的 IO 口、定时器 2 工作在 PWM 模式和 AD 转换通道配置的初始化以及温度转换和 PID 运算控制输出 PWM。检测当前温度与设定温度做比较做出相应的动作。主程序流程图如图 4-1 所示。判断( Real_Temp= Set_Temp)?加热模块停止工作返回PID 运算控制 PWM 输出数码管显示 Real_Temp否是开始初始化程序使加热模块工作读取当前温度 Real_TempAD 转换图 4-1 主程序流程图系统
42、软件设计14在主程序设计中完成了温度的采集、温度的显示、PID 控制运算以及驱动加热模块的工作。主程序是根据当前温度和设定温度的值进行比较运算后进行控制被控物体的温度和显示当前温度值的。同时通过 PID 运算修正被控物体的可控量。主程序不断的读取转换温度 Real_Temp 和 Set_Temp 进行比较来控制温度值。4.2 温 度 采 集 程 序 设 计由于铂电阻的特性,温度值是单片机 AD 采样输入端口的电压转换而来的,而电压值受铂电阻的内阻影响而改变。铂电阻内阻受温度的影响呈现一定的线性关系。所以根据需求温度采集程序流程图如图 4-2 所示。开启 AD 转换读出输入电压值AD 采样滤波算
43、法求出铂电阻的值根据阻值求出当前温度值返回输入的电压值图 4-2 温度采集程序流程图温度采集是在硬件放大电路的基础上设计的,为提高 AD 采集的正确性采用了限幅滤波法对温度转换值进行处理。4.3 驱 动 加 热 模 块 程 序 设 计加热模块的驱动是使用的一个桥电路来实现的,它的状态受采集的温度的值控制,在程序设计中根据温度控制 SD 的值来选通桥电路。程序流程图如图 4-3 所示。驱动加热模块的电路使用 IR2104 芯片,经过 PID 控制输入 PWM 波根据占空比来控制加热模块两端的电压差,使可以控制模块的工作状态。系统软件设计15SD=1 SD=0开启定时器 2PWM 工作模式PID
44、运算控制 PWM 输出判断 SD 值?导通 U7(IRF3703) 导通 U3(IRF3703)加热模块工作 加热模块停止工作返回主程序调用 PID 运算图 4-3 驱动加热模块的程序流程图4.4 显 示 模 块 程 序 设 计显示模块采用数码管进行显示,程序设计根据查询共阳极数码管的码表来显示当前温度值。程序设计流程图如图 4-4 所示。初始化端口配置将 Real_Temp 值进行分割查询数码管码表显示 Real_Temp 值的十位和个位返回图 4-4 显示模块的程序流程图制作与调试165 制作与调试在 keil 软件中调试执行系统各部分实现的功能,制作实物并测试完成所需要的功能。5.1 软
45、 件 调 试在 keil 软件中主程序调试运行如图 5-1 所示,读取 PT100 检测温度程序调试如图5-2 所示, A/D 转换程序调试如图 5-3 所示,数码管显示功能调试如图 5-4 所示。通过查看寄存器的值判定各部分功能调试正常。图 5-1 主程序调试图 5-2 PT100 检测温度功能调试图 5-3 A/D 转换程序调试制作与调试17图 5-4 数码管显示功能调试5.2 实 物 制 作焊接完成后实物硬件电路如图 5-5 所示。为方便焊接在焊接时首先焊接电容电阻,然后焊接各类插件。最后将各部分连接到主板上进行调试,温度设置如图 5-6 所示,调试结果如图 5-7 所示。图 5-5 焊
46、接完成实物图图 5-6 温度值设置制作与调试18图 5-7 检测的当前温度值5.3 测 试 与 总 结在硬件制作好后,根据功能设计的要求进行模块化调试。首先调试控制输出模块的运行正常,根据半桥电路驱动的原理,将单片机通过定时器的 PWM 模式产生的PWM 输入到半桥模块,来控制输出的电压的大小,根据示波器检测单片机 PWM 输出引脚可以看到 PWM 模式正常输出,使用万用表测量半桥两端的电压差可以检测出是否驱动或停止了加热模块工作。其次是测量 PT100 工作是否正常,PT100 的温度值是基于硬件的设计来实现的,通过硬件的差分放大电路来获取 PT100 的内阻,根据内阻与温度值的转换关系求得
47、当前温度值,通过 ST-LINK 连接主板,设置断点单步调试的方式查看寄存器的值来判断当前 PT100 的工作是否正常。最后是显示模块的测试,通过改变 PT100 测试温度值来改变当前显示值测试显示模块是否正常功能。测试过程中遇到的问题通过软件调试和检测硬件的工作状态解决。调试时加热模块的工作不正常,半桥驱动使加热模块不停得工作,不能加热到一个温度并保持当前温度,通过不断的调试和检查最后找到原因是 PT100 工作不稳定,使得 PID 根据当前温度和测量温度来控制 PWM 输出出现延迟,使得半桥达不到最初设计的要求,最后通过滤波算法稳定 PT100 的值解决了这个问题。显示模块工作正常,最后调
48、试完成整体工作正常。另外在设计整个硬件电路和软件程序设计中,遇到了很多问题也学习了很多,充分发挥了自主学习、分析问题、解决问题的能力,将课堂上学到的东西在实物中展现出来。在设计硬件电路的过程中,分析论证了各种方案,并查找各种相关的元器件,最终完成了硬件电路设计。在软件程序设计过程中,先画出了程序流程图,并模块话的实现了各个功能,最后进行整体设计完成了软件程序设计。本设计完成了根据当前设定的温度使被控物体加热到设定温度并保持。本设计使制作与调试19用的是 PT100 技术实现温度数据采集。本设计采用 PID 算法对加热模块的工作进行控制。本设计完成了设置温度、显示温度、加热被控物体到设定温度并保
49、持的功能。另外,由于时间仓促、资金等原因,本设计还存在诸多不完善的地方,如未能使系统更好的扩展留出总线接口等。因此,本设计还有待进一步研究和改善。参考文献20参考文献1 龚红军. 单片机温度控制系统J. 电气时代,2012,1,(10).P17-18.2 张鑫单片机原理及应用M. 北京: 电子工业出版社,2010.10.P35-39.3 胡朝.基于单片机的温度控制系统的开发应用J. 商场现代化,2010, (14):62-65.4 齐向东 刘立群单片机控制技术实践 M. 北京: 中国电力出版社,2009.3, P55-59.5 叶景.基于单片机的温度控制系统的设计J. 中国新通信,2009, (13): 1-2.P111-108.6 陶红艳,余成波.传感器与现代检测技术M. 北京: 清华大学出版社,2009,2.P117-118.7 王文海.单片机应用于实践项目化教程M. 北京: 化学工业出版社, 2010,3.P42-48.8 李新国. 单片机温度控制系统J. 机电工程,2012,3,(02).P39-43.9 黄祯祥,邓怀雄,郭延文,周书. 基于 MCS-51 单片机的温度控制系统J.现代电子技术,2013,4,(06).P12