2014年12月7日 星期日

新手的多軸飛行小物 - RealFlight 模擬器

最近進入冬天,天氣變化都非常的大,常常因為天氣關係都不能出去飛,所以待在家裡只能玩模擬器。我去飛場除了期待看到飛機掉下來之外XD,我也會觀察飛多軸的人,但我看到大多玩多軸的人都只能在那邊前前後後、左左右右,都是直線在飛行。因為近年多軸的盛行,所以很多RC新手(包含我)一入門就是多軸,所以對於方向感的判斷沒有那些RC老人敏銳,所以需要模擬器的幫忙,可以讓你擺脫只能前進後退直線飛行!
剛好最近RealFlight更新7.5,這是一大更新,因為加入了很多台多軸方便大家練習。
%25255BUNSET%25255D.png

這是這次更新的幾台多軸,類似Dji小白也有! H型的四軸也有! 還有大八軸也有!
%25255BUNSET%25255D.png%25255BUNSET%25255D.png%25255BUNSET%25255D.png%25255BUNSET%25255D.png


別再只會前進後退直線飛行了,趕快一起在家練習手感! 多軸的繞圈圈英文叫做banked turn,大家有空可以去youtube查查,因為這需要左右手同時操作,練好繞圈圈後就可以擺脫直線王的稱號了!

ScreenShot1417944834-2014-12-7-17-38.jpg

至於RF怎買,請去對岸掏:P 硬體鎖都有附上,只要接上DEVO 10後面的接孔,並把DEVO發射類型設成PPM,就可以直接用DEVO 10模擬飛行



2014年11月13日 星期四

新手的多軸飛行器 - 改minimOSD-extra

Update: 目前有一新版本minimosd持續在更新與進行 https://github.com/night-ghost/minimosd-extra
本文新增功能已經在這版本支援,大家可直接使用該版本。

最近北部開始進入冬季,所以飛場常常有東北風或者下雨,所以我就會宅再家裡想可以搞什麼。
在FPV過程中,很多訊息是有價值值得參考的,例如現在高度、離HOME多遠、GPS衛星數量、電量等等...但其實還有很多有用訊息沒被顯示出來,但這些隱藏訊息其實又非常有價值值得參考。
例如Pixhawk中的HDOP(水平精度),但在minimOSD韌體裡面沒有顯示出來,但其實在它的原始碼稍微修改一下就可以顯示出來,所以這一篇就大概教學一下如何修改minimosd。
我用的OSD是minimosd-extra Pre-release 2.4_r726版本,韌體下載位置在這,裡面也有原始碼下載位置。
原始碼主要結構就大概是這幾個檔案,那Pixhawk用的是Mavlink protocol,在minimosd-extra原始碼中使用的library已經有完整的Mavlink protocol parser,所以大概trace一下就知道整個呼叫流程。
PastedGraphic-2014-11-13-21-11.png
管理OSD的顯示,是OSD_Panels.ino這檔案,那我希望在GPS的衛星數量下面同時顯示HDOP訊息,如下圖左上角,顯示”H 01.72”。
%25255BUNSET%25255D.png
因為minimosd-extra有一個Windows設定工具,原始工具沒有支援HDOP這欄位,所以我就從code裡面去修改,把HDOP一起顯示在GPS的panel裡面,所以首先工作先找到OSD_Panels.ino掌管顯示GPS衛星數量的function在哪,panGPSats這個function裡面就輕易找到一行osd.printf("%c%2i", gps_str, osd_satellites_visible);
所以很快可以理解,gps_str這變數是衛星符號,osd_satellites_visible這變數是衛星數量。
PastedGraphic1-2014-11-13-21-11.png
找到顯示GPS數量的code之後,那接下就是塞入要顯示HDOP的變數。透過osd_satellites_visible這變數去反trace出這一行:
MAVLink.ino:93: osd_satellites_visible = mavlink_msg_gps_raw_int_get_satellites_visible(&msg);
可以得知osd_satellites_visible是透過mavlink_msg_gps_raw_int_get_satellites_visible這個function parse出來的,那在透過mavlink_msg_gps_raw_int_get_satellites_visible這個關鍵字去trace,找到在libraries裡面有一個檔案
mavlink/include/common/mavlink_msg_gps_raw_int.h:338:        gps_raw_int->satellites_visible = mavlink_msg_gps_raw_int_get_satellites_visible(msg);
那我在透過mavlink_msg_gps_raw_int.h裡面去看,發現裡面有一塊定義非常有趣
PastedGraphic2-2014-11-13-21-11.png
我們可以看到這個header file裡面倒數第二行”satellites_visible”定義了衛星數量,同時我也看到一行
uint16_t eph; ///< GPS HDOP horizontal dilution of position in cm (m*100)
賓果!!! 所以我可以知道eph這個變數代表HDOP水平精度!!! 而且也知道這個單位是公分(cm),而且垂直精度也有定義在epv..
那我知道eph就代表是我要的HDOP後,那我就可以拿這個變數回到掌管OSD顯示的檔案,把eph放進去code裡面,以下是我改的code,主要邏輯是:
1.當GPS達到3D Fix的水準時,HDOP就開始顯示,不然就都顯示為 H 00.00
2.因為單位是cm,所以我都除以100變成公尺
PastedGraphic3-2014-11-13-21-11.png
以上就是修改後的code,改完後的顯示畫面如下左上角,衛星數量10顆符合3D Fix,HDOP水平精度1.72米,我自己習慣是,如果水平精度開始飄,例如超過5米跳動,那我就會趕快降落檢查,避免提控。
1__%252524%252521%252540%252521__.png
那講這麼多code,對很多人來說可能頭昏腦脹,最乾脆就是提供韌體檔案,直接刷吧!
這是我修改後的韌體下載位置 (2015/02/20 Update:更新到SVN Revision 808),這是適用於多軸版本,不適用於Plane版本。
燒錄方法可以用XLoader,下載位置 http://www.hobbytronics.co.uk/arduino-xloader
或者使用minimOSD的CT tool刷最快。

刷我的韌體後,GPS衛星數量下方要把保持一行供HDOP顯示,如果你看的懂code,想要顯示其他訊息,例如垂直精度、AccX、ACCY、震動值等等,你都可以透過改code方式顯示在OSD上面。

2014年10月26日 星期日

新手的多軸飛行小物 -- 433天線 FAKE RH771

上一篇提到433中繼站,用的是橘子的原廠天線,目前效果都還不錯,但一些RC前輩還是建議我更換好一點天線,所以就決定換成RH771(假XD),因為我之前玩車機有陣子了,所以大概知道這隻天線應該是假貨,便宜又是強國的,跟我之前見過的Diamond正廠品質有差。


裝上去,長長一根,爽度先增加,雖然知道是假貨XD 但還是要得意一下!!


哇! 假貨上面還印MADE IN JAPAN,再次用假象安慰自己XD


實際測試結果如何呢...最長距離我還沒測試,但跟橘子原廠天線比較,有比較好,對周邊電器干擾也變大了,電視還會出現水波紋,所以最好跟人/遙控器/圖傳/數傳保持距離,不建議把這天線安裝在機身上,除非你知道如何避開這些干擾。

2014年10月24日 星期五

新手的多軸飛行小物 - SJ4000換鏡頭


對於SJ4000的超廣角鏡頭超大變形有點頭痛,要拍的廣又要不變形,基本上就是個'貴'字,就像DSLR一樣,想要廣角的16mm或17mm,那鏡頭價格都是嚇死人。

網路上有人把SJ4000換成90度無變形,有興趣的人可以去找找文章。

那我今天這鏡頭是約110度,稍微有點變形但也兼顧到一點點廣角。
SJ4000非常好拆,基本上把前面面板四周用扁平的東西稍微扳一下就開了,然後前面七顆螺絲打開即可。
SJ4000的鏡頭出廠都會被上膠固定,所以要把鏡頭旋開來,要把膠割開,我是用雕刻刀在鏡頭邊緣畫幾圈,鏡頭就很好旋下來了。
旋下來的時候最後鏡頭朝下,避免剛剛的膠屑掉進去黏到感光元件。


因為這鏡頭鏡片比較大,所以原本的SJ4000的保護蓋就套不進去,可能未來要用3D印表機印個保護蓋。


從這角度可以看到原廠的鏡片非常凸,我買來更換的鏡頭比較平面,所以可視角度也比較小,變形也沒有原廠這麼誇張。


還沒有時間去外面測試,先在客廳亂拍,這是使用兩台SJ4000同時拍攝,上面這是沒有換鏡頭,下面是換過鏡頭。
大致上可以發現原廠的大廣角變形非常嚴重,我更換後的鏡頭變形比較輕微。





2014年10月19日 星期日

新手的多軸飛行小物 - 拿掉金插


很早以前就想這麼幹了,把金插(香蕉頭)拿掉,一方面金插有阻抗,在加上一台多軸上四個電調/電變至少要12個金插,金插的重量其實非常重,所以今天花幾個小時把每個金插都拿掉,直接焊死。
而且我也想不到一個理由要保留金插,馬達我也不會常常更換,電調也不會換,從組裝好到現在金插插上後就一直沒拔掉過,所以想想就直接焊死吧<(▔︶▔)>

金插通常兩邊都會焊,所以解焊要注意一下,不要硬拔。



解焊的時候也要注意旁邊的電阻,有時候要適時的停下來讓電路板降溫一下,會因為導熱關係電阻就自己掉下來了。


這些金插估計應該有快100公克,替多軸減肥也可以增加一點滯空時間。
焊死後要低空飛行測試一下,用手拉拉看檢查有無空焊,確保電調跟馬達是運作正常。

如果你沒有把握解焊,那就持續用金插也沒關係。


2014年10月10日 星期五

新手的多軸飛行小物 - SJCAM SJ4000 AV OUT

提到運動攝影或者FPV第一視角飛行,大家都會想到GOPRO,但預算有限的人就會用SJ4000。
之前注意到SJ系列的攝影機是從SJ1000開始,當行車記錄器開始成為大家必備的器材,不管是機車、汽車,甚至到現在的飛行器,都一定要掛載一個記錄器。
當時出現一個聯詠 NT96650+AR0330的晶片解決方案,可以FULL HD錄影,畫質媲美GOPRO,在加上便宜,當時市面上幾乎所有行車記錄器市場都被這晶片佔據,而SJ1000小巧在加上一堆配件,讓我印象深刻。
PastedGraphic-2014-10-10-12-28.png
後續推出的SJ4000外型接近GOPRO,甚至號稱配件可以相容,據說是同工廠生產,這讓市場更為之瘋狂,沒有預算買GOPRO的幾乎轉向購買SJ4000。
但也因為熱賣,所以也有所謂的仿冒山寨品,其實嚴格來說也不是仿冒,主要原因是SJ4000只是一個型號,沒有品牌,偏偏大家只知道SJ4000,變成SJ4000似乎就是品牌名稱,導致A廠商說他們是正牌,B廠商也說他們是正牌,晶片從聯詠換成另一家,也一樣叫SJ4000,或者換個型號叫SJ4000W。唯一可以辨識就是拿去做韌體更新,可以更新不會開機白屏大致可認可為正品。
直到最近終於有人幫SJ4000掛上品牌名稱為SJCAM,也在盒子跟機身印上SJCAM,我有兩台SJ4000,一台沒有印SJCAM,一台後期買的有印SJCAM,但都可以更新最新版韌體。
但是兩台的硬體操作起來有差,前一台沒有SJCAM logo在使用Power切換模式時頓頓的,但是有印SJCAM的是非常順暢。
2014-10-1011.30.04-2014-10-10-12-28.jpg 2014-10-1616.11.29-2014-10-10-12-28.jpg

兩個包裝差異主要是外觀,裡面配件數量是一樣的,說明書也一樣。 右邊是有印SJCAM的,左邊是沒有SJCAM。

2014-10-1217.40.26-2014-10-10-12-28.jpg
2014-10-1217.40.43-2014-10-10-12-28.jpg
沒有SJCAM logo的側面包裝有印出全部配件圖案。
2014-10-1217.40.56-2014-10-10-12-28.jpg
兩個配件內容都一樣,很有物超所值的爽度!

2014-10-1217.43.18-2014-10-10-12-28.jpg
最新 SJCAM SJ4000 Firmware
http://www.sjcam.com/content/9-sjcam-sj4000-action-camera-firmware

2014年10月5日 星期日

新手的多軸飛行小物 - 抗干擾磁環 / 鐵氧體磁環



最近無聊都會在youtube看一些多軸的影片,看到這片教導大家怎組多軸,看著看著在08:06處看到一個綠綠的東西,如下圖。



其實這東西不是第一次看到,之前看到都是直接忽略,這次突然心血來潮,大概查一下這東西是搞啥的,簡單說就是電子訊號在大氣中跑來跑去,電子設備的這些信號線很容易變成這些訊號的天線,這些雜訊就會附著在你的電子設備加疊上去,導致原本的訊號受到干擾。

那多軸在空中飛來飛去,現在科技這麼發達,空中一堆無線電訊號、手機基地台等等,很容易受到這些訊號干擾。

這東西一般叫做鐵氧體磁環,雖然有個磁字,但它本身沒有磁性,所以可以安心使用。
一般用在高頻率的訊號產生處,例如多軸的電調/電變這種PWM的輸出,所以從影片可以看到他們安裝在靠近飛控端。

有裝有保佑,尤其我有三次不明原因no控經驗,所以我也在我的飛控上面裝個幾顆,網拍上面賣一顆幾十塊錢,而且重量不重,對多軸的總體重量影響不大,也不會讓你的多軸馬達多好幾匹馬力,這也不是什麼遠紅外線電視購物唬爛用的。

記住,要裝在訊號 "輸出" 端,可以繞越多圈越好


2014年9月16日 星期二

新手的四軸飛行器 IV 433 MHz 1W+100mw 增程功放

2014-08-3110.54.35-2014-09-16-18-16.jpg
之前說的Pixhawk 650軸距四軸大致已經組好,最近都在調整階段,未來會補上教學文章,Pixhawk的設定相對MWC複雜許多,必須擷取取多圖,所以需要一段時間整理。
這篇先教學433增程,何謂433增程?
之前提到使用遙控器是DEVO 10 2.4G,2.4G這頻段特性是距離短、穿透力低,在加上目前許多電子設備都往這頻段擠,例如家裡的Wifi、數位電話,所以造成2.4G這頻段擁擠,很多3C設備現在也開始避開這頻段往5.8G頻段,所以市面上很多Wifi基地台也開始使用5.8G,主要原因就是2.4G太多設備使用,干擾太大。
FPV的流行,很多人多軸追求長距離遙控,但因為2.4G遙控器距離限制,所以有所謂433增程,簡單說就是把原本2.4G換成433MHz頻段。433MHz頻段特性是傳輸距離遠、穿透力強,雖然目前433MHz在民間無線電也在使用,但這可以透過跳頻和軟體通訊解決,所以目前干擾問題可以忽略。使用433MHz可以讓遙控距離輕鬆達到公里等級,如果場地開闊,數十公里也沒問題。

433MHz增程使用下面圖案說明
原來作法:
使用DEVO 10發射2.4G訊號到多軸上面的RX1002 2.4G接收器。
433增程作法:
把DEVO 10 2.4G訊號先發射到中繼站,中繼站裡面的RX1002接收2.4G訊號後,透過實體線路傳送到433MHz發射器發射到多軸機上的433MHz接收器。
%25255BUNSET%25255D.png

使用這種作法必須新增一組433MHz發射器跟接收器,目前推薦使用OrangeRX的TX/RX,簡稱大橘子。我是從HobbyKing購買,TX是$30美金,RX是$20美金。

但在台灣使用無線電需要有無線電業餘執照,我也特地去NCC考了一張業餘執照,但433好像不在這範圍內XD,考開心的,哈。



2014-09-16_18_11_22-2014-09-16-18-16.png

軟體部分,使用OpenLRSng去刷,它的刷機工具使用Chrome extension方式,所以使用瀏覽器Chrome去這網址下載並安裝。
%25255BUNSET%25255D.png

首先要準備一個FTDI來刷機,這在之前教學MWC GPS設定有提到
非常重要!!!非常重要!!!非常重要!!!非常重要!!!
大橘子的FTDI只能用3.3V!!請勿接上5V,會燒毀!!!
如果你用的FTDI是跟我下面那張圖一樣,請注意中間部分有三個點,這三個pin腳可以控制FTDI輸出電壓,預設通常是5V,所以我用切割刀讓5V pin跟中間pin點割開,並焊上3.3V pin點,這樣FTDI就是3.3V輸出! 如果不確定FTDI電壓,請用三用電錶量測VCC/GND腳位。
2014-09-1618.56.08-2014-09-16-18-16.jpg

在把FTDI插上去之前,另一件重要注意事項!請隨時保持天線插上!!!請隨時保持天線插上!!!
因為這是1W發射器,沒有接上那根粗粗天線,會造成發射晶體燒毀,所以個人建議隨時保持插上狀態在通電。
把大橘子的外殼拆開,靠近天線部分是DTR腳,背面電路板上其實都有印刷,大家拿到手可以自行檢查比對。
對應上圖的FTDI的腳位,插上去即可。
2014-09-16_18_12_47-2014-09-16-18-16.png
打開設定軟體,選擇 “Firmware Flasher”
%25255BUNSET%25255D.png
1.確認COM port是正確
2.選擇硬體版本,大橘子是HobbyKing OrangeRx UHF TX
3.確認網路是通的,按下Flash Firmware就開始刷了!!
%25255BUNSET%25255D.png
刷完發射端,改刷接收端,一樣確認動作
1.確認FTDI的腳位是對的嘛? 靠近天線位置是DTR,如果不放心可以轉到背面,電路板上也都說印刷腳位名稱。
2.確認FTDI是3.3V
3.確認粗粗的天線有接上
2014-09-16_18_13_35-2014-09-16-18-16.png

以上步驟確認無誤後,開啟刷機工具,步驟跟刷發射端一樣,只是硬體版本改選為HobbyKing OrangeRx UHF RX
%25255BUNSET%25255D.png
刷完以上步驟後,你的大橘子發射端和接收端軟體部分就大功告成。
接下來是線路組裝部分,最前面提到”中繼站”,我們必須建立一個中繼站來負責轉發訊號
這是我用電池的盒子改裝的醜醜中繼站,從最左邊依序是433MHz發射天線、12V風扇、電壓表、RX1002天線。先解釋為何要風扇和電壓表,因為發射端是1W,所以會產生一定熱能,建議使用風扇幫助善熱。電壓表是監控中繼站電池電量,避免飛到一半中繼站沒電。
2014-09-1618.48.22-2014-09-16-18-16.jpg

上面提到中繼站負責把原本RX1002訊號透過實體線路傳送到433MHz發射端,那透過何種實體線路呢?這時候我們需要一個PPM encoder。在組裝Pixhawk我們有提到這個東西,因為新的遙控器都開始支援PPM訊號,但RX1002不支援PPM,所以需要這個PPM encoder把RX1002上面密密麻麻的腳位訊號轉成一條線PPM訊號,而剛好大橘子刷機後也只支援PPM訊號。
簡單說如下圖,PPM右邊的八個pin腳接到右邊RX1002,等於把RX1002的8動訊號轉接成左圖的左邊PPM一組線訊號。


ppm-encoder-wiring-2014-09-16-18-16.jpg0001683_walkera-rx1002-pro-10-channel-24ghz-rx-receiver-for-devo-series-tx-2014-09-16-18-16.jpeg
把Encoder的白色PPM訊號線單獨接到大橘子的PPM腳位。
注意!!
大橘子運作電壓建議是12V,但PPM encoder跟RX1002是5V電壓,所以中繼站裡面必須有兩種電壓。
5V正副極接到PPM的黑紅線
12V的正副極接到大橘子下圖的VCC/GND
雖然1W發射端接上5V可以運作,但建議使用足瓦的電壓12V去使用,避免低電壓造成設備自行啟動。官網建議1W發射端運作電壓是6.8V~12V。
而100mw接收端,官網建議是3.7V~15V,所以使用5V是足夠的,如果不放心一樣可以使用12V。
2014-09-16_19_27_13-2014-09-16-18-16.png

下圖就是我完成的中繼站盒內狀況,放置一個12V轉5V BEC,5V拿來供應PPM encoder,PPM encoder在供應5V電給RX1002。
12V則直接供應大橘子發射端電源。
風扇建議直接對蜂鳴器上面那區塊吹風,主要熱源是那塊RFM23BP。我有嘗試加散熱片上去,但難度太高,發熱源點就是F/S按鈕往上對上去那一小塊黑色晶體,高度不高,所以要頂住散熱片是一個問題,而周邊又一堆電阻,散熱片可能會誤觸導致短路,所以最簡單作法還是推薦是用風扇直接散熱。
2014-09-16_18_48_46x-2014-09-16-18-16.png


以上中繼站完成,接下接收端就簡單了。
透過軟體設定,大橘子接收端pin 1是RSSI訊號線,pin6是PPM輸出,所以我們只要把PPM訊號接到飛控板上的PPM輸入即可。
2014-09-16_18_13_35xxx-2014-09-16-18-16.png

以上硬體部分全部完成,接下來是軟體設定。

把中繼站拿出來,確定線路都正確,接上12V電源,在把FTDI 3.3V拿出來接上大橘子發射端的FTDI接腳。
打開OpenLRSng設定軟體,確認COM port有偵測到,按下Connect之後出現發射端的畫面。
點一下右上角的Randomize產生亂數跳頻參數,在按下右下角的Save to EEPROM儲存。
%25255BUNSET%25255D.png
完成上面步驟後,發射端的軟體設定完成,接下來要設定接收端,但接收端設定方式跟發射端不一樣,他是透過發射端去連接接收端,而不是直接透過FTDI接上接收端。所以在此之前,我們必須讓這組發射端跟接收端對頻。
對頻方式:
1.先讓發射端斷電,同時接收端也斷電,FTDI都不要接。
2.持續 按住發射端上面Fail Safe按鈕
3.發射端上電
4.約等待5秒聽到逼逼聲放開Fail Safe按鈕,並確認發射端持續發出逼逼聲。請勿按住超過10秒。
5.確認發射端持續發出逼逼聲代表進入對頻狀態,這時候把接收端上電,發射端連續逼逼聲會停止,這就代表對頻完成。
對頻完成後就可以開始設定接收端,這時候先把接收端斷電,把FTDI接上發射端,打開OpenLRSng設定工具,並連接。
點選RX module,出現提示等待連接接收端,這時候把接收端上電。
%25255BUNSET%25255D.png

因為剛剛有對頻過,所以接收端上電會自動配對完成,RX Module也會自動轉變如下圖畫面,我設定Port 1是RSSI腳位,Port 6是PPM腳位,設定完成後記得點選右下角Save to EEPROM。

%25255BUNSET%25255D.png

右邊一整排針對應上面軟體畫面的Port 1~9,可以依照自己喜愛變換不同功能,但我主要會用到PPM跟RSSI而已。
1__%252524%252521%252540%252521__2014-09-16_18_13_35xxx-2014-09-16-18-16.png
RSSI接腳主要是可以輸出目前橘子的訊號強度,像我使用FPV飛行,透過螢幕顯示出現在訊號強度。因為橘子的訊號輸出是高頻的PWM訊號,飛控無法解讀,所以OpenLRSng官網有推薦一個方式。
使用一個10k電阻跟1uF電容,就可以把訊號轉為0V-3.3V Analog 訊號,以我的Pixhawk飛控板為例就可以正常判斷RSSI強度。
下圖左邊的線就是接到橘子接收端的RSSI 訊號腳,右邊接到飛控板。
%25255BUNSET%25255D.png

Pixhawk的使用者也要記得把參數 RSSI_PIN改成103,也就是SBUS的pin腳。
透過上面的low pass filter,RSSI_RANGE也要改成3.3讓Pixhawk知道RSSI的範圍。



設定完接收端後,打開DEVO 10,如果整個訊號串連起來,點選OpenLRSng設定工具中的Signal Monitor會出現下圖畫面,控制DEVO 10幾個搖桿就可以看到PWM的訊號在畫面上增減。
%25255BUNSET%25255D.png

以上步驟就是整個433增程功放的設定,使用1W的發射端搭配100mw的接收端。
但是!!!
OpenLRSng還有一個特異功能,它可以讓1W的發射端變成1W的接收端,我未來也會朝這方向去做,所以我一次購買兩組發射兩組接收XD
發射跟接收都是1W功率,可以讓距離更遠,但除非你有特殊需求,不然其實個人建議發射1W/接收100mw就足夠使用,因為當你裝一個1W接收端在多軸上面,可能會影響其他電子設備,例如圖傳、GPS、OSD干擾紋。
網路上也有人修改OpenLRSng,讓大橘子除了轉送遙控訊號,也同時傳送數傳訊號,簡單說就是透過一組天線發射兩組訊號,這樣多軸上面的915MHz圖傳發射器又可以省下來了!!
有興趣可以參考此網頁