衰不堪言 发表于 2015-5-6 16:40:23

单片机闭环控制步进电机,电机抖动的厉害

我的控制系统是这样的,在步进电机的位置加了一个电位器,此电位器可以随着电机旋转改变滑动抽头,电位器反馈的电压给单片机AD采集,单片机根据AD值判断出电机位置,然后控制电机旋转到需要的地方。
现在我的问题是,当电机旋转到设定地方是,电机抖动,也就是电机过冲——单片机控制电机返回——电机返回过冲——单片机再控制……
表述的可能有问题,请见谅,另外,电机是驱动器控制的

lans0625 发表于 2015-5-6 16:51:12

估计是控制系统振荡不收敛,你的设计可能有问题,步进电机开环就有很好的精度的。。。。。。

衰不堪言 发表于 2015-5-6 16:53:18

lans0625 发表于 2015-5-6 16:51
估计是控制系统振荡不收敛,你的设计可能有问题,步进电机开环就有很好的精度的。。。。。。 ...

是否有如下几种可能:
第一,单片机AD采集数据震荡较大
第二,单片机AD采集速度慢
第三,步进电机对于单片机控制反应慢

lcw_swust 发表于 2015-5-6 16:55:08

要用PID      

lans0625 发表于 2015-5-6 17:03:58

衰不堪言 发表于 2015-5-6 16:53
是否有如下几种可能:
第一,单片机AD采集数据震荡较大
第二,单片机AD采集速度慢


如果你没有试过直接开环控制步进电机能不能达到你的要求,还是先试试吧。

衰不堪言 发表于 2015-5-6 17:07:35

lans0625 发表于 2015-5-6 17:03
如果你没有试过直接开环控制步进电机能不能达到你的要求,还是先试试吧。 ...

嗯,我先试试这个

ada1983 发表于 2015-5-6 17:09:41

本帖最后由 ada1983 于 2015-5-6 17:11 编辑

如果要求响应速率很高,那么就算采取了PID的算法,在中间那个控制点上还是会震荡的,表现为电机不停的在左一步右一步的抖动......

个人觉得可以在中间的控制点上加一个缓冲区,就是不要让电机停在某一个AD值上,而是考虑了误差范围后让电机停在某一个AD范围内,这样可以有效的避免抖动的......

-----------------------------------------------------------------------

另外,做好AD的硬件及软件滤波......

lans0625 发表于 2015-5-6 17:23:42

我觉得楼主加一个电位器来反馈步进电机这样做出来的精度可能还比不上直接开环驱动步进电机好。

Puppey 发表于 2015-5-6 17:39:04

用步进就不需要电位器啦,直接计步就知道了

qs6361036 发表于 2015-5-6 18:26:28

PID 没有调好吧

stroelec_sxy 发表于 2015-5-6 18:41:24

用的什么电位器,不会是指数型的吧?有没有试过用旋转编码电位器。

lxa0 发表于 2015-5-6 20:01:37

我认为步进电机无须闭环调节

衰不堪言 发表于 2015-5-6 20:05:21

各位大神可能不太清楚所在条件
是这样的,我要检测的是步进电机所带动那个轴的位置,而这个轴下面的物体是不平的,我需要做的就是要保持与物体之间距离一定

stone52370 发表于 2015-5-8 14:30:08

步进电机有没有开源程序
页: [1]
查看完整版本: 单片机闭环控制步进电机,电机抖动的厉害