1 引言
步进电机具有快速启停能力强、精度高、转速容易控制的特点。但是,步进电机应避免转动速率的突变,而且从停止到开始转动有一个较低的起动频率,随后才可以平缓地过渡到较高的转速。相应地在步进电机制动时,也应该平缓过渡。如果由于启动和停止控制不当,步进电机会出现启动时抖动和停止时过冲的现象,从面影响控制系统的控制精度[1][2][3]。为避免这种情况的发生,要对步进电机进行加减速控制。步进电机加减速控制是数控系统的关键技术,对提高数控系统的精度及速度有重要的意义。加减速控制也得到了广泛的研究与应用。
目前国内外步进电机加减速控制曲线主要包括三种[4]:直线型加减速速度曲线(也称为梯形曲线)、指数型加减速曲线、S 型加减速曲线。控制算法主要有查表法和插补迭代法。查表法的原理是设置一张时间间隔表,表中的每一项都对应一个转速,时间间隔按一定的规律变化 [1]。插补迭代法的原理是根据前一步的基准点速度和加、减、匀速状态来确定当前步的基准点速度[4][5]。
这两种控制算法都有各自的适用范围,查表法适用于单轴的加减速控制,具有算法简单、快速的特点,但不能适用于多轴联动。插补迭代算法适用于高精度的控制,算法复杂,对处理器的要求较高,一般需要用到DSP 等高档处理器[4]。本文结合两种算法的优点,设计了一种“动态查表法”来实现三轴联动的快速加减速算法。动态查表法即有查表法简单、快速的特点,又能够用一般的单片机来实现高精度的多轴联动加减速控制。
2 动态查表法
根据线性插补原理,各插补轴的位移与速度比相等。在加减速过程中,各插补轴的速度、加速度分别与合成的速度、加速度对应成比例[5]。当对合成速度按某种加减速方法进行加减速时,各插补轴在保证空间轨迹的同时,也应按相同的加减速方法进行加减速。查表法具有简单、快速的特点,但查表法必须事先确定一张加减速的速度表格,不能按比例应用到多轴联动的场合。本文的思路是结合数字积分法,在加工某条线段前先按比例快速计算好相应的速度表格,再用查表法来完成加减速控制,即“动态查表法”。
数字积分法,也称 DDA(Digital Differential Analyzer) ,它是建立在数字积分器基础上的一种插补算法,其最大特点是易于实现多坐标插补联动[6]。每一轴设置一个累加器,三轴联动需要设置三个累加器,每进行一次插补,对三个累加器分别累加。哪一轴的累加器有溢出则该轴延迟一个定时周期进给一步(注:本文中的“进给一步”代表发一次脉冲的高电平或低电平,两次“进给一步”代表一个完整的脉冲)。在实际应用中,会设定一个较大的整数N,一般是2m,本文设置的是0x8000,即215。当累加超过该数时,视为溢出。相应的,根据单片机的定时周期,加工速度将折算成两个整数用于实际的插补运算,一个整数是n,代表过n 个定时周期进给一步,另一个是dn,代表累加数,当dn 累加到达N 时,延迟一个定时周期进给一步。则:
V 代表的是指定的加工速度,做加减速控制的加速过程需要将速度从起跳速度按照一定的曲线加速到V,减速过程需要将速度从V 再减到起跳速度。
本文设计了一系列速度档位,最低档位就是起跳速度,然后逐步增加到V,每档速度同时对应一个脉冲数组,及走过多少脉冲后切换到另外一个速度档位。脉冲与速度构成的曲线可以是梯形曲线、指数型加减速曲线或S 型加减速曲线。每个速度档位都按照相同的比例缩小速度V,三轴都按照相同的比例,就满足了线性插补原理,可以在保证空间轨迹的同时,各轴按照相同的加减速方法进行加减速。但计算速度档位必须在加工线段前进行,而且不能有除法运算,否则一般的单片机难以达到实时性的要求。按一定的比例缩小V 必须用到除法,要避免除法运算就只能采用移位运算来代替。由式(1)~(3)可知,k 与V 成反比,而n 和dn 分别对应k 的整数和小数部分。假设要得到V*p/q 对应的n 和dn,其中p、q 都是自然数且p
本文设计的速度档位因子分别是:1/16, 1/8, 1/4, 2/5,1/2, 2/3, 4/5, 8/9, 共八个档位。对精度要求高的还可以设置更多的档位。确定速度档位因子后,就可以通过一系列的移位指令来计算V*p/q 对应的n 和dn,以4/5 为例:计算步骤如下:
n=ctrlDatas[i].n*5;// ctrlDatas[i].n 是给定速度对应的n,*5 也可以用左移位+加法代替
ns[j]=n>>2;//ns[j]是每个速度档位对应的n,>>2 代表除以4
dns[j]=(ctrlDatas[i].dn*5)>>2;// dns[j]是每个速度档位对应的dn
dns[j]=dns[j]+((n & 0x3)<<13);//将n 的余数补充到dn
ns[j]+=dns[j]>>15;//将dn 对应的整数部分补充到n
dns[j]=dns[j] & 0x7FFF;//取余数
可见通过一系列的位运算和加法运算实现了各速度档位的计算,而且精度非常高。实验证明,常规的单片机完全可以达到实时性的要求。
3 动态查表算法描述
动态查表算法有两部分,一是加工前计算各档位速度vc,另一个是实时的加减速控制rtvc。
下面分别描述。
3.1 算法vc,用于加工线段前的预处理,计算各轴各档位速度对应的n 和dn:
(1)求最长轴所在的索引longestIndex。本文将三轴分别编号成0,1,2,分别代表XYZ三轴,最长加工轴代表该轴加工速度最快,以该轴为基准进行加减速,其他轴同步按比例进行加减速
(2)如果最长加工轴的加工脉冲小于系统指定脉冲,以系统指定的低速进行加工,清除加减速标志,不进行加减速控制。算法结束,否则转第(3)步
(3)如果某轴的速度低于指定速度,该轴不进行加减速控制,全部按照指定速度进行加工。算法结束,否则转第(4)步
(4)按照第2 节的速度档位划分及移位算法计算各轴各档位速度对应的n 和dn。算法结束3.2 算法rtvc,用于实时加减速控制,根据发出脉冲计数进行相应的加减速控制:
(1)如果有加速标志,代表还需要进行加速控制,转第(2)步,否则转第(5)步
(2)如果最长加工轴的加工脉冲超过某档位对应的脉冲数,转第(3)步,否则转第(5)步
(3)如果达到最大档位,代表已经完成加速,设置各轴实时n 和dn 为指定正常加工速度V 对应的n 和dn,清除加速标志,转第(5)步。否则转第(4)步
(4)设置各轴实时n 和dn 为对应加速档位速度对应的n 和dn
(5)如果有减速标志,代表需要进行减速控制,转第(6)步,否则算法结束
(6)计算最长加工轴距离加工终点还有多少脉冲pulse
(7)如果pulse 小于某档位对应的脉冲数,转第(8)步,否则算法结束
(8)如果达到最大档位,代表已经完成减速,清除减速标志,算法结束,否则转第(9)步
(9)设置各轴实时n 和dn 为对应减速档位速度对应的n 和dn。
算法结束算法 rtvc 的流程图如图1 所示,算法vc 的流程图省略。
算法 vc 只需要在加工某线段前执行一次,而算法rtvc 用于实时加减速控制,需要在单片机的主循环里面反复调用,但由于调用rtvc 前速度表格已经计算好,只需查表即可,因此算法的实时性非常好。
在实际的加工程序中,除了增加以上两个算法之外,还是按照常规的DDA 算法进行积分插补,按照常规判断加工终点到达等等,不再赘述。
4 总结
动态查表法用到的表格有两个,一个是切换各档位速度需要走过的脉冲,另一个的各轴各档位速度对应的n 和dn。后一个表格是动态计算生成的。调整前一个表格可以实现不同的加减速曲线,因此动态查表法可以实现各种加减速曲线,根据实际加工情况自由选择,而不需要增加算法复杂度。同时,计算各档位速度对应的n 和dn 只需要进行一系列的位运算和加法运算,一般的单片机即可达到良好的实时性。
动态查表法已经在数控点胶机上得到了很好的应用,实践表明,用一般的ARM 芯片完全满足了实时性和高精度的要求。动态查表法同样可以应用到其他多轴联动运动控制场合。
关键字:斯泰普 步进电机 三轴联动
引用地址:斯泰普步进电机三轴联动的快速加减速算法研究
步进电机具有快速启停能力强、精度高、转速容易控制的特点。但是,步进电机应避免转动速率的突变,而且从停止到开始转动有一个较低的起动频率,随后才可以平缓地过渡到较高的转速。相应地在步进电机制动时,也应该平缓过渡。如果由于启动和停止控制不当,步进电机会出现启动时抖动和停止时过冲的现象,从面影响控制系统的控制精度[1][2][3]。为避免这种情况的发生,要对步进电机进行加减速控制。步进电机加减速控制是数控系统的关键技术,对提高数控系统的精度及速度有重要的意义。加减速控制也得到了广泛的研究与应用。
目前国内外步进电机加减速控制曲线主要包括三种[4]:直线型加减速速度曲线(也称为梯形曲线)、指数型加减速曲线、S 型加减速曲线。控制算法主要有查表法和插补迭代法。查表法的原理是设置一张时间间隔表,表中的每一项都对应一个转速,时间间隔按一定的规律变化 [1]。插补迭代法的原理是根据前一步的基准点速度和加、减、匀速状态来确定当前步的基准点速度[4][5]。
这两种控制算法都有各自的适用范围,查表法适用于单轴的加减速控制,具有算法简单、快速的特点,但不能适用于多轴联动。插补迭代算法适用于高精度的控制,算法复杂,对处理器的要求较高,一般需要用到DSP 等高档处理器[4]。本文结合两种算法的优点,设计了一种“动态查表法”来实现三轴联动的快速加减速算法。动态查表法即有查表法简单、快速的特点,又能够用一般的单片机来实现高精度的多轴联动加减速控制。
2 动态查表法
根据线性插补原理,各插补轴的位移与速度比相等。在加减速过程中,各插补轴的速度、加速度分别与合成的速度、加速度对应成比例[5]。当对合成速度按某种加减速方法进行加减速时,各插补轴在保证空间轨迹的同时,也应按相同的加减速方法进行加减速。查表法具有简单、快速的特点,但查表法必须事先确定一张加减速的速度表格,不能按比例应用到多轴联动的场合。本文的思路是结合数字积分法,在加工某条线段前先按比例快速计算好相应的速度表格,再用查表法来完成加减速控制,即“动态查表法”。
数字积分法,也称 DDA(Digital Differential Analyzer) ,它是建立在数字积分器基础上的一种插补算法,其最大特点是易于实现多坐标插补联动[6]。每一轴设置一个累加器,三轴联动需要设置三个累加器,每进行一次插补,对三个累加器分别累加。哪一轴的累加器有溢出则该轴延迟一个定时周期进给一步(注:本文中的“进给一步”代表发一次脉冲的高电平或低电平,两次“进给一步”代表一个完整的脉冲)。在实际应用中,会设定一个较大的整数N,一般是2m,本文设置的是0x8000,即215。当累加超过该数时,视为溢出。相应的,根据单片机的定时周期,加工速度将折算成两个整数用于实际的插补运算,一个整数是n,代表过n 个定时周期进给一步,另一个是dn,代表累加数,当dn 累加到达N 时,延迟一个定时周期进给一步。则:
V 代表的是指定的加工速度,做加减速控制的加速过程需要将速度从起跳速度按照一定的曲线加速到V,减速过程需要将速度从V 再减到起跳速度。
本文设计了一系列速度档位,最低档位就是起跳速度,然后逐步增加到V,每档速度同时对应一个脉冲数组,及走过多少脉冲后切换到另外一个速度档位。脉冲与速度构成的曲线可以是梯形曲线、指数型加减速曲线或S 型加减速曲线。每个速度档位都按照相同的比例缩小速度V,三轴都按照相同的比例,就满足了线性插补原理,可以在保证空间轨迹的同时,各轴按照相同的加减速方法进行加减速。但计算速度档位必须在加工线段前进行,而且不能有除法运算,否则一般的单片机难以达到实时性的要求。按一定的比例缩小V 必须用到除法,要避免除法运算就只能采用移位运算来代替。由式(1)~(3)可知,k 与V 成反比,而n 和dn 分别对应k 的整数和小数部分。假设要得到V*p/q 对应的n 和dn,其中p、q 都是自然数且p
本文设计的速度档位因子分别是:1/16, 1/8, 1/4, 2/5,1/2, 2/3, 4/5, 8/9, 共八个档位。对精度要求高的还可以设置更多的档位。确定速度档位因子后,就可以通过一系列的移位指令来计算V*p/q 对应的n 和dn,以4/5 为例:计算步骤如下:
n=ctrlDatas[i].n*5;// ctrlDatas[i].n 是给定速度对应的n,*5 也可以用左移位+加法代替
ns[j]=n>>2;//ns[j]是每个速度档位对应的n,>>2 代表除以4
dns[j]=(ctrlDatas[i].dn*5)>>2;// dns[j]是每个速度档位对应的dn
dns[j]=dns[j]+((n & 0x3)<<13);//将n 的余数补充到dn
ns[j]+=dns[j]>>15;//将dn 对应的整数部分补充到n
dns[j]=dns[j] & 0x7FFF;//取余数
可见通过一系列的位运算和加法运算实现了各速度档位的计算,而且精度非常高。实验证明,常规的单片机完全可以达到实时性的要求。
3 动态查表算法描述
动态查表算法有两部分,一是加工前计算各档位速度vc,另一个是实时的加减速控制rtvc。
下面分别描述。
3.1 算法vc,用于加工线段前的预处理,计算各轴各档位速度对应的n 和dn:
(1)求最长轴所在的索引longestIndex。本文将三轴分别编号成0,1,2,分别代表XYZ三轴,最长加工轴代表该轴加工速度最快,以该轴为基准进行加减速,其他轴同步按比例进行加减速
(2)如果最长加工轴的加工脉冲小于系统指定脉冲,以系统指定的低速进行加工,清除加减速标志,不进行加减速控制。算法结束,否则转第(3)步
(3)如果某轴的速度低于指定速度,该轴不进行加减速控制,全部按照指定速度进行加工。算法结束,否则转第(4)步
(4)按照第2 节的速度档位划分及移位算法计算各轴各档位速度对应的n 和dn。算法结束3.2 算法rtvc,用于实时加减速控制,根据发出脉冲计数进行相应的加减速控制:
(1)如果有加速标志,代表还需要进行加速控制,转第(2)步,否则转第(5)步
(2)如果最长加工轴的加工脉冲超过某档位对应的脉冲数,转第(3)步,否则转第(5)步
(3)如果达到最大档位,代表已经完成加速,设置各轴实时n 和dn 为指定正常加工速度V 对应的n 和dn,清除加速标志,转第(5)步。否则转第(4)步
(4)设置各轴实时n 和dn 为对应加速档位速度对应的n 和dn
(5)如果有减速标志,代表需要进行减速控制,转第(6)步,否则算法结束
(6)计算最长加工轴距离加工终点还有多少脉冲pulse
(7)如果pulse 小于某档位对应的脉冲数,转第(8)步,否则算法结束
(8)如果达到最大档位,代表已经完成减速,清除减速标志,算法结束,否则转第(9)步
(9)设置各轴实时n 和dn 为对应减速档位速度对应的n 和dn。
算法结束算法 rtvc 的流程图如图1 所示,算法vc 的流程图省略。
算法 vc 只需要在加工某线段前执行一次,而算法rtvc 用于实时加减速控制,需要在单片机的主循环里面反复调用,但由于调用rtvc 前速度表格已经计算好,只需查表即可,因此算法的实时性非常好。
在实际的加工程序中,除了增加以上两个算法之外,还是按照常规的DDA 算法进行积分插补,按照常规判断加工终点到达等等,不再赘述。
4 总结
动态查表法用到的表格有两个,一个是切换各档位速度需要走过的脉冲,另一个的各轴各档位速度对应的n 和dn。后一个表格是动态计算生成的。调整前一个表格可以实现不同的加减速曲线,因此动态查表法可以实现各种加减速曲线,根据实际加工情况自由选择,而不需要增加算法复杂度。同时,计算各档位速度对应的n 和dn 只需要进行一系列的位运算和加法运算,一般的单片机即可达到良好的实时性。
动态查表法已经在数控点胶机上得到了很好的应用,实践表明,用一般的ARM 芯片完全满足了实时性和高精度的要求。动态查表法同样可以应用到其他多轴联动运动控制场合。
上一篇:装备制造升级解决三大问题
下一篇:驱动步进电机的双通道音频放大器
推荐阅读最新更新时间:2024-05-03 00:23
基于Cortex-M3处理器的步进电机控制系统
步进电机的控制方式是将电脉冲信号转换为角位移,在未超载的情况下,步进电机的速度和位置分别取决于脉冲频率以及脉冲个数。步进电机控制方便,在众多行业都得到广泛的使用,诸如数控机床、机械包装等机械行业、机器人等电子行业、还有医疗设备等众多领域。在实际的工程应用中,由步进电机控制器发送脉冲和方向信号,通过控制脉冲信号的个数来实现角位移量的大小,按照方向信号的指示转动角度,从而通过驱动器实现和完成步进电机的复杂运动。步进电机控制器也可采用PLC系统。PLC具有易操作、可靠性高的优点,但成本较高。随着研究的不断深入和技术的不断优化,单片机的片上外设更加丰富,实际应用的可靠性和保障性不断增强,且价格也相对于PLC便宜。因此,对步进电机的控制正逐
[单片机]
2相和5相步进电机比较
2 相和 5 相步进电机比较 您已将运动控制解决方案的搜索范围缩小到步进电机。现在是决定 2 相还是 5 相的时候了?ORIENTAL MOTOR 制造两相 (1.8°/0.9°) 和五相 (0.72°/0.36°) 步进电机和驱动器。我们在这两种技术方面的经验为我们提供了独特的视角。ORIENTAL MOTOR 进行了逐项快速比较,以澄清 2 相与 5 相争论的困惑和迷思。该指南涵盖了两种技术在步进电机性能关键领域的基本差异:分辨率、振动、扭矩、精度和同步性。ORIENTAL MOTOR 经验丰富的技术支持人员也可以为这两种技术提供更深入的解释。 2相,5相,有什么区别? 2 相和 5 相步进电机之间有两个主要区别。第一
[嵌入式]
二相混合式步进电机模型参数的辨识
1引言 优良的性能使混合式步进电动机闭环伺服系统的研究越来越受到重视。目前,自控混合式步进电动机伺服系统控制策略的研究相对滞后由于混合式步进电动机内部各控制变量相互耦合,且电机结构特殊,不同于一般类型的电机文作者在文献中提出了一种二相混合式步进电动机矢量控制位置伺服系统。该系统采用神经网络模型参考自适应控制策略对系统中的不确定因素进行实时补偿,通过最大转矩/电流矢量控制实现电机的高效能控制。图1为该系统框图。系统中,神经网络控制器的输入为位置误差、速度误差及模型参考误差。系统运行中,神经网络控制器根据输入量的变化实时给出电流给定的修正值,并对自身的权重等参数在线修正。图中的参考模型是根据二相混合式步进电机的数学模型、控制系统结构及性
[嵌入式]
斯泰普伺服电机与步进电机的六大性能差异
斯泰普 步进电机 作为一种开环控制的系统,和现代数字控制技术有着本质的联系。在目前国内的数字控制系统中,步进电机的应用十分广泛。随着全数字式交流伺服系统的出现,交流伺服电机也越来越多地应用于数字控制系统中。为了适应数字控制的发展趋势,运动控制系统中大多采用步进电机或全数字式交流伺服电机作为执行电动机。虽然两者在控制方式上相似(脉冲串和方向信号),但在使用性能和应用场合上存在着较大的差异。现就二者的使用性能作一比较。
一、控制精度不同
两相混合式步进电机步距角一般为 1.8°、0.9°,五相混合式步进电机步距角一般为0.72 °、0.36°。也有一些高性能的步进电机通过细分后步距角更小。如三洋
[嵌入式]
步进电机的驱动程序
对步进电机的控制难点在于步进电机的原理,置于程序则是非常的简单!! 所以想要控制好步进电机就必需对他有着充分的了解! 步进电机按相书分为:二相电机、三相电机、四相电机、五相电机 想让步进电机按照按照你的要求你就必须了解电机能够旋转的原理::: 旋转: 如A相通电,B,C相不通电时,由于磁场作用,齿1与A对齐,(转子不受任何力以下均同)。如B相通电,A,C相不通电时,齿2应与B对齐,此时转子向右移过1/3て,此时齿3与C偏移为1/3て,齿4与A偏移(て-1/3て)=2/3て。如C相通电,A,B相不通电,齿3应与C对齐,此时转子又向右移过1/3て,此时齿4与A偏移为1/3て对齐。如A相通
[单片机]
实用的步进电机驱动电路
概述 步进电机是一种将电脉冲转化为角位移的执行机构,可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。 目前,对步进电机的控制主要有由分散器件组成的环形脉冲分配器、软件环形脉冲分配器、专用集成芯片环形脉冲分配器等。本设计选用第三种方案,用PMM8713三相或四相步进电机的脉冲分配器、SI-7300A两相或四相功率驱动器,组成四相步进电机功率驱动电路,以提高集成度和可靠性,步进电机控制框图见图1。 图1 步进电机控制系统框图 硬件简介 ● PMM8713原理框图及功能 PMM8713是日本三洋电机公司生产的步进电机脉冲分配器,适
[应用]
步进电机和异步电机的工作原理及其区别
步进电机和异步电机的工作原理 步进电机的工作原理 步进电机是一种开环控制系统的电机,它通过驱动电路控制电机旋转。步进电机的转子由一组永磁铁或者电磁铁组成,称为步进电机的“极对”。步进电机的控制方法可以分为以下两种: (1)脉冲控制方式 此种控制方式使用脉冲信号来控制电机的运动。控制器向电机驱动电路发送特定频率的脉冲信号来控制电机转动的步数和方向。每发出一个脉冲信号,电机转动一定的步数,从而实现精密的控制。 (2)矢量控制方式 此种控制方式通过矢量控制实现更加精确的运动控制。它能够控制电机速度和转向,也可以在运动过程中加入加速度和减速度。 异步电机的工作原理 异步电机是一种最常见的感应电机,也称为交流电机。它的转子由铝制或者铜制的轴
[嵌入式]
C504单片机在步进电机控制方面的应用
摘要: C504是德国SIEMENS公司生产的单片微控制器,文中介绍了C504单片机在步进电机控制方面的应用,给出了利用C504的资源优势,经过一定的扩展来对步进电机进行控制的控制系统结构及方法,另外,该控制系统还具有人机对话功能和较高的性能价格比。
关键词: C504 步进电机 CCU 步距角
步进电机是一种脉冲电机,它是一种能将脉冲信号转换为角位移的数模转换器,可广泛用于无需反馈控制而要求有精确位置的场合,为了改善步进电机的工作特性以及减少硬件电路的连接,近几年来多采用单片机对其控制,但由于各类单片机的功能、容量和价格不同,因而其性能和成本也各不相同。鉴于C504单片机在电机控制方面的独特
[工业控制]