| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 基于F4/F7/H7飞控硬件和px4飞控固件的廉价自主无人机系统(1)-飞控 -> 正文阅读 |
|
[嵌入式]基于F4/F7/H7飞控硬件和px4飞控固件的廉价自主无人机系统(1)-飞控 |
前言穿越机F4/F7/H7飞控是一系列采用stm32系列F4xx和F7xx处理器的飞控的统称,是目前穿越机爱好者非常喜欢使用的飞控硬件,其价格也非常便宜180~410。 而px4则是一款常见的开源飞控固件,是自主无人机系统开发中非常常用的飞控固件。但是其对应的硬件往往都比较贵,即使是早期的pixhawk版本也要600+。 如果要开发一款廉价自主无人机系统,那么采用F4/F7/H7飞控硬件配合px4飞控固件是一种非常好的组合,但是需要很多的修改才能实现。 本系列文章将一步一步的通过修改F4/F7/H7飞控硬件和px4飞控固件、并搭载一些必要的设备,搭建一套廉价自主无人机系统。 飞控硬件选择生产F4/F7/H7飞控硬件的厂家很多,也有一些自制的硬件。不论是F4、F7还是H7飞控,他们的处理器一般都是stm32f4xx和stm32f7xx。而px4固件本身除支持标准的pixhawk系列外,还支持一些其他厂家的飞控固件,其中F4系列中被比较好支持的是omnibus f4 sd系列, F7和H7系列中支持比较好的是holybro的kakute F7和H7系列飞控。 对于F7和H7,目前F7只能买到F7 mini(300+),H7则都可以买到(400+),推荐买H7系列。 对于F4,选择则非常多,但是也有很多坑。 首先,购买时一定要看是否是omnibus F4,否则不保证能成功。 而对于支持omnibus F4的飞控中,还要避开的大坑就是传感器。很多商家卖的F4飞控版本非常多,常见的有:F4 pro v2,F4 v3,F4 v3s, F4 v3 plus。其实版本不是很重要,但是重要是以下两点:1. IMU,2. 气压计。 IMU这个是个巨坑!购买时千万不要只看网页说明,要问店家要实物图片看。F4支持的IMU很多,包括:MPU6050,L3G4200D,MPU3050,L3GD20,MPU6000,MPU6500,MPU9250,ICM20601,ICM20602,ICM20608G,ICM20649,ICM20689,ICM42605,ICM42688P,BMI160,BMI270,LSM6DSO。而px4的omnibus f4固件支持的IMU则包括:MPU6000,ICM20602,ICM20608G,ICM42670,ICM42605,ICM42688P等。可以看到,交集挺多,但是目前我只遇到这MPU6000和ICM20608g/IC268g这两种px4固件支持且F4常用的IMU。尤其注意F4 V3 plus这个版本,一定要和店家确认用的是不是mpu6000,我买的用的都看不出来是哪款IMU,估计是bmi280,px4不支持!!! 气压计许多F4飞控没有气压计!!!这个一定要注意! 主要看硬件参数就可以,F4常用的气压计型号为bmp280。所以只要包含这个,就有气压计。 GPS和电子罗盘另外,要实现自主飞行,F4/F7/H7系列还缺少的就是电子罗盘,而常见的解决方案就是北天GPS出品的BN280模块,该模块既有GPS还有一个常见的电子罗盘芯片HMC5883。有了这两个,就可以实现有GPS下使用auto mission进行飞行了。 推荐购买: 目前淘宝上能买到的可用的是F4 pro V2这个版本的飞控(截止2022年5月10日),这个搭载的IMU是IC268g(ICM20608g);holybro的kakute H7/H7 mini以及F7 mini,搭载MPU6000。 固件更新一般F4/F7/H7购买时都可以选择刷了i好固件,但是可选的固件是不包含px4的。这里推荐选择让店家默认刷betaflight的固件,也就是BF固件。 然后就可以利用betaflight configurator来实现刷px4固件了。 betaflight configurator的下载链接如下: 下载后,为了刷px4固件,则需要先给飞控刷上bootloader。这里可以先刷上官方的bootloader,链接为: 由于这个bootloader很老了,所以如果默认用这个,在后期修改px4固件代码并编译后再刷固件后,可能会在Qgroundcontrol上遇到以下错误:
这是因为bootloader和px4固件不匹配的原因,方法也很简单,就是更新bootloader。 F4/F7飞控更新bootloader对于F4飞控的bootloader刷机的方法如下: https://docs.px4.io/master/en/advanced_config/bootloader_update_from_betaflight.htmlhttps://docs.px4.io/master/en/advanced_config/bootloader_update_from_betaflight.html首先就是下载bootloader的代码:
完成编译后,可利用betaflight configurator进行bootloader的刷机。 H7飞控更新bootloader对于H7飞控的bootloader刷机的方法如下: https://docs.px4.io/master/en/advanced_config/bootloader_update.htmlhttps://docs.px4.io/master/en/advanced_config/bootloader_update.html直接在飞控固件里进行编译,并利用QGroundcontrol进行bootloader的更新即可。 利用以上方法更新bootloader后,接可以编译固件了。固件的下载地址为: https://github.com/PX4/PX4-Autopilot.githttps://github.com/PX4/PX4-Autopilot.git默认编译和上传如下:
参考链接:
|
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 3:54:10- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |