模吧

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

1202查看 | 15回复

想用51单片机给QQ飞控解锁一直不行,求大佬指教

[复制链接]
发表于 2019-3-26 15:22:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
      毕业设计要做一个会飞的六足机器人,就在设计好的六足机器人上搭建一个四旋翼,为了简化控制就想用51单片机(机器人爬行部分我是用51单片机来控制的,飞行部分不想用摇杆)来模拟飞控接收机来控制QQ飞控。但是QQ飞控一直解不了锁。用51单片机P1^1到P1^4四个通道和QQ飞控(A.E.R 、THR)的四个通道连接,给飞控发送信号,但是就连第一步解锁都做不到,上电之后飞控的灯白色——蓝色——绿色 闪完后就一直保持绿色(没解锁状态,解锁之后会一直闪绿色)。以下是QQ飞控和51单片机的接线:
想用51单片机给QQ飞控解锁一直不行,求大佬指教 飞控,机器人,接收机,毕业设计 作者:七月_老猫 2899 附上51单片机的程序
#include<reg52.h>
sbit ch1=P1^1;//ail  QQ飞控四个通道和51的接线
sbit ch2=P1^2;//ele
sbit ch3=P1^3;//thr
sbit ch4=P1^4;//rud  
unsigned int flag;

void init_interrupt(); //中断初始化函数
void delay(int x); //延时函数 x*10us,晶振12m

void main()
{
    init_interrupt();
    while(1)  //四个通道依次给脉宽信号
    {   
        ch1=1;
        delay(150);
        ch1=0;
        delay(5);
        
        ch2=1;
        delay(150);
        ch2=0;
        delay(5);
        
        ch3=1;
        delay(90);
        ch3=0;
        delay(5);    //油门拉到最低
        
        ch4=1;
        delay(210);
        ch4=0;
        delay(1385);    //方向满舵
    }
}
void init_interrupt()
{
    EA=1;
    TMOD=0X02;  //定时器0模式2
    TL0=0x88;//10us   
    TH0=0x88;
    ET0=1;
    TR0=1;//开始计时
    ch1=0;
    ch2=0;
    ch3=0;
    ch4=0;
    delay(100);
}
void Timer0_isr(void)interrupt 1 //定时器0中断函数
{
    if(flag>0) flag=flag-1;
}
void delay(int x)
{
    flag=x;
    while(flag!=0)
    {;}
}
弄了一个多星期了,一点头绪都没有,为了做毕设才来弄飞控这块的,好多东西都没搞懂,是不是我把飞控想简单了。
我是根据这个来学习和写代码的:https://blog.csdn.net/nicekwell/article/details/53866204   还有这个 http://www.51hei.com/bbs/dpj-97135-1.html
希望有人能指点一下哪错了,谢谢!


发表于 2019-3-26 15:33:27 | 显示全部楼层
简单,把qq换成PIX,然后用你的51控制电位器翻转来控制飞控的解锁按钮,完美!想用51单片机给QQ飞控解锁一直不行,求大佬指教 飞控,机器人,接收机,毕业设计 作者:啊一呀呼 3361
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-26 15:57:37 | 显示全部楼层
啊一呀呼 发表于 2019-3-26 15:33
简单,把qq换成PIX,然后用你的51控制电位器翻转来控制飞控的解锁按钮,完美! ...

解锁只是第一步,最后还是要实现对飞控的控制,所以主要是想弄懂飞控和接收机间的通讯方法
回复 支持 反对

使用道具 举报

发表于 2019-3-26 16:28:52 | 显示全部楼层
顶一个想用51单片机给QQ飞控解锁一直不行,求大佬指教 飞控,机器人,接收机,毕业设计 作者:wyd1996 357 想用51单片机给QQ飞控解锁一直不行,求大佬指教 飞控,机器人,接收机,毕业设计 作者:wyd1996 2713 想用51单片机给QQ飞控解锁一直不行,求大佬指教 飞控,机器人,接收机,毕业设计 作者:wyd1996 3486
回复 支持 反对

使用道具 举报

发表于 2019-3-26 17:21:18 | 显示全部楼层
七月_老猫 发表于 2019-3-26 15:57 想用51单片机给QQ飞控解锁一直不行,求大佬指教 飞控,机器人,接收机,毕业设计 作者:啊一呀呼 9328
解锁只是第一步,最后还是要实现对飞控的控制,所以主要是想弄懂飞控和接收机间的通讯方法 ...

你的sc51端口不够了,换个其他封装的吧
回复 支持 反对

使用道具 举报

发表于 2019-3-26 18:43:42 | 显示全部楼层
换f3飞控
回复 支持 反对

使用道具 举报

发表于 2019-3-26 18:44:06 | 显示全部楼层
啊一呀呼 发表于 2019-3-26 15:33 想用51单片机给QQ飞控解锁一直不行,求大佬指教 飞控,机器人,接收机,毕业设计 作者:Freeor 3143
简单,把qq换成PIX,然后用你的51控制电位器翻转来控制飞控的解锁按钮,完美! ...

f3就行了吧
回复 支持 反对

使用道具 举报

发表于 2019-3-26 18:44:35 | 显示全部楼层
啊一呀呼 发表于 2019-3-26 15:33 想用51单片机给QQ飞控解锁一直不行,求大佬指教 飞控,机器人,接收机,毕业设计 作者:Freeor 2737
简单,把qq换成PIX,然后用你的51控制电位器翻转来控制飞控的解锁按钮,完美! ...

f3
回复 支持 反对

使用道具 举报

发表于 2019-3-26 18:52:38 | 显示全部楼层
QQ飞控接收的周期为20ms的,脉宽为1ms-2ms的信号,你要解锁必须给三通道输出900-1050us,四通道输出1900-2050us的信号
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-26 21:03:49 | 显示全部楼层
arkingzhou 发表于 2019-3-26 18:52
QQ飞控接收的周期为20ms的,脉宽为1ms-2ms的信号,你要解锁必须给三通道输出900-1050us,四通道输出1900-205 ...

我程序就是这样写的,但是就是解锁不了,不知道是哪里出了问题
回复 支持 反对

使用道具 举报

发表于 2019-3-27 08:46:24 | 显示全部楼层
七月_老猫 发表于 2019-3-26 21:03
我程序就是这样写的,但是就是解锁不了,不知道是哪里出了问题

排查一下飞控供电问题。试试独立供电,但是跟STC共地。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-27 22:40:25 | 显示全部楼层
终于解决了,换了一个kk v5.5飞控,测试了解锁和锁定都没问题。
#include<reg52.h>
sbit ch1=P1^1;//ail
sbit ch2=P1^2;//ele
sbit ch3=P1^3;//thr
sbit ch4=P1^4;//rud  
void delay(unsigned int x); //延时
void main()
{
        int i;
        for(i=150;i>0;i--) //校准
        {       
                ch1=1;
                delay(15);
                ch1=0;
                delay(2);
               
                ch2=1;
                delay(15);
                ch2=0;
                delay(2);
               
                ch3=1;
                delay(9);
                ch3=0;
                delay(2);  
               
                ch4=1;
                delay(15);
                ch4=0;
                delay(142);       
        }
                for(i=150;i>0;i--)  //解锁
        {       
                ch1=1;
                delay(15);
                ch1=0;
                delay(2);
               
                ch2=1;
                delay(15);
                ch2=0;
                delay(2);
               
                ch3=1;
                delay(9);
                ch3=0;
                delay(2);  
               
                ch4=1;
                delay(21);
                ch4=0;
                delay(134);       
        }
                        for(i=150;i>0;i--)  //锁定
        {       
                ch1=1;
                delay(15);
                ch1=0;
                delay(2);
               
                ch2=1;
                delay(15);
                ch2=0;
                delay(2);
               
                ch3=1;
                delay(9);
                ch3=0;
                delay(2);  
               
                ch4=1;
                delay(9);
                ch4=0;
                delay(146);       
        }
}
void delay(unsigned int x)
{
  unsigned int i,j;
        for(i=x;i>0;i--)
                for(j=11;j>0;j--);
}
回复 支持 反对

使用道具 举报

发表于 2019-3-28 22:20:58 | 显示全部楼层
顶一个
回复 支持 反对

使用道具 举报

发表于 2019-4-27 10:34:08 | 显示全部楼层
顶一个
回复 支持 反对

使用道具 举报

发表于 2019-6-1 20:29:31 | 显示全部楼层

看不懂 凑个热闹
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|关于模吧|APP下载|广告报价|手机版|企业会员|商城入驻|联系我们|模吧 ( 黔ICP备2022002348号-1 )

© 2013-2020 Moz8.com 模吧,玩出精彩!