顯示具有 遙控 標籤的文章。 顯示所有文章
顯示具有 遙控 標籤的文章。 顯示所有文章

2023年6月20日 星期二

Ardupilot如何校正4 in 1 ESC

 後來想到一個好方法

到Mission Planner裏頭的 Servo Output 把每個通道的Function 都設定成RCIN3 也就是直接由搖控器控制

然後板子接USB供電 全油門 然後接電池啟動ESC 然後把油門全收 

就完成校正了



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年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就可以了。