翁劍鵬 彭軍發(fā) 李金林 易向東
摘? ?要:本設計采用51單片機為核心,PCA9685驅(qū)動模塊,LDV7語音模塊,完成了以其為核心的語音智能的人形機器人的設計。機器人整體由51單片機,語音模塊,舵機驅(qū)動,電源和舵機結(jié)構(gòu)架組成,能夠通過識別語音指令達到控制機器人的動作、姿態(tài)等的功能。
關鍵詞:單片機? 舵機? 語音模塊? 機器人
中圖分類號:TP242.6? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻標識碼:A? ? ? ? ? ? ? ? ? ? ? ? 文章編號:1674-098X(2019)06(c)-0138-02
隨著現(xiàn)代科技的不斷發(fā)展,機器人科技也在各個領域中得到了技術、資源的支持后有了巨大的進步。語音識別技術也是當中取得極大進展的科技之一,現(xiàn)今受到啟發(fā)將兩者相結(jié)合,設計一款能夠識別語音指令的機器人。為此我們結(jié)合了單片機、舵機驅(qū)動模塊與語音模塊三者為控制核心,組建了一款成本低,功能簡單但有極大拓展空間的語音控制機器人。
1? 系統(tǒng)總體設計方案
本設計系統(tǒng)結(jié)構(gòu)中,主要由STC89C52RC單片機,PCA9685驅(qū)動模塊,LDV7語音模塊組成。其中51單片機是整個系統(tǒng)最核心核心的部分,為主要控制器,我們選用了STC89C52RC單片機為主控芯片。PCA9685驅(qū)動模塊是機器人驅(qū)動中心,LDV7語音模塊則為系統(tǒng)的信息接收器,通過它對外界的語音信號進行識別分析,將數(shù)據(jù)輸送給主要控制器單片機,單片機再通過得到的數(shù)據(jù)進行分析進而對PCA9685驅(qū)動模塊下達指令。系統(tǒng)框圖如圖1所示。
2? 硬件設計
2.1 主控芯片
主控芯片作為整個系統(tǒng)最重要的部分,我們選用了較為傳統(tǒng)的89C52RC單片機最小系統(tǒng),體積小巧方便我們的使用。我們在此燒錄了控制舵機驅(qū)動模塊PCA9685的主要程序,通過51單片機的P2.1口作為SCL時鐘輸入端,P2.0口作為SDA數(shù)據(jù)輸出端,與舵機控制模塊的SCL、SDA端相連,輸出舵機的執(zhí)行命令。同時整個P1端8個IO口依次與LD3320語音模塊的P1端依次相連,接受來自語音模塊通過接收到語音指令輸出的16進制的0x00~0xff的字符串。達到一個語音指令對應一個字符串輸出,對應51單片機控制舵機的一個動作,可以執(zhí)行多達256個不同的指令。
2.2 語音控制
LD3320 是一顆基于非特定人語音識別技術的語音識別/聲控芯片,基于此芯片模塊我們通過預設的語音關鍵詞,即可另LD3320芯片傳出相應指令信號于主控芯片。在這里我們的語音模塊即采用了以LD3320為核心的語音控制模塊,通過接受語音指令,進而在對P1口輸出16進制字符串數(shù)據(jù)給主控芯片的P1口,主控芯片處理接收的信息進而通過I2C輸出。
2.3 舵機控制
PCA9685舵機模塊是一個內(nèi)置PWM驅(qū)動器和時鐘,采用I2C協(xié)議進行通信的模塊,只要主控芯片具備I2C通信功能,就能夠讓主控芯片和PCA9685通信,實現(xiàn)多個舵機的同時控制。在這里我們利用PCA9685來彌補主控芯片PWM口的不足,并且更加利于控制。
3? 程序設計
根據(jù)需求,控制程序分成在主控芯片及語音芯片上的程序,動作程序與語音指令程序采用模塊化寫作子程序,只需在子程序中進行調(diào)試即可。USART串行口頭文件及程序文件編譯;內(nèi)置寄存器端口頭文件編譯;模塊驅(qū)動端口頭文件及程序文件編譯;零散功能及程序文件編譯,包括函數(shù)聲明、ASR功能完善、咪頭增益、識別碼編譯。主程序流程圖如圖2所示。
4? 結(jié)語
本設計結(jié)合了單片機,語音控制及舵機控制等多種基本技術,并以此設計的語音智能的人形機器人,成本與上手難度低,適合群眾,有著更為廣泛的應用價值。也可以該設計為基礎通過對相應的結(jié)構(gòu)進行改動與優(yōu)化,向其他方向拓展。
參考文獻
[1] 周英路,王志亮,朱松青,等.基于PCA9685的多路舵機控制器設計[J].南京工程學院學報:自科版,2017,15(4):26-31.
[2] 余皓,蘇全.語音控制機器人的設計與實現(xiàn)[J].電氣自動化,2007(5):29-31.
[3] 鄧天金,王昭武,余達.基于單片機控制的多功能智能語音風扇[J].電子世界,2017(23):23-24.