基于AVR和51單片機(jī)的機(jī)器魚(yú)語(yǔ)音控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
根據(jù)實(shí)際魚(yú)體選擇合適的魚(yú)體波參數(shù),通過(guò)仿真工具模擬出一個(gè)擺動(dòng)周期內(nèi)i從0~N的所有魚(yú)體波,就可以計(jì)算舵機(jī)在各種情況下所需轉(zhuǎn)動(dòng)的角度,然后就可以設(shè)定各個(gè)舵機(jī)的PWM波占空比,就可以產(chǎn)生所需要的魚(yú)體波。本文設(shè)定參數(shù)為c1=0.05;c2=0.09;k1=0.5;k2=0.1;N=10的一條魚(yú)體波曲線如圖4,直線段為實(shí)際中三節(jié)舵機(jī)配合形成的魚(yú)體波,曲線為理想魚(yú)體波曲線。本文引用地址:http://2s4d.com/article/170958.htm
使用AVR的USART0與無(wú)線通信模塊連接。當(dāng)51單片機(jī)通過(guò)無(wú)線通訊模塊將數(shù)據(jù)傳送到AVR時(shí),AVR單片機(jī)軟件控制會(huì)產(chǎn)生一個(gè)串行中斷,此時(shí)可以判斷接收到的命令,根據(jù)命令改變PWM波的占空比,從而改變機(jī)器魚(yú)的游動(dòng)方向。
2.4 WAP200B無(wú)線通訊傳輸部分
無(wú)線模塊WAP200B總共有10個(gè)管腳:VCC_CPU為MCU電源輸入,VCC_RF為RF短路電源,VCC_PA為RF功放電源,它們?nèi)齻€(gè)管腳接DC3.3V;SET為配置或者正常工作模式選擇信號(hào)輸入管腳,低電平時(shí)WAP200B為配置模式,此時(shí)串口的數(shù)據(jù)作為配置指令而不會(huì)被傳送出去,高電平(3.3V)時(shí)模塊使能接發(fā)功能;RXD/TXD是串口數(shù)據(jù)從WAP200B輸入/輸出的管腳,3.3V/5V兼容TTL邏輯電平,RESET為復(fù)位信號(hào)輸入管腳,正常工作接高電平;ANTENNA為天線接口。連接方式如圖5所示。
無(wú)線通訊模塊的TXD/RXD分別與51單片機(jī)的RXD/TD相連,就相當(dāng)于51單片機(jī)的一個(gè)串口。在使用無(wú)線通汛模塊之前,需要配置它的波特率、串口模式、頻道以及發(fā)射功率(SET置低),兩個(gè)互相通訊的模塊必須保證具有相同的波特率和頻道,同時(shí)51單片機(jī)串口的波特率也必須和通訊模塊一致,發(fā)射功率可以根據(jù)發(fā)射的距離遠(yuǎn)近設(shè)定。
3 控制軟件設(shè)計(jì)流程
51單片機(jī)是語(yǔ)音芯片的主控CPU,它的軟件主要包括主程序,串口初始化(波特率和串口模式設(shè)定需要和無(wú)線通訊模塊一致),語(yǔ)音系統(tǒng)的識(shí)別控制,命令數(shù)據(jù)的發(fā)送。51程序流程如圖6所示。
評(píng)論