水温加热控制系统课件

上传人:我*** 文档编号:146137095 上传时间:2020-09-27 格式:PPT 页数:24 大小:850.50KB
返回 下载 相关 举报
水温加热控制系统课件_第1页
第1页 / 共24页
水温加热控制系统课件_第2页
第2页 / 共24页
水温加热控制系统课件_第3页
第3页 / 共24页
水温加热控制系统课件_第4页
第4页 / 共24页
水温加热控制系统课件_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《水温加热控制系统课件》由会员分享,可在线阅读,更多相关《水温加热控制系统课件(24页珍藏版)》请在金锄头文库上搜索。

1、本系统采用以单片机(Atmega16)为核心的定时控 制,实现水温从室温到100之间任意设定温度的 恒温控制,并能把实时温度和设定温度,实时时间 和设定时间显示出来。,项目任务,1.从键盘设定加热温度,启动系统; 2. 系统能显示规定的加热温度; 3. 系统能够检测到实时温度并同步显示。,基本要求,1.恒温控制系统的基本控制原理与系统构成 2.了解学习DS18B20的使用方法及其工作原 理,编程调试DS18B20。 3.键盘的基本应用知识,知识目标,根据项目基本要求,设计任务主要完成对壶内 的水温进行控制,在加热的过程当中对有关的数据进 行处理显示。所以我们采用了DS18B20温度传感器和BC

2、7281,采用DS18B20温度传感器是因为测 量精度高,能把测到的数据直接传送给单片机而不需 要传送装置,BC7281可以实现键盘控制.,项目的理解与设计,总体方案简图,Atmega16单片机,可控硅,BC7281,DS18b20,4,1,2,3,【Atmega16单片机】,(1) ATmega16的概述 ATmega16是基于增强的AVR RISC结构的低功耗8 位CMOS微控制器。ATmega16 AVR 内核具有丰富的指令集和32 个通用工作寄存器。 由于其先进的指令集以及单时钟周期指令执行时间,ATmega16 的数据吞吐率高达1 MIPS/MHz,从而可以减缓系统在功耗和处理速度之

3、间的矛盾。 所有的寄存器都直接与运算逻单元(ALU) 相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的CISC 微控制器最高至10 倍的数据吞吐率。,可控硅,(1)概述 可控硅是可控硅整流原件的简称,是一种具有3个PN结的四层结构的大功率半导体器件,一般由两晶闸管反向连接而成。 (2)可控硅的主要功用 1.可控整流 普通可控硅最基本的用途就是可控整流,大家熟悉的二极管可控整流电路,属于不可控整流电路。 2.无触电开关 可控硅一个关键用途在于无触点开关。在自动化设备当中,用无触点开关代替通用继电器已被逐步应用,其显著特点是,无噪音、寿

4、命长。,可控硅和其他半导体器件一样,有体积小、效率高、稳定性 好、工作可靠等优点。它的出现,使半导体技术从弱电领域 进入了强电领域,成为工业、农业。交通运输、军事科研以 至商业、民用电器等方面争相采用的元件。,可控硅的优点,【DS18B20温度传感器 】,1)DS18B20概述 DS18B20 是Dallas半导体公司推出的单线数字式测温芯片,它的体积小适用电压更宽。他能实现采集温度数据,并将数据直接转换 成数字量输出。 DS18B20的管脚排列如下:,(2)DS18B20的内部结构,DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄

5、存器。 1. 光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。 2. DS18B20中的温度传感器可完成对温度的测量,以12位转化为例,以16位符号扩展的二进制补码读数形式提供,以0.0625/LSB形式表达,其中S 为符号位。,这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值

6、需要取反加1再乘于0.0625即可得到实际温度。 3.DS18B20温度传感器的存储器 DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器TH、TL的结构寄存器。,.配置寄存器,低五位一直都是1,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置成0,(用户不要去改动)。R1和R0用来设置分辨率,如下表所示,(DS18B20出厂时被设置为12位),该字节各位的意义,完成温度转换及复位,根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必 须经过三个步骤:每一

7、次读写之前都要对DS18B20进行复位, 复位成功之后发送一条ROM指令,最后发送RAM指令,这样才 能对DS18B20进行预定操作。 复位要求主CPU将数据线下拉500微秒,然后释放, DS18B20收到信号后等待1660微秒左右,后发出60240微 秒的存在低脉冲,主CPU收到此信号表示复位成功。,程序,#include #include #include #includeBC7281.h #define port PORTA /定义A口为port #define ddrt DDRA /定义ddrt #define D0 0 x20 /定义D0 #define pin PINA / 定义P

8、IN unsigned int temprter;temprter1; /*/ /* 函数名称: init_1820() */ /* 功 能: 复位18B20 */ /* 参 数: 无 */ /* 返回值 : 无 */ /*/,void init_1820(void) ddrt|=D0; /设置端口输出 port|=D0;/输出一个脉冲 port /60240us ,void write_1820(unsigned char x) unsigned char m; for(m=0;m8;m+) port /结束写数据,置高总线 ,unsigned char read_1820(void) un

9、signed char temp=0,k,n; for(n=0;n8;n+) port /返回读出的数据 ,unsigned int Read_1820_temprter(void) unsigned int count; unsigned char temh,teml; init_1820(); /复位18b20 write_1820(0 xcc); /发出转换命令 write_1820(0 x44); delay_nus(400); init_1820(); delay_nus(400); write_1820(0 xcc); /发出读命令 write_1820(0 xbe); teml=

10、read_1820(); /读数据 temh=read_1820(); count=(temh*256+teml)*6.25; /计算具体温度 return count; /返回温度数据 ,void main(void) INT0_Init(); BC7281_init(); DDRB=0 xff; while(1) temprter=Read_1820_temprter();/读取温度 a=(temprter%10000)/1000; b=(temprter%10000)%1000)/100; c=(temprter%10000)%1000)%100)/10; d=(temprter%100

11、00)%1000)%100)%10; if(flag6=1) write7281(0 x15,(0 x00+(d ,temprter1=a*10+b; if(temprter1(zhi-4) PORTB=0 x00; if(temprter1(zhi-4) PORTB=0 xff; /*write7281(0 x15,(0 x70+shi); write7281(0 x15,(0 x60+ge);*/ ,遇到的问题,1.下不进程序以为芯片坏了,经过检查是芯片被锁,对芯片进行解锁。 2.在加热的过程中,开始水温总是达不到预定的值,当达到加热温度时水温还持续上升,对程序进行修改当检测温度比设置温度小于4度时停止加热。 3.硬件不牢,以为是软件问题,给调试带来不少麻烦. 4 .上层水温和下层水温差最高可达20多度,靠近水面的水温较高且加热时水上层水温上升,找到合适的测温位置,5.在调试18B20过程中没有对芯片 6.在使用可控硅的过程当中,通上电以后在壶的两端测不到电压,检查了线的接触,没有问题 7.在软件的调试过程当中,把几个程序合并时出现了I/O冲突、缓存器、中断入口地址冲突经过合理分配解决了冲突。,感谢您的关注,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号