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