首頁

出自 OpenDrone - RobotLab.TW WiKi
於 2018年7月31日 (二) 21:14 由 Ethan (對話 | 貢獻) 所做的修訂 (飛控安裝與配置)
(差異) ←上個修訂 | 最新修訂 (差異) | 下個修訂→ (差異)
前往: 導覽搜尋

OpenDrone FC-01
作者:黃勇介(Ethan), email: ethan@robotlab.tw

購買FC-01飛控板

露天拍賣網址: 請按這裡

蝦皮購物網址: 請按這裡

飛控感知器知識庫 (更新中)
  • 6軸傳感器 - 從硬體到韌體的詳解
  • 氣壓計感知器 - 從硬體到韌體的詳解
  • 電子羅盤 - 從硬體到韌體的詳解
  • 全球定位系統(GPS) - 從硬體到韌體的詳解
  • 測距感知器詳解 (Time-of-Flight, ToF) - 從硬體到韌體的詳解
  • 多輸入多輸出(Multi-input Multi-output ; MIMO) - 從硬體到韌體的詳解

FC-01機架3D列印STL檔案
為提供給DIY使用者自行列印機架,請由此下載3D列印檔案。
機架軸距:105mm
機架厚度:2mm
105-top.jpg 105-main.jpg

下載:
上部件STL檔案
下部件STL檔案

當您使用3D列印此105軸距機架,建議PID的參數設定如下圖:
3D列印機架建議PID.jpg


介紹

OpenDrone FC-01 (以下簡稱FC-01) 是一款大小只有32.5mm x 22.0mm的開源飛控主板,是以支援碳刷馬達(空心杯馬達)為主的飛控板。CPU採用意法半導體(STMicroelectronics)公司的ARM Cortex-M4 core 72MHz做為系統運算的主要晶片。FC-01同時整合了ESP8266 WiFi SoC晶片,可以讓使用者透過WiFi環境下控制多軸飛行器。

同時,FC-01具備更專業的電源設計系統,可以支援1S或2S鋰離子聚合物電池(Li-Po battery),不需用硬體跳線方式,內部電源系統會自動進行升壓與降壓工作。並且在硬體電路設計上,採用四層板設計,具有良好的散熱特性以及考量電磁雜訊干擾的迴避與降低。

資源特色

  • ARM Cortex-M4 core 72MHz
  • 內建Wi-Fi 802.11 b/g/n
  • 6軸傳感器(3軸陀螺儀+3軸加速度計)
  • 內建氣壓計
  • PPTC可復式保險絲(電源保護設計)

接口佈局和尺寸

接口介紹

FC-01飛控板接口(正面)

  • 低功耗Wi-Fi晶片:支援802.11 b/g/n。研發者可以透過WiFi遙控器控制FC-01;相對的,研發者也可以透過Python或其他程式語言對FC-01進行控制。
  • Board-to-board連接器:這個連接器可以讓研發者進行擴充外部的UART功能。另外,也可以接上語音板進行語音或音樂的播放應用。
  • 電池連接器:電池電源輸入;FC-01支援1S或2S鋰離子聚合物電池(Li-Po battery)。建議可以搭配2S電池與820/8520直流空心杯碳刷馬達,可以幫助飛行時的操控性,尤其是對於喜好追求飛行速度的使用者。
  • Micro-USB:可以透過USB進行飛控韌體更新,同時也可以進行飛控的參數配置與PID調整。
  • Motor 1/2/3/4:馬達輸入接口,支援720/820/8520直流空心杯碳刷馬達。
  • UART:SBUS/PPM遙控訊號接收器的輸入接口。
  • DSM/DSM2/DSMX: DSM/DSM2/DSMX 遙控訊號接收器的輸入接口。
OpenDrone FC-01飛控板接口(正面)


FC-01飛控板接口(背面)

  • Serial Flash:8Mbit SPI序列式快閃記憶體,主要是存放WiFi二進制檔案。
  • MOSFET:金屬氧化物半導體場效電晶體(Metal-Oxide-Semiconductor Field-Effect Transistor, MOSFET),具備高效能的高頻開關性能和最小的功率損耗。FC-01主要使用了四顆的30V N-Channel MOSFET,利用電晶體的特性去控制直流空心杯碳刷馬達的運轉。
  • PTC Resettable Fuse:可復式保險絲,簡稱PPTC,用於內部電源系統的過電流保護。
  • Digital Pressure Sensor。數位式氣壓計,FC-01採用BOSCH氣壓計,相對準確度為±0.12 hPa,相當於±1 m。氣壓計的用途可以讓多軸飛行器進行定高模式。
OpenDrone FC-01飛控板接口(背面)

飛控板尺寸

FC-01多軸飛行器飛控板

長度:32.5mm

寬度:22.0mm

板厚:1.6mm

重量:5.0g


OpenDrone FC-01-尺寸.png

快速入門

  • 這裡對於OpenDrone開發環境安裝及設定進行說明。
  • 如果您需要自行修改飛控源始碼,本章節說明如果安裝飛控開發環境。
  • 如果您只需要單純重刷韌體,可以略過此章節,並且您可以直接下載已經編譯後的飛控HEX檔案,並且透過飛控配置器軟體進行重刷韌體。

準備工作

您需要一台具備Ubuntu Linux環境的電腦,建議安裝Ubuntu-16.04.3版本。

  • Ubuntu Linux (Ubuntu-16.04.3) x 1
  • OpenDrone FC-01 x 1
  • Micro-USB x 1

安裝Ubuntu Linux開發環境

如果您已經有Ubuntu Linux環境,請略過此步驟,跳到『編輯器安裝』步驟。

OpenDrone飛控的開發環境是在Ubuntu Linux底下,所以必需先建立好開發環境,如果您是Windows使用者,您可以將Ubuntu安裝在VirtualBox內。

VirualBox下載位置: https://www.virtualbox.org/wiki/Downloads

相關安裝VirtualBox與Ubuntu步驟,這裡就略過不說明。

目前我使用的版本是Ubuntu-16.04.3-desktop-amd64。下載位置如下: http://old-releases.ubuntu.com/releases/16.04.3/ubuntu-16.04.3-desktop-amd64.iso


快速安裝GNU ARM Embedded Toolchains

嵌入式研發者常常遇到因為ToolChains版本的不同,導致於編譯時出現一堆錯誤訊息,讓編譯工作無法正常進行。為了避免這個問題,這裡編寫了一個快速安裝的scripts,所以請在下載後的opendrone目錄內執行arm_sdk_install:

# make arm_sdk_install

如下圖:

Make arm sdk install.png

arm_sdk_install指令說明:當執行arm_sdk_install指令時,會自動執行底下幾行命令:

1.從developer.arm.com網站下載ToolChains『gcc-arm-none-eabi-7-2017-q4-major-linux.tar.bz2』並且放到downloads目錄,所以您會看到downloads目錄內會有下載好的gcc-arm-none-eabi-7-2017-q4-major-linux.tar.bz2壓縮檔,之後這個可以移除,可以減少空間的佔用。

# curl -L -k -o "./downloads/gcc-arm-none-eabi-7-2017-q4-major-linux.tar.bz2" -z "./downloads/gcc-arm-none-eabi-7-2017-q4-major-linux.tar.bz2" "https://developer.arm.com/-/media/Files/downloads/gnu-rm/7-2017q4/gcc-arm-none-eabi-7-2017-q4-major-linux.tar.bz2"

2.將下載好的ToolChains解壓縮到tools目錄,這裡就是之後我們進行飛控編譯韌體時所需要的所有工具、函式庫等...

# tar -C ./tools -xjf "./downloads/gcc-arm-none-eabi-7-2017-q4-major-linux.tar.bz2"

飛控韌體的燒錄

在這個章節,有幾個名詞需要先行解說,這對初步進入嵌入式領域的研發者會比較好理解。

  • Download Firmware - 這比較口語的說法,就是把編譯後的BIN或HEX寫入(燒錄)到晶片上,也有人會說『下載』,就是把BIN或HEX從電腦端下載到晶片。在這裡我就用『燒錄』或『寫入』名詞,因為『下載』這個名詞會讓初學者很容易混淆。
  • Write Firmware - 這個說詞也是有很多人在用,我覺得這個Write說法會比Download還好理解。
  • Upload Firmware - 這個Upload,說真的,很多初入門的都會弄錯,都以為Upload是把程式上傳到晶片。其實Upload Firmware是將BIN檔從晶片的Flash內存讀出來到電腦端備份用的。
  • Read Firmware - 這個意思跟Upload一樣,只是唸法不同,也是有些人習慣說"Read"讀取。

編譯

下載opendrone,進入該專案目錄後,執行make指令,接著會出現如下畫面,編譯完成後的韌體HEX檔案會存放在obj目錄。

# cd opendrone
# make

Opendrone-compiler-screen.png

通常編譯後的HEX檔案會以較大,因為它是以十六進制格式儲存,同時內容也包含了內存位址(Memory Address)資訊。所以,我們必須將HEX轉換為BIN檔燒,再將BIN檔案燒錄到飛控板MCU的內存。

執行下面指令產生BIN檔案:

# make binary

查看一下obj目錄內的檔案:
# ls -lah obj

如下圖,我們可以看到產生了一個248K,大約接近256K的BIN檔案,這個就是我們要燒錄到Flash ROM的。FC-01的Flash ROM空間大小只有256K。所以,未來您自己增加了一些演算法或程式時,儘可能不要超過256K。如果不小心超過時,屆時就要慢慢做程式瘦身的工程。 Make-binary.png

燒錄韌體

在進行燒錄韌體前有幾個工具必需先安裝:

先安裝autoconf和libusb套件:

# sudo apt-get install autoconf
# sudo apt-get install libusb-1.0-0-dev

接著下載dfu-util工具:

  • 注意,dfu-util需要root權限。
# git clone git://git.code.sf.net/p/dfu-util/dfu-util
# cd dfu-util
# ./autogen.sh
# ./configure
# make
# sudo make install

接著讓FC-01進入Boot Loader模式。將飛控板上的boot焊盤短路不要放開,接著接上USB,這時可以看到電腦的裝置管理員內會出現STM32 Boot Loader。

記得將USB切換到VirtualBox內使用,如下圖:

切換DFU裝置到VirtualBox.png

接著,查看是否有找到DFU(USB device firmware upgrade)

# dfu-util -l

如下圖,執行指令後可以看到底下的資訊:

Dfu-util查看.png


先將飛控板內的韌體備份到電腦

dfu-util -a0 -d 0x0483:0xdf11 -s 0x08000000:leave -D obj/backup.bin

將韌體燒入到飛控板內

dfu-util -a0 -d 0x0483:0xdf11 -s 0x08000000:leave -D obj/robotlab_1.0.1_OPENDRONEBRH.bin

執行後結果如下圖,如果都正常寫入,這時您就會看到飛控板綠燈在閃爍:

Dfu-util燒錄-完成.png

FC-01飛控板修改SSID步驟

Q: 什麼時候會需要變更SSID?
A: 當在室內飛行時有多台FC-01,這時候可以變更SSID名稱,以避免互相干擾。
FC-01預設SSID是出廠時就已經設定好。每一片FC-01飛控板都會有一個自己的WiFi SSID。這組預設SSID重複性非常渺小。
當您收到FC-01飛控板時,飛控板的預設SSID是包裝上面的序號末四碼。密碼:12345678
FC-01預設WiFi SSID標示位置.png

修改SSID方式步驟:

1. 先用電腦或手機WiFi連線FC-01的SSID。
2. 開啟瀏覽器
3. 輸入網址: http://192.168.4.1:9090
4. 於輸入欄位輸入新的SSID,按儲存。
5. FC-01飛控版斷電後從開,這時飛控板就會用新的SSID。<br/>
***預設密碼: 12345678***

先用電腦或手機WiFi連線FC-01的SSID。
連線SSID.png

輸入網址: http://192.168.4.1:9090
如果有需要修改SSID,則請在這攔位輸入新的SSID。
給予飛控板一個新的SSID.png

儲存後,接著拔掉電源重新上電。
給予飛控板一個新的SSID-2.png


如果您想要修改SSID密碼,可以到OpenDrone下載區下載WiFi原始碼,修改後重新燒錄WiFi韌體。

FC-01小四軸多旋翼安裝步驟教學

FC-01小四軸多旋翼安裝教學.png

飛控安裝與配置

OpenDrone飛控配置器軟體底層的技術核心是參考CleanFlight/BetaFlight/iNAV。為了避免使用者需重新熟悉新的介面設定方法,所以在研發OpenDrone飛控配置器的過程中,就儘量的讓設定介面不要改變太多。

請將FC-01飛控板接上Micro-USB,如下圖:
在正常狀態下(USB驅動已經正常安裝),這時飛控板與電腦的通訊無誤時,程式會去把綠色LED燈進行閃爍。
接上micro-USB與飛控配置器軟體連線.png


如果USB驅動程式有安裝成功的話,在電腦的[裝置管理員]可以看到STMicroelectronics Virtual COM Port (COM*)項目,這表示驅動沒問題,是可以正常讓FC-01飛控板與電腦進行連線。
FC-01-USB驅動程式安裝正常.png

如果沒有辦法正常連線,有幾個原因,請依下面幾個步驟進行確認:
1. [步驟1] 從電腦的[裝置管理員],確認是否有出現STMicroelectronics Virtual COM Port (COM*)項目。如果沒有,這時再看FC-01飛控板的綠燈是否有閃爍,如果都沒有,可以換一條USB線再試看看,如果狀態都一樣,請按照步驟2安裝驅動程式。 2. [步驟2] 從電腦的[裝置管理員],確認STM32 Virtual COM port項目是否有出現驚嘆號,如果有,這表示驅動沒安裝。可以用zadig軟體來快速安裝驅動程式,請從這裡下載zadig
3. [步驟3] 如果在電腦的[裝置管理員]上沒有出現STMicroelectronics Virtual COM Port (COM*),同時FC-01也沒有閃爍綠色LED燈。這表示飛控板的硬體有問題,可以與我聯絡送修的方式: ethan@robotlab.tw

補充:如果STMicroelectronics Virtual COM Port (COM*)驅動都是正常的,FC-01飛控板的綠色LED燈也是有在閃爍,但始終無法與飛控配置器軟體連線,這表示飛控板上面的六軸傳感器壞掉的比例約90%,飛控板的主晶片MCU壞掉的比例約10%。

STM32 Virtual COM port驅動程式安裝方法

從電腦的[裝置管理員]裡出現的STM32 Virtual COM port項目是有一個驚嘆號,這表示驅動程式沒有安裝好,如下圖:
尚未安裝STM32 Virtual COM port驅動.png

下載Zadig後,在選項中選擇STM32 Virtual COM port,進行安裝,如下圖:
Zadig畫面.png

安裝飛控配置器

OpenDrone飛控配置器的執行是依附在Google Chome Apps應用程式,所以您的電腦上必須有安裝Google Chrome瀏覽器。

1. 請用產品包裝上面的序號進行登入下載,從這裡連接至下載區OpenDrone下載區
2. 登入後,位於軟體源始碼下載區,選擇[opendrone飛控配置軟體]進行下載。
3. 將您下載後的opendrone-configurator-1.0.1.zip放到您的電腦目錄後進行解壓縮。
4. 開啟Google Chrome -> [更多工具] -> [擴充功能] -> [※開啟[開發人員模式] -> [載入未封裝項目] -> 選擇 opendrone-configurator-1.0.1路徑 -> [確定] 5. 開啟Chrome的[應用程式]頁面,就可以看到OpenDrone的Icon,點選後就可以開啟 6. 您可以在Chrome的[應用程式]頁面,OpenDrone Icon上按右鍵可以建立應用程式的捷徑,之後直接點擊桌面的捷徑就可以開啟.

請觀看下方影面的操作步驟: 記得要打開 [擴充功能] -> [※開啟[開發人員模式]才能載入未封裝的項目



如果您想對Google Chrome Apps的開發進行學習與了解,請參考下面網址:
Google Chrome Apps開發者頁面

連線飛控配置器軟體

當FC-01接上USB後,打開OpenDrone飛控配置器軟體,按下右上角連線[如下圖編號9位置]。

連線後會進入到『無人機狀態』頁面。這頁面是一個狀態的總覽,讓您可以快速分辨目前無人機是否有異常狀態。以及把飛機平放時,是否有完全達到水平狀態。 當您收到FC-01飛控板同時會有一片減震墊;為了要讓飛控板保持水平狀態,請參考下圖方式,將減震墊切一個小的切口,讓飛控板背面的電感可以放到這個缺口內。
FC-01飛控板減震墊說明.png
介面說明:
1. 飛控配置功能選單。
2. 當前電池電壓狀態。如果這裡的電壓不準,您可以到[參數設定]頁面的[電池電壓設定]->[電池計算比例]修改數值。
3. 飛控板上的感知器狀態,正常下都是綠色圖示,如果出現紅色圖示就得要注意,氣壓計出現紅色圖示,可以拆下氣壓計,仍然可以飛行,不會影響無人機本身自己的姿態修正。如果是陀螺儀或加速規出現紅色圖示,可以先拔掉電源,讓感知器鄰近的電容自己放完電(約20-30秒, 因為感知器旁放了很多大電容),接著再重新上電。這時如果陀螺儀與加速規恢復正常,就得要注意,這情況發生次數會不會越來越頻繁,如果會的話,建議把感知器晶片換掉,拆下換新的。
4. 無人機的水平及方向資訊,在沒有陀螺儀的FC-01飛控板,會以飛控板通電的當下前方為航向(Heading)0度,向右轉,則方向角會由0度開始往上加,轉一圈剛好是360-1度。向左轉,方向角度則會由359度慢慢遞減到0度。
俯仰(Pitch):向前翻(無人機的頭往下方向)則會累加,最多90度。反方向(無人機頭朝上)則會遞減,最多-90度。
翻滾(Roll):水平狀態時是0度,無人機的尾巴對著我們,向右翻滾,數值會由0累加到179.9度。當179.9度時,無人機整台是顛倒相反過來的狀態。向左翻滾,數值會由負值開始遞增到-179.9度。當-179.9度時,無人機整台是顛倒相反過來的狀態。
5.解鎖前的狀態確認。如果有任何一項出現紅色圖示均要注意。
6.電池與電壓狀態。
7.CPU負載情況,當CPU負載過高是無法解鎖,這時請檢查是否是[參數設定]內的飛控循環時間調太高。
8.飛機姿態的3D示意圖。
9.與FC-01飛控板的連線與斷線。

飛控配置器照片-無人機狀態.png

SBUS遙控接收器配置與設定

FC-01飛控板支援WiFi 2.4GHz遙控器與RC 2.4GHz遙控器,兩種通訊都是使用飛控板的UART2接口,一次只能選擇一種控制模式。無法WiFi與RC同時使用。
如果您想改變遙控器,您可以依照下圖指示將電阻改變位置。如果在拆解電阻時把電阻弄不見,這時可以用焊錫直接短路方式來替代電阻。

遙控器通道電阻跳線說明.png

如果是使用外部RC接收器,接收器的三條線(訊號線/正極/負極)的接法如下圖:
※注意:因為不同廠牌的RC接收器的輸入電壓範圍均不同,FC-01飛控板為了可以支援多個廠牌,所以這裡的UART2和UART3的電壓值會隨著您接上去的電池是1S或是2S而有所改變。電壓值不會是+5.0V。

當接上1S電池時,UART2和UART3的電壓值會在3.58V。
當接上2S電池時,UART2和UART3的電壓值會在7.23V。

  • Frsky Mini XMR 接收器工作電壓: +3.5V ~ +10.0V
  • Frsky XM+ 接收器工作電壓: +3.7V ~ +10.0V
  • Frsky X9D Plus 接收器工作電壓: +3.0V ~ +16.0V
  • Frsky G-RX8 接收器工作電壓: +4.0V ~ +10.0V
  • Radiolink R6DS 接收器工作電壓: +3.5V ~ +6.0V
  • Radiolink R9DS 接收器工作電壓: +3.5V ~ +10.0V
  • Radiolink R12DS 接收器工作電壓: +3.5V ~ +10.0V
  • Radiolink R6DSM 接收器工作電壓: +3.5V ~ +6.0V
  • Cooltech R6008HV-B 接收器工作電壓: +3.5V ~ +8.4V
  • Cooltech R7008HV-B 接收器工作電壓: +3.5V ~ +8.4V

從以上幾個不同的接收器型號來看,FC-01飛控板接1S電池時,是可以符合大多數的接收器的工作電壓。


外部的RC接收器與FC-01飛控板的接線方式如下圖所示:
外部RC接收器接線示範.png

WiFi遙控器配置與設定

WiFi遙控器的配置方法跟一般RC遙控器的配置方法一樣,請依照下面步驟設定:

步驟1: 在[端口設定]頁面,把UART2的遙控器接收Serial RX打開
WiFi的設定方法-1.png

步驟2: 在[參數設定]頁面,在接收器模式設定中,選擇Serial-based receiver(SPEKSAT, SBUS, SUMD)
然後下方的串口接收器的通訊協定選擇SBUS
WiFi的設定方法-2.png

步驟3: 當飛控有正常接收到遙控器訊號時,這裡的通道就會開始有一些數值上的變化,這表示遙控器與飛控已經可以互相溝通。
WiFi的設定方法-3.png

步驟4: 在[模式設定]設定解鎖的通道編號。


WiFi遙控器韌體燒寫

如果您需要重新燒寫WiFi的韌體,需使用USB-TTL來燒錄,接線方法如下圖:
外接USB-TTL接線方式.png

當您接好USB-TTL,這時WiFi的供電就會由USB-TTL供應。然後,您需先找一個尖尖的鑷子,將WiFi BOOT焊盤短路,壓著不要放開,同時接上電源。當接上電源後就可以放開BOOT短路,如下圖:

WiFi重新燒錄韌體方法.png

當WiFi進入BOOT模式後,就可以將新修改後的韌體進行燒錄,可以用Arduino進行燒錄。

遙控器頻道配置與設定

FC-01飛控板同時也支援外部RC遙控器,配置方法如下:

步驟1: 在[端口設定]頁面,把UART2的遙控器接收Serial RX打開
WiFi的設定方法-1.png

步驟2: 在[參數設定]頁面,在接收器模式設定中,選擇Serial-based receiver(SPEKSAT, SBUS, SUMD)
然後下方的串口接收器的通訊協定選擇SBUS
注意:這裡的設定是需根據您的遙控器的通訊協定而選擇,不一定是SBUS。需要看您的遙控器所支援的格式。 WiFi的設定方法-2.png

步驟3: 在[接收器設定]頁面,這時如果飛控板有正常接收到RC接收器傳輸過來的資料,在這個頁面就可以看到通道的數值有在變化。接著把您的搖控器的拉桿保持在中間位置,並進行微調,讓Roll/Pitch/Yaw/油門,這四個通道的數值都能夠保持在1500左右,遙控器或多或少都會有一點點數值在的跳動,只要接近1500即可。
接收器設定畫面.png

步驟4: 進行通道測試,確保飛控與遙控器之間的封包傳送與接收是穩定的。理想狀態下是遙控器丟過來的數值馬上可以反應在飛控配置器上,順暢度越高越好。

請看底下通道測試影片:


步驟5: 最後到[模式設定]頁面,設定您自己喜好的飛行模式的通道開關,這裡因為大家各自在用遙控器撥桿開關的位置不同,所以下圖是一個參考設定:
注意ARM的通道編號,這是必須根據您的遙控器撥桿開關的位置而定義的,不一定是CH7
對於新手飛行,建議可以用ANGLE(自穩/角度)模式飛行,可以減少新手炸機的傷心度。
模式設定畫面.png

無頭模式與定高模式設定

對於新手駕駛者,建議開啟[無頭模式(HEADFREE)]與[定高模式(NAV ALTHOLD)]。需要注意的地方是:

  • 『定高模式』與『ANGLE模式』功能合併一起使用。
  • 『無頭模式』與『HORIZON模式』功能合併一起使用。

自穩模式.jpg
無頭與定高模式.jpg

限制飛行角度

對於新手駕駛在使用遙桿時的力道會比較不熟悉,通常撥桿的動作會比較大,而讓無人機呈現一個相對應的很大的傾斜角度,這時就會很容易摔機。為了避免此情況發生,建議在訓練新手時,請在CLI介面輸入底下指令來限制無人機能夠反應的最大傾斜角度。

新手建議設定為100(10度),當新手已經開始熟悉控制無人機時,再把角度慢慢的往上調整。

set max_angle_inclination_rll = 100   ※限制Roll的最大角度為10度。 100 = 10度;預設為300 = 30度。
set max_angle_inclination_pit = 100   ※限制Pitch的最大角度為10度。 100 = 10度;預設為300 = 30度。
save

記得輸入save指令儲存設定。

飛控參數設定

對於FC-01飛控板的參數設定建議如下:

在飛控配置器軟體的[參數設定]頁面
參數設定頁面-1.png

參數設定頁面-2.png

對於1S電池的『電壓計算比例』可以設定為122。
參數設定頁面-3(1S電池設定).png

對於2S電池的『電壓計算比例』可以設定為248。
參數設定頁面-3(2S電池設定).png

參數設定頁面-4.png

PID參數設定

FC-01飛控板支援1S與2S電池。下圖為3.7V 8520馬達與1S電池的PID參數設定建議。
1S電池-8520馬達-105機架的PID設定.png

重新燒錄飛控

如果想重新燒寫飛控韌體,可以透過飛控配置器軟體。

重刷韌體步驟如下:
步驟1. 請先將FC-01飛控板的BOOT焊盤短路,您可能需要一個尖尖的夾子或是鑷子,按住BOOT焊盤,同時將飛控板的USB接上。如果FC-01飛控板有正常進入BOOT模式,這時飛控板上不會有任何燈號顯示。

飛控板BOOT.png

步驟2. 接著,開啟飛控配置器軟體,並且您的電腦的網路必需保持通暢,這樣才能正常的下載韌體檔案。
於飛控配置器軟體的右上方會有DFU,這表示飛控板已經進入BOOT模式。
如下圖方式,選擇韌體版本,最後按下[燒錄韌體]進行更新。

飛控韌體更新畫面.png


燒寫CleanFlight/BetaFlight/iNAV飛控

如果您想要穩定的定高模式,建議刷FC-01的韌體。
FC-01飛控板相容CleanFlight/BetaFlight/iNAV,所以您可以將飛控板內的韌體刷成自己想要的版本。

刷BetaFlight韌體,選擇的版本如下:
刷BetaFlight韌體.png

刷CleanFlight韌體,選擇的版本如下:
刷CleanFlight韌體.png

刷iNAV韌體,選擇的版本如下:
刷iNAV韌體.png

外部擴充功能板接口

UART1是用在飛控的功能擴充,未來會有不同的應用可以透過UART1來實現。

UART1接口.png

飛控WiFi韌體燒寫步驟

準備工作

請先準備一個USB-TTL工具,用於燒寫WiFi韌體。
另外,軟韌體的部份,請從下載區[請按這裡],登入下載底下所需要的軟體以及原始碼。

  • arduino-1.8.5+ESP8266 Library(Windows)
  • 飛控板WiFi韌體-1.0.2版本
  • APP軟體-Ansroid版本-APK檔案

Download-1.jpg

Download-2.jpg

電阻跳線位置

接著,依照下圖的接線方法,我們利用FC-01內的UART2接口進行燒錄。
這裡需要特別注意電阻的跳線位置。在燒路WiFi韌體時,我們只需要兩個0R電阻,電阻位置請參考下圖


Fc-01 wifi burn resistor match.jpg

下圖是電阻跳線的位置:

Wifi-resistor-position.jpg

整體的接線方式如下圖說明:

Fc-01 wifi and ttl pinout.jpg

燒寫WiFi韌體前,必需要讓WiFi(ESP8266)進入BOOT模式,所以請拿一個夾子壓住BOOT焊盤,同時將USB接上電腦,上電後大約停留4秒鐘後再將夾子放開。

Fc-01-wifi-boot.jpg

我們可以從裝置管理員得知這個USB-TTL的COM port的編號。
Usb ttl com port.jpg

安裝esptool.py

這裡要注意的地方,就是需要安裝esptool.py
步驟很簡單,不過您必需要先安裝Python2.7,安裝Python2.7的步驟這裡不多做說明。
安裝esptool.py如下:

pip install esptool

關於esptool,請參考esptool的github:[1]

Esptool-flash-id.jpg

開始燒寫WiFi韌體

接著,我們用Arduino打開『飛控板WiFi韌體-1.0.2版本』的原始碼進行編譯與燒錄。
Arduino的設定如下圖:

Arduino-8266-1.png

接著,您可以看到燒寫的步驟,如下圖:

Arduino-8266-2.png

最後,就是將Android APK檔案安裝到您的手機,完成後您就可以開始進行飛行體驗。

Fc-01-with-android-app.jpg

Android APP使用教學

FC-01與手機Android APP的連線是透過WiFi,所以手機必須先進行連線,預設的SSID會跟之前保留在EEPROM裡面的一樣,密碼是:12345678

如果想修改SSID,請參考FC-01飛控板修改SSID步驟章節。


當您開啟FC-01 Android版本的APP,可以看到有3個選單,說明如下:

1. [進入控制模式] - 這個就是進入遙控器畫面。
2. [設定通道快捷鍵] - FC-01 APP讓您可以自行設定8個頻道,設定方法會再後面進行說明。
3. [設定網路及操作模式] - 為了讓FC-01 APP可以相容其他的應用,所以我把IP與PORT開放讓使用者自行設定。
另外,您可以設定自己的操作習慣,例如:日本手、反日本手、美國手、反美國手。
Opendrone-fc01-android-app-screen-1.jpg

進到[設定網路及操作模式],設定飛控板上WiFi的IP/PORT,預設是192.168.4.1:6667,如下設定:
Opendrone-fc01-android-app-screen-2.jpg

可以參考我的設定,如下:

功能名稱: arming
設定通道: CH7
最小值: 900
最大值: 1900

功能名稱: angle
設定通道: CH5
最小值: 900
最大值: 1500

功能名稱: horizon
設定通道: CH6
最小值: 900
最大值: 2000

參考下圖設定:
Opendrone-fc01-android-app-screen-3.jpg

Opendrone-fc01-android-app-screen-4.jpg

Opendrone-fc01-android-app-screen-5.jpg

通道對應到飛控配置器的設定如下圖紅色框框表示:
Opendrone-fc01-android-app-screen-6.jpg

定高功能必需跟CH5綁在一起。
Opendrone-fc01-android-app-screen-7.jpg

設定完通道後,接著我們進入[進入控制模式]。
畫面中,最左上角的是[解鎖/上鎖];當處於已經解鎖的狀態下,再按一次就是[上鎖]。
angle/horizon這兩個功能是角度與自穩模式,建議新手駕駛的使用者勿必將這兩個功能啟用。
Opendrone-fc01-android-app-screen-8.jpg

資源鏈結

飛控原始碼下載

請於OpenDrone官網登入下載 [2]

硬件規格文件下載

硬體規格書下載: [3]

開發者社群支援

Facebook社團 『OpenDrone 開源無人機飛控社群』: [4]

Email: ethan@robotlab.tw

版本日誌

  • [2018-06-11] FC-01發佈版本為: 1.0.1版