课程设计报告.docx
《课程设计报告.docx》由会员分享,可在线阅读,更多相关《课程设计报告.docx(14页珍藏版)》请在冰豆网上搜索。
课程设计报告
课程设计报告
设计题目:
无线温度传输
院系:
物理与机电工程系
专业:
电子信息工程
无线温度采集
(一)题目要求
对一定温度进行多点的采样,经过无线模块nrf24l01进行数据的发送接收。
(二)本课题的目的
本设计温度采集,经过传感器和变送单元转换后成为一定形式的模拟量。
将这些量送入单片机,就必须进行A/D转换,将模拟量转变成为数字量。
温度芯片DS18B20是DALLAS公司推出的单线数字式测温芯片,它能在现场采集温度数据,并将温度数据直接转化成为数字量输出。
本课题采用单片机(STC89C52)来控制显示装置及可编程温度计,实时对温度进行采集,通过三片单片机的通讯,无线通讯。
●微巨型单片机,目前一推出运算速度1。
2亿次/秒,CPU字长32位,可运行64位浮点运算的;
●指令系统从复杂指令系统到简单指令系统过度
●单片机开发系统向多用户、C编译、在线实时开发方向发展
(三)智能温度传感器的发展趋势
现代信息技术的三大基础是信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)。
传感器属于信息技术的前沿尖端产品,尤其是温度传感器被广泛用于工农业生产、科学研究和生活等领域,数量高居各种传感器之首。
近百年来,温度传感器的发展大致经历了以下三个阶段;
(1)传统的分立式温度传感器(含敏感元件);
(2)模拟集成温度传感器/控制器;(3)智能温度传感器。
目前,国际上新型温度传感器正从模拟式向数字式、由集成化向智能化、网络化的方向发展。
智能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的。
它是微电子技术、计算机技术和自动测试技术(ATE)的结晶。
目前,国际上已开发出多种智能温度传感器系列产品。
智能温度传感器内部都包含温度传感器、A/D转换器、信号处理器、存储器(或寄存器)和接口电路。
有的产品还带多路选择器、中央控制器(cpu)、随机存取存储器(RAM)和只读存储器(ROM)。
智能温度传感器的特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU);并且它是在硬件的基础上通过软件来实现测试功能的,其智能化程度也取决于软件的开发水平。
进入21世纪后,智能温度传感器正朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展。
在20世纪90年代中期最早推出的智能温度传感器,采用的是8位A/D转换器,其测温精度较低,分辨力只能达到1°C。
目前,国外已相继推出多种高精度、高分辨力的智能温度传感器,所用的是9~12位A/D转换器,分辨力一般可达0.5~0.0625°C。
由美国DALLAS半导体公司新研制的DS1624型高分辨力智能温度传感器,能输出13位二进制数据,其分辨力高达0.03125°C,测温精度为±0.2°C。
为了提高多通道智能温度传感器的转换速率,也有的芯片采用高速逐次逼近式A/D转换器。
以AD7817型5通道智能温度传感器为例,它对本地传感器、每一路远程传感器的转换时间分别仅为27us、9us。
目前,智能温度传感器的总线技术也实现了标准化、规范化,所采用的总线主要有单线(1-Wire)总线、I2C总线、SMBus总线和spI总线。
温度传感器作为从机可通过专用总线接口与主机进行通信。
单片系统(SystemOnChip)是21世纪一项高新科技产品。
它是在芯片上集成一个系统或子系统,其集成度将高达108~109元件/片,这将给IC产业及IC应用带来划时代的进步。
半导体工业协会(SIA)对单片系统集成所作的预测见表1。
目前,国际上一些著名的IC厂家已开始研制单片测温系统,相信在不久的将来即可面市。
方法论证与比较
(一)测量温度的方式
1.一种低成本的利用单片机多余I/O口实现的温度检测电路
(1)从电容的电压公式:
………………………..(公式2-1)
可以得到:
T1/RK=T2/RT,即RT=T2×RK/T1
通过单片机计算得到热敏电阻RT的阻值。
并通过查表法可以得到温度值。
该测温电路的误差来源于这几个方面:
单片机的定时器精度,RK电阻的精度,热敏电阻RT的精度。
因此,适当选取热敏电阻和精密电阻的精度,单片机的工作频率够高,就可以得到较好的测温精度。
2.DS18B20是单总线可编程温度芯片,主要应用于温度调节装置的控制,工业系统、消费者产品、温度计。
独特的1线TM接口只需要一个端口管脚用来通信,信息通过一线接口被送到/来自DS18B20,所以中央处理器和DS18B20通过一线接口来进行通讯。
读写及进行温度转变所需电源可直接来源于数据线本身而不需要外接电源,且仅有3个管脚使硬件电路比较简单。
本设计采用一线温度芯片DS18B20来做温度的测量。
对所采集到的温度经过单片机stc89c51的驱动由无线模块nrf24l01进行传送与接收。
无线模块nrf24l01
一、产品特性
2.4GHz全球开放ISM频段,最大0dBm发射功率,免许可证使用。
支持六路通道的数据接收。
低工作电压:
1.9~3.6V低电压工作。
高速率:
2Mbps,由于空中传输时间很短,极大的降低了无线传输中的碰撞现象(软件设置1Mbps或者2Mbps的空中传输速率)。
多频点:
125频点,满足多点通信和跳频通信需要。
超小型:
内置2.4GHz天线,体积小巧,15x29mm(包括天线)。
低功耗:
当工作在应答模式通信时,快速的空中传输及启动时间,极大的降低了电流消耗。
低应用成本:
NRF24L01集成了所有与RF协议相关的高速信号处理部分,比如:
自动重发丢失数据包和自动产生应答信号等,NRF24L01的SPI接口可以利用单片机的硬件SPI口连接或用单片机I/O口进行模拟,内部有FIFO可以与各种高低速微处理器接口,便于使用低成本单片机。
便于开发:
由于链路层完全集成在模块上,非常便于开发。
自动重发功能,自动检测和重发丢失的数据包,重发时间及重发次数可软件控制自动存储未收到应答信号的数据包。
自动应答功能,在收到有效数据后,模块自动发送应答信号,无须另行编程载波检测—固定频率检测。
内置硬件CRC检错和点对多点通信地址控制数据包传输错误计数器及载波检测功能可用于跳频设置。
可同时设置六路接收通道地址,可有选择性的打开接收通道。
标准插针Dip2.54MM间距接口,便于嵌入式应用。
系统设计概述
(一)整体设计思路
根据题目的要求,温度进行测量,由于TTL电平传输的距离是很有限的,所以要用到多机通讯。
经过仔细分析,充分考虑各种因素,确定了整体的设计方案:
以主单片机(stc89C52)为核心,由nrf24l01进行发送接收。
系统组成及原理框图下图所示。
以下分为硬件和软件两个方面进行具体分析。
(二)系统框图
DS18B20
图3-1系统框图
1.温度传感器采用DALLAS18B20。
2.单片机采用了ATMEL公司的STC89c52。
系统的硬件实现
(一)芯片简介
1.单总线可编程温度芯片(DS18B20)
DS18B20是可编程单总线温度传感器。
DALLAS最新单线数字温度传感器DS18B20简介新的“一线器件”体积更小、适用电压更宽、更经济Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持“一线总线”接口的温度传感器。
一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。
测量温度范围为-55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。
现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。
适合于恶劣环境的现场温度测量,如:
环境控制、设备或过程控制、测温类消费电子产品等。
与前一代产品不同,新的产品支持3V~5.5V的电压范围,使系统设计更灵活、方便。
而且新一代产品更便宜,体积更小。
DS18B20的管脚排列如图4-1:
图
图4-1DS18B20的管脚排列
a)功能特点
①单总线技术,与单片机通讯只要一根IO线;
②比较系列号可以在一根线上挂接多个DS18B20;
③电压供电范围从3V~5V,也可以直接从数据线上窃取电源;
④测温范围-550~1250摄氏度,在-100~850摄氏度范围内误差为±0.5度;
⑤数据位可编程9~12位,转换12位温度时间为750ms(最大);
⑥用户可自设定预警上下限温度;
⑦报警搜索命令可识别和寻址那个器件的温度至超出预定值。
STC89C5单片机结构特点:
STC89C52
STC89C52单片机简介
STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
具有以下标准功能:
8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口。
另外STC89X52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
最高运作频率35Mhz,6T/12T可选。
和atmel的对比
STC89C52RC单片机:
8K字节程序存储空间;
512字节数据存储空间;
内带4K字节EEPROM存储空间;
可直接使用串口下载;
AT89S52单片机:
8K字节程序存储空间;
256字节数据存储空间;
没有内带EEPROM存储空间;
图STC89C52
(二)具体硬件实现
1.单总线可编程温度芯片(DS18B20)
独特的1线TM接口只需要一个端口管脚用来通信,信息通过一线接口被送到/来自DS18B20,所以一线(和地面)需要连接一个中央处理器(STC89C52)和DS18B20。
读写及进行温度转变所需电源可直接来源于数据线本身而不需要外接电源。
DS18B20与单片机接口如图4-4所示。
图4-4DS18B20与单片机接口
NRF24L01模块的具体说明:
NRF24L01原理图
1)VCC脚接电压范围为1.9V~3.6V之间,不能在这个区间之外,超
过3.6V将会烧毁模块。
推荐电压3.3V左右。
(2)除电源VCC和接地端,其余脚都可以直接和普通的5V单片机IO口
直接相连,无需电平转换。
当然对3V左右的单片机更加适用了。
(3)硬件上面没有SPI的单片机也可以控制本模块,用普通单片机IO
口模拟SPI不需要单片机真正的串口介入,只需要普通的单片机IO口
就可以了,当然用串口也可以了。
单片机最小系统
图4-5单片机最小系统
系统的软件实现
(一)可编程温度芯片(DS18B20)
1.访问DS18B20的顺序如下:
a)初始化
b)ROM命令
c)DS18B20函数命令
d)处理数据
2.DS18B20常用命令
(1)初始化
一线总线上的所有处理由顺序初始化开始。
设定初值顺序由控制总线传输的重置脉冲(s)和随后从线传输的先导脉冲(s)组成的。
先导脉冲控制总线知道DS18B20是在总线上而且是准备操作。
(2)跳读只读存储器[CCh]
这个指令可以通过允许控制总线在不提供64位只读存储器码的情况下访问存储器功能从而在单支路总线系中节省时间。
如果超过一个从者在总线上出现并且一个阅读指令在跳读只读存储器指令之后执行,当多设备同时传送数据撞击将会在总线发生冲突.
(3)读笔记本[BEh]
该指令读笔记本的内容,将以读0字节开始,继续通读笔记本直至第九字节(8字节为CRC)读出。
如果不是所有的位都需读,控制总线可以随时执行一个复位指令来终止读取。
3.单片机与DA18B20通讯的程序流程图如图所示
图5-1单片机与DA18B20通讯的程序流程图
(二)双机通讯
单片机的串行口主要应用于通讯,如单片机和通用微机间的通讯,单片机之间的通讯,主从结构的分布式控制机间的通讯,一般的串行口通信都需要缓冲区。
单片机提供的串行口经过外加信号电平转换IC就可以实现常用的RS232接口;单片机的通讯也可以用串口连接来实现;串行口的双方都必须使用相同的波特率,相同的工作模式、相同的传输位数。
把通讯双方都设置成相同的工作方式和波特率,双方就可以进行通讯了。
使用串口方式1,10位异步通讯方式,传输的是10位:
1位起始位(0),8位数据位,1位停止位
(1),无奇偶校验。
由TXD发送,由RXD接收。
起始位和停止位在发送时是自动插入的。
使用9600波特率,用定时器1的溢出频率作为串口接收和发送的波特率发生器。
模式1,当定时器1作为波特率发生器时,波特率的计算公式:
波特率=2smod(定时器/计数器1溢出速率)/32…………(公式5-1)
两单片机之间通讯流程图如下:
主机流程图如图5-2
图5-2主机流程图
从机流程图如图5-3
图5-3从机流程图
(三)液晶(1602)动态显示部分
显示部分是仪器设备与人对话的一种重要形式,它告诉人们机器的运行状态、数据的处理结果。
用液晶显示是最为直观的一种方式。
在发送端的液晶显示器显示的是由主机上的DS18B20所采集到的温度经过单片机的处理在1602上显示出来。
而从机上的1602所显示的数据是由主机上采集到的数据经由无线模块NRF2401发送到从机上的无线模块接收经由从机的单片机的处理进而由从机上的1602显示出来。
结果分析与调试报告
(一)电源部分调试
将电源电路按照预先设计好的电路连接后,发现LED灯指示正常。
使用万用表测试电源输出电压为5.11V,属于正常范围。
使用万用表测试各个IC的电源引脚的电压,结果正常。
(二)单片机最小系统
使用示波器观察单片机的时钟输入管脚发现时钟电路正常。
电源和地没有短接,工作正常。
上电检测复位电路,发现工作不正常,单片机各管脚输出低电平,由此可知单片机不能正常复位,将复位电路的电容增大到10uF,复位电路正常工作。
(三)显示部分调试
置P0口为高电平,P1口为低电平,使八段数码管中各个LED全部发光,发现数码管只有一个亮,其余三个数码管不亮。
检查数码管显示电路,发现组排中有一个电阻值为0,确定此电阻被短路,处理短路电路后,再测试上述小程序,数码管工作正常,显示四个“8”。
(四)主机调试
向主机芯片烧入程序,用COMMIX.EXE1.2串口助手调试,主机向分机发送分机地址。
主机定时一秒向从机发送地址,等待从机响应。
(五)通讯调试
将主机和从机无线模块进行发送接收,在主机的液晶显示屏上现实的所采集到的温度与对主机所发送的温度进行接收的从机液晶显示屏上所显示的温度基本一致,有时由于天气与硬件原因会出现延迟等现象,不过总体上讲灵敏度还是很不错的。
(六)整机调试
为了测试本系统的抗干扰性和稳定性,将系统带电连续测试好几次,并且在不同的地方进行实验。
发现系统工作正常,说明系统的连续工作能力很好。
将本系统放置到室内、室外等不同的环境中系统工作稳定,说明本系统的抗干扰能力很好。
结论
这一个月多时间来,我们小组进行了分工合作。
在刚开始的时候,我们什么都不懂只好请教大一届的师兄等。
就连最小系统都不会做,可是随着时间的退移我们开始慢慢的懂得了一些基础知识,此时才深刻体会到了什么叫做“书本很丰满,现实很骨感”没有经过的知识只是半成品,只有经过实践才能真正的将其掌握。
接着我们陆续将最小系统做出来。
但是接下来的软件问题更是一个而影响测控系统的可靠性、安全运行的主要因素是来自测控系统内部和外部的各种电气干扰,以及系统结构设计、元器件选择、安装、制造工艺和和外部环境条件等。
这些因素对测控系统造成的干扰后果主要表现在数据采集误差加大、控制状态失灵、数据受干扰发生变化、程序失常等方面。
整个系统本着简单可靠的原则完成了本设计要求,不仅完成了题目要求的基本目标,而且有了很大的发挥。
尽量做到线路简单,减少电磁干扰,充分利用软件编程。
由于本设计由微处理器(STC89C52)完成,安装比较灵活而且价格较为便宜,能够适宜不同环境的温度测量。
NRF24L0的发送接收由于水平有限,我们认为虽然完成了题目的要求,系统还有需要改进的地方。
通过本次设计,我了解到了目前单片机和未来智能温度传感器的发展趋势,亲自动手从硬件设计到软件调试,使我的单片机编程能力和电路设计能力有了很大的提高。
我们真正认识到必须在各方面丰富自己的知识,只有这样才能在电子设计中做得更好。
更让我们体会到了真正的想完成一个实际项目是要经过很多的程序是要付出很多的心血与充分的耐性。
要有吃苦耐劳的精神。
参考文献
[1]张陪仁《MCS-51单片机原理与应用》[M]北京:
清华大学出版社,2003.01
[2]胡汉才《单片机原理及其接口应用》[M]北京:
清华大学出版社,1996
[3]马忠梅《单片机C语言Windows环境编程宝典》[M]北京:
北京航空航天出版社,2003
[4]杨振江《流行单片机实用子程序及应用实例》[M]西安:
西安电子科技大学出版社,2001
[5]石东海《单片机通信从入门到精通》[M]西安:
西安电子科技大学出版社, 2003
[6]徐爱钧《单片机高级语言C51Windows环境编程与应用》[M]北京:
电子工业出版社,2001
[7]余家春《Protel99SE电路设计使用教程》[M]北京:
中国铁道出版社,2001
[8]孙江宏.李良玉《Protel电路设计与应用》[M]北京:
机械工业出版社,2002
[9]周航慈《单片机程序设计基础》[M]北京:
航空航天大学出版社,1997.05.01
[10]高明《单片机接口与系统设计》[M]哈尔滨:
哈尔滨工业大学出版社,1995.08
[11]王毅《单片机器件应用手册》[M]北京:
人民邮电出版社,1994.05