正运动技术丨高精度硬件比较输出在视觉飞拍上的应用

2023-10-14 09:50

本文主要是介绍正运动技术丨高精度硬件比较输出在视觉飞拍上的应用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  摘要:本文主要阐述了正运动技术控制器在视觉飞拍上的应用,采用高性能ZMC432控制器和基于FPGA的硬件比较输出、精准输出功能, 实现运动控制+视觉飞拍,适用于自动化行业对机械运动的高速高精发展需求场合。

  关键字:硬件比较输出、精准输出、视觉飞拍

   正运动技术运动控制+视觉系统概述

  

  1.png

  

  ZMC432视觉飞拍应用系统架构图

   1、运动控制系统

  正运动技术的运动控制系统,主要由ZMC运动控制器、伺服驱动和电机、丝杆(或者驱动器、直线电机和光栅尺)等组成。

  通过ZMC运动控制器发脉冲或者EtherCAT总线方式发送命令控制器驱动器实现运动控制;通过编码器或者光栅尺的反馈位置MPOS,进行位置比较输出IO信号,从而实现相机的拍照。

  2、视觉系统

  正运动技术的视觉系统,主要由相机、镜头、光源、光源控制盒、视觉处理系统等组成。

  根据运动速度的快慢不同,对相机响应时间、曝光时间以及镜头光圈、像素和光源等都有一定的要求。

  机器视觉的定拍与飞拍对比

  1、视觉定拍

  传统的视觉定位采取定拍的方式,即工件按照既定的轨迹运动,当运行到拍照点时,运动轴速度减为0停下来进行拍照、图像采集、运算处理、纠偏,待视觉系统处理完成后,继续完成接下来的轨迹运动,v-t图如下。

  

  2.png

  

  2、视觉飞拍

  针对传统的视觉定拍,生产效率不够高的问题,在一些应用场合,越来越多的使用视觉飞拍来完成视觉拍照功能。即机构按照既定的轨迹运动,当运行到拍照点时,运动轴不停下来,瞬间完成飞行抓拍的功能。

  整个过程中移动机构不停止,从而节省机构运行时间,满足效率,并且能保证运行精度。

  1)在精度保证的同时,可以不减速,v-t图如下。

  

  3.png

  

  2)在精度不足的情况下,可以略微降速,分段运行,但速度不降为0,v-t图如下。

  

  4.png

  

  控制器的视觉定拍和飞拍实现方式

  1、运动控制器的视觉定拍实现方式

  普通IO输出即可实现。

  机器视觉系统中使用定拍的方式,会增加轴运动的启停次数,相应增加整个工艺的Cycle time,生产效率不高,并且频繁的轴运动启停会带来机台的振动,在某些高速高精的场合甚至会影响制造精度。

  

  5.png

  

  2、运动控制器视觉飞拍实现方式

  视觉飞拍需要支持硬件比较输出或者精准输出功能的控制器。

  当运行到预定的拍照点时,运动轴不停下来,采用运动控制器的精准输出或者硬件比较输出功能,瞬间完成飞行抓拍的功能。

  在运动过程中,根据视觉抓拍采集的产品像素位置变化,计算出机械坐标偏移量,将偏移量发送给运动控制器,及时修正处理,完整飞拍功能。

  轴运动时触发IO拍照的实时性和图像获取、处理速度是整个飞拍过程中精度的保证。

  正运动技术Zmotion运动控制器基于FPGA的硬件比较输出,从驱动器到达拍照位置,到相机完成触发,整个精度可以控制在:

  脉冲输出方式的最小误差1个脉冲,总线控制方式的最小误差1us以内。

  当电机带编码器或者光栅尺反馈时,硬件比较输出功能自动使用反馈位置MPOS来进行触发,当不带反馈时,此功能自动使用发送位置DPOS的比较触发;根据不同的驱动器差异性效果,也可以使用MOVEOP_DELAY参数来调整IO输出的准确时刻。

  多种实现和调整方式,极大确保了运动控制器在高速高精场合视觉飞拍时的精度。

  

  6.png
7.png

  

  正运动技术硬件位置比较输出相关指令

  1、Basic编程指令相关

      1)HW_PSWITCH——硬件位置比较输出

  HW_PSWITCH(mode, direction, reserve, tablestart, tableend)

      参数:mode 1-启动比较器, 2- 停止并删除没完成的比较点

              Direction 0-坐标负向,1- 坐标正向,2-不判断方向

              Reserve 预留

              Tablestart 第一个比较点坐标所在TABLE编号

              Tableend 最后一个比较点坐标所在TABLE编号

      2)HW_PSWITCH2——总线硬件位置比较输出

  HW_PSWITCH2(1,opnum,opstate,tablestart,tableend[,direction])

      参数:mode 1-启动比较器

              Opnum 对应的输出口

              Opstate 第一个比较点的输出状态

              Tablestart 第一个比较点绝对坐标所在TABLE编号

              Tableend 最后一个比较点绝对坐标所在TABLE编号

              Direction 第一个点判断方向,0-坐标负向,1- 坐标正向,-1-不使用方向

  3)MOVE_OP——精准输出

      语法一:MOVE_OP ([ionum],value)

          参数:ionum 输出编号,0-,没有这个参数时输出0-31

              Value 输出状态,多个输出口操作时按位来指明多个口状态

      语法二:MOVE_OP (ionum1, ionum2,value[,mask])

          参数:ionum1 要操作的第一个输出通道

              ionum2 要操作的最后一个输出通道

              value 输出状态,多个输出口操作时按位来指明多个口状态

              mask 按位来设置值,指定哪些IO需要操作,不填时从第一个通道到最后一个通道都操作

  4)MOVEOP_DELAY——缓冲输出延时

              MOVEOP_DELAY=timems参数:timems 毫秒数

      设置在BASE主轴上, 当MOVE_OP精准功能使用时, 可以提前或延后实际触发OP操作的时间。

  2、PC上位机编程(C、C++、C#、Delphi、VB、.Net、LabVIEW、Python、matlab)的函数库分别对应的指令函数是:

              ZAux_Direct_HwPswitch

              ZAux_Direct_HwPswitch2

              ZAux_Direct_MoveOp

  机器视觉的定拍与飞拍对比总结

  机器视觉技术是实现设备精密控制、智能化、自动化、现代化的有效途径和实现计算机集成制造的基础性技术之一。机器视觉既可以替代人工肉眼的检测,又可以识别人工肉眼所看不到的检测范围。随着对生产效益、产能需求的日益增强,高速高精+机器视觉在自动化领域的发展尤为重要。

  正运动技术多款运动控制器/运动控制卡,可根据系统需求搭配不同PC硬件平台,实现2m/s的运行速度下,高达10um的视觉飞拍精度,降低运行速度可实现重复精度1um以内的视觉飞拍精度,在越来越多的行业(比如3C、电子半导体、包装、机器人应用等)被广泛使用。

  本文由正运动小助手原创,欢迎大家转载,共同学习,一起提高中国智能制造水平。文章版权归正运动技术所有,如有转载请注明文章来源。

  

  8.png

  

这篇关于正运动技术丨高精度硬件比较输出在视觉飞拍上的应用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/209739

相关文章

SpringShell命令行之交互式Shell应用开发方式

《SpringShell命令行之交互式Shell应用开发方式》本文将深入探讨SpringShell的核心特性、实现方式及应用场景,帮助开发者掌握这一强大工具,具有很好的参考价值,希望对大家有所帮助,如... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定

SpringBoot应用中出现的Full GC问题的场景与解决

《SpringBoot应用中出现的FullGC问题的场景与解决》这篇文章主要为大家详细介绍了SpringBoot应用中出现的FullGC问题的场景与解决方法,文中的示例代码讲解详细,感兴趣的小伙伴可... 目录Full GC的原理与触发条件原理触发条件对Spring Boot应用的影响示例代码优化建议结论F

MySQL 分区与分库分表策略应用小结

《MySQL分区与分库分表策略应用小结》在大数据量、复杂查询和高并发的应用场景下,单一数据库往往难以满足性能和扩展性的要求,本文将详细介绍这两种策略的基本概念、实现方法及优缺点,并通过实际案例展示如... 目录mysql 分区与分库分表策略1. 数据库水平拆分的背景2. MySQL 分区策略2.1 分区概念

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

C语言函数递归实际应用举例详解

《C语言函数递归实际应用举例详解》程序调用自身的编程技巧称为递归,递归做为一种算法在程序设计语言中广泛应用,:本文主要介绍C语言函数递归实际应用举例的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录前言一、递归的概念与思想二、递归的限制条件 三、递归的实际应用举例(一)求 n 的阶乘(二)顺序打印

SpringBoot3实现Gzip压缩优化的技术指南

《SpringBoot3实现Gzip压缩优化的技术指南》随着Web应用的用户量和数据量增加,网络带宽和页面加载速度逐渐成为瓶颈,为了减少数据传输量,提高用户体验,我们可以使用Gzip压缩HTTP响应,... 目录1、简述2、配置2.1 添加依赖2.2 配置 Gzip 压缩3、服务端应用4、前端应用4.1 N

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda