你是否曾對那些能夠精妙地保持平衡的機器設備感到好奇?
從無人機到獨輪平衡車,背后都蘊藏著復雜的控制系統。
今天,我們來介紹一個充滿挑戰與樂趣的項目——制作一個球平衡機器人。這不僅是一個酷炫的擺件,更是一次深入學習機器人、傳感器和控制系統的機會。
這個項目源于一位創客的親身實踐,他從零開始,通過這個項目掌握了傳感器、控制系統和逆運動學等核心知識,甚至學會了如何系統性地解決問題。它非常適合新手,也為那些希望將理論知識付諸實踐的學生提供了完美的平臺。
項目解析:三足鼎立的“平衡大師”
球平衡機器人,從工程角度看,是一個精巧的“三維平面并聯機構”(3-RRS parallel manipulator)。你可以把它想象成一個由三條腿支撐的托盤。當小球偏離中心時,這三條“腿”——也就是三個步進電機——會協同工作,精確地調整托盤的傾斜角度,就像一個經驗豐富的服務員在托盤上保持酒杯平衡一樣,最終讓小球始終回到中心位置。
那么,它到底是怎么做到這一切的呢?
簡單來說,整個過程遵循一個閉環控制系統:
- 感知(輸入): 平臺上的電阻式觸摸屏會實時感知小球的位置坐標。
- 計算(處理): 微控制器接收到這些坐標后,會進行復雜的運算,包括逆運動學和PID控制。逆運動學計算出為了讓小球回到中心,三個電機需要轉動的角度;PID控制器則像機器人的“大腦”,不斷地根據小球的當前位置和速度,精細地調整輸出,以確保小球能平穩、快速地回到中心,而不是來回振蕩。
- 執行(輸出): 電機驅動器接收到微控制器的指令后,會精準地控制步進電機轉動,從而調整平臺的角度。
準備材料
要打造這個機器人,你需要準備以下核心部件和工具。
每個選擇都有講究:
- 主控核心: Teensy 4.0 微控制器。為什么不用常見的Arduino?因為球平衡機器人需要高速、復雜的計算來處理實時傳感器數據和控制算法,Teensy 4.0 的強大處理能力是其成功的關鍵。
-
驅動核心: 三個 Nema 17 步進電機。步進電機能提供高扭矩和精確的步進控制,這對于實現平臺角度的微調至關重要。
-
感知核心: 一個電阻式觸摸屏。它充當了機器人的“眼睛”,通過電阻變化來判斷小球的精確位置。
-
驅動模塊: 三個 TMC2208 步進電機驅動器。這些驅動器能將微控制器的信號轉化為電機所需的電流,并且擁有靜音驅動功能,讓機器人運行更平順。
-
電源: 一個能提供至少 24V、5A 電源的直流電源。步進電機需要較高的電壓才能發揮出足夠的扭矩。
-
工具: 剪線鉗、電烙鐵、萬用表等基礎電子工具。此外,項目的大部分結構件需要通過 3D 打印制作,如果你沒有3D打印機,可以尋找線下的創客空間或線上打印服務。
機械結構制作
項目最酷的部分之一就是它的機械設計。作者使用了 Solidworks 設計了所有的機械零件。好消息是,你不需要自己從頭設計,作者已經將所有 3D 打印文件開源,你可以直接獲取文件并進行打印。這一步主要是將各個零件打印出來,為后續組裝做好準備。
電路搭建
這是項目的核心“神經系統”。
你需要根據項目提供的電路圖,將 24V 電源、三個電機驅動器和 Teensy 4.0 微控制器連接起來。由于電機需要高壓,而微控制器需要5V,因此需要一個穩壓器將高壓降下來。這一步考驗的是你的焊接和電路連接能力,務必確保連接正確、牢固。
物理組裝
將 3D 打印好的零件、電機、電路板和觸摸屏組裝在一起。這個過程需要一定的耐心,將每個部件都按照設計圖紙安裝到位,確保機械結構能夠順暢地移動,沒有卡頓。
程序代碼上傳與調試
賦予機器人“生命”的關鍵一步。你需要將項目的代碼上傳到 Teensy 微控制器中。
代碼包含了用于驅動電機、讀取觸摸屏數據以及實現平衡算法的所有邏輯。上傳代碼后,你還需要進行校準(Calibration),告訴機器人平臺的水平位置,并調整 PID 參數,讓它能夠更平穩地控制小球。
完成以上步驟,你的球平衡機器人就大功告成了。當你親手制作的機器人,在代碼的驅動下,精準地保持小球的平衡,那種成就感是無與倫比的。
如果你對這個項目感興趣,可以訪問項目的 GitHub 頁面,獲取所有設計文件和代碼:https://github.com/skulkarni3000/ball-balancing-bot
也可以到DF創客社區論壇下載所有打包文件。