打印

步进电机直线加速

[复制链接]
8364|27
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wenfengcom|  楼主 | 2008-10-22 21:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
5880527| | 2008-10-23 10:34 | 只看该作者

还在整这个啊

如果不是很特殊的行业,对加速度没这么讲究的

使用特权

评论回复
板凳
wenfengcom|  楼主 | 2008-10-23 11:28 | 只看该作者

是啊,一直搞不清,不知到这个离散的频率怎么计算出来的,例如初使频率为f0,最大频率为fm,加速度为a,不知道中间的这些频率怎么计算,楼上给点资料啊,谢谢

使用特权

评论回复
地板
huangli211| | 2008-10-23 20:04 | 只看该作者

a=dertav*t

单位时间的速度变化率吗,斜率越大,A越大。加速时间越短;看采样频率是多少了

使用特权

评论回复
5
wenfengcom|  楼主 | 2008-10-23 21:43 | 只看该作者

是啊

a 是 频率的变化率,a=(fm-f0)/t,不知道f0与fm之间的一系列频率怎么取和计算

使用特权

评论回复
6
yxwsz| | 2008-10-23 22:29 | 只看该作者

re

不是连续系统,所以简单的用t来计算是不准确的;
离散系统,应该用nT来表示, n=0,1,2,3,4,5,6,7,8
T表示采样周期
也就是其频率是在时间轴上的某个点是有意义的,不是在时间轴的任何点都有意义

使用特权

评论回复
7
huangli211| | 2008-10-24 09:48 | 只看该作者

YEA,F0应该根据电机的特性来确定

电机在出厂前都做过各种测试的,其中的最低启动频率不的<厂家给出的最低不震荡频率.

使用特权

评论回复
8
5880527| | 2008-10-24 10:11 | 只看该作者

F0一般取个四五百赫兹都不会震荡

使用特权

评论回复
9
wenfengcom|  楼主 | 2008-10-24 10:27 | 只看该作者

我也把时间轴离散了啊,就是不知道这些时间对应的频率怎么算,例如加速步数为100步,每一步对应的频率根据什么公式算啊?

使用特权

评论回复
10
lanwuya| | 2008-10-24 11:38 | 只看该作者

算延时时间

使用特权

评论回复
11
wenfengcom|  楼主 | 2008-10-24 16:13 | 只看该作者

关键是怎么计算每个时间点或每步对应的频率,根据什么公式计算出来,网上晓其那个计算频率的 软件不知道他是根据什么公式计算出来的

使用特权

评论回复
12
lanwuya| | 2008-10-27 11:49 | 只看该作者

我的看法

频率选择不变的时钟频率f,有公式f=c*v,c为延时时间,v为转速。第0步延时是通过加速度计算的,之后的延时是通过第0步的延时和当前的步数计算的,参考公式:c0=f*sqrt(2/a),cn=c0(sqrt(n+1)-sqrtn),a为加速度。我只列出推导后的公式,过程比较繁琐,不知对楼上有无帮助

使用特权

评论回复
13
wenfengcom|  楼主 | 2008-10-27 17:48 | 只看该作者

不能理解你的公式,直线加速怎么计算出的,我在网上找到一个关于计算的
  设电动机的加速时的第m步频率为Fm,第m-1步频率为Fm-1。加速度是F的斜率,设为a,trans为加速步数,则

    a=(Fm-Fm-1)/Δtm;

    另有((Fm + Fm-1)Δtm)/2=1;

    由以上两式可推出:

    A=((fmax-f0)*(fmax+f0))/(2*trans);
它每一步频率是这样计算的,首先是根据加速总步数计算出加速度,能后根据加速度和启动频率计算出每一部的频率
 A = ((fmax-f0)*(fmax+f0))/(2*trans);
    for(i=0;i <= trans;i++)
    { fi> = sqrt_16(2*A*i+f0*f0);
    }
不知你的公式是怎么推导出来的?

使用特权

评论回复
14
lanwuya| | 2008-10-28 09:49 | 只看该作者

你说的用加速度总步数计算出加速度,加速度总步数是自己设定的吗?而且这样计算还要知道目标速度吧。在我这个算法里,加速度和目标速度是自己设定的,通过加速度和目标速度求出加速步数和减速步数,目标位置—当前位置,计算出总步数,通过总步数和加减速总步数进行比较,判断有无匀速,,,扯远了,,,
你说的每一步的频率其实应该就是我说的延时的倒数,第0步和之后步的延时计算就是我在12楼留下的,由于浮点运算要求比较高,通过泰勒变换可递推出:
Cn*(4n+1)=Cn-1*(4n-1),具体过程太麻烦,我只能告诉你结果

使用特权

评论回复
15
wenfengcom|  楼主 | 2008-10-28 10:43 | 只看该作者

是的,我是通过加速度总步数和启动速度以及运行最大速度来计算出加速度的,其中加速步数和最大速度是通过自己设定的,你是不是用在插补运算上的,我的速度是直接用频率表示的,f=C V,是什么意思啊

使用特权

评论回复
16
lanwuya| | 2008-10-28 11:36 | 只看该作者

“我的速度是直接用频率表示的”,其实我的速度也一样啊。
f=C*V,f为一个定值,C就是你所说频率的倒数,V为速度

使用特权

评论回复
17
wenfengcom|  楼主 | 2008-10-28 14:14 | 只看该作者

f不是逐渐加大的吗,怎么是一个定值,CV相乘怎么变成不变的频率了啊

使用特权

评论回复
18
lanwuya| | 2008-10-29 08:38 | 只看该作者

f为时钟频率,不是你之前说的每一步的频率,C是定时器的装载值,可当作延时,那是固定的公式啊

使用特权

评论回复
19
wenfengcom|  楼主 | 2008-10-29 22:41 | 只看该作者

lanwuya 你好能不能发一段关于加减速的函数给我,万分感谢,我的信箱wenfengcom@yahoo.cn, 谢谢

使用特权

评论回复
20
lanwuya| | 2008-10-30 08:40 | 只看该作者

望理解

我现在只能告诉你加速减速都要先计算第一步的延时,然后根据我给你的公式算出后面步的延时,具体运算过程函数里也没有。对不起!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

49

主题

217

帖子

2

粉丝