当前位置: 首页 > news >正文

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

摘要 光纤由于其频带宽 损耗低及抗干扰能力强等优点已被广泛地应用在通信 电子及电力方面 是我们生产生活中必不可少的媒介。 在实际的光纤实验 安装 运营和维护工作中 一种精准 轻便和易操作的光纤测距系统显得尤为重要 设计中采用基于单片机的激光测距系统, 以相位式激光测距法为核心 包括显示模块 模式选择模块 按键输入模块 该系统具有激光测距、 复位 模式选择 校准 数值输入与显示功能 整个系统与传统的光纤测距仪相比有着低成本 轻便 功能人性化、 便于操作等优点
关键词 光纤 相位式激光测距 单片机 便携式
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 单片机实现了激光测距 模式参数选择、 系统复位 用户自定义校准 数值解析计算 结果显示等功能 ,使用户可以快速便捷地进行光纤测距。 本系统的设计与实现为光纤测距提供了一种低成本、 轻便 功能人性化 便于操作的方法

相关文章:

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

摘要 : 光纤由于其频带宽 、 损耗低及抗干扰能力强等优点已被广泛地应用在通信 、 电子及电力方面 , 是我们生产生活中必不可少的媒介。 在实际的光纤实验 、 安装 、 运营和维护工作中 , 一种精准 、 轻便和易操作的光纤测距系统显得尤为重…...

python项目实战——人生重开模拟器

文章目录 1.菜单栏的编写2.玩家确定颜值、体质、智力、家境3.生成性别4.设定角色出生点5.各个年龄段的变化5.1 幼年阶段5.2 青年阶段5.3中年阶段5.4 晚年阶段 6.整体代码 人生重开模拟器是一款文字类小游戏. 玩家可根据提示输入角色的初始属性之后, 就可以开启不同的人生经历. …...

小时候的子弹击中了现在的我-hive进阶:案例解析(第18天)

系列文章目录 一、Hive表操作 二、数据导入和导出 三、分区表 四、官方文档(了解) 五、分桶表(熟悉) 六、复杂类型(熟悉) 七、Hive乱码解决(操作。可以不做,不影响) 八、…...

电影票房预测管理系统设计

电影票房预测管理系统的开发涉及多个层面的设计,包括但不限于数据收集、数据分析、预测模型构建、用户界面设计和系统集成。以下是一个基本的系统设计框架: 1. 数据收集模块:这是整个系统的基础。需要收集的数据可能包括历史票房数据、上映电…...

正则表达式与Pyhton

一、正则表达式的规则 1、支持普通字符匹配 2、元字符,一个符号匹配一堆字符 \d 匹配数字 \w 匹配数字、字母、下划线 \D \d的取反,除了数字全部匹配 \W \w的取反 [abc] 匹配字母a、b、c [^abc] [abc]的取反&#xf…...

Transformer常见面试题

目录 1.Transformer为何使用多头注意力机制?(为什么不使用一个头) 2.Transformer为什么Q和K使用不同的权重矩阵生成,为何不能使用同一个值进行自身的点乘? (注意和第一个问题的区别) 3.Transf…...

Linux——vim的配置文件+异常处理

vim的配置文件: [rootserver ~]# vim /etc/vimrc # 输入以下内容 set nu # 永久设置行号 shell [rootserver ~]# vim /etc/vimrc 或者 vim ~/.vimrc set hlsearch "高亮度反白 set backspace2 "可随时用退格键删除 set autoindent…...

node mySql 实现数据的导入导出,以及导入批量插入的sql语句

node 实现导出, 在导出excel中包含图片(附件) node 实现导出, 在导出excel中包含图片(附件)-CSDN博客https://blog.csdn.net/snows_l/article/details/139999392?spm1001.2014.3001.5502 一、效果 如图: 二、导入 …...

Webpack: 底层配置逻辑

概述 Webpack 5 提供了非常强大、灵活的模块打包功能,配合其成熟生态下数量庞大的插件、Loader 资源,已经能够满足大多数前端项目的工程化需求,但代价则是日益复杂、晦涩的使用方法,开发者通常需要根据项目环境、资源类型、编译目…...

数字图像处理期末复习题1

个人名片: 🎓作者简介:嵌入式领域优质创作者🌐个人主页:妄北y 📞个人QQ:2061314755 💌个人邮箱:[mailto:2061314755qq.com] 📱个人微信:Vir2025WB…...

poi-tl 生成 word 文件(插入文字、图片、表格、图表)

文章说明 本篇文章主要通过代码案例的方式,展示 poi-tl 生成 docx 文件的一些常用操作,主要涵盖以下内容 : 插入文本字符(含样式、超链接)插入图片插入表格引入标签(通过可选文字的方式,这种方…...

centos上部署Ollama平台,实现语言大模型本地部署

网上有很多大模型,很多都是远程在线调用ChatGPT的api来实现的,自己本地是没有大模型的,这里和大家分享一个大模型平台,可以实现本地快速部署大模型。 Ollama是一个开源项目,它提供了一个平台和工具集,用于部…...

Java学习 - Redis Redigo简单介绍

Redigo 驱动下载 go get github.com/garyburd/redigo/redis获取redis服务器连接 c, err : redis.Dial("tcp", "127.0.0.1:6379")if err ! nil {panic(err) }defer c.Close()命令使用 v, err : c.Do("SET","hello","world&quo…...

【鸿蒙学习笔记】ArkTS组件 Blank

官方文档:Blank 目录标题...

如何使用Spring Boot进行单元测试

如何使用Spring Boot进行单元测试 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们将探讨如何在Spring Boot项目中进行单元测试,确保代码质量…...

2024steam夏促商店打不开、steam活动加载不了解决方法一览

今年的夏促终于开始了!目前可以看到很多精品小游戏在促销列表内,活动正式开启后还不知道又会是怎样的一幅场景。因为每年夏促都会有不少刚高考完的新手加入,遇到常见的steam商店打不开、活动页面不加载等问题不知道怎么解决。所以这里给大家准备了几种常…...

IPC进程通信:QNX

引言 在现代操作系统中,进程间通信(IPC)机制是实现进程间数据交换和同步的关键技术。IPC允许多个进程共享信息和资源,从而协同工作完成复杂任务。在QNX Neutrino系统中,IPC尤为重要,因为QNX主要面向实时系…...

OpenCV学习之cv2.imshow()函数

OpenCV学习之cv2.imshow()函数 一、简介 cv2.imshow 是 OpenCV 库中用于显示图像的基本函数之一。在图像处理和计算机视觉的过程中,使用该函数可以快速预览处理后的图像,便于调试和结果展示。 二、基本语法 cv2.imshow(WindowName, Imgmat)三、参数说…...

Oracle、MySQL、PostGreSQL、SQL Server-空值

Oracle、MySQL、PostGreSQL、SQL Server-null value 最近几年数据库市场百花齐放,在做跨数据库迁移的数据库选型时,除了性能、稳定、安全、运维、功能、可扩展外,像开发中对于值的处理往往容易被人忽视, 之前写过一篇关于PG区别O…...

python pip详解1

一、简介 pip是python的一个软件包管理工具,同yum,apt作用一致,pip有两种使用方式:pip模块和pip命令,示例如下: python -m pip install package pip install package二、命令行详解 python -m pip --hel…...

Verilog握手信号实战:如何用valid/ready搭建高效数据流水线(附完整代码)

Verilog握手信号实战:如何用valid/ready搭建高效数据流水线(附完整代码) 在FPGA开发中,数据流水线是实现高性能计算的关键架构。但当我们面对不同处理速度的模块时,如何确保数据既不丢失又不阻塞?valid/rea…...

Qwen2-VL-2B-Instruct环境配置详解:Anaconda虚拟环境管理与依赖冲突解决

Qwen2-VL-2B-Instruct环境配置详解:Anaconda虚拟环境管理与依赖冲突解决 每次准备跑一个新的大模型,最头疼的往往不是模型本身,而是环境配置。特别是像Qwen2-VL-2B-Instruct这种多模态模型,它需要PyTorch、Transformers、CUDA&am…...

macOS效率工具:Dozer极简菜单栏管理方案

macOS效率工具:Dozer极简菜单栏管理方案 【免费下载链接】Dozer Hide menu bar icons on macOS 项目地址: https://gitcode.com/gh_mirrors/do/Dozer 在现代工作环境中,macOS用户常常面临菜单栏图标过多导致的视觉混乱问题。随着各类应用程序的安…...

只剩马斯克自己!xAI 11个联合创始人跑光了

11位联合创始人三年出清、只剩马斯克一人,xAI这场「天团散伙」背后,藏着AI时代最残酷的人才战争与帝国裂缝。3月28日,Ross Nordeen悄悄摘掉了自己在X平台上的xAI员工认证标识。他发了一张照片——「触碰一些草」。没有长篇告别信,…...

TouchGal:打造纯净Galgame社区的5个简单步骤

TouchGal:打造纯净Galgame社区的5个简单步骤 【免费下载链接】kun-touchgal-next TouchGAL是立足于分享快乐的一站式Galgame文化社区, 为Gal爱好者提供一片净土! 项目地址: https://gitcode.com/gh_mirrors/ku/kun-touchgal-next TouchGal是一个专为视觉小说…...

告别繁琐权限,uTools hosts插件一键切换与管理的效率革命

1. 为什么我们需要更优雅的hosts管理方案 每次修改hosts文件都要经历这样的痛苦循环:先要回忆文件藏在系统哪个角落,接着得用管理员身份打开文本编辑器,小心翼翼地修改内容,最后还要担心格式错误导致系统异常。作为经常需要切换开…...

NSudo终极指南:3大核心功能解锁Windows系统权限管理新境界

NSudo终极指南:3大核心功能解锁Windows系统权限管理新境界 【免费下载链接】NSudo [Deprecated, work in progress alternative: https://github.com/M2Team/NanaRun] Series of System Administration Tools 项目地址: https://gitcode.com/gh_mirrors/ns/NSudo …...

Magisk系统权限架构深度解析:Android设备Root权限优雅解决方案

Magisk系统权限架构深度解析:Android设备Root权限优雅解决方案 【免费下载链接】Magisk The Magic Mask for Android 项目地址: https://gitcode.com/GitHub_Trending/ma/Magisk Magisk作为Android系统权限管理领域的革命性工具,通过独特的系统化…...

破局 AIGC 检测重围:PaperXie 如何让论文从 “机器量产“ 回归 “学术原创“——3000 字深度解构双效降重新范式

paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/AIPPThttps://www.paperxie.cn/weight?type1https://www.paperxie.cn/weight?type1 引言:当学术写作撞上 AIGC 检测,毕业与投稿的双重困局凌晨两点的图书馆,屏幕上刺眼…...

为什么你的Java车载模块在-40℃冷启动失败?温度敏感型JIT编译失效分析与AOT预编译加固方案(ISO 26262 Part 6实证)

第一章:Java车载系统实时性优化技巧在车载嵌入式环境中,Java虚拟机(JVM)的默认行为往往难以满足毫秒级响应、确定性调度与低抖动等硬实时需求。尽管Java并非传统实时语言,但通过深度配置与架构约束,可显著提…...