[前言] 文章全為繁體文, 不是由別的地方COPY來的,這是原創. 只因生在台灣, 從小到大都只會用繁體. 看倌們請別太在意.
[本文] 看過四軸飛行的視頻, 就買了套烈火的套件, 也跟著進來這論壇. 拿到了"讓四軸飛"移植的源碼後, 開始為了興趣, 做起不收錢的專案... (平時就是靠幫人設計電子電路這行吃飯的)
拿了人家東西, 總要還一點, "讓四軸飛"肯將源碼開源, 感到滿敬佩的, 在這兒就開個帖, 記錄一下使用 (烈火硬體)+( "讓四軸飛" 移植匿名軟件) 的開發日記. 將遇到的問題及解決方法記錄一下, 或許對同樣開始走這條路的人, 能幫得上忙.
版上組裝/焊接/STM32入門...等等有太多前人已留下不少好文章, 所以不在這重覆. 日記內容僅針對F/W及延伸烈火套件開發的H/W模組, 做做記綠文. (但我討厭伸手黨以及對打字這事實在很..., 所以問題內容&解決方法也許會被簡單描述而已, 但若實際動手有去做的人, 應該都能體會內容在說什麼, 還不致有什麼影響) .......癈話到此為止.
開發日記: (預定的開發流程, 黑字為已完成)
1. 匿名上位機連接
2. PID 調整
3. 加入功能性FUNCTION
- 手把啟用USB功能
- 無線信號丟失, 小四軸自動剎車
- 手把增加功能按鍵(用於未來自動巡航/翻轉/自動對北/...用)
- 小四軸3D 定高翻滾功能
4. 連結功能模組
5. 10 DOF
<1. 匿名上位機連接>
7/12~7/20
- 匿名的上位機真的不錯用, 現在已進版到地面站了. 不過我還是使用舊版的 V2.7版來玩. 本來以為下位機要接條RS232線至PC. 後來才明白, 原來手把接RS232也可, 透過NRF2401就可以把下位機的資料經手把傳到PC. 但仍有點不方便, 另找時間再把手把的 USB連通. 這樣就不需RS232線, 直接接條USB線至手把即可.
- 上位機的MOTO顯示位置與ROLE/PITCH 不完全對應小四軸, 小改一下F/W 就搞定了
7/15~7/20
- PID 的調整真的不好使, 這樣TRY & ERROR 的搞真的不是辦法. 想到了之前做 PLL 的經驗, 看來先找Z點 & P 點後, 再來決定數值. 這時匿名上位機應可幫大忙, 直接畫出頻響圖可能直覺點. 這個需多點時間來玩 (還需點意志力支撐)
- 調整的過程中, 發現偶而小四軸失控, 然後4個 MOTO飛快的轉. 抓也不是(怕被漿打到, 真的會痛的) 不抓也不是 (等電池秏盡也不是辦法) 本來就知NRF2401的CONNECTOR 不打膠不靠譜, 但就是懶, 果真人懶不得. F/W 小改一下, 增加個NRF2401信號消失就減速剎車的功能就可以了. 再繼續 PID 的功課...
(2014.07.21 補充) 正規偵測NRF2401信號是否消失的正規做法是在手把F/W上, 持續發送一組數據, 下位機偵測, 就跟WATCH DOG 原理一樣. 但這種方式要改動較多, 且是二端F/W 都要改. 我採取了一個最簡易的取巧方式, 只要在下位機的NRF2401 的TX 副程式段, 判NG處做個Error counter, 然後在 OK處, 做Error counter歸零. 如此也可達到目的, 程式修改也僅需5行左右就搞定了.
7/23
今天颱風來, 賺到一天假期, 剛好拿來玩玩四軸. 前二天把手把拿去試VCP功能, F/W測試OK, 只要加進原本手把功能, 就可以接USB對應匿名的上位機了. 今天想先試IMU內的KpKi參數調整, 所以先LOAD回原本手把程序. 咦!? 無法找到MCU了. 第一個直覺是SWD I/O 被鎖定了. 手工接一下H/W RESET , 果然就正常寫入了.
7/25~7/27
新工作進來了, 能玩四軸的時間就會先放一陣子. 這幾天的心得稍微整理一下.
8/311. 優化: 手把的微調功能, 可增加程序, 使在一開始先做歸零.
2. 優化: 校正零漂動作, 需放到後面, 降低人為這個大的誤差來源.
3. CMOS 的轉接版回來了, 對自己的焊功覺得差強人意, 打算接在烈火小四軸上預留的CH那6支I/O, 可以做即時空拍. http://forum.eepw.com.cn/thread/258132/2#12
工作暫告一段落, 讓四軸飛的源碼又改了一版. 小試了一下, 除了地面站也同時改版以外, 一些之前提到的小功能項也都加進來了. 自穩性能比前一版又精進不少. PID 功能直接用3個微調鈕調整這主意真不錯. 看來原本 PID 的調整工作可以不用做了, 可以直接跳攻 CCD.
9/14~9/18
可以四向翻滾了. http://forum.eepw.com.cn/thread/258132/3#21
同時幫手把加個二顆快速按鍵, 操作更給力.
11/06
最近忙了些, 有好多事要處理. 為了追求速度的極致, 炸機到不止電機, 連MCU也掛點了.
源碼也改到忘了那個版本了. 等有空閒時, 修好機驗證後, 再發個CODE 給大家玩.