CMC5401-M4PLUS 基于TC6014的四轴运动控制器部分写函数

2.1范围设定

范围R值将决定初始、加速度、驱动速度等操作范围。提高倍数可以达到较高的速度,但同时会降低速度的分辨率,因此如果速度可以达到预期速度倍数应设定的尽量低。在驱动过程中范围R不能改变,且速度是不连续变化的。范围设定直接转化为倍率的设定,必须设定合适的参数。例如:我们能够设定的最高速度是8000(在R = 8000000时,倍率=1),初速度最小可以设置成1.但是当倍率设置成100时,初速度最小只能是100了。分辨率相对降低了,这是在运行的时候需要考虑的问题。

函数原型

u8 TC6014_SetRange(u8 axis,u32 range)

说明

设置指定轴的范围

参数

axis:AXIS_X--X轴,AXIS_Y--Y轴,AXIS_Z--Z轴,AXIS_U--U轴,AXIS_ALL--所有轴

range:要设置的范围。范围16000~8000000。倍率Mul=8000000/range

返回值

返回0 表示参数小于范围的最小值,返回1表示操作成功,返回2参数大于范围最大值

示例

设置X轴的范围为8000000:

TC6014_SetRange(AXIS_X,8000000);

2.2 初始速度设定

 该参数决定加速过程中的开始速度和减速过程中的停止速度。设初始速度为SV,则实际初始速度为:

实际初始速度(PPS)=SV×Mul

函数原型

u8 TC6014_SetInitSpeed(u8 axis,u16 sv)

说明

设置指定轴的初始速度

参数

axis:AXIS_X--X轴,AXIS_Y--Y轴,AXIS_Z--Z轴,AXIS_U--U轴,AXIS_ALL--所有轴

sv:要设置的初始速度,范围1~8000(PPS)

返回值

返回0表示初始速度大于最大范围值,返回1表示设置成功

示例

设置X轴的初始速度为3000(PPS):

TC6014_SetInitSpeed(AXIS_X,3000); //实际初始速度=3000×Mul

2.3 驱动速度设定

该参数决定驱动脉冲的速度,匀速驱动时,驱动速度等于初始速度。

设驱动速度V,则实际驱动速度为:

实际驱动速度(PPS)=V×Mul

如果设定驱动速度小于初始速度,将不执行价/减速过程,而直接匀速运行。在寻找编码器零信号时,以低速运行,一旦检测到零信号将立即停止。所以驱动速度(原点收索速度)应小于初始速度。在运行过程中驱动速度可以随时改变。

函数原型

u8 TC6014_SetDriveSpeed(u8 axis,u16 v)

说明

设置指定轴的驱动速度

参数

axis:AXIS_X--X轴,AXIS_Y--Y轴,AXIS_Z--Z轴,AXIS_U--U轴,AXIS_ALL--所有轴

v:要设置的驱动速度,范围1~8000(PPS)

返回值

返回0表示驱动速度大于最大范围值,返回1表示设置成功

示例

设置X轴的驱动速度为5000(PPS):

TC6014_SetDriveSpeed(AXIS_X,5000); //实际驱动速度=5000×Mul

2.4 加速度设定

该参数将决定直线加速度驱动或S曲线加速度。设加速为A,则实际加速度为:

实际加速度(PPS/s)=A×125×Mul

加速度设定值范围为1~8000,则实际加速度范围:

       

A=1 PPS/s

A=8000 PPS/s

Mul=1

125 PPS/s

106PPS/s

Mul=500

63.5×103  PPS/s

5×108 PPS/s

函数原型

u8 TC6014_SetAccel(u8 axis,u16 a)

说明

设置指定轴的加速度

参数

axis:AXIS_X--X轴,AXIS_Y--Y轴,AXIS_Z--Z轴,AXIS_U--U轴,AXIS_ALL--所有轴

a:要设置的加速度,范围1~8000(PPS/s)

返回值

返回0表示加速度大于最大范围值,返回1表示设置成功

示例

设置X轴的加速度为1000(PPS/s):

TC6014_SetAccel(AXIS_X,1000); //实际加速度=1000×125×Mul

2.5 减速度设定

该参数将决定直线减速度驱动或S曲线减速度。设加速为D,则实际减速度为

实际减速度(PPS/s)=D×125×Mul

加速度设定值范围为1~8000,则实际加速度范围:

       

D=1 PPS/s

D=8000 PPS/s

Mul=1

125 PPS/s

106PPS/s

Mul=500

     63.5×103  PPS/s

5×108 PPS/s

函数原型

u8 TC6014_SetDecel(u8 axis,u16 d)

说明

设置指定轴的减速度

参数

axis:AXIS_X--X轴,AXIS_Y--Y轴,AXIS_Z--Z轴,AXIS_U--U轴,AXIS_ALL--所有轴

d:要设置的减速度,范围1~8000(PPS/s)

返回值

返回0表示减速度大于最大范围值,返回1表示设置成功

示例

设置X轴的减速度为1000(PPS/s):

TC6014_SetDecel(AXIS_X,1000); //实际减速度=1000×125×Mul

2.6 S曲线加速度变化率设定

  设定S曲线加/减速度变化率K,则实际加速度变换率为

实际S曲线加速变化率(PPS/s2)=×62.5×106×Mul

  S曲线加速度变化率范围为1~65535,所以S曲线加速度变化率范围为:

K=65535 s2/PPS

K=1s2/PPS

Mul=1

954 PPS/s2

62.5×106 PPS/s2

Mul=500

477×104 PPS/s2

31.25×108 PPS/s2

函数原型

u8 TC6014_SetJerk(u8 axis,u16 k)

说明

设置指定轴S曲线加速度变化率

参数

axis:AXIS_X--X轴,AXIS_Y--Y轴,AXIS_Z--Z轴,AXIS_U--U轴,AXIS_ALL--所有轴

k:要设置的S曲线加速度变化率,范围1~65535(s2/PPS)

返回值

返回0表示k大于最大范围值,返回1表示设置成功

示例

设置X轴的S曲线加速度变化率k为1000(s2/PPS):

TC6014_SetJerk(AXIS_X,1000); //实际S曲线加速度变化率=×62.5×10×Mul

2.7 S曲线减速度变化率设定

  设定S曲线加/减速度变化率DK,则实际加速度变换率为:

实际S曲线加速变化率(PPS/s2)=×62.5×106×Mul

  S曲线加速度变化率范围为1~65535,所以S曲线加速度变化率范围为:

DK=65535 s2/PPS

DK=1s2/PPS

Mul=1

954 PPS/s2

62.5×106 PPS/s2

Mul=500

477×104 PPS/s2

31.25×108 PPS/s2

函数原型

u8 TC6014_SetDecelJerk(u8 axis,u16 dk)

说明

设置指定轴S曲线减速度变化率

参数

axis:AXIS_X--X轴,AXIS_Y--Y轴,AXIS_Z--Z轴,AXIS_U--U轴,AXIS_ALL--所有轴

dk:要设置的S曲线减速度变化率,范围1~65535(s2/PPS)

返回值

返回0表示dk大于最大范围值,返回1表示设置成功

示例

设置X轴的S曲线减速度变化率dk为1000(s2/PPS):

TC6014_SetDecelJerk(AXIS_X,1000); //实际S曲线减速度变化率=×62.5×10×Mul

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值