本帖最后由 liwenjie135 于 2013-11-24 16:33 编辑
liwenjie135 发表于 2013-11-24 14:53
航灯用的是4元钱一条的玩意,加上灯控,2条灯共用一个灯控,另外说明一点,不建议用动力电池给灯供电, ...
硬件方面基本吹完了,下面吹一下杯具的调试经历。 飞控原来的固件NN的坑爹,默认参数一点油门就像火箭一样冒,死活搞不定,换小桨也不行……摔了无数次了,只能把PID归零重头调起。PID都调的很小才勉强飞起来……折腾了半个多月了……不过还是不稳定的,无聊的时候把飞控板子加固了,结果好了不少啊,开始只用一点泡棉胶把飞控固定,四个角是悬空,把四个角加泡棉胶固定,再用热熔胶固定,板子已经很牢固了。飞不好的兄弟,大可检查一下板子是否松动…… 上GPS,当时是小白以为贵的有外壳的就牛逼……结果被坑了,GPS死活不与MWC通讯……折腾了半天GUI还是木有GPS的反应……飞了一次,3,4层楼自由落体……草断2个机臂,2个桨,5毫米桨坐基本草弯,电机轴承出问题,一个电机一组线圈烧掉……无奈之下尝试刷固件……刷了2.2的,默认PID也能飞,后来经过一段时间的调试,飞的比较稳定了。 刷了2.2固件,GPS可以与飞控通讯了,不过杯具的事情又来了。一开GPS就乱飞炸鸡,高速回航草地上……不管怎么调PID都是不行的。GPS为有外壳的HAPPY MODLE 字样UBLOX GPS 38400波特率,刷新率不知,自己是无法通过FTDI修改波特率的……太坑爹了,卖家不但提供不了解决方案,一口咬定GPS没问题,说炸鸡是正常,真的无语了。折腾了半个月还是不行,只能放弃。无意中得到热心模友BB超以及热心卖家陈水荣的指点,使用115200波特率,5HZ刷新率的模块。不过接上模块也是一样的杯具啊……一样是一个劲的乱跑。为啥别人可以,偶就不行??一样的模块……在荣哥的指点下仔细检查MAG代码,磁偏角正常……就是MAG的方向错了,X,Y,Z搞错了……我想GPS乱跑的兄弟大可检查自己代码的传感器方向是否正确,GPS波特率和刷新率可以尝试改为115200和5HZ。 官网的方向说明:How should be the sensor axis directions TILT the MULTI to the RIGHT (left side up): •MAG_ROLL, ACC_ROLL and GYRO_ROLL goes up •MAG_Z and ACC_Z goes down TILT the MULTI forward (tail up): •MAG_PITCH, ACC_PITCH and GYRO_PITCH goes up •MAG_Z and ACC_Z goes down 转动灰机的时候,GUI的灰机模型图的绿色指针以及磁场白色指针要与实物转动一致 我把MAG改对了,把灰机头转动到白色指针与N极重合时,MAG的ROLL数值就约等于设置的磁偏角。定位和返航成功,PID也调了一下,效果可以,漂移范围很小,2米左右,大风条件下木有测试过…… 超声波模块也尝试加了,15元钱的模块,代码在网上找到一个可以用的,不过不是再2.2上修改来的,是老版固件修改来的,我把修改的地方找出来,在2.2固件上修改,让2.2也可以用超声波,刷进去后,ATT显示的是超声波测到的距离,不动灰机是一条水平线,不像气压计是弯弯曲曲的……不过效果不理想,上下浮动幅度很大……调了半天感觉还不如气压的好……干脆不用了……刷回木有超声的代码。 实测的一些情况:电池使用KUDIAN 2600毫安时 20C比较好,210克,DUPU 3300 毫安时 20C效果不理想,电池太重了,260多克,KUDIAN的电池质量不错的,就是插头不行,可以自己换,不过要注意安全以防短路。螺旋桨用8045的裸机也飞不了多久,用1047的裸机飞行时间有10分钟多一点(3.6V报警)。全副武装(图传+图传电池7.4V 1000毫安时 20C+山狗+云台)实测7分30秒左右,换了1147桨实测7分40多秒,1147桨效率要高一点,看着也霸气,就是ATG的1147颜色只有灰色。 下面是一些代码: Combined IMU Boards 这一项要是不知道自己板子该选哪个可以不选,从下面的传感器代码选择,一般容易知道自己板子用的是什么传感器,型号一般有说明的。开启内部12C接口, #define INTERNAL_I2C_PULLUPS #define MPU6050 //combo + ACC #define MS561101BA #define HMC5883 (根据自己板子选择,Combined IMU Boards 这里可以跟下面的一起选,前提是要选对) 传感器方向,根据GUI的数值实际自己改到正确为止: /* enforce your individual sensor orientation - even overrides board specific defaults */ #define FORCE_ACC_ORIENTATION(X, Y, Z) {accADC[ROLL] = -X; accADC[PITCH] = -Y; accADC[YAW] = Z;} #define FORCE_GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] = Y; gyroADC[PITCH] = -X; gyroADC[YAW] = -Z;} #define FORCE_MAG_ORIENTATION(X, Y, Z) {magADC[ROLL] = Y; magADC[PITCH] = -X; magADC[YAW] = Z;} 云台增稳: #define SERVO_TILT #define TILT_PITCH_MIN 1020 //servo travel min, don't set it below 1020 #define TILT_PITCH_MAX 2000 //servo travel max, max value=2000 #define TILT_PITCH_MIDDLE 1500 //servo neutral value #define TILT_PITCH_PROP 10 //servo proportional (tied to angle) ; can be negative to invert movement #define TILT_PITCH_AUX_CH AUX3 //AUX channel to overwrite CAM pitch (AUX1-AUX4), comment to disable manual input and free the AUX channel #define TILT_ROLL_MIN 1020 #define TILT_ROLL_MAX 2000 #define TILT_ROLL_MIDDLE 1500 #define TILT_ROLL_PROP -10 #define TILT_ROLL_AUX_CH AUX4 //AUX channel to overwrite CAM Roll (AUX1-AUX4), comment to disable manual input and free the AUX channel 增稳方向要是不对头,修改 PITCH_PROP 和 ROLL_PROP 的正负号即可 开启增稳后,接通电源前必须插上2个云台舵机,偶的情况是,代码了开通增稳,不接舵机,飞机无法正常工作…… 串口波特率,根据实际自己改(偶的蓝牙模块是115200): /* This is the speed of the serial interfaces */ #define SERIAL0_COM_SPEED 115200 #define SERIAL1_COM_SPEED 38400 #define SERIAL2_COM_SPEED 115200 #define SERIAL3_COM_SPEED 115200 陀螺仪滤波:#define MPU6050_LPF_42HZ 根据个人习惯修改,默认40: #define AP_MODE 45 // Create a deadspan for GPS. 摇杆死区域,根据个人习惯修改:#define DEADBAND 6 定高油门死区域,同样根据个人习惯修改:#define ALT_HOLD_THROTTLE_NEUTRAL_ZONE 45 磁偏角,这个对定位比较关键,自己根据实际计算出当地磁偏角再修改:#define MAG_DECLINIATION -2.58f 下面为小弟GUI参数图,仅供参考。目前GPS的PID不是图上的,图上的效果不好,后来经过调试,日后附上GPS的PID。
|