适合小白入门的基础级wifi小四轴设计手把手带你入门! 电路方案
前面完成了小四轴后,看上了手机控的四轴,试玩了一下,不错,就想着DIY出来,漫漫几个月过去了。。。。。终于可以拿出来见人了! 准备全程开源,方便想玩的网友DIY。 板子是在小四轴基础上完善出来的,在经过几次改板后,发现HMC5883的干扰大部分来自板子自身,最后用四层板结构消除。 主控:STM32F103C8 SENSOR: MPU6050 HMC5883 MS5611 电源部分:3-18V IN,输出MAX:750mA 以支持外接设备 外接IO: WIFI GPS PPM并行输入(支持市场上成品接收机) 电机信号PPM输出(支持商用电调)以方便使用在大四轴上。 HMC部分已作消干扰处理,可以在四轴上使用指南针来纠正GIER,锁尾效果更好。 四路LED输出,方便指示工作状态。 电机部分均加二极管续流(此部分在测试时发现,小信号控制时有影响). 另,PPM输入接口为SPI输入,在使用WIFI控制时,方便接入其它设备. 上图: PCBA: 手机界面: 手机软件使用说明: 主板接口说明: 接着上传WIFI模块图片: DIY安装: 程序架构说明: 主要文件 main.c: 例化IO,加载驱动 com.c:打印部分 IOI2C.C: MPU6050 HMC5883 i2c驱动 MPU6050.C: MPU6050驱动及数据读入处理 HMC5883.C: HMC5883驱动及数据读入处理 eeprom.c: 常规数据存储 fc.c: 重要,数据处理,及所有数据耦合,处理。 重要函数:fc.c内 void fly_main(void): 全局处理,协调各部分数据调入,处理 void moto_math(void):重要,姿态数据处理,计算,输出到电机,整机计算在这里, void PPM_main_work(void):PPM遥控数据处理 供 moto_math使用 void PID_data_out(void): PID数据调出 供 moto_math使用 void WIFI_main_work(void):WIFI数据处理,供 moto_math使用 重要点: 1,moto_math(void)内 #ifndef moto_PPM_OUT // 未定义,PWM输出 定义,PPM脉宽输出 未定义,PWM输出,控制MOS,输出直流电机 定义的话,即为输出PPM信号,可以控制商用无刷电调 2,fc.c内 RUN.status: //运行状态,0无信号 1,启动 200.停机, 3,PPM控制和WIFI控制可同时使用, 如果有WIFI控制信号时,PPM自动关闭, 如果WIFI信号丢失,自动打开PPM控制 不想用PPM控制或WIFI控制的网友,只需更改将控制数据输入到PPM[]数组即可。
用户评论