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

5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)
查看: 12161|回复: 77
打印 上一主题 下一主题

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

  [复制链接]
跳转到指定楼层
楼主
发表于 2017-9-19 18:40 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 roland-c 于 2018-5-9 15:13 编辑

2018.5.9 版本更新到3.4,由于lz没时间测试,不再更新

原本的betaflight固件没有直机ccpm混控,因此我在固件里加入了ccpm(120度)的混控,编译之后发在这里。
代码在这里,供参考: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_3.4.0_SPRACINGF3.hex   
百度云附件:betaflight_3.4.0_SPRACINGF3EVO.hex   
百度云附件:betaflight_3.2.0_Heli_SPRACINGF3EVO.hex   
百度云附件:betaflight_3.2.0_Heli_SPRACINGF3.hex   
直接用Betaflight调参软件,load local firmware 下载进去即开始运行。
NAZE32和CC3D(STM32F1系列)暂不支持,要改动的地方比较多。

使用说明:
首先是接线:(和我上一个帖子中有不同)
MOTOR 1 接一个副翼舵机
MOTOR 2 接另一个副翼舵机,
MOTOR 3 接升降舵机
MOTOR 4 尾舵(默认宽频,窄频没测试过,似乎可以调节)
MOTOR 5 留空
MOTOR 6 接电调

然后,刷入固件之后,进入betaflight的调参界面。无论如何,先拆掉大小桨!!!

第一步,请确保cf给电调的信号是PWM!
非BLHeli电调是不会支持有刷/Oneshot/Dshot之类的信号

然后,首页其他的设置和穿越类似。不进行其他设置,我暂时没看出其他问题。

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


第三步,给飞控接上接收机,并且在Receiver选项卡中检查中立点是否为1500。
这里的步骤我就不解释了,和穿越完全一样。Betaflight不能校准遥控器,因此只能自行调整微调/辅助微调来调节中立点。由于积分效应(和陀螺仪相同),错误的中立点会导致飞机起飞前即翻!

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

以上从左到右:
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。一般来说这个参数明显偏低,比较难飞(舵量很小很小,飞机很飘),但至少不会起飞炸。我测试的结果,升降和副翼用默认参数,起飞基本上要炸。。。

这一部分以后我要更新。



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



第七步(最后一步):给出解锁区间。
遥控上相应设置油门和飞控的解锁开关(建议设置成同一个)。


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






欢迎继续阅读楼主其他信息

沙发
 楼主| 发表于 2017-9-19 18:41 | 只看该作者
本帖最后由 roland-c 于 2018-5-9 15:10 编辑

18.5.9:ROLL两个舵机定义对调。停止更新
百度云附件:betaflight_3.4.0_SPRACINGF3EVO.hex等   

自己改的(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。暂时不清楚发生原因。。。

3
发表于 2017-9-19 18:57 | 只看该作者
強力插樓推

有沒有辦法弄螺距/尾舵補償?
4
 楼主| 发表于 2017-9-19 19:09 | 只看该作者
johnniechang 发表于 2017-9-19 18:57
強力插樓推

有沒有辦法弄螺距/尾舵補償?

负螺距的时候尾舵也是正的吧...我暂时还没想出bf里怎么实现舵机以"绝对值"运行,正螺距正补偿,负螺距还得正补偿...



5
发表于 2017-9-19 19:10 | 只看该作者
强力支持楼主分享F3直机飞法!
6
发表于 2017-9-19 19:10 | 只看该作者
roland-c 发表于 2017-9-19 19:09
负螺距的时候尾舵也是正的吧...我暂时还没想出bf里怎么实现舵机以"绝对值"运行,正螺距正补偿,负螺距还 ...

这一点pix固件就要相对完善得多!

7
发表于 2017-9-19 19:26 | 只看该作者
技术贴,帮顶
来自安卓客户端来自安卓客户端
8
发表于 2017-9-19 23:46 | 只看该作者
666,不过手里已经没有直机了
来自安卓客户端来自安卓客户端
9
发表于 2017-9-20 15:30 | 只看该作者
666马上去买f3
来自苹果客户端来自苹果客户端
10
发表于 2017-9-20 15:46 | 只看该作者
技术贴,一定要顶.
11
发表于 2017-9-24 13:32 | 只看该作者
感谢提供,稍后学习。。。
12
发表于 2017-9-25 09:51 | 只看该作者
顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
13
发表于 2017-12-21 15:59 | 只看该作者
学习这个得研究研究
来自苹果客户端来自苹果客户端
14
发表于 2017-12-22 00:54 | 只看该作者
f3飞直机应该不错。
15
发表于 2017-12-22 18:33 | 只看该作者
lz,666666666666666666,顶上去让更多人看到
16
发表于 2017-12-23 00:20 | 只看该作者
原来直机也可以用飞控
来自苹果客户端来自苹果客户端
17
发表于 2017-12-27 13:22 | 只看该作者
这个飞控对振动很敏感吧?我用cc3d飞直升机,起飞的时候会侧翻,振动引起的
来自安卓客户端来自安卓客户端
18
 楼主| 发表于 2017-12-27 17:30 | 只看该作者
event 发表于 2017-12-27 13:22
这个飞控对振动很敏感吧?我用cc3d飞直升机,起飞的时候会侧翻,振动引起的

我实验中似乎振动影响几乎没有,也不会侧翻,不过几个滤波器参数要调好。(主要是低通滤波器的截止频率要调低)

spF3的滤波能力还是不错的,桨不平的四轴飞起来不会侧翻(只是手感烂一点)。

19
发表于 2017-12-27 20:10 | 只看该作者
roland-c 发表于 2017-12-27 17:30
我实验中似乎振动影响几乎没有,也不会侧翻,不过几个滤波器参数要调好。(主要是低通滤波器的截止频率要 ...

我的地平线180飞机有救了
来自安卓客户端来自安卓客户端
20
发表于 2017-12-30 23:26 | 只看该作者
楼主,你好,我手头有一块f4飞控,你的固件无法安装,如何编译成f4支持的飞控?谢谢。
这些代码应该如何编译?有没有相关的资料,希望能看一下
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

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

快速回复 返回顶部 返回列表