高速精密定位采集触发卡电路及采集方法

文档序号:6304304阅读:249来源:国知局
高速精密定位采集触发卡电路及采集方法
【专利摘要】本发明公开了高速精密定位采集触发卡电路及采集方法,包括鉴相电路、第一单片机电路、第二单片机电路;正转、反转及合成零点信号输入第一单片机电路的三个中断口,正转信号接入第一单片机电路的INT0口、反转信号接入第一单片机电路的INT1口、合成零点信号接入第一单片机电路的INT2口;第一单片机电路通过零点脉冲展宽电路与第二单片机电路连接;第一单片机电路和第二单片机电路通过RS485接口与上位机连接通信;第二单片机电路连接外接PCI模拟量采集板卡,利用数字逻辑电路滤除旋转编码器干扰信号后送入单片机接口进行位置采集,根据上位机的触发命令自动完成对模拟量采集板卡的触发启停控制及原点数据调校,可以得到极高精度的“模拟量-位置”数据组。
【专利说明】高速精密定位采集触发卡电路及采集方法
【技术领域】
[0001]本发明涉及高速精密定位采集触发卡电路及采集方法。
【背景技术】
[0002]现有PCI及各类模拟量采集板卡受操作系统实时性的影响只能在全程状态下精确采集全程模拟量数据,这种采集方式导致无法将模拟量数据采集和位置数据采集精确对应。
[0003]例如圆周运动的数据采集,要求精确测定每个角度所对应的模拟量数据。采用传统方式采集时,一般有两种触发方式。第一种由出现的原点信号作为软件启动触发信号,由软件触发数据采集板卡进行数据采集,再次出现的原点信号作为停止触发信号,由软件停止数据采集并保存相应数据。第二种由出现的原点信号作为板卡硬件的使能信号,由硬件触发数据采集,再次出现的原点信号作为停止触发信号,由硬件停止数据采集并通知软件进行相应数据保存。第一种采集方式的缺陷在于软件触发的时延,即由于分时操作系统(如windows)的实时性不高,导致高速数据采集时无法实时触发和停止,所采集的数据存在很大的误差,且误差大小由于操作系统的时延不可控而不可控。圆周运动速度越大,数据实时性越差误差也越大。
[0004]第二种采集方式的缺陷在于硬件触发的误差不可消除,误差的大小与原点信号开关的安装位置有关,因为存在安装误差导致无法精确的调校数据。而且这种采集方式需要外部辅助电路生成触发和停止信号,因为绝大多数的采集卡只有使能端,而原点的信号则多数是脉冲形式,需要转换为电平形式控制使能端。
[0005]因此以上两种传统触发采集方式不能在高速运动状态下实现精确定点定量实时模拟量的数据采集。

【发明内容】

[0006]针对上述技术缺陷,本发明提出高速精密定位采集触发卡电路。
[0007]为了解决上述技术问题,本发明的技术方案如下:
[0008]高速精密定位采集触发卡电路,包括鉴相电路、第一单片机电路、第二单片机电路;正转、反转及合成零点信号输入第一单片机电路的三个中断口,所述正转信号接入第一单片机电路的INTO 口、所述反转信号接入第一单片机电路的INTl 口、合成零点信号接入第一单片机电路的INT2 口 ;所述第一单片机电路通过零点脉冲展宽电路与第二单片机电路连接;第一单片机电路和第二单片机电路通过RS485接口与上位机连接通信;所述第二单片机电路连接外接PCI模拟量采集板卡。
[0009]进一步的,所述鉴相电路由两个RS触发器构成互锁输出电路。
[0010]进一步的,所述正转、反转及合成零点信号为消抖处理模块处理后的编码器信号。
[0011]进一步的,所述消抖处理模块为编码器数字滤波电路,所述编码器数字滤波电路包括令牌式数字滤波电路。[0012]高速精密定位采集触发卡电路的采集方法,其特征在于,包括如下步骤:
[0013]第一单片机电路:
[0014]51)第一单片机电路等待自检命令,主轴以w速度转两圈,第一单片机电路记录测量滑块位置的编码器的两个极限位置时的脉冲数值,即MAX、MIN,传至上位机端算出偏差ER和触发值,回传触发值及主轴运动方向标志;
[0015]52)每个INT0/1信号触发中断,进行加减计数;并比较与触发值是否相等,如果相等则比较运动方向PB0/1与方向标志,如果相等,则触发一次零点信号脉冲;
[0016]53)第一单片机电路每次过零点都清零一次重新计数,当电机停止时,当前位置ADDR被保留;
[0017]第二单片机电路:
[0018]54)第二单片机电路等待预置命令,预置内容为单片机内部的硬件计数器起始计数值即理论零点偏移量;
[0019]55)当得到启动命令时,第二单片机电路为计数器T/C1填入计数值并等待第一单片机电路的零点信号;
[0020]56)零点信号到达时触发INTO中断,启用T/C1对测量圆周运动的编码器的脉冲信号计数;
[0021]57)T/C1计数到达时即计数值溢出产生中断并输出时钟脉冲供采集板卡使用,T/Cl内覆填入数值Puls,所述Puls为固定值,与测量圆周运动的编码器分辨率有关,即数值等于主轴一周运动所产生的脉冲数;
[0022]58)T/C1计数再次到达时即Pu I s溢出产生中断,禁止输出时钟脉冲信号,相关位
清零;
[0023]所述偏差ER与触发值的关系为:
[0024]零点误差OR = MAX-脉冲跨度/2 ;所述脉冲跨度为脉冲正负数量跨=MAX-MIN(MAX > O, MIN < O);当ER < O时,测量零点即实际安装零点偏左;当ER > O时,测量零点即实际安装零点偏右;
[0025]当ER < O时,即为测量零点相对理论零点偏左:
[0026]时钟触发时,如果在理论零点即偏移量为EX = O时触发,则根据运动方向做判断:
[0027]a.当运动方向为正时,触发值为Plus+ER,ER < O ;
[0028]b.当运动方向为负时,触发值为-ER,ER < O ;当ER = O时,触发值为最小值I ;
[0029]时钟触发时,如果在理论零点偏置处即存在EX古O时触发,则根据运动方向做判断:
[0030]a.当运动方向为正时,触发值为Plus+ER+EX(_脉冲宽度/2≤EX≤脉冲宽度/2);
[0031]当EX =脉冲宽度/2时,为上极限MAX处触发,位移方向为负;
[0032]当EX =-脉冲宽度/2时,为下极限MIN处触发,位移方向为正;
[0033]如果触发值大于Plus,则取余数,即触发值=触发值/Plus ;
[0034]b.当运动方向为负时,触发值为-ER+EX(-脉冲宽度/2 ( EX≤脉冲宽度/2);
[0035]当EX =脉冲宽度/2时,为下极限MIN处触发,位移方向为正;[0036]当EX =-脉冲宽度/2时,为上极限MAX处触发,位移方向为负;
[0037]如果触发值小于0,则借位,即触发值=触发值+Plus ;
[0038]当ER > O时,即为测量零点相对理论零点偏右:
[0039]时钟触发时,如果在理论零点即偏移量为EX = O时触发,则根据运动方向做判断:
[0040]a.当运动方向为正时,触发值为ER,ER > O ;当ER = O时,触发值为最小值I ;
[0041]b.当运动方向为负时,触发值为Plus-ER;
[0042]时钟触发时,如果在理论零点偏置处即存在EX古O时触发,则根据运动方向做判断:
[0043]a.当运动方向为正时,触发值为ER+EX(-脉冲宽度/2 ≤ EX≤脉冲宽度/2)。
[0044]当EX =脉冲宽度/2时,为上极限MAX处触发,位移方向为负;
[0045]当EX =-脉冲宽度/2时,为下极限MIN处触发,位移方向为正;
[0046]如果触发值小于0,则借位,即触发值=触发值+Plus ;
[0047]b.当运动方向为负时,触发值为Plus-ER+EX(_脉冲宽度/2≤EX≤脉冲宽度/2)。
[0048]当EX =脉冲宽度/2时,为下极限MIN处触发,位移方向为正;
[0049]当EX =-脉冲宽度/2时,为上极限MAX处触发,位移方向为负;
[0050]如果触发值大于Plus,则取余数,即触发值=触发值/Plus。
[0051]本发明的有益效果在于:利用数字逻辑电路滤除旋转编码器干扰信号后送入单片机接口进行位置采集,根据上位机的触发命令自动完成对模拟量采集板卡的触发启停控制及原点数据调校,可以得到极高精度的“模拟量-位置”数据组。该采集触发卡专配各类模拟量采集卡实现高速运动状态下精确定点数据采集,大幅度提高采集精度和采集质量,并做到采集实时性和可控性最佳。
【专利附图】

【附图说明】
[0052]图1为以圆周运动带动曲柄机构往复运动采集为例的机构为示意图;
[0053]图2为编码器数字滤波电路结构图;
[0054]图3为正常工况下的波形;
[0055]图4为干扰工况下的波形;
[0056]图5为触发卡电路的示意图。 【具体实施方式】
[0057]下面将结合附图和具体实施例对本发明做进一步的说明。
[0058]以圆周运动带动曲柄机构往复运动采集为例进行说明,附图1为本的机构为示意图。此机构代表曲柄往复运动类机构模型,模拟量采集传感器安装于滑块上,圆周运动由编码器A测量,滑块位置由编码器B测量。采集要求为一个圆周内(即一个往复运动内)对滑块上的传感器输出数据精确采集,并要求采集数据点和位移点--对应。
[0059]规定:
[0060]1.滑块向左侧运动为运动方向正,安装零点为实际零点(存在安装误差)理论零点由测量数据计算得到;[0061]2.MAX, MIN分别表示测量得到的最大数据和最小数据,即处于极限位置时的数据;
[0062]3.计数器对正向运动计数为正,运动方向由PC上位机通知;
[0063]4.零点误差为ER,人为设置偏移量为EX,基准为位置编码器零点,偏运动正方向为正误差;
[0064]5.主轴编码器一周运动输出脉冲信号个数设为Puls。
[0065]附图2为编码器数字滤波电路,由于实际工况下存在机械抖动问题,因此必须采取对编码器的数字信号的滤波。编码器输出信号分ABZ三相,其中AB相组合包含脉冲及方向信息。定义A超前B相90°即为圆周正转(滑块左移),定义B超前A相90°即为圆周反转(滑块右移动)。Z相为零点信号,编码器每转一圈输出一个零点脉冲。AB相所包含的正常脉冲信息可由附图3说明。附图3所示的情况为正常工况下的波形,A超前B相90°,正转。c到f为一个完整的脉冲。AB相所包含的正常脉冲信息可由附图4说明。附图4所示的情况为干扰工况下的波形,A超前B相90°,正转。c到f不是一个完整的脉冲,虽然可以得到方向的信息,但是脉冲个数计数时将发生错误,脉冲数为B相的干扰抖动数。
[0066]为得到有效的脉冲数及方向信息,设计了如附图2所示的编码器数字滤波电路。其抗干扰原理为:当脉冲AB相只有完整的历经附图4所示的cdef四个阶段时才可以输出一个脉冲信号,而在de等阶段内所发生的抖动不敏感。一旦进入c阶段时,则必须完成def阶段后才有有效的脉冲输出。并且脉冲输出端口分为正转及反转脉冲,供后续电路处理使用。附图2中的原点信号处理电路为脉冲展宽合成电路,一般机构在原点附近设有原点开关,并将编码器的零点信号和原点开关对应设置。在原点开关的输出同时编码器的零点信号也输出。这里编码器的安装和原点开关的安装会存在一定得误差,由后续电路处理。脉冲展宽的作用是扩展脉冲信号的宽度并做滤波作用,在高速运动情况下,编码器的输出脉冲将会很窄,为了保证信号被可靠的捕捉,需要信号展宽。
[0067]附图5为触发卡电路的示意图,经过消抖处理模块后的编码器信号送入单片机A和鉴相电路,鉴相电路由两个RS触发器构成互锁输出电路,用来鉴别并锁存旋转编码器的正反转信号。正转、反转及合成零点信号输入单片机的三个中断口,INTO和INTl为加减计数中断入口,INT2为零点信号入口。单片机通过RS485、USB等方式与上位机通信,由上位机控制触发条件,并按上位机的条件指令输出理论零点脉冲供单片机B使用。单片机B通过RS485、USB等方式与上位机通信,并由上位机控制触发条件,并按上位机的条件指令输出时钟脉冲供PCI等模拟量采集板卡使用。下述为单片机A和单片机B的具体原理和工作流程:单片机A:
[0068]1.单片机A等待自检命令,主轴以w速度转两圈,单片机记录滑块位置编码器B的两个极限位置时的脉冲数值,即MAX、MIN,送PC端算出偏差ER和触发值,回传触发值及主轴运动方向标志。
[0069]2.每个INT0/1信号触发中断,进行加减计数;并比较与触发值是否相等,如果相等则比较运动方向(PB0/1)与方向标志,如果相等,则触发一次零点信号脉冲。
[0070]3.A芯片每次过零点都清零一次重新计数,当电机停止时,当前位置ADDR被保留;
[0071]单片机B:
[0072]1.单片机B等待预置命令,预置内容为单片机内部的硬件计数器起始计数值(即理论零点偏移量);
[0073]2.当得到启动命令时,单片机为计数器T/C1填入计数值并等待单片机A的零点信号。
[0074]3.零点信号到达时触发INTO中断,启用T/C1对主轴编码器A的脉冲信号计数。
[0075]4.T/C1计数到达时(计数值溢出)产生中断并输出时钟脉冲供PCI等采集板卡使用,T/C1内覆填入数值Puls (Puls为固定值,与主轴的编码器分辨率有关,即数值等于主轴一周运动所产生的脉冲数);
[0076]5.T/C1计数再次到达时(Puls溢出)产生中断,禁止输出时钟脉冲信号,相关位清零。
[0077]上述单片机A和B的流程总结为:单片机A调校理论零点,消除因安装而产生的位置误差并输出理论零点;单片机B为按单片机A产生的理论零点经过设定的偏移量进行时钟脉冲的触发,由主轴编码器的脉冲作为时钟启停信号。在机械机构上保证精度的时候,主轴旋转一圈,滑块正好往复一次。
[0078]理论零点与实际安装零点的位置关系有下述四种情况:
[0079]1.脉冲正负数量跨度=MAX-MIN(MAX > O, MIN < O),简称脉冲跨度;
[0080]2.零点误差ER = MAX-脉冲跨度/2 ;
[0081]当ER < O时,测量零点(即实际安装零点)偏左;
[0082]当ER > O时,测量零点(即实际安装零点)偏右。
[0083]3.当ER < O时,即为测量零点相对理论零点偏左。
[0084]时钟触发时,如果在理论零点(即偏移量为EX = O)时触发,则根据运动方向做判断:
[0085]a.当运动方向为正时,触发值为Plus+ER,ER<0。
[0086]b.当运动方向为负时,触发值为-ER,ER < 0(当ER = O时,触发值为最小值I)。
[0087]时钟触发时,如果在理论零点偏置处(即存在EX古O时)触发,则根据运动方向做判断:
[0088]a.当运动方向为正时,触发值为Plus+ER+EX(_脉冲宽度/2≤EX≤脉冲宽度/2)。
[0089]当EX=脉冲宽度/2时,为上极限MAX处触发,位移方向为负,数据绘图时应注意。
[0090]当EX =-脉冲宽度/2时,为下极限MIN处触发,位移方向为正,数据绘图时应注
O
[0091]如果触发值大于Plus,则取余数,即触发值=触发值/Plus。
[0092]b.当运动方向为负时,触发值为-ER+EX(-脉冲宽度/2 ( EX≤脉冲宽度/2)。
[0093]当EX=脉冲宽度/2时,为下极限MIN处触发,位移方向为正,数据绘图时应注意。
[0094]当EX =-脉冲宽度/2时,为上极限MAX处触发,位移方向为负,数据绘图时应注
O
[0095]如果触发值小于0,则借位,即触发值=触发值+Plus。
[0096]2.当ER > O时,即为测量零点相对理论零点偏右。
[0097]时钟触发时,如果在理论零点(即偏移量为EX = O)时触发,则根据运动方向做判断:
[0098]a.当运动方向为正时,触发值为ER,ER > 0(当ER = O时,触发值为最小值I)。[0099]b.当运动方向为负时,触发值为Plus-ER。
[0100]时钟触发时,如果在理论零点偏置处(即存在EX古O时)触发,则根据运动方向做判断:
[0101]a.当运动方向为正时,触发值为ER+EX(-脉冲宽度/2≤EX≤脉冲宽度/2)。
[0102]当EX=脉冲宽度/2时,为上极限MAX处触发,位移方向为负,数据绘图时应注意。
[0103]当EX =-脉冲宽度/2时,为下极限MIN处触发,位移方向为正,数据绘图时应注
O
[0104]如果触发值小于0,则借位,即触发值=触发值+Plus
[0105]b.当运动方向为负时,触发值为Plus-ER+EX(_脉冲宽度/2≤EX≤脉冲宽度/2)。
[0106]当EX =脉冲宽度/2时,为下极限MIN处触发,位移方向为正,绘图时注意。
[0107]当EX =-脉 冲宽度/2时,为上极限MAX处触发,位移方向为负,绘图时注意。
[0108]如果触发值大于Plus,则取余数,即触发值=触发值/Plus。
[0109]以上所述仅是本发明的优选实施方式,应当指出,对于本【技术领域】的普通技术人员,在不脱离本发明构思的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明保护范围内。
【权利要求】
1.高速精密定位采集触发卡电路,其特征在于,包括鉴相电路、第一单片机电路、第二单片机电路;正转、反转及合成零点信号输入第一单片机电路的三个中断口,所述正转信号接入第一单片机电路的INTO 口、所述反转信号接入第一单片机电路的INTl 口、合成零点信号接入第一单片机电路的INT2 口 ;所述第一单片机电路通过零点脉冲展宽电路与第二单片机电路连接;第一单片机电路和第二单片机电路通过RS485接口与上位机连接通信;所述第二单片机电路连接外接PCI模拟量采集板卡。
2.根据权利要求1所述的高速精密定位采集触发卡电路,其特征在于,所述鉴相电路由两个RS触发器构成互锁输出电路。
3.根据权利要求2所述的高速精密定位采集触发卡电路,其特征在于,所述正转、反转及合成零点信号为消抖处理模块处理后的编码器信号。
4.根据权利要求3所述的高速精密定位采集触发卡电路,其特征在于,所述消抖处理模块为编码器数字滤波电路,所述编码器数字滤波电路包括令牌式数字滤波电路。
5.利用权利要求1所述高速精密定位采集触发卡电路的采集方法,其特征在于,包括如下步骤: 第一单片机电路: . 51)第一单片机电路等待自检命令,主轴以w速度转两圈,第一单片机电路记录测量滑块位置的编码器的两个极限位置时的脉冲数值,即MAX、MIN,传至上位机端算出偏差ER和触发值,回传触发值及主轴运动方向标志; .52)每个INT0/1信号触发中断,进行加减计数;并比较与触发值是否相等,如果相等则比较运动方向PB0/1与方向标志,如果相等,则触发一次零点信号脉冲; .53)第一单片机电路每次过零点都清零一次重新计数,当电机停止时,当前位置ADDR被保留; 第二单片机电路: .54)第二单片机电路等待预置命令,预置内容为单片机内部的硬件计数器起始计数值即理论零点偏移量; . 55)当得到启动命令时,第二单片机电路为计数器T/C1填入计数值并等待第一单片机电路的零点信号; . 56)零点信号到达时触发INTO中断,启用T/C1对测量圆周运动的编码器的脉冲信号计数; . 57)T/C1计数到达时即计数值溢出产生中断并输出时钟脉冲供采集板卡使用,T/C1内覆填入数值Puls,所述Puls为固定值,与测量圆周运动的编码器分辨率有关,即数值等于主轴一周运动所产生的脉冲数; .58)T/C1计数再次到达时即Puls溢出产生中断,禁止输出时钟脉冲信号,相关位清零; 所述偏差ER与触发值的关系为: 零点误差OR = MAX-脉冲跨度/2 ;所述脉冲跨度为脉冲正负数量跨=MAX-MIN (MAX >.0,MIN < O);当ER < O时,测量零点即实际安装零点偏左;当ER > O时,测量零点即实际安装零点偏右; 当ER < O时,即为测量零点相对理论零点偏左: 时钟触发时,如果在理论零点即偏移量为EX = O时触发,则根据运动方向做判断:a.当运动方向为正时,触发值为Plus+ER,ER<O ;b.当运动方向为负时,触发值为-ER,ER< O ;当ER = O时,触发值为最小值I ;时钟触发时,如果在理论零点偏置处即存在EX古O时触发,则根据运动方向做判断:a.当运动方向为正时,触发值为Plus+ER+EX(-脉冲宽度/2≤ EX≤脉冲宽度/2);当EX =脉冲宽度/2时,为上极限MAX处触发,位移方向为负;当EX =-脉冲宽度/2时,为下极限MIN处触发,位移方向为正;如果触发值大于Plus,则取余数,即触发值=触发值/Plus ;b.当运动方向为负时,触发值为-ER+EX(-脉冲宽度/2≤ EX≤脉冲宽度/2);当EX =脉冲宽度/2时,为下极限MIN处触发,位移方向为正;当EX =-脉冲宽度/2时,为上极限MAX处触发,位移方向为负;如果触发值小于O,则借位,即触发值=触发值+Plus ;当ER > O时,即为测量零点相对理论零点偏右:时钟触发时,如果在理论零点即偏移量为EX = O时触发,则根据运动方向做判断:a.当运动方向为正时,触发值为ER,ER> O ;当ER = O时,触发值为最小值I ;b.当运动方向为负时,触发值为Plus-ER;时钟触发时,如果在理论零点偏置处即存在EX古O时触发,则根据运动方向做判断:a.当运动方向为正时,触发值为ER+EX(-脉冲宽度/2≤ EX≤脉冲宽度/2)。当EX =脉冲宽度/2时,为上极限MAX处触发,位移方向为负;当EX =-脉冲宽度/2时,为下极限MIN处触发,位移方向为正;如果触发值小于O,则借位,即触发值=触发值+Plus ;b.当运动方向为负时,触发值为Plus-ER+EX(-脉冲宽度/2≤ EX≤脉冲宽度/2)。当EX =脉冲宽度/2时,为下极限MIN处触发,位移方向为正;当EX =-脉冲宽度/2时,为上极限MAX处触发,位移方向为负;如果触发值大于Plus,则取余数,即触发值=触发值/Plus。
【文档编号】G05B19/042GK104007685SQ201410116299
【公开日】2014年8月27日 申请日期:2014年3月21日 优先权日:2014年3月21日
【发明者】娄永旵, 俞旭建, 刘强, 陈建江 申请人:宁波巨匠自动化装备有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1