codefish 发表于 2013-11-28 09:47:10

关于BLDC电机位置控制的问题

我3年前帮朋友搞的一个产品,涉及到使用BLDC电机进行位置控制。

我是这么做的:、
    在电机输出轴加装了编码盘(A、B相信号),该信号接入我的mcu,
通过编码盘的信号,我能知道转动的方向,和转动的脉冲数。当转动的
脉冲数达到我需要的数量时,我的mcu就向bldc驱动器发送刹车信号。
当然我mcu还对bldc控制器输出了加减速控制信号,以便提前减速,
这样可以使位置过冲尽量小。

该产品的电机位置控制精度约15-20度(二十分之一圈)左右,勉强够用。

我感觉应当有更好或更廉价的办法实际我所需要的定位精度,如果能将定位精度提高到10度以内就更好了。
希望bldc高手门给点建议!

ericw2012 发表于 2013-11-28 19:58:03

编码器是几线的呢?

codefish 发表于 2013-11-28 22:39:47

ericw2012 发表于 2013-11-28 19:58
编码器是几线的呢?

我们编码器分辨率用了200cpr的。
我认为编码器用100~400cpr之间都是合适的。
200cpr的AB相正交信号能产生一圈800个的位置信号。

现在检测到的位置精度是足够高了,但是能控制达到的精度还是不太够。

823032003 发表于 2013-11-28 22:45:18

LZ不是用的PI调节?

一般位置环都是3环的,
位置-速度-转矩

liendry 发表于 2013-11-28 23:40:45

可以在电机转动到距给定角度某个范围时电机断电,由于惯性电机仍会转动,这时。候利用感生制动(EBS),关闭三个上管,利用三个下管的pwm开度控制电机减速大小。多试验几次找到一个合适ebs制动角度。这样就根据这个制动角度提前电机断电。

codefish 发表于 2013-11-28 23:43:47

823032003 发表于 2013-11-28 22:45
LZ不是用的PI调节?

一般位置环都是3环的,


我没有能力开发自己的BLDC驱动器,
是买市面的BLDC驱动器。该驱动器提供有正反转、启停、刹车、速度这些接口,
我是利用这几个接口去控制我想要去的位置的,
你再看看我在一楼的描述。

所以PI或pid这些东西不是由我去控制的。

liendry 发表于 2013-11-28 23:44:57

补充:引入pi调节pwm来控制ebs强弱从而控制电机制动

codefish 发表于 2013-11-28 23:47:15

liendry 发表于 2013-11-28 23:40
可以在电机转动到距给定角度某个范围时电机断电,由于惯性电机仍会转动,这时。候利用感生制动(EBS),关 ...

这个思路跟我目前的做法差不多。
我是直接给驱动器的刹车信号接口提供刹车信号。
目前位置的精度能在二十分之一圈左右。

我希望有人能帮助我提高这个控制精度。

quzhanguang3 发表于 2013-11-28 23:50:53

位置控制,楼主可以去看看无刷云台

codefish 发表于 2013-11-29 00:13:15

quzhanguang3 发表于 2013-11-28 23:50
位置控制,楼主可以去看看无刷云台

谢谢你,你提供的意见很有参考价值。
刚刚在网上找了一些资料看,原来开源的无刷云台已经把位置精度控制得那么好了。

虫虫好 发表于 2014-3-11 18:15:15

codefish 发表于 2013-11-29 00:13
谢谢你,你提供的意见很有参考价值。
刚刚在网上找了一些资料看,原来开源的无刷云台已经把位置精度控制 ...

兄台,你的无刷云台开源资料能不能发个链接

codefish 发表于 2014-3-12 10:40:40

http://code.google.com/p/brushless-gimbal/

codefish 发表于 2014-3-12 10:40:56

虫虫好 发表于 2014-3-11 18:15
兄台,你的无刷云台开源资料能不能发个链接

http://code.google.com/p/brushless-gimbal/

hfhlb 发表于 2014-3-12 11:28:19

楼主可以做一个角度(脉冲数)的负反馈,通过调节PI参数控制刹车强度(PWM输出)应该能实现更高的精度。

虫虫好 发表于 2014-3-12 23:01:59

hfhlb 发表于 2014-3-12 11:28
楼主可以做一个角度(脉冲数)的负反馈,通过调节PI参数控制刹车强度(PWM输出)应该能实现更高的精度。 ...

兄台 所说的刹车强度是 能耗制动 还是 反接制动能

虫虫好 发表于 2014-3-12 23:22:16

codefish 发表于 2014-3-12 10:40
http://code.google.com/p/brushless-gimbal/

兄台 发的这个链接 说是IE 不支持 下不下来 能不能传个邮箱648124548@qq.com谢谢了

虫虫好 发表于 2014-3-15 18:58:43

quzhanguang3 发表于 2013-11-28 23:50
位置控制,楼主可以去看看无刷云台

兄台 你那有无刷云台的 开源代码 吗有的话发我一个 648124548@qq.com谢谢了

hfhlb 发表于 2014-3-18 16:37:38

虫虫好 发表于 2014-3-12 23:01
兄台 所说的刹车强度是 能耗制动 还是 反接制动能

反接制动,常规做法为关闭逆变桥上管,PWM控制下管,利用反电动势感生制动

虫虫好 发表于 2014-3-18 23:58:45

hfhlb 发表于 2014-3-18 16:37
反接制动,常规做法为关闭逆变桥上管,PWM控制下管,利用反电动势感生制动 ...

好的理解了,不知道兄台遇到过这个问题没, 如果无刷位置伺服 停在一个 位置 再次指向一个位置i时 电机就不动了 ,用手碰一下 电机就开始指向下一个位置了,调制方式为互补HPWMLON ,高桥占空比很小 感觉下桥的MOS 刹车力度 使电机锁定在那个位置的力比较大 有没有这种可能,如果我不用互补HPOWMLON 在指向一个位置是 电机的自举电容会过度放电吧

hfhlb 发表于 2014-3-19 10:25:43

虫虫好 发表于 2014-3-18 23:58
好的理解了,不知道兄台遇到过这个问题没, 如果无刷位置伺服 停在一个 位置 再次指向一个位置i时 电机 ...

不好意思,没看太明白什么意思??

虫虫好 发表于 2014-3-19 23:12:55

hfhlb 发表于 2014-3-19 10:25
不好意思,没看太明白什么意思??

你好我是说如果IR+MOS 驱动去刷的话 电机停在一个指定位置 需要保持力矩 ,采用HPWMLON的调制 自举电容会不会过度放电,兄台怎么解决的

zcf287 发表于 2015-10-30 16:44:02

这个貌似有用啊

mandylion2008 发表于 2015-10-30 17:12:27

开源的无刷云台可以满足楼主所需的转矩吗?电机会不会很烫?哈哈

weichao4808335 发表于 2015-10-30 17:29:25

要求不高位置环+速度换,要求高点的话三环,还不能满足要求直接做成伺服驱动器加上惯量识别、陷波器等等
页: [1]
查看完整版本: 关于BLDC电机位置控制的问题