搜索
bottom↓
回复: 5

大家帮帮忙,看看我的X240的小四轴怎么回事?多谢了,有...

[复制链接]

出0入0汤圆

发表于 2013-4-14 00:34:50 | 显示全部楼层 |阅读模式
本帖最后由 gdupc 于 2013-4-14 01:52 编辑

我关注阿莫很久了,但是刚注册没多久,在阿莫潜水很久学到了很多东西,我现在正在做一个240mm的小四轴,飞控板是自己画的,DSP+MPU6000+LSM303DLHC,好盈10A电调,XXD1510小电机,11.1V,1000mah锂电池。目前进展如下:
1、目前四元数解算实现了姿态解算,试了一下应该没问题,还没有进行加速度计数据融合。我现在只用陀螺解算的姿态角进行飞行控制,用于地面四轴调试应该没问题吧?陀螺解算1分钟内漂移量在1°左右。
2、飞控算法调试只控制俯仰和滚转,偏航控制量我给置零;
3、 进行四轴调试时,两个电机安装桨,另外两个电机架起来,加大油门,安装桨叶的两个轴来回摇摆,根本不能稳定,大家请看视频,帮忙分析一下是怎么回事?
     我的飞控算法程序如下:(先是浮点运算,最后整型数转换)


        //横滚通道
        Roll_ERROR=Roll_CMD-Roll_Angle;       
        Kp_R=40.0;
        Ki_R=0.0;
        Kd_R=0.0;

        Sum_Roll=Sum_Roll+Roll_ERROR;
        if(Sum_Roll>4000)Sum_Roll=4000;
        if(Sum_Roll<-4000)Sum_Roll=-4000;
               
        Roll_CTR=Kp_R*Roll_ERROR+Ki_R*Sum_Roll+Kd_R*(Roll_ERROR-LastRoll_ERROR);       

        //俯仰通道
        Pitch_ERROR=Pitch_CMD-Pitch_Angle;
        Kp_P=40.0;
        Ki_P=0.0;
        Kd_P=0.0;

        Sum_Pitch=Sum_Pitch+Pitch_ERROR;
        if(Sum_Pitch>4000)Sum_Pitch=4000;
        if(Sum_Pitch<-4000)Sum_Pitch=-4000;

        Pitch_CTR=Kp_P*Pitch_ERROR+Ki_P*Sum_Pitch+Kd_P*(Pitch_ERROR-LastPitch_ERROR);                       

        //偏航计算
        Yaw_ERROR=Yaw_CMD-Yaw_Angle;

        Sum_Yaw=Sum_Yaw+Yaw_ERROR;
        if(Sum_Yaw>1000)Sum_Yaw=1000;
        if(Sum_Yaw<-1000)Sum_Yaw=-1000;

        Yaw_CTR=Kp_Y*Yaw_ERROR+Ki_Y*Sum_Yaw+Kd_Y*(Yaw_ERROR-LastYaw_ERROR);       
        Yaw_CTR=0.0;

        //计算电机输出量
        Motor1_CTR=(int)(BASE_CTR+Yaw_CTR-Pitch_CTR);
        Motor3_CTR=(int)(BASE_CTR+Yaw_CTR+Pitch_CTR);
        Motor2_CTR=(int)(BASE_CTR-Yaw_CTR-Roll_CTR);
        Motor4_CTR=(int)(BASE_CTR-Yaw_CTR+Roll_CTR);

        if(Motor1_CTR<Min_CTR)Motor1_CTR=Min_CTR;
        if(Motor1_CTR>Max_CTR)Motor1_CTR=Max_CTR;

        if(Motor2_CTR<Min_CTR)Motor2_CTR=Min_CTR;
        if(Motor2_CTR>Max_CTR)Motor2_CTR=Max_CTR;

        if(Motor3_CTR<Min_CTR)Motor3_CTR=Min_CTR;
        if(Motor3_CTR>Max_CTR)Motor3_CTR=Max_CTR;

        if(Motor4_CTR<Min_CTR)Motor4_CTR=Min_CTR;
        if(Motor4_CTR>Max_CTR)Motor4_CTR=Max_CTR;

        //设置PWM占空比,400Hz
        EPwm1Regs.CMPA.half.CMPA=Motor2_CTR;  
        EPwm1Regs.CMPB=Motor1_CTR;
        EPwm2Regs.CMPA.half.CMPA=Motor4_CTR;  
        EPwm2Regs.CMPB=Motor3_CTR;

视频见附件

大家先看看我的飞控板有没有问题,陀螺仪芯片的位置有要求吗?边上的一个正方形芯片是MPU6000,一个长方形的芯片是LSM303DLHC。我现在用到的是MPU6000,LSM303DLHC还没有用:


期待大侠解惑啊,调试两个月了没有进展,正在郁闷中。。。。。。。。。。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。

出0入0汤圆

发表于 2013-4-14 01:19:59 | 显示全部楼层
芯片封装很专业啊

出0入0汤圆

 楼主| 发表于 2013-4-14 01:21:38 | 显示全部楼层
我用的是DSP,工作中经常用的,比较熟悉了,就没用STM之类的片子

出0入0汤圆

发表于 2013-4-14 17:53:38 | 显示全部楼层
mark.....

出0入0汤圆

发表于 2013-4-14 19:20:01 | 显示全部楼层
怎么在电机控制里面没有看到Roll通道的控制加进来(发帖收分中……)

出0入0汤圆

 楼主| 发表于 2013-4-14 21:56:14 来自手机 | 显示全部楼层
有的,1、3电机控制pitch,2、4电机控制roll,程序里面有的
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-10-3 16:35

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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