郭帥宇 劉磊
【摘 要】在科技應用領域為了從外界獲取信息,經常會用到各類傳感器檢測被測量,然后將其轉換成電信號,最后達到檢測與控制的目的,比如:測量溫度、濕度、壓力、距離等。手勢識別技術也正是運用了傳感與檢測原理、手勢識別傳感器也正是由一些基本的傳感器制作而成,其技術及器件廣泛應用于控制領域。通過手勢傳感器來制作一款可以靠揮揮手便能完成對音箱的控制的產品,將會更加彰顯科技,也會使對播放器的控制變得更簡潔,更加符合人們人機交互方式的習慣。
【關鍵詞】STM32F103C8T6;解碼芯片;穩壓芯片;超聲波
1手勢音箱的設計方案
本設計由供電電路、下載電路、控制系統、傳感電路、SD卡音頻文件讀取和解碼電路以及音頻放大電路組成,其中傳感電路又包含超聲波測距電路和紅外對管電路兩個部分。通過紅外對管模塊和超聲波模塊檢測手的動作狀態(左、右移動;上、下移動;保持不動5種狀態)完成對手部動作的識別,輸出相應的信號。控制芯片對此信號進行處理,再通過串口發送相應的CMD指令到解碼芯片,完成對音頻文件的讀取、解碼和模擬信號輸出,通過功放電路驅動喇叭,最終完成對歌曲切換、音量增減以及播放和暫停。
1.1 系統的功能及要求
1)手勢動作檢測功能:利用紅外對管、超聲波模塊完成手部動作檢測,輸出相應信號。
2)信號處理功能:STM32在獲得傳感器的輸出信號后,對這些信號進行處理,再發送不同的CMD指令。
3)音頻文件的讀取與解碼功能:利用MH3028-24SS解碼芯片完成對FAT16/FAT32文件系統的文件讀取,以及音頻格式為mp3或wav格式的硬解碼。
4)音頻信號放大功能:利用PAM80403功放模塊完成對較小音頻信號的放大,使其功率增加。
1.2 系統的組成及方案設計
1)供電電路:采用穩壓二極管ZM4728A,輸出3.3V單獨給下載電路供電;為降低供電端的壓力,讓控制系統擁有更加穩定的3.3V電壓,利用XC6206穩壓芯片輸出3.3V為控制系統供電,供電系統還單獨引出多個5V和3.3V的輸出口,給超聲波模塊、紅外對管模塊以及音頻解碼模塊供電。
2)一鍵下載電路:以CH340G作為USB總線的轉接芯片,實現USB轉串口;以S8050三極管(NPN型)以及S8550三極管(PNP型)作為控制開關,只要按下復位鍵就能通過串口下載程序,免去了手動拉高或拉低BOOT0與BOOT1的麻煩。
3)控制系統:采用STM32F103C8T6作為控制芯片、12MHz無源晶振作為外部高速晶振,引出BOOT1的下拉跳線帽、BOOT0的上拉跳線帽、獨立的電源開關。
4)傳感電路:采用兩個TCR5000紅外反射傳感器作為手部運動往左還是往右的檢測,并輸出相應的信號;采用超聲波模塊作為手部運動向上還是向下的檢測,并輸出相應的信號。
5)SD卡音頻文件讀取和解碼電路:采用MH3028芯片對SD卡(FAT16或者FA圖文佳系統的SD卡)中音頻文件進行讀取和硬解碼,并輸出模擬音頻信號。
6)音頻放大電路:采用輸出功率為3W的D類PAM8403芯片作為音頻功率放大器IC,使其能夠驅動電阻,得到所需要的音頻。
2系統的硬件設計
2.1 供電模塊電路
本設計的供電電路包含兩個,一個是主要給下載電路提供電源,另一個是主要給控制系統供電的電源。下載電路供電系統采用穩壓二極管ZM4728A,運用PN結在反向擊穿狀態下,其電流可以在很大范圍內變化而電壓基本不變的特點,使輸出端電壓穩壓在3.3V左右,而鉭電容E2則起到濾波作用,降低交變脈沖波紋的干擾,起到平滑直流輸出的作用。
2.2 一鍵下載電路
STM32有三種啟動模式:
1)從Flash(主閃存存儲器)啟動(芯片內置的Flash,BOOT1=X,BOOT0=0):用于程序運行,正常的工作模式,可以用SWD/JTAG下載模式直接下載程序到FLASH。
2)從內置SRAM啟動(芯片內置的RAM區,BOOT1=1,BOOT0=1):可用于調試,一般不會用到此啟動方式。
3)從系統存儲器啟動(ROM區,BOOT1=0,BOOT0=1):用于程序下載,下載模式。系統存儲器存儲的是bootloader代碼(通常所說的ISP程序),該程序段提供了串口1下載的接口,通過此接口可以將編寫的程序代碼下載到FLASH中,下載完畢后,將啟動模式切換為從主Flash啟動,再次復位后,執行的就是剛剛下載到Flash中的代碼。
從上面敘述的三種啟動模式可以看出:要用通過串口1下載程序,就需要讓BOOT1=0,BOOT0=1,要想運行程序,可以讓BOOT1=1,BOOT0=0。為了免除手動拉高與拉低BOOT0、手動復位,可以設計出這樣的一個電路:通過串口轉USB芯片CH340G與兩個三極管來控制STM32的RESET(復位引腳)和BOOT0引腳的電平,達到以軟件控制程序下載和程序運行的效果。
2.3 控制系統
本設計采用STM32F103C8T6作為控制芯片,控制模塊PCB板設計有兩組20引腳的排針用于引出芯片的引腳以及作為供電接口,還單獨在下拉BOOT1以及上拉BOOT0之處改用2引腳排針,只需要用跳線帽短接,便能控制單片機是主閃存存儲器為啟動區還是系統存儲器為啟動區。
需要注意的是STM32的VCC引腳都還接了個電容,因為剛上電時,電流不穩定,通過電容,濾除交流信號,避免高壓脈沖引起STM32誤動作。由于晶振引腳的內部通常是一個反相器,晶振的兩個引腳之間還需要連接一個電阻,使得反向器在振蕩初始時處于線性狀態(一般這個電阻已經集成在了芯片晶振的內部,因而這里沒有再接電阻)。為了電路的穩定性起見,晶振還有兩旁的瓷片電容,一般選擇22pf,或者20pf(在許可值內,C值越小越好。雖然越大越有利于振蕩器的穩定,但會增加起振時間),用來削減諧波對電路的穩定性的影響。其次應當注意的是:在晶振的下面最好不要布線,這樣可以可以防止晶振干擾其他信號線,晶振和起振電容應當盡量靠近STM32的引腳,兩個起振電容的線長應當一樣長。
該設計以STM32F103C8T6作為控制芯片;以穩壓二極管ZM4728A、穩壓芯片XC6206作為供電電路的穩壓器件;以CH340G為USB總線的轉接芯片,結合S8050三極管以及S8550三極管來制作一鍵下載電路;以MH3028-24SS作為解碼芯片,完成對SD卡音頻文件的讀取和解碼;以PAM8043為音頻功放芯片,完成對較小音頻信號的放大,使其功率增加,驅動電阻,得到所需要的音頻。
參考文獻
[1]數碼科技.世界首款360度環繞音箱亮相[EB/OL].https://m.elecfans.com/article/531816.html,2017-07-12/2020-2-26.
[2]MG Bray. Smart Infrared Sensors[J].International Journal of Computational Science & Engineering,2015,3(1):21-31.
[3]湯志強.通過手勢控制的體感音箱[J].無線電,2011(7):9-27.
(作者單位:浙江工業職業技術學院)