# CrazeFly **Repository Path**: JerryXL/CrazeFly ## Basic Information - **Project Name**: CrazeFly - **Description**: 四轴源码 - **Primary Language**: C - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2016-07-23 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CrazeFly项目说明书 ## 项目说明 本项目是基于CrazePony开源项目进行的一项开源四轴飞行器,我主要做的工作是基于CrazePony平台进行软件开发,并且移植RTOS(使用μC/OS III)。 后续可能还会进行硬件开发,做原理和PCB的设计,但需要等软件相对成熟后进行。 本人原本为硬件工程师,业余爱好做了这个项目,难免会有疏忽和错误的地方,欢迎各位指正。 ## 硬件原理图 此项目是使用STM32做为主控CPU,结合MPU6050和MS5611做姿态整定,通过PWM控制四个空心杯。 无线通信可以选择为NRF24L01 2.4G通信(需要搭配对应的遥控器使用),也可以选择蓝牙BT与手机APP进行通信。 ![主控电路板](./pic/sch/主控.png) ![主控电路板](./pic/sch/电源.png) ## PID控制 ![PID](./pic/PID.PNG) X模式控制如下 ``` motor1_PWM = g_BasePWM + outputPWM_Pitch + outputPWM_Roll- outputPWM_Yaw; motor2_PWM = g_BasePWM + outputPWM_Pitch - outputPWM_Roll+ outputPWM_Yaw ; motor3_PWM = g_BasePWM - outputPWM_Pitch - outputPWM_Roll- outputPWM_Yaw; motor4_PWM = g_BasePWM - outputPWM_Pitch + outputPWM_Roll+ outputPWM_Yaw ; ``` ## 软件进度 #### 2016-09-13 1.首次添加readme.md 2.已经完成RTOS的移植,并建立基本任务和任务调度 3.完成STM32的最小系统移植 4.完成ADC驱动(用于电池电压检测)的编写 5.完成4颗LED灯驱动的编写 6.完成4组电机的PWM控制驱动编写 7.完成MPU6050的驱动移植,包含了软件与硬件IMU结算 8.完成ms5611气压计驱动编写 9.完成NRF24L01驱动的编写 10.添加BLE的驱动,尚未进行匹配 #### 2016-09-13 1.增加Control.c函数,具体用来实现PID算法 #### 2016-09-14 1.完成BT驱动的移植,尚未在硬件上调试 #### 2016-10-18 1.增加PID算法部分,暂时无法保持稳定姿态 ## 感激 感谢以下的项目 * [Crazepony](http://www.crazepony.com/) ## 作者信息 姓名:Jerry.XL 邮箱:476623721@qq.com Q Q:476623721 ##扫描二维码关注更多信息 ![二维码](./pic/微信二维码.jpg)