Deprecated: htmlspecialchars(): Passing null to parameter #1 ($string) of type string is deprecated in /home/public/var/Widget/Archive.php on line 1057

Ardupilot Copter 4.1.5 firmware for BetaflightF4 controller

August 8, 2022 分类:FPV

Visit here for the latest: https://github.com/hulandy/hulandy.github.io/releases

=============

Updated on 2022.08.13

Today I've compiled another 4.1.5 copter firmware for this board. It contains 6 PWM output, PA0 pin (CAM or TM pin depends on varieties) is for the PWM5, LED pin is the PWM6, thus adding a super low cost sonar on it to incorporate with optic flow is possible now. The other functionality maintains the same. If you attach a MS5611 module on it, then you don't need to do anything in order to make it working. In theory, you can use a different barometer like BMP280 then you set it as an external module (In this case, set BARO_PROBE_EXT to 2, after reboot you'll be able to check the "press_abs" and "press_temp" in Status).

My setup : MS5611 module, GL9306 optic flow, GY-US42v2 Sonar works in PWM mode, 5883L compass. It works great~ Test flight footage and the firmware below :
Testflight

Firmware

=====================================================================================
I just compiled two firmware for the old target betaflightf4 controller (Initially created by BorisB and FpvModel), I believe that iFlight SucceX-E and LDARC-KKT30D are both using the same target. There has no Baro on the board.

One of the firmware is for external Baro -BMP280 bff428_with_bl.zip and another is for MS56XX bff456_with_bl.zip.

There is also a slightly different between these two firmware, that is MS56XX one has PA0 pin (TM or Cam control) for PWM 5 but hopefully it will work.

Common function: The default USART3 is I2C, you can set BRD_ALT_CONFIG=1 to use it as a normal USART (most unlikely, somehow if you don’t attach a baro on it, “speed” goes crazy, I’m an AP noob, tell me if you know what is going on in this case). By default, B08 is the RCin, on LDARC KK30D is PPM pin.

I haven't flight it yet, but it supposed to be fine. Just for test purposes only.

Use iNav configurator to flash it, newer Betaflight configurator doesn't work.
Since STM32 use rom for bootloader so you won't brick it.

编译Ardupilot会遇到的坑

August 5, 2022 分类:FPV

使用WINDOWS11,WSL2 - ubuntu22.04进行编译。

需要安装Virtual Machine Platform和Windows Subsystem for Linux两个模块。当然还要打开bios的cpu虚拟化。

编译需要在非root下执行,所以建立新的用户 adduser 然后再赋予sudo组: usermod -a -G 可能我的ubuntu安装步骤不完整,理论上应该提示创建不需要手动。

使用git克隆项目。

编译环境按手册搭建好之后默认在master分支下,趁机编译bootloader(其它的版本比如Copter4.1.5编译会出错)如果你已经切换至其它tag那么需要回来编译bootloader: git branch, git checkout master

更新submodule: git submodule update --init --recursive --force
有时候需要git submodule update --remote --merge
开始编译:
./waf distclean
./waf configure --board yourboard --bootloader
./waf clean
./waf bootloader

使用自动配置环境有时下载C编译器会失败,配置waf时提示没有编译器,重新执行自动配置并不能识别这个错误,需手动重新下载。

复制并改名Ap_bootloader.bin至Tools/bootloader 为 yourboard_bl.bin
切换至目标tag, 如:

git checkout tags/Copter-4.1.5

git submodule update --init --recursive

./waf distclean
./waf configure --board yourboard
./waf copter

如遇错误可能是网络的问题,需要确认你的文件完整,更新也没有报错。

如何用F4飞控玩ardupilot固件

July 31, 2022 分类:FPV

一直在飞5寸穿越机,也较浅层面地体验了固定翼,在一套5块钱的7寸桨的驱动下(滑稽),终于决定组个所谓的“长航时”7寸机。最初目的非常简单,就是能自动回家,用来测试我的接收机的性能。

omnibus F4不是专门的Ardupilot硬件,但代码是原汁原味的。相信很多人都已经体验过了。记录一下折腾的过程,算是方便自己和他人~ 由于只是粗略接触,细节会缓慢补充。大多设置和解释都以官方文档为参考。如果你不想看我的山寨文,可以直接参考官方文档或CUAV的中文文档:https://doc.cuav.net/tutorial/copter/

做了简单的研究,加上之前的一点印象,了解如下,可能有错误和偏见(本文涉及内容全部基于多旋翼Copter系列,因为Ardupilot是多才多艺的控制系统还可用来控制其它载具如固定翼、车、船等):
Ardupilot和PX4项目的选择和区别:前者似乎有着更好的飞行性能,操作系统为高效的实时系统(RTOS)--ChibiOS,算法从简易惯性导航inav到目前最新的扩展卡尔曼滤波3代的过度,有着非常成熟的飞行性能,每一版稳定版的发布都经历了飞行性能验证。PX4,前者的孪生兄弟,基于BSD创作协议,企业完全可以利用其代码开发自己的产品且不需要向公众开源。故其主要面向开发者和学习者。据说,其代码会在短短几天内更新发布版本,在Ardupilot用户看来,可能没有时间经历过足够多的飞行验证。简单说就是,你要是用来飞的就选Ardupilot,你要是用来学习和创作,就选PX4。

地面站的选择,选全功能的MissionPlanner(以下简称MP),而Apm Planner更像是一个轻量化的多平台版本。

然后来到Ardupilot的copter固件版本选择,最新版是4.2.2,固件下载网址:firmware.ardupilot.org 而由于我用的飞控是飞蝶F4,STM32 F405系列由于只有1M的ROM(最低要求),功能受限,建议的固件是4.1的最后一个版本,我个人测试4.2版本似乎去掉了对光流的支持,所以就让我们暂时留在4.1.5,Copter4.1的最后一个版本,固定翼是4.1.6。 而如果你还没有或打算买新的飞控,则可以选择更高规格的飞控。或者你不想要太多额外功能,也可以用最新版本固件(待核实)。注意,你的飞控最好在固件下载列表里。(更新:最新版固件目前也没有发现什么问题,而且加入了msp_display)

在飞碟F4上刷固件很顺利,因为它的目标明确-OMNIBUS F4相同固件(如果你的飞控不在这个固件下载列表里就只能自己编译了),设置和参考都按它(Omnibus F4)来就行。需要特别设置的也就是电流电压计的参数,串口的搭配参数(是否保留I2C端口或改为普通UART端口)。我见过论坛上的教程是用STM32的专用程序来刷,官方也有相应介绍。但是太麻烦了,懒人还是用最方便可靠的办法。首先下载xx_BL格式的固件(固件排序并没有严格按字母顺序,按ctrl+F查找下),(apj是MP地面站可以识别的格式,第一次刷AP固件需要带有BOOTLOADER的inav地面站可惜识别的hex格式)打开inav地面站的固件更新(BF地面站不行,大概修改了验证逻辑~)和刷BF本地固件一样,加载arducopter_with_bl.hex 开刷就好了。最后断开连接重插一次,这次就可以用MP地面站连接了。
第一件事儿你想做的应该是熟悉下MP的界面,它的菜单栏有六个项目,DATA,PLAN,SETUP,CONFIG,SIMULATION,HELP。我们要做设置的地方全部在SETUP和CONFIG这两项。接下来建议首先打开BLHELI PASSTHROUGH,这样才能连接电调的调参软件。点CONFIG菜单,再点开完整参数树FullParameterTree,飞控的所有参数应该都在这里了。最右侧菜单有刷新和保存参数等按钮,在搜索栏输入“ SERVO_BLH_AUTO” ,在出现的窗口把数值改成1,然后右侧写入参数。如果让它立刻生效需要重新连接一下飞控。这里的参数最好养成定时备份的习惯。

现在配置一下各个外设的端口及其参数,让它们先被识别,比如遥控接收机、GPS和罗盘,如果你有其它传感器也一并设置完成,就可以进行进一步的设置了。官方文档有针对OMNIBUSF4的端口说明https://ardupilot.org/copter/docs/common-omnibusf4pro.html,我使用SBUS接收机,先焊接到PPM-(原版标注的rcin)针脚上,飞碟f4无需短接跳线实际上我也没看见有,原版上需要短接ppm端。原先的sbus端和板子上uart6是直接连通的,在固件的原始参数里UART6(AP对应Serial3)已经被配置为反相器关闭,所以你可以用它连接GPS信号,然后修改Serial3的协议为5(比如GPS,protocol 改成5),这时没有意外GPS就被识别了;GPS带的罗盘连接板子上的Uart3(默认配置为I2C),罗盘也工作了。如果你是CRSF接收机可以连接到uart1,对应的AP固件配置也刚好是Serial1,配置协议protocol 23,就应该工作了。按文档BRD_ALT_CONFIG还可以进行其它特殊端口配置,开启额外的uart4等等.

外设全部工作后,点击SETUP选择机架类型,四旋翼,X4。然后进行传感器的校准,包括陀螺6面校准和简易找平校准。再依次向下走电调校准(我没有使用ESC_CALIBRATION参数),接收机通道校准。

电压电流计参数:BATT_VOLT_PIN 12

BATT_CURR_PIN 11

BATT_VOLT_MULT 11.0

BATT_AMP_PERVLT 38.0

设置飞行模式,如果常规遥控器的两位三位拨杆不够用,还可以用参数树进行其它通道的飞行模式增加。在对应的RC通道数内设置功能。

然后是Failsafe验证,按官方文档关控,油门值没有变化。但DATA页面的OSD已经显示触发了接收机失控保护。设置油门失控检测PWM值比你的遥控器油门值少10左右。

确定参数树里配置飞行器为X型四轴模式(Frame项目,class和type参数1)。一旦设置好上面的参数,Initial Parameter Setup就会出现,这是一个向导。接电池进行电机序号和方向校准,如果有反转可以连接BLHELI地面站进行更改。顺便检查发现电压电流检测正常。这时就可以走向导,进行第一次试飞前的最后自动参数配置。

现在可以修改OSD的显示内容和位置。

可以在起飞检查里去掉不需要的约束,比如不用等gps锁定解锁,方法是反向的,也就是需要去掉all,只开启几个你需要的硬件和参数检查。

参考DATA屏幕最后验证各个开关的功能,没有问题的话,开始第一次试飞吧。

如果是穿越机,pid一般过高,需要拉到低一半的位置。接下来的进阶调试就需要一点耐心了。改天再写。

一些错误更新

October 23, 2021 分类:FPV

之前信誓旦旦地说F4电调很牛逼,但尴尬的是目前HOLYBRO的F4有些小BUG,我没有深入了解,因为目前不想用BL电调,但信息应该无误。所以已经入手的同学可能大概也许会遇到一些小问题。表示歉意。 希望开发者能尽快通过更新固件解决。另外从我之前收集到的一些信息看,比如某些厂商会要求在固件选项上锁定电调的响应频率,最低就只能选择48KHZ,而有的用户通过github请求开发者提供更低的24Khz响应频率的固件,不仅得到了满足,而且反馈结果很不错。一味地追求高频率并不总是能得到好的结果,有时会遇到和电机的兼容性问题,比如电机的磁力过大KV值同时不够高时。

还有关于睿思凯RACE MODE的问题。我说到如果你使用睿思凯自家的支持RACE MODE的接收机,你甚至不需要使用最新的ELRS或者TRACER或GHOST的低延迟模式。我自己在多次验证后发现,延迟是没有问题的,但是遭遇了一次近距离失控(O_O)。当时我和飞机的距离大约在80米之内,中间有低矮的植物和几棵树,飞机距离地面低于1米的距离,失控。接收机是ARCHER RS,RACE MODE开启。天线固定方式是模仿Steele的固定方式。 我还没有搞清楚怎么回事,望知悉~

再说说图传的问题。模拟图传我觉得很长时间不玩就会很想,没办法彻底放弃。而大疆数字图传的延迟它确实就在那儿,你没有办法完全无视它,你可以尽情地FPV,特别是用我5寸机改的4寸WHOOP,用大疆数字飞行也是一种享受。唯一的问题是,有很多时候飞行受到明显限制,不能完全像模拟图传那样操作,尽管你能用它做到绝大多数的操作。而说到我之前不建议新手接触的肥鲨高清,也就是现在主要称呼的HD-ZERO,我现在真的很有兴趣尝试它,话说目前接收价格很不错。只是还想等下肥鲨的专用OLED高清版眼镜。从很多手动更换玻璃镜头的DVR看,效果还是非常不错的,目前的问题是无线链路可能还有进步空间。我不知道如果HDZERO换用更高帧速的摄像头会不会进一步降低延迟。它在设计之初就是无缓存的超低延迟设计。对于常常只在近处飞行的我,应该不成问题。装在小型机和微型机上也会明显比大疆数字更轻。从第三者的角度看,大疆数字系统更像是一个完善的商业产品。

还有最近的FCFC ULTRA飞控,本来Alex甩了链接后我就去拍了一个,等了一天后卖家终于出现,但居然要临时起价,想想Alex当初的做法,真实天壤之别(首发时网页错误导致超卖了库存,没有货发给已经付款的顾客,然后退款,并待有货后免费赠送)~ 退了,不是特别急于尝试它。Fettec的G4看起来也不错,以及新出的35A AIO飞控,总算看起来就比之前那个设计蹩脚的15A好得多。

FPV入门需要的准备工作

September 6, 2021 分类:FPV

我们再来回顾一下之前说过的核心内容。如果你只是想大概体验一下FPV,你不必花费太多,也许BETAFPV新出的新手套件就足够了,它能定高定点悬停,非常小,在你的床上就能飞。但如果你想成为MCK那样的高手,你就最好有更多的准备。当然,多数人可能是介于这二者之间的,只是有的人更热情,有的人会有更多重要的事要做,因人而异。比如我的收入只有3000,但我愿意投入至少1500以上购买FPV设备;而有的人收入3万,也只想花1000块购买FPV设备。
所有的设备都不求顶级,但一定要够用。而有些设备,最好从一开始就上最好的,比如FPV眼镜和一台趁手的电烙铁。从来没有好好地码过字,也没读过几本书,仅仅从个人经验,尽量有条理地整理一下我们需要用到的设备。

尽早飞起来,就必然需要一个遥控器。价格从低到高: Jumper T-lite,单协议就够了,有特殊需求除外。睿思凯X9-LITE,以及X9-LITE S,QX7,QX7S,X9D。这里注意,睿思凯的控最好都选择ACCESS协议的,ACCST不推荐,该过去的就让它过去吧时代总要进步。ACCST还会让你在扩展高频头的时候遇到一些小麻烦,况且ACCESS这个东西真的不错,商家的行为就不探讨了,没办法,有点能耐都会这样。至于JUMPER和radiomaster的大控,如果你喜欢也是可以的,但你最好买额外的高频头。而使用ACCESS,你真的可以试下原厂接收机(近处练习够用)。黑羊和ETHIX你也可以选择,如果你喜欢。它们都没有问题。至于其它品牌,我就没发现有什么亮点。

有了遥控器,你可以来个模拟器,买正版吧,DRL的赛事都会从模拟器上选拔。velocidrone的手感也很棒。其实steam上的模拟器我都有,可以从这两个选一个。然后你就可以练起来了。哦,如果你还不会目视飞四轴,就找个凤凰模拟器练习,当然你应该还需要加密狗那种设备。

工具从烙铁说起,早先用过很多从本地杂货店购买的60W烙铁,因为平时修一下小东西会用得到。而接触FPV后发现这种烙铁根本没办法用,它最多能焊一下飞控上的线,如果焊接电机线,极有可能造成虚焊,焊点也奇丑无比,更不用说每次要等到永远烙铁才热起来。试过黄花烙铁,没有试过T系列的长头烙铁,据说也不错。我是直接选择了FX888,小巧好用,升温迅速,烙铁头可以很方便地更换,开始用原装的,现在用2块钱一个的,也很好用,300度以内比较不容易把烙铁头弄坏。记得有一次忘记关,开了一晚上。至今已经5年了,依然好用,它从不会给你找任何麻烦。正品价格应该在400-500RMB这样,如果你觉得贵,或许可以试一下国产的936,或者T长头系列,取决于你的选择了。还有一款外场烙铁值得推荐,那就是TS100,很多圈内人士在用。焊锡丝也同样重要,记得不要购买便宜的杂牌,至少也得是香港维修佬。顺便把使用注意事项提前说一下,有时候焊电调线时会产生一些小锡球,它们非常小,在你完工之后一定要仔细检查,我曾有一次因为一个小锡球短路了电调的MOS。助焊剂可以使用回流焊剂,效果好。

剥线钳,硅胶线,压线钳(现在我已经可以自己压SH1.0和PH1.25了,当然还是不如成品好)。可以看自己的需求购买,常用的硅胶线有12AWG(现在我很少用到),14AWG(6S适用),26AWG、28AWG(颜色可以多一点,除了红和黑还要最好另外两种颜色,以区分你常用的TX和RX线的颜色).穿越机用不到太多其它型号的硅胶线,或是杜邦线。热缩管,可以买些4mm,3mm,2mm的,以及10mm和12mm。

然后就是飞控减震柱这些,尼龙柱(个人不用通体长螺丝)。以及M3的螺丝若干,我目前在用钛螺丝。没办法,自己画的架子有点偏重。有的商家有新手包,可以考虑。

充电器,不要买便宜的入门产品。HOTA的D6,很主流。如果你讨厌流行,可以试试新出的PWMWAVE的产品。更高级的icharger 308,4030这些我觉得用不到,它们更像是给大四轴用的产品。电源可以选择服务器电源,可以让人改好,或者你自己改。

电池,大黄狗,格式4.0,都可以的,注意一定不要过放,不要贪飞,电池很贵的,一次过放它就基本残废了。过充一般是不存在的,只要你选择了上面的产品而且正确使用它们。我确实用高压锂电的选项充过普通电压锂电,所以电池类型最好单一。

先到这里。