步进电机运行任务参数调整 点击:1020 | 回复:0



墨菲5655

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 0回
  • 年度积分:4
  • 历史总积分:60
  • 注册:2022年9月28日
发表于:2022-12-21 17:08:57
楼主

众所周知,步进电机在各个领域都有着应用场景,其主要的优势还是在于可操作性和准确性。不同的运行场景下,所需要配置的运行参数不尽相同,以合理的运行参数去配置,可以让我们在调试过程中少走很多的弯路。

对于常见的运行任务模型来说,一个运行任务涉及到的就是电机加速,减速,运行3个阶段。组合起来完成要求运行的参数。加速和减速阶段就包含了运行的启动速度,停止速度,最大速度和加速度这几个参数的适配。例如速度也快,步数短,加速度小,这样设置下去很可能电机在加速度过程中,就走完了要求的步数,加速过程不完整,即使设置速度再快,也没有达到预期的高速运行效果。 这个时候就需要计算控制器的速度要求,匹配对应的加减速度,以达到高速运行的要求。

以PMC007CXSP2的pp模式为例,运行能够以梯形加速的方式,匀加/减速到启动/停止速度,方便我们对参数进行运算。需要配置的参数就是启动速度,停止速度,加速度,最大速度和步进距离。那么根据运行特点我们知道,当刚刚好加速完成就进行减速完成的步进距离,就是最短的步数要求。步数再小的话,加减速过程就不完全。以加速过程为例:

其次启动速度和停止速度要小于,最大速度。 且启动速度/停止速度/加速度/最大速度都必须大于600。例如设置启动速度5000pps,最大速度10000pps,加速度160000pps,通过计算可得知加速时间为0.09375s,步进距离为1172个脉冲。

附上python的计算代码。

import sys


def acce_min():  # 最小加速度计算
    v_max = int(input('输入最大速度(整数)'))
    s = int(input('输入运行步数(整数)'))
    v0 = 1000  # 默认值
    t = s / 2 * 2 / (v0 + v_max)
    a = (v_max - v0) / t
    print('需要设置的最小加速度为{}pps'.format(a))


def s_min():  # 最小脉冲计算
    v_max = int(input('输入最大速度(整数):'))
    a = int(input('输入加速度值(整数):'))
    v0 = 1000  # 默认值
    t = (v0 + v_max) * a
    s = v0 * t + a * t * t / 2
    print('需要设置的最小步数为{}pp'.format(s))


if __name__ == '__main__':
    while 1:
        print()
        E = '请选择测试项 '
        print(E.center(22, '*'))
        print('1:确定速度和加速步数,计算最小加速度:')
        print('2:确定速度和加速度,计算最小加速步数:')
        print('0:退出测试')
        operation_code = input('请输入:')
        if operation_code == '1':
            acce_min()
        elif operation_code == '2':
            s_min()
        elif operation_code == '0':
            sys.exit('测试程序已退出')
        else:
            print('输入错误,请重新输入')




楼主最近还看过


热门招聘
相关主题

官方公众号

智造工程师