2023年6月15日 星期四

Mission Planner顯示電壓問題 & ELRS接收機安裝

6/16 今天確認

使用Omnibus F4 Pro透過Telemetry時候,會無法在MP上顯示電壓。但是Telemetry log中有電壓紀錄。目前還找不到方法解決。

一步一步檢查,發現只要把Q_ENABLE啟動之後,電壓資料就沒辦法透過無線數傳顯示了。但是USB OK

類似的問題在Pixhawk 2.4上頭也有,是電流顯示斷斷續續。

6/18 解決

使用Custom Firmware Builder的方式重建firmware 

https://custom.ardupilot.org/

我主要有發現三點

1. 版本要選stable 如果選擇last的話 編譯到BMP280會失敗

2. 我有把Battery->Synthetic Current Monitor選起來 不確定是否有關

3. 關閉一堆沒用到的功能 主要有Camer全部 Gimbal全部 Payload全部,選擇項目如下


做好的檔案放這 https://drive.google.com/file/d/1fZChu_bX3e4MKovGLSIpwrDsOBIl3w1c/view?usp=drive_link


6/19 發現OSD居然沒有工作 所以又重新build一次,這次刪掉的功能更多了

檔案放這邊 https://drive.google.com/file/d/1WpBQ7FYM4RWfwL8r-DZFD4ipjgVsG3FC/view?usp=drive_link


6/21 今天發現另外一個造成的原因是SBUS接收機,只要接收機有工作就沒辦法顯示電壓,而且傳輸速度超慢。如果一開始沒接上接收,電壓顯示正常,即使電源沒拔下的情況下接上接收機,然後重新抓TELEMETRY,電壓顯示也會消失。

再深入研究 發現SBUS接收機使用的是UART1跟Telemetry共用,但是因為SBUS反向線路只建立在UART1 所以要嘛把Telemetry移開,要嘛改成ELRS接收

我看硬體分布 很容易搞混Serial / UART / TX,RX接點。

目前看來 UART是指板子上TX/RX接點。ex TX1 RX1就是指UART1 目前是分派給Serial 1

整理如下:

UART1 Serial1 Telem

UART2 (沒有硬體接點)

UART3 Serial2  (I2C共用接點)   BRD_ALT_CONFIG =1 

UART4 TX=RSSI (BRD_ALT_CONFIG =2 or 3)

UART4 RX = PWM 5 (BRD_ALT_CONFIG = 3) 

UART5 (沒有硬體接點)

UART6 Serial 3 GPS


反過來看

SERIAL0 = 控制台 = USB

SERIAL1 = Telemetry1 = USART1 (好像TEL跟SBUS衝突)

SERIAL2 = 未分配(Telemetry2 = USART3,如果BRD_ALT_CONFIG =1)pin跟 I2C (羅盤的)共用

SERIAL3 = GPS1 = USART6

SERIAL4 = GPS2 = UART4(如果BRD_ALT_CONFIG = 2 或 3)

SERIAL5 = 未分配

SERIAL6 = 未分配


23/6/22 終於完美解決
今天下定決心改用ELRS接收機,FC上面小小的焊盤也沒想像中難焊。

設定頗為簡單
https://www.expresslrs.org/quick-start/ardupilot-setup/

BRD_ALT_CONFIG = 3 很重要
SERIALx_PROTOCOL = 23 (RCIN)
SERIALx_BAUD = 115 (不用設定, 設定了反而不動,)
RSSI_TYPE = 3 (ReceiverProtocol)
x = 4 ( omnibus f4 是 serial4 )


設定完之後再測試,無論是電壓還是數傳的速度都正常了。

23/07/01 
其實也不是還全解決電壓顯示,還是一樣時有時無....

2023年6月8日 星期四

SpeedBee F405 使用注意事項 包含內建wifi 與mission planner連接

 第一個注意事項是大多數期間都需要使用BEC作為供電,不然UART裝置會看起來像是啟動,但是都怪怪的,原因是USB供電的話,從板子上量測到的電壓只3.7v左右。

第二個要注意的事項是如果要使用內建wifi來連線的話,除了要用BEC供電之外,要把板子上的RGB燈號切到白燈慢閃,且依照下圖設定

討論區說 ARSPD_BUS 要從1改成0






說明書 : https://store-fhxxhuiq8q.mybigcommerce.com/product_images/img_SpeedyBee_F405_WING_APP/SpeedyBee_F405_WING_APP_Manual_V1.1-CN.pdf

2023年5月26日 星期五

Flying Ring Building

最開始是看到一個youtube的影片


這是整個點子的來源,影片下面有相關論文的資料,就順藤摸瓜的看下去了。不過還是得承認內容大多都看不太懂,不過得到翼型跟重心兩個重要資料

https://www.mdpi.com/2504-446X/4/2/14

Eppler E169

http://airfoiltools.com/airfoil/details?airfoil=e169-il

重心在1/4 12度迎角

而控制方式則跟之前做的Qualsitter完全相同。所以就以手邊的馬達以及螺旋槳尺寸為基礎開始設計。



設計上也沒甚麼特別困難的地方,就是重心位置要抓在1/4的地方,而螺旋槳面也要在這個位置,所以電池跟飛控擺放位置就得猜猜看。



組裝的部分就是整個外圈黏起來不太容易,因為每一片都有一點點誤差,導致整圈黏起來的時候間隙頗大,就用紫外線補土補一補。其他就沒甚麼問題。



試飛也是一次就成功,

比想像中好飛,浮力很好,飛行速度也比較慢,跟雙翼機的感覺很像。

整台圓圓的,在平飛時候很難確定飛機姿態,但是一下子就習慣了。

雖然重量比較重,但是耗電比四軸或者一般構型的Tailsitter VTOL要低。連停懸也是一樣,可能跟導風扇產生額外浮力有關。

停懸大概11-12A,平飛大概8-9A

而問題則跟另外一台Quadsitter一樣,平飛速度太快(應該跟AOA設定有關),還有就是數傳也是不太穩定。



比較跟相同動力配置的Quadsitter,會明顯發現速度慢很多




2023-5-30墜毀


墜毀原因是測試QRTL,結果證實在飛機模式切QRTL會直接撞地球,原因不明。

2023年5月25日 星期四

LOITER模式飛行速度太快的問題

 我想我應該找到原因了,今天看到一個討論串

https://discuss.ardupilot.org/t/speed-limit-for-loiter-mode/38151/3

裡頭有提到

If your plane fly faster than expected in auto mode it could be because the wing does not produce enough lift at lower speed to maintain altitude, this is the reason why I suggested to make accelerometer level calibration again with some positive pitch. 

大致上的意思是在自動模式下,飛機如果沒辦法取得足夠的浮力會一直加速到有足夠的浮力為止。

跟想像的不太一樣,我以為飛控會幫忙拉升舵....也許會啦...不過看來加速是取得浮力的主要手段

所以順騰模瓜下去又找到這篇文章

https://ardupilot.org/plane/docs/tuning-cruise.html

基本上確定我的想法

所以之前我寫的 http://infinityhobby.blogspot.com/2023/01/tailsitter-planes-setting.html

裏頭提到的參數 TRIM_PITCH_CD 應該是調整這個,因為他只會在FW模式影響攻角AOA,在Q模式下則不影響

最後這篇文章也值得參考

https://ardupilot.org/plane/docs/tecs-total-energy-control-system-for-speed-height-tuning-guide.html


5/30 測試結果

TRIM_THROTTLE 設定巡航飛行的油門
TRIM_PITCH_CD 設定巡航飛行的攻角

攻角提高的確會降低速度,而油門也似乎有效。但主要好像是來自攻角設定。因為我把兩個數值同時調整,結果會變成無法維持高度。也就是感覺攻角好像就沒辦法繼續抬高,但是油門卻一值降低。

另外我發現如果在LOITER模式,油門基本上完全被接管,(或者是因為設定太低,(預設45%)調整到35就怪怪的),所以無論油門全開或者全關閉都不影響。反倒是慢慢拉升舵,速度就會越來越低。這是一個大發現。

2023年5月5日 星期五

終於找到墜機的原因

 4/18墜機,飛機差點找不回來。原本以為是自己油門開太低導致失速墜毀。但是今天5/5發生一模一樣的事情,但是卻在眼皮下發生,還好有救回來。

一樣是loyter模式,繞著繞著就快速調高度。原本以為是電池問題,回來看log發現電壓沒問題,但是那個瞬間居然電流瞬間下滑,而SERVO3的輸出都正常,但是電流沒有隨著油門上升而上升。

最有可能的結論是電變過熱停擺.....有點難以置信,ESC我記得用60A的還這樣,看來得乖乖做好通風。




2023年4月6日 星期四

ELRS各種設定遇到的問題紀錄

 1. ELRS to SBUS轉板的使用要把package rate選成100Hz (預設是500Hz) 這樣才會動作,但是只剩下8CH



2. ELRS數傳

MissionPlanner右上的連接速度是指跟本地端tel的連線速度 所以本地端連線速度的USB波特律才是

而FC內部Sx裏頭的通訊速度則是跟他配合的串口速度要相同

所以如果TEL的串口速度設定為57600而USB設定成115200則MP要選115200而FC設定要設為57

而這個數傳要選擇高速才可以在連線瞬間使用2.0協定不然超慢

3. ELRS接收機 Ardupilot 內的設定

SERIALx_PROTOCOL = 23 (RCIN)  (x = 4  omnibus f4 是 serial4 )

RSSI_TYPE = 3 (ReceiverProtocol)


2023年3月30日 星期四

Ardupilot Auto Mission

 關於Ardupilot的自動飛行模式一定要坐下筆記,免得下次又忘了。

1. VTOL起飛一定要使用VTOL_TAKEOFF才會垂直起飛,不然的話,一ARM之後,如果使用TAKEOFF則會瞬間全速從地面衝出去,沒掛掉算運氣好。

2. 啟動方式很容易手忙腳亂,簡單說,ARM之後切到AUTO模式就開始執行。問題是ARM完成之後去按電腦切AUTO之後要記得回頭把遙控器油門開到中間。不然模式變成其他的時候容易出問題。

3. VTOL_TAKEOFF有幾個特色,就是TAKEOFF之後並不是停住!!!!非常重要,而是頭朝哪就從哪個方向衝出去,所以如果起飛有風或者YAW鎖定的不好要特別注意,如果不小心往背後衝就要撞樹了,如果沒有下一個導航點就不知道飛到哪? 如果導航點在反方向會自動轉彎掉頭。

以下是飛行模式

QRTL的話就會回來並且進入降落

https://ardupilot.org/plane/docs/qrtl-mode.html

QLAND是使用Q模式直接降落 無論當時高度

LOITER to QLand 則是先LOITER降低高度到Q_RTL_ALT然後切到Q模式

相關參數

Q_RTL_ALT

WP_LOITER_RAD

以下只有mission可用指令

VTOL_LAND則是這個點立刻下降

RETURN_TO_LAUNCH效果跟RTL一樣是回到上空盤旋不執行降落,只有QRTL才會執行降落


2023年3月18日 星期六

Tailsitter 2號機

 









自從上次一號機失敗之後好一陣子,決定開始二號機改進。
(一號機測試的文章在這 https://infinityhobby.blogspot.com/2023/01/tailsitter-planes-setting.html)

二號機這次直接參考大陸一台叫做Swan-K1




這台網路上看到是使用PIX4,原理跟我的一號機相同。但主要差異在於馬達偏角很顯眼,我猜這應該就是YAW保持穩定的關鍵。

在逆向的過程中,特別簡化了機體,把很多部分改成使用碳纖棒,這樣可以減少列印時間也減少重量。



重心部分我特別做了一個縮小版(70%)來手丟,初步計算是使用https://rcplanes.online/cg_wing.htm

我記得還有找到另外一個網頁,算出來結果完全不同,手丟測試是覺得重心前面一點高速穩定,但是失速點會高一點,但是重心後面的話可以漂遠一點,低速也可以飛,但是飛行就很不穩定。

重心位置大致在螺旋槳面中心。我猜應該是K1的重心吧。

翼型使用EPPLER 326,原因是看起來厚度很夠,尾巴翹的也很誇張。飛機射機接近翼端我有做外洗角。主翼攻角看圖片K1好像沒有,所以我也沒做。


23/3/8今天基本上中心部分完成,發現的問題是原始設計艙蓋因為重心配置的問題,導致飛控要往後移動,會碰到中間補強桿所以得墊高。但是這樣就會超過原本設計的機體厚度,所以艙蓋得單獨重新畫過。

圖已經畫好,目前正在印。

停懸測試真的比第一版穩定很多,但是機身強度不足,所以會共振。希望改良的艙蓋裝上去可以增加強度,不然就得用細的碳纖棒在馬達中間拉補強了。

所需要碳纖棒:

  •     5x150mm x4
  •     5x114.8mm x 4
  •     3x632mm x 1
  • 3x303mm x 2 

其他所需要零件:

  • GPS Modul
  • TELEMETRY 
  • OMNIBUS F4 
  • Genfan 5" prop
  • 45A 4in1 BLHeli_S
  • SA2306 KV2345 x 4 


23/3/19






基本上已經全部完成,等待最後飛行測試。

3/22 老外給了一份重要資料

https://github.com/ArduPilot/ardupilot/blob/master/libraries/AP_HAL_ChibiOS/hwdef/Swan-K1/defaults.parm

這個是Swan-K1的參數

重要的參數如下

Tailsitter設定

Q_ENABLE 1

Q_FRAME_CLASS = 1 

Q_TAILSIT_ENABLE  2 *restart

Q_TAILSIT_MOTMX = 15

Q_FRAME_TYPE = 1

Q_OPTIONS 128

ARMING_RUDDER 2 (用搖桿ARM跟DISARM)

# the HWing can become unstable at high speeds. Limit pitch angle

# to prevent overspeed

LIM_PITCH_MAX  4500

LIM_PITCH_MIN  -1500

# no rudder mixing

KFF_RDDRMIX 0

# reasonable attitude limits

LIM_PITCH_MAX 4000

# slow down for landing approach

TECS_LAND_ARSPD 8

其他看狀況

Q_TAILSIT_ANGLE 過渡角度 預設45

Q_TAILSIT_RAT_FW 過渡所需時間

3/24 測試成功

最後還是在馬達間拉了兩根2mm碳纖棒,不然還是會晃動。



因為數傳不穩定的問題無解,所以只能透過USB線簡單地把P值從25降到20稍微減低停懸時的共振,然後就就很猛的測FWA模式。

從停懸模式稍微拉高一點之後切FWA,飛機瞬間加速向上爬升,嚇了一跳,不過還來不及反應就開始自動往前傾斜45度進入轉換中介狀態。

因為動力真的很充足,所以一下就完全轉換到到平飛模式。轉換過程很順。但是飛行速度相當快, 我回頭看了一下飛行紀錄,平飛50%油門而且用設定的最小安全半徑繞圈都一直維持在100kmh左右。

由於飛行時間沒有計算,所以繞了幾圈之後怕電量不足就切回停懸模式準備降落。不過慘了,只是稍微遠了一點但是已經沒辦法視覺辨識姿態。好家在飛機本身很穩,但是卻越僑飄的越遠。才幾十秒時間嚇得全身冒冷汗,因為沒有設定Failsafe的對應動作,所以如果真的沒電就是直接墜毀了。不過這時突然心生一計,立刻回到電腦前面用地面站軟體狂送RTL訊號,希望數傳這時候能夠給力。

運氣真的很不錯,看到飛行模式已經切到QRTL,這時候心放下一大半。才過幾秒飛機就已經飛回頭頂準備降落,這時切回手動模式稍微橋了一下位置順利降落。

呼....

另外就是QRTL模式如果超過一定距離會先自動切到飛機模式後往家裡飛,然後快到目標前才又切回停懸模式。雖然當場因為飛機太小看不清楚,不過看log檔模擬的時候,發現它真的超聰明的,發現機頭方向不對還回先180度轉彎之後才切到飛機模式。

23/5/16 

好久沒更新,後來飛的越來越順手。這台飛機蠻多奇怪的特性。

轉彎的時候越慢轉彎的弧度會越小,雖然好像是常識,但實際飛的時候卻感覺好像是因為飛控介入的關係。所以快慢轉彎的弧度差很大。

油門真的要開得很小,平飛模式絕對都是低於50%以下,50%以上非超快。

起降的時候也是一樣,50%以下的速度才不會突然衝出去太快。特別是起飛的時候,首先他會先往前壓頭45度,然後突然加速。如果這時候油門大於50%的話,飛機一下子就飛超遠的。

另外比較努力測試過,停懸需要25A電流,平飛的話,如果拉升舵飛,油門25%-30%大約可以降到10A左右。


2023-5-30 墜毀


還好有找到

墜毀原因是飛太遠,切QRTL結果直接撞地球。所以如果在飛機模式,好像不能直接切QRTL,要先切回Q模式才能用QRTL。

2023年3月17日 星期五

VTOL 3號機

 


製作過程就不贅述了,跟2號機差不多。只不過這次選擇馬達座採用橫式,這樣可以維持機翼不用修改,也不需要另外走線,這樣就可以方便拆裝。

只是橫置的話,很難把兩根管子埋到剛好平行,結果是盡量保持平衡插進去之後再用補土作為細部角度調整。

當然,最後測試的時候發現僅用機體來支撐管子強度也不夠,所以3D列印了四個補強底座。

另外馬達的角度也傷腦筋,稍微有點差異就會造成扭矩不平均,使得其中一個對角的馬達為了要抵抗扭矩而不正常抬高轉速,導致過熱。

所以3D列印的馬達座就不適用了,後來改用淘寶的馬達座方便調整。

至於這次停懸PID有用心調整,滾轉跟俯仰因為質量分布不同要分開調整。

前腳架也在試飛的時候扯斷,因為很難確保下降的時候不往前進,所以我打算就完全不使用腳架。

3/17 第n次試飛。這次戶外測試一次解決馬達角度調整跟PID調整。基本上很順利完成。馬達角度最後是覺得只要調到不過熱即可,因為有時候因為側風緣故,也會導致其中兩顆馬達過熱。

這次發現從Quad過渡到FWA的速度是個大問題。如同一拿到飛機時就發現這台飛機主翼攻角非常大,猜想可能會有問題。結果真的是這樣



第一次從Q模式轉到FWA,一直抬頭到直接在天上翻了一圈,後來趕快切回Q模式才救回來,另外一次則是幾乎失速。

回來看了一下紀錄,基本上飛行速度最高超過50kph就很容易抬頭,大概40-45就很好飛。

所以關鍵是從Q過渡到A模式的速度要降低。

另外重心問題也要調整,目前前推動力太大,我打算把前推馬達換小一點,也順便降第尾巴重量。

過渡相關參數

https://ardupilot.org/plane/docs/quadplane-transitions.html#quadplane-transitions

如果您轉換到任何其他固定翼模式,則 VTOL 電機將繼續提供升力和穩定性,直到您達到 ARSPD_FBW_MIN 空速(如果沒有空速傳感器,則為空速估計值)。這個階段稱為“過渡空速等待”。

(目前ARSPD_FBW_MIN =9, ARSPD_FBW_MAX = 22) 前者約32kph 應該可以,我把後者改成15 (約50kph)

一旦達到ARSPD_FBW_MIN ,僅 VTOL 電機的貢獻將在Q_TRANSITION_MS毫秒(默認值為 5000,即 5 秒)內緩慢下降,然後將關閉。傾轉旋翼將緩慢旋轉至全前推力配置。一旦轉換完成,無論車輛現在處於何種固定翼模式,油門和姿態的正常控制都會恢復。

下面這段根T1-Ranger遇到問題有關

如果設置了Q_OPTIONS的第 19 位且Q_TRANS_FAIL不為零,並且空速大於ARSPD_FBW_MIN的 1/2 ,則將立即完成向固定翼的過渡。如果沒有使用空速傳感器,並且過渡到逆風,這可能會阻止在轉彎之前獲得準確的空速估計,這很有用。如果不使用Q_TRANS_FAIL超時和此 Q_OPTION,轉換可能會無限長,因為由於低地速,空速可能會報告為低於ARSPD_FBW_MIN 。


3/23

我在21號的時候更換了小一號的前推電機且稍微加了墊片把推力線朝下。加上飛行的時候把重心從主梁改到說明書的主梁前緣。起飛抬頭情況大受改善

測得的速度數據如下

失速點: 35kmh (9.7m/s) 

最高速(不抬頭情況): 約25-28 m/s (90-100kmh)

最高約25-28 m/s28 (90-100kmh)

巡航速度(50%油門)  17m/s = 61kmh


飛行速度參數設置

ARSPD_FBW_MAX:(28) 這是載具的最快正常飛行速度。通常,2 倍標稱巡航速度是一個很好的目標。

ARSPD_FBW_MIN:(13) 這是載具的最低飛行速度。它應設置為至少比車輛失速速度高 25%。

一旦達到ARSPD_FBW_MIN ,僅 VTOL 電機的貢獻將在Q_TRANSITION_MS毫秒(默認值為 5000,即 5 秒)內緩慢下降,然後將關閉。傾轉旋翼將緩慢旋轉至全前推力配置。一旦轉換完成,無論車輛現在處於何種固定翼模式,油門和姿態的正常控制都會恢復。

 校正空速傳感器 https://ardupilot.org/plane/docs/calibrating-an-airspeed-sensor.html

選擇自動校正比較快....

設定 Q_ASSIST_SPEED (10)

這是四電機將在固定翼模式下提供穩定性和升力輔助的速度。零意味著除了過渡期間沒有任何幫助。請注意,如果將其設置為零,則其他 Q_ASSIST 功能也將被禁用。較高的值會導致更多的誤報,從而浪費電池。較低的值會導致較少的誤報,但會導致需要更長的時間來觸發援助。如果不確定,則將其設置為比您飛行的最小空速低 3 m/s。如果您沒有空速傳感器,則使用比您飛行的最小空速低 5 m/s 的速度。如果你想禁用裝備檢查 Q_ASSIST_SPEED 然後設置為 -1。


諸元性能

  • 空機: 1.75kg 
  • 電池: 0.85kg  4s 3000mAh/4p or 4200mAh/3p
  • 60%油門有風約16m/s(57kmh) 15A
  • 起飛約40A


2023年2月8日 星期三

Omnibus F4 Por 安裝Ardupilot

 


這兩張圖超級重要
固件我選擇這個版本 https://firmware.ardupilot.org/Plane/latest/omnibusf4pro/
看起來,手邊這款應該是Por版本
Ardupilot的說明頁其實就講得蠻清楚的
https://ardupilot.org/blimp/docs/common-omnibusf4pro.html

安裝沒甚麼問題,安裝GPS、Compass、Telemetry最重要的是Compass的I2C要有拉升電路。參看https://www.flightcoach.org/omnibus-f4-v3/

手邊的兩個M8N看起來都沒有這個電路,而老曹的獨立compas居然有,所以最後採用老曹的GPS+Compass

安裝好之後如下


最後是compass安裝方向跟設定
請看這裡 https://ardupilot.org/copter/docs/common-external-magnetometer-for-improved-performance.html

最後...接上servo就把MPU6000搞掛了....2023/2/8 搞了一天 最後收工
官方文件有註記如何使用外部電源供應伺服器


23/2/12
默认时,Omnibus F4 Pro烧写APM飞控后,电池检测器没有设置的。想要屏幕上显示电池电压和电流信息,就需要设置一下。

设置信息如下:
BATT_MONITOR=4
然后重启:
重启后,继续设置:
BATT_VOLT_PIN 12
BATT_CURR_PIN 11

以上两步很重要,设置引脚。

BATT_VOLT_MULT 11.0

然后,到mission planner主界面,就可以看到电池电压电流信息了。不过可能电池电压此时的信息不一定对,剩下的就是校准电压。

用万用表量下实际电池电压,然后填在下图“测量电池电压”这。
————————————————
版权声明:本文为CSDN博主「浅浅的小草」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xjhappyarrow/article/details/118634994

23/6/21
關於5v接腳為何只量到4.7v以及為什麼5v的pin沒有辦法有足夠電流供應舵機使用
看這個影片
https://youtu.be/O1D0BKL8bDA
雖然板載BEC有足夠電流,但是連到5v接腳的時候經過了一個基鈉二極體,使得整個供電被壓降而且最大電流也被限制。

這也解釋為什麼Ardupilot官網建議使用外部電源來供應舵機使用。