ch06SPI与温湿度检测机器人的制作_第1页
ch06SPI与温湿度检测机器人的制作_第2页
ch06SPI与温湿度检测机器人的制作_第3页
ch06SPI与温湿度检测机器人的制作_第4页
ch06SPI与温湿度检测机器人的制作_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

SPI与温湿度检测机器人的制作新工科建设之路·机器人技术与应用系列应用型人才创新能力培养机器人制作与开发(单片机技术及应用)(第2版)第六章01温湿度传感器与温湿度测量在库房存放物品时,常需要将库房内的温湿度控制在一定的范围内。例如,粮仓内温湿度不合适会导致粮食霉变;档案室内温湿度不合适会导致字迹产生油渗、扩散和褪色等现象,或导致纸张强度下降并滋生有害生物;一些特殊仓库在某一温湿度条件下甚至会产生有毒气体。为了保证库存物品安全和良好的工作环境,对库房温湿度的检测是必要的。温湿度传感器与温湿度测量市面上已经出现了一些智能化的“库房温湿度巡检和联动控制系统”,此类系统通过传感器检测温湿度,并将数据传回计算机,计算机系统实时监控库房温湿度的变化情况,当温湿度超过一定范围时,启动或关闭温湿度控制设备,从而实现实时调节库房温湿度的功能。温湿度传感器与温湿度测量本任务要求利用Sensirion温湿度传感器和C51教学机器人设计一款温湿度检测机器人,它能够实时检测机器人所在位置的温湿度和露点,并将所测数据通过串口以9600bit/s的速度传给计算机。温湿度传感器与温湿度测量本任务的学习目的如下①认识Sensirion温湿度传感器。②认识Sensirion温湿度传感器的通信接口。③编写程序,读取传感器数据。温湿度传感器与温湿度测量温湿度传感器与温湿度测量Sensirion温湿度传感器实物图如图6.1所示。Sensirion温湿度传感器简介由图可知,Sensirion温湿度传感器采用一块贴片式的SHT11数字温湿度传感器芯片。通过标定得到的校准系数以程序形式存储在芯片本身的OTP(OneTimeProgrammable)内存中。通过两线制的串口与内部的电压调整,使外围系统集成变得快速而简单。微小体积、极低功耗等优点使其成为各类应用的首选。温湿度传感器与温湿度测量温湿度传感器的工作原理Sensirion温湿度传感器包括一个电容性聚合体湿度敏感元件和一个用能隙材料制成的温度敏感元件,这两个敏感元件与一个14位的A/D转换器及一个串口电路设计在同一个芯片上。敏感元件所产生的模拟信号通过A/D转换器被转换为数字信号,信号通过两线制数字接口输出。该传感器可用于测量相对湿度、温度和露点。各物理量的值可以根据读到的数据按照一定的方法计算得到。温湿度传感器与温湿度测量温湿度传感器与温湿度测量湿度转换系数C1、C2、C3见表6.1。温湿度传感器与温湿度测量温度补偿系数T1、T2见表6.2。温湿度传感器与温湿度测量温度转换系数D1、D2的取值参照表6.3。露点指空气在含水量和气压都不改变的条件下,冷却到饱和时的温度。形象地说就是空气中的水蒸气在变为露珠时的温度。当空气中的含水量已达到饱和时,气温与露点相同;当含水量未达到饱和时,气温一定高于露点,所以露点与气温的差值可以表示空气中的含水量距离饱和的程度。基于红外测距导航的漫游机器人的制作和编程温湿度传感器与温湿度测量图6.2所示为Sensirion温湿度传感器的引脚说明。各引脚的具体定义如下。①DATA:1引脚,数据输出端。②SCK:3引脚,时钟信号输入端,输入Clock信号。③Vss:4引脚,地。④VDD:8引脚,电源。温湿度传感器与温湿度测量Sensirion温湿度传感器一共有8个引脚,其中2、5、6、7是空引脚。在本任务中使用AT89S52单片机作为控制芯片,将DATA(数据)引脚接至单片机的P13引脚,SCK引脚接至单片机的P12引脚。基于红外测距导航的漫游机器人的制作和编程温湿度传感器与温湿度测量Sensirion温湿度传感器的电路连接如图6.3所示。①电源(VDD)。SHT11芯片的供电电压为2.4~5.5V,这里使用两轮机器人上的5V电源。传感器在上电后要等待11ms来完成“休眠”,在此期间发送任何指令均无效。②时钟信号(Clock信号)。Clock信号用于微处理器与SHT11之间的通信同步。由于端口包含了完全静止逻辑,因而不存在最小时钟频率。③数据输出端(DATA)。DATA端口用于数据的输出,在Clock信号下降沿之后改变状态,并仅在Clock信号上升沿有效。温湿度传感器与温湿度测量在数据传输期间,当Clock信号为高电平时,DATA输出必须保持稳定。为避免信号冲突,微处理器应驱动DATA为低电平,需要一个外部的上拉电阻将信号拉至高电平。需要注意的是,SHT11应用的串口技术是SPI技术,在传感器信号读取及电源损坏方面都做了优化处理,但与r²C接口不兼容。温湿度传感器与温湿度测量温湿度传感器与温湿度测量通信复位时序图如图6.4所示。温湿度传感器与温湿度测量启动传输时序图如图6.5所示。当Clock信号为高电平时,DATA翻转为低电平,接着Clock信号变为低电平,然后在Clock信号为高电平时,DATA翻转为高电平,如图6.5所示。后续命令包含3个地址位(目前只支持“000”)和5个命令位。SHT11会以下述方式表示已正确地接收到指令:在第8个Clock信号下降沿之后,将DATA被拉为低电平(ACK位)。在第9个Clock信号下降沿之后,释放DATA(恢复高电平)。温湿度传感器与温湿度测量程序通过向传感器发送命令测量温湿度,发送00000011表示测量温度,发送00000101表示测量湿度。在发送测量命令后,控制器需要等待测量结束,这个过程大概需要11/55/210ms(分别对应8/12/14位的测量),确切时间与晶振有关。SHT11模块通过下拉DATA至低电平,表示测量结束。控制器在触发Clock信号前,必须等待这个完成信号。温湿度传感器与温湿度测量在启动传输后,接着传输2字节的测量数据和1字节的CRC奇偶校验位。单片机需要通过下拉DATA为低电平,来确认每字节。所有的数据从MSB开始,右边的数据有效(例如,对于12位数据,从第5个Clock信号起算作MSB;而对于8位数据,首字节则无意义)。用CRC数据的确认位表明通信结束。如果不使用CRC-8校验,控制器可以在测量值LSB后,通过保持确认位ASK高电平来中止通信。温湿度传感器与温湿度测量对于所测数据如何换算成物理量,已在本任务前面介绍过,这里不再赘述。程序根据当前所读取的数据,通过公式计算,得到温湿度及露点,然后输出温湿度和露点的值。基于红外测距导航的漫游机器人的制作和编程02温湿度检测机器人的制作本任务要求将在任务6.1中编写的温湿度检测程序与在第5章中开发的漫游机器人结合起来,让机器人在漫游的过程中每隔5s测量1次温湿度,并将测量结果显示到LCD上。温湿度检测机器人的制作修改并补充任务6.1中的主程序,让机器人一边漫游,一边通过LCD显示测量到的温湿度数据。机器人漫游可以采用第5章中的红外测距云台传感器进行导航。在修改程序时注意单片机接口资源的分配。

温馨提示

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

评论

0/150

提交评论