智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1109|回复: 0
打印 上一主题 下一主题

求助,各位看看这128程序有啥问题?

[复制链接]

9

主题

42

帖子

0

精华

高级会员

Rank: 4

积分
727
威望
368
贡献
201
兑换币
231
注册时间
2013-1-15
在线时间
79 小时
跳转到指定楼层
1#
发表于 2013-4-13 19:58:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这是我要调直立的一段程序,车是直立起来了,但是回复力很小,稍用劲戳一下就倒了,还有一点小抖动,怎么调参数都没法解决这个问题?请各位看看这程序有啥问题。。
if (ANG > AD_AVERIGE[1])            
    {            
        DTY1=((ANG - AD_AVERIGE[1]) * PID1_P + (AD_AVERIGE[0]-GYRO) / PID1_D);
        DTY2=((ANG - AD_AVERIGE[1]) * PID2_P + (AD_AVERIGE[0]-GYRO) / PID2_D);     
        if(DTY1>=DTYMAX) DTY1=DTYMAX;
        if(DTY2>=DTYMAX) DTY2=DTYMAX;  
        PWM_DIR0=1;            
        PWM_DIR1=1;
        PWMDTY3=(byte)DTY1- SpeedControlOut;
        PWMDTY7=(byte)DTY2- SpeedControlOut;
        
        PWMPOL=0X00;      //输出极性选择 0起始为低电平 1起始为高电平        
    }   
    //Delay_us(5);        
    /**********************反转***************/
    else if (ANG< AD_AVERIGE[1])              
    {
        DTY1=((  AD_AVERIGE[1] - ANG ) * PID1_P + (GYRO -  AD_AVERIGE[0]) / PID1_D );
        DTY2=((  AD_AVERIGE[1] - ANG ) * PID2_P + (GYRO -  AD_AVERIGE[0]) / PID2_D );                        
        if(DTY1>=DTYMAX) DTY1=DTYMAX;   
        if(DTY2>=DTYMAX) DTY2=DTYMAX;         
        PWM_DIR0=0;
        PWM_DIR1=0;
        PWMDTY3=(byte)DTY1;
        PWMDTY7=(byte)DTY2;
        PWMPOL=0Xff;               
    }
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2025-1-12 06:07 , Processed in 0.040390 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表