Ardupilot Copter 4.1.5 firmware for BetaflightF4 controller

Categories:FPV August 8, 2022

I just compiled two firmware for the old target betaflightf4 controller(Initially created by BorisB and fpvmodels), 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会遇到的坑

Categories:FPV August 5, 2022

我使用WINDOWS11,WSL2 - ubuntu进行编译。

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

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

使用镜像站克隆项目。

编译环境搭建好之后替换Ardupilot根目录下submodule内的git镜像源(.gitmodules)以及modules下子目录的.gitmodules
执行git submodule sync更新,然后执行git submodule update --init不能带--recursive参数否则还从主站下载
提示报错,需要依次进入错误子目录更改镜像。再sync或者pull update

使用自动配置下载C编译器失败了,配置waf时提示没有编译器,重新执行自动配置并不能识别这个错误。检查发现下载的编译器其实并不完整。又手动重新下载了一次。顺利编译。

如何用OMNIBUS F4飞控玩ardupilot固件

Categories:FPV July 31, 2022

一直在飞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 而如果你还没有或打算买新的飞控,则可以选择更高规格的飞控。或者你不想要太多额外功能,也可以用最新版本固件(待核实)。注意,你的飞控最好在固件下载列表里。

在飞碟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的配置使能,这时没有意外GPS就被识别了;GPS带的罗盘连接板子上的Uart3(I2C默认使能),罗盘也工作了。如果你是CRSF接收机可以连接到uart1,对应的AP固件配置也刚好是Serial1,配置使能参数,就应该工作了。按文档BRD_ALT_CONFIG还可以进行其它特殊端口配置,开启额外的uart4等等.

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

电压电流计参数:BATT_VOLT_PIN 12

BATT_CURR_PIN 11

BATT_VOLT_MULT 11.0

BATT_AMP_PERVLT 38.0

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

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

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

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

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

继续YY

Categories:随便写写 June 30, 2022

肥鲨和蜗牛合作的高清已经上市~ 看了一些视频,发现它相比大疆的画质有一点点“劣化”,表现在在具有丰富细节的场景,斑块更多。JB的延迟测试发现它显示的低延迟并不准确。除去这些缺点,眼镜的确轻巧了不少,但OLED屏幕似乎并没有好到让这些大佬“尖叫”的地步。甚至,没有人提到它的画面更漂亮~

FOV46度,1080P的分辨率,让原生4:3比例爱好者多少有些遗憾。奇怪的天空端尺寸,固定孔,都在对我说不。

讲真,我可能还会stick with analog for a bit while , 因为我害怕改变。从使用大疆v2的经验看,模拟还不能被彻底取代。Just not the time.

此内容被密码保护

Categories:微心情 June 25, 2022

请输入密码访问