時間:2018-05-18 10:47:17來源:李君 王霞 高達 李寧 吳建偉 藍如
摘要:本文主要介紹了一種非人型打擊類機器人。機器人工作方式類似于彈鋼琴,用機械臂敲擊音鍵來演奏。整體以STM32單片機為控制核心,機械敲擊臂以舵機為活動關(guān)節(jié)并受芯片控制,它具有人機交互功能,用戶可以使用操作界面來控制機器人、管理系統(tǒng)的音樂程序文件,不但可以保存文件而且用戶還可以修改它的內(nèi)容,并且支持用戶使用界面自定義編寫程序文件,在演奏時這些文件里的內(nèi)容由微控制器處理后被翻譯成指令,并通過串口來控制電機敲打出音樂。
1.引言
現(xiàn)在社會越來越智能化,更多的機器人出現(xiàn)在人們的視野里,進入人們的生活,無論是工業(yè)、農(nóng)業(yè)還是日常生活起居都隨處可見它們的身影。機器人已經(jīng)從科幻小說里的未來之物變成人們生活中不可缺少的東西。智能化作為近些年來十分火熱的話題,許多的產(chǎn)品都在朝這個方向發(fā)展,其目的在于給人們帶來舒適便捷的使用感。在智能機器人這方面,雖不斷有新的重大突破,但是在音樂這方面卻鮮有可以進行人機交流互動的,并且可以讓使用者切實感受到這款機器人的操作簡單易懂還可以激發(fā)興趣的產(chǎn)品還少之又少,一般的音樂播放器只是將音頻播放出來而已,而我們這次要做的智能化的音樂機器人是現(xiàn)場演奏,音色相比擴音器里出來的更加真實。它有一個機械敲擊臂,使用舵機控制,可以繞支點旋轉(zhuǎn)并且上下敲擊,下面放有發(fā)音板,板上有不同的音鍵,它可以像彈鋼琴一樣演奏。還有就是它的人機交互功能,支持用戶通過操作界面自編程譜曲,是這款機器人的一大亮點。
2.總體方案
2.1系統(tǒng)總體結(jié)構(gòu)
音樂機器人主要由兩部分組成,即它的機械結(jié)構(gòu)和控制系統(tǒng)。機械結(jié)構(gòu)主要包括機械敲擊臂、發(fā)音板和外部整體固定框架。機械臂采用雙自由度控制,即使用兩個舵機分別控制兩個關(guān)節(jié)運動;發(fā)音板上面固定有音鍵,敲擊臂這就是敲擊這些音鍵來演奏的。控制系統(tǒng)的功能就是按照指令控制機械結(jié)構(gòu),使用可觸摸液晶顯示屏作為人機交互媒介,控制部分以stm32單片機為其控制核心,負(fù)責(zé)存儲文件、讀取內(nèi)部的音樂文件并且翻譯使用者需要執(zhí)行的音樂程序,并驅(qū)動電機配合演奏。
2.2工作原理
可以說這款機器人能夠完美演奏很大程度上是依賴于其控制系統(tǒng),這也是此項目的重點所在。使用操作界面編寫音樂文件和讀取文件類似于電腦上“編寫保存文件”和“打開讀取文件”的功能,使用者通過操作界面編寫的曲子將會由系統(tǒng)保存起來,當(dāng)需要演奏時從中選取指定的文件,執(zhí)行文件時系統(tǒng)會將文件內(nèi)容翻譯成控制指令,就相當(dāng)于給機器人輸入了編程指令,按照指令控制敲擊臂做出動作來敲擊發(fā)音板。這是音樂機器人工作的整體思路。整個項目的控制系統(tǒng)可以拆分成不同的功能單元,為實現(xiàn)機器人的工作,主要有主控單元、供電單元、電機驅(qū)動單元、人機交互單元、文件管理單元。主控單元控制整個機構(gòu);供電單元為整個工作系統(tǒng)提供合適的電壓;人機交互單元可以使用戶操作機器,完成文件的瀏覽、編輯和執(zhí)行,同時支持演奏時控制暫停、切換文件等功能;文件管理單元用來保存、調(diào)用和管理文件;電機驅(qū)動單元接收控制芯片的命令控制電機配合演奏。總體結(jié)構(gòu)框圖如圖1所示。
圖1音樂機器人控制原理圖
3.機器人結(jié)構(gòu)設(shè)計
執(zhí)行機構(gòu)是由機械部分來完成的,使用敲擊臂敲擊發(fā)音板來演奏。敲擊臂采用兩個舵機來作為活動關(guān)節(jié),其一可以使其在水平面內(nèi)繞一點旋轉(zhuǎn),另一個可以使其在豎直方向上做上下敲擊的動作,結(jié)構(gòu)如圖2所示。因為敲擊臂的活動范圍是扇形,所以發(fā)音板每個音符所對應(yīng)的鍵位呈環(huán)形在敲擊臂周圍。
圖2機械臂結(jié)構(gòu)
敲擊臂為木制,木質(zhì)的敲擊臂輕盈,價格便宜,每次敲擊對下面的發(fā)音板也比較友好。發(fā)音板的音符鍵為鋁制,可以選擇不同的音級數(shù),比如選擇七音或者八音。發(fā)音板的結(jié)構(gòu)類似于市面上的七音琴,木質(zhì)支架鋁制音鍵,利用鋁制音鍵的長短不同來發(fā)出不同的音。在驅(qū)動電機的選擇上使用的是舵機,無論從活動范圍還是控制精度而言,舵機都是最佳選擇。
4.機器人控制方法的實現(xiàn)
當(dāng)機器人開啟后,機器人初始化完成,顯示屏上便出現(xiàn)操作界面,并支持編寫一些簡單的文本,用戶可以新建文件并且編寫保存,也可以選擇文件來執(zhí)行,在執(zhí)行時,文本會被系統(tǒng)翻譯成相應(yīng)的音符,其節(jié)拍停頓都可以由文本內(nèi)容決定。
4.1硬件選擇
1)主控單元
控制芯片是整個控制系統(tǒng)的核心,幾乎所有任務(wù)都是靠芯片來調(diào)度的,包括顯示編輯儲存的文件,人機交互界面的控制,文件對應(yīng)程序的執(zhí)行和電機的控制。綜合來看,我們選擇了意法半導(dǎo)體公司出品的STM32F407芯片,STM32F407是一款擁有高性能、低成本、低功耗的芯片,采用Cortex-M4內(nèi)核,主頻高達到168Mhz(可獲得210DMIPS的處理能力),主要優(yōu)點如下:
a)價格低廉。
b)更先進的內(nèi)核。STM32F4采用CortexM4內(nèi)核,帶FPU和DSP指令集。
c)增強的外設(shè)功能。對于相同的外設(shè)部分,STM32F4具有更快的模數(shù)轉(zhuǎn)換速度、更低的ADC/DAC工作電壓、32位定時器、帶日歷功能的實時時鐘(RTC)、IO復(fù)用功能大大增強、4K字節(jié)的電池備份SRAM以及更快的USART和SPI通信速度。
d)可在線調(diào)試。無需仿真器,只需一個串口便可下載代碼。
2)人機交互單元
操作界面使用的屏幕是TFTLCD電阻式觸摸屏,相比較于手機上常用到的電容式觸摸屏,電阻式雖然透光性不好且不支持多點觸摸,但是它精度高,抗干擾能力和穩(wěn)定性都比后者要強,對工作環(huán)境要求比較低,可以在有灰塵等不友好的環(huán)境下正常工作,價格更加便宜,控制芯片的選擇上使用的是ADS7843。
3)文件管理單元
目前市面上有很多外部存儲設(shè)備,其中最適合單片機系統(tǒng)的莫過于SD卡了,SD卡(SecureDigitalMemoryCard)中文翻譯為安全數(shù)碼卡,它被廣泛地于便攜式裝置上使用,例如數(shù)碼相機、個人數(shù)碼助理(PDA)和多媒體播放器等。它不僅容量可以做到很大(32Gb以上),而且支持SPI接口,方便移動,并且有幾種體積的尺寸可供選擇,能滿足不同應(yīng)用的要求。擁有高記憶容量、快速數(shù)據(jù)傳輸率、極大的移動靈活性以及很好的安全性。
4)電機控制單元
在舵機的選擇上,決定選用數(shù)字舵機,相較于傳統(tǒng)的模擬舵機,數(shù)字舵機可以在將動力脈沖發(fā)送到舵機馬達之前,對輸入的信號根據(jù)設(shè)定的參數(shù)進行處理;而且數(shù)字舵機的脈沖頻率更高,這也意味著它的反應(yīng)變得更快,精度更好。還有防抖動等優(yōu)點。
5)供電單元
整個操作系統(tǒng)需要5V電壓,內(nèi)部有電源轉(zhuǎn)換開關(guān),分別給控制芯片和舵機供電。可以直接接市電使用。還有一個蓄電池,作為備用電源使用,在使用市電的時候蓄電池處于充電狀態(tài),沒電的時候可以打開蓄電池來給機器人供電。
4.2控制系統(tǒng)軟件設(shè)計
1)主要操作流程
當(dāng)按下開機按鈕后,系統(tǒng)程序開始初始化,如果失敗則會提示重新啟動,初始化成功之后,便可以通過觸摸屏來操作整個系統(tǒng),通過顯示屏看到SD卡里的文件,這時候可以進行文件的編輯保存或者新建文件,可以在演奏的時候在屏幕上進行其他操作,比如當(dāng)前正在執(zhí)行文件的暫停與停止。主要流程如圖3所示。
圖3控制系統(tǒng)流程圖
2)文件管理系統(tǒng)
負(fù)責(zé)讀取、管理外部存儲設(shè)備的文件,選用的是FatFs,F(xiàn)atFs是一個完全免費開源的FAT文件系統(tǒng)模塊,專門為小型的嵌入式系統(tǒng)而設(shè)計。它完全用標(biāo)準(zhǔn)C語言編寫,所以具有良好的硬件平臺獨立性,可以移植到8051、ARM等系列單片機上而只需做簡單的修改。它支持多個存儲媒介;有獨立的緩沖區(qū),可以對多個文件進行讀和寫。使用者無需理會FatFs的內(nèi)部結(jié)構(gòu)和復(fù)雜的FAT協(xié)議,只要會使用FatFs提供的一系列應(yīng)用接口函數(shù),如f_open(打開/創(chuàng)建一個文件)、f_close(關(guān)閉一個文件)、f_read(讀文件)、f_write(寫文件)、f_rename(重命名/移動一個文件或文件夾)等,就算完全不懂C語言,也可以使用,就像在電腦上對文件操作一樣簡單。
3)文本內(nèi)容翻譯
MIDI樂器數(shù)字接口,是20世紀(jì)80年代初為解決電聲樂器之間的通信問題而提出的。MIDI是編曲界最廣泛的音樂標(biāo)準(zhǔn)格式,可稱為“計算機能理解的樂譜”。它用音符的數(shù)字控制信號來記錄音樂。一首完整的MIDI音樂只有幾十KB大,而能包含數(shù)十條音樂軌道。幾乎所有的現(xiàn)代音樂都是用MIDI加上音色庫來制作合成的。MIDI傳輸?shù)牟皇锹曇粜盘枺且舴?、控制參?shù)等指令,它指示設(shè)備要做什么,怎么做,如演奏哪個音符、多大音量等。它們被統(tǒng)一表示成MIDI消息。
借鑒于此,我們采用txt格式文本來作為音樂存儲文件。文本可以由樂譜轉(zhuǎn)化而來,即便用戶要自己編寫,規(guī)則也很簡單,就是用各種數(shù)字和符號代替樂譜中的各種信息,簡單展示一下樂譜和其對應(yīng)的文本文件所對應(yīng)的內(nèi)容,如圖4所示。
圖4歌曲曲譜和其對應(yīng)的txt文本
系統(tǒng)把發(fā)音板上的每個音符鍵坐標(biāo)化,從0度到N度,每個音符對應(yīng)一個坐標(biāo)。在文件里,數(shù)字對應(yīng)的是不同的音符,執(zhí)行文件時,系統(tǒng)又把每個數(shù)字轉(zhuǎn)換成角度控制舵機,需要敲擊那個音符的時候,控制芯片發(fā)送的命令就是轉(zhuǎn)動到對應(yīng)的角度,節(jié)拍快慢就是舵機的轉(zhuǎn)速控制,下面的發(fā)音板可以更換,選擇具有更多音符鍵的發(fā)音板可以演奏出比較復(fù)雜的曲子。
5.總結(jié)
本文介紹了一種打擊型音樂演奏機器人的設(shè)計方案和控制方法的實現(xiàn)??梢詫⑾胍シ诺囊魳番F(xiàn)場演奏,具有非常強烈的新鮮感??梢苿拥那脫舯鄄捎枚鏅C精確控制其轉(zhuǎn)動角度和上下敲擊幅度,保證演奏中不會出現(xiàn)失誤。無論是用戶操作機器人還是文件管理系統(tǒng)的使用都是簡單易懂,音樂程序文件的編寫規(guī)則更是如此。此項目結(jié)合了機械設(shè)計、電機控制甚至音樂等多方面的知識,對于一些簡單的音樂演奏完全滿足要求,并且具有一定的新穎性。經(jīng)測試驗證,在演奏一些簡單的樂曲時,機器人工作狀態(tài)良好,完全符合設(shè)計要求,兼具娛樂和教育的功能。
標(biāo)簽:
中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(m.u63ivq3.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。