第1步:問題
倒立擺問題類似于平衡掃帚或長掃帚手掌上的桿子,這是我們大多數人在小時候嘗試過的東西。當我們的眼睛看到桿子落到某一側時,他們會將這些信息發送到進行某些計算的大腦,然后指示你的手臂以一定的速度移動到某個位置,以對抗桿子的運動,這有望帶來傾斜桿回到垂直。這個過程每秒重復幾百次,使桿完全在你的控制之下。倒立擺以類似的方式起作用。目的是將擺錘倒置在允許移動的推車上。使用傳感器代替眼睛來檢測擺錘的位置,該擺錘將信息發送到計算機,該計算機執行某些計算并指示致動器以使鐘擺垂直的方式移動推車。
第2步:解決方案
這個平衡擺錘的問題需要深入了解運動和力量在這個系統中發揮作用。最終,這種洞察力將使我們能夠提出系統的“運動方程”,該方程可用于計算進入執行器的輸出與來自傳感器的輸入之間的關系。
根據您的等級,可以通過兩種方式導出運動方程。它們可以使用牛頓的基本定律和一些高中水平數學或使用拉格朗日力學來推導,這通常在本科物理課程中引入。 (注意:使用牛頓定律推導運動方程雖然簡單但乏味,而使用拉格朗日力學更加優雅,但需要理解拉格朗日力學,盡管兩種方法最終都會導致相同的解決方案。)
兩種方法他們的正式推導通常包含在高中或本科數學或物理課程中,盡管可以通過簡單的谷歌搜索或訪問此鏈接輕松找到它們。觀察最終的運動方程,我們注意到四個量之間的關系:
擺與垂直的角度
擺的角速度
擺的角加速度
線性加速度購物車
前三個是傳感器測量的數量,最后一個數量將被發送到執行器執行。
步驟3:控制理論
控制理論是數學的一個子領域,用于控制和運行動力學工程流程和機器中的系統。目標是開發控制模型或控制回路以通常實現穩定性。在我們的例子中,平衡顛倒的擺錘。
有兩種主要類型的控制回路:開環控制和閉環控制。 實現開環控制時,控制操作或來自控制器的命令與系統的輸出無關。一個很好的例子是爐子,爐子保持的時間完全取決于計時器。
然而在閉環系統中,控制器的命令取決于來自系統狀態。在我們的例子中,反饋是擺錘相對于法線的角度,該法線確定了推車的速度和位置,因此使該系統成為閉環系統。以上附圖是閉環系統的框圖形式的視覺表示。
有幾種反饋機制技術,但最廣泛使用的是比例 - 積分 - 微分控制器(PID控制器),,這是我們將要使用的。
注意:理解這些控制器的工作原理在開發成功的控制器時非常有用,盡管解釋這種控制器的操作超出了這個指令的范圍。如果您在課程中沒有遇到這些類型的控制器,那么網上有大量材料,簡單的谷歌搜索或在線課程將有所幫助。
第4步:在課堂中實施此項目
年齡組:此項目主要面向高中或本科學生,但也可以通過概述概念作為示范呈現給年幼的孩子。
涵蓋的概念:這個項目涵蓋的主要概念是動態和控制理論。
所需時間:收集完所有零件后,組裝需要10到15分鐘。創建控制模型需要更多時間,為此,學生可以獲得2至3天。一旦每個學生(或學生組)開發了各自的控制模型,可以使用另一天讓個人或團隊進行演示。
將這個項目實施到您的課堂中的一種方法是構建系統(在以下步驟中描述),而批處理正在研究與動力學相關的物理子主題,或者他們正在研究數學類中的控制系統。通過這種方式,他們在課堂上遇到的想法和概念可以直接實現到現實世界的應用程序中,使他們的概念更加清晰,因為沒有比在現實生活中實現新概念更好的方法來學習新概念。
單個系統可以作為一個類一起構建,然后可以將類分成幾個小組,每個小組從頭開始構建一個控制模型。然后,每個團隊都可以以競賽形式展示他們的工作,其中最佳控制模型是能夠平衡最長并且能夠承受輕推和推動的最佳控制模型。
在課堂上實施這個項目的另一種方法是讓年齡較大的孩子(高中水平左右),開發這個項目并向年幼的孩子展示,同時給他們一個動態和控制的概述。這不僅可以激發年幼孩子對物理和數學的興趣,而且還可以幫助年齡較大的學生明白他們的理論概念,因為加強你的概念的最好方法之一是向其他人解釋,特別是年幼的孩子。你以一種非常簡單明了的方式表達自己的想法。
步驟5:零件和耗材
購物車將被允許在一組軌道上自由移動,使其具有單一自由度。以下是制作擺錘和推車系統所需的零件和耗材:
電子產品:
一個Arduino兼容板,任何都可以工作。如果您對電子產品沒有太多經驗,我建議使用Uno,因為它更容易跟隨。
一臺Nema17步進電機,用作推車的執行器。
一個步進電機驅動器,再一次可以工作,但我推薦A4988步進電機驅動器,因為它只是更簡單的跟隨。
一個MPU-6050六軸(陀螺儀+加速度計),可檢測各種參數,如擺錘的角度和角速度。
一個12v 10A電源,10A對于這個特定項目來說實際上有點過度殺傷,任何高于3A的都可以工作,但是有可能獲得額外的電流,這樣可以在需要更多電力的情況下進行未來的開發。/li》
硬件:
16 x軸承,我使用滑板軸承,他們工作得很好
2 x GT2皮帶輪和皮帶
約2.4米的1.5英寸PVC管
4mm螺母和螺栓束
此項目中使用的部分零件也是3D打印的,因此使用3D打印機非常有用,盡管通常可以使用本地或在線3D打印設備。
所有部件的總成本僅略低于50美元(不包括3D打印機)
步驟6:3D打印部件
推車和導軌系統的某些部件必須定制,所以我使用Autodesk免費使用Fusion360來建模cad文件和3D在3D打印機上打印它們。
一些純粹的2D形狀的部件,例如擺錘和龍門架床,都是激光切割的,因為它更快。所有STL文件都附在下面的壓縮文件夾中。以下是所有部件的完整清單:
2 x龍門滾輪
4 x端蓋
1 x步進式支架
2 x空轉皮帶輪軸承座
1 x擺錘架
2 x皮帶附件
1 x擺錘軸承座(a)
1 x擺軸承座(b)
1 x滑輪孔墊片
4 x軸承孔墊片
1 x龍門板
1 x步進支架板
1 x空轉滑輪支架板
1 x擺錘(a)
1 x擺錘(b)
總共有24個部件,打印時間不會太長,因為部件很小并且可以一起打印。在這個教學過程中,我將根據此列表中的名稱引用部分。
第7步:組裝龍門滾輪
龍門滾輪就像推車的輪子。這些將沿著PVC軌道滾動,這將允許推車以最小的摩擦平穩地移動。在這一步中,抓住兩個3D打印龍門滾輪,12個軸承和一堆螺母和螺栓。每個滾子需要6個軸承。使用螺母和螺栓將軸承安裝到滾輪上(使用圖片作為參考)。制成每個滾輪后,將它們滑到PVC管上。
步驟8:組裝驅動系統(步進電機)
推車將由標準的Nema17步進電機驅動。使用應與步進一起設置的螺釘將電機夾入步進支架。然后將支架擰到步進器支架板上,將支架上的4個孔與板上的4個對齊,并使用螺母和螺栓將兩個固定在一起。接下來,將GT2皮帶輪安裝到電機軸上,并使用更多的螺母和螺栓將2個端蓋從底部連接到步進器固定板上。完成后,您可以將端蓋滑動到管道上。如果配合太合適而不是將端蓋壓到管道上,我建議打磨3D打印端蓋的內表面直到配合緊密。
步驟9:組裝驅動系統(空閑滑輪)
我使用的螺母和螺栓直徑為4mm,雖然滑輪和軸承上的孔是6mm,這就是為什么我不得不3D打印適配器并將它們推入滑輪和軸承的孔中,這樣它們就不會在螺栓上擺動。如果您的螺母和螺栓尺寸合適,則不需要執行此步驟。
將軸承安裝到惰輪軸承座中。如果配合太緊,請使用砂紙輕輕打磨惰輪軸承座的內壁。將螺栓穿過其中一個軸承,然后將滑輪滑到螺栓上,然后用第二個軸承和惰輪軸承座固定另一端。
完成后,將一對惰輪支撐架固定在惰輪支架板上,并將端蓋連接到該板的底面,類似于上一步驟。最后,使用這些端蓋蓋住兩個PVC管的另一端。有了這個,您的購物車的導軌就完成了。
步驟10:組裝龍門
下一步步驟是建立購物車。使用龍門板和4個螺母和螺栓將兩個滾輪連接在一起。龍門板有插槽,您可以調整板的位置進行微調。
接下來,將兩個皮帶附件安裝在龍門架的兩側。確保從底部安裝它們,否則皮帶將不在同一水平面上。確保也從底部穿過螺栓,否則,如果螺栓太長,可能會導致皮帶阻塞。
最后,將擺錘支架安裝到推車前部
步驟11:組裝鐘擺
鐘擺是兩件式的,只是為了節省材料。您可以通過對齊牙齒并將它們超級粘在一起來將兩個部分粘在一起。再次將軸承孔墊片推入兩個軸承中以補償較小的螺栓直徑,然后將軸承推入兩個擺錘軸承座件的軸承孔中。將兩個3D打印部件夾在擺錘底端的兩側,并使用穿過擺錘軸承座的3個螺母和螺栓將3個固定在一起。將螺栓穿過兩個軸承,并用另一個螺母固定另一端。
接下來,抓住您的MPU6050并使用安裝螺釘將其安裝在擺錘的另一端。
步驟12:安裝擺錘和皮帶
最后一步是將擺錘安裝到推車上。通過將先前通過兩個擺錘軸承的螺栓穿過安裝在推車前部的擺錘支架上的孔并在另一端使用螺母將擺錘固定在推車上來實現這一點。/p》
最后,抓住你的GT2皮帶,首先將一端固定到一個夾在推車上的皮帶附件上。為此,我使用了一個整潔的3D可打印皮帶夾,夾在皮帶的末端,防止它滑過狹窄的插槽。可以在Thingiverse上使用此鏈接找到此作品的標題。將皮帶一直纏繞在步進滑輪和惰輪上,并將皮帶的另一端固定在推車另一端的皮帶連接件上。拉緊皮帶,同時確保不要過度擰緊或丟失太多,這樣你的擺錘和推車就完成了!
步驟13:接線和電子設備
接線包括連接MPU6050到Arduino和驅動系統的接線。按照上面的接線圖連接每個組件。
MPU6050到Arduino:
GND到GND
+ 5v至+ 5v
SDA至A4
SCL至A5
Int至D2
步進電機步進驅動器:
線圈1(a)至1A
線圈1(b)至1B
線圈2(a )到2A
線圈2(b)到2B
到Arduino的步進驅動器:
GND至GND
VDD至+ 5v
步驟至D3
DIR至D2
VMOT至電源的正極端子
GND到電源的接地端子
步進驅動器上的睡眠和復位引腳需要連接到跳線。最后,將一個約100 uF的電解電容與電源的正極和接地端子并聯是個好主意。
步驟14:控制系統(比例控制)
最初,我決定嘗試一個基本的比例控制系統,也就是說,推車的速度只是與鐘擺與垂直方向所構成的角度成比例。這只是一個測試,以確保所有部件正常運行。雖然,這個基本的比例系統足夠堅固,可以使擺錘達到平衡。鐘擺甚至可以抵抗輕柔的推動和推動。雖然這個控制系統運行得非常好,但它仍然存在一些問題。如果在一定時間內查看IMU讀數的圖表,我們可以清楚地注意到傳感器讀數的振蕩。這意味著無論何時控制器試圖進行校正,它總是超過一定量,這實際上是比例控制系統的本質。可以通過實施考慮所有這些因素的不同類型的控制器來糾正這種輕微的錯誤。
下面附有比例控制系統的代碼。該代碼需要一些額外的庫的支持,這些庫是 MPU6050 庫, PID 庫和 AccelStepper 庫。這些可以使用Arduino IDE的集成庫管理器下載。只需轉到草圖 》》 包含庫 》》 管理庫,然后只需搜索 PID , MPU6050 和 AccelStepper 。
盡管如此,我建議你們所有人都是科學的數學愛好者,將嘗試從頭開始構建這種控制器。這不僅可以增強您對動力學和控制理論的概念,還可以讓您有機會在現實生活中應用您的知識。
步驟15:控制系統(PID控制)
一般來說,在現實生活中,一旦控制系統被證明足夠強大以適應其應用,工程師通常只是通過使用更復雜的控制系統來完成項目而不是使情況過于復雜。但在我們的例子中,我們正在構建這種倒立擺,純粹是出于教育目的。因此,我們可以嘗試進入更復雜的控制系統,例如 PID控制,這可能比基本的比例控制系統更加穩健。
雖然PID控制的實施要復雜得多,但一旦正確實施并找到完美的調整參數,擺錘就會明顯更好地平衡。在這一點上,它也可以對抗輕微顛簸。 IMU在給定時間內的讀數(如上所述)也證明了讀數對于所需的設定值(即垂直)來說永遠不會太遠,這表明該控制系統比基本比例控制系統更有效,更穩健。
再次,我建議所有科學和數學愛好者,在使用下面附帶的代碼之前,嘗試從頭開始構建一個PID控制器。這可以被視為一種挑戰,而且人們永遠不會知道,有人可能會想出一個比迄今為止嘗試過的任何東西都強大得多的控制系統。雖然Arttino已經可以使用強大的 PID庫,它是由Brett Beauregard開發的,可以從Arduino IDE的庫管理器安裝。
注意:每個控制系統及其結果將在第一步中附帶的視頻中得到證明。
步驟16:進一步改進
我想要嘗試的其中一件事是“swing-up”功能,其中鐘擺最初懸掛在推車下方,推車沿軌道快速上下移動以擺動將擺錘從懸掛位置倒置到倒置倒置位置。但是這對于當前配置是不可行的,因為長電纜必須將慣性測量單元連接到Arduino,因此由擺錘完成的整圓可能導致電纜扭曲和阻礙。這個問題可以通過使用連接在擺錘樞軸上的旋轉編碼器來代替最尖端的慣性測量單元來解決。使用編碼器時,其軸是唯一與擺錘一起旋轉的軸,而車身保持靜止,這意味著電纜不會扭曲。
我想嘗試的第二個功能是平衡購物車上的雙擺。該系統由兩個相繼連接的鐘擺組成。雖然這種系統的動態要復雜得多,需要更多研究。
步驟17:最終結果
這樣的實驗可以積極地改變班級的情緒。一般來說,大多數人更喜歡能夠應用概念和想法來結晶它們,否則,這些想法仍然“懸而未決”,這使人們更容易忘記它們。這只是將課堂上學到的某些概念應用到實際應用中的一個例子,盡管這肯定會激發學生的熱情,最終嘗試用他們自己的實驗來測試理論,這將使他們未來的課程更加豐富活潑,這將使他們想要了解更多,這將使他們想出更新的實驗,這個積極的循環將持續到未來的教室充滿了這樣有趣和愉快的實驗和項目。
-
倒立擺
+關注
關注
0文章
40瀏覽量
18121
發布評論請先 登錄
相關推薦
評論