搜索
bottom↓
回复: 71

闭环步进电机项目

[复制链接]

出0入0汤圆

发表于 2014-7-24 15:31:47 | 显示全部楼层 |阅读模式
最近接手一个闭环步进电机项目,有很多问题自己没搞懂,特来问论坛各位大牛,请大牛不吝赐教

项目是这样的,步进电机装上光电码盘,上位机给定脉冲,STM32驱动步进电机转动,光电码盘返回步进电机转动步数,然后单片机使用PID决定下一步输出脉冲……

现在的问题:

第一:我用的是STM32F103,不知道会不会不够精确(如何确定)?采样时会发生定时器中断,定时器中断的时候上位机如果有给脉冲单片机就会漏检测,这样子就有比较大的误差了

第二:这个用的是位置式PID还是增量式PID?

第三:项目要求是做成PID参数自整定的,这个如何入手?当前有没有一些可以参考的资料?


头比较大,大神多多指点,共同进步。

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

 楼主| 发表于 2014-7-24 15:32:40 | 显示全部楼层
比较捉急,大牛们速来……

出0入0汤圆

 楼主| 发表于 2014-7-24 15:58:19 | 显示全部楼层
木有人……

出0入0汤圆

 楼主| 发表于 2014-7-24 16:25:13 | 显示全部楼层
真的木有人来……

出0入0汤圆

发表于 2014-7-24 16:36:39 | 显示全部楼层
有的数控机床就是这种伪闭环,你可以找找看

出0入0汤圆

 楼主| 发表于 2014-7-24 16:38:00 | 显示全部楼层
SMC 发表于 2014-7-24 16:36
有的数控机床就是这种伪闭环,你可以找找看

什么搜索关键词比较合适呢?

出0入0汤圆

发表于 2014-7-24 16:38:44 | 显示全部楼层
zcbAzfl 发表于 2014-7-24 16:38
什么搜索关键词比较合适呢?

不知道,上课的时候老师提了一下。

出0入0汤圆

发表于 2014-7-24 16:44:20 | 显示全部楼层
第一:我用的是STM32F103,不知道会不会不够精确(如何确定)?采样时会发生定时器中断,定时器中断的时候上位机如果有给脉冲单片机就会漏检测,这样子就有比较大的误差了

这个容易解决的,首先你要有个标准,什么样的反应算是漏掉,是彻底丢掉这个脉冲了还是延迟一定时间也算漏掉.

有了这个指标以后,再告诉你,采样和中断是可以并行的,采样让DMA去做,CPU空闲的时候去处理DMA搬来的数据.
这样的话,首先你不会漏掉,最坏情况就是一起发生以后CPU被占用,没法及时处理,所以要用到上面那个延迟时间的指标,把中断缩短到这个指标以内就行了.

出0入0汤圆

 楼主| 发表于 2014-7-24 16:52:53 | 显示全部楼层
error_dan 发表于 2014-7-24 16:44
第一:我用的是STM32F103,不知道会不会不够精确(如何确定)?采样时会发生定时器中断,定时器中断的时候 ...

非常感激,谢谢大牛指点迷津……

出0入0汤圆

 楼主| 发表于 2014-7-24 16:54:00 | 显示全部楼层
SMC 发表于 2014-7-24 16:38
不知道,上课的时候老师提了一下。

还是非常感谢

出0入0汤圆

发表于 2014-7-24 16:58:47 | 显示全部楼层
大哥,看你问第二个问题。我就劝你别做闭环步进了。做闭环步进起码经典控制理论是烂熟于心,离散控制烂熟于心,现代控制理论也要懂点才行。

出0入0汤圆

发表于 2014-7-24 17:04:37 | 显示全部楼层
步進電機不是開環的么?

出0入0汤圆

 楼主| 发表于 2014-7-24 17:37:40 | 显示全部楼层
zf12862177 发表于 2014-7-24 16:58
大哥,看你问第二个问题。我就劝你别做闭环步进了。做闭环步进起码经典控制理论是烂熟于心,离散控制烂熟于 ...

不做也得做啊,我本科是自动化的,只是没学好,现在开始得重新学了……

出0入0汤圆

 楼主| 发表于 2014-7-24 17:42:24 | 显示全部楼层
随风允诺 发表于 2014-7-24 17:04
步進電機不是開環的么?

是开环的,我们自己加入了光电编码器反馈脉冲数,做成闭环的……

出0入0汤圆

发表于 2014-7-24 17:44:10 | 显示全部楼层
zcbAzfl 发表于 2014-7-24 17:37
不做也得做啊,我本科是自动化的,只是没学好,现在开始得重新学了…… ...

哈哈,转行搞售后......

出0入0汤圆

 楼主| 发表于 2014-7-24 17:48:13 | 显示全部楼层
GunGun 发表于 2014-7-24 17:44
哈哈,转行搞售后......

还是想学点技术,没办法……

出0入0汤圆

 楼主| 发表于 2014-7-24 17:54:48 | 显示全部楼层
zf12862177 发表于 2014-7-24 16:58
大哥,看你问第二个问题。我就劝你别做闭环步进了。做闭环步进起码经典控制理论是烂熟于心,离散控制烂熟于 ...

这位高手,能否指点一二~~

出0入0汤圆

发表于 2014-7-24 18:15:43 | 显示全部楼层
zcbAzfl 发表于 2014-7-24 17:54
这位高手,能否指点一二~~

做闭环既不是增量PID,也不是位置式PID,这两个名字根本我怀疑根本就是外行造出来的。

首先,你把电机解耦了解下,d,q轴变换

列出电机的方程,电压方程,电流方程,动力方程,总共3个

然后了解什么是极点,如何配置极点,如何用拉式变换求电机极点,只要能求出电机极点,自整定还不是手到擒来。

然后再了解伺服3环,3环是最简单的控制了。

了解这些后,应该能做出一个闭环了。

什么脉冲啊,编码器啊,PID啊,自整定啊,这些对于以上知识来说都是渣渣。

出0入0汤圆

发表于 2014-7-24 21:02:34 | 显示全部楼层
步进做闭环的意义是什么呢

出100入101汤圆

发表于 2014-7-24 21:08:56 | 显示全部楼层
zf12862177 发表于 2014-7-24 18:15
做闭环既不是增量PID,也不是位置式PID,这两个名字根本我怀疑根本就是外行造出来的。

首先,你把电机解 ...

方程这么多,是不是要电机专业的?

出0入0汤圆

 楼主| 发表于 2014-7-24 21:21:47 | 显示全部楼层
zf12862177 发表于 2014-7-24 18:15
做闭环既不是增量PID,也不是位置式PID,这两个名字根本我怀疑根本就是外行造出来的。

首先,你把电机解 ...

这个好,要看什么书呢?是自动控制原理么?还是其他的?谢谢高手指点。

出0入0汤圆

发表于 2014-7-24 21:26:23 | 显示全部楼层
zf12862177 发表于 2014-7-24 18:15
做闭环既不是增量PID,也不是位置式PID,这两个名字根本我怀疑根本就是外行造出来的。

首先,你把电机解 ...

步进电机也需要像伺服电机那样?
哪还有必要用步进吗?

出0入0汤圆

发表于 2014-7-24 22:12:45 | 显示全部楼层
SMC 发表于 2014-7-24 21:26
步进电机也需要像伺服电机那样?
哪还有必要用步进吗?

如果都可以完成同样的工作,闭环步进1000元一套,伺服2000元一套。

出0入0汤圆

发表于 2014-7-24 22:16:38 | 显示全部楼层
sunhy 发表于 2014-7-24 22:12
如果都可以完成同样的工作,闭环步进1000元一套,伺服2000元一套。

我们讨论东,你说西

出0入0汤圆

发表于 2014-7-24 22:22:32 | 显示全部楼层
SMC 发表于 2014-7-24 22:16
我们讨论东,你说西

步进加闭环可以提高性能,取代一部分伺服市场。步进闭环相对于传统伺服有绝对的价格优势,这就是研究闭环步进的意义,不明白你说的啥意思?

出0入0汤圆

发表于 2014-7-24 22:39:29 | 显示全部楼层
步进加闭环只是修正一下失步和运行中丢步吧

出0入0汤圆

 楼主| 发表于 2014-7-24 22:41:36 | 显示全部楼层
老蔡6198 发表于 2014-7-24 22:39
步进加闭环只是修正一下失步和运行中丢步吧

是的,就是这样的

出0入0汤圆

 楼主| 发表于 2014-7-24 22:41:59 | 显示全部楼层
sunhy 发表于 2014-7-24 22:22
步进加闭环可以提高性能,取代一部分伺服市场。步进闭环相对于传统伺服有绝对的价格优势,这就是研究闭环 ...

对头,出发点在此

出0入0汤圆

发表于 2014-7-24 22:44:52 | 显示全部楼层
步进本来就是恒流,就是扭力是固定的,丢步也不会丢的多,很容易补回去。只有失步丢步没有增步的

出0入0汤圆

发表于 2014-7-24 22:46:10 | 显示全部楼层
要是过程中没丢步就没有任何控制加进去了,顶多是缓加速缓减速,不知道是不是这样

出0入0汤圆

 楼主| 发表于 2014-7-24 22:48:10 | 显示全部楼层
老蔡6198 发表于 2014-7-24 22:44
步进本来就是恒流,就是扭力是固定的,丢步也不会丢的多,很容易补回去。只有失步丢步没有增步的 ...

估计是的

出0入0汤圆

发表于 2014-7-24 22:48:22 | 显示全部楼层
步进加闭环可以消振点、提高力矩利用率、大幅提升步进加速及高速性能、有效降低电机发热,另外丢步了会报警。
国外很多设备上都用闭环步进,目前国内推广也有两三年了,简易伺服、混合伺服,步进伺服都指的是闭环步进。

出0入0汤圆

 楼主| 发表于 2014-7-24 22:48:36 | 显示全部楼层
老蔡6198 发表于 2014-7-24 22:46
要是过程中没丢步就没有任何控制加进去了,顶多是缓加速缓减速,不知道是不是这样 ...

估计是的,我了解不多

出0入0汤圆

发表于 2014-7-24 23:03:31 | 显示全部楼层
MARK,这个还是有挑战的吧

出0入0汤圆

 楼主| 发表于 2014-7-24 23:06:49 | 显示全部楼层
kingie2006 发表于 2014-7-24 23:03
MARK,这个还是有挑战的吧

一头雾水中,共勉

出0入0汤圆

发表于 2014-7-25 07:42:27 来自手机 | 显示全部楼层
这个对楼主太难了。

出0入0汤圆

发表于 2014-7-25 07:48:18 | 显示全部楼层
据我所知,人家一个专做步进驱动器的大公司,一个研发团队用了6年的时间,才基本上刚刚搞定步进闭环。楼主准备用多少时间?

出0入0汤圆

发表于 2014-7-25 07:50:21 | 显示全部楼层
不瞒你说,我做三相步进驱动器也4年多了,产品批量生产也2年多了,也一直没敢去弄闭环步进这个东东的。以前换做过交流伺服,感觉跟步进闭环有相似的东西,但是又有很多差异。

出0入0汤圆

发表于 2014-7-25 08:01:50 | 显示全部楼层
我也是学自动化的 感觉 要用增量式

出0入0汤圆

发表于 2014-7-25 08:34:43 | 显示全部楼层
感觉还是伺服来的快,不知你要做什么东东

出0入0汤圆

 楼主| 发表于 2014-7-25 09:25:27 | 显示全部楼层
lhn0409 发表于 2014-7-25 07:42
这个对楼主太难了。

确实有难度啊

出0入0汤圆

 楼主| 发表于 2014-7-25 09:26:05 | 显示全部楼层
shnd 发表于 2014-7-25 07:48
据我所知,人家一个专做步进驱动器的大公司,一个研发团队用了6年的时间,才基本上刚刚搞定步进闭环。楼主 ...

楼主顶多只有三个月的时间,而且手里还有其他项目在做……

出0入0汤圆

 楼主| 发表于 2014-7-25 09:27:21 | 显示全部楼层
shnd 发表于 2014-7-25 07:50
不瞒你说,我做三相步进驱动器也4年多了,产品批量生产也2年多了,也一直没敢去弄闭环步进这个东东的。以前 ...

这么难么大牛?你在哪里呀,能否指点一二,手头事情比较多,时间也少,自己基础还差

出0入0汤圆

 楼主| 发表于 2014-7-25 09:28:53 | 显示全部楼层
wujin715 发表于 2014-7-25 08:01
我也是学自动化的 感觉 要用增量式

大哥握爪……

出0入0汤圆

 楼主| 发表于 2014-7-25 09:56:39 | 显示全部楼层
shnd 发表于 2014-7-25 07:48
据我所知,人家一个专做步进驱动器的大公司,一个研发团队用了6年的时间,才基本上刚刚搞定步进闭环。楼主 ...

我们自己买了电机、光电编码器、步进电机驱动器,然后我们自己要做的就是一个控制部分,可能不同的负载和环境需要不同的PID参数,我们的目标就是弄一套自整定PID算法,不知道大牛觉得这个难度如何呢?

出0入0汤圆

 楼主| 发表于 2014-7-25 13:08:21 | 显示全部楼层
木有人哪……

出0入0汤圆

发表于 2014-7-25 14:12:56 | 显示全部楼层
先把电路搭起来,让步进电机转起来,光电编码器有反馈,然后再一步一步调试吧。

出0入0汤圆

发表于 2014-7-25 14:33:22 | 显示全部楼层
不下水,怎学会游泳?
楼主好歹也是自动化专业的,怕个啥?!动手吧。

出0入0汤圆

 楼主| 发表于 2014-7-25 14:34:54 | 显示全部楼层
Excellence 发表于 2014-7-25 14:12
先把电路搭起来,让步进电机转起来,光电编码器有反馈,然后再一步一步调试吧。 ...

已经搭起来了,正在弄……

出0入0汤圆

 楼主| 发表于 2014-7-25 14:35:18 | 显示全部楼层
laoshuhunya 发表于 2014-7-25 14:33
不下水,怎学会游泳?
楼主好歹也是自动化专业的,怕个啥?!动手吧。

嗯嗯嗯,开动……

出0入0汤圆

发表于 2014-7-25 22:19:46 | 显示全部楼层
shnd 发表于 2014-7-25 07:50
不瞒你说,我做三相步进驱动器也4年多了,产品批量生产也2年多了,也一直没敢去弄闭环步进这个东东的。以前 ...

很赞同你的观点。有很多相似的地方,相似的地方控制方式一样,但怪就怪在还有很多不一样的地方,不一样的地方步进的控制方式反而比伺服难

出0入0汤圆

发表于 2014-7-25 22:45:51 来自手机 | 显示全部楼层
开玩笑,不知道怎么弄,没有理论,怎么干活?
   赶紧放弃吧

出0入0汤圆

 楼主| 发表于 2014-7-26 14:51:34 | 显示全部楼层
ddqq 发表于 2014-7-25 22:45
开玩笑,不知道怎么弄,没有理论,怎么干活?
   赶紧放弃吧

在看理论了……,还是得好好搞,这可是饭碗……

出0入0汤圆

发表于 2014-7-26 15:33:36 | 显示全部楼层
直接用编码器吧。。感觉增量式应该比较合适。。

出0入0汤圆

 楼主| 发表于 2014-7-26 15:39:19 | 显示全部楼层
Arthur244 发表于 2014-7-26 15:33
直接用编码器吧。。感觉增量式应该比较合适。。

已经安装了编码器,现在看离散PID算法中……

出0入20汤圆

发表于 2014-7-27 14:58:55 | 显示全部楼层
zcbAzfl 发表于 2014-7-26 15:39
已经安装了编码器,现在看离散PID算法中……


原来计划:
1:一个定时器T1输出单PWM信号;
2:一个定时器T2输出连续PWM信号;
3:外部用一个光隔离完成上述2个信号的与;
这样就可以控制单脉冲的时间里,输出N个脉冲。单脉冲可以固定是5-20毫秒。连续脉冲的个数M(100-1000),视步进电机的响应设定。
4:光电编码器返回值N1;实际位置(x or y) N2 ,转换成统一单位,然后计算N=N2-N1;
5:  N大于单脉冲内的脉冲个数 M,就一直发满的脉冲M。
6:当N<M;开始用增量PID公式计算,计算出单脉冲内要发的脉冲个数Q,然后调整T2,使其输出的脉冲Q。

出0入0汤圆

 楼主| 发表于 2014-7-27 22:34:54 | 显示全部楼层
mon51 发表于 2014-7-27 14:58
原来计划:
1:一个定时器T1输出单PWM信号;
2:一个定时器T2输出连续PWM信号;

非常好,这个你现在做好了么?

出0入0汤圆

发表于 2014-8-29 11:35:25 | 显示全部楼层
mon51 发表于 2014-7-27 14:58
原来计划:
1:一个定时器T1输出单PWM信号;
2:一个定时器T2输出连续PWM信号;

不错,思路可以!

出0入0汤圆

发表于 2014-8-29 11:36:59 | 显示全部楼层
步进电机的开环电路驱动在高速转动时。因此,步进电机被称为速度控制或位置控制的低成本驱动系统。
步进电机基本上以开环电路驱动,用于位置控制。换句话说,步进电机以外的电机尤其是高精度的步进电机之外并没有做开环控制定位的,而用开环电路驱动的电机只有步进电机。例如无刷电机,首先为切换相,需要测出转子位置,需要含位置传感器的位置闭环电路。而且如果按一定速度驱动,需测出转子的速度,此为速度闭环电路:如果想定位控制,需要含有转子位置信号的编码器等传感器的闭环电路。与开环驱动的步进电机相比较,含传感器的闭环电路成本高。因此,步进电机被称为速度控制或位置控制的低成本驱动系统。
相对步距角闭环控制方式,按照步进电机转子的运动位置(激磁磁通位置)在适当的位置给各相通激磁电流,有不会受到电流闭环控制制约的优点。但与按照负载的变化增减电流的电流闭环控制系统不同,它存在轻载时效率低的缺点。因此,低速时用电流闭环控制,高速时,用步距角闭环控制,尤其在步进电机静止时保持激磁电流恒定,可以产生保持力矩,并可以随时按照动作条件,切换控制方式。
步进电机的开环电路驱动在高速转动时,有失步、振动(噪音)以及高速运行困难等问题,为了弥补这些缺点,步进电机安装角度传感器,形成闭环控制,用以检测并避免失步。步进电机的闭环控制方式大致分为两种:
1、使磁极磁通与电流的相位关系保持一致,使其产生能带动负载转矩的电磁转矩,这种控制电机电流的方式与无刷直流电机控制方式相同,称为无刷驱动方式或电流闭环控制方式。
2、电机电流保持一定,控制激磁磁通与电流相位角的方式,称为功率角闭环控制方法。功率角为转子磁极与定子激磁相(或认为是同步电机的定子旋转磁场线也可以)相互吸引所称的相位角。此功率角在低速时或轻载时较小,高速时或高负载时较大。
电流闭环控制方法与交流伺服控制方法相同,通过电流控制环(转矩控制)适应负载的变化。

出0入0汤圆

 楼主| 发表于 2014-8-31 15:02:30 | 显示全部楼层
gzhmcu 发表于 2014-8-29 11:36
步进电机的开环电路驱动在高速转动时。因此,步进电机被称为速度控制或位置控制的低成本驱动系统。
步进电 ...

谢谢前辈指点……

出0入0汤圆

发表于 2014-8-31 19:54:27 | 显示全部楼层
闭环步进电机的控制...每每我看这个步进电机的闭环,就有点想法:步进电机现在细分驱动做到256不成问题,256细分对应每圈的脉冲数为256*200=51200. 你要是用普通编码器做闭环,那完全够不到精度...而且即使在这种情况下的闭环控制,我觉得在编码器精度符合细分要求时,也只是正对于原先的正弦波电流细分做一些微小的补偿,没有必要用到PID这些...那个伺服电机上用的比较多

出0入0汤圆

发表于 2014-9-3 14:08:31 | 显示全部楼层
能用三闭环工作了么,像伺服电机那样的三闭环。

出0入0汤圆

发表于 2014-12-5 21:11:19 | 显示全部楼层
步进如果跟伺服电机那样做三环控制,就需要针对负载调试参数,就没有优势了,参数很难调试。韩国的ezi-servo步进伺服据介绍无需参数调整,适应各种负载,就是不知道具体怎么实现的。

出0入0汤圆

发表于 2015-3-15 21:35:19 | 显示全部楼层
mark                                 

出0入0汤圆

发表于 2015-10-22 13:35:51 | 显示全部楼层
没消息了,不知道楼主做的咋样了。

出0入0汤圆

发表于 2015-10-22 14:34:33 | 显示全部楼层
本帖最后由 coleyao 于 2015-10-24 09:05 编辑

传几张PID控制步进电机动作的图,供参考!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2015-10-24 14:15:37 | 显示全部楼层
shnd 发表于 2014-7-25 07:48
据我所知,人家一个专做步进驱动器的大公司,一个研发团队用了6年的时间,才基本上刚刚搞定步进闭环。楼主 ...

根据我的经验,大公司反而不如小公司容易出东西。

出0入0汤圆

发表于 2015-11-11 11:54:14 | 显示全部楼层
看着云里雾里的,学习中

出0入0汤圆

发表于 2016-2-25 10:23:44 | 显示全部楼层
我也没怎么看懂,智商不行啊

出0入0汤圆

发表于 2016-2-25 10:53:12 | 显示全部楼层
mandylion2008 发表于 2015-10-24 14:15
根据我的经验,大公司反而不如小公司容易出东西。

感觉不错,我的经验也是这样

出0入0汤圆

发表于 2016-3-2 21:15:11 | 显示全部楼层
学习了,以后可能会接触到

出0入0汤圆

发表于 2016-3-5 16:31:39 | 显示全部楼层
嗯,这个讨论步进电机很有水平,谢谢啊
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-25 23:16

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表