標題: 無刷電調基礎知識以及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韌體。
- 主要處理器是F330和F39X系列的F390和F396。
- Busybee處理器是F330和F39X的升級。有BusyBee1(EFM8BB10F8)和BusyBee2(EFM8BB21F16)兩種。
- ARM 32位:支援BLHeli_32韌體。
電調協議
- 電調協議是飛行控制器和電呼叫於通訊的語言,決定了訊號從飛控到電調的傳送速度。
- 四軸飛行器使用的電調協議及訊號寬度
- Standard PWM :1000us – 2000us
- Oneshot125:125us – 250us
- Oneshot 42:2us – 84us
- Multishot:5us – 25us
- Dshot
- Dshot150 :106.8us
- Dshot300 :53.4us
- Dshot600 :26.7us
- DShot1200:13.4us
- ProShot
電調BEC
- BEC表示 電池消除電路,本質上是電壓調整器。作用是將主電池組的電壓降壓到5V輸出。
- 通常內建在電調中,消除了為5V電子裝置供電所需的單獨電池的麻煩。
BLHeliSuite
手冊
- BLHeliSuite的手冊位於BLHeliSuite的Manuals目錄
- 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的通訊協議
介面卡
首次重新整理電調韌體
- 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)
介面。
- Arduinos:使用
- Atmel MCUs電調支援以下介面卡
- Arduinos:使用
ATMEL ISP Interface (AVRDude)
介面。初次使用Arduinos作為介面卡時需要對Arduinos進行程式設計燒錄。 - USBasp:使用
ATMEL ISP Interface (AVRDude)
介面。
- Arduinos:使用
重新整理電調載入程式
- 重新整理電調載入程式為BLHeli主要有
USB/Com
和4way-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
操作說明
前期準備
- 下載Arduino Nano所用的USB轉串列埠晶片CH340C的驅動程式CH341SER.ZIP,安裝驅動。
- 下載BLHeliSuite,一般下載
BLHeliSuite16714902.zip
即可。 - 根據電調外觀和資訊,查閱手冊
BLHeli supported xx ESCs.pdf
以確定電調型號。或者根據電調PCB確定電調的主控晶片型號。 - 根據電調的主控晶片型號,查閱手冊
BLHeli programming adapters.pdf
以確定需要用到的介面卡和介面,以及介面卡的製作方法。 - 根據所使用的介面卡和所需操作使用的介面,查閱手冊
BLHeliSuite 4w-if interfaces pinout.pdf
以確定引腳連線。
製作介面卡
- 連線介面卡和電腦,開啟BLHeliSuite。
- 點選Make interfaces標籤頁。
- 點選Port選擇USB-SERIAL CH340 對應的埠,點選Arduino Board選擇Nano w/ ATmega328開發板,點選Baud選擇115200波特率,點選Arduino 4way-interface。
- 點選OK,選擇最後一個檔案後點選開啟。
- 點選Yes。
- 等待燒錄Arduino,出現Arduino flashed sucsessfully by Avrdude表示已成功將Arduino Nano燒錄為介面卡。點選OK。
連線電調
- 連線介面卡和電調(VCC GND C2D C2CK)。
- 點選Select ATMEL/SILABS Interface選擇SILABS C2 (4way-if)介面。
- 點選SiLabs ESC Setup標籤頁。
- 點選Port選擇USB-SERIAL CH340 對應的埠,點選connect,點選Read setup讀出電調引數設定。
- 出現setup read successfully表示已成功連線到電調並讀取到電調的引數。點選OK。
重新整理韌體
- 點選Flash BLHeli
- 在彈出的視窗中選擇韌體名稱、韌體型別(MAIN:直升機主槳;TAIL:直升機尾槳;MULTI:多槳)、韌體版本,點選OK。
- 點選Yes。
- 等待燒錄韌體,出現sucsessfully表示已成功將電調韌體燒錄到電調。點選OK。在下一個彈出的視窗中點選Yes。
調整引數
- 點選ESC Setup選擇Save Setup to ini file 以備份電調當前的引數。
- 修改電調引數。降低啟動功率,降低電調輸出的PWM頻率,開啟低轉速功率保護。
- 點選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並不是真實型號,升級韌體可能導致電調燒燬。
- 電調在驅動電機運轉前需要執行解鎖序列以進行解鎖
- 上電時, 電調發出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。
參考資料
- FPV無人機ESC購買指南-Oscar Liang
- ESC韌體和協議概述-Oscar Liang
- 直流無刷電機工作原理
- 無刷電機和電子調速器(ESC)是如何工作的
- PPM訊號介紹
- Arduino 開發板介紹及對比
- 用arduino uno R3做Blheli程式設計介面卡程式設計航模電調
- BLHeli無刷電調韌體燒寫及調參(解決電機低速抖動及正反轉)
- BLHeli無刷電調 調參介紹 某寶八元電調
- 懶人免焊接傻瓜包會從零開始給電調刷BLHELI韌體
- MTO1804無刷電機引發的悲慘經歷之二:電調韌體重新整理與優化
版權宣告:本文為「夢幻之心星」原創,依據 CC BY-NC-SA 4.0 許可證進行授權,轉載請附上原文出處連結及本宣告。
部落格園地址:https://www.cnblogs.com/Sky-seeker
微信公眾號:關注微信公眾號,獲取即時推送