2024-07-29 |Annabel Ng
S1XT33N項目
正如[之前的博客文章]中提到的,加州大學伯克利分校的 EECS 16B 課程重點關注構建名為 S1XT33N 的語音控制機器人的為期一個學期的項目。然而,這個機器人并不是你在初中或高中時建造的標準機器人汽車。我和我的實驗室伙伴只獲得了基本的兩輪機器人組件,包括輪子、電機、底盤、Arduino Leonardo、電池和面包板,我們必須自己構建和連接其他所有組件。如果您有興趣了解有關該課程的更多信息,請訪問課程網站[https://www.eecs16b.org/]。
以下是我在實驗室學到的所有內容的總結,這一切都歸功于可愛的 EECS 16B 課程工作人員。我們必須接線的一些電路組件包括電機編碼器電路、穩壓器電路、麥克風板電路和用于隔離語音頻率的低通濾波器。我們還必須對不同的反饋系統進行編程來實現汽車的運動,包括開環和閉環反饋。添加動作后,我們記錄了語音命令并設計了 PCA 分類算法,以便我們的語音命令能夠與特定動作相匹配。該項目最重要的部分是將所有內容集成到一個有凝聚力的語音控制機器人中。該項目的另一個關鍵部分是學習構建平面電路和調試復雜系統。
這是具有所有不同電路的面包板的布局。
電機控制和電機編碼器電路
構建機器人的第一步是讓機器人的 Arduino 控制電機并允許輪子移動。向電機提供電壓時,我們將使用 Arduino 的脈寬調制 (PWM) 引腳。我們希望向電機提供 0 至 5V 之間的電壓,但很難提供特定值(例如 3.3V)的直流電流。為了解決這個問題,我們使用具有“占空比”的 PWM 信號,“占空比”表示信號通電的時間百分比,從而使我們能夠控制 PWM 信號的平均電壓。不同的占空比使我們能夠實現不同的特定電壓,從而可以控制電機。
然而,每個電機都需要一個單獨的控制器電路,該電路由 NPN 雙極結型晶體管 (BJT)、二極管和電阻器組成。 NPN BJT 的作用是充當壓控開關。當 BJT 開啟時,可以將其視為有效地將電源接地,從而“完成電路”。 BJT 還可以處理比 Arduino 引腳更多的電流,從而提供必要的電流來使電機運行。電阻器值控制進入 BJT 基極端子的電流量,并且隨著電阻器值的增加,電流減小。二極管沿特定方向傳導電流,有助于耗散電機感應行為產生的反電動勢。為每個車輪構建控制器電路后,每個電路都通過單個開關連接到 9V 電源軌,以控制電機的開啟或關閉。
這是電機控制器電路的電路布局。左邊的Arduino引腳提供PWM信號,帶M的元件是電機,BJT在電機下方,充當開關。
測試控制器電路后,下一步是構建編碼器電路,以使機器人能夠測量每個輪子行駛的距離。編碼器使用基于光的機制來測量速度。它們在兩個組件之間發射光,當連接到機器人輪時,通過記錄特定時間范圍內光中斷的次數來計算速度。該方法可以實現精確且準確的速度測量。當實現沿著預定義路徑行進的控制反饋方案時,這將變得非常重要。我為每個輪子配備了一個編碼器,并使用編織跳線將編碼器連接到面包板和 Arduino,以屏蔽信號線免受外部噪聲的影響。由于編碼器輸出的電壓高于 Arduino 可以處理的電壓,在將編碼器連接到 Arduino 之前,我構建了一個分壓器來降低編碼器輸出電壓。
穩壓電路
此時,我們的機器人可以控制其電機并測量每個輪子的速度。下一步是構建電壓調節器電路。提供的電池為 9V,但機器人的電路采用 5V。為了將電壓降低到必要的 5V,我使用了 5V 穩壓器和兩個 100 納法拉電容器來幫助機器人降低高頻噪聲并穩定導軌上的電壓波動。
這是穩壓電路的電路布局。
麥克風偏置電路
為學生提供了用于麥克風板的印刷電路板 (PCB),但在我可以將麥克風板用于機器人之前,我必須設置帶有偏置電路的麥克風板,以便為麥克風中的不同引腳提供信號木板。偏置電路在電路中的各個點建立預定電壓。第一個引腳充當直流偏移,幫助將信號集中在 0 到 5V 之間,第二個引腳充當“虛擬地”。這個虛擬地允許我建立一個電壓為 2.5V 的半軌。在構建了處理語音信號的偏置電路后,我通過播放不同頻率的音調并調整電位器來調整麥克風板,直到所有有效頻率的峰峰值電壓不超過 5V。
這是定制麥克風印刷電路板,由駐極體麥克風、電位器、運算放大器插座以及接地和 5V 引腳組成。下面是麥克風偏置電路的原理圖。
低通濾波器
由于機器人應該處理語音信號而不是隨機噪聲,因此我構建了一個低通濾波器來隔離低于特定截止頻率的頻率,以幫助更好地采樣語音命令。第一步是確定一個好的截止頻率。會話語音頻率范圍約為 3 kHz,因此我將其設置為截止點。低通濾波器由電阻和電容組成,我使用了6200歐姆的電阻和10e-9法拉的電容,通過公式freq=1/2piRC給出了2570Hz的截止頻率。截止頻率點處的峰峰值電壓應為原始峰峰值電壓的 1/rad(2),我用函數發生器驗證了這一點。由于低通濾波器的信號很弱,我構建了一個增益為2的同相放大器來增強信號。
這是 RC 低通濾波器的示例。
這是最終的面包板!
這些就是S1XT33N的所有主要電路元件,此時機器人可以拾取語音信號并移動輪子。然而,機器人無法直線行駛、識別特定單詞或在特定語音命令后移動。這是下一篇博客文章的內容,重點是控制系統、PCA 和集成!所有數據均來自[https://www.eecs16b.org/]的課程人員。
審核編輯 黃宇
-
濾波器
+關注
關注
162文章
8126瀏覽量
181770 -
機器人
+關注
關注
213文章
29664瀏覽量
212442 -
編碼器
+關注
關注
45文章
3788瀏覽量
137768 -
語音控制
+關注
關注
5文章
496瀏覽量
28745
發布評論請先 登錄
明遠智睿SSD2351開發板:語音機器人領域的變革力量
SPCE061A語音識別機器人應用方案
辰漢-如何實現服務機器人的運算與控制
請問電銷機器人智能語音識別的原理是什么?
AI語音智能機器人開發實戰
【 平頭哥CB5654語音開發板試用連載】基于外骨骼的仿生機器人控制系統
基于CAN總線和雙傳感器仿人機器人運動控制系統的研究
深入研究徹底掌握設備樹
設計一種可用于大學和學校教授機器人技術的機器人
構建語音控制機器人 - 線性模型和機器學習

評論