無刷電調基礎知識以及BLHeli固件燒錄和參數調整


標題: 無刷電調基礎知識以及BLHeli固件燒錄和參數調整
做者: 夢幻之心星    sky-seeker@qq.com
標籤: [#基礎知識,#電調,#BLHeli,#固件,#燒錄,#調參]
目錄: [電調]
日期: 2021-02-01

基礎知識

電調

  • ESC表明電子速度控制器,簡稱爲電調。電調從飛行控制器接收油門信號,並以所需速度驅動無刷電機。
    電調工做原理

電調固件

  • 電調固件是在每一個電調上運行的軟件,它肯定電調的性能,支持的協議以及可使用的配置接口。電調可使用的固件取決於硬件。
  • SimonK:最古老的兩種開源電調固件之一,已通過時再也不更新。
  • BLHeli:最古老的兩種開源電調固件之一,因爲其普遍的功能和友好的用戶界面而變得流行。
  • BLHeli_S:BLHeli固件的第二代。專門爲具備Busybee處理器的電調開發。
  • BLHeli_32:第三代和最新一代BLHeli固件。專門爲32位電調編寫,再也不開源。

電調處理器

  • 市場上大多數電調使用ATMEL、Silabs和ARM的處理器。不一樣的處理器具備不一樣的規格和功能,而且受不一樣的固件支持。
  • ATMEL 8位:支持SimonK和BLHeli固件。
  • SILABS 8位:支持BLHeli或BLHeli_S固件。
    • 主要處理器是F330F39X系列的F390F396
    • Busybee處理器是F330和F39X的升級。有BusyBee1(EFM8BB10F8)和BusyBee2(EFM8BB21F16)兩種。
  • ARM 32位:支持BLHeli_32固件。

電調協議

  • 電調協議是飛行控制器和電調用於通訊的語言,決定了信號從飛控到電調的發送速度。
  • 四軸飛行器使用的電調協議及信號寬度

電調BEC

  • BEC表示 電池消除電路,本質上是電壓調整器。做用是將主電池組的電壓降壓到5V輸出。
  • 一般內置在電調中,消除了爲5V電子設備供電所需的單獨電池的麻煩。

BLHeliSuite

手冊

  • BLHeliSuite的手冊位於BLHeliSuiteManuals目錄
  • BLHeliSuite的手冊主要文件內容:
    • BLHeli manual xx xx.pdf:Atmel MCU和SiLabs MCU的電調的參數
    • BLHeli programming adapters.pdf:適配器的製做和使用
    • BLHeli supported xx ESCs.pdf:支持的Atmel和SiLabs電調的圖片及參數
    • BLHeliSuite 4w-if interfaces pinout.pdf:Arduino板上用於Atmel/SiLabs電調的BLHeliSuite的4w-if的引腳配置
    • BLHeliSuite 4w-if protocol.pdf:用於Atmel/SiLabs電調的BLHeliSuite的4w-if的通訊協議
      BLHeliSuite的Manuals目錄

適配器

首次刷新電調固件
  • SiLabs MCUs電調支持如下適配器
    • Arduinos:使用SILABS C2 (4way-if)接口。初次使用Arduinos做爲適配器時須要對Arduinos進行編程燒錄。
    • SiLabs Toolstick:使用SILABS C2 (Toolstick) 接口。
    • USB Flashing stick:使用SILABS C2 (Toolstick) 接口。
    • BLHeli Skywalker stick:使用SILABS C2 (Toolstick) 接口。
  • Atmel MCUs電調支持如下適配器
    • Arduinos:使用ATMEL ISP Interface (AVRDude) 接口。初次使用Arduinos做爲適配器時須要對Arduinos進行編程燒錄。
    • USBasp:使用ATMEL ISP Interface (AVRDude) 接口。
刷新電調引導程序
  • 刷新電調引導程序爲BLHeli主要有USB/Com4way-if兩種類型的接口。
  • Arduinos(4way-if):使用SILABS BLHeli Bootloader (4way-if)ATMEL BLHeli Bootloader (4way-if) 接口。使用Arduinos做爲適配器時須要對Arduinos進行編程燒錄。
  • Arduinos(USB/UART 1-Wire bridge):使用SILABS BLHeli Bootloader (USB/Com)ATMEL BLHeli Bootloader (USB/Com) 接口。使用Arduinos做爲適配器時須要對Arduinos進行編程燒錄。
  • Favourite stick:使用SILABS BLHeli Bootloader (USB/Com)ATMEL BLHeli Bootloader (USB/Com) 接口。
  • FTDI stick:使用SILABS BLHeli Bootloader (USB/Com)ATMEL BLHeli Bootloader (USB/Com) 接口。
  • Multistar stick:使用SILABS BLHeli Bootloader (USB/Com)ATMEL BLHeli Bootloader (USB/Com) 接口。

背景說明

  • 適配器:Arduino Nano ATMEGA328P
  • 電調:主控芯片SIL F330,功率管AON6504,供電1-4S,電流20A-30A,無BEC
    電調圖片

操做說明

前期準備

  1. 下載Arduino Nano所用的USB轉串口芯片CH340C的驅動程序CH341SER.ZIP,安裝驅動。
  2. 下載BLHeliSuite,通常下載BLHeliSuite16714902.zip便可。
  3. 根據電調外觀和信息,查閱手冊BLHeli supported xx ESCs.pdf 以肯定電調型號。或者根據電調PCB肯定電調的主控芯片型號。
  4. 根據電調的主控芯片型號,查閱手冊BLHeli programming adapters.pdf以肯定須要用到的適配器和接口,以及適配器的製做方法。
  5. 根據所使用的適配器和所需操做使用的接口,查閱手冊BLHeliSuite 4w-if interfaces pinout.pdf 以肯定引腳鏈接。

製做適配器

  1. 鏈接適配器和電腦,打開BLHeliSuite。
  2. 點擊Make interfaces標籤頁。
  3. 點擊Port選擇USB-SERIAL CH340 對應的端口,點擊Arduino Board選擇Nano w/ ATmega328開發板,點擊Baud選擇115200波特率,點擊Arduino 4way-interface
    製做接口-主界面
  4. 點擊OK,選擇最後一個文件後點擊打開
  5. 點擊Yes
    製做接口-確認對話框
  6. 等待燒錄Arduino,出現Arduino flashed sucsessfully by Avrdude表示已成功將Arduino Nano燒錄爲適配器。點擊OK
    製做接口-燒錄成功界面

鏈接電調

  1. 鏈接適配器和電調(VCC GND C2D C2CK)。
    引腳鏈接圖
  2. 點擊Select ATMEL/SILABS Interface選擇SILABS C2 (4way-if)接口。
    接口選擇
  3. 點擊SiLabs ESC Setup標籤頁。
  4. 點擊Port選擇USB-SERIAL CH340 對應的端口,點擊connect,點擊Read setup讀出電調參數設置。
    鏈接電調
  5. 出現setup read successfully表示已成功鏈接到電調並讀取到電調的參數。點擊OK

刷新固件

  1. 點擊Flash BLHeli
  2. 在彈出的窗口中選擇固件名稱、固件類型(MAIN:直升機主槳;TAIL:直升機尾槳;MULTI:多槳)、固件版本,點擊OK
    刷新固件
  3. 點擊Yes
    刷新固件-確認對話框
  4. 等待燒錄固件,出現sucsessfully表示已成功將電調固件燒錄到電調。點擊OK。在下一個彈出的窗口中點擊Yes

調整參數

  1. 點擊ESC Setup選擇Save Setup to ini file 以備份電調當前的參數。
    備份電調設置
  2. 修改電調參數。下降啓動功率,下降電調輸出的PWM頻率,開啓低轉速功率保護。
    電調參數設置
  3. 點擊Write setup將參數寫入電調。
  • 多軸編程參數表
    多軸編程參數表php

  • 電調參數說明,詳見官方手冊BLHeli manual xx xx.pdfhtml

    英文參數 中文參數 參數說明
    Startup power 啓動功率 啓動時容許的最大功率,實際的功率取決於油門的輸入。
    Motor timing 電機進角 一般設置中進角即適用於大部分電機,但若是電機運轉不暢時,能夠嘗試改變進角。
    Demag compensation 消磁補償 防止電機換向後消磁時間過長而引發的電機停轉。補償值越高,保護越好。但補償值過高,會下降最大功率。
    Motor direction 電機轉向 在雙向模式下,油門中點爲零點,中點以上爲正轉,中點如下爲反轉。
    Startup Beep Volume 蜂鳴器音量 設置正常運行下蜂鳴音量。
    Beacon/Signal Volume 信標音量 設置信標的音量。若是零油門信號的時間超過一個設定的時間,電調控制馬達發出警報聲。以便於找回丟失的飛行器。
    Beacon delay 信標延遲 設置信標開始發出以前的延時。
    PPM Min throttle;
    PPM max throttle;
    PPM center throttle
    最小油門;
    最大油門;
    中位油門
    設置電調的油門行程量。中位油門只用於雙向模式。正常狀況下, 油門信號值在1000us-2000us之間。 對於其餘數值輸入信號, 則須要作相應比例換算。
    Temperature protection 溫度保護 溫度保護閥值能夠設置爲80℃-140℃。
    Low RPM power protect 低轉速功率保護 禁用能夠保證低KV電機在低電壓運行時實現全功率。可是禁用後會加重同步丟失的風險,致使燒壞電機。
    Brake on stop 停車制動 在通電狀態,零油門時會有剎車功能。若是油門沒有零點,此項設置無效。
    Closed Loop Mode 閉環模式 設置控制環的運行速度範圍。在閉環模式下,運行時的油門值對應電機的轉速目標。關閉時將禁用控制環。
    Closed Loop P-Gain 閉環比例增益 設置轉速控制環的比例增益。控制從速度偏差到電機功率的增益。
    Closed Loop I-Gain 閉環積分增益 設置轉速控制環的積分增益。控制從積分速度偏差到電機功率的增益。
    Motor Gain 電機增益 縮放給定輸入施加到電機的功率。僅適用於PWM輸入,對PPM輸入則無效。會限制電機的最大功率。
    PWM Output Dither PWM輸出抖動 增長電機PWM關閉週期的長度。減小在PWM頻率等於電機換向頻率的諧波的轉速區域中的問題,而且能夠減小達到全油門的步進。不適用於閉環模式。
    PWM Frequency/Damped PWM頻率/阻尼 設置電調輸出的PWM頻率。高PWM頻率約爲20kHz,低PWM頻率約爲8kHz,輕阻尼模式始終使用高pwm頻率。低頻率PWM減少了到滿功率的步進。輕阻尼模式會增長電機的損耗,從而加快減速速度。
    Enable PWM Input 啓用PWM輸入 若是禁用,則僅接受1-2ms 脈寬的PPM和 OneShot125(125-250us)做爲有效輸入信號。啓用後支持1kHz,2kHz,4kHz,8kHz和12kHz 的PWM輸入信號。
    Input Polarity 輸入極性 用於反轉油門。與提供負PWM的接收器一塊兒使用。使用PPM輸入時,必須將其設置爲正。

注意事項

  • 聽說電調名稱所寫的FVT Littlebee 20A並非真實型號,升級固件可能致使電調燒燬。
  • 電調在驅動電機運轉前須要執行解鎖序列以進行解鎖
    1. 上電時, 電調發出3聲蜂鳴聲。
    2. 當檢測到油門信號時, 發出一聲低音。 表示解鎖信號序列開始。
    3. 當油門減少到零時, 發出一聲高音。 表示解鎖信號序列結束。
      電調解鎖序列
  • SILABS電調接口標號爲A、B、C、D,Atmel電調接口標號爲一、二、三、四、五、X。經過接口所對應的標號,能夠在Make interfaces界面方便快捷的得知須要製做的適配器。
  • 在使用Arduino Nano w/ ATmega328P做爲適配器時。若是Arduino Nano使用的是舊版的引導程序,波特率設置爲57600;若是Arduino Nano使用的是新版的引導程序,波特率設置爲115200
    Arduino Nano w/ ATmega328P 引導程序燒錄設置

參考資料


版權聲明:本文爲「夢幻之心星」原創,依據 CC BY-NC-SA 4.0 許可證進行受權,轉載請附上原文出處連接及本聲明。編程


博客園地址:https://www.cnblogs.com/Sky-seeker
微信公衆號:關注微信公衆號,獲取即時推送
微信名:夢幻之心星 微信號:Sky-seeker微信

相關文章
相關標籤/搜索