【CW32】芯源4轴无人机 - 嘉立创EDA开源硬件平台

编辑器版本 ×
标准版 Standard

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

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

3、支持简单的电路仿真

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

专业版 professional

1、全新的交互和界面

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

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

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

标准版 【CW32】芯源4轴无人机

简介:使用CW32F030C8T6芯片,开发4轴无人机,配合自主设计的控制软件,实现飞行控制和监测

开源协议: Public Domain

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

创建时间: 2022-05-18 20:50:03
更新时间: 2023-09-17 15:48:07
描述

前言

  • 报名参与了立创EDA和芯源半导体合作的训练营项目,计划开发一款基于芯源CW32系列芯片的4轴无人机,促进国产芯片的应用
  • 该开源工程曾于2022年首次发布,但由于学业繁忙而未完善,此次更新后再次发布
  • 后续依然会继续优化该工程,敬请期待
  • 该开源工程的部分内容已纳入个人毕业论文,望读者知悉

 

开发记录

2022.XX.XX

① 设计 硬件电路 & PCB

② 开发 MPU6050驱动

③ 初步移植 开源飞控算法,编写飞控程序

 

2022.XX.XX

① 接入 匿名上位机,呈现 姿态数据

 

2022.XX.XX
① 改进 & 优化 飞控程序,实现 基础飞行控制
② 调整 PID参数,减少飞行时的漂移和抖动

 

2022.XX.XX
① 设计 机架结构件 & 电池仓结构件
② 开发 BMP280驱动


2022.XX.XX
① 开发 CW32无人机控制软件(基于QT),发行版本 V1.1


2023.04.15
① 公开 飞控程序源码
② 公开 CW32无人机控制软件 V1.1
③ 公开 结构件设计文件

 

概述

 

CW32无人机

  • 一款 基于CW32F030C8T6的 四轴无人机
  • 配备 MPU6050 & BMP280传感器
  • 通过 ESP-01模组 实现 WiFi通信(TCP协议)
  • 移植 开源飞控算法(双闭环PID)

 

BZrdJAQLpTep9SVmqbN3xT28h8UKRoSxGCAmnoFd.png

 

CW32无人机控制软件

  • 基于QT框架开发,可实时操控并监测无人机

 

uyYNeppTb6a8TmF3oXCFcSLmqvr80vj1dVjkv75j.png

 

1 CW32无人机飞控电路设计

 

DpWRBUhQNcTKinQi2ApXSG7VkeXnIo2hca4UPeEC.png

 

MCU

  • CW32F030C8T6,封装规格 LQFP48,供电电压 3.3V
  • 外接 8MHz 贴片晶振 & Reset按键

 

供电

  • 3.7V 1S 400mAh锂电池,尺寸 37mm×20mm×8.8mm,2mm 1×2P 51005接口
  • 3.7V电源开关 & 稳压
  • 3.7V → 5V 升压
  • 5V → 3.3V 降压

 

传感器

  • MPU6050姿态传感器,可输出 3轴加速度 & 3轴角速度 & 温度数据,硬件IIC通信
  • BMP280高度传感器,可输出 气压 & 温度数据,硬件IIC通信

 

WiFi通信

  • ESP-01模组,无线传输 采用 TCP协议
  • 通过 2×4PIN排座 接入飞控电路板,实现 3.3V供电 & 串口通信(ESP-01模组 ↔ 飞控电路板)

 

电机调速

  • 4颗 8520空心杯电机(搭配 65mm正反桨叶),3.7V供电,4路 PWM信号 控制
  • 3.7V锂电池 电压测量

 

声光指示

  • 1颗 3.3V电源指示灯(R)
  • 2颗 可编程信号指示灯(B)
  • 4颗 WS2812B灯珠(RGB),1路 PWM信号 控制色彩
  • 1颗 蜂鸣器,1路 PWM信号 调节音量

 

烧录调试

  • SWD接口,1×4PIN排针,用于 程序烧录
  • UART接口,1×4PIN排针,用于 串口通信(飞控电路板 ↔ PC)

 

2 CW32无人机飞控程序设计

 

2.1 基础配置

 

系统时钟

  • 64MHz,HSE使能 8MHz外部晶振,8倍频
  • 使能 GPIOA & GPIOB & IIC1 & BTIM & GTIM3 & ATIM & UART & ADC时钟

 

UART3_Local

  • 飞控电路板 ↔ PC,波特率 115200,数据位 8,停止位 1,校验位 No
  • PA09引脚 - UART3_TX - OUTPUT_PP,PA10引脚 - UART3_RX - INPUT_PULLUP

 

UART2_WiFi

  • ESP-01模组 ↔ 飞控电路板,波特率 115200,数据位 8,停止位 1,校验位 No
  • PA02引脚 - UART2_TX - OUTPUT_PP,PA03引脚 - UART2_RX - INPUT_PULLUP

 

硬件IIC

  • PB10引脚 - SCL,PB11引脚 - SDA,通信速率 400Kbps
  • 主机 CW32F030C8T6,从机 MPU6050 / BMP280

 

PWM

  • 电机M1 - PA08引脚 - ATIM_CH1A通道 - 周期 0.5ms - 计数范围 [0, 999]
  • 电机M2 - PA11引脚 - GTIM3_CH3通道 - 周期 0.5ms - 计数范围 [0, 999]
  • 电机M3 - PB07引脚 - ATIM_CH3A通道 - 周期 0.5ms - 计数范围 [0, 999]
  • 电机M4 - PB06引脚 - ATIM_CH2A通道 - 周期 0.5ms - 计数范围 [0, 999]
  • 蜂鸣器   - PA12引脚 - GTIM3_CH4通道 - 周期 0.5ms - 计数范围 [0, 999]

 

BTIM1中断

  • 用于执行 核心任务(传感器数据获取 & 欧拉角更新 & 飞行控制 & 状态监测)
  • 触发间隔 3ms,计数范围[0, 5999],BTIM_IT_OV标志,优先级 1

 

UART2中断

  • 用于接收 & 返送 & 解析 飞控指令
  • 串口接收触发,USART_IT_RC标志,优先级 0

 

ADC

  • 用于测量 3.7V锂电池电压
  • PA04引脚 - ADC_ExInputCH4通道 - 1.5V参考值 - 单通道转换模式

 

2.2 驱动开发

 

MPU6050驱动

  • 硬件IIC通信,写地址 0xD0,读地址 0xD1,陀螺仪 ±2000deg/s,加速度计 ±4g
  • 采集 原始数据 → 卡尔曼滤波 → 输出 3轴加速度值 & 3轴角速度值 & 温度值
  • 数据波形(匿名上位机)

HaDRjA1UxZxe0TzoQUvGh6yuxr7LA0UhfzXSp9Px.png

 

  • 姿态显示(匿名上位机)

A18pZckMU9RCO26ipPVc3Dzc3NlnLz99q0TDbPHj.png

 

BMP280驱动

  • 硬件IIC通信,写地址 0xEE,读地址 0xEF
  • 读取 出厂校准参数 → 采集 原始数据 → 计算 气压值 & 温度值 → 测算输出 相对高度
  • Hypsometric Formula 高度测算公式

iwGlPBr1Di3bZ2sEzwJGpbOur1xEW6nYHZpRJxbJ.png

 

  • 数据波形(匿名上位机)

MxRuc5LmBGO8hMEWM2x69Qe05tAztB2XdlRqNuhU.png

 

2.3 开源飞控算法移植

 

姿态控制

  • 双闭环PID结构,内环 角速度,外环 角度
  • 独立控制 横滚角 ROLL、俯仰角 PITCH、偏航角 YAW

 

aTz89zA9t1G3ka9atriIKl6yMh0vyPKulWF1pgtn.png

 

高度控制

  • 双闭环PID结构,内环 Z轴加速度,外环 高度

 

v1HSrKBXB4km4JtOrUUolAAesVM8OZps2tVId652.png

 

3 CW32无人机结构件设计

 

3.1 机架

 

MP2NJg0UdiRedRrD5q2K5WDt5T0GpuYJ4sBBHsiE.png

 

svc5653SOSy640xukGnkFGjjI4aFeBfONURn9iqH.png

 

vvArh1mnsH4rVQLLiKMrpmiJjrUQg6jOMUD89CR7.png

 

  • 4个 电机臂 固定 4颗 8520电机
  • 4个 M3通孔 固定 飞控电路板

 

3.2 电池仓

 

G9i9L5DNna4KDi7BGQghUnigOxNbyGu61OmHNeXp.png

 

h1WSpFeMPwIIQwf3kudgjUMELZMj5JgQBUPag6Ef.png

 

ybeEtMR7Ko0ygokOS0IehXLMaE29aXx1u6xH93jI.png

 

  • 配合 机架,以卡扣方式固定 锂电池

 

4 CW32无人机控制软件设计

 

s742hMQJdgVUXu2GXehkvM7XLeJcOALiQZjph2Cg.png

 

  • 使用 C++语言,基于 QT框架开发,已发布 Windows版 V1.1
  • 基于TCP协议的 WiFi通信,控制软件 - TCP服务端,无人机 - TCP客户端
  • 键盘按键 操作 升力控制、航向角 & 俯仰角 & 横滚角控制
  • 鼠标左键 操作 紧急制动 & 定高悬停 & 垂直降落
  • 实时显示 机体温度 & 电池电压 & 连接状态 & 飞行日志

 

4.1 飞行控制逻辑

 

tIrofzQrB12kcXwDgJ43NoTzYmAxZRZIEwKNWJuZ.png

 

4.2 状态监测逻辑

 

yzjUU07EGIBKdxgK8DlU94dq0YjvVy4tdg1Qm71W.png

 

5 装配 & 测试

 

5.1 无人机整体组装

 

SFyFJchlNkZEr5G8PeO5h4cH3T5whFuMPMX1Vi3j.png

 

jAX2Lll7OwfD4fsgCZLm2Q4Y9bo4AmbP7P7bKCio.png

 

4rXGXYirh69C6lTnOtQY7kwUTxNaQLgqGxOUWmTA.png

 

5.2 实际测试

  • 方案验证OK,参见 附件 - 阶段2测试视频1.mp4
  • 起飞动力 350~450(最高 1000),无明显抖动,但仍需优化 PID参数

 

操作说明

① 无人机 水平放置,打开 电源开关
② PC端 运行 CW32 Drone V1.1软件,设置 IP地址 & 端口号,点击“启动”按钮
③ 提示 无人机连接成功, 键鼠操作 控制 无人机,实时显示 状态信息 & 飞行日志

 

后记

  • 后续 整理 & 公开 接入BMP280传感器定高的 飞控程序 & 控制软件
  • 后续 优化 机架 & 电池仓结构设计
  • 感谢 武汉芯源半导体 提供的技术支持和赞助 ❤,近期官方推出了 CW32开发者扶持计划,感兴趣的小伙伴可以关注 官方公众号“CW32生态社区”& 官方QQ群 482146847
  • 感谢 立创EDA 提供的设计平台和元器件支持 ❤

 

设计图
原理图
1 /
PCB
1 /
未生成预览图,请在编辑器重新保存一次
ID Name Designator Footprint Quantity
1 R-BAT BAT1 R-BAT 1
2 HNB09A05 BUZZER1 BUZ-TH_BD9.6-P5.00-D0.7-FD 1
3 10uF C1 C 1206 1
4 100uF C2 C 1206 1
5 100nF C3,C4,C6,C7,C9,C11,C16,C19,C20,C21 C0603 10
6 1uF C5,C10 C0603 2
7 10uF C8 C0805 1
8 4.7uF C12,C13,C14,C15 C0603 4
9 10nF C17 C 0603 1
10 2.2nF C18 C 0603 1
11 LED_BLUE2 D1 LED0603-R-RD 1
12 LED_BLUE1 D7 LED0603-R-RD 1
13 22uH L1 IND-SMD_L2.5-W2.0_SWPA252012S 1
14 WS2812B LED1,LED2,LED3,LED4 LED-SMD_4P-L5.0-W5.0-TL 4
15 19-21/R6C-FP1Q2L/3T LED_RED1 LED0603-FD 1
16 PH2.0 M1,M2,M3,M4 R-MOTOR 4
17 扩展接口 P1,P2 排针排母2*4P 2
18 SI2302 Q1,Q2,Q3,Q4 R-SOT-23 4
19 S8050_C2146 Q5 SOT-23-3_L3.0-W1.7-P0.95-LS2.9-BR 1
20 2K R1,R2,R3 R0603 3
21 10K R4,R5,R7,R9,R10,R12,R15,R19 R0603 8
22 100 R6,R8,R11,R13 R0603 4
23 1kΩ R14 R0603 1
24 4.7kΩ R16,R17 R0603 2
25 100kΩ R18 R0603 1
26 SWITCH RESET1 KEY-SMD_2P-L6.2-W3.6-LS8.0 1
27 SS-12D02-VG4 SWITCH_POWER1 SW-TH_SS-12D02-VG4 1
28 M3铜柱 TP1,TP2,TP3,TP4 M3铜柱 4
29 CW32F030C8 U1 LQFP-48_L7.0-W7.0-P0.50-LS9.0-TL 1
30 R-ME2188C50M5G U2 R-SOT-23-5 1
31 SC1117-3.3V U3 SOT-223_L6.5-W3.5-P2.30-LS7.0-BR 1
32 MPU6050 U5 R-QFN 24 1
33 FBM320/BMP280 U6 R-BMP280 1
34 8MHz Y1 R-CSTSE800G52 1

展开

工程成员
侵权投诉
相关工程
换一批
加载中...
添加到专辑 ×

加载中...

温馨提示 ×

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

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

服务时间

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

support
  • 开源平台公众号

MP