stm32f103振镜_二维振镜激光扫描教学演示装置及其实现方法

二维振镜激光扫描教学演示装置及其实现方法

【专利摘要】本发明公开二维振镜激光扫描教学演示装置及其实现方法,该装置包括二维振镜扫描模块、图像轨迹记录仪和上位机人机界面;上位机人机界面主要用于教学演示图形或文字的绘制以及串口通信的设置,上位机人机界面包括显示屏和控制按键,人机界面设置为:根据所述显示屏上的功能菜单,通过选择不同的控制按键向二维振镜扫描模块发送相应指令;二维振镜扫描模块用于接收上位机操作界面的指令、完成指令轨迹解码、反射镜的偏转控制以及激光器的开关控制;图像轨迹记录仪以DSP图像处理器为核心,用于实现扫描图像轨迹的实时记录及显示;本发明结构简单、成本低廉,无需产生材料损耗费,无需较大投入,即可模拟工业激光扫描仪器用于教学,满足教学需求。

【专利说明】二维振镜激光扫描教学演示装置及其实现方法

【技术领域】

[0001] 本发明涉及一种教学仪器,具体涉及二维振镜激光扫描教学演示装置。

【背景技术】

[0002] 随着激光技术的发展,激光扫描技术在制造领域的应用越来越广泛,激光技术是 一门跨学科、跨行业的新型课程。振镜式激光扫描作为激光扫描技术的主要应用,以其高精 度、高速度等特点被广泛应用于激光加工、图形传输、医学诊断、激光演示以等领域。

[0003] 振镜扫描技术,其实质是在利用高密度、高功率激光源作为加工主体,并通过二维 振镜的反射或折射,以振镜的运动实现静止的激光的运动,最终实现激光在工件上的来回 扫描。

[0004] 振镜式激光扫描技术的广泛应用推动着对激光扫描技术的学习和研宄,而目前国 内没有专门用于教学演示的此类仪器,市场上关于激光扫描的仪器多用于工业生产,其价 格都比较昂贵。此外,使用工业激光扫描仪器做演示教学时需要产生较大的材料损耗,还需 要专门的设备保养,需要较大的投入;为此,工业激光扫描仪器不适合应用在高校或者职校 的实践教学中。

【发明内容】

[0005] 为克服上述问题,本发明在现有振镜激光扫描技术的基础上,设计出了一款专用 于教学演示的二维振镜激光扫描系统,以满足国内市场上对专用于教学演示的振镜式激光 扫描仪器的需求。本发明提出了二维振镜激光扫描教学演示装置及其实现方法。

[0006] 本发明的技术方案为:

[0007] 二维振镜激光扫描教学演示装置,其特征在于,二维振镜激光扫描教学演示装置 包括二维振镜扫描模块100、图像轨迹记录仪200和上位机人机界面;其中上位机人机界面 主要用于教学演示图形或文字的绘制以及串口通信的设置,上位机人机界面包括显示屏和 控制按键,人机界面设置为:根据所述显示屏上的功能菜单,通过选择不同的控制按键向二 维振镜扫描模块发送相应指令;二维振镜扫描模块100用于接收上位机操作界面的指令、 完成指令轨迹解码、反射镜的偏转控制以及激光器的开关控制;图像轨迹记录仪以DSP图 像处理器为核心构成,用于实现扫描图像轨迹的实时记录及显示;

[0008] 二维振镜扫描模块100包括核心控制器101、激光器及其控制器102、减速步进电 机及其驱动器和X轴反射镜103、Y轴反射镜104,其中核心控制器与上位机之间采用串口 通信,核心控制器用于接收上位机指令信息并解码、控制激光器的开关以及控制步进电机 转动;减速步进电机配以高细分电机驱动器;X、Y轴反射镜由步进电机以及平面镜构成,通 过步进电机的转动完成对入射激光的反射,从而完成激光在二维平面上的扫描运动;

[0009] 图像轨迹记录仪包括DSP处理器,以及与DSP处理器相连的图像采集(XD、扩展 FLASH、SDRAM及监视器;其中图像采集C⑶为系统图像传感器,用于实时记录激光轨迹;DSP 处理器负责对激光轨迹进行处理,并实时送监视器显示出激光轨迹;FLASH及SDRAM为系统 扩展存储资源;监视器为普通AV接口显示器,用于显示实时的激光轨迹。

[0010] 二维振镜激光扫描教学演示装置的实现方法,其特征在于,包括如下步骤:

[0011] 1)设置上位机和二维振镜扫描模块中控制器之间的通信协议;

[0012] 2)激光光斑位置调零:如激光光斑不在工作屏幕中心,则通过上位机发送指令给 下位机,由下位机中的控制器驱动步进电机的X轴、Y轴,从而使激光光斑调整到工作屏幕 的中心处;

[0013] 3)上位机人机界面绘制需要扫描的图形或者文字轨迹,并进行编码,编码后的数 据通过步骤1)中定义的通信协议发送至下位机控制器中;

[0014] 4)下位机接收数据并进行命令判断,如接收的数据为数据命令,则执行步骤5), 如接收的数据为控制命令,则继续接收数据;

[0015] 5)下位机轨迹解码;

[0016] 6)下位机控制电机完成绘制图形的插补运算及激光二极管的控制;

[0017] 7)图像轨迹记录仪实现扫描图像轨迹的实时记录及显示。

[0018] 本发明的优点在于,结构简单、使用简单。其次,成本低廉,无需产生材料损耗费, 无需较大投入,即可模拟工业激光扫描仪器用于教学,满足教学需求。

【专利附图】

【附图说明】

[0019] 图1是本发明的结构示意图;

[0020] 图2是扫描轨迹的插补示意图;

[0021 ] 图3是电机驱动电路示意图;

[0022] 图4是激光控制器的驱动电路;

[0023] 图5是二维振镜扫描工作流程图;

[0024] 图6是图像轨迹记录仪工作流程图。

【具体实施方式】

[0025] 为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结 合图示与具体实施例,进一步阐述本发明。

[0026] 如图1所示,二维振镜激光扫描教学演示装置包括二维振镜扫描模块100、图像轨 迹记录仪200和上位机人机界面。其中上位机人机界面主要用于教学演示图形或文字的绘 制以及串口通信的设置,上位机人机界面包括显示屏和控制按键,人机界面设置为:根据所 述显示屏上的功能菜单,通过选择不同的控制按键向二维振镜扫描模块发送相应指令;二 维振镜扫描模块100用于接收上位机操作界面的指令、完成指令轨迹解码、反射镜的偏转 控制以及激光器的开关控制;图像轨迹记录仪以DSP图像处理器为核心构成,用于实现扫 描图像轨迹的实时记录及显示。

[0027] 二维振镜扫描模块100包括核心控制器101、激光器及其控制器102、步进电机驱 动器和X轴反射镜103、Y轴反射镜104,其中核心控制器101采用STM32F103高性能单片 机与上位机之间采用串口通信,用于接收上位机指令信息并解码、控制激光器的开关以及 控制步进电机转动。激光器及其控制器采用市售普通小功率激光器,其控制器采用快速三 极管构成的开关电路,可实现激光器的开关控制;选用行星减速步进电机42BYGH AG99. 5, 电机减速比为1:99. 5 ;步进电机驱动器采用HBS3128A高细分步进电机驱动器,用于将控制 器的输出转换为能驱动步进电机的脉冲,支持最大3A的八种输出电流、最大128细分的八 种细分模式。减速步进电机配以高细分电机驱动器,使系统能够达到小于等于〇. 〇〇13_的 定位精度。X、Y轴反射镜由42BYGH AG99. 5步进电机以及普通玻璃平面镜构成,通过步进 电机的转动完成对入射激光的反射,从而完成激光在二维平面上的扫描运动。

[0028] 图像轨迹记录仪以TMS320DM642为核心,外加图像采集CCD、扩展FLASH、SDRAM及 监视器组成。其中图像采集C⑶为系统图像传感器,用于实时记录激光轨迹;TMS320DM642 负责对激光轨迹进行处理,并实时送监视器显示出激光轨迹;FLASH及SDRAM为系统扩展存 储资源;监视器为普通AV接口显示器,用于显示实时的激光轨迹。

[0029] 图5及图6显示了系统的工作过程,具体如下,:

[0030] (1)设置好上位机和STM32F103单片机之间的通信协议,通信协议包括通信速率、 流控制、数据位、停止位和校验位。

[0031] (2)激光光斑位置调零:如激光光斑不在工作屏幕中心,则通过上位机发送指令 给下位机,由下位机驱动步进电机的X轴、Y轴,从而使激光光斑调整到工作屏幕的中心处;

[0032] (3)上位机绘制需要扫描的图形或者文字轨迹:为简便计算和后续处理,上位机 人机界面对绘制的轨迹编码采用直线坐标式一一即通过采集绘图过程中前后两个不同点 的坐标,用两点间形成的不同长短的直线段来描述绘制的轨迹。假设绘图时用户在上位机 绘图界面中点击了不同的点(xl,yl)和(x2, y2),则这两个点形成了唯一的直线段。所以对 于绘制的轨迹只需记录鼠标点击的初始坐标和终点坐标即可。上位机将该坐标通过自定义 的通信协议发送至下位机控制器中。

[0033] (4)下位机接收数据并进行命令判断;

[0034] 上位机人机界面通过RS232串口发送数据给下位机,由于通信时设置了起始标志 和结束标志,下位机STM32F103需要对接收的数据进行校验,判别是否为有效数据。

[0035] 通信协议设置为12个字节为一帧命令,其中第1、2字节为帧头(固定值),第3 字节为数据命令和控制命令区分字节,第4、5字节为绘图时鼠标点击位置在绘图区中起始 点的X坐标(第4字节为高位,第5字节为低位),第6、7字节为绘图时鼠标点击位置在绘 图区中起始点的Y坐标(第6字节为低位,第7字节为高位),第8、9字节为终点的X坐标 (第8字节为高位,第9字节为低位),第10、11字节为终点的Y坐标(第10字节为低位, 第11字节为高位),第12字节为校验位(将中间的4-11字节相加后取其低8位作为数据 校验值)。

[0036] 下位机根据通信数据的第3字节对接收到的数据进行判别,如果该字节为0x00, 则为控制指令(控制指令主要为完成初始对准时的激光光斑点调零);如果为0x01,则视为 轨迹数据。

[0037] (5)下位机轨迹解码

[0038] 下位机对从上位机接收的数据进行解码,根据接收的通信数据的第3字节对接收 到的数据进行判别,如果该字节为控制命令,则按照相应的格式控制电机完成激光光斑位 置调零,之后返回;如果为轨迹数据命令,则根据步骤(4)中所描述的通信协议,下位机即 可计算出需要完成的轨迹,从而完成对上位机数据指令的解码。

[0039] (6)下位机控制电机完成绘制图形的插补运算及激光二极管的控制

[0040] ①图形轨迹的插补运算

[0041] 如图2所示为扫描轨迹的插补示意图,对于任意直线段(Pl和P2点连线构成),设 其斜率为tan0,设定设备的扫描速度V和中断插补周期T,根据扫描速度与插补步长、插补 周期的关系,在插补周期T内的合成进给量为AL = V*T。在扫描速度一定的情况下,插补 步长与插补周期成反比关系,即插补周期越短,则插补步长要求越小;相反如果插补周期越 长,则插补步长要求越大。但是插补步长不能太大,否则会影响扫描精度。根据扫描线段两 个端点的坐标计算得:

【权利要求】

1. 二维振镜激光扫描教学演示装置,其特征在于,该装置包括二维振镜扫描模块 (100)、图像轨迹记录仪(200)和上位机人机界面;其中上位机人机界面主要用于教学演示 图形或文字的绘制W及串口通信的设置,上位机人机界面包括显示屏和控制按键,人机界 面设置为:根据所述显示屏上的功能菜单,通过选择不同的控制按键向二维振镜扫描模块 发送相应指令;二维振镜扫描模块(100)用于接收上位机操作界面的指令、完成指令轨迹 解码、反射镜的偏转控制W及激光器的开关控制;图像轨迹记录仪WDSP图像处理器为核 屯、,用于实现扫描图像轨迹的实时记录及显示; 二维振镜扫描模块(100)包括核屯、控制器(101)、激光器及其控制器(102)、减速步进 电机及其驱动器和X轴反射镜(103)、Y轴反射镜(104),其中核屯、控制器与上位机之间采 用串口通信,核屯、控制器用于接收上位机指令信息并解码、控制激光器的开关W及控制步 进电机转动;减速步进电机配W高细分电机驱动器;X、Y轴反射镜由步进电机W及平面镜 构成,通过步进电机的转动完成对入射激光的反射,从而完成激光在二维平面上的扫描运 动; 图像轨迹记录仪包括DSP处理器,W及与DSP处理器相连的图像采集CCD、扩展FLA甜、 SDRAM及监视器;其中图像采集CCD为系统图像传感器,用于实时记录激光轨迹;DSP处理 器负责对激光轨迹进行处理,并实时送监视器显示出激光轨迹;FLA甜及SDRAM为系统扩展 存储资源;监视器为普通AV接口显示器,用于显示实时的激光轨迹。

2. 根据权利要求1所述的二维振镜激光扫描教学演示装置,其特征在于,二维振镜扫 描模块(100)核屯、控制器(101)采用STM32F103单片机。

3. 根据权利要求1所述的二维振镜激光扫描教学演示装置,其特征在于,激光器的控 制器采用快速=极管构成的开关电路,可实现激光器的开关控制。

4. 根据权利要求1所述的二维振镜激光扫描教学演示装置,其特征在于,步进电 机选用行星减速步进电机42BYGH AG99. 5,电机减速比为1:99. 5 ;步进电机驱动器采用 皿S3128A高细分步进电机驱动器,用于将控制器的输出转换为能驱动步进电机的脉冲,支 持最大3A的八种输出电流、最大128细分的八种细分模式。

5. 根据权利要求1所述的二维振镜激光扫描教学演示装置,其特征在于,DSP处理器为 TMS320DM642。

6. 二维振镜激光扫描教学演示装置的实现方法,其特征在于,包括如下步骤: 1) 设置上位机和二维振镜扫描模块中控制器之间的通信协议; 2) 激光光斑位置调零;如激光光斑不在工作屏幕中屯、,则通过上位机发送指令给下位 机,由下位机中的控制器驱动步进电机的X轴、Y轴,从而使激光光斑调整到工作屏幕的中 屯、处; 3) 上位机人机界面绘制需要扫描的图形或者文字轨迹,并进行编码,编码后的数据通 过步骤1)中定义的通信协议发送至下位机控制器中; 4) 下位机接收数据并进行命令判断,如接收的数据为数据命令,则执行步骤5),如接 收的数据为控制命令,则继续接收数据; 5) 下位机轨迹解码; 6) 下位机控制电机完成绘制图形的插补运算及激光二极管的控制; 7) 图像轨迹记录仪实现扫描图像轨迹的实时记录及显示。

7. 根据权利要求6所述的二维振镜激光扫描教学演示装置的实现方法,其特征在于, 通信协议包括通信速率、流控制、数据位、停止位和校验位。

8. 根据权利要求6所述的二维振镜激光扫描教学演示装置的实现方法,其特征在于, 步骤3)中上位机对绘制的图形或文字轨迹编码采用直线坐标式一一即通过采集绘图过程 中前后两个不同点的坐标,用两点间形成的不同长短的直线段来描述绘制的轨迹;假设绘 图时用户在上位机绘图界面中前后点击了两个不同的点(xl,yl)和(x2,y2),则该两个点 形成了唯一的直线段;所W对于在上位机人机界面绘制的图形或者文字轨迹只需记录鼠标 点击的初始坐标和终点坐标即可。

9. 根据权利要求6至8任一项所述的二维振镜激光扫描教学演示装置的实现方法,其 特征在于,通信协议设置12个字节为一帖命令,其中第1、2字节为帖头(固定值),第3字 节为数据命令和控制命令区分字节,第4、5字节为绘图时鼠标点击位置在绘图区中起始点 的X坐标(第4字节为高位,第5字节为低位),第6、7字节为绘图时鼠标点击位置在绘图区 中起始点的Y坐标(第6字节为低位,第7字节为高位),第8、9字节为终点的X坐标(第 8字节为高位,第9字节为低位),第10、11字节为终点的Y坐标(第10字节为低位,第11 字节为高位),第12字节为校验位(将中间的4-11字节相加后取其低8位作为数据校验 值)。

【文档编号】G09B25/00GK104464483SQ201410820406

【公开日】2015年3月25日 申请日期:2014年12月25日 优先权日:2014年12月25日

【发明者】肖永军, 丁幺明, 李纪平, 熊曾刚, 易青松, 黄永林, 马洪华 申请人:湖北工程学院

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

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

相关文章

洛谷 P1706 P1036 -小试牛刀

题目1: 题目描述 输出自然数 1 到 n 所有不重复的排列,即 n 的全排列,要求所产生的任一数字序列中不允许出现重复的数字。 输入格式 一个整数 n。 输出格式 由 1∼n1∼n1∼n 组成的所有不重复的数字序列,每行一个序列。 每个数字保留 5 个…

理解ASP.NET Core中的中间件

中间件是ASP.NET Core的一个重要特点,ASP.NET Core应用程序之所以能够灵活地处理各种各样的请求,完成都是由于中间件,那么它究竟是怎么一回事呢?一、理解中间件ASP.NET Core的一个主要特点是中间件(Middleware&#xf…

XGBoost-原理推导(上)

XGBoost简介 XGBoost(eXtreme Gradient Boosting)是华盛顿大学博士陈天奇创造的一个梯度提升(Gradient Boosting)的开源框架。至今可以算是各种数据比赛中的大杀器,被大家广泛地运用。 之前的文章我已经介绍了GBDT&a…

redis深度历险_Redis的数据结构(内存具体怎么优化的)

上一篇我们讲解了Redis中SDS的组成以及优势,这一篇我们讨论下Redis中的Hash数据类型是怎么构成的呢?Java中存在HashMap和HashTable的数据类型。而Hash的数据结构可以近似于HashTable,依据数组链表的形式构成。在Redis中,Hash在元素…

.NET Core开发实战(第19课:日志作用域:解决不同请求之间的日志干扰)--学习笔记...

19 | 日志作用域:解决不同请求之间的日志干扰开始之前先看一下上一节的代码// 配置的框架 var configBuilder new ConfigurationBuilder(); configBuilder.AddCommandLine(args); configBuilder.AddJsonFile("appsettings.json", optional: false, reloa…

递归算法(二)-分治法

分治法 分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原问题的解。即一种分目标完成程序算法,简单问题可用二分法完成。 分治法解题的一般步骤&#…

自适应滤波器在matlab仿真的程序_电气信息类专业课程之matlab系统仿真 第五章 BPSK通信系统(3)...

继续讲解!上一篇文章提出了那么多问题,不知道大家是否能回答上来啊?如果回答不了,有没有去问问度娘呢?程序写完了,回想了一下辅导2017届学生毕业设计的过程,那是真累。我要求他们在现有程序基础…

阿捷外传之Git代码统计:DotNetCore + PowerBI 实现Git仓库日志分析

前言2020年3月初春,虽然春节已经过去一个多月,大街上还未恢复往年的热闹。由于春节前夕突然降临的冠状病毒,导致很多员工无法回到城市复工。春节之后,阿捷所在的公司考虑到复工带来的风险,通知所有员工以远程的方式在家…

hdu2553 N皇后问题-dfs回溯剪枝+打表

Problem Description 在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上。 你的任务是,对于给定的N,求出有多少种合法的放置方…

递归算法(三)- 回溯法Backtracking

回溯法 回溯法Backtracking(找所有的可能)递归: 类似枚举,一层一层向下递归,尝试搜索答案。找到答案: > 返回答案,并尝试别的可能未找到答案: > 返回上一层递归,…

python3.8安装xlwings出错_Python xlwings模块简单使用

Python xlwings模块简单使用xlwings 安装xlwings excel-book-打开-新建xlwings sheet-apixlwings 操作数据xlwings 读取数据xlwings 安装操作excel模块的比较xlwings官方文档基本操作安装pip install xlwingsxlwings 打开-新建打开excel文件多个excel操作import …

今年暑假不AC-贪心

Problem Description “今年暑假不AC?” “是的。” “那你干什么呢?” “看世界杯呀,笨蛋!” “#$%^&*%…” 确实如此,世界杯来了,球迷的节日也来了,估计很多ACMer也会抛开电脑&#xff0…

一个全栈式的应用集成平台,打破“信息孤岛”

源宝导读:随着企业数字化进程的逐渐深入,企业存在大量的异构系统,各个系统之间信息传输、资源利用困难。本文将介绍明源云ERP为了打破这种“信息孤岛”,而进行的思考与实践。一、前言随着企业信息化进程的逐步深入,互联…

XGBoost-工程实现与优缺点(中)

工程实现 块结构设计 我们知道,决策树的学习最耗时的一个步骤就是在每次寻找最佳分裂点是都需要对特征的值进行排序。而 XGBoost 在训练之前对根据特征对数据进行了排序,然后保存到块结构中,并在每个块结构中都采用了稀疏矩阵存储格式&…

gson生成jsonobject_使用GSON将字符串解析为JsonObject会产生IllegalStateException:这不是JSON对象...

我有以下代码:JsonParser parser new JsonParser();System.out.println("gson.toJson: " gson.toJson(roomList));JsonObject json2 parser.parse("{\"b\":\"c\"}").getAsJsonObject();System.out.println("json2:…

根据二叉树的先序和中序求后序遍历

代码如下&#xff1a; #include <iostream> using namespace std; const int N 1010; int pre[N], in[N], post[N];struct node {int w;node *l, *r;node (int w 0, node *l NULL, node *r NULL): w(w), l(l), r(r) {} };void build(int l, int r, int &t, node…

【朝夕技术专刊】Core3.1WebApi_Filter多种注册方式支持依赖注入

欢迎大家阅读《朝夕Net社区技术专刊》第5期我们致力于.NetCore的推广和落地&#xff0c;为更好的帮助大家学习&#xff0c;方便分享干货&#xff0c;特创此刊&#xff01;很高兴你能成为忠实读者&#xff0c;文末福利不要错过哦&#xff01;01PARTCoreFilter多种注册方式在上一…

SQL(一)- 数据库介绍与基础操作

数据库介绍 一、常用的数据库分为两大类&#xff1a; 关系型数据库非关系型数据库&#xff08;NoSql&#xff09; 关系型数据库 概念&#xff1a;是建立在关系模型基础上的数据库&#xff0c;借助于集合代数等数学概念和方法来处理数据库中的数据。 关系型数据库的优势&am…

最少硬币问题-dp

题目&#xff1a; 有5种硬币&#xff0c;面值分别为&#xff1a;1,5,10,25,50。数量无限&#xff0c;输入非负整数s&#xff0c;选用硬币&#xff0c;使其和为s。要求输出最少的硬币组合要多少个硬币&#xff1f; 数据范围&#xff1a; s最大为250. 解题思路&#xff1a; 有时…

python加密与解密_Python加密与解密,pythonCrypt,和

from Crypto.Cipher import AESclass DeAesCrypt:"""AES-128-CBC 加/解密, Padding ZERO模式"""def __init__(self, data, key, pad):""":param data: 加密后的字符串,或者需要加密的字符串:param key: 随机的16位字符:param pad…