基于ARM的自主式移動(dòng)機(jī)器人設(shè)計(jì)
1.2 超聲傳感器系統(tǒng)
為減輕控制器LPC2119的負(fù)擔(dān),超聲傳感器系統(tǒng)由Atmel公司的AT89C1051單片機(jī)控制。1051單片機(jī)是含有一個(gè)1KB可編程E2PROM的高性能微控制器,它與工業(yè)標(biāo)準(zhǔn)MCS-51的指令和引腳兼容。它為很多嵌入式控制應(yīng)用提供了一個(gè)高度靈活、有效的解決方案。AT89C1051有以下特點(diǎn):1KB的E2PROM、128B的RAM、15根I/O線、2個(gè)16位定時(shí)/計(jì)數(shù)器、5個(gè)二級(jí)向量中斷結(jié)構(gòu)、1個(gè)全雙向的串行口且內(nèi)含精密模擬比較器和片內(nèi)振蕩器,具有4.25~5.5V的電壓工作范圍及24MHz工作頻率,同時(shí)還具有加密陣列的二級(jí)程序存儲(chǔ)器加鎖、掉電和時(shí)鐘電路等。此外,AT89C1051還支持兩種軟件設(shè)置的電源節(jié)電方式。空閑時(shí),CPU停止,而RAM、定時(shí)/計(jì)數(shù)器、串行口和中斷系統(tǒng)繼續(xù)工作。掉電時(shí),保存RAM的內(nèi)容,但振蕩器停振以禁止芯片其他功能,直到下一次硬件復(fù)位。
1051控制每60ms發(fā)送一路超聲波,檢測(cè)回波時(shí)間,并完成距離的計(jì)算。這樣16路超聲波循環(huán)檢測(cè)一次約為1s,在常溫時(shí)超聲波的速度約為344m/s,可以計(jì)算出障礙物的距離,最后將超聲波傳感器編號(hào)及距離信息傳送給LPC2119。
超聲波發(fā)射及接收子系統(tǒng)如圖2所示。1051利用P1.0引腳向外發(fā)送40kHz的脈沖信號(hào),此信號(hào)作為4-16譯碼器74HC154的使能信號(hào),引腳P1.1~P1.4作為譯碼信號(hào),分別對(duì)應(yīng)編號(hào)0~15的超聲波傳感器。此信號(hào)經(jīng)過9013放大后推動(dòng)換能器產(chǎn)生40kHz的超聲波信號(hào)。
LM567是一片鎖相環(huán)電路,其5、6腳外接的電阻和電容決定了內(nèi)部壓控振蕩器的中心頻率f2,f2≈1/1.1RC。其1、2腳分別通過電容器接地,形成輸出濾波網(wǎng)絡(luò)和環(huán)路單級(jí)低通濾波網(wǎng)絡(luò)。2腳所接電容決定鎖相環(huán)路的捕捉帶寬:電容值越大,環(huán)路帶寬越窄。LM567的工作電壓為4.75~9V,工作頻率從直流到500kHz,靜態(tài)工作電流約8mA。
超聲子系統(tǒng)基本功能為:當(dāng)接收器接收到超聲波回波時(shí),產(chǎn)生交流小信號(hào),此信號(hào)經(jīng)過LM358組成2級(jí)放大電路后,幅值達(dá)25mV以上。當(dāng)LM567的3腳輸入幅度≥25mV、頻率為40kHz的信號(hào)時(shí),8腳由高電平變成低電平,此低電平信號(hào)被連接到1051的INT0引腳產(chǎn)生中斷信號(hào)。1051在超聲波發(fā)送時(shí)啟動(dòng)定時(shí)器,在INT0中斷時(shí)關(guān)閉定時(shí)器,由此可以得到超聲波的傳播時(shí)間,并計(jì)算出障礙物距離。
應(yīng)用本系統(tǒng)對(duì)測(cè)量范圍為30~400cm的平面物體做了多次測(cè)量發(fā)現(xiàn),其最大誤差為0.5cm,且重復(fù)性好。如果加大超聲波發(fā)射的驅(qū)動(dòng)電流,接收部分的放大電路再加一級(jí),可以使檢測(cè)距離增大到600cm。
1.3 無線通信子系統(tǒng)
此系統(tǒng)選用微小型、低功耗、19.2kbps的無線收發(fā)MODEM芯片PTR2000實(shí)現(xiàn)機(jī)器人與計(jì)算機(jī)的無線通信。該芯片的工作頻率為國際通用的數(shù)傳頻段433MHz,采用FSK調(diào)制,可連接到計(jì)算機(jī)的RS232接口。系統(tǒng)采用的通信協(xié)議如下:
[開始字符] [數(shù)據(jù)1] [數(shù)據(jù)2]……[校驗(yàn)和] [結(jié)束字符]
將PTR2000的DO、DIN引腳分別與LPC2119的TXD0(13引腳)和RXD0(14引腳)相連,作為串行通信的通道。CS為PTR2000模塊的頻率選擇信號(hào);PWR為模塊節(jié)能引腳,正常工作為高電平。TXEN是模塊發(fā)射接收控制,由LPC2119的I/O口控制。PTR2000是收發(fā)一體的集成芯片,采用3.3V供電,可以與LPC2119無縫連接。PTR2000作為發(fā)射端與PC機(jī)相連時(shí),需要通過一個(gè)電平轉(zhuǎn)換器(本文為MAX3232)轉(zhuǎn)換成RS-232電平。PLC2119可以通過把輸出口置1或清0將無線收發(fā)模塊PTR2000設(shè)置為發(fā)送或接收狀態(tài);可通過VB的MSComm控件的RTSEnable屬性實(shí)現(xiàn)對(duì)計(jì)算機(jī)串口的控制。
1.4 光敏傳感器子系統(tǒng)
機(jī)器人使用的光敏傳感器為硫化鎘光電管(CDS)。硫化鎘光電管的電阻值隨著照射的表面光的多少而變化,光線越強(qiáng),電阻值越小。硫化鎘光電管通常也稱為光敏電阻。CDS的電阻值對(duì)較少的光線就能產(chǎn)生較大的變化,是機(jī)器人系統(tǒng)較為常用的一種光敏傳感器。在機(jī)器人車體上平均分布8個(gè)同樣的光敏傳感器,感知機(jī)器人周圍的光強(qiáng)變化。通過采集各傳感器的輸出電壓,由軟件算法確定機(jī)器人的路徑,使機(jī)器人總是朝光線更強(qiáng)的方向行走,實(shí)現(xiàn)對(duì)光源的尋找。
將一個(gè)精密電阻與CDS器件串聯(lián),該電阻起分壓作用,將CDS器件的電阻值轉(zhuǎn)換成應(yīng)對(duì)模/數(shù)轉(zhuǎn)換器件(ADC)適當(dāng)?shù)碾妷褐?。CDS器件的分壓輸出給ADC,隨后電壓值轉(zhuǎn)換為數(shù)字值。當(dāng)更多的光線照在CDS器件上時(shí),其電阻和ADC上輸出的電壓值都會(huì)減小。一般取這個(gè)精密電阻的阻值與CDS器件的最大電阻值相等。
2 軟件編程
因任務(wù)不同,系統(tǒng)的軟件設(shè)計(jì)有所不同。本移動(dòng)機(jī)器人系統(tǒng)的任務(wù)是在已知大小且光線較暗的封閉環(huán)境中自主尋找光源。
系統(tǒng)軟件在啟動(dòng)后先進(jìn)行系統(tǒng)的自檢和初始化,然后進(jìn)行路徑的規(guī)劃。先橫向遍歷整個(gè)環(huán)境,如果發(fā)現(xiàn)光源,機(jī)器人停止運(yùn)動(dòng),等待命令;如果沒有找到光源,再縱向遍歷整個(gè)環(huán)境,如果發(fā)現(xiàn)光源,機(jī)器人停止運(yùn)動(dòng);如果還是沒有找到,就顯示出錯(cuò)信息。當(dāng)超聲波子系統(tǒng)發(fā)現(xiàn)前方有障礙物或機(jī)器人與障礙物發(fā)生碰撞時(shí),將產(chǎn)生外部中斷,終止程序的運(yùn)行,控制器LPC2119將收到障礙物距離或碰撞信息,并由此重新規(guī)劃路徑,由此實(shí)現(xiàn)機(jī)器人的自主運(yùn)行。
本設(shè)計(jì)是一個(gè)基于ARM7微處理器的車載嵌入式系統(tǒng),不僅滿足了移動(dòng)機(jī)器人控制系統(tǒng)的要求而且為機(jī)器人的轉(zhuǎn)型應(yīng)用提供了良好的技術(shù)支持。在此基礎(chǔ)上可以加入各種先進(jìn)的控制算法,實(shí)現(xiàn)移動(dòng)機(jī)器人的智能化。
pwm相關(guān)文章:pwm是什么
評(píng)論