Skye无人机刷Betaflight详细图文教程

前言

首先十分感谢B站TASKBL up主的视频教程以及他的耐心指导,视频链接https://www.bilibili.com/video/BV1gE411V7RN。整个改造过程耗时三天,现把改造过程以及遇到的一些问题记录下来。

1.材料清单

ST-LINK V2下载器、USB数据线、电烙铁、杜邦线及插针若干。

2.电路改造

拆下5颗固定螺丝,用电烙铁焊除4根电源线,取下整块电路板。

主板底面需要拆除一颗8脚芯片——SN65HVD232D,因其会影响USB烧写,然后如图将其中四个引脚引出,其中

USB_DP——USB数据线绿线

GND      ——USB数据线黑线

VCC      ——USB数据线红线

USB_DP——USB数据线绿线

可以采用4P接口,方便拆装操作,USB数据线与电脑连接进行调试。

下一步去除图中4颗螺丝,拆开主板正面对应的小黑块(小心排线),去除里面的加热片,因为刷完BF之后其会一直加热烧坏芯片。拆除之后可用热熔胶或者704硅橡胶把里面填充一下。

 SN65HVD232D封装图如下

3.烧写Betaflight固件

硬件改造完成后,就可以开始往主控里烧写程序啦~

将ST-LINK下载器的引脚与SWD下载接口连接,对应关系如图所示。

将下载器插入电脑,打开STM32 ST-LINK Utility软件,点击连接;

相关资料下载链接https://pan.baidu.com/s/1HTZUcf7GND3u7nu0Bez0Eg
提取码:lw5f 

 

点击Target》Program...;

 打开Betaflight固件hex文件(在网盘链接文件中),点击烧写。这里笔者使用的是4.0.0固件,高版本的固件无法启动笔者的电机,不知其他机器如何。

烧写完成就可以将ST-LINK断开连接了,进入下一步Betaflight设置。

4.Betaflight飞控设置

打开Betaflight Configurator调参软件,将之前接好的USB数据线连接电脑,选择对应端口,点击连接;

没有开始设置之前是这样的界面,主控没有识别到传感器,所以需要进行CLI命令行调试。

Image

点击CLI(命令行),将下面的命令粘贴,回车执行命令,之后输入save,回车保存配置;

CLI命令段: 

# start the command batch
batch start

board_name STM32F405
manufacturer_id STM32F

# name: STM32F

# resources
resource MOTOR 1 B06
resource MOTOR 2 B09
resource MOTOR 3 B08
resource MOTOR 4 B07
resource SERIAL_TX 1 A09
resource SERIAL_TX 2 A02
resource SERIAL_TX 4 A00
resource SERIAL_TX 6 C06
resource SERIAL_RX 1 A10
resource SERIAL_RX 1 A10
resource SERIAL_RX 4 A01
resource SERIAL_RX 5 D02
resource I2C_SCL 2 B10
resource I2C_SDA 2 B11
resource LED 1 A08
resource BEEPER 1 B05
resource SPI_SCK 1 A05
resource SPI_SCK 2 B13
resource SPI_SCK 3 C10
resource SPI_MISO 1 A06
resource SPI_MISO 2 B14
resource SPI_MISO 3 C11
resource SPI_MOSI 1 A07
resource SPI_MOSI 2 B15
resource SPI_MOSI 3 C12
resource ADC_BATT 1 C02
resource ADC_CURR 1 C01
resource BARO_CS 1 A15
resource FLASH_CS 1 B12
resource GYRO_EXTI 1 C07
resource GYRO_CS 1 B12
# master
set gyro_lowpass2_hz = 300
set dyn_lpf_gyro_min_hz = 240
set dyn_lpf_gyro_max_hz = 600
set acc_calibration = -34,198,-36,1
set mag_spi_device = 1
set mag_hardware = NONE
set baro_spi_device = 3
set mid_rc = 1520
set min_check = 1200
set rc_smoothing_derivative_type = BIQUAD
set serialrx_provider = SBUS
set adc_device = 2
set blackbox_p_ratio = 4
set min_throttle = 900
set motor_pwm_protocol = OFF
set failsafe_throttle = 1100
set failsafe_procedure = AUTO-LAND
set current_meter = ADC
set current_meter = ADC
set battery_meter = ADC
set beeper_inversion = ON
set beeper_od = OFF
set yaw_motors_reversed = ON
set deadband = 2
set yaw_deadband = 2
set pid_process_denom = 16
set system_hse_mhz = 8
set dashboard_i2c_bus = 1
set flash_spi_bus = 2
set gyro_1_bustype = SPI
set gyro_1_spibus = 2
set gyro_1_sensor_align = CW0FLIP
set gyro_1_align_pitch = 1800

profile 0

# profile 0
set dyn_lpf_dterm_min_hz = 84
set dyn_lpf_dterm_max_hz = 204
set dterm_lowpass2_hz = 180
set dterm_lowpass2_hz = 180
set acro_trainer_angle_limit = 25
set p_pitch = 110
set i_pitch = 135
set d_pitch = 92
set f_pitch = 171
set p_roll = 101
set i_roll = 128
set d_roll = 84
set f_roll = 162
set p_yaw = 72
set i_yaw = 135
set f_yaw = 144
set d_min_roll = 48
set d_min_pitch = 53

rateprofile 0

# rateprofile 0
set roll_rc_rate = 95
set pitch_rc_rate = 95
set yaw_rc_rate = 95
set roll_expo = 10
set pitch_expo = 10
set yaw_expo = 10
set roll_srate = 10
set pitch_srate = 10
set yaw_srate = 10

save

现在就可以识别到传感器了,更多命令可以参考https://github.com/betaflight/betaflight

将无人机水平放置,点击校准加速度计进行调平;

端口设置里面,设置UART4波特率,启动UART5串行数字接收机(与SBUS接收机通信);

配置界面中,设置混控类型为Quad X 1234并打开反转电机转向,这样才与无人机的电机转向匹配;

电调协议为PWM,打开MOTOR_STOP,防止启动时发生意外;

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

PID参数按照默认即可,飞行很稳定; 

 Rate参数可按图中设置,使遥控器拨杆没有那么灵活,这款无人机较重不需要过大角度反馈;

进入接收机界面,拨动摇杆,可以看到对应通道值的变化,摇杆低位阈值要设置的比油门最小值大一些,否则无法解锁;

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

其他模式可以自行摸索,这里给出一些说明(摘自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 (手动模式练习) :和手动模式-样,但是有角度限制,新手可以慢慢加大限制角度。

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

所有设置已经完成了,现在即可试飞啦~ 

5.更换遥控器方法

官方说原装遥控器只能遥控200m,所以笔者更换了其他遥控器。取下原装接收机,如图引出主控的SBUS引脚;

按照下图焊接取反电路,即可实现对接其他遥控器。 好像软件也可以取反,但是4.0.0固件不支持,更高版本的固件可以尝试执行这个命令,如果可以执行则不用硬件取反了。


set sbus_inversion = OFF

如图为3.3V焊点,5V电压可以使用L7805将电源降压获得。

6.焊接蜂鸣器

这一步可跳过,不影响实际飞行,只是方便飞手判断飞控状态。但是这一步焊接需要一定的焊功,引脚很容易粘连,一定要使用尖头烙铁!笔者就差一点翻车。如图焊接蜂鸣器电路即可。

STM32F405RGT6主控的引脚封装及资源使用如下:

---------------------------------------------------------------------

相关资料下载

链接:https://pan.baidu.com/s/1HTZUcf7GND3u7nu0Bez0Eg
提取码:lw5f 

最后再次感谢B站TASKBL up主提供的支持与帮助!

发布了16 篇原创文章 · 获赞 26 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/weixin_42268054/article/details/105135964