按照坛子里设计的电调如何加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的朋友指教讨论。
哥们,既然都进来了,留个言吧,哪怕精神上支持下,别让此贴沉下去啊^_^ 啥也不说了 自己先顶起来。 难道真的没人知道??? 你怎么测得到实际转速,再反馈给程序处理? 回复【3楼】shujiews
-----------------------------------------------------------------------
我通过定时器对电机的6次换相计时,得到电机每换相6次的时间,得到换相六次的时间,就能估算出电机的实际转速。 哎 不给力啊。。。。。 我在做和你相同的事情。我无刷控制器程序是按无刷电机的原理自己用汇编写的,没有参考别的程序。 我也在里面加了个PID功能,但效果不理想。
我是这样做的,值为负就让PWM输入最小值(不是0,是无感运行时的最小值),超过PWM最大值的按最大值处理。
我现在的问题时,速度不稳定。 原理上是可以的,但是你要做反馈环的,可以考虑加装位置传感器或者转速传感器,最好在加一个霍尔电流传感器,组成多个负反馈。这样才能实现你说的功能。
当然,我也听说有牛人在做无传感器的无刷电机调速,但是,要对电机模型描述的很清楚,算法也比较复杂,还需要用一套比较复杂的反馈电路。我怀疑不适合在飞机上做!但是人家博士论文都出来啦,而且也有应用哦,呵呵。 回复【6楼】myfriendaya
-----------------------------------------------------------------------
我在网上咨询了一个网友,PID计算出来的值要和给定的基准PWM值相加,我以前不懂PID,把PID计算出来的值直接作为电机的PWM值了,走了不少弯路。。。 模型遥控是人参与的闭环控制(人根据状况发指令)不是自动控制的,不用套论文乱扯的神马PID 我是用的增量式PI,即本次误差进行PI运算后与上次PWM结果相加的。转速度信号也是电机的反电动势信号。
现在的问题是,低速和高速不能同时兼顾。尤其时高速时怎么调都没有用,给定速度不变,输出速度却波动很大。
电机的控制速度3000-30000RPM 回复【10楼】myfriendaya
-----------------------------------------------------------------------
哥们 我留下我的qq,这里讨论有点慢 qq:1580109737 做过一次,但是要先知道电机的转速,因为PID是转速控制 我觉得电调没有必要加pid吧,增大pwm加速,减小pwm减速。加了pid后会影响响应速度的。 都无刷无感了,还有必要加反馈环吗?无刷无感不就是为了要去掉反馈吗?
我感觉有点画蛇舔足了.
知道换向周期,还有磁极数不就可以直接计算出转数吗?
如果计算的不对,只能是发生了失控(丢转)
失控在无刷无感电机驱动里也是一个问题了,失完了怎么才能再受控.这倒是个问题!
页:
[1]