资源描述
河北科技师范学院
本科毕业设计
温度可控式电热洗脚盆的温控电路设计
院(系、部)名 称 : 机电科学与工程系
专 业 名 称: 电子信息工程
学 生 姓 名: 李雪松
学 生 学 号: 9312110111
指 导 教 师: 王宽
2015年5月20日
河北科技师范学院教务处制
学 术 声 明
本人呈交的学位论文,是在导师的指导下,独立进行研究工作所取得的成果,所有数据、图片资料真实可靠。尽我所知,除文中已经注明引用的内容外,本学位论文的研究成果不包含他人享有著作权的内容。对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确的方式标明。本学位论文的知识产权归属于河北科技师范学院。
本人签名: 日期:
指导教师签名: 日期:
摘 要
摘要
在社会的发展之中,人们对于温度的控制变得越来重要。人们的日常生活中都离不开温度这个重要的参数。本课题利用DS18B20作为温度传感器,单片机作为控制电路,LM016L作为显示电路,继电器电路作为加热电路的电热洗脚盆的控温电路设计。
DS18B20是目前比较常用的一种温度传感器,它的测量范围可达到-55°~125°,当温度范围在此范围内时,误差最低可以达到0.0625°,在本设计中的误差为1°。DS18B20的特点有很多,最主要的几点是精度高、方便安全、占用资源少、实用、操作简单这几点。所以备受开发者的青睐。
本设计中,在单片机复位后开始正常工作,以DS18B20作为温度传感器,测量脚盆内的水温,然后将温度信号变换成数字信号传送给单片机,单片机进行数据的整合处理,再将所处理的信号通过显示电路显示出来。在温度传感器测量的时,加热电路会随着水温的变化而改变是否进入加热状态。本设计有着可控温、简单易懂、测量误差小等优点,可以实现基本的温度控制。
关键词:温度测量;DS18B20;控温电路
Abstract
In the development of society, people become more and more important for the temperature control. People's daily life all cannot do without the temperature of this important parameter. This topic uses DS18B20 as temperature sensor, micro controller as the control circuit, lm016l as display circuit relay circuit as a heating circuit of the electric heating foot washing basin temperature control circuit design.
DS18B20 is the more commonly used a kind of temperature sensor and its measuring range can reach - 55 to 7.3 degrees, when the temperature range within this range, the lowest error can reach 0.0625 and error in the design is 1 degree. There are many features of DS18B20, what is the single most is high precision, convenient and safe. Take less resources, practical, simple operation of these points. So the developer's favor.
In this design, after the MCU reset, with DS18B20 as the temperature sensor, the temperature inside the measuring tub, and then communicate a telecommunication signal to the micro controller, micro controller for data processing, telecommunications, changes into a digital signal convey to the display circuit to display. In the temperature sensor, the heating circuit will change with temperature change is in the heating state. This design has the advantages of controllable temperature, simple, small measuring error, can achieve the basic temperature control.
Keywords:Temperature measurement;DS18B20; Temperature control circuit
II
目 录
目 录
摘要................................................................................................................................I
Abstract.......................................................................................................................II
1绪论 1
1.1课题背景及研究意义 1
1.2国内发展及现状 1
1.3课题的技术指标 2
1.4课题研究内容 2
2 总体设计 3
2.1系统的方案选择 3
2.2系统的设计思路 3
2.3系统的组成部分 3
3 系统硬件设计 5
3.1 单片机核心控制电路 5
3.1.1 单片机的主要特性 5
3.1.2 单片机的管脚图 6
3.1.3 单片机的中断系统与定时计数器 7
3.1.4 单片机的晶振时钟电路 8
3.2 显示电路 8
3.2.1 液晶模块 8
3.2.2 液晶模块与89C52的接口 10
3.3 温控电路 10
3.3.1 温度传感器 10
3.3.2 温度传感器的功能特点 10
3.3.3 温度传感器的数据参数 12
3.3.4 温度传感器使用的注意事项 12
3.3.5 温度传感器与单片机的接口电路 13
3.4 按键电路 14
3.5 加热电路 15
4 系统软件设计 16
4.1主程序设计 16
4.2 DS18B20初始化流程图 17
4.3数据测试 18
4.4仿真结果 18
结论 20
参考文献 20
致谢 21
附录A 22
附录B 23
26
河北科技师范学院2015届毕业设计
1 绪论
1.1 课题背景及研究意义
或许在远古的时代,就不存在洗脚盆。在那个时代,人类的思维简单,没有过多的想法。只是每天日出而作日入而息,在为自己的生存而烦恼,在为自己和家人的饥饿而奔波。并没有在洗脚的问题上花心思,简单的思考,简单的生活。日复一日。
而随着时代的发展与变迁,百年千年之后,人们开始不单单的只是为了吃饭的问题而去过多的忧虑、思考。那时候温饱已经不是让人类生存下去的最大问题。因此同时,在一天的劳累之后。为了要解决美与脚臭的问题,所以,人们会在河边去洗脚。因为那个时候有的人在河边住,有的或许离河边比较远,所以为了解决洗脚的问题,就会用一个工具去装载一些水在一个容器里,并容器里进行洗脚。洗脚成为了一个普遍的现象。但是由于冬天的时候非常冷,水的温度并不适合人类去洗脚,冰冷的河水不会让洗脚变成舒适与美的体验,反而成为了一种负担,所以冬天洗脚就成为一个很大的麻烦。随着火种的到来,人们开始用火去烧或者煮一些食物,随之而来的就是烧水洗脚,因此热水是现代人们解决洗脚问题的关键。洗脚不是富人的权利,平民百姓一样可以享受。在当代,人们对于洗脚的要求是非常高的。从一开始的无水洗脚,到冷水,到热水,到现在的人们需要让水的温度保持在一个恒定温度。从而提高舒适度,让人们能够越来越会享受生活。
1.2 国内发展及现状
中医学认为,人体五脏六腑在脚上都有相应的穴位。脚部是足三阴经的起始点,又是足三阳经的终止点,踝关节以下就有60多个映射区。经常用温水洗脚,能刺激足部穴位,增强血液运行,调整脏腑,疏通经络,从而达到强身健体、祛病除邪的目的。洗脚时尽量避免用碱性强的肥皂洗脚,以免去脂过多,使皮肤干裂。因为洗脚的好处很多,所以也越来越多的人开始使用洗脚盆。然而在古代的时候大家都知道洗脚的好处很多,但是在洗脚盆的选择上穷人与富人是有一定的差距的。上古时代,洗脚盆都是石头做的,但是随着石器时代的结束,陶瓷时代的开始。一些高档的陶瓷洗脚盆在富人家出现的频率也就越来越高。但是瓷器虽然好看华丽,装饰精美,但是在舒适度上却并不比石器的脚盆好很多。反而穷人由于没有多余的资金用来享受生活,选择用木制的盆子用来洗脚。虽然穷人用的是木盆,但是穷人的木盆在装水以后,水温的保持程度是比其他陶瓷或者石器类工具要好的很多,所以在古代越来越多的人选择了木盆。从而木盆在古代是最常用以及最常见的洗脚工具。
此后,随着时代的变迁,人类进入铁器时代,金属的开发使一些人开始使用铁盆,铜盆等等,甚至一些官宦人家还在用金盆银盆等等。由于铁器时代的到来,所以在脚盆上的等级开始出现了进一步的分化,而这种情况在中国古代存在了几百年的时间。
于此同时也流传下一句话,金盆洗手,意思就是,意味深长,说明了,以前做的再好的事,现在也不做了。此后时代的推移,洗脚盆的发展再次上演。出现了塑料盆,铝制盆等等。而其中塑料脚盆的好处,进入的冷水凉的慢,有助于长时间的泡脚。并且还有成本低廉饿特点,坏了一个可以再换一个。虽然塑料的洗脚盆的好处有很多,但是一些现代人还是也会寻求古代的味道,选择用木制的脚盆。但是,无论是用木制盆,还是塑料盆,最终的目的都是让自己干净,健康,能在工作之余在家中端上一盆热气腾腾的洗脚水。舒舒服服的泡脚。可是各式各样的变化却也改变不了洗脚盆的几点尴尬之处。
第一、在洗脚的过程之中温度需要自己调试,有时候不能调制成自己想要的温度。第二、不能持续恒温。在洗脚的过程中最尴尬的莫过于水凉了,脚没泡好。因此,在现代的电子产品之中,对恒温可调的电路是越来越注重的。并且在升级产品之中,人们不单单开始对温度有了一定的要求,而且还有按摩脚底、振动、臭氧杀菌等一系列功能。在本课题中主要提及的是对洗脚盆的控温电路的设计。
1.3课题的技术指标
本课题是电热洗脚盆的控温电路设计,主要是利用单片机最为核心控制元件,在加上DS18B20作为温度传感器,以LM016L液晶显示屏作为显示的整体思路。
主要指标如下:
1. 温度的控制基本范围0℃—100℃。
2. 精度误差小于0.5℃。
3. LM016L液晶显示,实时读取温度数据,
4. 可以设定初始温度并调节。
5. 继电器控制加热。
6. 实现恒温的控制。
1.4课题研究内容
本文设计的温度控制电路,是以温度传感器为测试电路,以单片机控制的总体思路。并且在初始时可以设置一个初始的温度,并可以在中途暂停,继续调节。在设置初始温度后由于存在1°的误差,因此在实际的操纵中是以1°为界限的误差来进行加热或停止加热的调节,最终通过显示电路显示结果。
课题中主要是通过温度传感器测量并控制电热洗脚盆中水温,然后通过单片机进行显示的电路设计。在设计中主要包括温度收集采样,温度显示,初始温度的调节等。
2 总体设计
2.1 方案的选择
本课题研究的洗脚盆的控温电路的设计,以控温为主,显示为辅,通过DS18B20温度传感器测量水盆中的温度,再通过单片机进行数据的读写,最后经过显示屏把数值显示出来。
本课题的温度采集是用DS18B20温度传感器,在误差精度、兼容性上都强于其它类型的元器件,是目前做常用的温度传感器。
而当采用热电偶温差电路测温时,温度检测部分可以使用低高两种热电偶焊接在一起的金属导线所组成,热电偶产生的热电势由两种金属的接触电势和单一导体的温差电势组成。[1]
由此可知,相对于热电偶的温差电路测温DS18B2更加适合于该项目的整体简易化的主题。而且DS18B2此元件的的线性特征非常良好。稳定性较强,测温范围为0℃-100℃,且在此范围进行测温时,温度偏差小于1℃,这在该项目上的优势性就会更加的明显。并且DS18B20的最大优势是在于它与单片机的连接方式是单线的数据传输,这样减少了与单片机的连接线路,而且在温度系统的结构中是非常简单的,安全系数高。简单易操作,体积也很小。并且在系统的编程之中,可读写的性能也是非常流畅,利于我们在控制的过程中进行调节。在外围的元器件连接上也是十分的方便,这就让DS18B2比较与热电偶温差电路测温电路更加适合于洗脚盆的控温电路设计。
系统通过52单片机对于温度的控制,以及DS18B20对温度的检测,LM016L显示某块进行显示。能够设置初始温度,以保证能够对电热洗脚盆进行控温保证。可以在恒温方面能有一个很好的保障。
2.2 系统设计思路
先设置一个初始温度,然后通过温度传感器DS18B20读实时取被测水温,然后将温度转换成数字信号传送给单片机进行到整合处理,最终显示在LM016L显示器上读取数据。当温度低于初始设置温度1℃时,加热电路开始加热。高于初始设置温度1℃时,停止加热。所设置的温度都会在显示屏上进行读数。
2.3 系统组成部分
系统框图主要由52单片机核心控制器、LM016L显示电路、DS18B20测温电路、温度设置、继电器加热电路、按键电路组成。系统框图如图1所示。
220V交流 电源电路
单 显示电路 显示设定温度
和当前温度
当前水温 温度采集电路 片
控制电路 控制加热器
按键设定 预设初始温度 机 是否加热
图1 系统框图
1. 核心控制器
主要控制器是以单片机为核心的控制器,优势是在于便于利于读写,速度快。而且所需的条件低,只需要一个5V电压就可以进行正常的工作。
2. 显示电路
用LM016L与单片机的P2口连接,通过排线的形式相连接,在温度控制的时候通过单片机对数据的采集与转码,最后在LM016L显示器上显示温度结果。该显示器的缺点在于对于单片机的接口的使用率非常高。需要与P2的8个口相连,但是显示出的数据速度快,显示也是非常的清晰。
3. 测温电路
DS18B20温度传感器是目前世界上比较常用的一种,检测速度快,误差小,兼容性好便于单片机处理及控制的特点备受广大开发者的青睐。在0—100 摄氏度时,最大线形偏差小于1 摄氏度,采用单总线的数据传输,可直接与计算机连接。[2]
4.加热电路
温度的加热采用的是继电器控制电热丝的加热,由一个220V的电源与一个开关、电热丝相连接。初始设置为开关闭合的状态。可以通过P1.1管脚的高低电平状态去控制。
5. 按键电路
按键电路主要分为可调初始加热状态、按键电路两种形式。在后文中会对两种电路的具体情况做详细的介绍。
3 系统硬件设计
3.1 单片机核心控制电路
单片机从开始的发展到现在的开发使用是经历了很大的波折,现在我们经常使用的单片机都不是原来公司生产的。并且在历史上,单片机的历史高峰并不是在创世公司。现如今的单片机的兼容指令等都是与其内部结构是一致的。
89C52有40个引脚,4个8位并行I/O口,1个全双工异步串行口,同时内含5个中断源,2个优先级,2个16位定时/计数器。[4]89C52的存储器系统由8K的程序存储器,和128B的数据存储器(RAM)组成。
89C52单片机的基本组成框图见图2。
图2 89C52单片机结构
由图3-1可知,8051单片机主要的组成部分是:
1. CPU、时钟电路、复位电路、总线控制逻辑。
2.存储器系统、4K字节的程序存储器、128字节的数据存储器、特殊功能寄存器SFR。
3. I/O口和其他功能单元、4个并行I/O口、2个16位定时计数器、1个全双工异步串行口、中断系统。
3.1.1 单片机的主要特性
在单片机之中包含了一个8位的微型处理器,在存放程序和表格的处理上都可以进行快速解决。在读写程序的时候可以用1L的RAM进行显示。
单片机的的ROM存储器可以用来存储一些必要的程序数据、表格等等。拥有ROM储存器的设备可以方便用户的使用。对于没有ROM单片机在抗干扰上是非常有优势。还有一些其它公司推出的单片机有Flash存储器,这些都由用户进行选择的。
单片机在4个接口之中不单单可以用来进行输入,也可以用来作为输出,所以在读写上是非常方便的。在穿行通信的方面,52单片机会比51单片机要好的多,会有三个16位定时器/计数器。
在中断控制的控制上,目前的单片机的中断源大致都在5个左右。但是一些好一点的单片机会比5个多一点,甚至有的会达到9个。在单片机内部的硬件设置,例如振荡器和时钟电路也是有很大的不同。有些的振荡频率为12MHz。而有的单片机在震荡的频率上得到了很大的提升,有的可以达到40MHz左右。这样的的频率就可以提高单片机的读写以及执行速度。
3.1.2 单片机的管脚图
89C52单片机管脚图如图3所示。
图3 89C52单片机管脚图
部分引脚说明:
1.时钟电路引脚XTAL1 和XTAL2:
XTAL2(18 脚):接外部晶体和微调电容的一端;主要是在内部稳定震荡电路以及反相放大器的固有频率。若需采用外部时钟电路时,该引脚输入的是外部时钟脉冲。
在检查的单片机中振荡电路是否正常工作时,可以用示波器进行观察。
XTAL1(19 脚):接外部晶体和微调电容的另一端;它的主要功能是振荡电路的输入,在测量是否正常工作的时候也可以用示波器进行观察。在采用外部时钟时,该引脚必须接地。
2.控制信号引脚RST,ALE,PSEN 和EA:
RRST/VPD(9 脚):RST 是复位信号输入端,高电平有效。该引脚的主要是由RST脚的高低电平来控制整体的复位情况。复位的方式主要有两种,一种是上电复位,另一种是按键复位电路。他们的相同点就是高电平有效。并且在复位的时候,原有的信息在RAM之中不丢失。不同之处在于一个需要手动复位,一个需要断电复位。而且每次在单片机的运行之中,必须先复位,再运行。
PSEN(29 脚):该管脚的主要功能是让存储进行输入。在单片机的运行过程中,需要一个点位对单片机进行供电,而在单片机的运行过程中,在PSEN管脚之中,程序存储允许输出信号端。且当29管脚为高电平时,单片机是不能正常进行工作的。所以在单片机中,如果其他管脚都正常工作,就可以测量该管脚是否是低电平输入。如果有低电平,就可以说明单片机已经正常工作。
3. 输入/输出端口P1/P2/P3:
P1口(P1.0~P1.7,1~8 脚):P1口需要与8个上拉电阻相连接,才能正常工作。当P1进行输入的时候,上拉电阻可以将P1口变成高电平,以便于P1口的正常工作。
P2口(P2.0~P2.7,21~28 脚):P2口也是需要8个上拉电阻于其相连接,驱动是可以带动4个负载。当在写入的时候,需要将P2口改成低电平才有效。
P3口(P3.0~P3.7,10~17 脚):P3口与P1、P2口不一样,并不需要上拉电阻与其相连接,因为P3口内是自带8个上拉电阻。并且在带动负载能力上也要比其他的接口好的多,最多可以驱动4个负载。并且P3口还有这第二功能。
P3.0:(RXD)串行数据接收。
P3.1:(RXD)串行数据发送。
P3.2:(INT0#)外部中断0输入。
P3.3:(INT1#)外部中断1输入。
P3.4:(T0)定时/计数器0的外部计数输入。
P3.5:(T1)定时/计数器1的外部计数输入。
P3.6:(WR#)外部数据存储器写。
P3.7:(RD#)外部数据存储器读。
3.1.3 单片机的中断系统与定时计数器
52单片机的中断源,一共是有5个,但是有两个中断源是优先级别的。并且在单片机中,中断的方式有很多种,但是常用的就是低电平中断系统。在总体的中断之中,优先级别允许中断IE寄存器,并在同一级别的中断之中优先级别高于非优先级别。中断也有自己的逻辑性,一定是按照内部的逻辑顺序进行依次的响应。在单片机的系统之中,经常会对相应的变量进行控制。
例如时间、输出量、温度等。89C52单片机内集成有两个可编程的定时/计数器:T0和T1,它们既可以工作于定时模式,也可以工作于外部事件计数模式,此外,T1还可以作为串行口的波特率发生器。[6]
3.1.4 单片机的晶振时钟电路
在单片机中,复位电路,时钟电路与单片机是单片机的最小系统。当着三种电路存在的时候,单片机才能正常工作。与此同时晶振时钟电路组成部分如图4所示,它包括了一个X1晶振体,两个30PF的电容,通过充放电的模式来实现时钟震荡。
图4 晶振时钟电路
3.2 显示电路
在单片机的显示电路中用的比较多的就是两种,一种是晶体数码管,一种就是LM016L液晶显示器。这两种显示器在优缺点上各有优势,在本课题上主要的用的就是液晶LM016L显示器。
液晶的显示设备顾名思义就是平面的显示设备,它是有一定数量的黑白或者是黑白像素组成。它的优点在于占用资源比较少,而且利用率高,在工程或者是在一般的电路中都是非常常见的,倍受工程师的青睐。在亮度信号上,液晶显示器的消耗小也是最大的亮点,在供电时,可以连接一个滑动变阻器,来调节显示器的亮度。根据自己所需要的来调节,简单易操。在分类上面,在仿真上主要的显示器就分为LM016L与七段数码管两种。在显示数据上面,LM016L虽然相对于七段晶体数码管它没有彩色效果,色彩颜色比较单调,显示大小上面也是有非常大的不同。但是总体上,对于本课题的研究LM016L显示器是最佳的选择。
3.2.1 液晶模块
LM016L的结构及功能:
LM016L液晶模块是本课题选择的显示器,在功能上可以实现一些简单的指令,例如时间的显示,温度的显示,等等都可以做到实时显示与改变,在读取数据的速度上是非常的快速的。可以快速反应并显示出所读取的数据,延迟性低。在地址数据的读取上,也要快于其他的液晶模块。在液晶模块之中CGRAM模块的主要目的是编写特殊字符,虽然它的存储空间很小只有60个字节。有时可以自定义一定数量的字节。
LM016L液晶模块的引脚图如图5所示。
图5 LM016L引脚图
LM016L引脚介绍:
VSS(1脚):接地。
VDD(2脚):接电源。
VEE(3脚):用一个滑动变阻器来调节显示器的对比度。通过上下的调节,来调整液晶显示模块的电压,可以根据开发者的意愿去调节。
RS(4脚):RS作为寄存器选择的管脚。在高低电平的时候是选择不同的寄存器,低电平时选择指令寄存器,高电平时选择数据寄存器。
R/W(5脚):进行高地电平的读写功能,在高电平时进行读的操作指令,当低电平的时候进行写的指令。
E(6脚):是一个低电平的输出点可以当做一个下降沿使用。
DB0(7脚):底4位三态、 双向数据总线 0位。
DB1(8脚):底4位三态、 双向数据总线 1位。
DB2(9脚):底4位三态、 双向数据总线 2位。
DB3(10脚):底4位三态、 双向数据总线 3位。
DB4(11脚):高4位三态、 双向数据总线 4位。
DB5(12脚):高4位三态、 双向数据总线 5位。
DB6(13脚):高4位三态、 双向数据总线 6位。
DB7(14脚):高4位三态、 双向数据总线 7位。
寄存器选择控制如表1。
表1寄存器选择控制
RS
R/W
操作说明
0
0
写入指令寄存器(清除屏等)
0
1
读busy flag(DB7),以及读取位址计数器(DB0~DB6)值
1
0
写入数据寄存器(显示各字型等)
1
1
从数据寄存器读取数据
3.2.2 液晶模块与89C52的接口
LM016L液晶模块与89C52的接口如图6所示。LM016L的D0~D7口分别于单片机的P2.0~P2.7相连。4、5、6管教分别于P3.0、P3.1、P3.2链接,以便于对该模块中的显示区运送字符,以便实时观察被控温度的变化。该课题有两串显示字符,分别是温度初始设定温度数值,另一组是加热中的水温变化数值。两个数值通过不同的时间向显示缓冲区进行传送,大约延时3ms,以便于单片机的读取与显示。先显示初始设置温度,再显示被测水温温度。
图6 液晶与89C52的接口
3.3 控温电路
3.3.1 温度传感器
DS18B20作为现在最为实用的一款温度传感器,它的优点在于测量范围大,温度感应灵敏,体积小、适用的范围广、经济实惠更安全。它的测量的范围是-55℃~+125℃。当测量范围为0℃~到100℃时,可以把测量的精度确定在0.5℃。在与单片机引脚的处理上采用的是一线三分的连线模式。并且这种传感器是一种新型的一线器件,这样可以节约单片机的串口。DS18B20引脚如图7所示。
图7 DS18B20引脚图
3.3.2 温度传感器功能特点
DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s 减为750ms。[7]
DS18B20功能特点:
在连接的方式上面,采用的连接技术是单线连接,可以通过一根数据线连接DS18B20。
2. 在读取数据的时候,每个DS18B20都有一个单独的序列号。在读取数据的时候一旦连接多个器件,可以根据序列号去进行读取。
3. 在电源的供应上,所需的的是低压供电。在电源的选取上可以选择一个独立电源,或者是直接连接总的电源。然后通过滑动变阻器进行调节。
4. 总的测量范围是-55℃~+125℃,当测控范围是0℃~100℃范时,误差可降低到0.5℃。
DS18B20有2个主要的数据部件:
1.前面提及到每个元器件都有一个单独的序列号,这个就是元器件的地址序列码,读取的时候尤其是当一个单片机上负载多个元件的时候,就可以通过序列号去读取数据。序列号主要就是用来区分读写区域。
2. DS18B20温度传感器通过温度的测量以及单片机程序的设定,当初始温度设定时,根据温度的变化从而改变加热状态,即实现温度控制,让开发者可以实时掌控。
如图8所示DS18B20内部结构主要包括:存储器与控制逻辑电路,温度传感器,配置寄存机,高低问度触发器。存放中间数据的高速暂存器RAM,用于存储用户设定温度上下限值的TH和TL触发器,存储与控制逻辑,8位循环冗余校验码(CRC)发生器等7部分。[8]
图8 DS18B20内部结构
3.3.3 温度传感器的数据参数
温度的读取:
DS18B20在出厂时以配置为12位,读取温度时共读取16位,所以把后11位的2进制转化为10进制后在乘0.0625便为所测的温度,还需要判断正负。[9]读取数值的时候前5个数字代表的是符号位,当前5位为1时,读取的温度为负数反之就是正数。根据本项目的方案可知,主要测试的就是0~100℃,故复数不在考虑范围内。
DS18B20的初始化:
1. 先将数据线置高电平“1”。
2. 延时(可以根据开发者的需求来改变时间。)。
3. 数据线拉到低电平“0”。
4. 延时750微秒(时间的范围可以改变)。
5. 数据线拉到高电平“1”。
6. 延时等待(初始化一个数据,将元器件归到低电平,然后进行对电平数值的确认。当确认为低电平的时候,开始进行对温度的测量。但是在确认的过程之中,不能无限的循环,所以一定要测定好对确认时间的控制。防止死循环的发生。)
7. 当读取到低电平的时候,延时后开始执行对温度的测量。延时时间从开始算起。
8.将元器件的电位拉倒高电平,然后结束。
DS18B20的写操作:
1. 数据线先置低电平“0”。
2. 延时确定的时间为15微秒。
3. 每一次的自己发送都有自己的顺序,按从低位到高位的顺序位发送。
4. 延时时间为45微秒。
5. 将数据线拉到高电平。
6. 重复上(1)到(6)的操作直到所有的字节全部发送完为止。
3.3.4 温度传感器使用的注意事项
DS18B20的特点有很多,单是最主要的几点是精度高、方便安全。占用资源少、实用、操作简单这几点。但是在实际的操作中应该注意以下几点。
1. 从温度的测量可以得知,当进行温度测量,到显示的过程之中是需要一部分时间来运算整个过程。在整体流程中一定要注意运算时间,来保证测量的过程中不会出现死循环现象。
2. 对于电压的选择一定是在3~5V,并通过滑动变阻器进行调节。并且当电压不稳定的时候会导致测量的数据与实际数据有差别。所以在电压的选择上一定要用心。
3. 在对数据的处理以及传送的过程中,因为所有的元器件的程序都是最终通过单片机的读写后,再传送给显示电路进行显示。所以一定要有思维逻辑性,有严密的先后顺序,通过串行口的数据传输最终达到我们想要的结果,在读写的时候一定要按上述思维逻辑进行,否则会出现乱码、显示混乱、显示温度不准确等等。所以在对DS18B20的编辑上最好的语言方式是C语言。
4. 在上述的问题之中并没有提及到单线上的连接元件数量的问题。资料中提及挂很多的元器件这个描述并不准确。在实际的电路之中,单线的连接线路上最多的元器件数量是8个。而如果超过八个就要考虑驱动的问题。但是在本课题上只需要1个DS18B20元器件,所以不考虑驱动因素。
5. 在DS18B20测温程序设计中,在信号转换的过程之中是有一定延迟的,并且在命令传达之后,程序需要回复一个信号给DS18B20传感器。可是一旦某个DS18B20 接触不好或断线,当程序读该DS18B20 时,将没有返回信号,程序进入死循环,这点在进行DS18B20硬件连接和软件设计时也要给予一定的重视。[10]
3.3.5 温度传感器与单片机的接口电路
DS18B20的上电方式有很多,但是主要的就是分为两种。第一种供电方式可以是讲3管脚接在电源上面,而1管脚接GND。而2管脚,我们采用的是与单片机进行的单线连接,作为一个信号输出/输入串行口工作。
二是寄生电源供电方式如图9所示。VCC管脚直接与一个高电平和一个晶体振荡器相连,晶体振荡器是为了给内部的时钟电路提供充足电流。在该传感器进行读去温度数值的时候,必须有一个上拉电阻作为分压。然后是一线三分式。寄生电源的供电方时候必须是GND接地。
图9 DS18B20与单片机的接口电路
3.4 按键电路
本课题之中的按键电路分为两个部分。
1.设置水温初始温度的按键电路设置如图10所示。它的主要功能是设置初始温度值,把初始设置的作为洗脚盆的温度参考值。在图中可知,上面的按键为+初始温度,下面为减少初始温度。
图10 按键电路图
2.复位电路的按键设置如图11所示。它的主要功能是让单片机初始化。在复位电路之中主要分为两种,一种是上电复位电路,一种是按键复位电路。上电复位电路的特点是可以上电直接复位,方便快捷。但是缺点是,当电压不稳定的时候,会导致电路振荡,会出现持续初始化的现象。所以为了保持电路的稳定性,让控温电路能够持续并正常的运行,所以在本课题中选择的是按键电路。按键复位电路,虽然在方便程度上不如直接上电复位电路,但是在电路稳定性上可以通过按键的调节,在实现对单片机的控制,可以做到随按随停。
图11 按键复位电路
3.5加热电路
1. 在本课题中的加热电路如图12所示,是以继电器为核心的电路设计。电热丝与220V交流电压通过一个开关相连,开关左侧时一个与单片机相连接的继电器。继电器上端连接单片机,下端连接一个+5V的高电平。当水温低于初始设置温度时,单片机P1.1管脚处于高电平状态。因此继电器不能将开关弹片吸出,故电热丝处于加热状态。当被测水温高于初始设置温度值1℃时,继电器与单片机的管脚变为低电平,此时,继电器通电,吸出开关弹片。电热丝停止加热。从而实现了对温度是否加热的调节。
图12 加热电路图
4 系统软件设计
4.1 主程序设计
从软件的功能不同可分为两大类:一是监控软件(主程序),它是整个控制系统的核心,专门用来协调各执行模块和操作者的关系。
二是执行软件(子程序),它是用来完成各种实质性的功能如测量、计算、显示、通讯等。每一个执行软件也就是一个小的功能执行模块。[11]而在本课题中的主要的就是检测与控制,是以单片机为处理器,DS18B20为主的流程图程序见图13。
开始
初始化
调用子程序
否
水温是否超过初始温度?
读取水温并显示
是
调用加热程序
加热
是
否
水温是否超出界定温度?
停止加热
图 13 程序流程图
4.2 DS18B20初始化流程图
DS18B20初始化流程图见图14。
开始
寄存器初始化
加热
否
18B20存在?
是
温度转换
读取温度
温度数据处理
温度显示
否
温度超出?
是
停止加热
图 14 DS18B20初始化流程图
4.3 数据测试
将普通自来水放入装载加热器的器皿中,然后打开已经设计好的电路,进行初始的温度设置。因为本课题主要研究的是对洗脚盆的温度控制。所以初始温度设置为40~45℃之间,以保证人能适应在洗脚盆内水的温度。在电路运行的过程中,通过显示器可以实时观察水温的变化。当达到额定的45℃时,应该停
展开阅读全文