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

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

粉色专业月子会所服务网站源码pbootcms模板

模板介绍 随着时代的发展,月子中心这个产业已越来越盛行,小编挣了一款粉色专业月子会所服务网站源码pbootcms模板供大家下载,适合家政、月嫂服务、母婴护理、月子会所、保姆服务等相关业务,响应式自适应的源码下载设计让您快速编…

百度网盘下载速度慢的解决办法

目录 一、背景 二、解决办法 1、点击三个竖点,再点设置 2、点击传输,再点击去开启该功能 3、点击同意,开启优化速率 三、结果 四、备注 一、背景 当你不是百度网盘会员时,你在使用百度网盘下载时,是否下载速度太…

B站CEO陈睿:超8000万用户在看AI内容

AI圈最近又发生了啥新鲜事? 该栏目以周更频率总结国内外前沿AI动态,感兴趣的可以点击订阅合集以及时收到最新推送 B站CEO陈睿:每月超过8000万用户在平台看AI内容 B站15周年庆上B站董事长兼CEO陈睿发表演讲,公布了B站上AI的内容…

【自然语言处理】预训练语言模型实现与应用

预训练语言模型实现与应用 1 任务目标 1.1 案例简介 ​ 2018年,Google提出了预训练语言模型BERT,该模型在各种NLP任务上都取得了很好的效果。与此同时,它的使用十分方便,可以快速地对于各种NLP任务进行适配。因此,B…

GraalVM windows系统初体验

传统的jvm需要 经历 java ->class ->装载、链接、初始化、使用、卸载等步骤,启动非常慢且费内存, graalvm则是AOT编译器把字节码直接翻译成机器识别的二进制编码的本地镜像,大大提高了启动速度和减少内存消耗 官网:https:…

LLM端侧部署系列 | 手机上运行47B大模型?上交推理框架PowerInfer-2助力AI手机端侧部署

0. 引言 黄梅时节家家雨,青草池塘处处蛙。 有约不来过夜半,闲敲棋子落灯花。 当下,在移动设备上部署大型模型的趋势是愈演愈烈。Google推出了AI Core,使得Gemini Nano可以在智能手机上部署。此外,近期传闻苹果在iOS …

常用组件详解(二):torchsummary

文章目录 一、基本使用二、常见指标2.1Input size2.2Forward/backward pass size 一、基本使用 torchsummary库是一个好用的模型可视化工具,用于帮助开发者把握每个网络层级的细节,包括其中的连接和维度。使用方法: from torchsummary impor…

2、音频编码格式--AAC

1、AAC:AAC是一种音频编码格式,由于其可以任意帧解码的优点,常用于直播中。 AAC的封装格式:ADTS、ADIF。那为什么需要对AAC进行封装呢?这是由于音频流在传输的过程中,是以一个一个数据包进行发送的&#xf…

密码学及其应用 —— 非对称加密/公匙密码技术

1 RSA加密算法 RSA加密算法是一种基于公钥密码学的加密技术,由罗纳德里维斯特(Ron Rivest)、阿迪萨莫尔(Adi Shamir)和伦纳德阿德曼(Leonard Adleman)在1977年共同发明。RSA算法是第一个既能用于…

树莓派开发之文件传输

文章目录 一、简介使用U盘传输文件使用SD卡传输文件使用Xftp 7传输文件 二、 总结 一、简介 在树莓派开发中经常会用到文件传输,下面介绍几种树莓派文件传输的几种方法。 使用U盘传输文件 (1)复制所需传输文件到U盘 (2&#…

双指针-旋转链表

目录 一、问题描述 二、解题思路 三、代码实现 四、刷题链接 一、问题描述 二、解题思路 1.先确定链表长度为len 2.注意当K>len时,如果每个节点都往右移动len个位置,等价于不移动,所以需要求KK%len。 3.所有元素右移K个位置&#xf…

Golang-channel理解

channel golang-channel语雀笔记整理 channelgolang channel的设计动机?chanel的数据结构/设计思考 golang channel的设计动机? channel是一种不同协程之间实现异步通信的数据结构。golang中有一种很经典的说法是要基于通信实现共享内存,而不…

多表执行嵌套查询,减少笛卡尔积,防止内存溢出

问题:当涉及四个表的查询时,会产生大量的笛卡尔积导致内存溢出。 解决办法 :可以使用嵌套查询将多表的联合查询拆分为单个表的查询,使用resultmap中的association(适合一对一) 或 collection(一…

docker -run hello-world超时

主要原因就是尝试拉取库的时候没有从阿里云镜像里拉&#xff0c;所以设置一下就好了 这里使用的是ubuntu系统&#xff08;命令行下逐行敲就行了&#xff09; sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-EOF {"registry-mirrors": [&quo…

51个图表,完美展示数据分布关系!

本节介绍seaborn展示数据分布关系的图表&#xff08;Distribution plots&#xff09;的实现&#xff0c;该类图表用于展示数据集的分布规律&#xff0c;帮助快速获取数据多方面信息&#xff0c;例如&#xff0c;观测值的范围、中心趋势、是否存在某个方向上严重偏斜、是否存在双…

每日一题(6.22-6.28)

(&#xff61;&#xff65;∀&#xff65;)&#xff89;&#xff9e;嗨&#xff0c;中途考电路分析去了&#xff0c;空了几天的题没有练&#xff0c;为什么三相电路他都没讲过的都要考啊&#xff1f;我服了&#xff0c;什么在Y型三相电路&#xff0c;线电压和相电压的比值都考&…

Hadoop3:Yarn容量调度器配置多队列案例

一、情景描述 需求1&#xff1a; default队列占总内存的40%&#xff0c;最大资源容量占总资源60%&#xff0c;hive队列占总内存的60%&#xff0c;最大资源容量占总资源80%。 二、多队列优点 &#xff08;1&#xff09;因为担心员工不小心&#xff0c;写递归死循环代码&#…

扛鼎中国AI搜索,天工凭什么?

人类的创作不会没有瓶颈&#xff0c;但AI的热度可不会消停。 大模型之战依旧精彩&#xff0c;OpenAI选择在Google前一天举行发布会&#xff0c;两家AI企业之间的拉扯赚足了热度。 反观国内&#xff0c;百模大战激发了大家对于科技变革的热切期盼&#xff0c;而如今行业已逐渐…

20240628每日前端---------解决vue项目滥用watch

主题 滥用watch。 名字解释 watch 例子 先看一个代码例子&#xff1a; <template>{{ dataList }} </template><script setup lang"ts"> import { ref, watch } from "vue";const dataList ref([]); const props defineProps([&q…