![嘉立创PCB](https://jlc-prod-pbt-common.oss-cn-shenzhen.aliyuncs.com/pbt/cms/jlc/781ee31b-760c-43db-b11f-2721e049101b_%E5%98%89%E7%AB%8B%E5%88%9Blogo%402x.png.png?Expires=3513271185&OSSAccessKeyId=LTAI5tMSqpMTLBcDFwY5pZRG&Signature=65AnlxYI%2BvJZAXKnFiNf6YtfPfA%3D)
![嘉立创FPC](https://jlc-prod-pbt-common.oss-cn-shenzhen.aliyuncs.com/pbt/cms/jlc/6c980e9e-4fad-4df5-b106-2294a46a2872-dddddd.png?Expires=3515161322&OSSAccessKeyId=LTAI5tMSqpMTLBcDFwY5pZRG&Signature=wQhj4shOM1j%2BYQo3jLy8MhDJXt4%3D)
![嘉立创SMT](https://jlc-prod-pbt-common.oss-cn-shenzhen.aliyuncs.com/pbt/cms/jlc/c1732c05-c8d9-46fd-982f-2df563a6e5c2_dddddd.png.png?Expires=3513271185&OSSAccessKeyId=LTAI5tMSqpMTLBcDFwY5pZRG&Signature=kLCfprLIvWs4QFKajPzFzA1qcVc%3D)
![嘉立创激光钢网治具](https://jlc-prod-pbt-common.oss-cn-shenzhen.aliyuncs.com/pbt/cms/jlc/6dc0054f-0997-4582-9471-ba1af2460049_dddddd.png.png?Expires=3513271186&OSSAccessKeyId=LTAI5tMSqpMTLBcDFwY5pZRG&Signature=uc%2FOAKGLSUy48Pd8uzZ2g6gPnHQ%3D)
![立创商城](https://jlc-prod-pbt-common.oss-cn-shenzhen.aliyuncs.com/pbt/cms/jlc/10c6a71a-4eed-4af6-9573-7a0439fedf28-%E7%AB%8B%E5%88%9Blogo%402x.png?Expires=3519924884&OSSAccessKeyId=LTAI5tMSqpMTLBcDFwY5pZRG&Signature=BPdbAZnvS%2FamI%2FVET13ee6%2BmF%2FM%3D)
![中信华](https://jlc-prod-pbt-common.oss-cn-shenzhen.aliyuncs.com/pbt/cms/jlc/b49610a2-5f7a-41ff-a601-a1e9b304543f-%E5%98%89%E7%AB%8B%E5%88%9Blogo%402x%20%281%29.png?Expires=3519893193&OSSAccessKeyId=LTAI5tMSqpMTLBcDFwY5pZRG&Signature=DyY7qb3U0BqPFSlFKFwgfV51uks%3D)
收藏官网,优惠快人一步
您可以尝试通过快捷键 CTRL + D 加入收藏夹
瑞萨MCU杯第八届立创电子设计开源大赛正式落幕,最终获奖项目正式出炉!本文介绍的是:本届大赛二等奖项目《四轴飞行器Liguanxi-UAV(空心杯无人机飞控)》。
本文作者:瑞萨MCU杯第八届立创电子设计开源大赛选手@liguanxi,禁止商用,未经许可禁止转载。
主控芯片为esp32-s3的小型四轴飞行器
目前网络上的飞行器方案非常的多,但主控芯片大多都是stm32,esp32自带WiFi和蓝牙性能强悍非常适合用来做小型飞行器但据我了解使用esp32的飞行器且使用esp-idf的编译环境除了乐鑫官方的esp-drone以外应该不超过2个,官方的代码架构对于新手来说很不友好,对于想通过飞行器来学习乐鑫芯片的新手非常不友好,所以我整理了一套基本的esp32飞行器代码开源用于学习,并分享一下我的踩坑经验,飞控目前完成功能,姿态飞行,匿名地面站状态显示与无线PID调参数。
PCB板
1.主控芯片采用ESP32-S3-WROOM-1,本来是使用普通的esp32但发现S3价格没升多少性能却可以拉满,那就直接用S3了
2.姿态传感器使用mpu6050,老方案了,大部分DIY飞行器都用这个
3.气压传感器使用SPL06-.001使用原因是体积小,精度高(可达5cm),关键价格还便宜
4.下载电路是手动下载,通过飞控上boot和rst按钮进入下载模式(先按住不放boot,再按一下rst就可以进入下载模式了),然后可以直接通过串口下载(购买一个串口下载器按照四个引脚rx,tx,3.3v,gnd连接上即可)
5.LED指示灯增加到4个:
(蓝灯)飞机状态指示灯,用来显示当前飞控内部循环是在哪部分例如初始化或初始完成未解锁
电量指示灯(黄)显示电池电压是否足够
连接指示灯(绿)用来显示飞控与地面站和遥控的连接状态
电源灯(红)就是上电就亮表示电源正常
6.电源是先通过ps7516芯片,从电池电压3.7v-4.2v升压成5v再通过AMS1117-3.3减压成3.3v主要起到一个缓冲的作用
7.电机控制使用SI2302mos管来控制,这也是通用方案了
8.电压测量则是一个简单的电阻分压电路
遥控器在另一个项目链接:#第八届立创电赛#ESP32-S3遥控器(与Liguanxi-UAV飞行器配套) - 嘉立创EDA开源硬件平台 (oshwhub.com)
外壳
1.外壳采用“空心杯函道有刷穿越机”的外壳,轴距80mm,这个外壳非常耐撞。
2.使用8520空心杯电机,注意:电机的轴径分1.0mm和1.2mm,要和螺旋桨的内径相同不然会装不上,就算硬怼上了螺旋桨也会偏心。
2.使用的螺旋桨直径为40mm,孔径有1.0和1.2两个规格根据空心杯选择,只要和空心杯的轴径一致即可,
3.飞控与机架固定处需要减震圈,规格如下图
4.使用1s动力电池(长度小于65,宽小于17.5,厚小于7.5),一般有3.7V和3.8V两种,选择3.7v的即可,两种都可以使用,但3.8v的容易鼓包。接头类型最好选择PH2.0容易插拔。
代码编译环境使用esp-idf 4.4
芯片选择ESP32-S3
程序代码以放入附件中,代码功能会持续更新!!
源码运行流程
源码结构
程序嵌套减少,不会有各种设置参数的函数,优点是程序量少,缺点是不太通用,设置其他参数需要去看手册。
函数命名为英文缩写,一般是 遥控器_控制_初始化 转为英文 remote_control_init 就直接作为函数名
可通过简单的翻译软件进行理解,组件名称的命名规则也是这样。
变量是直接在data_declaration.h进行全局声明,结构体也是在此声明
每个组件下的CMakeLists文件都是这个格式,分4块标记c文件,标记h文件,标记需要的其他组件文件夹名称
所有的h文件都会放在对应的include文件夹下
初始化信息
飞行器的初始化信息是中文的可以用来判断硬件初始化是否正常,初始化的参数是什么。需要下载"格西调试精灵",以下是初始化信息
在串口调试助手中基本可以看到所有的硬件状态和设置参数。
匿名上位机的使用
先连接飞行器的WiFi,再进行下图设计即可连接(WiFi名称和密码初始化信息中有)
匿名上位机的功能有陀螺仪加速度零偏校准,PID参数调整,状态显示,波形显示
可显示姿态及其简易波形,飞行模式,锁定状态,遥控器通道数值等数据
在此可设置pid参数,飞机配平,传感器校准等操作,目前陀螺仪,加速度和气压校准是有效的
pid18是配平参数1000是基础值增加或减少可改变遥控器数值达到配平的目的。
在此可显示所有波形
电路问题修改
2023.10.7,气压计SDO引脚从悬空改为接地
飞控电路密集,使用者需要有一定的电路焊接基础
电子业余爱好者,无法保证PCB布局设计的规范性,使用过程暂未发现其他问题,有问题可以在下方评论区留言
说明:
有些元件不能单个购买参考价格并不准确(价格偏高)
以上大部分元件都能在淘宝优信电子购买,但部分元件优信价格偏高如果不在意差价一并购买可以免很多麻烦
机架部分可以在淘宝亲民模型店一起买到但空心杯和电池价格偏高如果不在意差价一并购买可以免很多麻烦
CR2450/锂离子电池 | 18.24 | |
STM32F407VET6/单片机(MCU/MPU/SOC) | 12.65 | |
TPS5430DDAR/DC-DC电源芯片 | 1.25 | |
MPU-6050/姿态传感器/陀螺仪 | 40.37 | |
MAX485ESA+T/RS-485/RS-422芯片 | 3.4 | |
W25Q128JVSIQ/NOR FLASH | 2.39 | |
TAJA106K016RNJ/钽电容 | 0.355 | |
GRM21BR61H106KE43L/贴片电容(MLCC) | 0.239868 | |
SP3485EN-L/TR/RS-485/RS-422芯片 | 0.8061 | |
IR2104STRPBF/栅极驱动芯片 | 1.84 |
56万现货SKU
品类不断扩充中
科技智能大仓储
最快4小时发货
正品有保障
物料可追溯
明码标价节省时间
一站式采购元器件