xxoo14 发表于 2012-10-29 16:06:19

最近在做步进电机驱动,想做个梯形加速,想实时计算!

想通过改变PWM的频率来实现梯形加速,不想用查表法,想实时来计算所需要的PWM周期值,网上找一些资料,有什么插补法呀,搞不明白,做过的大神贴个公式,给点思路也行

xxoo14 发表于 2012-10-29 16:43:10

自己顶一个

terencechang 发表于 2012-10-29 16:48:36

查表是最好的方法。当然你这个表得是步进电机厂家给您的。因为这个加速或者减速曲线是他们测试最优化的。
如果要求不高。直接自己做一个线性的也行。根据当前角度跟设定脚度差值。自己设计一个线性公式。你的明白。

terencechang 发表于 2012-10-29 16:53:59

为了标示支持新人,提供一个思路给您:
1.步进电机速度控制其实就是给脉冲间隔时间控制。
2.根据您的步进电机特性确定一个最快速度即两个脉冲之间最短时间间隔。
3.根据您自己需求,确定一个最慢速度。
4.根据步进电机当前角度跟设定角度差值来确定脉冲间隔。(这个就可以自己去定义一个关系公式)
5.所谓梯形加速,就是一定时间内速度从静止加到最大,然后一直持续最大,到一定角度差见开始减小。这个图形就跟一个梯形一样。

zhiyiyunmeng@ 发表于 2012-10-29 19:20:30

terencechang 发表于 2012-10-29 16:53 static/image/common/back.gif
为了标示支持新人,提供一个思路给您:
1.步进电机速度控制其实就是给脉冲间隔时间控制。
2.根据您的步进电 ...

直线加速现在好的驱动器可以到多少呢?貌似我们常用的都是一路直线加速的吧。我的步进系统1000加速度没有问题,

xxoo14 发表于 2012-10-29 21:49:08

terencechang 发表于 2012-10-29 16:53 static/image/common/back.gif
为了标示支持新人,提供一个思路给您:
1.步进电机速度控制其实就是给脉冲间隔时间控制。
2.根据您的步进电 ...

谢谢,这个好好研究一下

xxoo14 发表于 2012-10-29 21:50:56

terencechang 发表于 2012-10-29 16:53 static/image/common/back.gif
为了标示支持新人,提供一个思路给您:
1.步进电机速度控制其实就是给脉冲间隔时间控制。
2.根据您的步进电 ...

我之所以不想用查表法,是因为想随意给定电机的起始速度和最高速度 还有过渡的步数

xxoo14 发表于 2012-10-29 21:53:39

有实时计算做成功 的朋友吗?

jay007 发表于 2012-10-30 11:22:21

xxoo14 发表于 2012-10-29 21:50 static/image/common/back.gif
我之所以不想用查表法,是因为想随意给定电机的起始速度和最高速度 还有过渡的步数 ...

表格又不是死的,设定完参数更新表格不就完了吗

T型加速没啥公式吧,一条直线吧,搞个S型试试性能有没有提升

jingwaner 发表于 2012-10-30 11:48:46

实时算。。。速度是个问题,RAM 也是个问题

乖乖查表吧,实在不行多准备几个表。。。

rifjft 发表于 2012-10-30 12:02:36

把表格做细一点,通过计算来设定读取表点的起点、终点不就行了

xxoo14 发表于 2012-10-30 15:37:54

jingwaner 发表于 2012-10-30 11:48 static/image/common/back.gif
实时算。。。速度是个问题,RAM 也是个问题

乖乖查表吧,实在不行多准备几个表。。。 ...

关键是查表的数据也要计算出来是吧! 那么表中的数据怎么计算来的呢,

xxoo14 发表于 2012-10-30 15:38:52

jay007 发表于 2012-10-30 11:22 static/image/common/back.gif
表格又不是死的,设定完参数更新表格不就完了吗

T型加速没啥公式吧,一条直线吧,搞个S型试试性能有没有 ...

S型我已经通过查表方法实现,关键是我想自己来计算表中的这些数据,不想用别的软件生成来用现成的

xxoo14 发表于 2012-10-30 15:40:46

jay007 发表于 2012-10-30 11:22 static/image/common/back.gif
表格又不是死的,设定完参数更新表格不就完了吗

T型加速没啥公式吧,一条直线吧,搞个S型试试性能有没有 ...

我的想法是这样,公式通过先输入的数据,通过公式计算好整个过程PWM周期数,放入表中然后我电机才开始运转,读表

ITOP 发表于 2012-10-30 15:42:06

既然不想查表,就把表格里的计算放到MCU里吧{:lol:}

xxoo14 发表于 2012-11-2 23:41:39

ITOP 发表于 2012-10-30 15:42 static/image/common/back.gif
既然不想查表,就把表格里的计算放到MCU里吧

试过了 跑不起来

john78 发表于 2012-11-3 07:31:50

产生脉冲到有点难,用pwM,不知到个数,还得用一路反馈计数,用中断,cpU占用大

whatcanitbe 发表于 2012-11-3 07:58:43

有两个办法

1.每发一次脉冲改变一次脉冲平率,改变公司f=f+a/f

whatcanitbe 发表于 2012-11-3 08:01:27

2假设20毫秒加速完成,最小单位是毫秒

每过1毫秒,f=f+df,   df根据加速度df=a/1000自己算

idle 发表于 2012-11-3 09:37:59

已经有现成的答案了,ATMEL的应用笔记 AVR446

xxoo14 发表于 2012-11-3 11:29:30

whatcanitbe 发表于 2012-11-3 08:01 static/image/common/back.gif
2假设20毫秒加速完成,最小单位是毫秒

每过1毫秒,f=f+df,   df根据加速度df=a/1000自己算 ...

谢谢 啦

xxoo14 发表于 2012-11-3 11:36:26

idle 发表于 2012-11-3 09:37 static/image/common/back.gif
已经有现成的答案了,ATMEL的应用笔记 AVR446

好家伙,

xxoo14 发表于 2012-12-13 17:12:35

zhiyiyunmeng@ 发表于 2012-10-29 19:20 static/image/common/back.gif
直线加速现在好的驱动器可以到多少呢?貌似我们常用的都是一路直线加速的吧。我的步进系统1000加速度没有 ...

能不能共享一下你直线加速时的算法 OR CODE

xjtyOnly51 发表于 2013-9-28 16:43:44

有 AVR446 可以参考
页: [1]
查看完整版本: 最近在做步进电机驱动,想做个梯形加速,想实时计算!