5iMX宗旨:分享遥控模型兴趣爱好

5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)-[成都艾麦克斯科技有限公司]

SP Racing F3 直机固件和使用方法

作者:roland-c


F3飞控飞穿越机大家可能比较熟悉,但是有想过用F3飞控来玩直机吗!?5iMX模友“roland-c”将原本不支持直机的betaflight固件重新编辑之后,在固件里加入了ccpm(120度)的混控,终于让直机也能用上F3飞空了,感兴趣的小伙伴快下载试试吧!

代码在这里,供参考:github.com/RolandChen/betaflight-Heli_120-NOT_TESTED
改动的主要部分在 github.com/RolandChen/betaflight-Heli_120-NOT_TESTED/tree/master/src/main/flight 下面的servos.c和mixer.c两个文件里。总体来说,cf/bf固件的混控自由度还是比较好的。

固件下载地址:


直接用Betaflight调参软件,load local firmware 下载进去即开始运行。
NAZE32和CC3D(STM32F1系列)暂不支持,要改动的地方比较多。

使用说明:

首先是接线:
MOTOR 1 接一个副翼舵机
MOTOR 2 接另一个副翼舵机,
MOTOR 3 接升降舵机
MOTOR 4 尾舵(默认宽频,窄频没测试过,似乎可以调节)
MOTOR 5 留空
MOTOR 6 接电调

然后,刷入固件之后,进入betaflight的调参界面。

无论如何,先拆掉大小桨!!!

第一步,请确保cf给电调的信号是PWM!

[attach]3490689[/attach]
非BLHeli电调是不会支持有刷/Oneshot/Dshot之类的信号。然后,首页其他的设置和穿越类似。不进行其他设置,我暂时没看出其他问题。

第二步,检查舵机的输出是否存在

[attach]3490690[/attach]
方法:摇晃飞机,Servos中的1-4数值会在摇晃过程中发生变化。如果油门=0或者没接遥控的话,停止摇晃后数值会回中(1500)。如果数值不变,那么固件或者飞控有问题,无法进行后续操作,请直接跟帖回复。

第三步,给飞控接上接收机,并且在Receiver选项卡中检查中立点是否为1500。

这里的步骤我就不解释了,和穿越完全一样。Betaflight不能校准遥控器,因此只能自行调整微调/辅助微调来调节中立点。由于积分效应(和陀螺仪相同),错误的中立点会导致飞机起飞前即翻!

第四步,舵机中立点和循环螺距调整

[attach]3490695[/attach]
以上从左到右:
MID是舵机中点。请设置到舵臂垂直于舵机。MIN是舵机最小值,MAX是舵机最大值。以不发生干涉为准,轻微偏差不会有影响。CH1-A8在Betaflight中无效。(Betaflight改变舵机引脚分配必须进CLI,用resource命令修改。)Direction and Rate: 舵机运动增益和反向。

Rate指的是舵机的运动幅度,因此利用Rate来调循环螺距。如果十字盘舵机行程一致,那么十字盘的三个舵机Rate绝对值相等。如果不一致,则需要分开调,保证十字盘始终保持水平。

测量循环螺距的方法:遥控器打死副翼或升降摇杆,读取螺距尺上的读数。(增益是负数->舵机反向)

不同于其他陀螺仪,在cf/bf固件中一旦确定一个Rate值(比如10度的循环螺距),就不要再改变,否则PID要重调。升降和副翼的循环螺距可能有些不等,可能是因为F3固件没有"几何校正"。由于最后的PID的升降和副翼是分开调的,因此不影响。(目前我测试的时候用了8-10度,欢迎更多测试。)循环螺距无论如何,理论上只是相当于一个PID外面的系数,因此不影响飞行,但影响飞行的PID。尾舵的Rate我设置成100%。

第五步:PID设置

理论上来说,确定了一个固定的循环螺距之后,各种飞机的起始参数也就确定了。由于起始参数因飞机不同而不同,因此希望大家能多提供一些PID结果,我能知道默认值的大概位置。
调试方法和穿越相同。为了防止炸鸡,首次调试的时候请把副翼设置成P=15, I=15,升降P设置成20, I=20,尾舵P设置成40。一般来说这个参数明显偏低,比较难飞(舵量很小很小,飞机很飘),但至少不会起飞炸。我测试的结果,升降和副翼用默认参数,起飞基本上要炸。。。

[attach]3490706[/attach]
这一部分以后我要更新。

第六步:滤波调节

[attach]3490708[/attach]

[attach]3490709[/attach]
直机震动比穿越大太多,因此开动态滤波,截止频率也降得很低。这部分的最佳参数因机而异,欢迎各种测试。可以先按照我的参数设置。

第七步(最后一步):给出解锁区间。

[attach]3490710[/attach]
遥控上相应设置油门和飞控的解锁开关(建议设置成同一个)。


最后,装桨,准备起飞。帖子可能写的不够详细,因此如果有疑问请跟帖提问。

2018年5月9日更新到3.4:ROLL两个舵机定义对调。

自己改的(3.2->3.4):
1、恢复了官方删掉的yaw_d。使用CLI调参。这个参数可以抑制锁尾回弹
2、自稳的 I 强制=0,用作测试重心,或者起飞。
3、半自稳改成自稳,用作救机。
4、取消了官方熄火/上锁后 I 强制=0的设置,用于熄火降落。

官方改的(3.2->3.4):
1、自旋修正 (命令行 Iterm_rotation 设置成ON)
2、Iterm_limit,即积分数值限制。防止起飞侧翻的重要数值,命令行里调节。

已知BUG:
在SPRacingF3上,油门数值需要设置成80~160us,粗略对应实际输出的1000~2000ms。暂时不清楚发生原因。

业界快讯 More

  • 活动 
  • 精华 
More

阅读排行 More

关闭

【站内推荐】上一条 /1 下一条

返回顶部