一個非常有意思的項目,利用反作用力輪保持平衡的立方體!
項目概覽
這個立方體能夠在頂點處保持平衡,同時還能以受控方式繞軸旋轉。這一功能是通過巧妙地控制和一組三個反作用力輪來實現的。這個裝置的最初創意來自蘇黎世聯邦理工學院的研究人員。后來,該裝置的設計得到了改進,Bobrow等人(圣保羅大學)引入了改進的控制概念,將所需的 IMU(慣性測量單元)數量從六個減少到一個。
我決定挑戰一下,自己動手做一個。盡管這個想法并不新穎,但以前的作品基本上都是閉源的。我想改變這種狀況,從頭開始逆向工程并制作這一切。我的工作成果是完全開源的,請看下面的視頻。
機械設計
立方體的機械設計與最初的 Cubli 基本相同,但也有一些細微的差別。主體結構由八個轉角組件和六塊面板組成。其中三塊面板具有額外的功能,可支持電機和反作用力輪組件。所有部件都是在Fusion360中繪制的。我的學生時代已經結束,因此不得不告別西門子NX。
大多數結構部件都由不銹鋼制成,強度極高。面板由鋁制成,以減輕重量。這些部件不需要使用鋼材,因為鋁材組裝結構的剛度將綽綽有余。
我對電機和飛輪組件的設計很感興趣。我一直在尋找一種堅固耐用的設計--畢竟飛輪的速度可達每分鐘6000轉--同時還要保持重量輕。雖然我是機械工程師出身,但結構原理并不是我的強項,不過畢竟這也是開展此類項目的原因:學習!我最終想出了以下方案。
電機通過三個沉頭螺釘連接到不銹鋼橋上。電橋最終連接到其中一個鋁面板上。
一個小輪轂安裝在電機軸上,并用三個固定螺釘固定。這個輪轂至關重要:如果中心孔與三角形平面不垂直,輪子就無法與電機軸對準,從而導致振動和磨損。
使用三個沉頭螺釘將反作用力輪安裝到輪轂上。這一步需要反復試驗,以糾正輪轂和輪子上的缺陷,這些缺陷可能會導致我前面提到的不對齊問題。我通過在輪轂和飛輪的水平接觸面之間放置小紙片來解決這些問題,結果令人滿意。畢竟,這些部件并不經常被拆開。
將一個小型徑向球軸承插入其中一個面板,并用氰基丙烯酸酯("超級")膠水固定。該滾珠軸承將支撐電機軸的一端。軸的另一端也由電機本身的軸承支撐。
最后,將電機軸插入軸承中,用四個螺栓將電橋與面板連接起來。此過程重復兩次。
這樣就得到了半個立方體。其余的面板不需要任何特殊的組裝步驟,可以直接組裝。注意到其中一個電機相對于它所連接的電橋的方向不同嗎?這樣做的目的是:簡化稍后的布線工作。
這樣就形成了一個堅固但相對輕巧的結構。鋁制面板本身相對較弱,但組裝在一起后不會移動。
機電設計
關于電機和電機控制器,使用的是Maxon“EC flat"系列電機。雖然有可能找到更便宜的替代品,但電機及其控制器都是關鍵部件,我不想吝嗇。立方體將通過對電機施加扭矩來實現平衡。許多直流電機的數據表甚至都沒有說明扭矩常數(扭矩常數定義了扭矩和電流之間的關系),許多無刷電機控制器(如ESC系列)只提供速度控制,而不提供電流控制。要實現這個項目,這兩者都是必不可少的,因此選擇高質量的元件是顯而易見的。
我選擇了一個60W的電機和一個兼容的四象限電機控制器,該控制器可提供高達6A的電流。雖然這遠遠超出了電機的額定功率,但電機短暫過載是沒有問題的。此外,控制器內置I2t算法,可在繞組溫度過高時限制電機電流。由于平衡時的電流通常很低,因此在正常運行時,立方體不太可能達到這些極限。
Escon電機控制器附帶的軟件非常棒。有電機調試和調整工具以及一個漂亮的儀表板,顯示電機運行期間的狀態及其輸入/輸出(如上面的截圖所示)。
電池方面,我選擇了6S1P鋰聚合物電池。電機的額定電壓為24V,因此六芯鋰電池(標稱電壓22.2V)非常適合這里。電池容量為1300mAh(29Wh),正常情況下足以運行立方體至少一個小時。
主板是定制設計,集成了三個電機控制器、IMU(隱藏式)、ESP32-S3開發板以及一些輔助元件,如保護電路和穩壓器。開發板還將為RC伺服電機提供輸出,從而為立方體增加機械制動器。機械制動器將使立方體能夠自行跳到平衡位置。目前沒有完成制動器的設計開發。
組裝電路板非常有趣。我首先涂上焊膏,然后放置表面貼裝部件。在小型烤箱中回流后,我手工焊接了所有通孔部件。
后來,在整合和測試各個組件時,我發現自己犯了幾個小的布線錯誤,于是我很快用"飛線"糾正了錯誤。原來,電機控制器上只有一個數字輸入端支持PWM,我把PWM信號接到了另一個(不支持的)輸入端。
我還設計了一塊安裝電池的電路板。它要簡單得多:有兩個XT60連接器和兩個開關(并聯接線,因為電流高達18A),用于打開和關閉立方體。
控制器設計與調試
實際上,我自己并沒有設計這個立方體的控制器,而是將Fabio Bobrow的工作(https://github.com/fbobrow/cubli-firmware)從Arm Mbed移植到了Arduino。我還使用了ESP32而不是 STM32 Nucleo。盡管如此,重寫代碼還是花了不少功夫。
此外,由于我使用了不同的IMU(TDK Invensense的ICM20948),我不得不重寫相應的"驅動程序"。我還是花了不少時間研究這個控制器的設計,下面我將用幾句話重點介紹它的一些優點。
主姿態控制器的設計非常有趣。也許最好的解釋就是兩個相互矛盾的目標之間的妥協。第一個目標是將立方體保持在所需的方向上,也就是保持在不穩定的平衡位置上。然而,第二個目標是將車輪速度保持在最低水平。如果不考慮第二個目標,可能會導致車輪速度失控,使電機達到飽和,從而實際上無法對立方體施加扭矩。
這兩個目標是相互沖突的:如果將車輪速度保持在接近零的"愿望"過于強烈,立方體就會倒下。就像前面提到的,如果"欲望"太弱,車輪可能會失控。因此,訣竅在于找到既能實現良好的平衡性能和干擾抑制,又能保持較低輪速的增益。
控制器中還有一種優雅的機制來處理恒定錯誤。什么是恒定誤差?例如,由于立方體重量分布的不完美,配置的平衡位置和實際平衡位置之間可能存在微小差異。在PID(比例-積分-導數)控制器中,積分部分處理這類誤差。該控制器使用輪子的位置(度數)作為積分!在我看來,這實際上是一種非常直觀的積分控制器可視化方式。當我修改立方體的重量分布時(在視頻中:在立方體上放一個西紅柿),你可以看到反作用力輪的速度先增大后減小:它們正在移動到一個新的位置,以補償增大的誤差!
到目前為止,調試和調整控制器是最大的代碼相關工作。和其他有經驗的控制工程師一樣,我花了幾天時間翻轉各種信號的符號,才把它們弄對。然后,我必須為控制器找到合適的增益。Bobrow論文中描述的調整方法對我不起作用,所以我只好用手調整增益。請注意,與Bobrow的魔方相比,我的魔方使用了不同的輪子,因此不可能重復使用增益。通過迭代程序,我最終得到了增益,從而實現了視頻中顯示的穩定性能。
打樣生產注意
在復刻這個項目之前,我們可以把PCB設計文件導入到華秋DFM軟件,進行一鍵DFM檢查,下圖是電池板檢查結果展示。
我們可以看到,電池板是一個很簡易功能的結構板子,檢查結果無問題。接下來我們可以再看下主板檢查結果。
主板檢查結果中我們可以看到,局部的線寬偏小。使用者實際生產打樣的時候需要注意PCB工廠的實際工藝能力。
原理圖 & PCB主板
電池板
License
GPL 3.0
倉庫 & 下載
該項目的開源倉庫的百度網盤下載鏈接,已經放在華秋DFM客戶端首頁左下方的消息通知欄中,新老用戶可以下載或登錄華秋DFM軟件獲取全部資料,相關資料已全部分類整理,方便大家取用和查閱。
華秋DFM軟件下載地址(復制到電腦瀏覽器打開):
https://dfm.elecfans.com/dl/software/hqdfm.zip?from=lftzl
華秋DFM軟件是國內首款免費PCB可制造性和裝配分析軟件,擁有500萬+元件庫,可輕松高效完成裝配分析。其PCB裸板的分析功能,開發了19大項,52+細項檢查規則,PCBA組裝的分析功能,開發了12大項,600+細項檢查規則。
基本可涵蓋所有可能發生的制造性問題,能幫助設計工程師在生產前檢查出可制造性問題,且能夠滿足工程師需要的多種場景,將產品研制的迭代次數降到最低,減少成本。
-
電機控制
+關注
關注
3526文章
1857瀏覽量
268379 -
機械設計
+關注
關注
7文章
167瀏覽量
19435
發布評論請先 登錄
相關推薦
評論