基于单片机控制的恒温箱设计_第1页
基于单片机控制的恒温箱设计_第2页
基于单片机控制的恒温箱设计_第3页
基于单片机控制的恒温箱设计_第4页
基于单片机控制的恒温箱设计_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

1、(2011 届)届)毕业设计(论文)资料毕业设计(论文)资料题题 目目 名名 称:称: 基于单片机控制的恒温箱设计基于单片机控制的恒温箱设计 学学 院(部)院(部): 电气与信息工程学院电气与信息工程学院 专专 业:业: 机电一体化技术机电一体化技术 学学 生生 姓姓 名:名: 班班 级:级: 学号学号 指导教师姓名:指导教师姓名: 职称职称 最终评定成绩:最终评定成绩: 湖南工业大学教务处湖南工业大学教务处 (2011 届)届)专科毕业设计(论文)专科毕业设计(论文)基于单片机控制的恒温箱设计学学 院(部):院(部): 电气与信息工程学院电气与信息工程学院 专专 业:业: 机电一体化技术机电

2、一体化技术 学学 生生 姓姓 名:名: 刘刘 勇勇 班班 级:级:机电机电08210821 学号学号 0839518212408395182124 指导教师姓名:指导教师姓名: 周翔周翔 职称职称 讲师讲师 最终评定成绩最终评定成绩 2011 年 6 年湖南工业大学专科毕业设计(论文) i摘 要本设计以单片机 at89c51 为核心部件,采用单总线型数字式的温度传感器ds18b20 作为温度采集,设计制作了带键盘输入控制,动态显示和越限报警功能的恒温控制系统。该系统既可以对当前温度进行实时显示,又可以对温度进行控制,并使其恒定在某一温度范围。控制键盘设计使设置温度简单快捷,两位整数一位小数的显

3、示方式具有更高的显示精度。通过对系统软件和硬件的合理规划,发挥单片机自身集成多系统功能单元的优势,在不减少功能的前提下有效降低了成本,系统操作简便。关键词 :单片机,恒温控制,at89c51,ds18b20,精度湖南工业大学专科毕业设计(论文) iiabstractthis design with single-chip microcomputer at89c51 as the core component with single bus-control digital temperature sensor ds18b20 as temperature gathering, design wi

4、th a keyboard input control, the dynamic display and the limit alarm function of temperature control system. this system not only can real-time display of the current temperature and temperature control, and make its constant in a certain temperature range. control the keyboard design makes set temp

5、erature simple and quick, two integer a decimal display mode has higher precision of the show. through the system software and hardware reasonable planning, play microcontroller itself more system function unit integrated advantage, in not reduce functionality premise to reduce the cost and system e

6、asy operation. key words: single-chip ,microcomputer temperature control, at89c51 single chip ,ds18b20 ,precision 湖南工业大学专科毕业设计(论文) iii目 录第 1 章 绪论.11.1 课题背景 11.2 国内外恒温控制技术发展现状及趋势.11.2.1 国外恒温控制的发展现状及趋势.11.2.2 国内恒温控制的发展现状及趋势.21.3 设计任务.21.3.1 设计目的.21.3.2 系统设计技术指标.31.3.3 系统功能.3第 2 章 恒温控制系统总体方案设计.42.1 系统方

7、案选择与论证.42.1.1 一位式的模拟控制方案.42.1.2 二位式的模拟控制方案.42.1.3 pid 算法控制方案.52.2 恒温控制系统工作原理.6第 3 章 恒温控制系统硬件设计.73.1 cpu 主控模块 .73.1.1 at89c51 单片机简介.73.1.2 at89c51 各引脚功能说明.73.1.3 at89c51 单片机主要性能参数.83.1.4 晶振电路与复位电路的设计.83.2 温度采集模块.93.2.1 ds18b20 的特点.93.2.2 ds18b20 内部结构.113.2.3 ds18b20 的内存结构.113.2.4 温度传感器 ds18b20 的测温原理.

8、123.2.5 ds18b20 的指令集.133.2.6 ds18b20 与单片机的接口电路.143.3 按键输入电路.16湖南工业大学专科毕业设计(论文) iv3.4 继电器模块.173.4.1 固态继电器 ssr 工作原理.173.4.2 固态继电器 ssr 的特点.183.4.3 继电器控制电路图.193.5 显示模块.19第 4 章 恒温控制系统软件设计.224.1 工作流程.224.2 程序模块.224.2.1 主程序.224.2.2 温度传感器驱动子程序.234.2.3 键盘扫描处理程序.244.2.4 温度检测与控制子程序.244.2.5 温度显示子程序.254.3 软件调试.2

9、64.4 软硬调试.28结束语.29参考文献.30致谢.31附录一 硬件电路.32附录二 软件程序.33湖南工业大学专科毕业设计(论文) 1第 1 章 绪 论1.1 课题背景温度是工业上常见的被控参数之一,特别是在冶金、化工、建材、食品加工、机械制造等领域,恒温控制系统被广泛应用于加热炉、热处理炉、反应炉等。在一些温控系统电路中,广泛采用的是通过热电偶、热电阻或 pn 结测温电路经过相应的信号调理电路,转换成 ad 转换器能接收的模拟量,再经过采样保持电路进行 ad 转换,最终送入单片机及其相应的外围电路,完成监控。但是由于传统的信号调理电路实现复杂、易受干扰、不易控制且精度不高。本文介绍单片

10、机通过数字温度传感器检测外部温度对水箱进行恒温控制的设计,采用 pid 算法来控制 pwm 波形的产生,进而控制电炉的加热来实现恒温控制。因此,本系统采用一种新型的可编程温度传感器(ds18b20),不需复杂的信号处理电路和 ad 转换电路就能直接与单片机完成数据采集和处理,实现方便、精度高,可根据不同需要用于各种场合。在日常生活中,也经常用到电烤箱、微波炉、电热水器、烘干箱等需要进行温度检测与控制的家用电器。采用单片机实现温度控制不仅具有控制方便、简单、灵活等优点,而且可以大幅度地提高被控温度的技术指标,从而大大提高产品的质量,现以恒温控制系统的设计进行介绍。1.2 国内外恒温控制技术发展现

11、状及趋势随着计算机控制技术的发展,恒温控制己在工业生产领域中得到了广泛应用,并取得了巨大的经济和社会效益。在不同的领域内,由于控制环境、目标、成本等因素,需要针对具体情况来设计系统结构和功能,以取得最佳的控制效果。其中,恒温环境的自动化控制技术在工业生产、商业运营中是一个重要研究课题。1.2.1 国外恒温控制的发展现状及趋势自 70 年代以来,由于工业过程控制的需要,特别是在微电子技术和计算机技术的迅猛发展,以及自动控制理论和设计方法发展的推动下,国外恒温控制系统发展迅速,并在智能化,自适应参数的自整定等方面取得了很大的科技成果。在这方面以日本、美国、德国、瑞典等国技术领先,并且都生产出了一批

12、商品化的性能优异的温度控制器及仪器仪表。湖南工业大学专科毕业设计(论文) 2目前,国外温度控制系统及仪表正朝着高精度智能化、小型化等方面快速发展。虽然温度控制系统在国内各行各业的应用已经十分广泛,但从国内生产的温度控制器及技术来讲,其总体发展水平仍然不高,同国外的日本、美国、德国等先进国家相比,仍然有着较大的差距。1.2.2 国内恒温控制的发展现状及趋势我国目前在恒温控制技术这方面总体技术水平处于 20 世纪 80 年代中后期水平,成熟产品主要以“点位”控制及常规的 pid 控制器为主,它只能适应一般温度系统控制,难于控制滞后、复杂、时变的温度系统控制。在适应于较高控制场合的智能化、自适应控制

13、仪表领域内,国内技术还不十分成熟,形成商品化并广泛应用的控制仪表较少。因此,我国在恒温控制等控制仪表行业与国外还有着一定的差距。从过程量的检测角度出发,温度是最常见的过程变量之一,它是一个非常重要的过程变量,因为它直接影响燃烧、化学反应、发酵、烘烤、煅烧、蒸馏、浓度、挤压成形,结晶以及空气流动等物理和化学过程。而恒温控制技术在工业领域应用非常广泛,由于其具有工况复杂、参数多变、运行惯性大、控制滞后等特点,它对控制调节器要求较高。其温度控制不好就可能引起生产安全,产品质量和产量等一系列问题。尽管恒温控制很重要,但是要控制好温度常常会遇到意想不到的困难。随着嵌入式系统开发技术的快速发展及其在各个领

14、域的广泛应用,人们对电子产品的小型化和智能化要求越来越高,作为高新技术之一的单片机以其体积小、价格低、可靠性高、适用范围大以及本身的指令系统等诸多优势,在各个领域、各个行业都得到了广泛应用。1.3 设计任务1.3.1 设计目的设计一个恒温自动调节控制系统,温度可以在一定范围内由人工设定,并能在环境温度降低时实现自动调节,以保持与设定的温度基本不变。利用单片机 at89c51 实现温度的智能控制,使温度能够在设定温度实现恒定温度调节,利用数字温度传感器读出实际温度,并在此基础上将实际温度调节到通过键盘设定的温度(其方式是加热或降温),并通过数码管显示器实现当前温度与设定温度的显示。湖南工业大学专

15、科毕业设计(论文) 31.3.2 系统设计技术指标设计的恒温控制系统的技术指标:(1)预置时显示设定温度,达到定温度时显示实时温度,显示精确到 1。(2)恒温箱温度可预置,在误差范围内恒温控制,温度控制误差1。(3)恒温系统由 1kw 电炉加热。 (4)启动后有运行指示,温度低于预置温度 5时进行 220v 全加热。(5)具有相应的保护功能。1.3.3 系统功能(1)可以对温度进行自由设定,但必须在 0100内,设定时可以实时显示出设定的温度值。(2) 加热由 1 台 1kw 电炉来实现,如果温度不在设定温度时,根据设定的温度值与实际检测的温度值之差来采取不同的加热方式。(3) 能够保持实时显

16、示温度,显示位数 4 位,分别为百位、十位、个位和小数位。(但由于规定不超过 90 度,所以百位也就没有实现,默认的百位是不显示的。)湖南工业大学专科毕业设计(论文) 4第 2 章 恒温控制系统总体方案设计2.1 系统方案选择与论证2.1.1 一位式的模拟控制方案此方案是传统的一位式模拟控制方案,选用模拟电路,用电位器设定给定值,反馈的温度值和设定值比较后,决定加热或不加热。其特点是电路简单,易于实现,但是系统所地结果的精度不高并且调节动作频繁,系统静差大,不稳定,受环境影响大,不能实现复杂的控制算法,难以用数码管显示,难以用键盘设定,其方案一框图如图 2.1 所示。比较器温度预置信号放大固态

17、继电器加热装置数据采集信号放大图 2.1 一位式模拟控制方案框图2.1.2 二位式的模拟控制方案此方案采用单片机系统来实现。单片机软件编程灵活、自由度大,可用软件编程实现各种控制算法和逻辑控制。单片机系统通过温度传感器(adc590)对水箱内水温进行检测,得到模拟的温度信号,在经过 a/d 转换成数字信号之后,则可用数码管来显示水温的实际值,还能用键盘输入设定值,也可实现打印功能。本方案还可选用 51 单片机(内部含有 4kb 的 eeprom) ,不需要外扩展存储器可使系统整体结构较为简单。但是它是一种传统的模拟控制方式,而模拟控制系统难以实现复杂控制规律,控制方案的修改也比较麻烦,其方案二

18、框图如图 2.2 所示。图 2.2 二位式模拟控制方案框图信号采集信号放大温度预置上限比较下限比较信号处理固态继电器加热装置湖南工业大学专科毕业设计(论文) 52.1.3 pid 算法控制方案此方案采用单片机为控制核心的控制系统,尤其对温度控制,它可达到核心的控制作用,并且可方便实现数码显示、键盘设定及利用 pid 算法来控制pwm 波形的产生,进而控制电炉的加热来实现恒温控制,其所测结果精度也大大的得到了提高,在利用 pid 算法来控制 pwm 波形的产生,是有效的控制数字脉冲的输出宽度,使固态继电器得到有效和有序的逻辑控制,不会使固态继电器产生误动作。因此利用 pwm 技术进行脉宽调制的优

19、点是:(1)从处理器到被控系统信号都是数字形式的,无需进行数模转换。(2)让信号保持为数字形式可将噪声影响降到最小,并且噪声只有在强到足以将逻辑“1”改变为逻辑“0”或将逻辑“0”改变为逻辑“1”时,才能对数字信号产生影响。(3)对噪声抵抗能力的增强也是 pwm 相对于模拟控制的另外一个优点,而且这也是在某些时候将 pwm 用于通信的主要原因。(4)pwm 经济、节约空间、抗噪性能强,是一种值得广大工程师在许多设计应用中使用的有效技术。再加上单片机的软件编程灵活、自由度大,可用软件编程实现各种控制算法和逻辑控制。它可以通过用数字温度传感器采集到的实际水温温度直接进行数码管显示,还能用键盘输入设

20、定值,并且内部含有 4kb 的 eeprom,不需要外扩展存储器,可使系统整体结构更为简单1,其方案三框图如图 2.3 所示。键盘设定数据采集单片机电源电路led 数码显示固态继电器加热装置图 2.3 基于单片机控制的方框图数字 pid 调整复位电路由于方案一和方案二是传统的模拟控制方式,而模拟控制系统难以实现复杂控制规律,控制方案的修改也比较麻烦,而方案三是采用单片机为控制核心湖南工业大学专科毕业设计(论文) 6的控制系统,利用 pid 控制原理和 pwm 技术实现对温度的控制。基于这样的控制原理和 pwm 技术的优越性,在对温度控制的系统中,它可达到采用其他控制系统所达不到的控制效果,并且

21、可方便实现数码实时显示、键盘设定、直接可以驱动固态继电器,其测量结果的准确性和精度是非常高的,故经过对三种方案的比较论证,本设计采用方案三,利用单片机按增量式的 pid 控制算法对采集的温度数据进行处理,得到控制量,利用增量式的 pid 控制算法来控制 pwm波形的产生进行控制固态继电器,从而达到控制电炉的功率进行加热,实现对温度的恒温控制。2.22.2 恒温控制系统工作原理恒温控制系统工作原理现对该方案的具体原理进行详细介绍,其具体控制图如图 2.4 所示。at89c51at89c51at89c51数字 pid继电器控制电路电炉智能温度传感器 ds18b20驱动电路led 显示图 2.4 恒

22、温控制原理图按键输入系统通过数字温度传感器检测温度,把采集到的数据直接送到单片机进行处理,由于数字式温度传感器能在极短时间内把采集到的模拟量转换成数字量,这样被它处理的数据直接送到数字 pid 模块进行调整。然后,把检测到的数据与预先设定的温度值进行比较,根据不同的差值去控制控制固态继电器的通断,以采取不同的加热方式进行加热升温。另外,还设置了温度实时显示的装置,可以同时显示预先设定的温度值和实际检测到的温度值。湖南工业大学专科毕业设计(论文) 7第第 3 3 章章 恒温控制系统硬件设计恒温控制系统硬件设计恒温控制系统主要由六部分组成:cpu 主控制模块、主电源模块、键盘处理模块、温度采集模块

23、、继电器控制模块及 led 显示模块。3.1 cpu 主控模块cpu 主控制模块采用 at89c51 芯片,把数字温度传感器采集到的温度信号与原预先设定值进行比较,然后根据其差值通过 pid 调节整定,控制继电器的通断进行不同加热方式,能用键盘进行输入数据的处理以及温度信号的实时显示。3.1.1 at89c51 单片机简介at89c51 是一种带 4k 字节闪存可编程可擦除只读存储器(fperomfalsh programmable and erasable read only memory)的低电压,高性能 cmos8 位微处理器,俗称单片机。at89c51 是一种带 4k 字节闪存可编程可

24、擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除 100 次。该器件采用atmel 高密度非易失存储器制造技术制造,与工业标准的 mcs-51 指令集和输出管脚相兼容。由于将多功能 8 位 cpu 和闪速存储器组合在单个芯片中,atmel的 at89c51 是一种高效微控制器,at89c51 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。3.1.2 at89c51 各引脚功能说明如图 3.1 所示:vcc:供电电压。vdd:接地。p0 口:p0 口为一个 8 位漏级开路双向 i/o 口,每脚可吸收 8ttl 门电流。p1 口:p1 口是一个内部提供上拉电阻的 8 位双向

25、 i/o口,p1 口缓冲器能接收输出 4ttl 门电流。p2 口:p2 口为一个内部上拉电阻的 8 位双向 i/o 口,p2 口缓冲器可接收,输出 4 个 ttl 门电流,当 p2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。p3 口:p3 口管脚是 8 个带内部上拉电阻的双向 i/o 口,图 3.1 40 引脚双列直插封装图湖南工业大学专科毕业设计(论文) 8可接收输出 4 个 ttl 门电流。rst:复位输入。ale/prog:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。/psen:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/ps

26、en 有效。/ea/vpp:当/ea 保持低电平时,则在此期间外部程序存储器(0000h-ffffh) ,不管是否有内部程序存储器。当/ea 端保持高电平时,从内部程序存储器开始读取。xtal1:反向振荡放大器的输入及内部时钟工作电路的输入。xtal2:来自反向振荡器的输出。 3.1.3 at89c51 单片机主要性能参数(1)与 mcs51 产品指令系统完全兼容; (7)32 个可编程 i/o 口线;(2)4k 字节可重复擦写 flash 闪速存储器; (8)2 个 16 位定时/计数器;(3)1000 次擦写周期; (9)6 个中断源;(4)全静态操作:0hz24mhz; (10)可编程串

27、行 uart 通道;(5)三级加密程序存储器; (11)低功耗空闲和掉电模式。(6)1288 字节内部 ram; 3.1.4 晶振电路与复位电路的设计单片机内部带有时钟电路,只需要在片外通过 xtal1、xtal2 引脚接入定时控制单元(晶体振荡和电容) ,即可构成一个稳定的自激振荡器。振荡器的工作频率一般在 1.212mhz 之间,当然在一般情况下频率越快越好,可以保证程序运行速度即保证了控制的实时性。一般采用石英晶振作定时控制元件,在不需要高精度参考时钟时,也可以用电感代替晶振,有时也可以引入外部时钟脉冲信号。接在晶振上的电容虽然没有严格要求,但电容的大小会影响振荡器的稳定性和起振的快速性

28、。因此,通常选择在 1030pf 左右,在此次设计时钟电路时,晶振频率选用(12mhz) ,电容选用(20pf) ,并且它们应尽可能靠近芯片,以减小分布电容,保证振荡器振荡的稳定性。复位电路采用按键电平复位,它通过复位端经电阻与+5v 电源实现,只要能保证复位信号高电平持续时间大于 2 个机器周期就可实现复位,其时钟电路和复位电路如图 3.2 所示。湖南工业大学专科毕业设计(论文) 9图 3.2 时钟电路和复位电路图3.2 温度采集模块由于在传统的模拟信号远距离温度测量系统中,需要很好的解决引线误差补偿问题、多点测量切换误差问题和放大电路零点漂移误差问题等技术问题,才能够达到较高的测量精度。而

29、且一般监控现场的电磁环境都非常恶劣,各种干扰信号较强,模拟温度信号容易受到干扰而产生测量误差,影响测量精度。因此,在本设计中的温度测量系统中,采用美国 dallas 半导体公司的 ds18b20温度芯片对测量温度进行采集温度数据,并且由于它抗干扰能力强,是解决这些问题的最有效方案。另外数字温度传感器(ds18b20)具有体积更小、精度更高、适用电压更宽、采用一线总线、可组网等优点,在实际应用中取得了良好的测温效果和广泛的应用。3.2.1 ds18b20 的特点美国 dallas 半导体公司的数字化温度传感器 ds1820 是世界上第一片支持 一线总线接口的温度传感器,在其内部使用了在板(on-

30、b0ard)专利技术。全部传感元件及转换电路集成在形如一只三极管的集成电路内。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。现在,新一代的 ds18b20 体积更小、更经济、更灵活。使你可以充分发挥“一线总线”的优点。目前 ds18b20 批量采购价格仅 6 元左右。在传统的模拟信号远距离温度测量系统中,需要很好的解决引线误差补偿问题、多点测量切换误差问题和放大电路零点漂移误差问题等技术问题,才能够达到较高的测量精度。另外一般监控现场的电磁环境都非常恶劣,各种干扰信号较强,模拟温度信号容易受到干扰而产生测量误差,影响测量精度。因此,在温度测量系统中,采

31、用抗干扰能力强的新型数字温度传感器是解决这些问题的最有效方案,新型数字温度传感器 ds18b20 具有体积更小、精度更高、适用湖南工业大学专科毕业设计(论文) 10电压更宽、采用一线总线、可组网等优点,在实际应用中取得了良好的测温效果。新的一线器件ds18b20 体积更小、适用电压更宽、更经济。ds18b20、ds1822 的特性 ds18b20 可以程序设定 912 位的分辨率,精度为0.5c。可选更小的封装方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在eeprom 中,掉电后依然保存。ds18b20 的性能是新一代产品中最好的!性能价格比也非常出色!ds1822 与 ds

32、18b20 软件兼容,是 ds18b20 的简化版本。省略了存储用户定义报警温度、分辨率参数的 eeprom,精度降低为2c,适用于对性能要求不高,成本控制严格的应用,是经济型产品。 继一线总线的早期产品后,ds1820 开辟了温度传感器技术的新概念。ds18b20 和 ds1822 使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。 ds18b20、ds1822 一线总线数字化温度传感器同 ds1820 一样,ds18b20也支持一线总线接口,测量温度范围为-55c+125c,在-10+85c 范围内,精度为0.5c。ds1822 的精度较差为2c。现场温度直接以一线总

33、线的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。与前一代产品不同,新的产品支持 3.0v5.5v 的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小。二、ds18b20 的外形ds18b20 内部结构主要由四部分组成:64 位光刻 rom、温度传感器、非挥发的温度报警触发器 th 和 tl、配置寄存器。ds18b20 的外形及管脚排列如下图 3.3:图 3.3 ds18b20 外形及引脚排列图ds18b20 引脚定义: (1) gnd 为电源地; (2) dq 为数字信号输入/输出端; 湖南工业大学专

34、科毕业设计(论文) 11(3) vdd 为外接供电电源输入端(在寄生电源接线方式时接地)ds18b20 的主要特性(1)独特的单线接口方式:与微处理器连接时仅需要一条口线即可实现双向通讯。(2)在使用中不需要任何外围元件。(3)可用数据线供电,电压范围:+3.0+5.5 v。 (4)测温范围:-55 +125。固有测温分辨率为 0.5。 (5)通过编程可实现 912 位的数字读数方式。 (6)用户可自设定非易失性的报警上下限值。 (7)支持多点组网功能,多个 ds18b20 可以并联在惟一的三线上,实现多点测温。(8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。3.2.2

35、 ds18b20 内部结构主要由 4 部分组成:64 位光刻 r0m、温度传感器、非易失性的温度报警触发器 th 和 tl、配置寄存器,ds18b20 的内部结构图如图 3.4 所示。图 3.4 ds18b20 内部结构图3.2.3 ds18b20 的内存结构dsi8b20 温度传感器的内部存储器包括一个高速暂存 ram 和一个非易失性的可电擦除的 eeprom,后者存放高温和低温触发器 th,tl 和结构寄存器。高速暂存 ram 包含了 9 个连续字节(08),前两个字节是测得的温度信息,字节 0 的内容是温度的低 8 位,字节 1 是温度的高 8 位,字节 2 是 th(温度上限报警),字

36、节 3 是 tl(温度下限报警),字节 4 是配置寄存器,用于确定输出分辨率 9 到 12 位。第 5、6、7 个字节是预留寄存器,用于内部计算。字节 8 是湖南工业大学专科毕业设计(论文) 12冗余检验字节,校验前面所有 8 个字节的 crc 码,可用来保证通信正确。ds18b20 中的温度传感器对温度的测量结果用 16 位符号扩展的二进制补码读数形式提供。ds18b20 中的温度传感器可完成对温度的测量,以 12 位转化为例:用 16 位符号扩展的二进制补码读数形式提供,以 0.0625/lsb 形式表达,其中 s 为符号位。如表一所示表一 温度传感器 12 位数据在 ram 中的存储 l

37、sb lsb 2322222021222324lsb lsb sssss262524这是 12 位转化后得到的 16 位数据,存储在 18b20 的两个 8 比特的 ram 中。二进制中的前面 5 位是符号位,如果测得的温度大于 0,这 5 位为 0,只要将测到的数值乘于 0.0625 即可得到实际温度;如果温度小于 0,这 5 位为 1,测到的数值需要取反加 1 再乘于 0.0625 即可得到实际温度。例如+125的数字输出为 07d0h,+25.0625的数字输出为 0191h,-25.0625的数字输出为ff6fh,-55的数字输出为 fc90h3.2.4 温度传感器 ds18b20 的

38、测温原理ds18b20 的测温原理用于产生固定频率的脉冲信号送给减法计数器 1,高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器 2的脉冲输入,当计数门打开时,ds18b20 就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55所对应的基数分别置入减法计数器 1 和温度寄存器中,减法计数器 1 和温度寄存器被预置在-55 所对应的一个基数值。减法计数器 1 对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器 1 的预置值减到 0 时温度寄存器的值将加 1,减法计数器 1 的预置将重新被装入

39、,减法计数器 1 重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器 2 计数到 0 时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度,由于它内部的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,其内部测温电路图 3.5 所示。湖南工业大学专科毕业设计(论文) 13.5 ds18b20 的指令集的指令集操作 rom 的指令共有 5 条,均为单字节指令,表二是其 16 进制指令表: 表二 rom 操作 16 进制指令指令代码 指令说明55 指定匹配芯片指令cc 跳过

40、rom 匹配指令f0 搜索芯片指令ec 报警芯片搜索33 读 rom 指令,器件收到这个指令后就把 64 位 id 码传送给主机操作芯片的 ram、e2prom 指令共有 6 条,均为单字节指令,表三 是其16 进制指令表: 表三 ram、e2prom 操作 16 进制指令指令代码 指令说明44 温度转换指令,并把转换后的数据存放在 ram 的 b1、b2 的两个字节里be 读取温度指令,器件收到这个指令后把 b1、b2 两个字节的数据传送给主机4e 改写 ram 的 b3、b4、b5 的数据,主机发这个指令后再分别发送相应的数据48 器件收到这个指令后就将 b3、b4、b5 的数据写到 e2

41、prom斜率累加器预置减法计数器 1计数比较器预置减到零温度寄存器减到零减法计数器 2高温度系数振荡器低温度系数振荡器设置/清除最低有效位增加停止 图 3.5 内部测温电路框湖南工业大学专科毕业设计(论文) 14b8 器件收到这个指令后就把 eeprom 的高 h、低 l 温度报警值写到进 b3、b4b4 器件收到这个指令后就返回 0 或者 1 给主机,0 为寄生电源,1 为外部电源3.2.6 ds18b20 与单片机的接口电路ds18b20 的引脚图及与 at89c51 的接口电路如图所示,其中 ds18b20 工作在外部电源供电方式,at89c51 单片机采用 p3.0 和 ds18b20

42、 通信,如图 3.6 所示。图 3.6 ds18b20 与 at89c51 单片机的接口电路 (1) gnd 为电源地; (2) dq 为数字信号输入/输出端; (3) vdd 为外接供电电源输入端;ds18b20 与 at89c51 通信分析:当程序运行时,首先将 ds18b20 初始化,设置好要求的初始值,再调用温度读取子程序读取温度测量值,当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第 0 和第 1 个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后。对应的温度计算:当符号位 s=0 时,直接将二进制位转换为十进制;当s=1 时,先将补码变

43、为原码,再计算十进制值。第九个字节是冗余检验字节。 ds18b20 暂存寄存器分布寄存器内容字节地址温度值低位 0 温度值高位 1 高温限值 th2 低温限值 tl3 配置寄存器 4 保留 5 保留 6 保留 7crc 检验 8根据 ds18b20 的通讯协议,主机控制 ds18b20 完成温度转换必须经过三个步骤:每一次读写之前都要对 ds18b20 进行复位,复位成功后发送一条 rom 指令,最后发送 ram 指令,这样才能对 ds18b20 进行预定的操作。复位要求主湖南工业大学专科毕业设计(论文) 15cpu 将数据线下拉 500 微秒,然后释放,ds18b20 收到信号后等待 166

44、0 微秒左右,后发出 60240 微秒的存在低脉冲,主 cpu 收到此信号表示复位成功。 根据 rom 指令表指 令约定代码 功能读 rom 33h 读 ds1820rom 中的编码(即 64 位地址)符合 rom55h 发出此命令之后,接着发出 64 位 rom 编码,访问单总线上与该编码相对应的 ds1820 使之作出响应,为下一步对该 ds1820 的读写作准备。搜索 rom0f0h 用于确定挂接在同一总线上 ds1820 的个数和识别 64位 rom 地址。为操作各器件作好准备。跳过 rom0cch 忽略 64 位 rom 地址,直接向 ds1820 发温度变换命令。适用于单片工作。告

45、警搜索命令 0ech 执行后只有温度超过设定值上限或下限的片子才做出响应。根据 ram 指令表 指令约定代码功能温度变换 44h 启动 ds1820 进行温度转换,转换时最长为 500ms(典型为 200ms) 。结果存入内部 9 字节 ram 中。读暂存器 0beh 内部 ram 中 9 字节的内容写暂存器 4eh 发出向内部 ram 的 3、4 字节写上、下限温度数据命令,紧跟该命令之后,是传送两字节的数据。复制暂存器 48h 将 ram 中第 3、4 字节的内容复制到 eeprom 中。重调 eeprom0b8h 将eeprom 中内容恢复到 ram 中的第 3、4 字节。读供电方式 0

46、b4h 读 ds1820 的供电模式。寄生供电时 ds1820 发送“0” ,外接电源供电 ds1820 发送“1” 。ds18b20 的读写时序和测温原理与 ds1820 相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由 2s 减为 750ms。根据上述工作编写相关子程序:1.读出温度子程序读出温度子程序的主要功能是读出 ram 中的 9 字节,在读出时需进行 crc校验,校验有错时不进行温度数据的改写。2 温度转换命令子程序温度转换命令子程序主要是发温度转换开始命令,当采用 12 位分辨率时转换时间约为 750ms,在本程序设计中采用 1s 显示程序延时法等待转换的

47、完成。3 计算温度子程序计算温度子程序将 ram 中读取值进行 bcd 码的转换运算,并进行温度值正负的判定。将以上子程序或单独调用或加入初始化中优化程序布局。温度数据的计算处理方法:从 ds18b20 读取出的二进制值必须先转换成十进制值,才能用于字符的显示。因为 ds18b20 的转换精度为 912 位可选项的,为了提高精度采用 12 位。湖南工业大学专科毕业设计(论文) 16在采用 12 位转换精度时,温度寄存器里的值是以 0.0625 为步进的,即温度值为温度寄存器里的二进制值乘以 0.625,就是实际的二进制温度值。一个十进制值和二进制值之间有很明显的关系,就是把二进制的高字节的低半

48、字节和低字节的低半字节化成十进制后,就是温度值的小数部分。小数部分因为是半个字节,所以二进制值范围是 0f,转换成十进制小数值就是 0。0625 的倍数(015) 。采用 1 位显示小数,可以精确到 0.1。3.3 按键输入电路在按键模块电路中,k1 是复位按钮,z0.0 是温度上调按钮, z0.1 是温度下调按钮, 按键后系统自动调节设定值。其硬件电路图如图 3.7 所示。(a) (b)如图 3.7 按键输入模块按键电路图分析:z0.0 接单片机 p3.2 口,设置为预设温度个位调整位z0.1 接单片机 p3.3 口,设置为预设温度十位调整位预定低电平为有效按键,采用去抖动子程序确定按键的有

49、效性按键电路运行分析:当系统通电正常运行时,系统每一秒钟就对按键电路扫秒一次,扫描结束湖南工业大学专科毕业设计(论文) 17后,将扫描的结果送至系统中进行校验,如果有按键按下,则判断是那个键按下,在进行相关操作。例如,判断是 z0.0 按下,此按键设定为预设温度各位调整位,每检测一次有按键按下,则预设位就自动加一,当加到 9 时再加一则变为 0.十位调整为调整方法相同。同时,在 ds18b20 里面的存储数据也会改变,进行温度的调整。其流程图如 3.8 所示:开始是否是 k1 按下是否 k2 键按下 数码显示返回主程序否否上调子程序下调子程序是是图 3.8 键盘扫描处理流程图湖南工业大学专科毕

50、业设计(论文) 183.4 继电器模块3.4.1 固态继电器 ssr 工作原理本系统采用固态继电器进行控制,它的控制原理是:固态继电器只有两个输入端(“+”和“-”)及两个输出端,是一种四端器件。工作时只要在“+”、“-”上加上一定的控制信号,就可以控制输出两端之间的“通”和“断”,实现“开关”的功能,其中耦合电路的功能是为“+”、“-”端输入的控制信号提供一个输入/输出端之间的通道,但又在电气上断开 ssr 中输入端和输出端之间的(电)联系,以防止输出端对输入端的影响,耦合电路用的元件是“光耦合器”,它动作灵敏、响应速度高、输入/输出端间的绝缘(耐压)等级高;由于输入端的负载是发光二极管,这

51、使固态继电器的输入端很容易做到与输入信号电平相匹配,在使用可直接与计算机输出接口相接,即受“1”与“0”的逻辑电平控制。触发电路的功能是产生合乎要求的触发信号,驱动开关电路工作,但由于开关电路在不加特殊控制电路时,将产生射频干扰并以高次谐波或尖峰等污染电网,为此特设“过零控制电路”。所谓“过零”是指,当加入控制信号,交流电压过零时,固态继电器即为通态;而当断开控制信号后,固态继电器要等待交流电的正半周与负半周的交界点(零电位)时,固态继电器才为断态。这种设计能防止高次谐波的干扰和对电网的污染。吸收电路是为防止从电源中传来的尖峰、浪涌(电压)对开关器件双向可控硅管的冲击和干扰(甚至误动作)而设计

52、的,一般是用“r-c”串联吸收电路或非线性电阻(压敏电阻器)。其内部结构图如图 3.9 所示。湖南工业大学专科毕业设计(论文) 19图 3.9 继电器内部结构图3.4.2 固态继电器 ssr 的特点(1)ssr 成功地实现了弱信号(vsr)对强电(输出端负载电压)的控制。由于光耦合器的应用,使控制信号所需的功率极低(约十余毫瓦就可正常工作),而且 vsr 所需的工作电平与 ttl、htl、cmos 等常用集成电路兼容,可以实现直接联接。(2)ssr 由于是全固态电子元件组成,与 mer 相比,它没有任何可动的机械部件,工作中也没有任何机械动作;ssr 由电路的工作状态变换实现“通”和“断”的开

53、关功能,没有电接触点,所以它有一系列 mer 不具备的优点,即工作高可靠、长寿命(有资料表明 ssr 的开关次数可达 108-109 次,比一般的 mer 器件高几百倍),无动作噪声;耐振耐机械冲击,安装位置无限制,很容易用绝缘防水材料灌封做成全密封形式,而且具有良好的防潮防霉防腐性能,在防爆和防止臭氧污染方面的性能也极佳。(3)交流型 ssr 由于采用过零触发技术,因而可以使 ssr 安全地用在计算机输出接口上,不必为在接口上采用 mer 而产生的一系列对计算机的干扰而烦恼。(4)ssr 能承受在数值上可达额定电流十倍左右的浪涌电流的特点。湖南工业大学专科毕业设计(论文) 203.4.3 继

54、电器控制电路图下图是一个控制电阻丝加热的电路图,单片机输出控制继电器的开合并进行通讯,当继电器的开关闭合时,晶闸管的门极触发电路导通,即晶闸管导通,220v 的交流电压直接加在加热装置上进行全加热,其电路图如图 3.10 所示。图 3.10 继电器控制模块及加热装置3.5 显示模块用单片机驱动 led 数码管有很多方法,按显示方式分,有静态显示和动态(扫描)显示,按译码方式可分硬件译码和软件译码之分。静态显示数据稳定,使用的硬件较多。动态显示需要 cpu 时刻对显示器件进行数据刷新,显示数据有闪烁感,占用的 cpu 时间多。这两种显示方式各有利弊:静态显示虽然数据稳定,占用很少的 cpu 时间

55、,但每个显示单元都需要单独的显示驱动电路,动态显示虽然有闪烁感,占用的 cpu 时间多,但使用的硬件少,能节省线路板空间。使用单片机系统串行输出,利用其串/并转换功能,送入数码管显示。基本的半导体数码管是有 7 个条状发光二极芯片排列而成的,也称为七段数码显示器,可实现 09、af 以及 h、p 的显示。从各发光电极连接方式分为共阳极和共阴极两种。共阳极是指笔画显示器各段发光管的阳极(即 p 区)是公共的,而阴极互相隔离。共阴极型是笔画显示器各段发光管的阴极(即 n 区)是公共的,而阳极是互相隔离的,共阴极 led 数码管的 ag 及小数点位 dp 八个发光湖南工业大学专科毕业设计(论文) 2

56、1二极管加阳极加高电平(“1” )发亮,加低电平(“0” )发暗,而共阳极的led 的数码管的 a 及小数点位 dp 八个发光二极管正好相反本电路采用共阳极数码管 lg5641a 进行动态显示,lg5641a 具有四位数码管,这四个数码管的段选 a、b、c、d、e、f、g 分别接在一起,每一个都拥有一个共阳的位选端,通过动态显示可轮流显示设置温度与测量温度,这有利于节省 i/o 口。用 p2.0p2.7 口作为位选控制,p0.0p0.7 口传输要显示的数据,数据线和位选线直接接 at89c51 单片机的 i/o 口即可,因为 i/o 口输出电流很小并且加上了上拉电阻,这样可以对 led 进行驱

57、动,它的电压值足以驱动led。本设计就是采用动态显示电路,其电路图如图 3.11 所示。 (1)实时温度显示 (2)预设温度显示 湖南工业大学专科毕业设计(论文) 22(3)显示电路连接图 3.11 动态显示电路湖南工业大学专科毕业设计(论文) 23第 4 章 恒温控制系统软件设计对单片机控制的软件设计是系统设计任务中的重点和难点。因此,本章在建立系统各部分软件流程的基础上,设计了各部分的软件控制流程。由于系统的操作过程和工作过程在程序设计的过程中起着很重要的指导作用,因此在软件设计之前应分析加热炉的工作流程。4.1 工作流程当上电复位后电阻丝先处于停止加热状态,但也可以直接启动运行。运行过程

58、中,系统不断检测当前温度,并送往显示器显示,达到预定值后停止加热;当温度下降到下限(比预定值低 5)时再启动加热。这样不断地重复上述过程,使温度保持在预定温度范围之内。运行过程中也可以随时改变设定温度,温度设定好后随即生效,系统按新的设定温度运行。4.2 程序模块系统软件由主程序、键盘输入子程序、设定温度子程序、温度检测子程序、温度控制子程序和显示子程序组成。4.2.1 主程序主程序完成系统的初始化,调用温度模块程序,对其预置值及其合法性进行检查,预置温度的显示,调用键盘扫描模块等。若正常执行完三个子程序,则返回初始化进入到其它的状态,主程序的流程图如图 4.1 所示。 开 中 断调用温度传感

59、器数据采集子程序调用键盘扫描处理子程序调用显示子程序关 中 断开 始初 始 化图4.1 主程序流程图湖南工业大学专科毕业设计(论文) 244.2.2 温度传感器驱动子程序根据 ds18b20 的通讯协议,单片机控制 ds18b20 完成温度转换必须经过三个步骤:每次读写之前都要对 ds18b20 进行复位,复位成功后再发送一条 rom指令,最后发送 ram 指令,这样才能对 ds18b20 进行预定的操作。复位要求单片机将数据线下拉 500us,然后释放,ds18b20 收到信号后等待 1660us 左右,再发出 60240us 的存在低脉冲,cpu 收到此信号表示复位成功。本系统对 ds18

60、b20 的操作分为 3 个步骤:初始化、rom 命令和 ds18b20 功能命令。单片机要与 ds18b20 通信,首先必须完成初始化:单片机产生复位信号,ds18b20 返回响应脉冲。rom 命令完成单片机与总线上的某一 ds18b20 建立联系,有搜寻 rom、读rom、匹配 rom、忽略 rom、报警查找等命令。这里,单片机只连接 1 个ds18b20,因此只使用读 rom 命令来读取 ds18b20 的 48 位 id 号。ds18b20 功能命令在该步骤中完成温度转换、写暂存寄存器、读暂存寄存器、拷贝暂存寄存器、装载暂存器寄存器、读供电模式命令16。本系统不用温度报警功能,因此在本步

温馨提示

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

评论

0/150

提交评论