本帖最后由 kris968658 于 2017-4-29 20:52 编辑
矢量推力控制支持 关键参数: Q_TILT_TYPE=0(一般倾转机型) Q_TILT_TYPE=1(倾翼机型,例如CL-84) Q_TILT_TYPE=2(矢量控制机型)
Q_TILT_YAW_ANGLE=10(矢量控制的最大倾转角度,10=10度.请正确设置, 以免倾转往后时桨去砍到机翼) Servo3(或其它)_FUNCTION=75 (矢量控制-左倾转舵机) Servo4(或其它)_FUNCTION=76(矢量控制-右倾转舵机) 注:以上的左及右,是指人站在载机后方往机头方向看,请勿搞错左右方向!
调参范例(以免尾舵的Y3为例,其它机型同样原理):
Q_ENABLE=1 (启用VTOL) Q_FRAME_CLASS=7(Y型) Q_FRAME_TYPE=1(Y型时,此项不重要,可随便设) Q_TILT_MASK=3(1&2电机,兼固定翼推力电机) Q_TILT_TYPE=2 (矢量控制机型) Q_TILT_YAW_ANGLE=20(矢量控制的最大倾转角度,20=20度.这个按载机不同而不同,请自行调试) Q_TILT_MAX=60 (在这个角度等待空速,空速达到才会倾到底) Q_TILT_RATE_DN=40(向下倾为固定翼,倾转舵机的速度) Q_TILT_RATE_UP=35(向上倾回多轴,倾转舵机的速度) 接下来是mainout1-8的排列,Servo1~Servo14对应mainout 1-8及auxout 1-6,总共14个输出CH可用. 而这14个Servos都可以用 Servon_FUNCTION自己决定用途,范例如下:
Servo1_FUNCTION=77(飞翼-左舵机) Servo2_FUNCTION=78(飞翼-右舵机) Servo3_FUNCTION=75(向量-左舵机) Servo4_FUNCTION=76(向量-右舵机) Servo5_FUNCTION=33(多轴的电机1) Servo6_FUNCTION=34(多轴的电机2) Servo7_FUNCTION=36(多轴的电机4,注:Y型电机编号为1/2/4,而非1/2/3)
而每个Servo可自行设置行程量 SERVOn_MAX=1900(舵机最大角度pwm,以实际量测为准) SERVOn_MIN=1100(舵机最小角度pwm,以实际量测为准) SERVOn_REV=0(0=正向,1为反相)
注:新的固件飞翼及V尾可以直接指定(如上例),不再需要用混控去试半天,直接插上就可以.
注意: 舵机行程与Q_TILT_YAW_ANGLE有关,当油门=0%桨应朝上与机翼水平(可调整SERVO*_MAX或SERVO*_MIN) ,当油门>0%且尾舵打到底,桨不可砍到机翼,如果会砍到机翼则Q_TILT_YAW_ANGLE应缩小(或改变结构).
Q_TILT_YAW_ANGLE角度一旦决定,调大Q_A_RAT_YAW_P跟Q_YAW_RATE_MAX这两个参数要小心,如果调太大,且原本离机翼就很近, 这两个参数调大会放大角度,有可能会往后打到机翼,所以调高后务必地面检查会不会砍到机翼().
要测试倾转角度不需解锁(也千万不要解锁),然后推一点油门再以多轴自稳模式打遥控器尾舵到底,就会发现舵机会左右摆了. 如果Q_VFWD_GAIN=0.1(0=关,范围0.1~0.5)在QLOITER模式推Pitch舵机会同时前倾.
测试视频 ?spm=a2hzp.8244740.userfeed.5!2~5~5~5!3~5~A[/media]
Servon_FUNCTION可以使用的编号如下: https://github.com/ArduPilot/ardupilot/blob/master/libraries/SRV_Channel/SRV_Channel.h
|