基于单片机光纤测距系统的设计与实现

摘要 光纤由于其频带宽 损耗低及抗干扰能力强等优点已被广泛地应用在通信 电子及电力方面 是我们生产生活中必不可少的媒介。 在实际的光纤实验 安装 运营和维护工作中 一种精准 轻便和易操作的光纤测距系统显得尤为重要 设计中采用基于单片机的激光测距系统, 以相位式激光测距法为核心 包括显示模块 模式选择模块 按键输入模块 该系统具有激光测距、 复位 模式选择 校准 数值输入与显示功能 整个系统与传统的光纤测距仪相比有着低成本 轻便 功能人性化、 便于操作等优点
关键词 光纤 相位式激光测距 单片机 便携式
Abstract :Optical fiber has been widely used in communications,electronics and power due to its advantages of frequency bandwidth,low loss and strong anti-interference ability.It is an indispensable medium in our production and life.In the actual optical fiber experiment,installation,operation and maintenance work,a precise,lightweight and easy -to -operate optical fiber ranging system is particularly important.In this design,a laser ranging system based on a single chip microcomputer is used,with the phase laser ranging method as the core.Including display module,mode selection module,key input module.The system has functions of laser ranging,reset,mode selection,calibration,numerical input and display.
Keywords :optical fiber,phase laser ranging,single chip computer,portable
在实际的生产生活中 在光纤测试 安装维护中 如何快速便捷地得知该段光纤长度显得尤为重要。 目前有多种光纤测距方法, 包括光时域反射仪 OTDR )、 光频域反射仪 OFDR )、 光低相干反射仪( OLCR   本设计基于单片机 以相位式测距法为核心, 加入多种个性化功能 使得该系统具有低成本 轻便 功能人性化、 便于操作等优点

1 相位式激光测距

相位式激光测距是用调制信号将发射激光进行调制 通过测量连续的被调制的光波信号在被测距离上往返所产生的相位差, 间接得测定激光的传播时间 从而计算出待测距离 原理图如图 1 2 所示

假设调制光波为频率为 f 的正弦波 根据波动方程可知 光在空气传播过程中产生的相位位移与待测距离 L 的关系如公式所示
其中 f 为正弦波频练 L 为待测距离 c 为光在空气中的传 播速度
因此通过计算可得待测距离 L
光在介质中传播频率不变 光在空气中折射率为 1 在光纤传播中, 光纤的折射率大于空气的折射率 与在空气中不同 因此在光纤测距中需要关注光纤自身的折射率。
相位式激光测距法在大多数情况下适应于中短距离的测距, 其精度可达毫米 微米级 是目前测距精度最高的一种方式

2 总体设计方案

为实现基于单片机的光纤测距系统 采用 STC89C52 单片机为处理器, 激光模块以相位式激光测距法为核心与单片机进行数据交互, 按键部分包括测距按键 复位按键 模式选择按键 、校准按键及方便用户自定义输入的 4 * 4 键盘输入矩阵 实现多种功能便于用户选择操作, LCD1602 显示模块可以显示光纤测距结果及用户操作选择, 如图 3 所示 用户通过该系统可以实现激光测距、 系统复位 光纤波长选择 对待测光纤进行系统校准等功能。
激光模块与待测光纤采用自制的双端光纤连接头 为双端 FC 圆型带螺纹接口 , 光纤双端分别与激光模块的发射端与接收端对接, 连接卡口的设计主要目的是为了让激光模块与光纤精准对接, 使激光的发射与接收损失降低 提高光纤测距的灵敏度与准确性。

3 硬件电路设计

3.1 电源模块

基于 LM317 的电源模块可稳定为激光模块 STC89C52 模块以及 LCD1602 模块供电 激光模块需要提供 3.3V 电 源 ,STC89C52 单片机需要提供 5V 电源 LCD1602 模块需要提供5V 电源

3.2 激光模块

测距系统所需要的激光模块采用 SK80 工业级高精度激光测距传感器。 采用相位测距原理 利用激光在空气中的传播速度一定的原则, 进而得到与被测物之间的距离值 激光测距传感器测量范围为 0.03~80m 测量精度 标准差 ±1mm 激光波长为 635nm 我们采用双端测量的方式 用双端光纤连接头直接将光纤两端与激光模块的发射端和接收端相连。

3.3 STC89C52 单片机处理器

采用 STC89C52 的原因是该款单片机足够实现需要的功能, 并且该款单片机与 STM32 相比成本更低 耗能更低   单片机主要是接收按键的控制信息, 与激光模块进行数据的交互 包括指定发送以及返回数据的接收, 内部进行返回数据的计算及格式转换, 同时控制显示模块进行数据的显示

3.4 LCD1602 显示模块

LCD1602 显示屏是目前广泛使用的一种字符型液晶显示模块。 由字符型液晶显示屏 LCD )、 控制驱动主电路 HD44780及其扩展驱动电路 HD44100 以及少量电阻 电容元件和结构件等组成。 LCD1602 与单片机采用直接控制的方式 用以显示所测得的光纤长度和用户按键选择模式。

3.5 按键模块

按键模块包括独立按键与 4 * 4 键盘矩阵 分为测距按键 、复位按键、 模式选择按键 校准按键和 4 * 4 用户输入键盘矩阵 。测距按键实现的功能为开始激光测长, 通过单片机给激光模块发送测量指令, 测量指令包括单次测量与多次测量 为了模块的测长稳定, 目前采用多次测量的方式 持续测量 。复位按键主要的作用是, 控制激光模块的关机与开机 并重置 LCD1602 显示信息 以达到复位重新测量的目的 。模式选择按键的设置主要是为了针对不同折射率的光纤进行不同的测量计算, 模式选择按键采用循环设置的方式 我们设置了四种不同的设定, 包括 1.477 1.4719 1.4680 1.4685 。校准按键设置的目的是在用户不知道光纤折射率的情况下进行初步的校准, 我们在测量之前先用一根同款短的光纤进行校准, 再进行待测光纤的测长 我们按下校准按键后 可通过 4*4 按键矩阵进行实际校准光纤的长度输入 确认后单片机可进行折射率的计算。

4 软件编程实现

基于 C 语言进行系统的功能软件实现 主要包括系统初始化、 LCD 显示功能 I / O 通信 独立按键与矩阵键盘输入功能以及计算功能。 系统初始化包括单片机自身的寄存器 时钟与串口等的初始化, LCD1602 显示屏的初始化 同时包括对计算使用的参数进行初始化。 LCD1602 显示部分包括指针移动 字符显示和字符串显示等功能。 按键部分包括了独立按键与矩阵键盘输入, 当按下独立功能按键时 对应的单片机 I / O 被置于低电平, 程序选择对应的功能 测距按键 I / O 口置于低电平后 单片机向激光测距模块发送持续测量指令, 同时持续接收串口返回信息, 将返回的信息进行解析 与初始化的折射率等参数计算后得到具体的距离数值, 这时通过 LCD1602 显示出来 模式选择功能, 程序采用循环的方式进行多种不同的参数设定 更新计算使用的参数。 对于校准功能 当我们按下校准按键后 程序进入用户输入部分, 此时其他按键失效 用户使用矩阵键盘进行数字输入, 程序检测输入 当用户按下确认键后 程序将用户的输入更新到计算参数中。 软件实现框图如图 4 所示

5 结束语

本文基于 STC89C52 单片机实现了激光测距 模式参数选择、 系统复位 用户自定义校准 数值解析计算 结果显示等功能 ,使用户可以快速便捷地进行光纤测距。 本系统的设计与实现为光纤测距提供了一种低成本、 轻便 功能人性化 便于操作的方法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/758514.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

PingCastle 3.2.0.1 - Active Directory 安全检测和评估

PingCastle 3.2.0.1 - Active Directory 安全检测和评估 活动目录域安全分析工具 请访问原文链接:https://sysin.org/blog/pingcastle/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org 在 20% 的时间内获得 80% 的…

LitelDE安装---附带每一步截图以及测试

LiteIDE LiteIDE 是一款专为Go语言开发而设计的开源、跨平台、轻量级集成开发环境(IDE),基于 Qt 开发(一个跨平台的 C 框架),支持 Windows、Linux 和 Mac OS X 平台。LiteIDE 的第一个版本发布于 2011 年 …

[小试牛刀-习题练]《计算机组成原理》之数据信息的表示、运算方法与运算器

【数据信息的表示运算方法与运算器】 1、【机器码转换】X-0.11111111,X的补码是 1.00000001 。 最高位符号位为负值: 反码法——绝对值按位取反末位加一,1.000000000.000000011.00000001扫描法——从右往左找到第一个为1的&#xff…

SpringBoot的自动配置核心原理及拓展点

Spring Boot 的核心原理几个关键点 约定优于配置: Spring Boot 遵循约定优于配置的理念,通过预定义的约定,大大简化了 Spring 应用程序的配置和部署。例如,它自动配置了许多常见的开发任务(如数据库连接、Web 服务器配…

PHP校园论坛-计算机毕业设计源码08586

摘 要 本项目旨在基于PHP技术设计与实现一个校园论坛系统,以提供一个功能丰富、用户友好的交流平台。该论坛系统将包括用户注册与登录、帖子发布与回复、个人信息管理等基本功能,并结合社交化特点,增强用户之间的互动性。通过利用PHP语言及其…

核方法总结(四)——高斯过程回归学习笔记

一、定义 基于核方法的线性回归模型和传统线性回归一样,可以用未知数据进行预测,但不能确定 预测的可信度。在参考书第二章中可知,基于贝叶斯方法可以实现对未知数据依概率预测,进而可得到预测的可信度。这一方法中,通…

试用笔记之-收钱吧安卓版演示源代码,收钱吧手机版感受

首先下载: https://download.csdn.net/download/tjsoft/89499105 安卓手机安装 如果有收钱吧帐号输入收钱吧帐号和密码。 如果没有收钱吧帐号点我的注册 登录收钱吧帐号后就可以把手机当成收钱吧POS机用了,还可以扫客服的付款码哦 源代码技术交流QQ:42…

数据架构深度解析

写在前面 在信息化高度发达的今天,数据已成为企业最宝贵的资产之一。如何有效地管理和利用这些数据,以支持企业的决策和业务运营,成为企业面临的重要挑战。数据架构作为数据管理的基础,其设计合理与否直接关系到数据的质量和价值。…

Vue3实现点击按钮实现文字变色

1.动态样式实现 1.1核心代码解释: class"power-station-perspective-item-text": 为这个 span 元素添加了一个 CSS 类,以便对其样式进行定义。 click"clickItem(item.id)": 这是一个 Vue 事件绑定。当用户点…

算法金 | 协方差、方差、标准差、协方差矩阵

大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 抱个拳,送个礼 1. 方差 方差是统计学中用来度量一组数据分散程度的重要指标。它反映了数据点与其均值之间的偏离程度。在…

【LINUX】内核源码文件系统调用相关摸索

首先,先看看想测试那个系统调用,在应用层,如果使用C语言编程一般我们一来就是open函数,实际在测试的时候,直接用touch xxx.txt然后 echo "xxx" >> xxx.txt,这样就完成了文件创建和写文件的…

idea 用久了代码提示变慢卡顿优化

idea 用久了代码提示变慢卡顿优化 修改虚拟机配置 修改编译构建堆内存

CesiumJS【Basic】- #028 天空盒

文章目录 天空盒1 目标2 代码2.1 main.ts3 资源天空盒 1 目标 配置显示天空盒 2 代码 2.1 main.ts import * as Cesium from cesium;// 创建 Cesium Viewer 并配置地形数据和天空盒 const viewer = new Cesium.Viewer(

【Python系列】列表推导式:简洁而强大的数据操作工具

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

最强文生图模型Stable Diffusion 3 Medium 正式开源

Stability AI 宣布 Stable Diffusion 3 Medium 现已开源,是 Stable Diffusion 3 系列中最新、最先进的文本生成图像 AI 模型 —— 官方声称是 “迄今为止最先进的开源模型”,其性能甚至超过了 Midjourney 6。 Stable Diffusion 3 Medium 模型规格参数达到…

用友U8 Cloud smartweb2.showRPCLoadingTip.d XXE漏洞复现

0x01 产品简介 用友U8 Cloud 提供企业级云ERP整体解决方案,全面支持多组织业务协同,实现企业互联网资源连接。 U8 Cloud 亦是亚太地区成长型企业最广泛采用的云解决方案。 0x02 漏洞概述 用友U8 Cloud smartweb2.showRPCLoadingTip.d 接口处存在XML实体,攻击者可通过该漏…

redis实战-短信登录

基于session的登录流程 session的登录流程图 1. 发送验证码 用户在提交手机号后,会校验手机号是否合法,如果不合法,则要求用户重新输入手机号 如果手机号合法,后台此时生成对应的验证码,同时将验证码进行保存&#x…

昇思25天学习打卡营第七天|模型训练

背景 提供免费算力支持,有交流群有值班教师答疑的华为昇思训练营进入第七天了。 今天是第七天,前六天的学习内容可以看链接 昇思25天学习打卡营第一天|快速入门 昇思25天学习打卡营第二天|张量 Tensor 昇思25天学习打卡营第三天|数据集Dataset 昇思25天…

51单片机第17步_外部中断

本章重点学习外部中断。 1、外部中断0框图&#xff1a; 2、外部中断1框图&#xff1a; 3、程序举例&#xff1a; #include <REG51.h> //包含头文件REG51.h,使能51内部寄存器; #include <intrins.h> //包含头文件intrins.h,要放在stdio.h的头文件之前; //使能…

[leetcode]圆圈中最后剩下的数字/ 破冰游戏

. - 力扣&#xff08;LeetCode&#xff09; class Solution {int f(int num, int target) {if (num 1) {return 0;}int x f(num - 1, target);return (target x) % num;} public:int iceBreakingGame(int num, int target) {return f(num, target);} };