当前位置:首页 > 工业控制 > 工业控制
[导读]引 言 随着计算机技术、人工智能、光电检测、图像处理以及模式识别等各学科的不断完善和互相渗透,视觉检测技术作为一种多领域、各学科交叉的技术已取得了突飞猛进的发展,它是以机器视觉为基础的新型测试技术,具

引    言

 随着计算机技术、人工智能、光电检测、图像处理以及模式识别等各学科的不断完善和互相渗透,视觉检测技术作为一种多领域、各学科交叉的技术已取得了突飞猛进的发展,它是以机器视觉为基础的新型测试技术,具有测量时非接触、速度快、信息量大、应用领域广等特点。视觉检测技术广泛用于产品质量在线监测,自动巡视商店、银行或其他重要场所的安防监视,产品的标签文字标识检查,纺织印染业中的自动分色、配色,大型物体三维结构尺寸的测量,各种复杂三维表面形状的检测、恢复重构以及逆向工程等很多领域。视觉检测系统通常是由计算机、视觉传感器控制系统三大模块组成。对于多视觉传感器大型实时测量系统,为了让视觉检测系统快速、精确地获得理想的图像信息,视觉传感器的控制系统的作用尤为重要。视觉传感器的控制系统根据其使用的串行控制总线标准不同,其控制与通讯的性能将不同。这里采用CAN (Controller Area Network) 总线作为系统的串行控制总线。

由于CAN 总线具有通讯速率高、实时性好、带负载能力强、可靠性及抗干扰能力好、总线利用率高及硬件成本低等优点,非常适于大型测试系统控制网络的通讯。因此,本文将基于CAN 总线分布式网络控制技术,介绍多视觉传感器的实时控制方法与控制系统的设计。

视觉传感器的检测原理与系统组成

视觉检测一般基于三角法,由摄像机、光源跟被测物体构成测量三角,CCD 相机把光源投射到被测物体表面的经过调制后的三维深度信息转换成二维图像传给计算机再经由图像处理、特征提取等恢复解调出被测物体的三维形貌信息。如图1 所示,简单的结构光视觉传感器可由一个平面结构光投射器L 与一个CCD 摄像机A 组成,但当被测物体表面曲率变化较大时,有时会出现死区现象,即光平面与物体表面的交线被旁边的曲面遮挡,使摄像机无法看到该交线,以致测量信号消失。为避免由测量复杂表面物体时产生的死区现象,可用两个相机A 和B 对称分布于光平面两侧,接收光条的漫反射光。本例使用波长为650nm 的红色激光器作为光源,因其与环境光反差大,干扰小,较易进行图像特征点的提取,双目视觉传感器组成的多视觉传感器测量系统为研究对象,研究其CAN 总线分布式网络控制技术。

图2 给出了多视觉传感器CAN 总线网络控制检测系统的基本组成原理。本系统采用主从式结构,上位机为PC 机,下位机为8051 单片机控制单元(MCU) ,上、下位机之间用CAN 总线进行通讯,由于PC 机中并不带CAN 总线接口,因此需要一个CAN 接口卡,这里选用USBCAN 智能接口卡来通信,因其具有体积小、外置且即插即用等特点。这样,PC 可通过USB 总线方便地连接至CAN 总线网络,控制各个CAN 节点,进行数据采集和处理。

视觉传感器的控制电路(MCU) 主要包括视频切换、电源供给和CAN 通讯接口三个模块。电源供给电路模块提供CCD 摄像机、激光投射器与MCU的电源,并且由MCU 控制单元控制着它们的开启与关闭。为了避免激光投射器使用时间过长导致激光器( 或普通照明光源) 发热引起光能分布不稳或视觉传感器受热变形从而影响测量精度,以及延长投射器的使用寿命,我们采用如下的控制方式: 当传感器开始测量时,先上电初始化,再打开激光器,测量完毕后即关闭光源电源。由于每个传感器里面含有一到两个CCD 相机,而任一时刻传感器只能输出一路视频信号,因此需要视频切换开关对二路视频信号进行自动分时切换。

为了满足大尺寸物体的视觉检测需要,充分利用CAN 总线的特点,使整个控制系统具有积木式的可扩充能力,本控制系统按最少能带64 个传感器的负载能力进行了设计。如果设每个视觉传感器里面都有两个摄像机,即最多共有128 路视频输入,而任一时刻系统只选取其中一路视频图像传给计算机图像采集卡进行图像采集处理,因此在图2 每个视觉传感器的单路视频输出处,需再加上一个多路视频切换器,如图3 所示,每8 个视频输入1 路视频输出作为一个视频信号切换单元,实现8 选1 方式的视频切换。那么按图3 中的积木式连接方式,9 个单元就可驱动64 路传感器。每个视频切换单元都有自己的CAN 总线接口,连接到整个控制系统的分布式网路上,与单个传感器控制系统一起协同工作。我们采用8 选1 视频切换为一个单元,采用积木式结构进行扩充,主要是考虑到在实际的多视觉传感器测量系统中,对于具体不同的测量对象,使用的传感器的数目可能不同。这种方式的最大优点是可以根据使用的传感器的多少进行自由组合。

在检测系统中,我们分别采用了MAXIM 公司的视频复用放大器max4313 和max4315 进行多路视频信号的切换传输。在双目视觉传感器内部用单片机控制max4313 进行二选一视频切换。max4313 和max4315 是低功耗高速多路视频复用放大器,增益均为+ 2V/ V ,具有通道切换速度快、切换瞬变低、差分增益误差低、相位误差小等良好的视频特性,本例中用±5V 的双电源供电。由于视频信号频率较高,频带较宽,因此当两路视频信号相距较近时容易产生串扰,为了尽量减小串扰,要把数字模块与视频切换模块在一个板子上分成二个区域,以及尽可能减少视频引线的长度并注意使用75Ω 匹配电阻,视频引线使用带屏蔽层的优质视频同轴电缆。

传感器节点硬件接口

传感器节点控制电路的CAN 总线接口主要由微控制器、CAN 控制器和CAN 收发器构成。CAN控制器实现了CAN 通讯中物理层和数据链路层的功能,提供了与微控制器和总线的物理线路接口,这样用户只需编写符合自己通讯和控制要求的应用层协议即可。本系统中微控制器使用Philips 公司的8 位增强型单片机P89C668 ,CAN 控制器和总线驱动器分别采用Philips 公司的SJA1000 、PCA82C250 来构成典型的CAN 通讯节点。其硬件电路原理如图4 所示。

电路的核心部分是P89C668 单片机,它以80C51为内核,具有ISP (在系统编程) 和IAP (在应用编程) 功能的片内Flash 存储器,片内Boot ROM 包含底层FLASH 编程子程序,可以实现通过串行口下载升级程序。数显部分用两片74HC164 驱动两个共阴极数码管以显示选择第几个传感器进行检测任务。,这里不再赘述。需要注意的是,本例中SJA1000 的12MHz 的晶振由P89C668 的外部晶振产生电路同时提供; 总线传输介质( 这里采用双绞线) CANH、CANL 之间要加上120Ω的终端匹配电阻才能保证总线的正常通讯。 

传感器节点的CAN总线软件设计

传感器节点的CAN 总线软件设计主要包括三个部分: CAN 节点初始化、报文发送和报文接收。CAN 节点的通讯实质上就是对CAN 控制器内部各寄存器进行读写,由于这些寄存器或发送、接收缓冲器均有确定的地址,CPU 可通过外设访问指令对它们进行读写操作。CAN 总线通讯的成功与否重点是SJA1000 的初始化设置,初始化程序通过将CAN 控制器的寄存器写入控制字,确定CAN 的工作方式。用P89C668 的P217 作为片选信号与SJA1000 的CS引脚相连,SJA1000 的片内寄存器和P89C668 单片机寄存器是重叠编址的,因此SJA1000 寄存器寻址时要定义成片外RAM 寻址。

由于视觉传感器检测系统要进行的视觉检测任务多为在线检测,实时性要求较强,这里各传感器节点采用中断接收方式接收上位机的控制命令,节点初始化后,当收到上位机发出的一帧信息后,判断其报文标志符是否符合自己的接收代码寄存器和验收屏蔽寄存器的设置,若不符则不接收,若通过则确认为本节点应收信息后装入接收缓冲器,SJA1000 的INT 脚会产生中断信号,该信号连接到单片机P89C668 的外部中断0 引脚,在外部中断0中断处理程序执行如图5 所示的程序流程,读出接收缓冲器的数据并保存在RAM 中,并启动本视觉传感器节点进行测量。

系统中发送报文采用查询方式,传感器节点在收到主控机的数据请求命令后发送数据,发送模块首先进行状态查询,判定总线是否空闲,如空闲,则将目的节点地址写入发送标志符寄存器,数据写入发送缓冲器,完成一帧CAN 信息发送。若同时有多个节点都向总线发送报文,且都符合验收滤波器的设置,则报文标识码的二进值越低的报文优先级越高,从而在总线仲裁过程中首先占据总线访问的优先权。系统软件采用Keil C51 语言来编写,具有模块化功能强且简洁易读等特点。CAN 控制器的发送缓冲区被分为描述符区和数据区两部分,描述符区的第一个字节是帧信息字节,它说明了帧格式(标准帧或扩展帧) 、远程帧或数据帧和数据的长度,扩展帧有四个字节的标志符,数据区最多长八个数据字节,存有实际要发送的数据。本例中只用到前两个数据,第一个表示传感器地址,第二个字节表示选择传感器里的两路摄像机中的哪一路采集图像。

CAN 节点之间通讯成功的另一个关键是波特率的设置,不仅CAN 总线上的各下位机节点要设置相同的波特率,总线与上位PC 机相连的USBCAN 接口卡也要有相同的波特率,这样才能保证通讯畅通。由于USBCAN 接口卡内的CAN 控制器SJA1000 用的是16MHz 的晶振,而各传感器节点内的SJA1000与P89C668 使用12MHz 的晶振,因此对于不同的通讯速率一定要计算出两种晶振都相一致的总线时序寄存器BTR0 、BTR1 来设置总线波特率。本例中使用400kbps 作为总线通讯的波特率,效果很好。

结束语

本文主要着重于多视觉传感器控制系统的设计研究。鉴于CAN 网络的优良性能,能够快速、可靠地交换信息,特别适合多通讯节点的互连,形成多主机控制器局部网,实验表明控制系统能做到各个视觉传感器的快速切换传输视频图像,且切换时图像抖动小,效果好。该系统具有较好的网络扩展能力,在系统工作过程中灵活地增减一些传感器节点不会影响系统工作,只需对主控软件进行少量修改即可。本控制系统的另一个特点是:传感器的照明灯的电源功率大小可以由计算机通过CAN 总线由传感器控制单元自动调节,以适应现场环境光强的变化。本文所设计的多视觉传感器测控系统,可以广泛用于各种工业现场实时在线视觉测量系统中。
 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在智能制造和物流自动化领域,AGV(Automated Guided Vehicle,自动导引车)机器人扮演着举足轻重的角色。其控制系统宛如人类的大脑,指挥着 AGV 的一举一动,不同类型的 AGV 机器人控制系统,有着...

关键字: 机器人 控制系统 自动化

2025年8月1日 – 提供超丰富半导体和电子元器件™的业界知名新品引入 (NPI) 代理商贸泽电子 (Mouser Electronics) 推出全新自动化资源中心,为工程师带来丰富的工业自动化新技术。借助这些资源,该...

关键字: 控制系统 机器人 自动化软件

在工业自动化与智能交通领域,CAN总线因其高可靠性、抗干扰能力和实时性,成为设备间通信的核心协议。然而,单CAN总线存在单点故障风险,一旦总线节点或线路损坏,可能导致整个系统瘫痪。针对这一痛点,基于STM32的双CAN总...

关键字: STM32 CAN总线

控制寄存器(Control Register)是中央处理器(CPU)中用于管理系统级操作的特殊寄存器,它为操作系统和硬件提供对处理器行为的精细控制。本文从计算机体系结构角度系统阐述控制寄存器的设计原理、功能分类、操作机制...

关键字: 寄存器 处理器

CAN总线(Controller Area Network)‌是一种串行通信协议,旨在解决现代汽车中众多电子控制系统之间的通信问题。

关键字: CAN总线

在嵌入式系统开发中,硬件抽象层(Hardware Abstraction Layer,HAL)起着至关重要的作用。它为上层软件提供了统一的硬件访问接口,隐藏了底层硬件的细节,使得软件具有更好的可移植性和可维护性。C++作...

关键字: 嵌入式C++ HAL 寄存器 封装

采用51单片机最小开发板,由8位自制独立按键控制。单片机芯片为STC89C52RC,晶振为@12.000 mhz。8X8LED点阵屏模块由MAX7219驱动,MAX7219包含一个自动扫描电路。你只需要把要显示的数据发送...

关键字: 51单片机 MAX7219 寄存器

电源管理集成电路(PMIC)有益于简化最终应用并缩小其尺寸,也因此备受青睐。然而,当默认启动时序和输出电压与应用要求不符时,就需要定制上电设置。大多数情况下,电路没有可以存储这些设置的非易失性存储器(NVM)。对此,低功...

关键字: 电源管理 集成电路 寄存器

机器人在现实世界中需要持续交互,清晰、准确、高效、稳定的视觉感知能力是实现避障、定位等功能的关键。思特威的SC533HGS以高感度、高动态范围和高帧率为亮点,成为“机器眼”的标杆产品,为高速场景下的目标检测与追踪注入新动...

关键字: 具身智能 机器人 视觉传感器 思特威 SC533HGS

我从Digilent公司拿出了我的Arty Z7板,并在Vivado/Vitis 2021.2中创建了一个项目来让它工作,你可以在我的上一个项目帖子中阅读,我在QDSP-6061的5位数上显示滚动文本,上面写着“Hell...

关键字: 寄存器 AXI4 QDSP-6061 RTL模块
关闭