代码中几个关键设置你自己先看看吧:
/**************** The type of multicopter ****************/
#define QUADX //启用四轴X模式
/**************** Motor minthrottle ****************/
#define MINTHROTTLE 1150 //解锁后油门怠速 默认1020
/**************** I2C speed ****************/
#define I2C_SPEED 100000L /念肢含/启用这个就够用了
/****************Combined IMU Boards****************/
#define FREEIMUv035_BMP //我是3200芯片
/**************** Cam Stabilisation ****************/
#define SERVO_MIX_TILT //启用云台
#define SERVO_TILT //启用云台
#define TILT_PITCH_MIN1020 //仰俯舵机最小值,不能低于1020
#define TILT_PITCH_MAX2000 //仰俯舵机最大值,不能高于2000
#define TILT_PITCH_MIDDLE 1500 //仰俯舵仔笑机中立点
#define TILT_PITCH_PROP 10//仰俯补偿角度,如果反向数字前加“-”号
#define TILT_ROLL_MIN 1020//副翼舵机同上
#define TILT_ROLL_MAX 2000
#define TILT_ROLL_MIDDLE 1500
#define TILT_ROLL_PROP10
#define CAM_SERVO_HIGH 2000 //快门舵机行程最高
#define CAM_SERVO_LOW 1020 //快门舵机行程最低
#define CAM_TIME_HIGH 1000 // 按下快门时间
#define CAM_TIME_LOW 1000// 按下快门时间
/****************Hexa Motor 5 &6 Pins****************/
//#define A0_A1_PIN_HEX //四轴不启用,六轴用
/****************Aux 2 Pin ****************/
#define RCAUXPIN8 //打开AUX2用于功能控制
//#define RCAUXPIN12 //作用同上,但不能与上面这行同时启用
/**************** Gyro filters ****************/
#define ITG3200_LPF_42HZ //我是3200芯片饥晌
/**************** SECTION 6 - OPTIONAL FEATURES ****************/
#define LEVEL_PDF //稳定模式增强,可以启用,默认不启用
/**************** TX-related ****************/
#define DEADBAND 6 //遥控信号误差,默认值就好
#define ALT_HOLD_THROTTLE_NEUTRAL_ZONE 20 //气压定高时有用,忽略油门摇杆轻微动作
/***************** GPS ******************/
#define GPS_SERIAL 2//启用端口
#define GPS_BAUD 9600 //我的GPS波特率
#define GPS_LED_INDICATOR //指示灯
/* Get your magnetic decliniation from here : http://magnetic-declination.com/
#define MAG_DECLINIATION 6.34f //当地磁偏角,上面一行有网址
/**************** Buzzer****************/
#define BUZZER 启用蜂鸣器
/**************** battery voltage monitoring ****************/
#define VBAT // 启用电压报警,要接好电源检测线
#define VBATSCALE 131
#define VBATLEVEL1_3S 114 // 11.4V时响一声 4S电池设置请模友补充
#define VBATLEVEL2_3S 111 // 11.1V时响两声
#define VBATLEVEL3_3S 99 // 9.9V时响三声
#define NO_VBAT 16 // Avoid beeping without any battery
/****************motor, servo and other presets **************/
#define MOTOR_STOP //解锁后电机不转
/**************** IMU complimentary filter tuning ****************/
#define ACC_LPF_FACTOR 100 //软件滤波器,优化传感器数据,减低震动等影响 以下全部启用
#define MG_LPF_FACTOR 4
#define GYR_CMPF_FACTOR 400.0f
#define GYR_CMPFM_FACTOR 200.0f
在window->proferences的设置橘哪孝迹对 project不起作用需要在 project->properties 中对 c/c++ make project 的 binary parse 进圆慎码行设置到 win 下。一、无法解锁(黄灯闪烁)
无法解锁的原因会有多种,请按照如下步骤进行检查:
1、初始设置是否全部完成
a、机架类型选择是否正确,或者你根本就没有选择?
注意,新版本的飞控固件在默认参数情况下,需要先在mission planner中设置好机架类型后才会有各个控制通道的输出。
b、加速度计校准(如果没有校准或者上次校准不成功,解锁时姿态窗口会提示);
c、指南针校准(如果没有校准或者上次校准不成功,解锁时姿态窗口会提示);
d、遥控器校准(并且各个通道的正反向正确);
e、飞行模式设置(注意,在PosHold、Loiter模式下,如果GPS没有定位或者定位不佳,是无法解锁的)
f、电调校准(你确定你校准成功了吗?)
2、是否连接了“安全开关”,并解锁。
pixhawk飞控硬件引入了“安全开关”这个外设,飞控默认是使能安全开关的,这就需要你在使用遥控器解锁前先长按安全开关,进行初步解锁,然后再通过遥控器解锁。如果你不想用安全开关,在全部参数列表中将“BRD_SAFETYENABLE”设为“0”即可。(注意,有些参数是立即生效,有的参数是重启生效,建议为稳妥起见,进行一次重新上电 *** 作)
3、会不会是飞控已经解锁了,但是电调并没有工作。
a、会不会是你只给飞控供电了,而没有给电调供电?
b、会不会电调信号线断了?或者信号线插反了?
c、会不会是电调没有校准?
4、会不会打开了地理围栏功能,并且飞机处于地理围栏之外?
二、电台连接缓慢,或者兄拍旁有很大概率连接失败
APM最新版固件很少出现这个问题了,之前的固件与某些电台联合使用的时候会出现这个问题。
原因:全部参数列表中“BRD_SER1_RTSCTS”和“BRD_SER2_RTSCTS”默认是“2”,即“auto 自动”。这个两个参数控制着飞控连接电台的串口是否开启流控制(串口协议里的概念)。0表示不用,1表示用,2表示自动检测。自动检测的原理是飞控初始化的时候先默认是使用,然后收发一些数试试,如果不行,就认为不用,以前的固件这里好像有点bug,导致有时就连不上地面站了。将这两个参数设为0即可。
三、悬停掉高(或者叫定高不好,上下浮动)
定高不好,可能是由以下两个原因造成的:
1、机架震动大,飞控减震没有做到位,导致飞控Z轴加速度出现较大奇异值,从而导致飞控在某些时刻对自身速度、加速度的估计出现错误,明明飞机没有向上走,但是飞控认为飞机在快速向上走,于是控制飞机猛收油门,从而飞机猛地向下掉一下。这类问题导致的定高问题更像是飞机在向上或者向下抽动。
2、气压计受自身螺旋桨气流影响导致高度估计问题。大家一般会在气压计上加一块海绵,但其实对于大飞机这个是不够的羡橡,最好再增加2层遮挡物:一、飞控加外壳,外壳透气孔尽量小一点,如果飞控外壳四面透风就意义不大了;二、将飞控装在机身内部,并且尽量使得机身封闭(一般很难做到完全封闭,从而不影响气压计检测外界气压值),这个可能比第一条还关键。
3、如果是缓慢的高度变化,并且变化范围在0.5m以内,那么,可以认为是正常的,因为飞控对自身高度的估计主要来源于气压高度计,贺败而气压随着气温会缓慢变化,再加上飞控旋翼气流影响以及各种测量噪声,飞控对自己的高度的估计会缓慢变化,从而导致高度控制出现漂移。如果想提高定高效果,只能考虑添加“相对高度计”,如超声波、毫米波雷达、激光测距仪等。
四、定点定不住
定点定不住,可能是由如下原因造成的:
1、确认自己已经成功切到PosHold或者Loiter模式!(你以为你切了,实际上没切,或者由于GPS、磁罗盘等问题飞控拒绝切到定点模式)一定要通过地面站看模式,反复确认;
2、GPS信号差,如果有严重遮挡,GPS定位会出现较大幅度的漂移,进而导致定点定不住;
3、遥控器有偏移值。要么你没有校准遥控器,要么不小心拨动了遥控器微调,要么温度变化导致遥控器自己行程飘了,导致摇杆处于中位时飞控收到的是向一边打杆的控制指令……
4、磁航向不正。磁罗盘没有校准,或者磁罗盘歪了,或者磁罗盘受到干扰,导致飞控对机头方向的估计与实际航向不一致,进而导致位置控制时出现刷锅飞行的情况(飞机机头指向不变,飞行轨迹呈现刷锅的感觉)。
五、刷哪种固件?PX4固件?APM固件?
首先应该明白PixHawk、PX4固件、APM固件三者的关系:
PixHawk指的是飞控硬件,相比之前大多数开源飞控使用的AVR单片机,Pixhawk飞控在硬件性能上有了很大的提升,它采用的STM32F427VIT6作为主控,32位,主频168MHz,可以说是相当的牛逼。
PX4固件和APM固件指的是软件,它们都是运行在PixHawk硬件之上的,是两种不同飞控程序。对于刷哪个固件,请看下面的对比:
1、PX4固件的源代码结构明了,对于学习飞控程序的人来说,可能入手更快一点;相比之下,APM代码略微有点复杂;但是,请注意,这里的复杂是相对而言的,根据我个人的经验来看,APM的代码比我见过的所有自己写的代码(自己写的、项目用的、实验室遗留的)相比,编写规范、命名规则、实现方法都要好非常多。 对于只是使用飞控,而不研究代码的人来讲,PX4固件在这一点上没有优势。
2、APM固件历史悠久,功能更加完善,漏洞更少,飞行更稳定(这里的稳定指的是不会因为程序漏洞导致莫名其妙地摔机);相比之下,PX4固件有点薄弱,有很多坑需要填。 对于一个无人机来讲,能稳定可靠地飞行是第一位的,如果不能稳定可靠地飞行,其余优势都是扯淡。
因此,对于只用飞控不改程序的人,我推荐刷APM固件;而对于需要改程序的人,我也推荐APM固件,但是如果是公司用户,请考虑一下APM固件和PX4固件开源协议的区别,酌情考虑(关于这一点,请注意:不要敝帚自珍,一个无人机公司的竞争优势是全方位的,既然用了开源飞控,即使你加上了自己特有的功能,在飞控代码上也不会比别人强太多。那些不会改飞控代码的竞争对手给他程序他也用不了,那些会改代码的公司也不屑于抄你)。
上述论述可能有失公允,毕竟,我是用APM的人
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)