2023年1月5日 星期四

Tailsitter Planes Setting

 這次要設定的目標是長這樣


沒有控制面是特色

設定參考頁面https://ardupilot.org/plane/docs/guide-tailsitter.html

1. Q_TAILSIT_ENABLE設置為2(對於 Copter Motor Only Tailsitters 的特殊情況(沒有升降舵或副翼/升降舵的控制面))來啟用

ArduPilot 將 tailsitters 細分為兩大類:

  • 矢量尾翼

  • 非矢量尾翼, 在 Non-vectored 中有兩個子類別,Single/Dual Motor 和 CopterMotor:我們要採用的是CopterMotor 使用三個、四個或更多電機,並以更像直升機的方式運行。這些可能有也可能沒有可用於固定翼飛行的控制面以進行控制。** 沒有它們的 CopterMotor 尾翼(即只有一個沒有控制面的升力翼)在固定翼飛行模式下必須始終使用它們的電機來提供控制。設置Q_TAILSIT_ENABLE = 2 會自動執行此操作。**

Q_TAILSIT_MOTMX = 15 (啟動motor 1- 4)
Q_FRAME_CLASS = 1 (quad)
Q_FRAME_TYPE = 17 (X) ***
Q_A_ANGLE_BOOST = 0 未能禁用此功能將導致油門隨著機頭下沉而減小,使機頭進一步下沉並導致撞車。

有兩種直升機尾翼特定配置可供使用,它們為直升機式電機提供無偏航扭矩 (NYT) 控制:Q_FRAME_TYPE = 15 (Plus) 和 =16 (X)。

(從上方俯視鼻子)

NYT QUAD PLUS 電機尾翼

電機由 M1-M4 輸出控制:

../_images/plus-copter-quadplane.jpg

NYT QUAD X 電動尾翼

電機由 M1-M4 輸出控制:

../_images/x-copter-quadplane.jpg
飛控的安裝方向依照飛機形式朝機頭方向
***搞死人,要注意馬達方向,跟常見的Quad不同

這邊有寫到啟動的方式: 簡單的說,要水平啟動,然後再立起來
  • Power up horizontally, and allow the autopilot to begin initialization in this position. After the IMUs tilt initialization is completed (usually in the first ten to fifteen seconds or so), the Tailsitter can be set vertically for the remainder of the initialization (ie after GPS lock and EKF is using the GPS) and then armed.

  • Or, if you get the Pre-Arm failure above, lay the Tailsitter down horizontally for 10-30 seconds to allow the various AHRS subsystems to synchronize. After that it can be raised and arming should proceed normally.

23/01/10

機體的部分依照進度慢慢完成當中,只有幾個小地方沒注意到。像是3mm碳纖棒開的孔3.2mm是不夠的,應該需要到3.4mm
另外就是艙蓋沒有設計固定的方式

至於飛控,PID的部分已經調整的差不多了。原來是這個P值超低,所以預設值放上去都一直震動。而YAW還是不受控制,除非YAW的問題能夠解決,不然應該會失敗。
我有找到一篇討論,跟我的問題一模一樣
https://discuss.ardupilot.org/t/quad-motor-tail-sitter-4-1-yaw-response/77025
最後一個回答是
I suggest to increase Q_A_ACCEL_Y_MAX to 110000.
明天試試看,希望有用。

23/01/11 
還是沒用,而且我把油門用手壓住只轉YAW,然後觀察飛機的反應,基本上YAW是完全沒動作的。
想了很久...我覺得應該是我自己完全會錯意了

Q_FRAME_TYPE = 15 (Plus) 和 =16 (X) 這兩種構型應該是不提供YAW控制
我原文看了幾次才慢慢了解 之前以為是為了無舵面飛機特別提供
其實原文的意思是早期的版本並沒有YAW控制功能,後來新版有了,但是為了給舊版用習慣的人可以沿用舊的控制,所以增加這兩種構型。

好吧...等等調整一下 明天測測看


23/01/13
很順利,沒錯,就是搞錯,Q_RAaME_TYPE = 1就OK了
並且做最後組裝。
幾個洞的角度跟大小沒調整得很好,但是無礙。我會把3D圖修正一下。
底蓋廢棄,因為在畫的時候沒注意到低點是主翼後緣,所以底蓋廢棄。
倒是在測試的時候,發現飛機模式時候,YAW的偏行不是很明顯。所以我會加上垂直翼以防萬一。





23/01/19
前幾天去試飛,還是一樣發生原地自旋。一直以為已經解決。回來看log也是找不到問題。主要是看磁羅盤跟震動,好像都在範圍之內,發生自旋的時候,IMU也是有正確偵測到。
後來在飛場還發顯馬達運轉不良。原本以為是內部線圈有斷掉,但回來之後怎麼檢查都找不到問題,最後整個韌體重刷過就神奇恢復。
難道是馬達的問題?不知道,反正今天換上新馬達,有空重新測試。

23/1/21
今天去後山調參,悟到了一個參數值I的重要。之前都只調整P跟D,I值要嘛很低,不然就乾脆留0。今天把飛機拿在手裡的時候發現I值的重要。
I值主要是提供緩慢的回到初始位置,所以如果把I值設成0的話,用手去轉Yaw,轉的時候會有抵抗力,可是手一鬆他會停住。如果I值有設定的話,不只抵抗增加,手放開還會回到最開始施力的位置。重要的是它會增加抵抗力。
所以原地自轉的問題算是找到答案了,就是I值沒設。
另外今天也測試了Q_HOVER跟Q_LOITER,結果高度完全不行。沒有氣壓計高度變動得太厲害。

23/1/25
考慮許久,還是試著增加氣壓計。
相關資料
無氣壓計警告
https://ardupilot.org/copter/docs/common-speedybeef4.html
改用GPS為高度測量
https://ardupilot.org/copter/docs/common-gps-for-alt.html#common-gps-for-alt
https://ardupilot.org/copter/docs/common-non-gps-to-gps.html#common-non-gps-to-gps
https://ardupilot.org/copter/docs/common-apm-navigation-extended-kalman-filter-overview.html

23/2/2
今天氣壓計到貨,晚上弄了很久都偵測不到。同一個bus上的compass沒問題。單獨把她拿到arduino上去讀資料也ok。找不出原因....
決定放棄用這塊FC來做這個計畫,還是弄回pixhawk吧,省的白做好多工。

23/2/4
改成pixhawk之後去測試,終於把高度定住了。一整個差很多....
另外還打算測試飛行模式的控制
結果發現FWA可以控制,但是stable模式則完全沒反應。另外嘗試調整了一下PID...好像沒反應,可能統一由Quad那邊的PID調整吧??





這邊在閱讀討論區,找到一些有用資訊
你好@kd0aij,@iampete,@tridge
我正在建造四翼雙翼飛機尾翼,在從 qloiter 到 fbwb 的過渡過程中遇到了一些問題。當我切換到 fbwb 時,轉換以 45 度(默認)完成。然後它繼續俯仰直到到達地平線,因為所需的俯仰幾乎為零。這種轉變非常快,我的飛機墜毀了幾次。有什麼方法可以使過渡緩慢而平穩。另外,如果我想在向前飛行時固定俯仰角(非零值),是否可以這樣做?因為目前,fbwb 控制器希望所需音高為零。我想看看我的飛機在固定高度下的俯仰角與速度圖的表現。我想以 10 度的增量從 90(零速度)到 10 度(我猜是最快的速度)改變俯仰,並研究所消耗的功率如何變化以找到最佳俯仰角。我希望你能在這方面幫助我。您的幫助將不勝感激。

  • 如果您沒有足夠快地達到飛行速度,您可以將過渡角度 Q_TAILSIT_ANGLE 增加到大約 60 度……您還可以(在 master 中)確定從垂直到 60 度所需的時間:Q_TAILSIT_RAT_FW
  • FW 中的俯仰角從自動駕駛儀的角度(即機身框架)始終為 0,但是,您可以通過僅在 Mission Planner 中將飛機保持在所需角度進行校準水平來更改迎角(地球框架中的俯仰角)攻擊(通常在機翼弦上 3-5 度,相對於地平面參考),那麼您將需要調整 Q_TRIM_PITCH 參數以補償 VTOL 模式下的垂直為 0 俯仰,或者您可以使用 TRIM_PITCH_CD 參數僅影響FW 模式下的俯仰調整,然而,這不會反映在 OSD 或 Mission Planner VHR_HUD 顯示中,並且看起來自動駕駛儀總是偏離水平,所以我更喜歡第一種方式,我自己
    另一種設置俯仰微調而不是使用 Mission Planner 中的 LEVEL Calibrate 按鈕的方法是手動設置 AHRS_TRIM_Y 值……以弧度為單位,因此您可以在飛行到 FBWA 中的不同值時設置它並查看需要什麼油門以保持恆定高度……然後您可以查看地面速度的對數值(假設您進行逆風和順風通過以及空速的平均值)與油門與您使用 AHRS_TRIM_Y 修剪的俯仰角
另外關於Q_OPTIONS bit 7 跟8

控制面

雖然通常不推薦,但可以駕駛沒有控制面的尾翼飛機。應注意首先讓車輛在懸停模式下飛行良好。

  • Q_OPTIONS位 7:強制Qassist將強制車輛在所有飛行模式下使用直升機控制器。

  • Q_OPTIONS位 8:Mtrs_Only_ Qassist允許對電機使用直升機控制器,但將任何控製表面留在平面控制下,這允許控製表面充當電機的“微調選項卡”。

有關如何通過空速、高度、姿態和/或開關自動啟用和禁用Qassist的更多詳細信息,請參閱輔助固定翼飛行。RCx_OPTION

就算看英文也不是很懂,不過好像bit7要設定成1

另外又有看到關於 QASSIST 參數:
Q_ASSIST_ALT 0.0 ****
Q_ASSIST_ANGLE 10.0
Q_ASSIST_DELAY 0.5
Q_ASSIST_SPEED 0.0 ****

打星星的兩個比較重要 不過好像預設值就長這樣

23/02/15
大失敗,Quad模式還好,轉道FWA之後大概兩三公尺,飛機就會像發瘋一樣垂直拉起來然後在天上亂飛。試了兩次最後大墜毀。
目前已知的問題是因為面積大,在Quad模式停懸稍微有點風的時候要修正Yaw光靠扭矩是不夠的,可以看到其中一個馬達都停了還無法修正。
至於轉FWA模式為什麼會垂直拉升,我有兩個猜測,第一是要修正滾轉但是扭矩不足,已經有一個馬達停掉。
另外就是可能某個參數設錯,導致飛控以為要墜毀所以強制戒數。

參考資料
  • Tailsitter 討論串  https://discuss.ardupilot.org/t/copter-tailsitters/45514?page=39
  • QuadPlane VTOL 調整» 調整過程說明 https://ardupilot.org/plane/docs/quadplane-vtol-tuning-process.html
  • QuadPlane Setup » Tailsitter Planes https://ardupilot.org/plane/docs/guide-tailsitter.html

2023年1月4日 星期三

更新BLHELI ESC


 之前想要更新飛塔上的ESC,用BLHeliSuite怎麼連都連不上。今天不知道看到哪篇文章,才赫然發現,原來BLHeli有兩種,一個是Blheli_32另外一個是Blheli_S,我之前以為後綴32是新板,結果發現是意思是給32bit MCU用的而_S則是比較弱的MCU用的

https://oscarliang.com/choose-esc-racing-drones/#firmware

他奶奶的...原來之前工具都下載錯了

所以BLHeliSutie跟BLHeliSuit是兩種不同的工具

而更早的BLHeli config則是跟後者相同 但是功能比較簡單

OK....反正手邊4in1連不上的今天都連上去了...

而之前要刷Hobbywing Xrotor 10A成BLHeli固件的也是一換工具就OK....


相關資料: 

  • Xrotor 10A 刷Blheli文章參考這 

http://dronehitech.com/en/flash-silabs-esc-blheli-firmware/

  • 刷寫工具跟用法

https://oscarliang.com/flash-blheli-s-esc-firmware-fc-pass-through/

  • 支援的ESC列表

https://github.com/bitdump/BLHeli/blob/master/SiLabs/BLHeli%20supported%20SiLabs%20ESCs.pdf


手邊一堆的雷虎30AOPTO原來是HOBBY  Platinum Pro 30A OPTO,難怪這麼眼熟


然後得到一個驚人的結果,原來好盈出貨給雷虎的已經是刷好Blheli的電變。

應該是吧,這顆是我從箱子裡翻出來已經去皮的,可是印象中我沒有動過韌體。



2022年12月25日 星期日

Mamba F405 MK2 使用Ardupilot固件



 22/12/25

真的老了,做甚麼事情如果不寫下來,當下以為記得,其實下次再弄的時候已經忘了。

很久以前訂了Mamba F405 Mk2打算來弄VTOL,花了一點時間安裝了Arduion的firmware之後沒把過程寫下,結果今天要再接下去的的時候已經忘了怎麼燒錄的。

研究一下應該是看這篇

https://ardupilot.org/plane/docs/common-loading-firmware-onto-chibios-only-boards.html#common-loading-firmware-onto-chibios-only-boards

使用的是STM自己的燒錄軟體,韌體是https://firmware.ardupilot.org/Copter/beta/MambaF405v2/

裏頭的arducopter_with_bl.hex

with_bl是with boot loader的意思,裝好之後下次就可以用MissionPlanner來刷固件。印象中刷固件的過程好像要拔起來,按住按鈕然後再插上。

有bootloader的話好像不用....要再研究。

今天的工作是慢慢的把周邊裝上。參考這一頁

https://ardupilot.org/plane/docs/common-serial-options.html

不過依照說明SERIAL3 TX3 / RX3 UART3 (Telem1)

安裝Telemetry到Serial3就沒反應,超鳥的,最後還是去看參數


SERIAL3_BAUD是指速度38400,SERIAL3_PROTOCOL 5是用在GPS

https://ardupilot.org/plane/docs/common-serial-options.html

感覺這個頁面寫的比較準...

正在考慮要不要換回預設的port,免得之後還要拆拆裝裝。

心得: 飛控還是別隨便亂買,Mamba會用只是單純的參考Ardupilot支持的硬體列表,加上淘寶價格還不錯。買回來發現因為飛塔為了要搭配4 in 1 ESC,所以最多只能控制四個馬達,不然如果要用在VTOL,要買Matek系列的飛控,他有針對各種布局出不同的硬體,但是缺點是單價高很多,縱使MCU沒變。

另外Mamba這片飛控沒有內建磁羅盤,不過想想也合理,因為飛塔下面就是電變,內建磁羅盤大概也被干擾到不要不要。

但是它內建OSD,外掛的ESC內建電流感應。這點還是不錯的。


22/12/26

今天裝GPS。我用的是BN-880 大陸晶片,內建compass,不知道效果如何,不過之前用過隨便的晶片都還不錯,其實也不見得一定拘泥於M8N這類美國晶片。

接上去一如既往地沒反應,所以做了一條線用電腦測試。是了幾種速度發現是9600跑的是NMEA協定,用電腦測是覺得這個晶片感度真的非常好,室內都能收到訊號,只是沒辦法定位而已。



這一個頁面是關於Serial的各種參數

https://ardupilot.org/plane/docs/parameters.html#serial1-baud

https://ardupilot.org/plane/docs/common-serial-options.html




最後找到問題了,因為預設參數,GPS是設定在SERIAL4的地方,而我們新增SERIAL6也是GPS,但是在GPS_TYPE2卻是0 (none) 把它關掉。結果Ardupilot就一直嘗試用SERIAL4去通信,所以當我把SERIAL4跟GPS_TYPE2都打開的時候,畫面會顯示GPS2 No Fix, No GPS。

最後就是把SERIAL4_PORTOCOL 設定為-1關閉 GPS_TYPE2設定為0 就可以正常運作了。

最後結論是預設參數根本沒有跟這個硬體配合,所以很多外掛都要重新設定才行。

MAMBA F405 MK2 


23/01/02

今天幾乎要把測試機完成了。又升級了一次固件,發現如果是用晶片廠的工具更新的話,參數會被抹除。

另外就是這塊飛控的溫飄超大,開機沒多久偵測的姿態就偏調,用放大鏡看晶片,編號好像怪怪的,順便查看另外一塊F4V3,是直接連型號都擦掉。看來大陸最近因為貿易戰的關係,好像很多晶片都拿不到...慘!

另外研究了一下說明,感覺氣壓計好像蠻重要的,所以就順便在網路上訂了一片單獨的I2C氣壓計外掛。

如果溫飄的問題沒解,我會再買一塊飛控。

做成飛機之前先驗證飛控用


未來飛機會長成這個樣子

後記:後來有一個臉友提醒IMU的問題,他教我用酒精擦過再看,字會比較清楚。結果居然改成MPU6500,昏倒...原本MAMBA MK2是用MPU6000的阿,阿共也真佛心,反正腳位相同,尺寸相同,功能類似就直接幫忙無償升級,真是謝謝喔....

阿這樣原本固件怎麼能用啦,我剛剛查了一下,整個原始碼include的library用不同的IMU就不同了,根本不是參數調整能解決的。靠北...


23/1/3

最後查到這個討論線程 https://discuss.ardupilot.org/t/mamba-f405-mk2-gyro-accel-drift-and-increasing-ground-speed/76436

一模一樣的漂移狀況,看來是無解。

後來放棄要換回BF的固件,發現到一些事情,這塊板子的config最新有2022A跟2022B

https://raw.githubusercontent.com/betaflight/unified-targets/master/configs/default/DIAT-MAMBAF405_2022A.config

https://raw.githubusercontent.com/betaflight/unified-targets/master/configs/default/DIAT-MAMBAF405_2022B.config

比對了一下 光開頭的#define B版就比A版加了ICM42688P這個陀螺儀,而且B版也多了氣壓計

而A版本身就有MPU6000跟6500

這一頁有比較明確的比對

https://www.diatone.us/collections/flightcontroller/products/mamba-mk4-f405mini-flight-control-20mm-m2

看起來我手邊的MK2就只是換了陀螺儀 而沒有氣壓計 應該要用A版的固件,而B版則是給MK4有氣壓計的版本,而最早的MAMBAF405US_I2C則只能用在MPU6000上面。

***以上是錯的A或B都是給MK4用的

***應該要用  Firmware Target : FURYF4OSD (Legacy)

所以正確的產品資訊頁應該是這個

https://www.diatone.us/collections/flightcontroller/products/mb-f405-mk2-fc

超混亂....

23/1/4 凌晨

居然試出來了 太神奇了捷克 要用以下步驟

用 DFU模式直接刷這個版本 https://firmware.ardupilot.org/Copter/latest/MambaF405US-I2C/

DFU直接刷不能用 再用MP刷一次。比較特別的是MP會問要哪個版本,有I2C跟2022兩個版本。

先選I2C,這次地平線會有反應,可是從HW ID 居然沒辨識出ACC感應器 但是就不會飄移 可是GS一樣跳動

然後再用MP刷一次 改選2022版本 就完全解決問題了,GS沒跳動 也不會飄移

23/01/04 上午

昨晚發現的方法居然沒有辦法連上SBUS....幹

搞了一個上午 似乎更新的順序都會影響

燒I2c -> MP更新2022  IMU OK, no RC

燒2022 -> I2c 不行 IMU no ok, no RC

最後的解法

燒v2 ->MP更新,然後copter的不能用,只能用Plane的版本,目前最好的解法,同時解決IMU跟RC IN。


2022年11月19日 星期六

dRehmFlight F-35 Building Record

9/7 DIY飛行控制器....

很屌的案子,感覺不難就著手淘零件。
在等待零件的時間裡大致把程式看過,嚴格來說,這東西應該比較接近陀螺儀而不是飛控。沒有自動飛行這類功能,但是有一個很大的好處是可以隨便改變混控的方式,就可以做出一些奇怪的飛機。
目前剛完成焊接工作,不難。程式原始碼也很簡潔,而且打包的很好,完全沒遇到library還要自己安裝的困擾。
我第一台打算做https://youtu.be/tlD0C5CrWcA
這台VTOL的F-35板機,等搞定在分享。


9/12 台版Tennsy 4.0燒掉了!

今天燒掉第二片,一模一樣的狀況,都是跑大約一兩分鐘之後當掉,然後重新boot又OK,然後又幾分鐘當機,幾次之後就死掉了。

我檢查了好幾遍接線,確定都沒問題,USB 5V的接點有切掉改用外部,外部電源也很乾淨。
想了很久,我覺得唯一可能就是TLV75733P 可能規格不符合。因為我跑的程式需要很大量運算,需要的電流比較大就導致不穩定,最後掛點....
一片一千多的開發板莫名其妙的掛點了!還掛了兩片


10/7  拿到美國郵購的原廠Tennsy 4.1了,直接在原廠網站買,100%貨真價實


11/16 終於開始動工了,首先直接灌程式跑看看,然後測溫度,其實跟之前台版的差不多。

接著把之前的電路板位置稍微改一下,還好4.0跟4.1前面的腳位完全相同,所以只要把傳感器的座往後延伸一點就可以了




這次拿到的原版Teensy 4.1 跟手邊台灣買的Tennsy 4.0自系對比了電源晶片,發現除了上面的雷射刻字不同之外,腳位也不同。台灣買的有六個焊點,跟網站說明相同,但是美國版的卻有8個焊點,但是說明裏頭4.0根4.1用的都是TLV75733P。

下面是實拍照片




所以合理推斷,原廠可能有發現這個IC功率不夠後來換掉,而台灣買到的是舊版。不過無論如何,還是把供電電壓降到4.6v以防萬一。所以我用了網路上隨便買的MP1584 DC-DC可調模塊,大概跟下面的差不多,DIY了一個4.6v的BEC



除此之外,又想到也許是原本HITEC接收機輸出的是數位訊號,可能導致運算附載比較大,所以這次改用FUTABA原廠接收機,這樣輸出的PWM時脈則一定是標準RC PWM,畢竟FUTABA是規格創造者。

 11/19 好不容易把三個Hobbywing Xrotor 10A ESC焊再一起,接上電。伺服器都正常運作,但是ESC沒反應。原本以為是輸出的PWM超過上限,後來看程式碼才知道他只支援OneShot125,而Xrotor這種舊款ESC則不支援。煩死了,明天再換上新的4in1。

相關資料: 

    Hobbywing Xrotor 10A 詳細review 

    Hobbywing Xroror 10A 刷 Blheli (考慮過,太麻煩,手邊的探針尺寸不合,不過有機會還是會試試看)

11/20 無聊去看了一下Teensy的討論區,用關鍵字搜尋了一下,找到了一個比較確定的答案關於功率晶片的事情 連接

簡單的說,就是外部電源不能超過5v,如果5.6v會直接燒掉。的確,當時我手邊的電源就是5.6v。我還在想說10%的電壓差應該沒問題。看來也許台灣買的4.0將來有機會還是可以繼續嘗試,畢竟便宜一點點。

11/22 昨天看了這個影片 ,還有dRehmFlight在RCGroups裡的討論串,都提到電源品質的問題。所以今天買了電容跟二級體,依照YT裏頭的教學 DIY了保護電路,這樣子應該便宜的DC-DC應該也很穩定了。理論上,電容可以消除波文,而二極體則可以吸收突波。我有買崩潰電壓5.2v跟5.6v。後來還是決定如同YT使用5.6v。



11/23 今天終於把所有的硬體安裝完畢了。非常幸運,在不改程式的狀況下,所有的伺服器方向都剛好正確。不過在製作過程中馬達共振得很厲害,一開始以為是電變一個通道有問題,後來換了一個通道還是一樣,所以就朝剛性處理。

主要是副翼活頁增強,除了原本傳統的話葉片之外,另外使用影片教學的熱熔膠法加強。



另外就是陀螺儀感應器增加了鉛片跟海綿厚度,讓他更能夠抵抗震動。





最後雖然有解決掉共振的問題,但是第一次試飛就發現預設的感度實在太高。可能是因為我使用的是珍珠板,跟老外用的模型板(珍珠板但是兩面有紙)的重量輕很多。所以預設的PID還是得調整。

2022/11/23 晚上: 接上電腦,直接把PID全部砍半,然後用手抓著測試一下,感覺非常OK。等哪天老婆不在的時候再來試飛,免得又罵太吵。



2022/11/25 第一次成功停懸,猜測都是對的,把PID直接砍半就可以飛了,雖然感度還有一點點高,但是起碼人肉陀螺儀的加持下,飛行是沒問題的。這次還把腳架做了加強,之前用1.5mm碳纖棒,在起飛前的一瞬間會因為彈性的關係,整台飛機搖晃而影響。這次直接再黏一隻3mm碳纖棒就沒問題了。


22/11/29 今天真是風和日麗的好天氣。幾乎無風,很順利的就起飛了,停懸模式比想像的還要穩定,但是切換到飛機模式只能說...有夠難飛。主要是重心太後面了,導致機頭根本壓不下來,轉彎也轉不動,又沒有rudder。飛一會就很容易整台飛機"站"起來,然後非得翻整個觔斗重新回到平飛,沒辦法靠升降舵下壓來回復平飛。試了兩趟隨後放棄...下次把電池往前挪應該可以改善。


22/12/20 終於放晴,今天只有測試把電池往前移動到照片裏頭衡的黑色位置。結果如預期好飛很多,但是感度過於敏感導致舵面一直修正的情況還是蠻嚴重的。雖然飛起來沒感覺,但是光聽聲音就知道伺服器一直在震動。只是原因到底是剛性不足還是感度太高,就還要再研究看看。


22/12/30 

從大陸買到的小型示波器到了,第一件事就是測試BEC的突波跟紋波狀態,沒拍照,用寫的簡單解釋一下。

簡單的說,開發板燒掉的原因找到了,就是伺服器。BEC無論是好盈還是自製,甚至只接DC-DC,在插電突波跟紋波表現都還OK,但是一接上伺服器就全掛了,好盈的稍微好一點,但是毛刺的上下高地也快要6-700mv,DC-DC甚至破1v。難怪之前只要伺服器一動作就把開發板燒掉。但並聯在電路上的電容瞬間完美解決這個問題...難怪後面就沒燒。

不過應該還是要把伺服器跟開發板電源分開才是王道。至於電壓應該不需要調到這麼低。可能標準5v就可以了。

2022年10月31日 星期一

VTOL 2號機


 自從有了一號機的製作經驗之後,二號機相對就容易很多。這次針對電磁干擾的問題,最後還是選擇把他架高。不過未來也許可以考慮乾脆把GPS跟磁羅盤分開安裝,畢竟GPS比較沒有電磁干擾的問題,不用架高也可以稍微省點風阻。






這次有設計一整套的改裝零件。


測試飛行:


第二次試飛,跟第一次一樣在降落的時候突然失去動力,下面是墜毀前一瞬間的飛行紀錄

紅色的是我操作的油門大小,當我發現失去動力的時候的確是有補油門。
藍色跟黃色的線是前面的兩顆馬達,其實在我感覺的失去動力之前,飛行控制器就已經給出全油門的訊號。
後來換過ESC,又對調過馬達都是一樣的情況。即使只是靜態停懸,如果不去檢查log的話就感覺不出來,因為還沒達到極限。如果是戶外動態飛行,耗電量更大就會過載。
最後是調整了一下重心跟馬達的相對位置才解決。很難想像重心只差了一點點就會造成馬達附載不平衡甚至墜毀。看來2kg對於四個2212的馬達算是極限了。

這次試飛取得了比較明確的耗電數據,停懸大約28-29A,飛機模式大概10A就可以平飛巡航,巡航速度約60kmh。
全速大概20A,速度沒測。起飛重量2Kg,電池容量是3S 8400mAh。保守回推的話大概可以飛40分鐘以上含起飛降落。航程就是40公里了.....
下次打算測試全自動駕駛,包含全自動起降跟繞圈....

心得:
    這次用的停懸馬達是2212 應該是900kv,以前用在DJI上頭。螺旋槳我試過摺疊獎(大概11吋),APC10x5.5 APC11x4.5。停懸電流試APC 11x4.5最好。大概比10x5.5降低了3A左右,我看飛控的輸出PWM也降到大約1750左右。但由於輸出還是接近極限,所以重心的位置對前後馬達的負擔相當敏感,有點難調整。
    說實話,2212抬2kg實在太操了,我猜就算用最爛的2217應該也會改善不少吧。問題是手邊馬達太多,再買的話又浪費了。再看看吧!
    22/11/16 舉升的動力改用最便宜的XXD 2217/950KV 配11x4.5 APC,測試結果是總耗電略增了一安培,但是油門輸出反而降了一點。應該是轉速比較高,所以送出的油門訊號反而低一點。而耗電增加則是馬達跟槳重了一點(起飛重量2.29kg, 大約重了100g)。所以可以下結論是2212/900kv + 11x4.5 APC跟2217/950kv +12x4.5 APC的效率在這個重量附近幾乎相同。但是後者可以在未來多增加一點額外的payload,而前者則是極限因為PWM訊號已經接近2000極限。


22/11/29 今天測試loiter飛行模式,以及飛行時間,第一次比較順利,一組電池4200x2 飛了兩次起降,各11分鐘,下來電壓3.75。因為幾乎無風,所以loiter模式順利,但還是感覺的到逆風會催油門,而且高度會增加,一轉順風反而收油門調高度。但弱風下無所謂。
第二次飛行就沒這麼順利了,特別是轉順風的時候高度會掉很快,到後面會因為高度掉太多而急遽拉升,剛好機頭又轉乘順風導致拉升過快。所以變成需要手動介入去調整升降。而且耗電也會多很多。這次差點摔掉,只是剛好轉頭看到電壓已經過放緊急降落才救下。
電池部分還需要更進一步改善,至於順逆風的問題則要研究一下增加空速館是否能改善。
另外就是飛機的loiter模式是以切換時的那點為圓心順時鐘繞圈。如果中途有介入,都不會改變最初設置的高度跟中心。所以放開之後還是會回去。
至於介入控制,油門跟方向都OK,緊急的時候還蠻好用的。

22/12/20 終於放晴,今天可以測試空速管以及新的電池。新電池是由SONY VTC6的拆機電池組成,價格還不錯,組裝前有做過一次放電測試

性能相當穩定,下面兩條是拿舊電池比對。標示容量是3000mAh. 實測的容量是2500@5A 截止電壓3.1v。所以這個電池應該是接近全新,因為依照官方的圖,都是測到2.8v截止。
因為考慮到這個電池的工作電壓會壓降得很厲害,所以我把電池包成4S3P,電池包重量是590g。(原本是用3S 4200mAh x 2,重量745g),從規格上是完勝鋰聚合電池。

測試情況非常理想,飛了20分鐘下來量還有3.8v,大約消耗4000mAh。飛行表現非常有力又不至於過載。跟預期一樣剛開始一兩分鐘電壓還很高的時候有點動力過大,飛一下子之後就很明顯手感軟下來,然後就維持在一個蠻不錯的動力。
我這次還買了另外一款MOLICEL 21700 4200mAh,號稱45A大電流放電。實測約3500mAh@5A 3.1v截止。

也是號稱全新拆機電池,性能也是很穩定,估計也是沒有循環過。(我曾經有買過另外一款拆機電池,測出來就高高低低落差有點大,那種應該就是使用過的)
只是這款電池還沒組裝,12cells就840g,孩在考慮要怎麼使用。
所以目前飛機的設定是同時可以使用3S(Li-po)配置跟4S(Li-ion)配置,完全不用修改...

至於空速管,真的是不測不知道。今天福德公園風標全滿,估計風速至少30kmh以上。平常這樣的風大概就要打道回府,這次我就是要測試Loiter模式是否能夠因為空速計安裝改善。
先說明一下沒有空速計遇到的問題。Loiter模式就是定點全自動繞圈,如果遇到風大的時候,因為空速只有GPS的地面速度。飛控為了要維持速度,所以遇到逆風的時候會補油門,反轉順風反而收油門,導致於逆風轉順風會掉高度甚至失速。
理論上裝了空速計,飛控就會試著維持空速而非地面速度。從而解決順風失速的問題。測試結果超讚。
今天風真的很大,我記得預設Loiter速度應該是60kmh左右,逆風的時候幾乎快停在天上,然後看著飛機很小心的以蟹行的方式慢慢轉到順風,聲音是聽不出來,不過掉高度的情況真的好很多。完全解決順逆風飛行的問題,而且我很訝異Ardupilot程式控制得非常好,整個在大風轉彎的過程都很順暢,(至少比我厲害)可以用相對很慢的速度完成整個流程。

目前飛行穩定性跟飛行時間距離都一定程度達到要求了,除了硬體的compass以及電流計一直都怪怪的之外,其他大致都OK了。
接下來就是全自動的飛行規劃。關於飛行規劃的功能,我有用多軸先大致測試了一下各種航點飛行,以及動作指令的反應。介面還算直覺,只是飛機因為一飛就很遠,出了問題大概就沒有撿回來的機會,所以還是得慎重點。
至於安全問題,我看了一下衛星地圖,福德公園附近直覺上很多路,但實際上一半是墳墓,另一半是樹林。反正安全第一,飛丟了就算了,最多是砸"死人"而不要把人砸死就好。

22-12-22
今天完成第一次的全自動飛行。主要測試了VTOL_TAKEOFF 跟 VTOL_LAND這兩個模式。VTOL_TAKEOFF比較特別,他會垂直起飛到設定高度之後轉成平飛模式,如果下一個航點沒設定,就會依照最後方向飛出。如果下一個導航點有的話,他會飛出去之後再轉向。
這點影響到如果起飛點附近有樹,要控制好起飛目標高度或者起飛的時候要控制一下頭部。我是看有可以設定方向,但是無論怎麼調整最後都會是0。
VTOL_LAND比較單純,就是憑飛機接近的時候轉成垂直。如果目標高度設為零的話,似乎他就是隨便挑個高度,這個部分要在測試。
其他關於fly to 昨天試過了,LOITER航點有三種,一種是算時間,這幾次主要都是用這種。另外兩種還要研究。
最後發現一個問題是如果任務結束之後,就無法重新開始。我今天試又飛了一圈才能重新開始。如果任務被中途中斷則沒有這個問題。
任務啟動的方式也很好玩,我用MISSION START之後,手動Arm,這時候全部由非控接手。我是選擇把油門居中以防止突發狀態。只要模式選擇一切換就會立刻中斷任務。至於搖桿好像只是介入操作,並不影響任務。
另外如果VTOL_LAND回到點的高度太高,降落過程有風險,主要是因為有GPS定位,所以風吹的話會因為PID調不好而有共振擺盪現象。今天有發生過,就趕緊中斷手動降落。

22-12-23
VTOL實驗機準備退休,這台2號機也陪伴我不少時間,目前已經實現全自動飛行功能。大致上Ardupilot跟Mission Planner的功能都摸得差不多了,這台實驗機的外接磁羅盤跟電源感應器一直有問題,所以趁這個機會重組一台,順便把飛控拔起來徹底檢查一遍。
今天打算拍一些影片,結果沒注意到背在背上的攝影機會干擾磁羅盤,一開始用便宜RUNCAM先試,桿擾比較小沒發現。最後一趟換成Insta360,干擾超強,起飛之後直接去掛樹。飛機是撿回來了,可是相機找不到...殘念。
特別感謝幫忙協尋的飛友以及超熱心幫忙鋸樹的路人甲(高師父)
PS:耶誕節Insta360 ONE RS剛好特價,加上PayPal付款減5%,網路找到的優惠再加送一顆電池,一共$14211。蠻划算的,乾脆直接升級。
影片是墜機前最後一次飛,墜機的影片隨著我的Insta 360一起消逝了。



下一台飛機當然是要做的帥帥的阿,整台3D列印是免不了的,這樣才能與眾不同。麻煩的這個翼展的飛機太大,PID沒辦法用吊掛的方式調整。一直以來都是用預設值,風大還是不太行,這個要想辦法。
飛控的外接磁羅盤跟電壓電流感應一直有問題,我懷疑是不是飛控本身已經快掛了,不然哪有連掛兩個外接磁羅盤的道理。