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


標題: 無刷電調基礎知識以及BLHeli韌體燒錄和參數調整
作者: 夢幻之心星    [email protected]
標籤: [#基礎知識,#電調,#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將參數寫入電調。
  • 多軸編程參數表
    多軸編程參數表

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

    英文參數 中文參數 參數說明
    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電調介面標號為1、2、3、4、5、X。通過介面所對應的標號,可以在Make interfaces介面方便快捷的得知需要製作的適配器。
  • 在使用Arduino Nano w/ ATmega328P作為適配器時。如果Arduino Nano使用的是舊版的引導程式,波特率設置為57600;如果Arduino Nano使用的是新版的引導程式,波特率設置為115200
    Arduino Nano w/ ATmega328P 引導程式燒錄設置

參考資料


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


部落格園地址://www.cnblogs.com/Sky-seeker
微信公眾號:關注微信公眾號,獲取即時推送
微信名:夢幻之心星 微訊號:Sky-seeker