Chester 发表于 2011-3-15 09:47:48

按照坛子里设计的电调如何加PID控制?

根据四轴坛子里的资源设计了电调(首先感谢党和国家,再狠狠地感谢下ourdev。。。^_^)


现在想让电调对无刷电机进行PID控制:
电机转速和PWM值有关,PWM值范围:0~255,0对应着电机静止,255对应电机的最大速度。
现在我用PID控制电机,给定转速与实际测得转速作差得到误差,再将误差交给PID计算,得到输出u,再将u设置为PWM值。



现在的问题就是,我用Ziegler-Nichols整定参数,将Ki和Kd设置成0,单独调节Kp,当电机转速有超调时,误差是负值,再与Kp乘也是负值,也就是输出u是负值,负值的话我的PWM就不好设置了,因为PWM的范围是0~255,请问大家,超调(即u为负值)时我加多大的PWM给电机,将PWM设置为0吗?

望懂PID和不懂PID的朋友指教讨论。



哥们,既然都进来了,留个言吧,哪怕精神上支持下,别让此贴沉下去啊^_^

Chester 发表于 2011-3-16 14:35:59

啥也不说了 自己先顶起来。

Chester 发表于 2011-3-18 09:35:53

难道真的没人知道???

shujiews 发表于 2011-3-18 17:27:52

你怎么测得到实际转速,再反馈给程序处理?

Chester 发表于 2011-3-21 14:58:08

回复【3楼】shujiews
-----------------------------------------------------------------------

我通过定时器对电机的6次换相计时,得到电机每换相6次的时间,得到换相六次的时间,就能估算出电机的实际转速。

Chester 发表于 2011-3-24 17:56:51

哎 不给力啊。。。。。

myfriendaya 发表于 2011-3-24 19:35:14

我在做和你相同的事情。我无刷控制器程序是按无刷电机的原理自己用汇编写的,没有参考别的程序。 我也在里面加了个PID功能,但效果不理想。
我是这样做的,值为负就让PWM输入最小值(不是0,是无感运行时的最小值),超过PWM最大值的按最大值处理。

我现在的问题时,速度不稳定。

yuxuanqq 发表于 2011-3-24 21:02:28

原理上是可以的,但是你要做反馈环的,可以考虑加装位置传感器或者转速传感器,最好在加一个霍尔电流传感器,组成多个负反馈。这样才能实现你说的功能。

当然,我也听说有牛人在做无传感器的无刷电机调速,但是,要对电机模型描述的很清楚,算法也比较复杂,还需要用一套比较复杂的反馈电路。我怀疑不适合在飞机上做!但是人家博士论文都出来啦,而且也有应用哦,呵呵。

Chester 发表于 2011-3-25 13:27:54

回复【6楼】myfriendaya
-----------------------------------------------------------------------

我在网上咨询了一个网友,PID计算出来的值要和给定的基准PWM值相加,我以前不懂PID,把PID计算出来的值直接作为电机的PWM值了,走了不少弯路。。。

NJ8888 发表于 2011-3-25 13:42:44

模型遥控是人参与的闭环控制(人根据状况发指令)不是自动控制的,不用套论文乱扯的神马PID

myfriendaya 发表于 2011-3-25 13:52:09

我是用的增量式PI,即本次误差进行PI运算后与上次PWM结果相加的。转速度信号也是电机的反电动势信号。
现在的问题是,低速和高速不能同时兼顾。尤其时高速时怎么调都没有用,给定速度不变,输出速度却波动很大。
电机的控制速度3000-30000RPM

Chester 发表于 2011-3-25 16:22:41

回复【10楼】myfriendaya
-----------------------------------------------------------------------

哥们 我留下我的qq,这里讨论有点慢 qq:1580109737

nter 发表于 2011-4-15 16:09:51

做过一次,但是要先知道电机的转速,因为PID是转速控制

grandhero 发表于 2011-4-19 01:47:57

我觉得电调没有必要加pid吧,增大pwm加速,减小pwm减速。加了pid后会影响响应速度的。

vague2010 发表于 2011-4-21 12:28:50

都无刷无感了,还有必要加反馈环吗?无刷无感不就是为了要去掉反馈吗?
我感觉有点画蛇舔足了.

知道换向周期,还有磁极数不就可以直接计算出转数吗?
如果计算的不对,只能是发生了失控(丢转)

失控在无刷无感电机驱动里也是一个问题了,失完了怎么才能再受控.这倒是个问题!
页: [1]
查看完整版本: 按照坛子里设计的电调如何加PID控制?