使用的是stc15w408as單片機,通過獲取的mpu6050原始數據來控制小車的平衡,使用PD直立環直接輸出PWM,但是小車一直平衡不,KP調大了,小車稍微傾斜電機快速響應小車不受控制,KP調小了小車倒了電機還沒有反應過來,小白求助! 該怎么解決???
int balance(float Angle,float Gyro)//roll(橫滾角)(回復力)、角速度(阻尼力)
{
int ZHONG=180;
float Bias;
float Balance_Kp=6,Balance_Kd=0.05;//600 kp(0 - 25) kd( 0 - 2 )
int pwm;
Bias=ZHONG-Angle; //===求出平衡的角度中值 和機械相關
balance=Balance_Kp*Bias+Gyro*Balance_Kd; //===計算平衡控制的電機PWM PD控制 kp是P系數 kd是D系數
return pwm;
}
|