电子设计大赛-室内可见光定位装置

2023-05-16

室内可见光定位装置


1.1 设计任务

设计并制作可见光室内定位装置,其构成示意图如图 1 所示。参赛者自行搭建不小于 80cm×80cm×80cm 的立方空间(包含顶部、底部和 3 个侧面)。顶部平面放置 3 个白光 LED,其位置和角度自行设置,由 LED 控制 电路进行控制和驱动;底部平面绘制纵横坐标线(间隔 5cm),并分为 A、B、C、D、E 五个区域,如图 2 所示。要求在 3 个 LED 正常照明(无明显闪烁)的情况下, 测量电路根据传感器检测的信号判定传感器的位置。
在这里插入图片描述

2.1 设计要求

基本要求:

(1)传感器位于 B、D 区域,测量电路能正确区分其位于横坐标轴的上、 下区域。
(2)传感器位于 C、E 区域,测量电路能正确区分其位于纵坐标轴的左、 右区域。
(3)传感器位于 A 区域,测量显示其位置坐标值,绝对误差不大于 10cm。
(4)传感器位于 B、C、D、E 区域,测量显示其位置坐标值,绝对误差不 大于 10cm。
(5)测量电路 LCD 显示坐标值,显示分辨率为 0.1cm。

发挥部分:

(1)传感器位于底部平面任意区域,测量显示其位置坐标值,绝对误差不 大于 3cm。
(2)LED 控制电路可由键盘输入阿拉伯数字,在正常照明和定位(误差满 足基本要求(3)或(4))的情况下,测量电路能接收并显示 3 个 LED 发 送的数字信息。
(3)LED 控制电路外接 3 路音频信号源,在正常照明和定位的情况下,测 量电路能从 3 个 LED 发送的语音信号中,选择任意一路进行播放,且 接收的语音信号均无明显失真。
(4)LED 控制电路采用+12V 单电源供电,供电功率不大于 5W。
(5)其他。

3 系统方案

本系统主要由电源模块 传感器检测模块 测量电路 显示模块,下面分别论证这几个模块的抉择。

3.1 电源的论证与选择

方案一:直接使用电池组供电,该电源随着使用电压不稳。
方案二:采用开关电源效率高,但是需要购买,且比较贵。
方案三:自行设计稳压电源模块给系统各部分供电,由于各稳压芯片不贵,而且电压可调,做好滤波设计,使用效果也不错。

综合以上三种方案,选择方案三。

3.2 光敏传感器模块的论证与选择

光敏传感器是利用光敏元件将光信号转换为电信号的传感器,它的敏感波长在可见光波长附近,包括红外线波长和紫外线波长。光传感器不只局限于对光的探测,它还可以作为探测元件组成其他传感器,对许多非电量进行检测,只要将这些非电量转换为光信号的变化即可。

3.3 控制系统的论证与选择

AT89C52这种单片机对开发设备的要求很低,开发时间短。写入单片机内的程序还可以进行加密。再者AT89C52目前的售价比8031还低,市场供应也很充足。所以选用AT89C52为主控芯片。

3.4 显示模块的论证与选择

LED数码管显示实现原理简单,显示直观,编程简单,但显示内容单一,若要同时显示坐标轴,区域位置等诸多信息则需要大量的数码管,而且不能显示中文,由此增加了电路的复杂程度,也加大了编程的难度。

LCD可以设置显示坐标轴等信息,它具有低功耗,可视面大,画面友好及抗干扰能力强等功能,其显示技术已经得到广泛的应用。
综上所述,选用LCD1602液晶显示屏更优。
在这里插入图片描述

4 方案描述

按照设计的基本要求,系统可分为三大模块,数据采集模块、控制器模块、人机交互界面模块。其中数据采集模块由电阻应变片传感器、信号的前级处理和A/D转换部分组成。转换后的数字信号送给控制器处理,由控制器完成对该数字量的处理,驱动显示模块完成人机间的信息交换。
在这里插入图片描述

4.1 光源及探测器特性

实验选用 3W 的大功率白光 LED 作为信号源,为在尽可能不影响光源正常工作的前提下实现稳定可靠的无线通信,实验选用略低于额定工作电流的 500mA 作为直流偏置点。图 2 所示为白光 LED 光源及光电探测器特性。由图 2 ( a )可知,在最大工作电流范围内,LED 光源功率与电流呈线性关系,光源具有良好的调制特性。图 2 ( b )为使用积分球测得的白光 LED发光光谱,可见白光 LED 光源发出的光谱主要包括峰值在 442nm 处由 LED 自身发出的蓝光和峰值在 561nm 处由荧光粉受激发产生的黄光。而实验选用的光电探测器的光谱最大响应灵敏度在516nm 处,如图 2 ( c )所示,位于蓝光和黄光的峰值波长之间,且光谱响应范围涵盖整个可见光波段。
在这里插入图片描述

4.2 驱动电路

LED 驱动电路除了提供足够宽范围的开关电流以保证白光 LED 的正常工作外,还须提供合适的静态工作点,使光源能输出足够的功率并具有良好的线性度,确保信号经调制后能线性输出。设计的白光LED光源驱动电路经过处理器编码产生的传输信息作为驱动电路的输入,将输入信号进行放大的同时给予一定的偏置,确保LED 光源正常工作,该电路可根据所用光源的特性通过调节可变电阻值实现对输出量的改变,依据实际应用中的光源参数进行灵活调节。
在这里插入图片描述

4.3 数据编码

数据传输的格式包括:起始码头、地址码、地址反码、指令码、指令反码和结束码。码头由一个连续的235φs的高低电平组成,结束码由一个150φs低电平组成。地址码、地址反码、指令码和指令反码均为8位数据格式,按照低位在前高位在后的顺序发送,增加地址反码和指令反码是为了提高信息传输过程中的准确性和可靠性。光源在循环发送位置信息的过程中,在空闲时隙系统向 LED 光源发送的均为高电平,以保证 LED 光源能正常提供照明服务。我们将一个逻辑1的传输设定为112φs(28φs高电平和84φs低电平),一个逻辑 0 的传输设定为56φs(28φs高电平和28φs低电平),具体数据编码格式如图3.3所示。图3.3反映位置信息的数据格式“ 0-256-34-221 ”,其中“ 0 ”字段即LED光源对应区域的地址坐标,“ 34 ”字段表示对当前坐标在室内环境中的一种具体提示指令。根据标签定位技术的特点,为避免在定位区域中出现待测目标同时接收多个信号源发来的位置信息而出现的混乱现象,系统在发射端会对多个 LED 光源进行分时发送信号。当传输信号的频率大于 60Hz 时,白光 LED 灯不会出现明显的闪烁现象,人眼也无法分辨 [11-12 ] ,但如果出现连续的逻辑 1 或连续的逻辑 0 时,将会导致 LED 光源发光亮度发生变化,影响照明效果。因此在系统中采用上述编码方式可保证序列中每一比特由两个变化脉冲组成,可以有效减少 LED 光源在发送定位信息时对照明产生的影响。
在这里插入图片描述

4.4 数据解码

在接收端,光电探测器将接收到的位置信息传送给滤波放大电路,由于实验中选用的是反向放大电路,因此经过滤波放大处理后的信号与原始信号的相位相反,并且信号被整形为 TTL (晶体管 - 晶体管逻辑)电平的串行信息,利用STC89C52RC处理器的输入捕获功能对信号进行解码。由于数据在编码时将逻辑 1 设定为连续的 28 φ s 高电平和 84s低电平,逻辑0设定为 28φs高电平和28φs低电平,反向放大电路会使收发信号相位相反,因此接收端成功接收到的逻辑 1 应当为连续的28φs低电平和 84φs高电平,逻辑0应当为28φs低电平和28φs高电平。同时逻辑电平中的低电平持续时间均为 28φs,所以在数据解码时只需捕获高电平的持续时间即能判定出逻辑电平,进一步处理后即可解析出原始的位置信息,大大降低了解码的复杂度。具体解码过程为如下:将STC89C52RC处理器的输入捕获模式设置为上升沿捕获,当捕获到上升沿后,立即将输入捕获模式设置为下降沿捕获(即捕获高电平),随后清零定时器的计数器值,并标记捕获到上升沿。当下降沿到来时,立即更改输入捕获模式为上升沿捕获以便捕获下一次高电平,然后处理此次捕获到的高电平。每次从捕获起始码头开始,以此类推直到捕获到结束码则表示一组数据接收成功。如果在捕获过程中地址码与地址反码或者指令码与指令反码有差异,则放弃本次捕获,从新开始下一次捕获。

4.5 识别映射

系统对所有用于定位的 LED 光源进行标号,不同的标号对应室内环境中不同区域。每个 LED 光源都循环发送唯一的位置信息。当移动终端移动到指定区域时,通过探测器将采集到的可见光信号转换为电信号,经滤波放大后通过STC89C52RC处理器对信息进行解码。当系统解码出发射端所发送的位置信息后,通过 UART 模块将信息传送至 PC 终端,而室内环境中 LED 光源的实际位置信息预先存在数据库中,当 PC 终端收到解码后的位置信息时会通过查询数据库来进行比较和识别,只有比对一致的位置信息才会进一步被映射到地图上,否则系统将放弃本次位置识别。PC终端利用C高级语言编写并设计了室内可见光定位助手软件,不仅可以根据环境需要灵活地更换地图信息,还可以根据移动终端的位置变化来实时更新当前的位置信息。

5 设计分析与计算
5.1 检测XY轴坐标

本系统由 STC89C52RC最小系统板为核心,光敏传感器根据光照强度分别检测XY轴坐标。光敏传感器是利用光敏元件将光信号转换为电信号的传感器,用来检测XY轴距离。

5.2 A/D转换模块

考虑到其他部分所带来的干扰,所以我们选择24位的A/D转换器。作为电子秤,系统对AD转换速度要求并不高,精度上24位的A/D足以满足要求。另外A/D转化器具有:抗干扰能力强和精确差分输入,低廉的价格等优势.综合分析,我们最终选择了精度为准确的HX711。

5.3 键盘输入

通过按键控制原点校正,按校正按键将当前的数字量记录下来并设为基准值,根据新检测的数字量相对基准值判断XY轴坐标。

5.4 电源模块

此次设计的稳压电源由电源变压器、整流电路、滤波电路和稳压电路四个部分组成,如图
在这里插入图片描述

5.5 电路原理图
在这里插入图片描述

关注v-x-公-众-号:【嵌入式基地
后-台-回-复:【电赛】 即可获资料
回复【编程】即可获取
包括有:C、C++、C#、JAVA、Python、JavaScript、PHP、数据库、微信小程序、人工智能、嵌入式、Linux、Unix、QT、物联网、算法导论、大数据等资料
在这里插入图片描述
原文链接
点击查看

电子设计大赛资料分享:
https://pan.baidu.com/s/14qxwGv7Sq6a_jcMT3mNwtw#list/path=%2F

提取码:jdxj
更多资料请关注vx公众号

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

电子设计大赛-室内可见光定位装置 的相关文章

  • QGC地面站配置PX4Flow光流传感器

    打开地面站 xff0c 进入到参数设置里面 xff0c 查询 EKF2 AID MASK xff0c 在px4中使能px4flow xff0c 设置为2即关闭GPS打开光流 2 查询 SENS EN MB12XX 在px4中使能px4flo
  • Git如何创建一条分支,并且进行分支的切换

    核心指令 xff1a git checkout xx 下面讲解怎么创建 可以看到 xff0c 我们当前的处于master分支 输入 git branch dev xff08 创建一个dev分支 xff09 这样已经是创建成功了 可以输入gi
  • Bosch SMI810 IMU传感器芯片驱动

    Bosch SMI810 IMU传感器芯片驱动 文章目录 Bosch SMI810 IMU传感器芯片驱动一 总体特点二 SPI通信三 数据处理四 寄存器设置和代码编写 一 总体特点 1 smi8xx家族的传感器分为 xff0c 陀螺仪 43
  • 村田 IMU SCC2000系列芯片驱动

    村田 IMU SCC2000系列芯片驱动 文章目录 村田 IMU SCC2000系列芯片驱动一 总体特点二 启动时序和逻辑三 SPI通信和数据读取四 数据处理 一 总体特点 1 本次具体的型号是村田SCC2130系 xff0c IMU有1轴
  • Vue模板的使用,vue中使用js表达式

    1 v 属性 使用方法和需要注意的点 span class token tag span class token tag span class token punctuation lt span template span span cla
  • ROS多机通信主机接收不到从机的消息

    关一下防火墙试试 xff1a sudo ufw disable 另 xff1a 检查防火墙是否关闭 xff1a sudo ufw status 另 xff1a 其实ROS多机通信只要设置好ROS MASTER URL和ROS HOSTNAM
  • 单个象棋棋子图片!png

    之前做完项目直接全删了 xff0c 结果帅竟然忘了上传 这回重新扣个帅效果差了好多 xff0c 大家凑合用吧
  • numpy中的cov以及参数rowvar

    numpy中计算协方差利用cov方法 xff0c 如何计算协方差 xff1f 利用这个公式 xff0c 可以求得两个矩阵的协方差 xff0c 举个例子 xff1a 这里 X Y X Y X Y 分别对应着矩阵
  • size.width>0 && size.height>0 in function ‘cv::imshow‘

    遇到报错 xff1a cv2 error OpenCV 3 4 2 C Miniconda3 conda bld opencv suite 1534379934306 work modules highgui src window cpp
  • windows安装ubuntu双系统

    因为要学习机器人 xff0c 老师要求安装ubuntu和ros系统 xff0c 安装第一次踩了雷不太成功 xff0c 第二次安装成功了ubuntu21 04但没有对应的ros系统 xff0c 因此在此向大家安利 安装ubuntu18 04比
  • pytorch

    pytorch基础 1 Tensor数据类型 创建tensor时 xff0c 默认类型为torch FloatTensor xff08 32位浮点 xff09 a span class token operator 61 span torc
  • 死锁的基本介绍

    文章目录 一 死锁是什么 xff1f 二 死锁产生的原因1 死锁产生的必要条件2 产生原因 xff08 1 xff09 资源竞争 xff08 2 xff09 可剥夺资源和不可剥夺资源 xff08 3 xff09 竞争不可剥夺资源 xff08
  • linux安装qq

    linux版QQ安装 xff1a span class token function wget span http sqimg qq com mqq img linuxQQ linuxqq 2 0 0 b2 1089 x86 64 sh s
  • catkin_make报错

    catkin make报错 xff1a CMake Error at CMakeLists txt 1 Parse error Expected a span class token builtin class name command s
  • scanf_s输入字符/字符串vs抛异常

    写C语言作业的时候 xff0c 我使用visual studio2022的环境 xff0c 在读取输入字符时总是抛出异常 原始代码为 xff1a span class token macro property span class toke
  • ninja: build stopped: subcommand failed. Makefile:225: recipe for target ‘px4_sitl_default‘ failed

    安装PX4报错 在执行make命令 xff1a make px4 sitl default的时候出现ninja报错 报错信息 xff1a json decoder JSONDecodeError Expecting value line s
  • vs2022清除缓冲区操作fflush改成了rewind

    在vs2022环境中 xff0c 在gets或getchar 函数中总是无法读取输入字符 xff0c 经过观察发现 xff0c 我使用的语句fflush stdin 总是没有起作用 xff0c 事实上 xff1a vs2022环境 xff0
  • yolov7报错:subprocess.CalledProcessError: Command ‘git tag‘ returned non-zero exit status 128.

    在运行yolov7时 xff0c 文件google utils py出现报错 xff1a subprocess CalledProcessError Command 39 git tag 39 returned non zero exit
  • 数据增强时自动调整标签文件(标签有多个类别)

    主要参考博客 xff1a https blog csdn net Ai Smith article details 109472611 但上述博客只能处理有一类标签的情况 xff0c 若标签有多个种类 xff0c 则需修改一下 xff1a
  • zip压缩包上传linux文件名乱码

    zip压缩包上传linux文件名乱码 乱码原因主要是Windows压缩的时候编码方式为gbk xff0c 而linux默认编码方式为utf8 网上有的方法说用什么yum install convmv xff0c 试了下感觉一般 xff0c

随机推荐

  • diffusiondet运行过程碰到的问题

    diffusiondet运行过程碰到的问题 1 loss报错 xff1a cls loss 61 sigmoid focal loss jit src logits target classes onehot alpha 61 self f
  • 运行mmsegmentation碰到报错:size shape must match input shape. Input is 2D, size is 3

    运行mmsegmentation碰到报错 xff1a size shape must match input shape Input is 2D size is 3 这个问题比较坑 有时候我们的标签size是 512 xff0c 512 x
  • (docker笔记):镜像原理之联合文件系统、分层理解、commit 镜像

    目录 Docker 镜像讲解 什么是镜像 xff1f Docker 镜像加载原理 分层理解 commit 镜像 Docker 镜像讲解 什么是镜像 xff1f 镜像是一种轻量级 可执行的独立软件包 xff0c 用来打包软件运行环境和基于运行
  • FCOS报错ImportError: libcudart.so

    在使用detectron2 43 AdelaiDet运行FCOS代码时 xff0c 碰到报错 xff1a from adet import C ImportError libcudart so 10 0 cannot open shared
  • 在Ubuntu18.04(Melodic)中安装ROS Gazebo经验总结

    首先实现Win10系统 与 Ubuntu18 04 之间实现粘贴复制 span class token function sudo span span class token function apt span span class tok
  • 解决ResourceNotFound: gazebo_ros

    roslaunch simulation landing px4 launch 错误如下 ResourceNotFound gazebo ros ROS path 0 61 opt ros kinetic share ros ROS pat
  • Ubuntu18.04下java环境安装flightplot分析软件

    Java安装参考我的这篇博文 Linux 系统小白 Ubuntu 18 04下安装 Java 过程简单总结 安装flightplot过程如下 1 xff1a sudo apt install git 2 xff1a git clone re
  • estimatePoseSingleMarkers()解读

    ex 网页长截图 1 F12 2 ctrl 43 shift 43 p 3 Capture full size screenshot 参考网址 estimatePoseSingleMarkers void cv aruco estimate
  • 插值函数总结(下篇之二维插值)

    命令2 interp2 功能 xff1a 二维数据内插值 xff08 表格查找 xff09 格式1 xff1a z1 61 interp2 x y z x1 y1 返回矩阵z1 xff0c 其元素包含对应于参量x1与y1 xff08 可以是
  • 模型预测控制算法(MPC算法)底层逻辑

    目录 MPC算法的基本原理 详细解析 预测模型中需要注意的点 滚动优化需要注意的点 构造目标函数约束部分 约束部分 举例说明 复盘总结 MPC算法的基本原理 MPC 的基本原理可以分为三个步骤 xff1a 预测模型 滚动优化 反馈校正 xf
  • 计算机视觉(三)--- 图像到图像的映射(全景拼接)

    目录 1 基本介绍 2 RANSAC 3 单应性矩阵估计 4 全景图像 1 基本介绍 引言 众所周知 xff0c 在我们拍摄风光摄影时 xff0c 广角镜头是使用频率最高的镜头 xff0c 特别是拍摄那些波澜壮阔的大场景风光 而且镜头可谓是
  • 机器学习课后练习题(期末复习题目附答案)

    此为第一章绪论部分 一 单选题 1 移动运营商对客户的流失进行预测 可以使用下面哪种机器学习方法比较合适 A 一元线性回归分析 B 关联方法 C 聚类算法 D 多层前馈网络 正确答案 A 2 下面哪种说法有关机器学习的认识是错误的 A 高质
  • STM32野火教程学习笔记

    欢迎使用STM32 虽然经历了疫情期间的价格起飞 xff0c 但是STM32系列的单片机仍然是各个控制领域内主流的微控制器 它是控制人的必修课之一 STM32的编程方法 我们在学习51单片机的时候 xff0c 通常是通过编写程序直接对其输入
  • Docker的使用

    目录 Docker概念 Docker安装 配置docker加速器 Docker命令 docker进程命令 docker镜像命令 容器命令 Docker容器的数据卷 数据卷概念 数据卷配置 数据卷容器 docker部署mysql 1 搜索my
  • launch启动文件的使用方法

    launch文件 xff1a 脚本 xff0c 可以把很多节点的启动写进去 Launch文件语法 1 lt launch gt launch文件中的根元素采用 lt launch gt 标签定义 2 lt node gt pkg xff1a
  • 基于单片机的电子万年历的设计

    文末下载完整资料 基于51单片机的电子万年历的设计 摘 要 电子万年历是单片机系统的一个应用 xff0c 由硬件和软件相配合使用 硬件由主控器 时钟电路 温度检测电路 显示电路 键盘接口5个模块组成 主控模块用AT89C52 时钟电路用时钟
  • 基于单片机的数字钟设计

    文末下载完整资料 摘 要 基于单片机的定时和控制装置在许多行业有着广泛的应用 xff0c 而数字钟是其中最基本的 xff0c 也是最具有代表性的一个例子 在基于单片机系统的数字钟电路中 xff0c 除了基本的单片机系统和外围电路外 xff0
  • 电子设计大赛-电源电路

    文末下载完整资料 集成直流稳压电源的设计 直流稳压电源是电子设备的能源电路 xff0c 关系到整个电路设计的稳定性和可靠性 xff0c 是电路设计中非常关键的一个环节 本节重点介绍三端固定式 xff08 正 负压 xff09 集成稳压器 三
  • 总线的分类和区别

    总线分类 xff1a 点击查看原文 全套资料免费下载 xff1a 关注v x 公 众 号 xff1a 嵌入式基地 后 台 回 复 xff1a 电赛 即可获资料 回复 编程 即可获取 包括有 xff1a C C 43 43 C JAVA Py
  • 电子设计大赛-室内可见光定位装置

    室内可见光定位装置 1 1 设计任务 设计并制作可见光室内定位装置 xff0c 其构成示意图如图 1 所示 参赛者自行搭建不小于 80cm 80cm 80cm 的立方空间 xff08 包含顶部 底部和 3 个侧面 xff09 顶部平面放置