yaozequan 发表于 2013-7-27 21:10 static/image/common/back.gif
大哥,如果不用蓝牙控制,想让它站起来平衡就行了,是不是将程序通信部分不要就行了?
恩 是的……
有意思,非常有意思
大大,请问下
PWM= Kp*Angle + Kd*Gyro_y; //PID:角速度和角度
PWM += Kpn*position + Ksp*speed;
我可以理解成:角度和角速度的PID与位移速度PID串在一起么?
还有,PID是对偏差的控制,那为什么这里直接用的是Angle呢,而不是Angle-Angle.last呢?
大大的程序为什么选用这个类型的PID控制呢
哈哈顺 发表于 2014-3-18 12:33 static/image/common/back.gif
大大,请问下
PWM= Kp*Angle + Kd*Gyro_y; //PID:角速度和角度
PWM += Kpn*position + Ksp*s ...
算法结构不是原创,但,是对的。是两个PID串起来的,或者说双闭环。因为目标值是零,所以不用相减
ranqingfa 发表于 2014-3-18 13:26 static/image/common/back.gif
算法结构不是原创,但,是对的。是两个PID串起来的,或者说双闭环。因为目标值是零,所以不用相减
谢谢大大啊!我试试这个~看看效果怎么样!
大大!还有个问题,如果我用的是MPU6050 的dmp 得出角度值,是不是就可以不用角度、角速度反馈呢?
PWM= Kp*Angle + Kd*Gyro_y;
而是直接用位移、速度反馈:
PWM += Kpn*position + Ksp*speed;
是不是这样子的呢?
哈哈顺 发表于 2014-3-18 15:29 static/image/common/back.gif
大大!还有个问题,如果我用的是MPU6050 的dmp 得出角度值,是不是就可以不用角度、角速度反馈呢?
PWM= ...
没有角度你怎么问?:lol:lol思考一下,别管你怎么得出的角度,都要用。另外可否分享你的DMP程序?:lol,貌似都说DMP角度不错
ranqingfa 发表于 2014-3-18 20:05 static/image/common/back.gif
没有角度你怎么问?思考一下,别管你怎么得出的角度,都要用。另外可否分享你的DMP程序?,貌 ...
嗯,大大说的不错!http://www.geek-workshop.com/thread-8800-1-1.html这个贴子里有dmp的程序和库
ranqingfa 发表于 2014-3-18 20:05 static/image/common/back.gif
没有角度你怎么问?思考一下,别管你怎么得出的角度,都要用。另外可否分享你的DMP程序?,貌 ...
有一点,我的是arduino uno 外部中断只有两个,平衡小车测速盘要两个中断,而MPU6050 dmp也需要一个中断脚,外部中断不够用,所以,最后还是选用卡尔曼滤波得出角度
哈哈顺 发表于 2014-3-18 20:58 static/image/common/back.gif
有一点,我的是arduino uno 外部中断只有两个,平衡小车测速盘要两个中断,而MPU6050 dmp也需要一个中断脚 ...
可以开了更换一个arduino设备……
哈哈顺 发表于 2014-3-18 20:58 static/image/common/back.gif
有一点,我的是arduino uno 外部中断只有两个,平衡小车测速盘要两个中断,而MPU6050 dmp也需要一个中断脚 ...
可以考虑更换一个arduino设备……
mark
楼主大牛,正在DIY平衡车,虽然俺是用的步进电机,但是楼主的卡而慢部分太good了,帮大忙了
我想知道手机软件弄到重火感应后倾角是发送什么数据给上位机的???!!!!!
就是一般的串口字节数据