|
前几日做了个平衡车,仿照论坛里PWW999大神新做的车做的,但是没有接可调电阻,程序也是照搬的(我把可调电阻读的值,直接改成了某个值),问题来了通电后其中一只轮子一个劲的傻转,其它什么反映也没有!
现在电机驱动,GY-86分开代码测试都可以正常工作(测速的编码器没有试,看到论坛里说光站立的话,不测编码也可以的),然后还有一点就是L298是带光耦的那种,但是我没有使用光耦!
主板是用的ARDUINO PRO-MINI,供电是5V移动电源,正负极分别接到GY-86,pro-mini,编码器的VCC和GND上面,单片机的负极和L298的负极连接。
由于我对代码中有些地方完全不懂,所以就只能照搬了,自己改的就是KP,KI,KD,KPP的值,
现在想请问,代码中的 static const float Q_angle=0.001, Q_gyro=0.004, R_angle=0.5,dt=0.01;
这些Q_angle,Q_gyro,R_angle,是什么意思啊?这些值是如何得来的?
还有这里:
float K_angle=4.0;
float K_angle_dot=0.2; //换算系数:256/10 =25.6;
float K_position=0.1; //换算系数:(256/10) * (2*pi/(64*12))=0.20944;//256/10:电压换算至PWM,256对应10V;
float K_position_dot=5;
//float K_position=0.8 * 0.209; //换算系数:(256/10) * (2*pi/(64*12))=0.20944;//256/10:电压换算至PWM,256对应10V;
//float K_angle=34 * 25.6; //换算系数:256/10 =25.6;
//float K_position_dot=1.09 * 20.9; //换算系数:(256/10) * (25*2*pi/(64*12))=20.944;
//float K_angle_dot=2 * 25.6; //换算系数:256/10 =25.6;
这两块又是什么意思啊?是不是一个是用编码器,另一个按PWM值来算的啊?
哪位大哥会的话,友情提醒一下吧!
顺便说说我应该按什么样的思路或步骤来查找问题,先谢谢了! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|