好的,谢谢。。
非常牛逼哦
:Q:Q灰常佩服。
楼主你好,为什么我用互补滤波器滤波,增加时间常数,系统反映会变慢
:lol我一直的目标,先参考下,积累经验!
楼主太棒了,学习学习!
楼主,问一个弱弱的问题。
voidPIDD(){
kp=analogRead(8)*0.01;
ki=analogRead(9)*0.007;
kd=analogRead(10)*0.007;
kpp=analogRead(11)*0.007;
楼主您的8-11脚是接什么,这里读的是什么数据?
pww999 发表于 2012-7-21 11:37 static/image/common/back.gif
//卡耳漫滤波 PD融合控制代码:
#include "Wire.h"
您好:
請問您寫的PID和這個有甚麼不同啊??您的代碼看起來很複雜。
我看板上有人用這種PID也可以平衡,我用這種作四軸都無法平衡。
懇請大大教我{:3_59:}
float Input = f_angle, Input2 = f_angle2; // 輸入賦值
float error = Setpoint - Input, error2 = Setpoint - Input2; // 偏差值
ITerm+= (Ki*error);// * TimeCh); // 計算積分項
ITerm = constrain(ITerm, outMin, outMax); // 限定值域
float DTerm = (Input - lastError) / TimeCh; // 計算微分項
Output = Kp * error + Ki * ITerm - Kd *DTerm; // 計算輸出值
Output = constrain(Output, outMin, outMax); // 限定值域
謝謝
TTTTTTT33 发表于 2013-5-30 20:09 static/image/common/back.gif
您好:
請問您寫的PID和這個有甚麼不同啊??您的代碼看起來很複雜。
我看板上有人用這種PID也可以平衡, ...
你仔细看下代码,其实一样的,只少了 // 限定值域加上去就行
高宇 发表于 2013-5-19 21:54 static/image/common/back.gif
楼主,问一个弱弱的问题。
voidPIDD(){
kp=analogRead(8)*0.01;
本帖前面已经说明了
pww999 发表于 2013-5-30 20:21 static/image/common/back.gif
你仔细看下代码,其实一样的,只少了 // 限定值域加上去就行
有限定值域了
是這個吧:
constrain(ITerm, outMin, outMax); // 限定值域
本帖最后由 pww999 于 2013-5-30 21:00 编辑
TTTTTTT33 发表于 2013-5-30 20:26 static/image/common/back.gif
有限定值域了
是這個吧:
网上的代码,基本上系照搬的,没研究过,能用就行
黑马 的贴子已经有很好的对比了 你可以试下,
pww999 发表于 2013-5-30 20:50 static/image/common/back.gif
网上的代码,基本上系照搬的,没研究过,能用就行
黑马 的贴子已经有很好的对比了 你可以试下,
這就是黑馬的,我有小改,但不知用在四軸和小車上是否一樣??
请教一下,如图,我下了代码这两个地方的libraie都放了 I2Cdev.h这个文件,但仍然编译不过,不知道为何?
整个i2cdev文件夹放进去试试