# 轉動慣量 - [name=卓廷典] > [color=#c4812b] [TOC] ## 目的 可以進行更正確的舵面響應分析與動態穩定分析,avl、openvsp、datcom、JSBSim都需要此資料。 但飛機結構圖所計算出的轉動慣量並不準確,其並無考慮蒙皮、部分位置墊實心巴爾莎木、快乾膠、螺絲與鑽孔造成之轉動慣量變化。 故我們希望以實驗方式去測量而非計算轉動慣量。 ## 步驟 1. 參考文獻 2. 討論構想 3. 製作裝置 4. 進行小測試 5. 進行飛機測試 ## 參考資料 NASA測量X-56的轉動慣量方式: <iframe width="560" height="315" src="https://www.youtube.com/embed/7xQJ2sVQrUA?si=CYq2fs_e9yt35z0U" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> [論文](https://ntrs.nasa.gov/api/citations/20200000418/downloads/20200000418.pdf)P19~22 ## 構想 基本上來說,我們就是要把飛機吊起來讓他擺動,利用週期資料去計算實際轉動慣量。 ### 過去問題 * 擺動支點不固定,造成在不同擺動階段擺長會變,進而影響到計算結果 ### 測量週期方式  最後我們使用雷射與光敏電阻,因為其執行起來較為容易。 > 測量與數據分析步驟為: > 1. 裝好裝置,架好設備 > 2. 使用校正程式進行校正,調整測量程式數值 > 3. 進行測量 > 4. 將序列埠視窗內的數值複製到文字檔內,並強制更改副檔名為.csv > 5. 匯入至matlab進行分析計算 ### 飛機固定方式 繩子應如何固定在飛機上?之前用S型鉤去吊住碳管,可以考慮針對飛機主翼去製作固定型架。 ### 擺動轉軸設計  上圖為最初示意圖,我們將使用軸承並且想辦法使其繞著軸承中心轉動,便無擺長改變的問題。但後續考量到組裝與製作難易度,我們將中心軸承改為在兩端木頭墊片位置裝上軸承,使整隻轉軸一起轉動。 ## 實際裝置與小測試 :::info 小測試目的:我們無法保證飛機測量結果的準確性,故我們應先以可以透過計算得到轉動慣量的物件來進行測試,並將計算結果與測試結果做比較。 ::: 我們uav有兩個較佳的測試樣品:鋁製扁圓盤配重塊,混凝土圓柱   ### 測試一  ### 測試二 ## 飛機測試 ### 測試參數 * 飛機重量:4.937 kg * 飛機重心:飛行重心往後 1 cm,垂直高度在機身正中間 * 飛機擺長:2.135 m * 飛機轉動慣量理論值:0.5458 $kg·m^2$ * 圓柱重量:4.940 kg * 圓柱擺長:2.270 m * 圓柱轉動慣量理論值:0.0113 $kg·m^2$ 裝置我懶得解釋了,看照片 ### 照片    ### 結果 1. 第一次量飛機 平均週期:2962 $ms$ 轉動慣量:==0.4695== $kg·m^2$ 理論值:0.5458 $kg·m^2$  2. 第二次量飛機 平均週期:2993 $ms$ 轉動慣量:==0.9535== $kg·m^2$ 理論值:0.5458 $kg·m^2$  3. 第三次量飛機 平均週期:3004 $ms$ 轉動慣量:==1.1328== $kg·m^2$ 理論值:0.5458 $kg·m^2$  4. 第一次量圓柱 平均週期:3003 $ms$ 轉動慣量:==1.1138== $kg·m^2$ 理論值:0.0113 $kg·m^2$  5. 第二次量圓柱 平均週期:3041 $ms$ 轉動慣量:==1.7185== $kg·m^2$ 理論值:0.0113 $kg·m^2$  6. 第三次量圓柱 平均週期:2800 $ms$ 轉動慣量:==-1.9657== $kg·m^2$ 理論值:0.0113 $kg·m^2$  ### 本次實驗結語 我只能說,這實驗誤差還是太大,第二筆與第三筆數字週期僅差11毫秒,轉動慣量就差將近0.2。作為對照,飛機轉動慣量0.5多,圓柱轉動慣量甚至僅0.011。飛機轉動慣量小到我們幾乎不能忽視任何擺長、重心與重量誤差。 總歸來說,我認為繼續使用柔性的擺臂不切實際,我們必須要有剛性的擺臂,搭配絕對精準的數值才有機會量出正確的轉動慣量。 ## 附錄 ### 光敏電阻校正code ``` void setup() { pinMode(A0,INPUT); Serial.begin(9600); } void loop() { Serial.println(analogRead(A0)); } ``` ### 光敏電阻與雷射筆程式code ``` #include<time.h> int mid = 50; //紀錄中間值 int n0,n1; //紀錄現在值與前一個的值 int t = 0; //紀錄經過時間 int count = 1; //計數方便輸出資料 void setup() { pinMode(A0,INPUT); //用A0來接收光敏電阻的電壓 Serial.begin(9600); //顯示視窗設定 n0 = mid; n1 = mid; t = millis(); while((millis()-t)<1000){ //先讓他跑出一秒之內的光敏電阻值確定資料合理 Serial.println(analogRead(A0)); } t = millis(); } void loop() { n1 = analogRead(A0); //儲存現在電壓 if(((n1 - mid)*(n0 - mid)) < 0){ //計算是否有經過中間值 Serial.print(millis()-t); //如果有就顯示時間差 Serial.print(","); //格式 count++; t = millis(); } if((n1 - mid) == 0){ //如果現在電壓等於中間值 Serial.print(millis()-t); Serial.print(","); count++; n1 = n1 + (mid - n0); //微調使n0不等於0 t = millis(); } if(count>=5){ //四個一組顯示,第五個跳下一行 count = 1; Serial.println(""); } n0 = n1 ; //將現在電壓儲存在n0中 } ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up