YMFC开源小四轴 - 嘉立创EDA开源硬件平台

编辑器版本 ×
标准版 Standard

1、简单易用,可快速上手

2、流畅支持300个器件或1000个焊盘以下的设计规模

3、支持简单的电路仿真

4、面向学生、老师、创客

专业版 professional

1、全新的交互和界面

2、流畅支持超过3w器件或10w焊盘的设计规模,支持面板和外壳设计

3、更严谨的设计约束,更规范的流程

4、面向企业、更专业的用户

标准版 YMFC开源小四轴

  • 3.8w
  • 42
  • 399

简介:非常简单易学的小四轴,只用到了两个芯片和700行代码。

开源协议: GPL 3.0

(未经作者授权,禁止转载)

创建时间: 2023-01-08 08:45:35
更新时间: 2024-01-13 00:06:30
描述

本项目优点

对于已经会购买飞控板、电调、电机等零件自己组装无人机的朋友来说,可以帮你更进一步,学习到飞控的核心技术。

对于研究软件无线电的朋友,这个小四轴也可以作为你研究各类无线电通信信号的基础。

 

工程描述

这原本是一个用于大四轴的飞控项目,由荷兰开发者Joop Brokking公布。后来我为了学习和调试更加安全,才改为了小四轴。但小四轴上也引出了引脚,可以当作大四轴飞控使用(需对飞控软件代码稍作修改)。

开发环境IDE是Arduino。

该项目主控芯片早期是Atmega328p,后期是STM32F103C8T6,目前开源的小四轴用的是后者。

姿态传感器是MPU6050。

遥控:使用航模遥控接收机实现,只要可以买到支持PPM输出的遥控器和接收机,插上去就能用。

图传:直接绑上一个模拟摄像头+发射机模块就行。图传接收机可以是直接买商用模块,或者参考视频教程第六集用软件无线电实现。

 

配套系列教学视频

公告 https://www.bilibili.com/video/BV1LD4y1s7Pv/

第一集(项目历史和原理图)https://www.bilibili.com/video/BV1f24y1y7oi

第二集(深入代码)https://www.bilibili.com/video/BV1cd4y1b7sd

第三集(无人机组装和测试)https://www.bilibili.com/video/BV1Td4y147aW

第四集(控制无刷电机)https://www.bilibili.com/video/BV1g14y1T7gv

第五集(从无人机到软件无线电)https://www.bilibili.com/video/BV1j24y1Q7KV

第六集(面向未来的实验)https://www.bilibili.com/video/BV1Sv4y1q75N

第七集(彩蛋——用SDR与无人机交互)https://www.bilibili.com/video/BV18P4y1e77x

 

更基础的原理视频

第一集 (内容介绍) https://www.bilibili.com/video/BV1Wo4y1L7Lg

第二集 (陀螺仪) https://www.bilibili.com/video/BV18h4y1n7pD

第三集 (遥控信号)https://www.bilibili.com/video/BV14X4y127wk

第四集 (电调输出) https://www.bilibili.com/video/BV1sc411P7ig

第五集 (负反馈) https://www.bilibili.com/video/BV1tk4y1s7hE

第六集 (合并代码) https://www.bilibili.com/video/BV17a4y1g7Qd

第七集 (其它无线电信号)https://www.bilibili.com/video/BV1v24y1P75L

第八集 (外场试飞)https://www.bilibili.com/video/BV1yz4y1q7yf

 

配套的飞控代码:

https://github.com/jamesshao8/ymfc-mini-drone

其它视频里提到的开源项目地址请参考各视频下方描述。

 

原理图讲解

(与原项目的原理图对比介绍可以看视频教程第一集

上图是主控芯片STM32,它与电路的其它部分都有联系,由LDO供电,通过IIC接收MPU6050的姿态信息,接收PA0口上的遥控PPM信号,输出控制4个电机的PWM信号。除此之外,它也用模拟引脚实现了电池电压检测功能,也可以控制LED灯来显示状态,还可以通过串口与电脑相连。J1接口是下载固件时用的,下载模式时J1需要短接,正常模式下J1需要开路。

 

以上是MPU6050,它通过IIC接口与STM32相连,提供姿态信息。

 

以上是其中一个电动机的驱动电路,PWM4_LF_CW是表示这是第四个电机信号,它可以直接输出给外部的电调模块用来控制大四轴的无刷电机,也可以送到上图中的MOSFET上,用来控制接在LF这个2pin口上的有刷电机。但是控制两种不同的电机,需要对代码做一些修改,具体请看视频教程第二集。如果要控制无刷电机,硬件组装请参考视频教程第四集

 

这是一个3pin的接口,用来把航模遥控器的PPM信号输送给主控,你也可以用软件无线电来自己实现遥控,可参考视频教程第

这是一个4pin接口,可以用它往主控里烧写固件,也可以在正常使用过程中向电脑发送调试数据。

这是一个分压电路,可以获得与电池电压成正比的信号,然后给到主控的模拟输入口上,检测电池剩余电量。

 

这是两个LED状态指示灯,可以由主控的两个引脚控制。飞机在飞行过程中,用LED来显示状态非常方便。

 

上图从左到右是电池接口、开关、线性稳压芯片(用来给电路其余部分输出稳定的3.3V电压)。

虽然这部分放在后面,但是供电部分是最重要的,在画PCB过程中,电池口的正极先连接到了开关正极上(网络名称是VBAT),它与4个电动机对应的MOSFET相连,这几条连线必须要足够粗,否则电流不够。电池负极一般都与铺铜区相连,也就是说电路上的所有部分都有一根很粗的导线连到了负极,所以负极不会是问题,主要是正极要足够粗。

如果正极不够粗,可能会导致STM32的供电电压不够,程序跑飞。当你看到蓝色LED灯开始闪烁,代表飞控重启了,很有可能就是这个原因。我提供的资料里线宽是足够的,但是如果你要二次开发,要注意这个问题。

 

最后,当你根据我的资料打样生产了板子,如果不知道要下载哪个固件代码,或者在组装过程中碰到了困难,可以观看视频教程第三集

 

对于飞控来说,其实主要难点还是在软件代码上,目前我的教学视频第二集虽然也是在讲飞控软件代码,但主要还是在讲我怎样做减法,删除了原项目的多余部分。将来,我还会出一集深入讲飞控原理和怎样写出对应代码的视频,如大家感兴趣,请多多点赞支持我。

设计图
原理图
1 /
PCB
1 /
未生成预览图,请在编辑器重新保存一次
工程视频/附件
暂无
工程成员
侵权投诉
相关工程
换一批
加载中...
添加到专辑 ×

加载中...

温馨提示 ×

是否需要添加此工程到专辑?

温馨提示
动态内容涉嫌违规
内容:
  • 153 6159 2675

服务时间

周一至周五 9:00~18:00
  • 技术支持

support
  • 开源平台公众号

MP