<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于雙AVR單片機的懸掛物體尋跡控制系統(tǒng)

          基于雙AVR單片機的懸掛物體尋跡控制系統(tǒng)

          作者: 時間:2012-01-03 來源:網(wǎng)絡 收藏

          歷屆全國電子設計競賽的題目可以分為電源類、信號源類、無線電類、放大器類、儀器儀表類、數(shù)據(jù)采集與處理類和自動控制類,在2005年全國大學生電子設計競賽中,控制系統(tǒng)就是一道典型的自動控制類賽題。本文著重介紹一種基于雙單片機的沿板上標出的任意曲線運動的控制系統(tǒng)方案。

          1系統(tǒng)設計要求和設計思路

          題目要求控制物體沿板上標出的任意曲線運動,如圖1所示。曲線在測試時現(xiàn)場標出,線寬1.5cm~1.8cm,總長度約50cm,顏色為黑色;曲線的前一部分是連續(xù)的,長約30cm;后一部分是兩段總長約20cm的間斷線段,間斷距離不大于1cm;沿連續(xù)曲線運動限定在200s內(nèi)完成,沿間斷曲線運動限定在300s內(nèi)完成。

          根據(jù)題目的要求,系統(tǒng)主要實現(xiàn)黑線和斷點檢測、運動控制等功能。為了說明系統(tǒng)可以實現(xiàn)任意曲線、任意方向的尋跡,以圓形軌跡作為尋跡對象。尋跡原理如圖2所示。
          懸掛物體初始點a的坐標由鍵盤輸入,初始時刻安裝紅外探頭,由微型步進電機控制的搖臂處于水平位置。系統(tǒng)啟動后,微型步進電機驅(qū)動搖臂順時針旋轉,最大轉角為180°。紅外探頭的運動軌跡與黑色圓弧會有一個交點b,并記錄步進電機轉動的角度。通過系統(tǒng)起始點a的坐標和步進電機轉動的角度,可求得運動控制下一點b的坐標。求得b點坐標后,控制懸掛物體向該點作直線運動,同時搖臂作逆時針旋轉90°,以保證下一個檢測交點在其180°搜索范圍內(nèi)。若搖臂旋轉180°,仍沒有交點,則認為曲線在此處有斷點,系統(tǒng)控制懸掛物體按原方向繼續(xù)前進一個步長,再次進行掃描,以求得下一個檢測點的位置。若懸掛物體偏離軌跡,如圖2中c點的位置,系統(tǒng)也可通過下一個點的檢測讓懸掛物體自動回復到軌跡點,因此,本方法可有效糾正軌跡偏差,實現(xiàn)尋跡控制的能力。

          2 系統(tǒng)方案設計

          懸掛物體運動控制系統(tǒng)的基本方案方框圖如圖3所示,系統(tǒng)主要由控制模塊、黑線檢測模塊和通信模塊組成。其中,控制模塊由atmega128l單片機最小系統(tǒng)1、鍵盤輸入電路、液晶顯示電路和步進電機驅(qū)動電路組成;檢測模塊由atmega128l單片機最小系統(tǒng)2、紅外線反射電路和微步進電機驅(qū)動電路組成。

          黑線檢測模塊中的單片機系統(tǒng)控制微型步進電機,帶動裝有紅外探頭的搖臂巡回擺動,檢測板上的黑線,得出微型步進電機的轉動角度。角度數(shù)據(jù)經(jīng)過編碼后,通過無線傳輸模塊發(fā)送給控制模塊單片機系統(tǒng)??刂颇K中的單片機系統(tǒng)接收到角度數(shù)據(jù)后.進行數(shù)據(jù)校驗。若數(shù)據(jù)準確,則通過控制步進電機驅(qū)動電路控制懸掛物體從當前坐標沿轉動角度移動固定距離,然后,向檢測模塊發(fā)出下一輪檢測命令;若數(shù)據(jù)傳輸有誤,則向檢測模塊發(fā)出數(shù)據(jù)重發(fā)命令,等待下一輪角度數(shù)據(jù)接收。


          3 硬件設計

          3.1 atmega128l單片機最小系統(tǒng)

          單片機是整個懸掛物體運動控制系統(tǒng)的核心,控制系統(tǒng)所有電路。本系統(tǒng)采用atmel公司的atmega128l單片機,有如下特點:

          ①工作電壓為2.7~5.5 v,可承受的電壓波動范圍較大,可有效克服由于模塊內(nèi)的微型步進電機導致的電源電壓不穩(wěn)定所帶來的干擾,使系統(tǒng)能在一個較寬的電平范圍內(nèi)正常工作。

          ②片內(nèi)資源豐富。atmega128l存儲器容量大,有128 kb flash,4 kb e2prom和4 kb ram,可以滿足系統(tǒng)復雜的運算和一定量的數(shù)據(jù)存儲要求;53個i/o端口,可滿足系統(tǒng)多傳感輸入和多控制輸出端口要求;i/o口具有大電流輸出的特點,驅(qū)動能力強;內(nèi)置看門狗,提高系統(tǒng)的抗干擾能力。

          ③可在線編程,方便系統(tǒng)的凋試。

          3.2紅外線反射電路

          采用帶脈沖調(diào)制功能的紅外線反射傳感器檢測黑線軌跡,電路如圖4所示。電路中鎖相音頻譯碼器lm567既作為紅外線發(fā)射部分的信號發(fā)生電路,也作為接收部分的檢測電路,只有檢測到的輸入信號的頻率和本身的鎖相中心頻率相同時,才使輸出端為低電平。該電路容易濾除外界干擾,電路的穩(wěn)定性和抗干擾能力強,同時可以調(diào)節(jié)譯碼器不同的中心頻率,使得在同一設備使用多個紅外線傳感器而不會相互干擾。

          3.3步進電機驅(qū)動電路

          控制系統(tǒng)中的電機采用vexta公司的px245-01a步進電機,額定電壓4 v,靜態(tài)電流1.2 a,步距角1.8°。步進電機的驅(qū)動電路如圖5所示。達林頓管起功率放大作用,增強步進電機的驅(qū)動能力。電路中使用光電耦合器將控制和驅(qū)動信號加以隔離,有效降低外部干擾對系統(tǒng)的影響,提高系統(tǒng)的可靠性。

          3.4輸入與顯示電路

          本設計采用4×4矩陣掃描非編碼鍵盤方式實現(xiàn)懸掛物體初始點坐標輸入和控制命令輸入。系統(tǒng)控制參數(shù)和懸掛物體運行軌跡圖可在點陣式液晶lcd12864顯示。

          3.5無線通信模塊

          本沒計采用無線modem rf2000實現(xiàn)系統(tǒng)檢測模塊與系統(tǒng)控制模塊之間數(shù)據(jù)和命令的雙向傳輸,電路如圖6所示。rf2000采用nordic公司的nrf401芯片,采用抗干擾能力強的fsk調(diào)制方式,可以通過txen引腳控制收發(fā)方式。無線傳輸過程中,容易受到外界電磁波和步進電機轉動產(chǎn)生的電磁干擾,而出現(xiàn)較高的誤碼率。為確保數(shù)據(jù)傳輸?shù)目煽啃?本設計通過編碼加強系統(tǒng)的糾錯能力。數(shù)據(jù)或命令以8位數(shù)據(jù),即一個字節(jié)進行編碼,并分為高4位和低4位進行無線傳輸。以低4位數(shù)據(jù)的傳輸為例。其發(fā)送的數(shù)據(jù)結構各位的定義格式如下:

          該傳輸進行了兩級誤碼校驗。do~d3是傳輸數(shù)據(jù)的低4位數(shù)據(jù),d4~d6置o,d7為低4位數(shù)據(jù)的crc檢驗。

          4 軟件設計

          系統(tǒng)中懸掛物體尋跡采用雙單片機控制方案,黑線檢測模塊和懸掛物體控制模塊各自具有單片機系統(tǒng),通過通信模塊實現(xiàn)協(xié)同控制,完成懸掛物體尋跡任務。黑線檢測程序流程和控制模塊程序流程分別如圖7和圖8所示,通信誤碼校正流程如圖9所示。



          5 測試方法與結果

          為了使懸掛物體可以沿任意曲線運動,本系統(tǒng)采用圓周曲線作為測試途徑。圓周曲線包含4個方向的轉折點,具有一定的代表性,圓周直徑為30 cm,圓周長約94 cm,大于設計要求的80 cm。測試結果如表2所列。

          結語

          本設計以2片atmega128l單片機分別為黑線檢測和懸掛物體運動控制的核心,仿照雷達掃描跟蹤系統(tǒng),利用微型步進電機和紅外線傳感器進行黑線的掃描跟蹤,實現(xiàn)系統(tǒng)的連續(xù)黑線和斷續(xù)黑線尋跡。黑線檢測和運動控制兩個核心通過無線數(shù)傳模塊實現(xiàn)檢測數(shù)據(jù)和控制命令的相互通信。測試結果表明,本系統(tǒng)控制精度高,響應時間短,具有較強的斷線尋跡能力。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();