比赛获奖的武林秘籍:08 一文速通光电设计大赛,电子人必看
比赛获奖的武林秘籍:08 一文速通光电设计大赛,电子人必看
摘要
本文主要介绍了光电设计大赛的简介、比赛形式、备赛方向,并结合往年题目进行了分析和总结。
正文部分
大赛简介
全国大学生光电设计竞赛是一项面向全国各高校各专业学生的科技竞赛活动。这项活动旨在推动高等学校的教学改革,加强教育与产业之间的联系,促进科学技术转化为生产力。大赛强调理论与实践相结合,竞赛内容既包括理论设计,也包括实际制作或创新创业设计,旨在全面检验和提升参赛学生的理论基础和实践创新能力。
竞赛内容
全国大学生光电设计竞赛分为两种类型:实物赛和创意赛。这两种竞赛轮流举行,由全国光电竞赛委员会秘书处授权的全国光电竞赛组委会负责公布每届竞赛的形式、规则和技术数据。
-
实物赛:采用命题式,固定题目、固定要求,要求参赛队伍提交方案设计书、答辩 PPT 和答辩视频等,并进行现场演示或竞技。参赛队伍由不多于 3 名学生组成,其中研究生不超过 1 人。参赛资格包括具有正式学籍的研究生、本专科生,以及当年毕业的学生可以以在校生身份参赛。队长必须是本专科生,每个队伍可以有 12 名指导教师。
-
创意赛:采用开放式,分为单纯性创意设计的创意类竞赛和具有法人和参股的公司运营的初创类竞赛。
- 创意设计类竞赛的参赛队伍人数不多于 3 人,研究生不超过 1 人;
- 初创企业类竞赛的参赛队伍人数一般不多于 7 人,研究生一般不多于 2 人,且不超过本专科生数量。初创组可以有毕业五年内的学生参赛。
参赛资格同样包括具有正式学籍的研究生、本专科生,以及当年毕业的学生可以以在校生身份参赛。队长必须是本/专科生,每个队伍可以有 1-2 名指导教师。
各区赛的赛题应与国赛一致,并可根据所在区域特色进行拓展。推荐参加国赛的队伍的赛题必须与国赛赛题相一致。
备赛方向
- 光学原理:
- 光的传播:学习光在不同介质中的传播,包括直线传播、反射和折射。
- 反射:理解光在平滑表面和粗糙表面的反射,以及反射定律。
- 折射:学习光线在不同介质界面上的折射现象,包括斯涅尔定律和全反射。
- 衍射:了解光波的衍射现象,包括单缝衍射和圆孔衍射。
- 光学器件:熟悉透镜、反射镜、光栅等光学器件的工作原理,并了解它们在光学系统中的应用。
- 透镜:透镜是一种光学元件,用于将光线聚焦或发散。根据形状,透镜分为凸透镜和凹透镜。凸透镜能够将平行光线聚焦于一点,而凹透镜则能够将平行光线发散。透镜的主要参数包括焦距、光圈、像差等。
- 反射镜:反射镜是一种光学元件,用于反射光线。根据形状,反射镜分为平面镜、球面镜和曲面镜。平面镜能够将光线反射,而球面镜和曲面镜则能够将光线聚焦或发散。反射镜的主要参数包括反射率、镜面形状和焦距等。
- 光栅:光栅是一种光学元件,用于产生衍射图案。光栅由一系列平行线组成,这些线之间的距离称为光栅常数。当光线通过光栅时,会发生衍射现象,形成一系列亮暗条纹。光栅的主要参数包括光栅常数、入射角和衍射角等。
- 光电效应:
- 掌握光电效应的基本原理,包括光电管、光电二极管、太阳能电池等。
- 光电管:光电管是一种利用光电效应检测光信号的设备。当光照射到光电管的阴极上时,光电效应会使电子从阴极逸出,形成电流。光电管通常用于早期的光电信号检测。
- 光电二极管:光电二极管是一种半导体器件,能够将光信号转换为电信号。当光照射到光电二极管的 PN 结上时,光电效应会使电子-空穴对形成,从而产生电流。光电二极管广泛应用于光电检测和转换。
- 太阳能电池:太阳能电池是一种利用光电效应将光能转换为电能的设备。当光照射到太阳能电池的半导体材料上时,光电效应会使电子-空穴对形成,并产生电流。太阳能电池在可再生能源和清洁能源领域有广泛的应用。
- 学习如何利用光电效应进行信号检测和转换。
- 光敏材料的特性:不同的光敏材料对光的响应不同,选择合适的光敏材料对于实现准确的光电转换至关重要。
- 光电转换效率:光电转换效率是衡量光电转换性能的重要指标,了解如何提高光电转换效率对于优化设计至关重要。
- 信号检测和处理:学习如何设计电路和算法来检测和处理光电转换后的信号,以实现对光信号的有效利用。
- 掌握光电效应的基本原理,包括光电管、光电二极管、太阳能电池等。
- 光电传感器:
- 了解各种光电传感器的原理和应用。
- 光电编码器:光电编码器是一种测量机械位置、速度和方向的传感器。它通常由一个光发射器和一个光接收器组成,通过检测反射光信号来确定位置。光电编码器广泛应用于工业自动化、机器人技术和导航系统中。
- 光电二极管:光电二极管是一种半导体器件,可以将光信号转换为电信号。它的工作原理是基于光电效应,当光照射到光电二极管上时,光子能量被吸收并激发电子,从而产生电流。光电二极管广泛应用于光电检测、光电开关和光电耦合器中。
- 光电三极管:光电三极管是一种半导体器件,它结合了光电二极管和晶体管的功能。它不仅可以检测光信号并将其转换为电信号,还可以放大信号并控制电路的通断。光电三极管广泛应用于光电开关、光电隔离和光电耦合器中。
- 学习如何选择和配置光电传感器以满足特定应用的需求。
- 应用场景:根据应用场景,确定你需要检测的光信号类型和范围。
- 精度要求:根据精度要求,选择具有适当分辨率和灵敏度的光电传感器。
- 环境条件:考虑光电传感器在实际应用中的环境条件,如温度、湿度、振动和电磁干扰等,以确保其稳定性和可靠性。
- 输出信号类型:根据你的控制系统需求,选择具有适当输出信号类型的光电传感器,如模拟信号、数字信号或脉冲信号。
- 连接方式:根据你的接线需求,选择适合的连接接口。
- 了解各种光电传感器的原理和应用。
- 电路设计与分析:
- 电子电路的基本原理:
- 放大器:学习放大器的工作原理,包括电压放大器、电流放大器和功率放大器等。
- 滤波器:了解不同类型的滤波器,如低通滤波器、高通滤波器、带通滤波器和带阻滤波器,以及它们的应用。
- 振荡器:掌握振荡器的工作原理,包括正弦波振荡器、方波振荡器和三角波振荡器等。
- 电路分析和设计的基本技能:
- 电路分析:学习电路分析的方法,包括节点分析、网孔分析和频率响应分析等。
- 电路设计:掌握电路设计的基本步骤,包括需求分析、原理图设计、PCB 布局和电路仿真等。
- 电路仿真和实际搭建:
- 电路仿真:使用电路仿真软件(如 Multisim、LTspice 等)来模拟电路的性能,以便在实际搭建之前发现和解决潜在的问题。
- 实际搭建:在实际操作中搭建电路,包括焊接、调试和优化等步骤。
- 电子电路的基本原理:
- 嵌入式系统(以 stm32 为例):
-
基础知识:
- 微控制器结构:STM32 微控制器由 ARM Cortex-M 核、存储器(RAM、ROM/Flash)、时钟控制单元、外设接口(GPIO、ADC、DAC、UART 等)、中断控制器、电源管理单元等组成。
- 工作模式:STM32 微控制器有多种工作模式,包括运行模式、睡眠模式、停止模式和待机模式,以适应不同的应用需求。
- 接口:STM32 微控制器提供了丰富的外设接口,如 GPIO、ADC、DAC、UART、SPI、I2C 等,用于与外部设备通信和控制。
-
STM32 的编程:
- 编程语言:STM32 微控制器支持多种编程语言,如 C、C++、汇编等。常用的编程环境包括 Keil、STM32CubeMX、STM32CubeIDE 等。
- 程序结构:STM32 微控制器的程序通常包括初始化代码、中断服务例程、主循环等部分。初始化代码用于配置微控制器的外设和中断控制器;中断服务例程用于处理外部中断事件;主循环用于执行程序的主要逻辑。
- 编程要点:
- 熟悉 STM32 微控制器的寄存器和外设接口,以便进行正确的配置和操作。
- 掌握中断处理和定时器控制,以实现实时控制和事件响应。
- 学会使用内存管理、数据结构和算法,以提高程序的性能和可维护性。
- 熟悉程序调试和故障排查技巧,以快速解决编程过程中遇到的问题。
-
- 软件开发:
-
编程语言:
- C 和 C++:这些语言是嵌入式编程中最常用的语言,因为它们提供了对底层硬件的直接访问,并且编译器能够优化代码以提高性能。
- Python:虽然 Python 主要用于开发桌面和网络应用程序,但它也可以用于嵌入式开发,尤其是在数据处理和机器学习应用中,因为它具有丰富的库和简洁的语法。
-
数据处理:
- 数据格式转换:
- 学习如何将传感器采集的数据从原始格式转换为适合进一步处理和分析的格式。
- 掌握数据类型转换、数据格式解析和数据打包等技术。
- 数据过滤:
- 学习如何去除噪声和异常值,以提高数据的质量和准确性。
- 掌握滤波算法,如低通滤波、高通滤波、带通滤波和滑动平均滤波等。
- 数据排序:
- 学习如何对数据进行排序,以便于分析和处理。
- 掌握排序算法,如冒泡排序、快速排序和归并排序等。
- 数据存储:
- 学习如何将处理后的数据存储在本地或远程存储设备中。
- 掌握文件操作、数据库操作和数据压缩等技术。
- 传感器数据处理和分析:
- 学习如何从传感器获取原始数据。
- 掌握数据预处理技术,如去噪声、特征提取和数据融合等。
- 学习如何分析和提取传感器数据中的有用信息,如模式识别、异常检测和趋势分析等。
- 数据格式转换:
-
图像识别:
- 图像处理的基本概念:
- 图像采集:学习如何使用摄像头或其他图像采集设备获取图像。
- 图像预处理:掌握图像预处理技术,如灰度转换、图像增强、噪声去除和边缘检测等。
- 特征提取:学习如何从图像中提取有用的特征,如颜色特征、纹理特征和形状特征等。
- 图像识别:了解图像识别的原理和方法,包括基于模板匹配、特征提取和机器学习的方法。
- 机器学习算法:
- 卷积神经网络(CNN):了解 CNN 的基本原理和结构,它是目前最常用的图像识别和分类算法之一。
- 训练和验证:学习如何使用机器学习算法训练图像识别模型,并进行验证和测试。
- 模型优化:掌握如何优化模型,提高图像识别的准确性和效率。
- 图像处理的基本概念:
-
机器学习的基本原理:
- 监督学习:学习监督学习的基本概念,包括分类和回归问题,以及如何使用训练数据集来训练模型。
- 无监督学习:了解无监督学习的方法,如聚类和降维,以及如何从无标签数据中提取结构。
- 强化学习:掌握强化学习的基本原理,包括状态、动作、奖励和策略等概念,以及如何通过试错来优化决策。
-
解决实际问题:
- 模式识别:学习如何使用机器学习算法来识别图像、声音或其他数据的模式。
- 预测分析:掌握如何使用机器学习算法进行时间序列预测、趋势分析和市场预测等。
- 优化控制:了解如何使用机器学习算法来优化控制系统,如调整 PID 参数以提高响应速度和稳定性。
-
软件开发技能:
- 代码规范:学习编写清晰、可读和可维护的代码,遵循编程规范和最佳实践。
- 模块化:掌握如何将代码分解成可重用的模块,以提高代码的可扩展性和可维护性。
- 版本控制:学习使用版本控制系统(如 Git)来管理代码变更,确保团队协作和项目历史记录。
-
往年题目分析
以 2023 年光电赛的小车题为例,竞赛要点包括综合运用图像识别、路径规划、自动驾驶、避障循迹、光电传感等技术设计制作“迷宫寻宝”光电智能小车。
光电迷宫寻宝小车是一个集成了光电传感器、微控制器、电机驱动器、传感器数据处理和路径规划算法的智能小车。它的核心任务是在一个迷宫中自主导航,找到隐藏的宝藏,并安全返回起点。这个过程涉及到多个技术领域,包括传感器技术、控制理论、编程技术、机器视觉等。
根据参赛规则藏宝图是下图这样的,在藏宝图四个角拥有 4 个用于透视矫正的 4 个矫正点用于藏宝图透视矫正。智能车通过光电传感寻找、判断迷宫中的真、假宝藏,并在完成寻宝后走出迷宫。比赛采用红、蓝对抗的形式,即每场比赛红、蓝两队在同一迷宫中比拼、对抗。比赛胜负依据各自的寻宝数、误判数、是否走出迷宫、耗时等确定。
我们整体方案就可以选用:OpenMV4Plus 识别和规划 + OpenMV4 循迹 + STM32 运动控制。
OpenMV4Plus 上位机部分
OpenMV4 循迹部分
STM32 下位机部分
原文链接
电子计算机类比赛获奖的秘籍,可点击这里:
电子计算机类比赛的“武林秘籍”-电赛光电设计大赛计算机设计大赛嵌入式芯片与系统设计竞赛,你要的都在这里!
往期推荐:
全网最适合入门的面向对象编程教程:00 面向对象设计方法导论
全网最适合入门的面向对象编程教程:01 面向对象编程的基本概念
全网最适合入门的面向对象编程教程:02 类和对象的 Python 实现-使用 Python 创建类
全网最适合入门的面向对象编程教程:03 类和对象的 Python 实现-为自定义类添加属性
全网最适合入门的面向对象编程教程:04 类和对象的Python实现-为自定义类添加方法
全网最适合入门的面向对象编程教程:05 类和对象的Python实现-PyCharm代码标签
全网最适合入门的面向对象编程教程:06 类和对象的Python实现-自定义类的数据封装
全网最适合入门的面向对象编程教程:07 类和对象的Python实现-类型注解
全网最适合入门的面向对象编程教程:08 类和对象的Python实现-@property装饰器
全网最适合入门的面向对象编程教程:09 类和对象的Python实现-类之间的关系
全网最适合入门的面向对象编程教程:10 类和对象的Python实现-类的继承和里氏替换原则
全网最适合入门的面向对象编程教程:11 类和对象的Python实现-子类调用父类方法
全网最适合入门的面向对象编程教程:12 类和对象的Python实现-Python使用logging模块输出程序运行日志
全网最适合入门的面向对象编程教程:13 类和对象的Python实现-可视化阅读代码神器Sourcetrail的安装使用
全网最适合入门的面向对象编程教程:全网最适合入门的面向对象编程教程:14 类和对象的Python实现-类的静态方法和类方法
全网最适合入门的面向对象编程教程:15 类和对象的 Python 实现-__slots__魔法方法
全网最适合入门的面向对象编程教程:16 类和对象的Python实现-多态、方法重写与开闭原则
全网最适合入门的面向对象编程教程:17 类和对象的Python实现-鸭子类型与“file-like object“
全网最适合入门的面向对象编程教程:18 类和对象的Python实现-多重继承与PyQtGraph串口数据绘制曲线图
全网最适合入门的面向对象编程教程:19 类和对象的 Python 实现-使用 PyCharm 自动生成文件注释和函数注释
全网最适合入门的面向对象编程教程:20 类和对象的Python实现-组合关系的实现与CSV文件保存
全网最适合入门的面向对象编程教程:21 类和对象的Python实现-多文件的组织:模块module和包package
全网最适合入门的面向对象编程教程:22 类和对象的Python实现-异常和语法错误
更多精彩内容可看:
给你的 Python 加加速:一文速通 Python 并行计算
一个MicroPython的开源项目集锦:awesome-micropython,包含各个方面的Micropython工具库