NAVIO+ & Raspberry Pi & HUAWEI E3372

玩過用 4G 連線 Parrot DISCO,感受過無距離限制的FPV飛行後,很想以 Ardupilot 做同樣事: 以 4G 網絡連結無人機與 ground station,實時控制無人機,獲取飛行數據 以 4G 網絡傳送無人機鏡頭的實時影像 1小時或以上的飛行時間,30公里或以上的飛行距離 便在倉底找回2015年買下的NAVIO+,就以它來製作一部 4G 連線的定翼無人機,以下就是我的製作筆記。 使用的硬件 NAVIO+(現在出產的是 NAVIO2) Raspberry Pi 2 Model B SD card(8GB 或以上) Raspberry Pi camera module WiFi USB(方便連線做設定,但非必須) HUAWEI E3372 (4G USB) FX61機架 Panasonic NCR18650B Li-ion 電池(4S3P) 軟件設定 開始時,跟著 NAVIO 的官方文件做,由於我使用 ZeroTier 建 VPN,連結無人機與 ground station,NAVIO沒有這方面的資料,這部分設定要自己處理,以下就是軟件設定部分的筆記。 Raspberry Pi 基本設定 下載預先配置的 Raspbian image (md5),這是NAVIO廠方提供的專用 image 把下載的 image file 燒錄到 SC card,在 Mac 的 Terminal 執行以下程序(使用其他 OS 可參考官方文件): // show the SD card diskRead More →

DALRC XR220 + HGLRC F3

這是兩年前的拍下的影片,記錄了一次砌四軸機由開始到起飛的過程。這不是什麼砌機教學,只是縮時拍攝效果好有趣。 This is a video taken two years ago, recording the process from the start to the take-off of a FPV multi-copter. This is not a formal “how-to” video, but the effect of time-lapse shooting is interesting.

EMax 12A ESC flash BLHeli wiring

如何在銀燕12A電調寫入BLHeli以支援OneShot125? 在淘寶買了銀燕12A電調,寫著是支援OneShot125。但其實「支援」不代表「安裝」,它裡面沒有寫入最新的BLHeli,也不能用OneShot125模式,最後唯有自己flash。(後來,貴一點的價錢,也有買來便可以用的OneShot版本,體積也小一點,這裡不是重點). 過程中發現這個video最有用: 透過以上的video,終於裝了最新版本的BLHeli,也可以使用OneShot125模式了。以下記錄了操作過程,方便有需要的同道。 準備 銀燕12A電調 EMax 12A ESC Arduino Nano(其他的Arduino也可以) 安裝BLHelioSuite 接線 如下圖焊接三條電線,完成後會移除,所以不用太在意鬆緊。接線的點很小,小心不要短路或燒掉ESC。(也可以學上面的YouTube,DIY一個頭,用手對位按著來flash,但個人覺得要對準個位好難,更要另一邊操電腦!) 線的另一端連接Arduino如下圖 把Arduino用USB接上電腦。 把ESC接上LiPo電池。 安裝(待續⋯⋯)  

How to DIY remote control LED light to your multicopter? 請先看以下完成品的片。可遙控開關,改變閃光效果,效果式樣也可以自定。如果你也想DIY到你的多軸機上,只要小於HK$100,一些焊接技巧和簡單的編程知識。 需要的材料如下: WS2812 燈條 SparkFun Pro Micro (Arduino) (淘寶貨) 470Ω電阻 5v 電源(可用一顆降壓板) 關於WS2812 我以為LED燈條就是LED燈條啦,但原來它們有很多種,甚麼WS2801, WS2811 和 WS2812,而我們要用的是WS2812,因為無論在接線和編程上它都比較簡單方便。 通常WS2812都是以一米為單位賣的,例如你隻四軸機想裝四條燈條,你可以買一條回來自己剪開便好了。 WS2812只有三條接線,5v電源,地線和數據線。要注意數據的方向,燈條上有箭頭指示。數據線要焊在DIN上, 如果焊錯了在DOUT,燈條是不會著的。 關於電源 你需要提供5v電源給Arduino和LED燈條。你可以用獨立電源或由多軸機電池取電。多軸機電池一般由7v-21v不等,所以必須降壓才可接上,否則你會馬上燒掉Arduino和燈條。 也不要由receiver,flight controller取電。如果你使用了大量的LED,receiver和flight controller都沒有足夠的電流可以提供,最壞的情況可使你失去愛機。 如果已經接上了燈條,不要單獨用USB接上Arduino,要先接上5v電才插USB,否則可能會燒了Arduino。 如果用降壓,也要知道它可提供的電流。每粒LED使用60mA電流,例如一條一米的燈條有60粒LED,60 x 60mA = 3600mA = 3.6A,要確保你的降壓板能提供3.6A電流而不會過熱燒掉。否則便要滅少LED的數量。  每一顆LED用60mA電(紅綠藍各20 mA) 關於Arduino Arduino是控制LED燈條如何閃動的控製器,如果你沒有接觸過Arduino,可以看看它的網站,有很清楚的教學,基本的如何使用就不在這裡說了。 Arduino有很多版本,我使用了SparkFun Pro Micro,因為它細,而且有USB頭,不用FTDI,比較方便。 淘寶有很多這個版本的複製品,名稱都不一樣,文件更不用說了。找了好一回才知道原版是SparkFun Pro Micro,也找到了清楚的文件,使用起來也確定些。(對不起,我有想過買原版的,但運費貴過塊版,實在買不下去。) LED data pin連接Arduino 我用了pin9-6連接4條LED,可以根據需要連接不同數量的燈條,pin位也可以任意,編程時對應輸出的pin位就行了。還要加上470Ω電阻,以保護Arduino。  關於遙控 我們可以用遙控來開關LED,改變顏色,閃光效果等。我用的receiver是FrSky X8R,把channel12連到Arduino的A0 pin,同樣地channel和pin位沒有硬性規定,視乎你的需要而改變,編程時應改動就好了。 我設定了channel12到遙控的TRN switch,這個鍵會自動回彈,剛好可用來每撥一次改變LED到下一個的顯示模式。     在Arduino編程控制WS2812 我們已完成了硬件的連接,可以看看如何加入軟件,使LED做事了。 控制LED,有兩個很好用的library: AdaFruit NeoPixel FastLED (FastSPI_LED)  如果你還沒有安裝Arduino的軟件,可以先看看入門篇。 如果你用SparkFun Pro Micro,可以跟這裡裝driver。 我用的是FastLED,由它的example中找了一些合適的再作修改,得到以下的程式:   [cpp] #include <FastLED.h>Read More →

Building Sky-hero SPY 600

How to set up Y6 props and motors? 1)摩打轉動的方向 這個星期在砌Sky-Hero SPY 600,SPY是一部Y6機,費了一番功夫在它的摩打轉向與螺旋槳上。 由於都是Y6,所以跟著上面3DR Y6這張說明去調6個摩打。如圖以為要setup三個順時針及三個反時針的摩打,但裝好一試便知道錯了。它們都向同一個方向轉,負負得正嘛,反時針的摩打把它反轉裝,它變回順時針轉了!所以,所有的摩打都要順時針轉,裝好了便自然得到以上的結果了。原本很簡單的事,被我復雜化了。裝好,焊好了的摩打都要打開再焊,真的想殺人哦。 2)槳座問題 我買的是MT2814,是一對買的。很體貼的是正反槳座,給四軸用是剛剛好的,但給Y6就有問題了。於由6個摩打都向順時針轉,所以全部都應該用反槳座,使我有一半的槳座要再買了。 3)螺旋槳的方向問題 還有,反轉了的摩打,螺旋槳會跟著反轉嗎?不是!所有螺旋槳都應該label向上,上面裝正槳,下面裝反槳就是了。

QAV500 v2 mounting 13" props 4mm space left

QAV500 v2 能裝13吋槳嗎? 答案是可以的,我裝了APC13x4.7 SF槳,只是與機身的距離十分近,只有4mm。正常情況是沒問題的,只是極端情況下,會有意外出現嗎?不能擔保哦。 今天近距離試飛了一次,速度也不高。效果不錯,原本要55%的油門才能AltHold,現在45%做到了。 這個設定是為了要裝兩顆5000mAh電而安排的。現在的飛行時間大約在一起12-15分鐘左右,希望提高升力,增大電量,可以增加時間至20-25分鐘。  

( English version here ) 由於APM Copter3.3的更新開始支援Optical Flow LOITER,我的PX4FLOW project也重開了。 昨天安裝了APM Copter3.3rc8 到Pixhawk中,由於還是試版,隻QAV500只可以作近距離試飛了。為的只是想早點嘗試PX4FLOW LOITER。一步步跟著文件做安裝,過程如下。 安裝: 開始時發現QAV500機底的前方有個位置很合適,又有縲絲位,就安裝在那裡了。 由於I2C的線長度不足問題,把PX4Flow轉了180度。x向機尾,y向左,FLOW_ORIENT_YAW必須設定為18000。(如果跟足文件,沒有旋轉,就不用改動FLOW_ORIENT_YAW)   對焦: 你不能確定PX4Flow出廠的焦距是你所需要的,所以必須調較焦距。我用的是APM Planner,但那裡沒有可以顯示PX4Flow影像的功能,只有用QGroundControl,我連接QGroundControl的過程在這裡。看到PX4Flow影像輸出,就可以把鏡頭對著3米外的物件,鬆開鏡頭的螺絲,進行對焦。   效準(Flow Sensor Calibration): 跟著文件進行效準,一切順利,下載log file,得到以下的圖表: 以上是戶外的測試,接著我做了戶內的測試,效果差很多。 但做到Range Sensor Check就找不到數據。文件說可以在EKF5.meaRng看到距離的變化,但在log中這一項是0,不知是那裡出錯。文件說他們裝了外置的range finder,可能就是這個原因。我沒有打算為此而買一個Pulsed Light unit,就不理它去了試飛。 試飛後看到,比較GPS定位,Optical Flow定位還是不太穩定,有兩三米的移位,而且是在戶外做測試。如果要做到室內定位,一定要有厘米級的精確度,未知是否可以通過較準(calibration),或程式改良可以達到,又或者要加上雷射range finder才有改善。最起碼要買張地毯,家裡的地磚太平滑,不是很適合用來做光流定位。

CCW prop adaptor

經常聽到有螺旋槳飛脫的事件,因為慣性作用,無論上得多緊的螺旋槳都有鬆脫的危險。裝了正反槳坐,可使絲帽的螺旋與馬達的旋轉方向相反,慣性作用只會使絲帽上得更緊。 起初,不太確定槳座是否裝對,裝錯方向會有反效果喎,就用實驗確定。在120FPS的慢鏡下看到馬達開動,螺絲自動向下收緊,好有趣。

Navio+ 4G equipped

有一次看到了Navio+,很快便決定要裝組一隻。(這是組件列表,請參考) 它可以在Raspberry Pi上運行APM copter,換句話說它是一部會飛的Linux,這使很多事情都變得有可能。 例如通過網絡控制,加上4G/3G USB,理論上可以在世界任何一個角落操控它(只要有穩定的網絡)。 跟隨Bernt的blog,已成功以raspicam作為鏡頭,通過WiFi傳送影像回Mission Planner,只有少少delay,相信作為慢速FPV使用也可以接受。下一步要買4G USB,試驗速度是否一樣。 此外,還想試驗object tracking的可行性,有了Linux就可以嘗試OpenCV,OpenTLD等library了。 但話說回來,Navio+還是很新,他們把APM code port到Linux還是實驗性。他們的網站也這樣說:Important! Keep in mind that the code for Navio is in the experimental state. Use it with caution! 我也不打算把它用作實際飛行,最好可以在室內實驗,試試自己的程式。因此,以Lumenier Danaus做機架就可以保護縲旋槳和室內的人了。 製作圖片: