拓展型X系列伺服电机
编码器原理及工业数据采集中的应用
来源:军品伺服    发布时间:2024-11-25 12:56:51

  编码器属于传感器一类,常用于速度、距离、角度、位置等的测量。例如电机的转速,就能够正常的使用编码器进行实时测量。

  接下来我们来了解一下编码器的工作原理。首选,编码器大致上可以分为线性编码器和旋转编码器两大类。如图1和图2所示:

  今天我们主要来聊图2这种旋转编码器。在正常的情况下,旋转编码器主要可大致分为绝对式以及增量式。

  绝对式旋转编码器,顾名思义,就是编码器中每一个角度和位置输出的编码值都是固定的。在这种编码器内部有许多通道孔洞的排列组合,每一种组合代表一个编码值。如图3。

  正因每一个编码值都是有固定对应的组合,所以就算编码器突然断电也能记住当前编码值。但当编码器旋转超过360度,编码值就会回到原点,所以绝对式编码器的旋转角度只能在360度以内,要进行超过360度时的旋转计数的话则要使用到多圈绝对值编码器。

  聊完绝对值编码器,接下来说说今天的重头戏,也就是我们大家常常用到的增量式旋转编码器。首选我们的角度来看一下工作原理图4。

  由图4能够正常的看到,增量式编码器与绝对式编码器相同,也是有一个码盘,编码器内部的光源会不断照射码盘上的孔洞,每照射过一个孔洞就会产生一次脉冲输出进行计数。与绝对式编码器不同的是,增量式编码器码盘上的孔洞大小都是相同的,并且在编码器输出上会有A、B两路信号,这两路信号能够适用于判断编码器的正反转。当A端相位超前B端90度时,编码器正转,否则B端超前A端90度,编码器反转。

  了解完编码器的原理,我们现在来了解一下编码器怎么样去使用。首先要面临的肯定是接线问题。编码器的接线大概能分为四种,分别是: NPN输出接法、PNP输出接法、电压输出接法、差分输出接法。接下来我们结合真实的操作来讲解一下编码器的接线方法。本次我们所用到的实验器材,是恒凯NET_AMC4XER V1.0这款4轴运动控制卡。板卡外观可参考图5:

  首先我们来说说NPN输出型编码器的接线方法,此处以编码器A相端口为例进行说明。首先来看一下模拟电路接线.NPN输出型编码器接线图

  电压输出接法是在NPN输出接法的基础上进行了改造,也可以归类为NPN型输出,它在电源和集电极之间接了一个上拉电阻,使得集电极和电源之间有一个稳定的电压。如图8:

  差分模式接线相对来说还是比较简单,我们仍旧是用编码器的A端口作为接线演示说明。只要将编码器上的A+和A-端口分别与板卡的EA+和EA-两个端口对应接好即可,如图9:

  接线完成后,我们来使用计算机对运动控制卡进行操控,该板卡是利用网络来进行通信的,所以能用网线将计算机与板卡连接并驱动板卡,进而达到控制编码器工作的目的。下面来详细的介绍计算机与板卡的连接方法和几种常用编程方式配置板卡动态链接库的方法。

  在使用运动控制卡之前,需要先设置计算机的IP地址,以此来保证和板卡IP地址网段一致才能够保证两者通信成功,此处以windows7操作系统的计算机为例进行说明。我们第一步点击右下角的网络连接图标,选择“打开网络和共享中心”,如图:

  连接之后,我们大家可以WIN+R,输入cmd,运行一下,输入ping 192.168.0.30,来查看板卡的连接状态。

  板卡和计算机完成连接后,接下来就能够直接进行程序编写了,想要使用板卡内的编码器相关函数,就要调用相关的动态链接库,也就是Dll文件,进行编程读取。下面,就分别在C语言、LabVIEW、LabwindowsCVI、C#、VB等常用的这几个编程语言界面给我们讲述解答一下具体调用库的方法。

  首先是C语言的调用方法。本次 个人会使用Visual C++ 6.0(以下简称VC6.0)来进行演示说明,首先打开VC6.0。点击左上方文件→新建,如图:

  1. destIP:板卡IP地址,默认设定为“192.168.1.30”,后续能够最终靠函数自行更改。

  2. Axs:板卡和编码器绑定的运动轴号。本次使用的是四轴运动控制卡,有X、Y、Z、U四个运动轴,对应值分别为0、1、2、3。

  3——4x计数模式:在A、B相的上升和下降沿各进行一次计数,增量型编码器通常用4x的计数模式进行工作。

  4.z_reset_en:编码器z信号复位使能。设定为0时,Z信号出现高电平不复位;设定为1时,复位为0x000000或者0x800000。

  6.set8000:设定z信号复位时的计数值。设定为0,复位为0x000000;设定为1,复位为0x800000。

  7.enable:计数器使能工作,设为0计数器不工作且复位为0x000000;设为1计数器正常工作。

  以上便是板卡内编码器相关的两个函数介绍,下面我们来实际运用一下这两个函数,我这里已经写好了一份简单的例程供各位参考,如图:

  这样一来,我们这一个项目就允许使用刚刚粘贴进来的dll文件了,然后在public partial class Form1 : Form内写入语句DllImport,指定命令中的DLL文件名称为板卡DLL文件名称“NET_AMC4XER.dll”,并在后面写入想要调用的函数名,注意,一个DllImport语句只对应一个函数。如果要调用多个函数,就要重复使用DllImport语句。

  最后,我们在Button控件的事件内写入函数即可。这样一来,当我们点击Button时,便能够正常的使用对应的函数。如图:

  VB方面,首先,和C#一样我们打开Visual Studio,模板选择Visual Basic,同样还是选窗体应用程序作为说明。如图:


版权所有:火狐真人官网竞技app下载-火狐电竞首页   粤ICP备20005664号
友情链接:火狐电竞app首页 火狐真人官网 火狐竞技下载

使用条款 | 隐私政策 | 网站地图