玩航模的對于Blheli這個詞語應該很熟悉,Blheli只是一個電調(diào)固件程序,一個非常強大的固件,一個完全開源的固件程序,刷了該固件立馬可以讓幾十元的電調(diào)瞬間擁有幾百元電調(diào)的功能,在此同時響應速度提升N倍,是玩3D或者多軸的利器!它沒有專門的圖紙,針對性的編譯了市場上常見的電調(diào)固件,對每款型號電調(diào)都有相應的配置文件,可以自己配置編譯。由于BlHeli固件的開源和高速響應速度,有人為它專門設計了可視化的PC端設置軟件BLHeliSuite,人性化的菜單界面,這些都為我們詳細設置帶來方便。
關于Blheli的源代碼可以在Blheli的維基下載:https://github.com/bitdump/BLHeli 本文只針對BlHeli13.2版本進行實踐介紹,設置軟件BLHeliSuite在維基主頁下方有具體網(wǎng)址。
在正式刷電調(diào)之前首先介紹下航模電調(diào),航模電調(diào),是航空模型用電子調(diào)速器的簡稱,英文名Air-modeling ESC。現(xiàn)在的航模電子調(diào)速器一般都是無刷電子調(diào)速器。由于無刷電機在同功率下體積要比有刷大大減少,所以有刷現(xiàn)在在市場上已經(jīng)漸漸式微了。現(xiàn)在的航模電調(diào)品牌國外以美國的鳳凰最為出名,國內(nèi)主要品牌有:好盈,中特威,飛盈佳樂等品牌。
電調(diào)可以分為兩個不同的硬件平臺,這取決與它使用的MCU是Silabs(Silabs是C8051內(nèi)核,C8051Fxxx系列單片機)還是Atmel(Atmel是AVR內(nèi)核,ATMEGA-8單片機)。兩個硬件平臺的選項部分不同。下稱silabs電調(diào)和Atmel電調(diào)。無論是silabs電調(diào)還是atmel電調(diào)都是支持引導程序(bootloader,下稱引導程序或引導)的,引導程序是燒寫在電調(diào)上的一小段代碼,它可以支持通過信號線來燒寫固件和設置參數(shù)。但是對于沒有引導程序的電調(diào),第一次燒寫必須使用常規(guī)的方式,并且寫入引導程序后才能在后續(xù)支持單線燒寫(單線燒寫方式不重點說,文中以普通方式為主,因為電調(diào)又不天天更新程序,有些電調(diào)因為PPM輸入端有電阻,導致單線燒寫無法正常工作,所有文中主要說普通燒寫方式,解決實際應用為主)。
在刷航模電調(diào)Blheli固件前需要做一些準備工作
1、arduino uno R3開發(fā)板一塊(XP下安裝驅(qū)動比較容易,驅(qū)動文件在下載的固件文件夾里面有,如果是WIN7或者 以 上版本系統(tǒng),打不上驅(qū)動是因為Ghost版本系統(tǒng)精簡了系統(tǒng)文件導致,解決方法是下載微軟官方原版鏡像 進行安裝,保證問題解決)

2、Blheli固件 (維基下載 https://github.com/bitdump/BLHeli 文件夾里面有詳細支持電調(diào)種類PDF文檔)
3、BLHeliSuite PC端設置軟件BLHeliSuite13.2版本(文件夾里有詳細刷機方式,接線圖,參數(shù)資料,支持電調(diào) 種類等PDF文檔)

BLHeliSuite13.2版本,增加了些功能,其中單線燒錄最為突出,菜單也有所改進,具體的請看圖片
其中菜單上紅線框的部分,上部分A、B、C、D為Silabs電調(diào)菜單,1、2、3、4、5、X為Atmel電調(diào)菜單,這里這些標號并不是通常軟件中的快捷鍵,這個是為后文的簡單刷機做下鋪墊,利用arduino uno R3刷Blheli固件,在這個過程由于電調(diào)MCU不同和需要刷的方式也不同,arduino uno R3開發(fā)板充當?shù)慕巧膊煌煌慕巧托枰獙?/font>arduino uno R3開發(fā)板刷入不同的程序,我們只需看需要刷機的方式所對應的標號,就能看出需要對arduino uno R3開發(fā)板刷入相應程序

上圖和下圖對號入座,比如要用B方式進行刷機,那么我們就要對arduino uno R3開發(fā)板刷入Make Arduino general 程序
當然D、2、3方式刷機也用該程序,這樣就不需要死記硬背了,很方便,很靈活
下面說具體刷電調(diào)過程,Silabs電調(diào)首次刷機使用B方式(C2方式),Atmel電調(diào)首次刷機使用X方式(ISP方式),這個是必須的,至于為什么,自己去看看兩款單片機的編程資料,以下刷機步驟用圖文合并,多圖少字,簡單直接。
Silabs電調(diào)首次刷機,打開BLHeliSuite13.2設置軟件,進入make Interfaces 菜單對arduino uno R3寫入程序,讓它變成常規(guī)編程器


等待刷入數(shù)據(jù)


燒寫完畢!下面看硬件,實驗電調(diào)為好贏天行者40A
內(nèi)部結(jié)構(gòu),后期查看固件名稱需要對照硬件圖片

支持電調(diào)類型文檔在BLHeliSuite根目錄下Manuals文件夾里

查看天行者40A電調(diào)硬件圖對應的固件名稱 :skywalker 40A

需要提示的是Silabs電調(diào)基本上預留了燒錄的觸點,這為我們后期燒錄方便了許多,看圖拿條舵機線按顏色焊上

電調(diào)焊接好了,需要把電調(diào)連接到arduino uno R3開發(fā)板,具體連接,資料在BLHeliSuite根目錄下Manuals文件夾里

查看連接引腳

顏色對號入座,黑色接開發(fā)板GND,白色接開發(fā)板D2,紅色接開發(fā)板D3

所有硬件連接完成,下面進入刷機環(huán)節(jié),打開BLHeliSuite軟件,選擇B方式

選擇arduino uno R3開發(fā)板對應的COM口,點擊連接,連接單片機
固件名稱在上文已經(jīng)查詢好skywalker 40A,選擇相應固件,2、固件名稱 3、固件類型(MAIN:直升機固定翼
TAIL:直升機尾翼 MULTI:多軸)4、固件版本選擇,默認為最新,可以選擇其他版本
這里選擇多軸版本固件



是否馬上設置電調(diào)?這里我們選擇是,馬上進行設置

在紅框內(nèi)可以看到相應的硬件和BLheli固件版本號,到這里Silabs電調(diào)刷機完成,電調(diào)響應速度可以自己測試,保證滿意 至于怎么設置,以后翻譯好在詳細講解

Silabs電調(diào)刷完了下面到Atmel電調(diào)的刷機方法
Atmel電調(diào)首次刷機,打開BLHeliSuite13.2設置軟件,進入make Interfaces 菜單對arduino uno R3寫入程序,讓它變成ISP編程器


等待數(shù)據(jù)寫入



燒寫完畢!下面看硬件,實驗硬件為一款不知名電調(diào),因為拆了外皮

支持電調(diào)類型文檔在BLHeliSuite根目錄下Manuals文件夾里

查看PDF文檔,找到相對于的硬件名稱BlueSeries 20A

Atmel 電調(diào)和Silabs電調(diào)不太一樣,只有部分Atmel電調(diào)預留了燒錄的觸點,正好我們實驗的這款有觸點,方便了許多。這里需要說明的是,Atmel單片機是用ISP燒錄,對應的硬件引腳為下圖
怎么把這些引腳連接到arduino uno R3開發(fā)板呢?資料在BLHeliSuite根目錄下Manuals文件夾里

里面有詳細的教程和硬件接線圖,資料是英文的

知道了硬件連接圖,下面需要把硬件連接好


所有硬件連接完成,下面進入刷機環(huán)節(jié),打開BLHeliSuite軟件,選擇X方式

選擇IPS硬件(這里選ArduinoISP),選擇對應端對應口波特率

點擊Flash BLHeli


固件名稱在上文已經(jīng)查詢好Blueseries 20A,選擇相應固件,1、固件名稱 2、固件類型(MAIN:直升機固定翼
TAIL:直升機尾翼 MULTI:多軸)3、固件版本選擇,默認為最新,可以選擇其他版本
這里選擇多軸固件

注意:1 處需要查看硬件PPM輸入端口,要避開該引腳與PPM輸入端口一樣,一樣了會有點奇怪,具體這里的用意沒 有具體查看資料
2 處是選擇引導方式,Keep Exising Bootloader 保存原引導
Install BLHeli Bootloader BLHeli引導
Install Simonk Bootloader Simonk 引導



是否馬上設置電調(diào)?這里我們選擇否,因為Atmel電調(diào)固件里面帶有引導程序,首次刷完支持單線刷機

到這來Atmel電調(diào)首次刷機完成,由于Atmel電調(diào)刷機是帶了引導程序,首次刷完成后支持單線刷機,然而Silabs電調(diào)則不同,Silabs電調(diào)是不帶引導的,引導需要后面刷入。之前說過,重點不是單線刷機,Silabs電調(diào)用C2方式刷機也就3根線,線少也不需要單獨搞單線刷,有些Silabs電調(diào)PPM輸入端有電阻,會導致單線刷機失敗。
Atmel電調(diào)刷首次刷機帶了引導,下面來測試下單線讀寫設置電調(diào),Atmel電調(diào)要把arduino uno R3刷成make arduino general 編程器用2方式讀寫





寫入完畢!下面可以連接硬件了,在這里需要說的是,剛才刷機的時候Bootloader at pin引腳故意避開PPM輸入端,選擇了PB4端口

確定了電調(diào)端的單線引腳端口,下面查看相應資料確定接入arduino uno R3開發(fā)板D3端口,資料在BLHeliSuite根目錄下Manuals文件夾里


連接好硬件打開BLHeliSuite13.2設置軟件

選好開發(fā)板對應的COM口,點擊連接,點擊讀取數(shù)據(jù)

在紅框內(nèi)可以看到相應的硬件和BLheli固件版本號,到這里Atmel電調(diào)讀取完成,至于怎么設置,以后翻譯好在詳細講解

有引導的Atmel電調(diào)程序,可以支持單線刷機,連接后,點擊Flash BLHeli 就能進入刷機,具體操作很簡單,不詳解了
寫了幾個小時的教程,邊操作邊寫,花時比較長,圖文結(jié)合,讀書少,不做太多文字敘述,希望喜歡搞開源的朋友看完我的教程對有需要的朋友有所幫助,如有不了解可以單獨私聊

|