课程设计二说明书.docx
- 文档编号:11075176
- 上传时间:2023-02-24
- 格式:DOCX
- 页数:90
- 大小:1.30MB
课程设计二说明书.docx
《课程设计二说明书.docx》由会员分享,可在线阅读,更多相关《课程设计二说明书.docx(90页珍藏版)》请在冰豆网上搜索。
课程设计二说明书
课程设计二说明书
一、引言
1、设计目的
本设计是一综合课程设计,它集“传感器原理与应用”、“模拟与数字电子技术”、“单片微型计算机原理与应用”、“电机与驱动技术”等课程内容,其目的要求综合应用这几门课程内容,掌握常见机械自动化控制系统的应用技术。
通过设计了解微机控制系统的总体设计过程、机械自动化控制方案的比较、传感器与驱动的选择、硬件电路的设计与绘制、控制软件的编制,培养学生综合应用各门课程的能力,同时锻炼和培养学生的独立工作、调查研究、分析问题、解决问题的工作能力。
2、本课程设计的设计工作内容与要求
1.进行设计目标、基本功能、技术参数的分析和制定。
2.进行总体控制方案设计,完成微机接口芯片、传感器、执行机构驱动形式、信号调理电路、供电电源等核心部件的选择和分析。
3.完成控制系统的硬件电路设计和绘制。
4.完成控制系统的功能实施程序的编制。
5.完成“传感信号的采集”、“键盘输入”、“数值显示”等关键程序的软件仿真调试与实验验证。
6.撰写设计说明书。
3、成员任务分配
以斜体标注于目录旁
二、具体内容及基本要求
库房室温监测报警仪
1.设计任务
利用温度传感器和单片机技术设计一套库房室温监测报警仪,报警温度可设定输入,温度测量误差为±1°C,温度监测报警仪具有日期、时钟显示功能。
2.设计目的
1、了解有关温度传感器的工作原理、加工工艺的相关知识。
2、综合运用其他先修课程的理论和实践知识,制定设计方案,确定温度传感器的型号的参数,掌握温度的检测方法。
3、掌握模拟信号获取、传输、处理及检测的一般方法。
4、掌握由微型计算机实现数字输入和显示功能的技术。
5、学会应用温度传感器组建一个简单的测量系统,提高解决实际工程问题的设计能力。
6、通过计算、分析、绘图,能运用标准、规范、手册并学会查阅有关资料,培养仪器设计的基本技能,为毕业设计等奠定良好的基础。
3.设计要求
1、详细了解所选用的温度传感器的工作原理、工作特性、技术参数、应用电路等。
2、设计合理的信号调理电路。
3、用单片微型计算机和A/D芯片进行信号的采样等相关处理电路。
4、设计合理的单片微型计算机的显示和键盘输入接口电路。
5、设计合理的系统供电电路。
6、用计算机绘图软件绘制硬件电路原理图,用C51或汇编语言编设计编制相关程序,并用Keil仿真软件或仿真实验箱对“传感信号的采集”、“键盘输入”、“数值显示”等关键程序进行仿真调试和实验验证。
7、列出制作该系统的元件清单。
8、撰写详细的设计说明书一份。
三、课程设计设计过程
1.设计任务、要求和目标分析
本课程设计的任务为利用温度传感器和单片机技术设计一套库房室温监测报警仪。
要求该报警温度可由用户输入,温度测量误差为±1°C。
同时温度监测报警仪具有日期、时钟显示功能。
要求通过本次课程设计能够完成一个能在实际工业现场中运用的温度监测系统。
该系统的输入设备为4x4行列式键盘,温度设定操作简易,用户界面良好。
通过编译程序可以控制继电器的开闭,从而控制外部设备的运行,通过对温度报警的设置可以进行定时对设备进行自动化控制,体现了产品的智能化。
系统的工作原理为:
2.控制系统要处理的输入信号以及元器件的选用
a)现场温度信号:
由温度传感器DS18B20从现场读入温度值,并由温度传感器的中集成的A/D转换器将其转化为电信号。
b)实时时间信号:
由PCF8563时钟芯片记录当地时间。
c)温度设置信号:
由4x4行列式键盘输入用户给定温度
对这些信号进行处理后:
a)时间信号和温度信号,通过8279显示器/键盘接口电路由LED数码显示器(七段数码管)显示输出。
b)现场温度与设定的温度比较后输出信号确定报警系统的启动与否。
3.实施方案的设计与分析
据所选择的元器件,系统原理图可细化如下图所示
4.温度采集模块设计
根据调查,目前市面上可用的温度传感器有:
热敏电阻,DS18B20,DS1621。
热敏电阻器是敏感元件的一类,其典型特点是温度敏感,不同的温度下表现出不同的电阻值。
;热敏电阻的工作温度范围宽,常温器件适用于-55℃~315℃,高温器件适用温度高于315℃(目前最高可达到2000℃),低温器件适用于-273℃~55℃;热敏电阻体积小,能够测量其他温度计无法测量的空隙、腔体及生物体内血管的温度;热敏电阻使用方便,电阻值可在0.1~100kΩ间任意选择;热敏电阻易加工成复杂的形状,可大批量生产;热敏电阻的稳定性好、过载能力强。
DS1621是一种功能较强的数字式温度传感器和恒温控制器。
接口与I2C总线兼容,且可以使用一条I2C总线控制多达8片的DS1621。
其数字温度输出达9位,精度为0.5℃。
通过读取内部的计数值和用于温度补偿的每摄氏度计数值,利用公式计算还可提高温度值的精度。
DS1621可工作在最低2.7V电压下,适用于低功耗应用系统。
DS18B20为可编程分辨率的单总线数字温度计。
采用独特的单线接口,仅需要一个端口引脚进行通讯。
在其内部存储器中有64位的序列号。
可以通过数据线为DS18B20供电,供电范围为3.0v到5.5v。
测温范围为-55至+125摄氏度。
最多在750ms内将温度转换为12位的数字。
对三款元件进行分析比较,得出以下结论:
名称
成本
精度
占用I/O数量
速度
总线
热敏电阻
中
较差
多
慢
无
DS18B20
低
良好
1
<720ms
单线
DS1621
高
精确
2
<1s
I2C
最终,根据实际的使用环境、精度要求以及成本考虑,选择的温度传感器元件为DS18B20,其主要原因主要有以下几方面:
(1)系统的特性:
测温范围为-55℃~+125℃,测温精度为士0.5℃;温度转换精度9~12位可变,能够直接将温度转换值以16位二进制数码的方式串行输出;12位精度转换的最大时间为750ms;可以通过数据线供电,具有超低功耗工作方式。
(2)系统成本:
由于计算机技术和微电子技术的发展,新型大规模集成电路功能越来越强大,体积越来越小,而价格也越来越低。
一支DS18B20的体积与普通三极管相差无几,价格只有十元人民币左右。
(3)系统复杂度:
由于DS18B20是单总线器件,微处理器与其接口时仅需占用1个I/O端口且一条总线上可以挂接几十个DS18B20,测温时无需任何外部元件,因此,与模拟传感器相比,可以大大减少接线的数量,降低系统的复杂度,减少工程的施工量。
(4)系统的调试和维护:
由于引线的减少,使得系统接口大为简化,给系统的调试带来方便。
同时因为DS18B20是全数字元器件,故障率很低,抗干扰性强,因此,减少了系统的日常维护工作。
DS18B20温度传感器只有三根外引线:
单线数据传输总线端口DQ,外供电源线VDD,共用地线GND。
DS18B20有两种供电方式:
一种为数据线供电方式,此时VDD接地,它是通过内部电容在空闲时从数据线获取能量,来完成温度转换,相应的完成温度转换的时间较长。
这种情况下,用单片机的一个I/O口来完成对DS18B20总线的上拉。
另一种是外部供电方式(VDD接+5V),相应的完成温度测量的时间较短。
在本设计中采用外部供电方式实现DS18B20传感器与单片机的连接,其接口电路如图4所示。
图4温度传感器接口
4.1硬件电路设计
本温度报警器采用美国DALLAS公司生产的单线数字温度传感器DS18B20如图3.1,可以把温度信号直接转换成串行数字信号工微机处理,是模数转换器件,而且读DS18B20信息或写DS18B20信息仅需要单线接口,使用非常方便;其测温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃,可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快;同时DS18B20在使用中不需要任何外围元件(仅需一个4.7K的上拉电阻),全部传感元件及转换电路集成在形如一只三极管的集成电路内,硬件电路十分简单。
DS18B20测温原理如下图所示。
图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。
高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。
计数器1和温度寄存器被置在-55℃所对应的一个基数值。
计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。
图3.2中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。
DS18B20测温原理
DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。
DS18B20的性能特点如下:
●独特的单线接口仅需要一个端口引脚进行通信;
●多个DS18B20可以并联在惟一的三线上,实现多点组网功能;
●无须外部器件;
●可通过数据线供电,电压范围为3.0-5.5V;
●零待机功耗;
●温度以9或12位数字;
●用户可定义报警设置;
●报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;
●负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;DS18B20采用3脚PR-35封装或8脚SOIC封装,其内部结构框图如图所示。
DS18B20内部结构框图
64位ROM的结构开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。
温度报警触发器TH和TL,可通过软件写入户报警上下限。
DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。
高速暂存RAM的结构为8字节的存储器,结构如图3所示。
头2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。
第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。
DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。
该字节各位的定义如图3所示。
低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设由表1可见,DS18B20温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。
因此,在实际应用中要将分辨率和转换时间权衡考虑。
高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1。
第9字节读出前面所有8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。
当DS18B20接收到温度转换命令后,开始启动转换。
转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。
单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625℃/LSB形式表示。
当符号位S=0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位S=1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。
DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容作比较。
若T>TH或T<TL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令作出响应。
因此,可用多只DS18B20同时测量温度并进行报警搜索。
在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。
主机ROM的前56位来计算CRC值,并和存入DS18B20的CRC值作比较,以判断主机收到的ROM数据是否正确。
DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。
另一种是寄生电源供电方式,单片机端口接单线总线,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET管来完成对总线的上拉。
当DS18B20处于写存储器操作和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时间最大为10us。
采用寄生电源供电方式时VDD端接地。
由于单线制只有一根线,因此发送接口必须是三态的。
DS18B20功能命令如表所示:
表1DS18B20功能命令表
命令
功能描述
代码
CONVERT
启动温度转换
44H
READSCRATCHPAD
读取温度寄存器
BEH
READROM
读DS18B20的序列号
33H
WRITESCRATPAD
将数据写入暂存器的第2、3字节中
4EH
MATCHROM
匹配ROM
55H
SEARCHROM
搜索ROM
F0H
ALARMSEARCH
报警搜索
ECH
SKIPROM
跳过读序列号的操作
CCH
READPOWERSUPPLY
读电源供给方式,0寄生,1外部电源
B4H
由于DS18B20单线通信功能是分时完成的,所以有严格的时隙概念,读写时序很重要。
系统对DS18B20的各种操作必须按协议进行。
操作协议为:
初始化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据。
4.2软件设计
DSl8B20必须严格按照单总线通信协议,以保证数据的完整性。
该协议定义了几种时隙类型:
初始化、应答、写1、写0、读1、读0。
除了应答时隙所有这些时隙都是有主机发出。
总线上所传输的所有命令和数据都是字节的低位在前。
(1)初始化时隙
复位时隙和应答时隙。
在初始化过程中,主机发送复位脉冲(最短为480μs的低电平信号)接着,释放总线并进入接收状态。
当总线被释放后上拉电阻将总线拉高。
DSl8B20在检测到总线的上升沿之后等待15-60us接着发出应答脉冲(低电平持续60-240μs)。
(2)读和写时隙
在写时隙期间,主机向DS18B20写入数据;而在读时隙期间,主机读入来自DS18B20的数据。
在每一个时隙,总线只能传输一位数据。
存在两种写时隙,即写1和写0。
主机在写1时隙向DS18B20写入逻辑1。
而在写0时隙向DS18B20写入逻辑0。
所有写时隙至少需要60μS,而且两次写l时隙之间至少需要lμS的恢复时间。
两种写时隙均以主机拉低总线开始。
产生写1时隙:
主机拉低总线后,必须在15uS内释放总线。
然后由上拉电阻将总线拉至高电平。
产生写0时隙:
主机拉低总线后,必须在整个时隙期间保持低电平(至少60μS)。
在写时隙开始后的15~60μS期间,DSl8B20采样总线的状态。
如果总线为高电,则逻辑1被写入DSl8B20;如果总线为低电平,则0逻辑被写入DSl8B20。
读时隙:
DSl8B20只能在主机发出读时隙时才能向主机传送数据。
所以主机在发出读数据命令后,必须马上产生读时隙,以便DSl8B20能够传送数据。
所有读时隙至少60μs,且在两次独立的读时隙之间至少需要1μS的恢复时间。
每次读时隙由主机发起,拉低总线至少1μS。
在主机发起读时隙之后,DSl8B20开始在总线上传送1或0。
若DS18B20发送1,则保持总线为高电平;若发送O,则拉低总线。
当传送0时,DSl8B20在该时隙结束时释放总线,再由上拉电阻将总线拉回空闲高电平状态。
DS18B20发出的数据在读时隙下降沿起始后的15uS内有效,因此主机必须在读时隙开始后的15μS内释放总线,并且采样总线状态,根据实际的系统设计要求,其程序流程图如下图所示:
之后,根据以上流程图进一步编写系统汇编语言或C语言代码,并通过Keil软件进行仿真模拟,通过后进一步进行接线调试,具体程序见附录。
5.实时时钟模块设计
根据资料的查找,目前市面上可用的时钟电路有DS1302、DS1307、PCF8485、PCF8563,其中使用比较多,也是我们主要查找比较的是DS1302和PCF8563。
DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。
采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。
DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。
DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。
PCF8563是PHILIPS公司推出的一款工业级内含I2C总线接口功能的具有极低功耗的多功能时钟/日历芯片。
PCF8563的多种报警功能、定时器功能、时钟输出功能以及中断输出功能能完成各种复杂的定时服务,甚至可为单片机提供看门狗功能。
是一款性价比极高的时钟芯片,它已被广泛用于电表、水表、气表、电话、传真机、便携式仪器以及电池供电的仪器仪表等产品领域。
而在本题实际使用中,由于DS1302存在时钟精度不高,易受环境影响,出现时钟混乱等缺点。
综合考虑之后,我们决定选用PCF8563时钟电路作为实时时钟模块在本系统中使用。
5.1硬件电路设计
本系统实时时钟模块选用PCF8563时钟电,PCF8563是一款低功耗的CMOS实时时钟/日历芯片,它提供一个可编程时钟输出,一个中断输出和掉电检测器,所有的地址和数据通过I2C总线接口串行传递。
最大总线速度为400Kbits/s,每次读写数据后,内嵌的字地址寄存器会自动增加,其实验原理图如下图:
PCF8563特性为:
●低工作电流:
典型值为0.25μA(VDD=3.0V,Tamb=25℃时);
●世纪标志;
●大工作电压范围:
1.0~5.5V;
●低休眠电流;典型值为0.25μA(VDD=3.0V,Tamb=25℃);
●400KHz的I2C总线接口(VDD=1.8~5.5V时);
●可编程时钟输出频率为:
32.768KHz,1024Hz,32Hz,1Hz;
●报警和定时器;
●掉电检测器;
●内部集成的振荡器电容片内电源复位功能掉电检测器;
●片内电源复位功能;
●I2C总线从地址:
读:
0A3H;写:
0A2H;
●开漏中断引脚。
PCF8563参考数据如下表所示:
符号
参数
条件
最小值
最大值
单位
VDD
工作电压
I2C总线无效
Tamb=25℃
1.0
5.5
V
I2C总线有效
Fscl=400KHz
Tamb:
-40℃—80℃
1.8
5.5
V
工作电流
(定时器和时钟输出无效)
Fscl=400KHz
—
800
uA
Fscl=100KHz
—
200
uA
Fscl=0KHz;Tamb=25℃
—
VDD=5V
—
550
nA
VDD=2V
—
450
nA
Tamb
工作环境温度
-40
85
℃
Tstg
储存温度
-65
150
℃
PCF8563内有16个8位的地址递增寄存器,一个32.768kHz片上集成电容振荡器,一个实时时钟源(RTC)的分频器,可编程的时钟输出,一个定时器,报警器,一个低压检测器和400KHz的I2C接口。
所有16个寄存器被设计成可寻址的8位并行寄存器,虽然不是所有的位都有效。
前两个寄存器(内存地址00H和01H),用于控制与/或状态寄存器。
内存地址02H至08H是时钟功能的计数器,用于(秒、分、时、日、月、年计数器)。
内存地址09H至0CH包含定义报警的条件的报警寄存器。
内存地址0DH控制CLKOUT的输出频率。
0EH和0FH分别是定时控制器和定时器。
秒、分钟、小时、天、月、年、以及每分钟报警、小时报警、日报警寄存器都以BCD格式编码。
平日和星期报警寄存器不以BCD格式编码。
当一个RTC寄存器被读取,所有的寄存器的内容被冻结。
因此可以避免在读指令跳转期间,读取时钟/日历时发生错误。
PCF8563具有报警功能模式、定时器模式、CLKOUT输出、复位低电压检测器和时钟监视器、低电压检测器和时钟监视器等多种不同的功能,在本系统中,主要将其作为实时时钟模块利用其时钟功能通过8279显示器/键盘接口电路来显示实时时间,便于工作人员实时了解库房温度情况。
其方框原理图如下图所示:
为了更好的利用PCF8563芯片,我们还必须了解其管脚功能、动静太参数等数据,如图表所示为PCF8563管脚配置及描述:
PCF8563静态特性为:
PCF8563动态特性为:
5.2软件设计
根据上图的PCF8563应用信息,我们拟通过两线式I2C串行接口方式接收各种命令并读写时钟数据。
两线式串行I2C接口方式描述如下:
(1)开始条件
当SCL处于高电平时,SDA由高电平变成低电平时构成一个开始条件,对PCF8563的所有操作均必须由开始条件开始。
(2)停止条件
当SCL处于高电平时,SDA由低电平变成高电平时构成一个停止条件,此时PCF8563的所有操作均停止,系统进入待机状态。
(3)数据传输
当SCL为低电平,且SDA线电平变化时,则数据由CPU传输给PCF8563(高位在前、低位在后,下同);当SCL为高电平,且SDA线电平不变时,则CPU读取PCF8563发送来的数据;当SCL为高电平,且SDA电平变化时,PCF8563收到一个开始或停止条件。
(4)确认
数据传输以8位序列进行。
PCF8563在第九个时钟周期时将SDA置位为低电平,即送出一个确认信号(Acknowledgebit,以下简称“ACK”),表明数据已经被其收到。
根据PCF8563的实际参数,管脚配置以及以上内容和实际的使用要求,其程序流程图如下图所示:
之后,根据以上流程图进一步编写系统汇编语言或C语言代码,并通过Keil软件进行仿真模拟,通过后进一步进行接线调试,具体程序见附录。
6.键盘扫描模块设计
6.1软件设计
利用8279可以实现对键盘/显示器的自动扫描,以减轻CPU负担,具有显示稳定、程序简单、不会出现误动作等优点。
程序框图:
程序实现见附录。
6.2芯片8279使用介绍
8279采用单±5V电源供电,40脚封装。
DB0~DB7:
双向数据总线,用来传送8279与CPU之间的数据和命令。
CLK:
时钟输入线,用以产生内部定时的时钟脉冲。
RESET:
复位输入线,8279复位后被置为字符显示左端输入,二键闭锁的触点回弹型式,程序时钟前置分频器被置为31,RESET信号为高电平有效。
CS:
片选输入线,低电平有效,单片机在CS端为低时可以对8279读/写操作。
A0:
缓冲器低位地址,当A0为高电平时,表示数据总线上为命令或状态,当为低电平时,表示数据总线上为数据。
RD:
读信号输入线,低电平有效,将缓冲器读出,数据送往外部总线。
WR:
写信号输入线,低电平有效,将缓立器读出,将数据从外部数据总线写入8279的缓冲器。
RL2--140--VCC
RL3--239--RL1
CLK--338--RL0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 说明书