【CW32优秀项目展示】CW32四轴无人机
报名参与了立创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
4月15日
① 公开 飞控程序源码
② 公开 CW32无人机控制软件 V1.1
③ 公开 结构件设计文件
概述
CW32无人机
●一款 基于CW32F030C8T6的四轴无人机
●配备 MPU6050 & BMP280传感器
●通过 ESP-01模组 实现 WiFi通信(TCP协议)
●移植 开源飞控算法(双闭环PID)
CW32无人机控制软件
●基于QT框架开发,可实时操控并监测无人机
电路设计
●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.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轴角速度值 & 温度值
●数据波形(匿名上位机)
●姿态显示(匿名上位机)
BMP280驱动
●硬件IIC通信,写地址 0xEE,读地址 0xEF
●读取 出厂校准参数 → 采集 原始数据 → 计算 气压值 & 温度值 → 测算输出 相对高度
●Hypsometric Formula 高度测算公式
●数据波形(匿名上位机)
2.3开源飞控算法移植
姿态控制
●双闭环PID结构,内环 角速度,外环 角度
●独立控制 横滚角 ROLL、俯仰角 PITCH、偏航角 YAW
高度控制
●双闭环PID结构,内环 Z轴加速度,外环 高度
结构件设计
3.1机架
●4个 电机臂 固定 4颗 8520电机
●4个 M3通孔 固定 飞控电路板
3.2电池仓
●配合 机架,以卡扣方式固定 锂电池
控制软件设计
●使用 C++语言,基于 QT框架开发,已发布 Windows版 V1.1
●基于TCP协议的 WiFi通信,控制软件 - TCP服务端,无人机 - TCP客户端
●键盘按键 操作 升力控制、航向角 & 俯仰角 & 横滚角控制
●鼠标左键 操作 紧急制动 & 定高悬停 & 垂直降落
●实时显示 机体温度 & 电池电压 & 连接状态 & 飞行日志
4.1飞行器控制逻辑
4.2状态监测逻辑
装配&测试
5.1无人机整体组装
5.2实际测试
●方案验证OK,参见 附件 - 阶段2测试视频1.mp4
●起飞动力 350~450(最高 1000),无明显抖动,但仍需优化 PID参数
操作说明
① 无人机 水平放置,打开 电源开关
② PC端 运行 CW32 Drone V1.1软件,设置 IP地址 & 端口号,点击“启动”按钮
③ 提示 无人机连接成功, 键鼠操作 控制 无人机,实时显示 状态信息 & 飞行日志
后记
●后续 整理 & 公开 接入BMP280传感器定高的 飞控程序 & 控制软件
●后续 优化 机架 & 电池仓结构设计
●感谢 武汉芯源半导体 提供的技术支持和赞助 ,近期官方推出了 CW32开发者扶持计划。
●感谢 立创EDA 提供的设计平台和元器件支持
- |
- +1 赞 0
- 收藏
- 评论 0
本文由涂抹转载自CW32生态社区公众号,原文标题为:【CW32优秀项目展示】CW32四轴无人机,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关研发服务和供应服务
相关推荐
基于CW32的MPU6050姿态传感器的应用开发配置教程
MPU6050是一种常用的六轴姿态传感器模块,结合了三轴陀螺仪和三轴加速度计,以及一个可扩展的数字运动处理器DMP(Digital Motion Processor),可用I2C接口连接一个第三方的数字传感器,比如磁力计。MPU6050 对陀螺仪和加速度计分别用了三个16 位的ADC(0~65535),将其测量的模拟量转化为可输出的数字量。
武汉芯源半导体安全低功耗MCU CW32L010 | 新品使用初体验
CW32L010新品的正式发布,标志着嵌入式技术领域的又一次创新突破。今日,我们有幸进行该新品的首次使用体验,以一块L010核心板为例,体验一下这颗芯片
【经验】武汉芯源CW32系列MCU PWM输出功能指南
脉冲宽度调制(PWM),是在数字电路中达到模拟输出效果的一种手段,常见应用电机调速,照明灯调光等。在MCU中,主要通过定时器单元来时实现PWM输出,以CW32L083VxTx为例,LPTIM,GTIM,ATIM都可以输出PWM信号。
武汉芯源半导体CW32L010系列安全低功耗MCU:驱动高速风筒新力量
MCU作为高速风简控制系统的核心,承担着传感器数据采集、高速电机控制、用户界面交互以及安全保护等多重任务。武汉芯源半导体CW32L010系列MCU可支持低成本、高性能、低功耗、高度集成的高速风筒方案,以满足市场对高效、安全、智能的高速风筒需求。
【应用】基于国产32位MCU芯片CW32F030C8T6的智能门锁方案,主频64MHz,具备低功耗多功能优势
智能门锁集成3D识别算法、接近检测、指纹输入模块,低功耗计算芯片等于一体,解锁快、功耗低、续航久,现武汉芯源推出一款MCU芯片CW32F030C8T6助力于智能门锁设计。
基于CW32F030C8T6开发板的MQ-2烟雾检测传感器例程移植案例
MQ-2型烟雾传感器属于二氧化锡半导体气敏材料,属于表面离子式N型半导体。本文的目标是将例程移植至CW32F030C8T6开发板上【判断当前环境状况的功能】。
【IC】武汉芯源CW32L010安全低功耗MCU,树立M0+产品行业新标杆!
近日,武汉芯源半导体CW32L010系列产品正式官方发布。这款产品以其卓越的产品性能,迅速在业界引起了广泛关注,并成功树立M0+产品行业的新标杆。产品是基于eFlash的单芯片低功耗微控制器,集成了主频高达48MHz的ARM®Cortex®-M0+内核、高速嵌入式存储器(多至64K字节FLASH和多至4K字节SRAM)以及一系列全面的增强型外设和I/O口。
【应用】基于CW32L系列MCU的指夹式血氧仪,实现更高精度测量
主控芯片建议使用CW32F003(20pin)资源足够,还便宜。CW32抗干扰性能可轻松通过ESD 8KV认证,加之优秀的ADC性能,是血氧仪类产品的不二之选
DHT11温湿度传感器基于CW32F030C8T6开发板上实现读取温湿度的功能操作示例
DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。本文的目标是在CW32F030C8T6开发板上实现读取温湿度的功能。
【经验】芯源CW32系列MCU电容式触摸按键设计指南
芯源半导体的CW32系列MCU电容式触摸按键设计指南向客户提供利用CW32内部资源结合软件编程实现电容式触摸按键有效触摸检测的方法。本指南内容重点在于工作原理、软件检测过程以及调试指引。通过本文可了解到如何利用内置电压比较器和内置定时器及软件配合,实现灵活方便的按键检测。在介绍标准演示板和演示软件的性能参数同时,还会给出详细的调试建议以及设计参数选择倾向分析,帮助客户快速自信地完成设计并实施调试。
基于CW32的无刷直流空心杯电机有感控制驱动方案
空心杯电机(Hollow-Cup Motor)是一种特殊类型的微型无刷直流电机,具有空心的旋转部分。它通常由外部固定的外壳和内部旋转的空心杯组成。空心杯电机具有较高的功率密度和扭矩输出,适用于一些特定的应用场景,如精密仪器、机器人、医疗设备等。空心杯电机的工作原理是基于无刷直流电机的原理。它采用无刷电机的结构,包括定子(固定部分)和转子(旋转部分)。
【CW32模块使用】雨滴传感器
文章介绍了雨滴传感器的工作原理和在汽车智能灯光系统、自动雨刷系统、智能车窗系统中的应用。传感器通过检测水滴的导电性来判断是否下雨,利用电极间的电导性变化来测量水滴存在。文章还提供了传感器模块的移植过程和代码示例,展示了如何将传感器数据读取和处理集成到CW32F030C8T6开发板上。
介绍MCU的ARM处理器——Cortex-M0+内核
ARM Cortex-M0+是2012年3月14日ARM公司发布的一款低功耗效率、能效最高的ARM处理器,可用于存在设计约束的嵌入式应用。它具有最小的硅面积和极少的代码量,从而使开发人员能够以16和8位的价位实现32位性能。处理器的低门数使其能够部署在需要简单功能的应用中。本文中武汉芯源来给大家介绍Cortex-M0+内核,希望对各位工程师有所帮助。
【经验】基于CW32的超声波模块的应用
C-SR04超声波模块是一种常用的测距模块,其通过发射超声波并接收其反射信号来实现测距功能。具有成本低、精度高、使用简便等特点。本实验用到了CW32F030C8T6小蓝板、0.96寸OLED显示屏、HC-SR04超声波模块及Keil5开发环境。
CW32L010 ARM®Cortex®-M0+低功耗32位MCU参考手册
描述- 本资料为CW32L010微控制器参考手册,旨在为应用开发者提供关于如何使用该微控制器内存和外设的完整信息。手册内容涵盖系统架构、内存组织、电源控制、复位和时钟控制、中断、RAM和FLASH内存、GPIO、CRC、RTC、定时器、看门狗定时器、UART、SPI、I2C、红外调制发射器、ADC、电压比较器、低压检测器、调试接口和数字签名等模块的详细说明和编程指南。
型号- CW32L010
电子商城
现货市场
品牌:SILICON LABS
品类:Switch Hall Effect Magnetic Position Sensor
价格:¥2.2924
现货:126,000
服务
可定制板装式压力传感器支持产品量程从5inch水柱到100 psi气压;数字输出压力传感器压力范围0.5~60inH2O,温度补偿范围-20~85ºС;模拟和数字低压传感器可以直接与微控制器通信,具备多种小型SIP和DIP封装可选择。
提交需求>
可定制温度范围-230℃~1150℃、精度可达±0.1°C;支持NTC传感器、PTC传感器、数字式温度传感器、热电堆温度传感器的额定量程和输出/外形尺寸/工作温度范围等参数定制。
提交需求>
登录 | 立即注册
提交评论