lazybonesyang 发表于 2015-10-1 17:16:42

求助,步进电机控制。

刚刚开始是用42有电机,问过厂家,厂家说力矩不足。然后换了57的电机,还是觉得不够快,特别是加减速时间过长。
现在测试的是双四拍。时间按比例来算。
1000
970
941
913
885
859
833
808
784
760
737
715
694
673
653
633
614
596
578
561
544
527
512
496
481
467
453
439
426
413
401
389
377
366
355
344
334
324
314
305
296
287
278
270
262
254
246
239
232
225
218
212
205
199
193
187
182
176
171
166
161
156
151
147
142
138
134
130
126
122
119
115
112
108
105

后一个数是上一个数的0.97倍。数越小越快。
步数是75步,12.5us中断一次,然后数数够(假设是1000,则为12500us走一步)则走一步,越向下越快。每一个新的速度走四步然后换速度。整个加减速需要75*4=300步。
现在的问题是
1 最大速度不够快,说明书说57的电机比42的最高速度是慢很多的,为什么呀?
2 加减速时间过长,步数过大。
我的灯头重是5KG左右,直径30cm。看了论坛里的S曲线加减速看不懂,求搭救,今天国庆我还在加班,哎。

lryxr2507 发表于 2015-10-1 18:59:47

步进电机随着转速加快,力矩变小(参见步进电机手册).楼主的要求转速是多少呢? 25Kg你要根据机械结构进行计算使用多大的步进电机. 转速高可以改选伺服电机,转速高.力矩大. 如果楼主对单片机控制步进电机还不是很了解,建议使用PLC或专用的控制卡.

xuyaqi 发表于 2015-10-1 19:07:29

加减速时间过长是控制程序问题,不是电机大小问题。如果驱动力矩足够不用加减速。

lazybonesyang 发表于 2015-10-1 19:11:11

xuyaqi 发表于 2015-10-1 19:07
加减速时间过长是控制程序问题,不是电机大小问题。如果驱动力矩足够不用加减速。 ...

我现在想调短时间,但很容易丢步。我听别人说S曲线可以让电机转得更快

xuyaqi 发表于 2015-10-1 19:27:33

驱动力还和加的电机电压有关

lazybonesyang 发表于 2015-10-1 19:32:52

xuyaqi 发表于 2015-10-1 19:27
驱动力还和加的电机电压有关

按照厂家提供的参数供电了,我弄个空载的,42的电机可以正常转,57的到高速时堵转。

xuyaqi 发表于 2015-10-1 19:37:33

步进电机是有速度上限的,不行要换伺服电机。

lazybonesyang 发表于 2015-10-1 19:50:06

xuyaqi 发表于 2015-10-1 19:37
步进电机是有速度上限的,不行要换伺服电机。

我是做摇头灯的,普遍用步进电机,而且换方案也不行啊,等着参展用,不然也不用今天加班。我现在就希望可以解决两个问题,
1是最快速度尽可能快
2是加减速尽可能快。

lazybonesyang 发表于 2015-10-1 20:22:40

本帖最后由 lazybonesyang 于 2015-10-1 20:24 编辑

在论坛找了个软件,生成了些数据,但看得不大明白,这些数据是控制PWM的周期的吗而控制电流大小吗?通过电流大小形成不同的力而控制不同的加速度?每个个时间单位都是一样的吗?
我把软件也上传上来了,看懂的大侠解释下啊,谢谢

xuyaqi 发表于 2015-10-1 20:27:19

楼主是否你的驱动电路有问题,不是驱动电机问题。

xuyaqi 发表于 2015-10-1 20:33:31

lazybonesyang 发表于 2015-10-1 20:22
在论坛找了个软件,生成了些数据,但看得不大明白,这些数据是控制PWM的周期的吗而控制电流大小吗?通过电 ...

步进电机可不是用PWM来控制,要用步进电机驱动器改变脉冲频率来控制速度。

lazybonesyang 发表于 2015-10-1 20:47:58

xuyaqi 发表于 2015-10-1 20:33
步进电机可不是用PWM来控制,要用步进电机驱动器改变脉冲频率来控制速度。 ...

有驱动的,DRV8841,我是用PWM模拟AD来细分。现在就是卡在最高速和加减速这里。效果差

lryxr2507 发表于 2015-10-1 21:20:57

楼主看下这位大师的吧,可能有借鉴处. http://www.amobbs.com/thread-5529816-1-1.html还有这位:http://www.amobbs.com/thread-3977369-1-1.html

3DA502 发表于 2015-10-1 23:23:18

步进电机用高压才能转得快,24V就不要考虑转得快了

xuyaqi 发表于 2015-10-2 07:35:20

lazybonesyang 发表于 2015-10-1 20:47
有驱动的,DRV8841,我是用PWM模拟AD来细分。现在就是卡在最高速和加减速这里。效果差 ...

DRV8841是驱动直流电机的,楼主到底是直流电机还是步进电机。

lazybonesyang 发表于 2015-10-2 08:58:08

本帖最后由 lazybonesyang 于 2015-10-2 08:59 编辑

xuyaqi 发表于 2015-10-2 07:35
DRV8841是驱动直流电机的,楼主到底是直流电机还是步进电机。

步进电机呀

lazybonesyang 发表于 2015-10-2 08:59:04

3DA502 发表于 2015-10-1 23:23
步进电机用高压才能转得快,24V就不要考虑转得快了

但电机的参数是DC9.6V,24V下发热非常严重

3DA502 发表于 2015-10-2 09:16:01

lazybonesyang 发表于 2015-10-2 08:59
但电机的参数是DC9.6V,24V下发热非常严重

你当电机是手机还是振动棒,9.6V谁也救不了你

lazybonesyang 发表于 2015-10-2 09:18:48

3DA502 发表于 2015-10-2 09:16
你当电机是手机还是振动棒,9.6V谁也救不了你

{:funk:} 我是按厂家给的电压弄的,大师你得指点下我啊,救命用的啊,先谢过了。{:cry:}

3DA502 发表于 2015-10-2 09:20:47

你是用什么芯片做的驱动器什么芯片做的控制器

lazybonesyang 发表于 2015-10-2 09:27:09

本帖最后由 lazybonesyang 于 2015-10-2 09:40 编辑

3DA502 发表于 2015-10-2 09:20
你是用什么芯片做的驱动器什么芯片做的控制器

DRV8841,电流控制电阻是0.287欧多

蓝蓝的恋 发表于 2015-10-2 09:42:33

楼主还是研究一下S曲线吧,最近我也在搞这个,感觉好难过~

ztrx 发表于 2015-10-2 09:49:10

其实AVR446的程序就不错

3DA502 发表于 2015-10-2 10:05:15

LZ是在挑战HARD模式,设计整个系统,不是AVR446对应的问题,不是我等业余玩家能解答的

lazybonesyang 发表于 2015-10-2 10:16:26

本帖最后由 lazybonesyang 于 2015-10-2 10:18 编辑

3DA502 发表于 2015-10-2 10:05
LZ是在挑战HARD模式,设计整个系统,不是AVR446对应的问题,不是我等业余玩家能解答的 ...

大师,别笑我了,我们都是第一次搞,不懂的地方太多,不然也不用国庆还加班,大师指点下啊

hmd420304805 发表于 2015-10-2 11:11:28

不要迷恋s曲线,其他的加速曲线更好做。最好能做到动态计算定时器重载值

mkliop 发表于 2015-10-2 12:01:16

步进电机用专门的驱动器吧便宜好用

xuyaqi 发表于 2015-10-2 15:33:58

电机速度无法提高,还可以改变机械转速比。

lazybonesyang 发表于 2015-10-2 17:09:51

xuyaqi 发表于 2015-10-2 15:33
电机速度无法提高,还可以改变机械转速比。

现在按1:4齿轮比

UNIFAN 发表于 2015-10-2 19:22:15

步进电机可以细分步距角非常小的

myqiang1990 发表于 2015-10-3 20:01:39

xuyaqi 发表于 2015-10-1 19:07
加减速时间过长是控制程序问题,不是电机大小问题。如果驱动力矩足够不用加减速。 ...

楼主控制的是舞台灯具,即使力矩够,也必需加减速,要不然灯具会晃动,只要灯具晃动一点点,即使肉眼看不到,但是光斑打到几十米,百米外就很清楚……因为灯头的光学组很厉害……

myqiang1990 发表于 2015-10-3 20:04:01

xuyaqi 发表于 2015-10-2 07:35
DRV8841是驱动直流电机的,楼主到底是直流电机还是步进电机。

8841直流和步进都可控……步进电机驱动器有好几种驱动方式的,不止是脉冲+方向这一种方式

myqiang1990 发表于 2015-10-3 20:08:51

lazybonesyang 发表于 2015-10-2 09:27
DRV8841,电流控制电阻是0.287欧多

你在控制的时候肯定没有进行电流控制,低速和高速都用同样的电流,电机和IC肯定发热啊,,至于你说的加速太慢减速太慢,也就是灯具不够灵活,速度不够快,我可以很负责任的告诉你,完全是你程序的问题,你灯头才5KG……

myqiang1990 发表于 2015-10-3 20:11:56

24V电压低了点点,把它提高到30V左右,如果可以的话,提高到35V去

myqiang1990 发表于 2015-10-3 20:21:47

lazybonesyang 发表于 2015-10-2 08:59
但电机的参数是DC9.6V,24V下发热非常严重

9.6V估计是电机压降,驱动电压要远高于此值才行,就类似LED一样,要高于他的导通电压,LED才能良好工作,24V就发烫,是因为流过电机的电流太大了,你控制一下电流,就没事了,要诀就是:低速低电流,高速大电流,

myqiang1990 发表于 2015-10-3 20:39:00

lazybonesyang 发表于 2015-10-2 09:18
我是按厂家给的电压弄的,大师你得指点下我啊,救命用的啊,先谢过了。...

电机选内阻和电感量小一些的,电阻和电感选择15欧姆或者15UH左右或以下,,电感大,跑不快,但是它力气很大,振动也大…噪音偏大…电感小跑的快,震动小噪音小,力气不是很大,不过这跟电机用的材料有关系,并非绝对…但大多数时这样的规律的……

xuehu5808 发表于 2015-10-4 00:22:16

楼主需要达到多大的转速阿

lazybonesyang 发表于 2015-10-8 09:26:51

myqiang1990 发表于 2015-10-3 20:21
9.6V估计是电机压降,驱动电压要远高于此值才行,就类似LED一样,要高于他的导通电压,LED才能良好工作, ...

我有看过你的贴子,现在还在研究,我看看能不能把电压搞上去效果怎么样,有做16细分,PWM模拟电流。加减速在现在这状态,我是用一个定时器固定12.5us中断一次来计时,然后假设以50MS的周期,走几步,50*0.97 MS,走几步,50*0.97*0.97 MS走步几,这样一点点加速。这样是不是相当于一个梯形?然后觉得细分了走不快,但如果不细分低速抖动大,又要不断地切换细分与不细分之间的状态,感觉好复杂啊。

lazybonesyang 发表于 2015-10-8 09:28:33

xuehu5808 发表于 2015-10-4 00:22
楼主需要达到多大的转速阿

600RPM最好,实在不行400也可以接受。因为比例是4:1,如果有600相当于1S可以转10圈,按比例也灯有2.5圈,相当于不到一秒转540度,完全可以接受了。

lazybonesyang 发表于 2015-10-8 10:53:23

myqiang1990 发表于 2015-10-3 20:08
你在控制的时候肯定没有进行电流控制,低速和高速都用同样的电流,电机和IC肯定发热啊,,至于你说的加速 ...

大师,你方便私个联系方式给我吗?指导下我,十分感谢,怎么感谢我们私下聊,真的,I need U

stm13668 发表于 2015-10-8 23:13:11

LZ才入门啊,搞上海展来不及了,得好好补课。

lazybonesyang 发表于 2015-10-9 08:52:19

stm13668 发表于 2015-10-8 23:13
LZ才入门啊,搞上海展来不及了,得好好补课。

同行,确实赶不及了,不过还得再赶一赶,能做到啥样就啥样吧。呵呵

lazybonesyang 发表于 2015-10-9 08:59:38

根据AVR446的文档,
N+1N      根号(N+1)               根号(N)             根号(N+1)- 根号(N)
1        0        1                                0                      1
2        1        1.414213562                1                      0.414213562
3        2        1.732050808                1.414213562        0.317837245
4        3        2                                1.732050808        0.267949192
5        4        2.236067977                2                      0.236067977
6        5        2.449489743                2.236067977        0.213421765
7        6        2.645751311                2.449489743        0.196261568
8        7        2.828427125                2.645751311        0.182675814
9        8        3                                2.828427125        0.171572875

感觉第二步比第一步差别很大啊,只有0.414的C0,假如我起振时间的时间C0是20MS走一步,第二步的时间变成8.18MS了,这个加速度是不是有点大了?我算错了吗?

myqiang1990 发表于 2015-10-9 10:29:29

本帖最后由 myqiang1990 于 2015-10-9 10:31 编辑

楼主,你拿这个位朋友的代码救救急吧~~他也是做舞台灯的~代码基本上是能用的~后续的~你可以借鉴他的代码~估计很快就能搞出来~上海站马上就到了~你这个连基本的都动不起来~展啥展呢~~不过搞了静态展示也可以~{:lol:}
http://www.amobbs.com/forum.php?mod=viewthread&tid=5577556&highlight=%E9%A9%B1%E5%8A%A8%E6%9D%BF

lazybonesyang 发表于 2015-10-9 18:58:46

myqiang1990 发表于 2015-10-9 10:29
楼主,你拿这个位朋友的代码救救急吧~~他也是做舞台灯的~代码基本上是能用的~后续的~你可以借鉴他的代码~估 ...

能动,就是动得不好,{:mad:}

lazybonesyang 发表于 2015-10-13 15:56:22

还是出了一个版本参展了,不过有很多问题。
1 跑得不够快。估计原因有两点,加减速算法不好(参照AVR446弄了一个),硬件用了6205但没限流,只好用PWM限了一半的电流,但这样又没达到电机的最大电流,力估计小了。
2 用控台的时候来回折腾会丢步,这里写得不好,也没时间想了。
3 变焦的时候速度不够,这个应该是结构设计不大好,0.5mm一圈,10圈才5mm,想1秒走2cm应该是不可能了。
4 自检的时候经常出错,不知道码盘读的数据为什么会出错,我只读了一个对管的数据。估计读完两个对管的数据会好点。
5 STM8S105控制两电机,如果要细分感觉有点忙不过来了。还要接收USART的数据。

zengan007 发表于 2016-5-24 12:07:03

myqiang1990 发表于 2015-10-3 20:39
电机选内阻和电感量小一些的,电阻和电感选择15欧姆或者15UH左右或以下,,电感大,跑不快,但是它力气很 ...

牛逼,过来人?

1069182055 发表于 2016-12-29 11:17:22

留爪。。
页: [1]
查看完整版本: 求助,步进电机控制。