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