[发明专利]一种数字步进驱动器振动处理技术及其处理方法有效
申请号: | 201811394448.0 | 申请日: | 2018-11-22 |
公开(公告)号: | CN109274299B | 公开(公告)日: | 2021-08-27 |
发明(设计)人: | 黄忠报;张玮;温济堂;冯锴 | 申请(专利权)人: | 东莞市凯福电子科技有限公司 |
主分类号: | H02P8/32 | 分类号: | H02P8/32 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 523000 广东省东莞市高埗镇*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数字 步进 驱动器 振动 处理 技术 及其 方法 | ||
1.一种数字步进驱动器振动处理技术的处理方法,其特征在于:该数字步进驱动器的振动处理技术的处理方法为:首先设置一个计数器变量,当将计数器的变量采用n表示时,缓存数组所指向的变量表示为Pa[n],变量n的初始值为0,缓存数组指向的变量表示为Pa[0];当步进驱动器第一次接收到外部脉冲频率时,其首先会将捕获到的脉冲频率值存入缓存数组内,此时,计数器变量为0+1,即缓存数组指向的变量表示为Pa[1];当步进驱动器第二次接收到外部脉冲频率时,其又会自动将捕获到的外部脉冲频率值存入缓存数组内,此时,计数器变量为1+1,即缓存数组指向的变量表示为Pa[2],如此类推,当计数器变量为n时,缓存数组指向的变量表示为Pa[n];当步进驱动器再次收到外部脉冲频率输入时,其又会自动将捕获到的外部脉冲频率值存入缓存数组内,此时,计数器变量n变为n+1, 缓存数组指向的变量表示为Pa[n+1],直至计数器变量n达到最大的定义存储量N时,此时,计数器变量n会自动清0即n=0,而缓存数组又会自动重新回到Pa[0],即控制器又从第一个缓存数组变量Pa[0]开始重新将每个捕获到的外部输入脉冲频率存入到相应的缓存数组内,并更新原来的存储数据,如此类推;
定义最大存储量N的依据方法为:当将步进驱动器所允许的最大输入脉冲频率设置为Fin=500000HZ且将步进驱动器的PWM载波控制频率设置为Fc=20000HZ时,缓存数组最大的定义存储量N的计算公式设置为:
N2*Fin/Fc=50,
只有当N满足上述公式时才能保证步进驱动器捕获到的外部脉冲频率的数组序列在PWM周期中断且尚未处理时不会被新的数值自动覆盖掉。
2.根据权利要求1所述的一种数字步进驱动器振动处理技术的处理方法,其特征在于:在PWM载波周期中断中计算外部输入脉冲的频率和平均步长值,其处理过程如下:步骤一、在每个PWM载波周期中断时提取上一周期载波中断以来,步进驱动器所捕获到的所有外部输入脉冲频率值组成的序列,同时,记录当前的PWM载波周期步进驱动器捕获到的计数器变量及上一周期步进驱动器捕获到的计数器变量;当前的PWM载波中断周期步进驱动器记录的计数器变量值采用N1表示,上一周期步进驱动器记录的计数器变量值采用N0表示;当N0=N1时,说明外部输入的脉冲频率小于步进驱动器的载波频率Fc,即此期间没有向步进驱动器输入特定频率的脉冲,此时,不用重新计算输入步进驱动器的脉冲平均频率,步进驱动器的脉冲平均频率等于上一周期的平均频率;
当N1N0时,提取步进驱动器所记录和捕获到的外部输入脉冲频率的缓存数组序列,并计算这些数组序列频率值的总和,数组序列频率值的总和采用PSum表示,同时,计算这些频率数组的个数,频率数组的个数采用Nsum表示,此时频率数组个数的计算公式设置为:
Nsum=N1-N0;
当N1N0时,说明驱动器捕获外部输入脉冲频率时,计数器的变量n发生周期溢出,此时,提取步进驱动器捕获脉冲频率的缓存序列和计算这些数组变量的总和,其的总和采用Psum表示,并计算这些捕获到的频率数组的个数,此时的频率数组个数的计算公式表示为:
Nsum=N-N0+N1;
步骤二、根据步骤一所计算出的PWM周期中断期间的外部输入脉冲频率数组之和Psum以及这些频率数组的个数Nsum,计算 PWM载波中断间隔期间外部输入脉冲的频率平均值,频率平均值采用Fcap_Avr表示,其的计算公式为:
Fcap_Avr=PSum/Nsum;
步骤三、计算步进驱动器每个PWM载波周期的平均步长,每个PWM载波周期的平均步长的计算方法如下:根据前时刻t输入步进驱动器的外部脉冲个数Nsum直接计算出的总步长值采用Pul_Ref(t)表示,当前时刻t的步进驱动器根据平均步长计算出的总步长值采用Pul_Feed(t)表示,当前PWM载波中断的时刻t根据步进驱动器的外部输入脉冲个数Nsum所计算出的总步长值与当前时刻t步进驱动器根据平均步长计算出的总步长值之间的差值采用Pul_Err表示时,其的计算公式表示为:
Pul_Err=Pul_Ref(t)-Pul_Feed(t),
当用户设置的步进驱动器对每一个外部输入脉冲所代表的电角度采用SGain表示,而步进驱动器每个载波周期的平均步长采用Step表示,SGain的物理量单位是:度/1个脉冲,SGain的值为小于等于90度/1个脉冲,同时,当前时刻t根据输入步进驱动器的脉冲个数Nsum直接计算的总步长值与当前时刻t控制器根据平均步长计算的总步长值之差值Pul_Err的控制比例系数采用Kp表示时,0Kp1,步进驱动器每个载波周期的平均步长的计算公式表示为:
Step=SGain*Fc/Fcap_Avr+Kp*Pul_Err,
Kp是对根据纠正步进驱动器输入脉冲个数Nsum来计算出的步长值进行平均化处理后引起的偏差,以保证采用平均步长值Step计算的总步长值不会偏离直接根据外部脉冲个数Nsum计算的总步长值;因此能通过计算出每个载波周期的平均步长Step来取代直接根据外部输入的脉冲数来计算出的步长值,步长值采用Step_Delta表示,其中,Step_Delta的计算公式为
Step_Delta= Nsum *SGain;
步骤四、根据平均步长计算步进驱动器驱动电机的参考电流,参考电流包括A相电流和B相电流,参考电流的计算方法如下:首先,计算步进驱动器所有外部输入脉冲所代表的总电角度,当前载波周期时刻t的角度采用Step_Angle表示,PWM载波中断的周期时间采用Tpwm表示,当前时刻t的上一周期时刻的电角度采用Step_Angle(t-Tpwm),Step_Angle的计算公式设置为:
Step_Angle=Step_Angle(t-Tpwm)+Step,
A相电流采用Ia表示,其计算公式设置为:
Ia=Iap*Sin(Step_Angle),
B相电流采用Ib表示,其计算公式设置为:
Ib=Iap*Cos(Step_Angle),
其中,Iap由用户设置,是步进驱动器驱动电机的幅值电流;
步骤五、根据计算的参考电流在PWM载波中断时对步进驱动器进行一次电流控制,以驱动电机运行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东莞市凯福电子科技有限公司,未经东莞市凯福电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811394448.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种功耗调节电路
- 下一篇:燃气轮机发电机组的起动及励磁系统、方法