zoukankan      html  css  js  c++  java
  • Skye无人机刷Betaflight详细图文教程

    前言

    首先十分感谢B站TASKBL up主的视频教程以及他的耐心指导,视频链接Skye 原机主板刷BetaFlight 参考教程_哔哩哔哩_bilibili。整个改造过程耗时三天,现把改造过程以及遇到的一些问题记录下来。

    1.材料清单

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

    2.电路改造

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

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

    USB_DP——USB数据线绿线

    GND      ——USB数据线黑线

    VCC      ——USB数据线红线(这里最好用AMS1117-3.3将USB的5V转为3.3V,因为芯片供电是2.6-3.6V)

    USB_DP——USB数据线绿线

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

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

    ​ SN65HVD232D封装图如下

    3.烧写Betaflight固件

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

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

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

    相关资料下载链接:百度网盘 请输入提取码
    提取码: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

    现在就可以识别到传感器了,更多命令可以参考GitHub - betaflight/betaflight: Open Source Flight Controller Firmware

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

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

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

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

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

    AIRMODE的作用是在零油门时依然能够维持飞机的姿态,但是会在飞机解锁后直接启动电机,建议开启。

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

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

    后来又调节的一套PID,只调整了横滚、俯仰的P和D值

    PID的作用概述:
    1、P产生响应速度和力度,是I和D的基础
        过小响应慢(虽然无震荡)
        过大会产生振荡且不断发散
    2、D抑制过冲和振荡,抵抗外界的突发干扰,阻止系统的突变。
        过小系统会过冲
        过大会减慢响应速度(虽然不引起过冲)
    3、I在有系统误差和外力作用时消除偏差、提高精度,同时也会增加响应速度,产生过冲
        过小时消除偏差的速度慢
        过大会产生振荡

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

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

    其他模式可以自行摸索,这里给出一些说明(摘自翻译一些betaflight的东西 - 5iMX.com 我爱模型

        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 (手动模式练习) :和手动模式-样,但是有角度限制,新手可以慢慢加大限制角度。

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

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

    友情提醒:接非原装电池的话,只能2-3S电池,因为主板电压转换芯片耐压只有16V,4S电池会将其烧坏!

    解锁电机前要把油门按到最低,起飞时缓慢抬油门(因为原装遥控器油门是自动回中的)。

    5.更换遥控器方法

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

    按照下图焊接取反电路,即可实现对接其他遥控器。

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

    6.焊接蜂鸣器

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

    7.原装电池改造

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

    -----------------------------------祝爽飞!----------------------------------

    笔者也将教程上传至B站(Skye无人机刷Betaflight详细图文教程),欢迎评论、点赞、投币哈~

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

    相关资料下载

    链接:百度网盘 请输入提取码
    提取码:lw5f 

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

  • 相关阅读:
    PHP微信公众号支付,JSAPI支付方法,ThinkPHP5+微信支付
    PHP微信扫码支付DEMO,thinkphp5+微信支付
    解决vue axios跨域请求发送两次问题
    解决navicat远程连接mysql很卡的问题
    GIT的工作原理和基本命令
    简单好用的网站压力测试工具
    vscode中让html中php代码高亮
    redis的安装及使用总结
    tp32-layuicms项目介绍
    vscode Vue格式化HTML标签换行问题
  • 原文地址:https://www.cnblogs.com/cai-zi/p/15473422.html
Copyright © 2011-2022 走看看