用码盘测得的转速后如何跟PWM联系起来?想用PID控制。求高人发一份程序参考一下。
如题,谢谢! 潜水中。 PWM占空比就是电压,PID控制的话不过输出量电压,输入量脉冲/s。计算脉冲/s然后与期望的差作为输入即可。我这里有代码,可是我不会给你,最讨厌上来要代码的。 PID原理自己去找本自控原理,里面有的是,这东西看懂了很容易,最终不过参数调整而已。别看那种带微积分公式的,中国的“叫兽”就会把简单问题复杂化,也别看现代控制,经典控制足矣 回复【楼主位】bhdsd-----------------------------------------------------------------------
这个我都是知道的,我自己也写了一份程序。但是可能在某些地方没有弄对,所以想借别人的代码参考一下 回复【2楼】lixivip
-----------------------------------------------------------------------
PID我理解啊,就是一个公式而已。但是我的问题是如何把一个反馈回来计算好的速度再赋值给原来设定的速度?是这样的吗?
while(1)
{forward(speed);/给电机一定的速度
delay(50);//延时50毫秒
speed =P*(setspeed-feedback)//把反馈回来的送回给设定值
}
是这样的吗?但是个人感觉不好 http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=827436&bbs_page_no=1&search_mode=3&search_text=Gorgon 你这里面只有比例环节没有积分微分环节,效果会很差的,还有就是最好别用延时用中断 我也想搞懂。 交换之间的参数 也是我需要的~~
页:
[1]