提高超声波的精度和量程设计.doc_第1页
提高超声波的精度和量程设计.doc_第2页
提高超声波的精度和量程设计.doc_第3页
提高超声波的精度和量程设计.doc_第4页
提高超声波的精度和量程设计.doc_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

桂林电子科技大学毕业设计 论文 报告用纸 摘 要 声波的频率是 20Hz 20kHz 频率低于 20 Hz 的叫次声波 高于 20kHz 的叫超声波 由于超声波的频率高 波长小 所以指向性较好 在传播过程中衰减少 传播距离远 虽然现在超声波测距在远距离测距方面和激光测距有明显的不足 但是超声波测距在 中 近距离方面还是有很大优势的 第一 超声波在传播过程中受环境因素影响较小 可以在较复杂的环境中应用 第二 超声波发射 接收电路简单 稳定 易于实现小 型化 第三 小功率的超声波系统能耗小 可使用电池供电 易于实现手持化 小型 化等 第四 超声波检测计算简单 可以实时控制 在测量精度方面可以达到工业 农业和日常应用的要求 由于超声波的种种优点 使得超声波测距在工业 农业当中 的应用相当广泛 本课题研究的方向主要是提高超声波的精度和量程 为的是提高超声波在测距方 面的应用 本设计是以 AT89S52 单片机为基础 对超声波发射电路的控制 同时利用 单片机内部的计数器对超声波传播过程中所用时间的计算 计算出距离 并通过 LCD1602 显示实际距离 系统在测距前还对温度做了测量 计算出超声波在现在温度中 的实际速度 以提高超声波测距系统的精度 为了提高实时性 还要求可以通过按键 来设置测温功能是否启动 本设计通过对温度的补偿和程序中对距离计算的方法的修正 在不同距离上使精 度得到了很大的提高 并可以做到非线性补偿 提高了超声波的应用范围 达到了课 题的研究目的 关键词 超声波 温度测量 语音控制 单片机 桂林电子科技大学毕业设计 论文 报告用纸 Abstract The frequency of acoustic wave is 20Hz to 20 KHz The frequency of acoustic wave which is lower than 20 Hz is called infrasonic wave And the frequency of acoustic wave which is higher than 20 KHz is called ultrasonic wave The frequency of ultrasonic wave directive property is good because its frequency is high and its wavelength is small The attenuation is small and its transmission distance is far during its transmission Although there are obvious disadvantages on the distance measurement of long distance and laser nowadays the distance measurement of ultrasonic wave still has great disadvantages on the middle distance and the short distance The laser is less affected by the environment during its transmission It can be used in the complex environment Second it is easy and stable for ultrasonic wave to transmit and receive circuit Miniaturization is easy to become reality Third small power units of ultrasonic wave system are less consumed It can use battery to supply power And it is easy to implement handheld and miniaturization Forth the examination of ultrasonic wave can be computed easily And it also can be controlled in the real time It can meet the requirement of industry and agriculture Ultrasonic wave can be widely used in industry and agriculture as it has all kinds of advantages The accuracy and the range of measurement are improved in this paper to improve the appliance of ultrasonic wave on the distance measurement The control of the transmission of ultrasonic wave is based on the AT89S52 single chip At the same time we can use the inner counter of single chip to compute the consuming time and the distance during the transmission of ultrasonic wave Then we can use LCD1602 to show its real distance The temperature should be measured before the distance is measured The real speed of ultrasonic wave can be computed at the present temperature to improve the accuracy of the ultrasonic wave system In order to improve the real time application we can set up temperature function through the push button The method of the calculation of the distance is revised between the compensation of temperature and procedure in this design The precision can be greatly improved at different distances And the nonlinear compensation can be finished It can improve the scope of application of ultrasonic and achieve the objective of the research Keywords ultrasonic Temperature measurement Voice control microcontroller 桂林电子科技大学毕业设计 论文 报告用纸 目 录 引言 1 1 系统的方案论证 1 1 1 超声波测距仪的设计的要求 1 1 2 超声波 1 1 2 1 超声波的特性 2 1 2 2 压电式超声波发生器原理 2 1 2 3 超声波测距原理 3 2 使用器件介绍 4 2 1 超声波传感器简介 4 2 2 DS18B20 的介绍 4 2 2 1 引脚的介绍 5 2 2 2 DS18B20 的操作 5 2 2 3 实际温度的求取 6 2 2 4 DS18B20 的指令 7 2 3 语音芯片 7 2 3 1 语音芯片 ISD1760 7 2 3 2 采样率和外接电阻的对应关系 8 2 3 3 SPI 协议介绍 8 2 3 4 SPI 总线协议介绍 接口定义 传输时序 11 2 3 5 传输时序 11 3 硬件电路设计 12 3 1 整体电路设计 12 3 1 1 单片机定型 12 3 1 2 整体设计 12 桂林电子科技大学毕业设计 论文 报告用纸 3 2 超声波测距系统设计 13 3 2 1 超声波发射器的注意事项 13 3 2 2 超声波发射电路 14 3 2 3 超声波接收电路 15 3 2 4 超声波电路调试方法和遇到的问题 16 3 3 显示器 16 3 3 1 显示器选择 16 3 4 按键电路 17 3 4 1 按键电路的设计 17 3 4 2 按键电路调试过程注意事项 17 3 5 报警设计 18 3 5 1 报警电路 18 3 5 2 报警电路的调试 18 3 6 语音芯片 ISD1760 模块 18 3 6 1 硬件电路设计 18 3 6 2 调试过程 19 3 7 温度补偿 19 3 7 1 测温电路设计 19 3 7 2 测温电路的调试 20 3 8 硬件电路设计优化 20 3 8 1 提高测距的范围 20 3 8 2 超声波的衰减 21 3 8 3 超声波接收电路信号再处理 21 4 软件设计 22 4 1 程序完成的功能 22 4 2 编程语言的选择 22 4 3 主要部分程序流程图 23 桂林电子科技大学毕业设计 论文 报告用纸 4 4 实现重要功能的程序的分析 24 4 4 1 产生 40KHz 方波程序 24 4 4 2 对距离的计算 25 5 样机介绍 28 5 1 样机的功能 28 5 2 样机的参数 28 5 3 样机的缺点和改进方法 28 5 3 1 缺点 28 5 3 2 改进方法 28 6 毕设感悟 29 谢辞 30 参考文献 31 附录 1 程序 32 主程序 32 测温子程序 41 语音芯片子程序 43 附录 2 原理图 50 桂林电子科技大学毕业设计 论文 报告用纸 第 1 页 共 53 页 引言 在我们日常生活和工业生产中 经常会遇到距离的测量 而距离的测量方法有很多 种 比较简单的就是拿刻度尺直接量取距离 但是在很多情况下我们需要非接触式 便捷测量 目前为止比较常用的非接触式距离测量有激光 红外和超声波测量 他们 各有所长 在这三种测量方法中 超声波测距是一种比较简单的方法 超声波发射 接收原理都是一样的 但是其电路确实多种多样的 现在市面上已经有做成模块的集 成电路了 集成电路在信号处理方面做得很好 使超声波测距的精度和量程有了很大 提高 为我们的应用提供了很大的方便 超声波测距系统比较简单 可靠性高 在现有的知识上可以做出硬件来调试和验证 超声波测距应用也很广泛 可用于生活 军事 工业等各个领域 在汽车电子方面也 有很好的应用 在选 CPU 时选择了 AT89S52 该款单片机编程简单 体积小 功耗低 可靠性高 而且价格低 开发周期较其他芯片短 所以是小型程序控制系统的首选 该系列单片 机在学校日常教学和课程设计中经常应用 在电子大赛方面也是常用处理器 在一开 始时选的芯片是 TA89S51 后来由于系统的功能一点点的完善 程序也增加了很多 导 致超过了 51 单片机的内存上限 后来才换的 52 单片机 才使程序在单片机里跑起来 本设计实现了设计任务书的功能 随着障碍物和超声波测距系统之间距离的变化 液晶上显示的数值也随之变化 温度也随着实际温度的变化而变化 温度测量可通过 单片机所接的按键设置为每次测温和开始测温 或者按键按下测温等不同工作模式 为的是适合不同的环境和快速性的需要 提高了它的适用范围 1 系统的方案论证 1 1 超声波测距仪的设计的要求 制作样机一台 超声波测试仪的测试距离为 0 5M 5M 测距精度可达到 0 5 且测量重复性较好 能根据实际温度自动补偿 能用语音报距 1 2 超声波 超声波是指谐振频率大于 20kHz 的声波 它在空气中是直线传播的 声波的规律 是谐振频率越高 波长越短 那么它绕过物体的能力就越弱 反射能力就越强 由于 它的频率高 所以它方向性好 穿透能力强 也容易获得较强的声能 可用于能量的 传播 它在水中传播的较远 它的另外一个特性是超声波发射头在一定频率的电脉冲 作用下 可以产生超声波 而且超声波接收头在接收到超声波的时候也可以很方便的 转换为电信号 由于它的这些特点 超声波广泛应用于测距 清洗 碎石 测距 杀 桂林电子科技大学毕业设计 论文 报告用纸 第 2 页 共 53 页 菌消毒等方面 在医学 工农业 军事等方面也有很多应用 人们正是根据其下限频 率高于我们听力的上限频率而给它去超声波这个名字的 1 2 1 超声波的特性 人能听到的声音的频率范围是 20Hz 20kKz 如果声波的频率超过 20kHz 我们的就 感觉不到它的存在 所以我们把频率在 20kHz 以上的声波叫超声波 超声波有很多特性 主要包括一下几点 1 束射性 由物理知识我们知道 在相同环境下 不同频率的声波在空气中的传播速度是相 同的 也就是说频率越高 它的波长就越短 那么它就可以像光波一样 可以反射 折射和聚焦 也遵循几何学上的光学规律 也就是折射 反射规律 2 吸收性 不管是什么波 在传播过程中都会有不同程度的衰减 超声波也不例外 超声波 在传播过程中 距离越远 衰减越大 这也是超声波在远距离测量方面一直解决不了 的问题 在同一介质中 频率越高 介质对超声波的吸收越大 超声波的衰减也就越 大 而不同介质对超声波的吸收也是不一样的 在空气中超声波衰减最大 其次是液 体 衰减最小的是固体 3 超声波的能量传递性 超声波在各个工业部门中得到广泛的应用的主要原因在于比声波具有强大得多的 功率 这是因为当声波进入某一介质中时 由于声波的作用使物质中的分子随之振动 起来 振动的频率和声波频率是 样 而分子振动的频率决定了分子振动的速度 分 子振动频率愈高速度愈大 物资分子所获得的能量也越大 所以如果声波的频率愈高 物质分子愈能得到更高的能量 而超声波频率比普通声波高出很多 所以它能使物质 分子获得比较大的能量 换句话来说 超声波可以供给物质分子比较大的能量 4 超声波的声压特性 超声波在进入某物体时 声波振动使物质分子之间产生压缩和稀疏的作用 这会使 物质所受的压力产生变化 由声波振动引起压力变化的现象叫声压作用 这也是超声 波接收器利用超声波的能量转换为动能再转化为电能的原理 1 2 2 压电式超声波发生器原理 为了利用超声波 人们对超声波做了很多的研究 得出了很多成果 超声波的发 射器有很多种 按它们的基本原理可分为两大类 1 用电气方法产生超声波 2 用机械方法产生超声波 电气类电气方式包括压电型 磁致伸缩型和电动型等 机械方式包括加尔统笛 液哨和气流旋笛等 它们所产生的超声波的频率 功率和声波特性都不一样 所以它 们的用途也各不相同 目前应用较广的是压电式超声波发生器 压电式超声波发生器是利用压电晶体的谐振来工作的 共振板在中间 两个压电 桂林电子科技大学毕业设计 论文 报告用纸 第 3 页 共 53 页 晶片在两边 工作时 压电晶片在外界周期脉冲的作用下 使共振板发生共振 便产 生了波 反之 如果在压电晶片不外加周期脉冲 共振板在超声波的作用下产生振动 便在压电晶片的两端产生周期性的脉冲信号 这就是超声波接收的原理 1 2 3 超声波测距原理 超声波发射头在单片机的控制之下产生 40kHz 的脉冲信号给超声波发射电路 发 射电路对所接收到的脉冲信号做取反 放大等处理 用来驱动超声波发射头产生超声 波 同时 单片机启动其内部的计数器 对单片机内部的时钟进行计数 超声波在碰 到障碍物的时候发生反射 传回到超声波接收头 超声波接收头产生脉冲信号 通过 超声波接收电路对其整流 滤波和放大 最后返回到单片机 单片机在接收到返回信 号之后关掉内部的计数器 然后经过换算得出超声波在空气中传播的时间 t 根据温度 传感器所测得的温度计算出超声波的速度 v 根据公式可计算出障碍物到超2sv t 声波测距仪的距离 图 1 1 是超声波测距仪的基本原理 T 超声波发射 障碍物 S S H H 超声波接收 图 1 1 超声波的测距原理 桂林电子科技大学毕业设计 论文 报告用纸 第 4 页 共 53 页 2 使用器件介绍 2 1 超声波传感器简介 完成产生超 接收超声波这种功能的器件叫超声波传感器 超声波传感器里则主 要部件是压电晶片 发射头和接收头结构是一样的 即可以发射超声波 也可以接收 超声波 一般在探测方面用的都是小功率的超声波传感器 大功率的一般用在工业方 面的能量传递 超声探头的核心是其外壳中的压电晶片 构成晶片的材料 大小 形状不同 探 头的性能也是不同的 我们在用之前要先了解清楚该探头的性能参数 超声波传感器的主要性能指标包括 1 额定工作频率 超声波传感器的额定工作频率就是指压电晶片的共振频率 当外加在它两端的方波信号的频率和压电晶片的额定共振频率相近时 超声波传感器 输出的超声波能量最大 接收传感器灵敏度也最高 所以我们在使用超声波传感器时 首先要了解我们所用的超声波传感器的额定工作频率 然后单片机向它提供接近的方 波信号 本设计使用的超声波传感器的额定工作频率是 40kHz 在工作是单片机向它发 送的方波频率为 39 98kHz 接近它的额定工作频率 2 额定工作温度 磁性材料都有一个有磁性的上限温度 当温度超过这个值是 磁性材料将失去磁性 这个值叫该材料的居里点 压电材料也有一个居里点 超声波 传感器只有在这个温度之下才能正常工作 一般压电晶片所用材料的居里点比较高 在小功率系统中不需要考虑制冷的问题 而在医疗用的超声探头 由于功率比较大 需要有专门的制冷系统 超声波探头才能正常工作 3 探头灵敏度 探头的灵敏度主要取决于制造晶片本身 机电耦合系数越大 灵敏度就越高 2 2 DS18B20 的介绍 DS18B20 采用的是一线数据传输 只占用了上位机的一个 I O 口 它可以在一条数 据总线上挂好几个 DS18B20 在 DS18B20 内部有唯一的一个编码 上位机在对其操作时 首先要发送编码号 DS18B20 在接收编码号后与自己的编码号比较 相同则相应 不相 同则不相应 这常用语分布式测温场所 节省了 I O 口 简化了外围电路 方便了操 作 该芯片的工作电压范围为 3 V 5 5 V 测温范围为 55 125 在测量温度为 10 85 时 它的精度可达到 0 5 在测其它温度时误差会有点大 所以在应用 中一般不会超过这个范围 DS18B20 温度传感器测量的温度值是以 9 12 位数据形式传送的 上位机在接收到 它的温度数据后要转换为自己相应的位数来处理 在本设计中 温度数据转换为 16 为 数据来处理 DS18B20 允许的最大转换时间为 750 毫秒 上位机要在这个时间内完成数 据转换 在 DS18b20 内部有存储器 可存储温度报警值 在温度超过限值是它会向上 桂林电子科技大学毕业设计 论文 报告用纸 第 5 页 共 53 页 位机发送报警信号 比较常用的领域有低温恒温控制系统 工业测温系统 电子温度 计等 2 2 1 引脚的介绍 DS18B20 的引脚如图 2 1 所示 其引脚功能如表 2 1 所示 图 2 1 DS18B20 引脚图 表 2 1 DS18B20 详细引脚功能 序号名称引脚功能描述 1gnd数据地 2dq输入 输出引脚 开漏单总线接口引脚 寄生电源引脚 3vcc 可选择的电源引脚 当芯片工作于寄生电源时 此引脚接地 2 2 2DS18B20 的操作 由于 DS18B20 采用的是单总线协议方式 即在一根数据总线上实现数据的双向传 输 而 AT89C51 单片机在硬件上并不支持单总线协议 所以我们要想对其进行操作 必须用软件来模拟单总线协议的时序 用来完成对 DS18B20 的操作和读数据 单总线协议中 对读 写的数据位有着严格的时序要求 时序混乱 读出来的就 是乱码 单总线协议有严格的协议时序来保证数据传输的正确和完整 单总线协议定 义了几多种信号的时序 主要时序如下 1 初始化时序 2 读时序 2 写时序等 所有 时序都是将上位机作为主设备 而单总线器件则作为从设备 每次命令和数据的传送 都是有上位机主动启动写时序 要是要求单总线器件返回数据的话 则上位机在进行 写命令后 需马上启动读时序来完成数据的接收 数据 命令的传送都是由低位开始 传送的 图 2 1 18B20 复位的时序图 桂林电子科技大学毕业设计 论文 报告用纸 第 6 页 共 53 页 1 DS18B20 读时序 对 DS18B20 的读时序有读 0 和读 1 两个时序过程 对 DS18B20 的读时序是由上位机把 单总线拉低 并在 15 秒之内释放单总线 让 18B20 把数据传送到单总线上 18B20 要 完成一个读时序 至少要 60us 来完成 图 2 2 DS18B20 的读时序图 2 DS18B20 写时序 对 DS18B20 写时序和读时序一样也分为写 0 和写 1 两个时序过程 对 DS18B20 写 0 和写 1 的时序要求不同 在写 0 时序时 上位机要把单总线拉低至少 60us 以保证 18B20 能在 15us 至 45us 之间能正确地采样 I O 总线的 0 电平 当要写 1 时 上位 机要把单总线拉低之 并在 15us 之内把单总线释放 图 2 3 DS18B20 的写时序图 2 2 2 实际温度的求取 DS18B20 在接收到上位机传送过来的温度转换命令后 便开始启动转换 DS18B20 在温度转换完成后便把温度值以 16 位并带符号扩展的二进制数据的补码形式存储暂存 存储器里 单片机通过单总线接口可读到该数据 读取时首先读到的是低位 后读到 的是高位 数据以 0 0625 每 LSB 的形式表示 温度数值格式图 2 2 桂林电子科技大学毕业设计 论文 报告用纸 第 7 页 共 53 页 3 2 2 2 1 2 0 2 1 2 2 2 3 2 4 2 MSB LSB sssss 6 2 5 2 4 2 MSB LSB 图 2 2 温度的数据图 这些数值所对应的温度计算 如果符号位 S 0 可直接将二进制数转换为十进制数 如果符号位 S 1 则要先将补码数据变换为原码数据 才能转换为十进制数值 温度数 据存储在 DS18B20 的两个 8 位的 RAM 中 二进制中的符号位是有数据中的前五位组成 的 若测得的温度值大于 0 则这前 5 位便都为 0 上位机只要将温度数值数值乘于 0 0625 便可得到实际温度 若温度小于 0 则这前 5 位便都为 1 上位机在处理时要首 先把数据取反再乘以 0 0625 便可得到实际温度 2 2 3 DS18B20 的指令 由 DS18B20 的协议可知 主机上位机要控制 DS18B20 来完成温度的转换 就必须 经过三个步骤 1 每一次读写数据之前都要对 DS18B20 进行初始化并复位 复位成功后 再向 DS18B20 发送一个 ROM 指令 接着发送一个 RAM 指令 只有这样才能对 DS18B20 进行测温的操作 复位时要求上位机将单总线拉低 500 微秒 接着把总线释放 DS18B20 在接收到信号后 等待 16 至 60 微秒后 向上位机发出 60 至 240 微秒的应答 低脉冲 上位机在收到此低电平应答信号就表示复位成功 指令和功能如表 2 2 表 2 2 DS18B20 的指令表 指令名称代码指令功能 温度测量44H 启动 DS18B20 使其进入温度转换状态 转换时长上 限为 500ms 一般为 200ms 其结果将存入内部 9 位的 RAM 中 读暂存器 数据 0BEH读内部 RAM 中 9 个字节的温度值 写暂存器 数据 4EH 向内部 RAM 的 3 字节和 4 字节写上限温度和下限温度 数值命令 在这个命令之后是传两个字节数据值 跳过 ROM 操作 0CCH 忽略对 ROM 地址的操作 直接向 DS18B20 发送温度变 换的命令 桂林电子科技大学毕业设计 论文 报告用纸 第 8 页 共 53 页 上位机在采集到温度值之后 在现实前要进行相应的转换 如把二进制数转换为 十进制数或者 BCD 码 如果用 LCD 显示的话还要查表 找出对应的 ASCII 码 方便 LCD 显示 2 3 语音芯片 2 3 1 语音芯片 ISD1760 ISD1700 系列芯片是一种高度集成 高性能的语音芯片 它可多段录音 采样频率 可在 4kHz 12kHz 间调节 工作电压在 2 4V 5 5V 之间 本设计所用的芯片就是该系 列中的一款 1760 芯片 ISD1760 语音芯片可工作于按键模式和 SPI 模式 芯片由内部存储空间管理系统 来管理所存储的多段语音数据 这使在按键模式下也能实现多段语音的录放 该芯片 内部有振荡器 通过外部电阻可调节它的振荡频率 除此之外 芯片还带有自动增益 控制器 模拟线路输入电路 抗锯齿滤波电路 多级存储器 平滑滤波电路 音量控 制电路 还有直接用来驱动喇叭的 PWM 输出电路 在实际应用中该芯片常用作从机 受上位机的控制 这时芯片工作在 SPI 模式下 这时芯片的任何动作都可由上位机控 制 2 3 2 采样率和外接电阻的对应关系 采样频率和电阻的对应关系如表 2 3 表 2 3 采样频率和电阻的对应关系 采样频率 KHz 1286 45 34 外接电阻 K 5380100120160 上位机可通过 SPI 命令控制芯片选择外部时钟或选择内部时钟 在选用外部时钟 时 需要将 Rosc 端口上的电阻去掉 时钟则从该脚输入芯片 2 3 3SPI 协议介绍 SPI Serial Peripheral Interface 顾名思义就是串行外围设备接口 它是 一种高速的全双工同步的通信 在芯片的管脚上只占用四根线 节约了芯片的管脚 同时为 PCB 的布局上节省了空间 提供了方便 正是出于这种简单易用的特性 现在 越来越多的芯片集成了这种通信协议 SPI 是一个环形总线结构 由 ss cs sck mosi miso 构成 其时序其实很简单 主要是在 sck 的控制下 两个双向移位 寄存器进行数据交换 上升沿发送 下降沿接收 高位先发送 上升沿到来的时候 sdo 上的电平将被发送到从设备的寄存器中 下降沿到来的时候 sdi 上的电平将被接 收到主设备的寄存器中 时序图如图 2 3 桂林电子科技大学毕业设计 论文 报告用纸 第 9 页 共 53 页 图 2 3 SPI 时序图 mosi miso 相对于主机而言的 根据以上分析 一个完整的传送周期是 16 位 即 两个字节 因为 首先主机要发送命令过去 然后从机根据主机的名准备数据 主机 在下一个 8 位时钟周期才把数据读回来 SPI 总线是 Motorola 公司推出的三线同步接口 同步串行 3 线方式进行通信 一 条时钟线 SCK 一条数据输入线 MOSI 一条数据输出线 MISO 用于 CPU 与各种外围器 件进行全双工 同步串行通讯 SPI 主要特点有 可以同时发出和接收串行数据 可以 当作主机或从机工作 提供频率可编程时钟 发送结束中断标志 写冲突保护 总线竞争 保护等 SPI 总线有四种工作方式 SP0 SP1 SP2 SP3 其中使用的最为广泛的是 SPI0 和 SPI3 方式 SPI 模块为了和外设进行数据交换 根据外设工作要求 其输出串行同 步时钟极性和相位可以进行配置 时钟极性 CPOL 对传输协议没有重大的影响 如果 CPOL 0 串行同步时钟的空闲状态为低电平 如果 CPOL 1 串行同步时钟的空闲状态 为高电平 时钟相位 CPHA 能够配置用于选择两种不同的传输协议之一进行数据传输 如果 CPHA 0 在串行同步时钟的第一个跳变沿 上升或下降 数据被采样 如果 CPHA 1 在串行同步时钟的第二个跳变沿 上升或下降 数据被采样 SPI 主模块和与之 通信的外设音时钟相位和极性应该一致 SPI 接口在模式 0 下输出第一位数据的时刻 SPI 接口在模式 0 下输出第一位数据的时刻 SPI 接口有四种不同的数据传输时序 取 决于 CPOL 和 CPHL 这两位的组合 图 2 3 中表现了这四种时序 时序与 CPOL CPHL 的 桂林电子科技大学毕业设计 论文 报告用纸 第 10 页 共 53 页 关系也可以从图中看出 图 1CPOL 是用来决定 SCK 时钟信号空闲时的电平 CPOL 0 空闲电平为低电平 CPOL 1 时 空闲电平为高电平 CPHA 是用来决定采 样时刻的 CPHA 0 在每个周期的第一个时钟沿采样 CPHA 1 在每个周期的第二个 时钟沿采样 由于我使用的器件工作在模式 0 这种时序 CPOL 0 CPHA 0 所以将 图 1 简化为图 2 只关注模式 0 的时序 图 2 我们来关注 SCK 的第一个时钟周期 在时 钟的前沿采样数据 上升沿 第一个时钟沿 在时钟的后沿输出数据 下降沿 第二 个时钟沿 首先来看主器件 主器件的输出口 MOSI 输出的数据 bit1 在时钟的 前沿被从器件采样 那主器件是在何时刻输出 bit1 的呢 bit1 的输出时刻实际上在 SCK 信号有效以前 比 SCK 的上升沿还要早半个时钟周期 bit1 的输出时刻与 SSEL 信号没有关系 再来看从器件 主器件的输入口 MISO 同样是在时钟的前沿采样从器件 输出的 bit1 的 那从器件又是在何时刻输出 bit1 的呢 从器件是在 SSEL 信号有效后 立即输出 bit1 尽管此时 SCK 信号还没有起效 关于上面的主器件和从器件输出 bit1 位的时刻 可以从图 2 4 2 5 中得到验证 图 2 4 时序图 注意图 2 4 中 CS 信号有效后 低电平有效 注意 CS 下降沿后发生的情况 故 意用延时程序延时了一段时间 之后再向数据寄存器写入了要发送的数据 来观察主 器件输出 bit1 的情况 MOSI 可以看出 bit1 值为 1 是在 SCK 信号有效之前的半 个时钟周期的时刻开始输出的 与 CS 信号无关 到了 SCK 的第一个时钟周期的上升 沿正好被从器件采样 图 2 5 时序图 图 2 5 中 注意看 CS 和 MISO 信号 我们可以看出 CS 信号有效后 从器件立刻 桂林电子科技大学毕业设计 论文 报告用纸 第 11 页 共 53 页 输出了 bit1 值为 1 通常我们进行的 spi 操作都是 16 位的 图 2 5 记录了第一个 字节和第二个字节间的相互衔接的过程 第一个字节的最后一位在 SCK 的上升沿被采 样 随后的 SCK 下降沿 从器件就输出了第二个字节的第一位 图 2 6 时序图 2 3 4SPI 总线协议介绍 接口定义 传输时序 1 技术性能 SPI 接口是 Motorola 首先提出的全双工三线同步串行外围接口 采用主从模式 Master Slave 架构 支持多 slave 模式应用 一般仅支持单 Master 时钟由 Master 控制 在时钟移位脉冲下 数据按位传输 高位在前 低位 在后 MSB first SPI 接口有 2 根单向数据线 为全双工通信 目前应用中的数据 速率可达几 Mbps 的水平 2 接口定义 SPI 接口共有 4 根信号线 分别是 设备选择线 时钟线 串行输 出数据线 串行输入数据线 图 2 7 接线 MOSI 主器件数据输出 从器件数据输入 MISO 主器件数据输入 从器件数据输出 SCLK 时钟信号 由主器件产生 SS 从器件使能信号 由主器件控制 2 3 5 传输时序 SPI 接口在内部硬件实际上是两个简单的移位寄存器 传输的数据为 8 位 在主器 件产生的从器件使能信号和移位脉冲下 按位传输 高位在前 低位在后 如下图所 示 在 SCLK 的下降沿上数据改变 上升沿一位数据被存入移位寄存器 桂林电子科技大学毕业设计 论文 报告用纸 第 12 页 共 53 页 SPI 接口没有指定的流控制 没有应答机制确认是否接收到数据 3 硬件电路设计 前面主要介绍了超声波的特性和设计方案的选择情况 下面将着重介绍在前面方 案的情况下硬件电路的设计和方案 3 1 整体电路设计 3 1 1 单片机定型 在最初设计时 对于程序有多大没有什么概念 所以选用的单片机是 AT89S51 系 统在测距 显示和测温 显示两个功能单独实现时 51 单片机还是可以胜任的 但是 在两个程序整合之后 由于程序的加大 51 单片机就不行了 由于内存的不够 在 LCD 上没有什么显示 那时候还没有注意到是程序过大这个原因 一直以为是程序不正 确 后来我用注释符 把一些程序注释掉 然后看程序是否能执行 结果程序能 执行 然后我把注释掉的程序一点点的把前面的注释符去掉 最后 在加入某一个子 程序时 程序不执行了 而那行程序是一个延时程序 这才使我想到是程序过大这个 原因 这才换了 AT89S52 在换了 AT89S52 之后 把之前注释掉的程序都加进去 程序 执行 说明确实是程序问题 在后来添加语音功能程序时 也有遇到类似问题 当时 看了一下 hex 文件 有 12k 也怀疑是新片内存问题 因为 52 单片机只有 8k 内存 后 来多按了几次复位键 程序就执行了 之前还考虑用 54 单片机的 在它能执行之后 就不换了 所以最终选定了 52 单片机 3 1 2 整体设计 本控制系统的控制核心器件是 AT89S52 超声波发射电路在单片机的控制之下 对 单片机产生的 40kHz 方波频率的信号进行电压和电流的放大 来驱动超声波发射头的 震荡片震荡 来产生超声波 超声波接收电路主要功能是对超声波接收头产生的信号 进行整流和放大 使其达到 TTL 电平标准 使单片机可以采集到回波信号 此外 为 了提高测距系统的精度 在测距之前 对现场环境的温度进行一次测量 整体结构图 包括单片机主控电路 超声波发射电路 超声波接收电路 温度检测电路 按键电路 1602LCD 显示电路 整体结构如图 3 1 桂林电子科技大学毕业设计 论文 报告用纸 第 13 页 共 53 页 单 片 机 电 路 按键电路 1602 显示电路 超声波发射电路 超声波接收电路 测温电路 PWM 语音电路 报警电路 图 3 1 整体结构图 3 2 超声波测距系统设计 3 2 1 超声波发射器的注意事项 超声波发射电路在接收到 40kHz 的方波信号后向某一方向发射超声波 与此同时 单片机启动内部计数器开始计数 单片机这时在等待超声波接收电路连接的 I O 口电 平的变化 超声波在空气传播过程中碰到障碍物反射后反射回来 超声波接收电路在 收到反射波后向单片机返回一个低电平信号 单片机在收到这个信号后关闭计数器 并读取计数值 计算出超声波的传播时间 在忽略温度对超声波速度的影响时 可认 为超声波在空气中的传播速度为 340m s 根据计数器换算出来的时间t 利用公式 就可以计算出超声波发射点距障碍物的距离 考虑温度影响时 可利用温3402st 度算出现场超声波速度 再套用公式计算 这是利用了时间差来测距的一种方法 在实际测量中有 5 个因素限制了超声波测距的量程 1 超声波的峰峰值 这主要由超声波发射头输入脉冲波的幅值所决定的 2 障碍物的质地 无法改变的一个因素 3 在障碍物平面上入射波和反射波之间的夹角 在测量时尽量减小这个夹角 4 超声波接收头的灵敏度 无法改变的一个因素 5 接收电路的整流 滤波和放大的能力 这在接收电路上可以做到提高 在实际测量中有 4 个因素影响超声波测距的精度 1 超声波波束对探测目标的入射角 在测量时尽量减小这个夹角 2 距离越远 超声波衰减越大 回波越弱 为了提高精度 在实际测量时 可 以不在第一个回波的过零点触发 也可以通过对回波的做平波后再反馈回单片机 但 是这会造成延时 所以在程序中要加以修正 3 超声波速度是受多种因素影响的 其中温度是主要影响因素 在测距时确保 传播速度准确是非常关键的 准确的超声波传播速度是保证测量精度的必要条件 所 以测温是非常有必要的 桂林电子科技大学毕业设计 论文 报告用纸 第 14 页 共 53 页 4 是把发射和反射之间的夹角 2理想为零的情况下的距离 而实际2Sv t 情况下 2是因不同情况而不同的 在很小的情况下 可直接按式进行距 2Sv t 离的计算 当夹角很大 精度要求高的时候 必须进行距离修正 修正公式 3 1 3 1 cos 2 sv t 实际的调试过程中 要注意发射 接收探头在电路板上的安装位置 因为超声波 发射 接收头有一个有效测量夹角 本设计所用的是有效测量夹角为 45 的发射 接 收头 3 2 2 超声波发射电路 人们对超声波做了多年的研究 对它的原理有了比较全面的了解 在这基础上 研制出了很多成熟的超声波发射 接收电路 它们各有特点 本次设计就是借鉴了前 人成熟的电路知识 并加上自己多方查看资料 比较各方优缺点 并根据本设计的性 能指标 最终确定了这个发射电路 电路图 3 2 图 3 2 发射电路模块 图中 单片机理论上可产生幅值为 5V 频率为 40kHz 的方波 经过反相器的作用 在超声波发射头 T1 的两端产生幅值为 10V 频率为 40kHz 的方波 用来驱动其发射超 声波 在实际用示波器测量时 发现单片机产生的方波幅值为 4 56V 74LS04 反向之 后 输出到超声波发射头的方波幅值为 7 95V 超声波的能量与驱动频率的幅值直接相 关 而超声波的能量有关系到超声波的传播距离 所以 在要求距离较远的时候 可 以在单片机输出的方波上加一个比较器 使比较器输出的电压较高 这样可以使超声 波传播的更远 所测的距离更长 另一个办法还可以在现有的基础上把 74LS04 的电源 电压适当的提高 这样也可以使测量距离有一定的提高 但是电压不能太高 太高了 桂林电子科技大学毕业设计 论文 报告用纸 第 15 页 共 53 页 会烧芯片 超声波发射头是存在杂散电容的 而 74LS04 的单反相器的驱动电流小于 10mA 在电路上利用两个反相器并联使用是为了增加它的驱动电流 使超声波发射头 接收的信号少受杂散电容的影响 尽量接近方波 由于本设计所用的超声波发射器件 是压电器件 所以其发出功率只与方波幅值有关 所以反相器并联并不是为了增加电 流去驱动超声波发射头的 图中电阻的取值是 1K 目的是为了限制电流过大 3 2 3 超声波接收电路 超声波接收头在接收到超声波时 两引脚间的电压差是比较小的 必须经过整流 滤波和放大 这里选择 SONY 公司的一款集成芯片 CX20106A CX20106A 设计之初是针 对红外线检波接收设计开发的 红外载波频率为 38 kHz 与测距的超声波频率比较接 近 且它功能强 性能优越 外围接口简单 成本低等 所以本次设计选用它做信号 的处理和放大 CX20106A 的内部主要结构图如图 3 3 主要包括了前置放大 限幅放 大 带通滤波 检波比较器 整形电路等组成 实际接线图 3 4 图 3 3 CX20106A 芯片内部结构图 图 3 4 40KHz 超声波接收电路 桂林电子科技大学毕业设计 论文 报告用纸 第 16 页 共 53 页 电路中 超声波接收传感器经过一个滤波电容连接到 CX20106 的 1 脚上 电容的 取值根据公式 计算出来 式中 T 为滤波的下限周期 在设计时取 3 5 CTR R 50K 算出来的电容式大于 1500pF 再根据其他人的经验公式选取1 42000T 104 0 1uF 电容比较好 故也选了 104 的电容 5 脚的电阻值决定了 CX20106 中带通 滤波的中心频率 其电阻越大 中心频率越低 由于超声波的频率是 40kHz 故 5 脚电 阻去 210K 其它根据网上经验电路设计 发光二极管是为了调试方便加上去的 在超 声波传感器接收到信号时 7 脚会输出一个低电平信号 灯泡会发光 3 2 4 超声波电路调试方法和遇到的问题 调试过程 按照上面的电路做出硬件之后 首先要对其硬件电路做一次电器连接上的检查 在检查正确的情况下就可以拿去做功能调试了 我手上有一个超声波测距的集成模块 在调试时我用到了这个模块 我用单片机控制该模块发射超声波 然后给接收电路通 上电 观察接收电路上发光二极管是否发光 在程序里 单片机是控制超声波模块隔 一段时间就发射一次超声波 如果接收电路收到超声波模块发射的超声波 那么发光 二极管应该会有规律的闪烁 这也是在制作超声波接收电路时加了这个二极管的缘故 在调试时看到了发光二极管的闪烁 证明接收电路可以启动并能实现接收功能 在调超声波发射电路时 首先要一个波形发生器 一个示波器 让波形发生器产 生 40KHz 的方波 向发射电路的输入口输入 给发射电路供电 用示波器显示超声波 传感器两个引脚之间的波形 如果是 40kHz 的波形 并且有方波的样子的话 发射电 路就可以正常发射超声波了 而发射的超声波能量则由方波的幅值决定 在超声波传感器两端的波形正常的情况下 还要验证超声波传感器是否正常发射超声 波 还要用之前调好的超声波接收电路来一起调 发射电路供 40KHz 的方波 使发射 头和接收头对齐 如果接收头的二极管一直发光的话说明发射电路也能正常工作 遇到的问题 在两个电路都调通之后就可以调测量距离了 由于发射和接收电路都很简单 所 以一次就调好了 由于开始是分发射和接收两个模块来做的 没有考虑到它们之间的 距离问题 后来再做一次板时把它们做到了一块板上 而且两个超声波传感器没有足 够的距离 所以做成一块板那个测不了距离 因为超声波发射头发射的超声波没有经 过反射就直接被超深波接收头接收到了 在超声波接收电路中用到的 cx20106 芯片中 有一个带通滤波器 它的带通中心频率 f0 是由 5 脚的电阻决定的 电阻越大 中心频 率 f0 就越低 在电阻为 200K 时 滤波中心频率为 41KHz 在电阻为 220K 时 滤波中 心频率为 39kHz 所以 5 脚接 210K 是比较合适的 在开始时接了 200K 的也能用 信号 处理不是很合适 测距距离只有 40cm 后来改了大了一点 测量距离达到了 2 米 在 以后的应用中建议用一个 150k 的电阻串联一个 100k 的滑动变阻器 这样可以调出最 佳的电阻 桂林电子科技大学毕业设计 论文 报告用纸 第 17 页 共 53 页 3 3 显示器 3 3 1 显示器选择 单片机数据显示比较常用的有液晶和 LED 在本设计中 由于要显示的信息有温度 和距离 而且精度要求精确到小数点后一位 如果采用 LED 显示 所需要的 LED 位数 太多 控制口也占掉很多 在多位同时显示的时候还要动态扫描 CPU 在动态扫描显示 时不能作别的事 所以选择用液晶显示 在液晶型号上有较常接触的有 1602 和 12864 由于用 1602 已经可以满足要求 而且没有显示汉字的需要 所以选择价格比 较便宜的 1602 作为显示器 1602 有以下特点 采用单 5V

温馨提示

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

评论

0/150

提交评论