各位在使用betaflight固件的穿越机飞控时,相比时常遇到下列情况(反正我有时候会):
0.使用分体电调/四合一电调和飞控不是配套的时候,我发现我的电机编号和飞控中的不一致,是混乱的!
1.啊呀呀我焊接的时候怎么把rx和tx焊接反了啊!(这一条在bf中文wiki中似乎说不行,但是实际上是可行的,如下图为证)
2.我的飞控上串口的数量不够,想要接上更多需要串口的设备!
3.我想要启用舵机,这样我的飞机就可以使用舵机或者舵机云台啦!(虽然我真的想不出来有啥用在穿越机上,不过固定翼玩家肯定会用到的啦!)
如何解决上述令人头大的问题呢?让我们祭出今天的学习内容:betaflight资源重新映射!
Io重映射可以让你配置mcu上的引脚,使其适用于各种功能。
在betaflight的cli命令行里可以进行重映射(调参前记得卸桨!!!):
BETAFLIGHT CLI然后接下来就是重要的resource命令了:
resource [function name] [index] [pin]
(退出前记得输入save命令)
save
看到这里,你肯定是一头雾水
啥子玩意,连个例程都没有是吧(例程来了,别打我
E.G. 0.重新映射电机
场景:我使用了分体电调/不配套的四合一电调/电调维修之后电机顺序乱了,又懒得拆开焊接
首先假设你的一号电机和二号电机(m1与m2)顺序乱了,需要将m1与m2对调
首先在cli中输入
resource list
然后飞控会给出引脚反馈(下为举例,具体输出内容依飞控决定)
...A06: MOTOR 1A07: MOTOR 2A11: MOTOR 3A12: MOTOR 4...
呐,这个时候我们知道:A06引脚是映射到m1上的,A07是映射到m2上的
显而易见,交换两个电机映射,把m1映射到A07,m2映射到A06上就行了。
resource motor 1 a7resource motor 2 a6
最后别忘了在cli中保存
save
E.G.1.交换rx、tx端口
假设rx2是sbus接收机信号输入,但是我把sbus引线焊在tx上了(这点错你怎么翻的出来?接收机一届一届一届换了多少个了!):
假如我们已经知道rx2对应a10引脚,tx2对应a11引脚,
显而易见,将rx2映射到a11,tx2映射到a10上就行了
resource serial_rx 2 a11resource serial_tx 2 a10save
E.G. 2.拓展更多串口,使飞机接上更多外设(如GPS,大疆天空端等)/拓展出舵机接口
假设我的飞控板上有rx1-rx5,tx1-tx5,但是我都塞满了各种传感器(宁这超重了是吧),我还想加一个rx6和tx6用于添加其他外设(该减肥了啊喂):
飞控板上面可能有两个很好的扩展串口的选项:
LED_STRIP(连接ws2812 LED灯,咱不需要这个花哨玩意儿对吧) 和 PPM(连接PPM接收机,老古董了,毕竟延时属实太高了)
ok,此刻你通过resource list命令发现(当然具体看你飞控而定),LED_STRIP映射在a12上,PPM映射在a13上。你灵机一动:把a13映射成rx6,a12映射成tx6(是吧大聪明)
然后看完了前两个例程的你很熟练的掏出了大宝贝,啊不对是resource命令:
resource serial_rx 6 a13resource serial_tx 6 a12save
然后你那超载的小飞机就有了继续挂在外设超载的机会(bushi)
同理,你可以把serial_rx和serial_tx改成servo,以接上舵机:
resource servo 1 a13resource servo 2 a12save
文章的最后,附上一张来自betaflight中文wiki的资源重新定向参考图:
最后祝各位少炸机,不丢机,次次都能爽飞!
参考文献:
betaflight中文wiki 资源重新映射