基于STM32系統(tǒng)的智能語(yǔ)音控制的垃圾桶設(shè)計(jì)
引言
隨著人們生活起居水平的提高、社會(huì)的發(fā)展和經(jīng)濟(jì)水平的不斷提升,人們對(duì)生活的要求更趨于個(gè)性化、定制化、自動(dòng)化,對(duì)生活的便捷及樂趣有了更高的要求。在平時(shí)生活中,扔垃圾是再簡(jiǎn)單不過(guò)的一件事情,但也會(huì)給人們帶來(lái)不必要的麻煩。比如,吃東西的時(shí)候不想走動(dòng),但也不想放一個(gè)垃圾桶在身邊。為解決這樣的問(wèn)題,此項(xiàng)目設(shè)計(jì)了一款能用語(yǔ)音控制、自動(dòng)尋跡的垃圾桶。該設(shè)計(jì)的主控系統(tǒng)采用STM32單片機(jī),能夠識(shí)別特定的語(yǔ)音指令,將語(yǔ)音信息轉(zhuǎn)換為電信號(hào)給主控系統(tǒng)進(jìn)行處理,主控系統(tǒng)在處理語(yǔ)音信息的基礎(chǔ)上,判斷在哪個(gè)位置有人需要,不再需要人們特意走動(dòng)到垃圾桶邊去扔垃圾。
1總體設(shè)計(jì)
此項(xiàng)目所設(shè)計(jì)的智能語(yǔ)音控制的垃圾桶,是采用Ys-V0.7語(yǔ)音識(shí)別模塊來(lái)識(shí)別特定的語(yǔ)音指令,經(jīng)STM32控制系統(tǒng)的數(shù)據(jù)處理做出判斷,再通過(guò)尋跡系統(tǒng)去到指定的位置。在尋跡的過(guò)程中,用16位的數(shù)字陀螺儀檢測(cè)記錄位置,對(duì)走過(guò)的軌跡做虛擬標(biāo)記,再對(duì)虛擬標(biāo)記進(jìn)行數(shù)據(jù)處理,形成一個(gè)記憶系統(tǒng),使接下來(lái)的尋跡判斷更加靈敏,如圖1所示。
2系統(tǒng)硬件設(shè)計(jì)
2.1STM32F10X主控系統(tǒng)
STM32是sT公司設(shè)計(jì)的一款常用的增強(qiáng)型系列微控制器,STM32F20x系列產(chǎn)品屬于中低端的32位基于ARM系統(tǒng)的微控制器,其內(nèi)核是Cortex-M3,常用于微控制、電機(jī)驅(qū)動(dòng)、嵌入式系統(tǒng)開發(fā)等方面。
2.2MPU6050六軸陀螺儀
在尋跡計(jì)算運(yùn)動(dòng)軌跡的過(guò)程中,判斷左右移動(dòng)的位移量,我們采用現(xiàn)在市場(chǎng)上最常用的六軸數(shù)字陀螺儀[2]MPU6050模塊,此模塊集成有三軸陀螺儀、三軸加速度計(jì),通信方式為常用的IIC通信協(xié)議,芯片內(nèi)置16位的AD轉(zhuǎn)換器和16位數(shù)據(jù)輸出,在精度上完全能夠達(dá)到要求,并且降低了算法復(fù)雜度。
2.3YS-V027語(yǔ)音識(shí)別模塊
語(yǔ)音識(shí)別模塊的主控芯片采用的是LD3320,是常見的"語(yǔ)音識(shí)別"專用模塊,內(nèi)部集成語(yǔ)音識(shí)別處理器外加部分外圍電路,如語(yǔ)音輸出接口、串口接口電路,不用再外接其他的輔助電路,可直接應(yīng)用在產(chǎn)品當(dāng)中,即能完成特定語(yǔ)音指令識(shí)別功能。
2.4電機(jī)驅(qū)動(dòng)與尋跡模塊
電機(jī)驅(qū)動(dòng)模塊部分采用L298N芯片,這款芯片常作電機(jī)驅(qū)動(dòng)專用,專門驅(qū)動(dòng)一些小功率電機(jī)。在電路設(shè)計(jì)中,為了提高電機(jī)的驅(qū)動(dòng)能力[2],特別采用三個(gè)驅(qū)動(dòng)模塊單獨(dú)驅(qū)動(dòng)電機(jī)。
對(duì)于尋跡模塊,本設(shè)計(jì)采用的是電渦流位移傳感器。電渦流位移傳感器不受環(huán)境的影響,適應(yīng)能力強(qiáng),抗干擾性能好,適用于各種復(fù)雜的場(chǎng)所,這就使得電渦流式位移傳感器更適合工作在一些光線暗、磁場(chǎng)強(qiáng)的場(chǎng)所。
3系統(tǒng)軟件設(shè)計(jì)
此系統(tǒng)軟件流程如圖2所示,主要包括系統(tǒng)初始化、語(yǔ)音信息采集、中斷函數(shù)等,中斷函數(shù)中調(diào)用陀螺儀數(shù)據(jù)采集函數(shù)與PID調(diào)節(jié)函數(shù)。
3.1系統(tǒng)初始化
系統(tǒng)初始化是對(duì)主控芯片的IO口以及中斷控制器和串口通信接口進(jìn)行配置,還有對(duì)尋跡模塊進(jìn)行初始化設(shè)置。主要作用是完成模塊化,使程序運(yùn)行更加優(yōu)越。
3.2語(yǔ)音信息采集
語(yǔ)音信息采集算法實(shí)現(xiàn)包括兩部分:一部分是語(yǔ)音信號(hào)的采集與處理,用來(lái)識(shí)別特定的語(yǔ)音指令:另一部分是將處理過(guò)的數(shù)字信號(hào)傳輸給控制系統(tǒng),實(shí)現(xiàn)串口傳輸。兩部分程序的作用是實(shí)現(xiàn)語(yǔ)音信號(hào)的識(shí)別處理以及傳輸,以此完成語(yǔ)音對(duì)整個(gè)系統(tǒng)的控制。
3.3PID控制
PID控制算法是應(yīng)用最廣泛的算法之一,常用于自動(dòng)化控制領(lǐng)域,在眾多控制算法中,PID控制算法是最簡(jiǎn)單、最能說(shuō)明反饋思想的控制算法。在此項(xiàng)目中只用到了比例環(huán)節(jié),將采集到的實(shí)時(shí)數(shù)據(jù)與原記錄數(shù)據(jù)作比較,得到與原路徑的偏差,再去調(diào)整路徑。
4結(jié)語(yǔ)
此項(xiàng)目是以STM32嵌入式系統(tǒng)開發(fā)為基礎(chǔ),設(shè)計(jì)的一款智能語(yǔ)音控制垃圾桶,通過(guò)語(yǔ)音指令判斷出位置,結(jié)合陀螺儀記錄轉(zhuǎn)過(guò)的角度,用PID算法去控制電機(jī)運(yùn)動(dòng),實(shí)現(xiàn)智能語(yǔ)音控制自動(dòng)尋跡,告別了傳統(tǒng)垃圾桶的使用模式,不用來(lái)回走動(dòng),就可以解決扔垃圾的問(wèn)題,由此減少了因?yàn)樯瞵嵤聨?lái)的煩惱,使人們的生活質(zhì)量得到了提高。