STM32F103C8T6开发板+GY521制作NAZE32飞控板详细图文教程

前言

前几天改造Skye无人机(Skye无人机刷Betaflight详细图文教程),对Betaflight开源飞控有了一定的了解,产生了自制飞控板的念头,网上一番查资料发现可行,现把制作过程记录如下。

1.材料清单

CH340串口下载模块1个(2.5元)

STM32F103C8T6开发板+GY521制作NAZE32飞控板详细图文教程_第1张图片

STM32F103C8T6黑色开发板1个(11.5元)

GY-521加速度计模块1个(3.8元)

STM32F103C8T6开发板+GY521制作NAZE32飞控板详细图文教程_第2张图片

ams1117-3.3电压转换芯片1个(0.38元)

5V有源蜂鸣器1个(0.43元)

STM32F103C8T6开发板+GY521制作NAZE32飞控板详细图文教程_第3张图片

5cm*7cm洞洞板1个(0.45元) 

STM32F103C8T6开发板+GY521制作NAZE32飞控板详细图文教程_第4张图片

肖特基二极管2个

STM32F103C8T6开发板+GY521制作NAZE32飞控板详细图文教程_第5张图片

ss8050三极管2个

STM32F103C8T6开发板+GY521制作NAZE32飞控板详细图文教程_第6张图片

1k电阻2个,10k电阻1个

22uf电容1个

STM32F103C8T6开发板+GY521制作NAZE32飞控板详细图文教程_第7张图片

还有线材、插针若干,以上这些材料大部分可以一站式购齐的,其中一些耗材简直电子爱好者必备,可以适当多买点。

2.焊接飞控板

飞控板原理图如下,要焊接的引脚不多,只是注意一下走线,按照自己的意愿来就可以了。我的焊功太差,还请见谅哈哈~

有三种接收机模式可以选择:SBUS(三根线)、PPM(三根线)、PWM(每个通道都要接线-8根线)。

STM32F103C8T6开发板+GY521制作NAZE32飞控板详细图文教程_第8张图片

 

装到S500四轴机架上的效果如下,注意GY-521的MPU6050芯片置于机架中心 ,朝向与机架前向一致,不一致的话也可以通过软件调节(旋转90°的倍数)。

3.烧写Betaflight固件

将STM32F103C8T6开发板上的两个boot引脚如下设置为Bootloader模式:

b0-->b+

b1-->b-

蓝色板的短接帽接法如下图

将飞控板与CH340串口下载器连接,接线关系如下:

GND-GND;

V3--3V3;

A9(RX)--RXD;

A10(TX)--TXD

如果连接不上电脑,可以尝试把RX/TX对调一下,也可以另接一个5V电源到飞控板上(防止串口下载器供电不足)。

下载Betaflight_NAZE固件:https://github.com/betaflight/betaflight/releases/tag/v3.2.5

笔者也将文件上传到百度网盘了

链接:https://pan.baidu.com/s/1tEI8hrCcxtwFa4gWNcR5PQ 
提取码:71cn

STM32F103C8T6开发板+GY521制作NAZE32飞控板详细图文教程_第9张图片
   打开Betaflight Configurator调参软件(可移步百度网盘下载);

链接:https://pan.baidu.com/s/1tEI8hrCcxtwFa4gWNcR5PQ 
提取码:71cn

选择串口下载器对应的COM口,点击更新固件;

如果你的电脑无法识别串口,需要安装CH340驱动,商家会赠资料,或者找网上教程。

STM32F103C8T6开发板+GY521制作NAZE32飞控板详细图文教程_第10张图片

打开无重启序列选项 (因为我们已经设置为Bootloader模式了),点击从本地电脑加载固件,选择刚才下载的hex文件;

STM32F103C8T6开发板+GY521制作NAZE32飞控板详细图文教程_第11张图片  点击烧写固件;

STM32F103C8T6开发板+GY521制作NAZE32飞控板详细图文教程_第12张图片

开始烧写; 

STM32F103C8T6开发板+GY521制作NAZE32飞控板详细图文教程_第13张图片 烧写成功!再点一次更新固件退出这个页面。

STM32F103C8T6开发板+GY521制作NAZE32飞控板详细图文教程_第14张图片

这个时候要把boot0引脚帽更换一下了,接法如下:

b0-->b-

b1-->b-

蓝色板接线如下图:

 进入下一步设置betaflight参数。

4.软件调试

 打开Betaflight Configurator调参软件,选择串口下载器对应的COM口,点击连接;

STM32F103C8T6开发板+GY521制作NAZE32飞控板详细图文教程_第15张图片

将四轴水平放置,在设置界面里点击 校准加速度计,这时可以上下左右翻转四轴,康康加速度计和图中显示是否一样;

STM32F103C8T6开发板+GY521制作NAZE32飞控板详细图文教程_第16张图片 端口界面,打开UART2串行数字接收机,因为我们要用其作为SBUS接收机输入(若用PPM接收机也要打开,但PWM接收机就不用打开了);STM32F103C8T6开发板+GY521制作NAZE32飞控板详细图文教程_第17张图片

配置界面里,混控模型选择默认即可,也可根据自己的电机布置选择其他类型,只要符合自己四轴的转向;

电调协议为PWM,这里笔者使用的是好盈20A电调,也可以根据自己的电调选择其他协议,直到能驱动电机即可;

打开MOTOR_STOP,防止启动时发生意外;

陀螺仪更新频率不能超过2kHz(图中有误);

接收机选择串行数字接收机,协议选择SBUS;

STM32F103C8T6开发板+GY521制作NAZE32飞控板详细图文教程_第18张图片 动力&电池界面,我们没有在飞控板上焊接测电压电路,选择无电压计;STM32F103C8T6开发板+GY521制作NAZE32飞控板详细图文教程_第19张图片

 默认的PID参数对于S500机架不太友好,笔者试飞的时候一番操作猛如虎,才安全降落了,后期还要专门调试;STM32F103C8T6开发板+GY521制作NAZE32飞控板详细图文教程_第20张图片

Rate参数可以根据自己的情况调节,deg/s越大,摇杆的角度反馈越大(飞行时摇杆拨动一点,飞机就会倾转很大角度); 

STM32F103C8T6开发板+GY521制作NAZE32飞控板详细图文教程_第21张图片 用杜邦线连接SBUS接收机,打开遥控器拨动摇杆,可以看到软件中对应通道变化,大小变化不一致时需要调节遥控器的通道正反。摇杆低位阈值要设置的比油门最小值大一些,否则无法解锁;

STM32F103C8T6开发板+GY521制作NAZE32飞控板详细图文教程_第22张图片

 设置解锁通道和自稳开关,对于新手来说一定要打开自稳开关,否则飞机很难控制; 

点击 添加范围,拨动遥控器上的任何一个扭子开关,可以看到软件中的标志位变化,拖动滑块至对应的开关区域即可;

STM32F103C8T6开发板+GY521制作NAZE32飞控板详细图文教程_第23张图片

设置蜂鸣器开关,飞丢时寻机很有用; 

STM32F103C8T6开发板+GY521制作NAZE32飞控板详细图文教程_第24张图片 其他模式可以自行摸索,这里给出一些说明(摘自http://www.5imx.com/forum.php?mod=viewthread&page=1&tid=1252868)

 Horizon Mode (水平模式) :也是自稳模式,但是可以翻滚,感觉上和玩具的一建翻滚差不多。

    Acro Mode或者Rate mode (手动模式或者比率模式) :根据遥控器杆的输入进行相应比率的动作。真正意义 上的飞行模式就以上三种:角度模式、水平模式、手动模式,其他均为辅助飞行的模式。

    Beeper (蜂鸣器) :当你的通道输出某个值时,蜂鸣器会发声,如果设置了电调的话,电调也会发声。

    Airmode (空中模式) :当油门]打到最低时,还可以控制飞机。如果配置表中勾选了即默认开启,并且在模式列表中隐藏。

    Anti-Gravity (反重力模式) :1 飞行时模拟无重力。 通过检测油门]变化来实时干预PID参数中的|值运算,提供大机动大油门状态下的飞机l值的稳定性。

    一般来说Airmode和Anti-Gravity默认开启, 增加飞行的顺滑。

    Blackbox Start/Erase (黑匣子开启/清除) :名字很明显了。

    Camera Control 1, 2, 3 (相机控制) : 基本用不到,没描述。

    OSD Disable SW (OSD显示去除键) :去除屏幕上的OSD显示。

    Pre-arm (预解锁) :为了防止解锁键误按,多设置一个开关键, 解锁后可以关掉。

    Flip Over After Crash (反乌龟) :炸机后翻身,需要支持Dshot的电调。

    VTX Pit Mode (图传降功率) :图传功率将会降到接近0,为了防止干扰其他玩家。需要图传支持OSD调参,并设置好。

    Failsafe (失控保护) :手动进入失控保护,而不用等遥控器失控。需Betaflight另设置失控保护。

    FPV angle mix (摄像头角度补偿) :简单的来说,就是穿越机的摄像头-般都是朝上一 个角度。这个摄像机角度轴线和机身轴线有一个角度。如果飞机以机身角度横滚,那么从你的摄像头里面看出去会混合一个俯仰角度进去, 因为两个轴线不重合。

    Baro或alt hold (定高模式) :也就是barometer (气压计)的意思,使用气压计定高。

    Telemetry (遥控信号) :资料找不到Headfree (无头模式或简单模式) :当机头朝某个方向解锁,则方向杆向上打则是飞往那个指向,此时打油方向杆机头会转动,但方向杆向上打还是往那个方向飞。

    Headadj (头调整模式或超级简单模式) :不管机头往哪个方向朝,向杆向上打则是往你起飞点远处飞,向上打则是往你起飞点飞。(好像要GPS ,我只试过apm飞K控)Paralyze (瘫痪模式) :团队赛时,使用备用机,同时为了防止解锁坠毁的飞机。当在锁定时

    可以启动,启动后关闭模式改变、图传改成不常用频段且低功率输出、关闭遥控信号。解锁时

    会检测瘫痪模式是否开启。

    Acro trainer (手动模式练习) :和手动模式-样,但是有角度限制,新手可以慢慢加大限制角度。

 不装螺旋桨的情况下,打开我已了解风险,上电拖动滑块,对应通道的电机即可旋转。用手轻触电机侧面,判断电机转向是否与软件中相同;

STM32F103C8T6开发板+GY521制作NAZE32飞控板详细图文教程_第25张图片

CLI命令行里面,可以设置命令设置、查看飞控参数 ,比如输入resource回车会显示所有引脚使用情况;输入set回车会显示参数设置;get beeper回车会显示所有与beeper相关的命令,更多可以参考https://github.com/betaflight/betaflight;

这里我们把led 1引脚改一下,因为STM32F103C8T6黑色开发板上已经提供了一个led位于PB12;

resource LED 1 B12

输入以上命令,回车,再输入save回车保存设置; 

另外,如果蜂鸣器一直响或者一直不响,可以尝试set beeper_inversion = ON(或OFF)命令;

SBUS接收机不能识别可以尝试set sbus_inversion = ON(或OFF)命令;

STM32F103C8T6开发板+GY521制作NAZE32飞控板详细图文教程_第26张图片 所有设置已经完成了,现在可以装桨试飞啦~~~

5.试飞效果

试飞视频已上传B站

[DIY] 不到20元自制无刷四轴飞控(刷Betaflight固件),性能碾压60元的QQ飞控

默认的PID参数试飞S500四轴时很不稳定,需要慢慢调节,试飞时最好找块松软的草地,保护桨和机身。断了两根桨之后,笔者终于调好了PID,适用于S500机架的PID参数如下图。其实只是将三个方向的I和D值设为0即可,飞行时注意要开自稳模式。

STM32F103C8T6开发板+GY521制作NAZE32飞控板详细图文教程_第27张图片

相关资料下载

链接:https://pan.baidu.com/s/1tEI8hrCcxtwFa4gWNcR5PQ 
提取码:71cn

参考链接

https://www.jianshu.com/p/e5c6d30dec51

你可能感兴趣的:(飞控,STM32)