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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > 基于DSP的單兵作戰(zhàn)用機器人控制系統(tǒng)設(shè)計

          基于DSP的單兵作戰(zhàn)用機器人控制系統(tǒng)設(shè)計

          作者: 時間:2017-06-04 來源:網(wǎng)絡(luò) 收藏

          單兵作戰(zhàn)用機器人體積小,方便單兵野外作戰(zhàn)時攜帶,可完成偵察、作戰(zhàn)、排爆等任務。機器人能夠代替人類到達不方便到達或危險的環(huán)境,確保了士兵的安全。車體是履帶式設(shè)計,行動平穩(wěn)。

          本文引用地址:http://www.ex-cimer.com/article/201706/348291.htm

          1 單兵作戰(zhàn)用硬件設(shè)計

          為了實現(xiàn)士兵對機器人的實時控制,需要配合使用。機器人與的工作原理如圖1所示。

          通過按鈕、開關(guān)、搖桿采集工作人員的操控指令,將操控指令轉(zhuǎn)換成數(shù)據(jù),按照規(guī)定的格式通過串口發(fā)給將該數(shù)據(jù)發(fā)送出去;接收到來自操控終端的控制指令后,按照操控指令控制機器人運動、武器擊發(fā),同時采集機器人的GPS位置、電池電量、超聲波避障信息等,把機器人信息打包后通過機器人上的無線電臺發(fā)送給遙操控終端的電臺,遙操控終端接收到機器人信息后,將其顯示在人機界面上,以備士兵隨時掌握機器人的實時信息。

          單兵作戰(zhàn)用機器人控制系統(tǒng)是基于DSP芯片及與其外圍電路、電源電路組成。DSP芯片選用TMS320F2812。TMS320F2812是美國TI公司推出的C2000平臺上的定點32位DSP芯片,主頻150 MHz、處理性能可達150 MIPS,每條指令周期6.67 ns。

          TMS320F2812包括4M可尋址程序空間和4M可尋址數(shù)據(jù)空間。同時片內(nèi)具有128×16位的FLASH存儲器和18K×16位的SRAM。TMS320F2812采用3_3 V和1.8 V供電,功耗低。TMS320F28 12的外部接口非常豐富,16路12位的ADC采集通道,SPI、SCI通信模塊,多達56個復用I/O引腳。

          單兵作戰(zhàn)用機器人控制系統(tǒng)組成如圖2所示。


          1.1 I/O端口

          TMS320F2812的GPIOA0-GPIOA3口設(shè)置成基本輸入輸出端口,端口配置及屬性如表1所示。

          超聲波避障信號用于探測機器人前方0.5 m內(nèi)是否有障礙物,如遇到障礙物,機器人可自動轉(zhuǎn)彎避開。武器擊發(fā)開關(guān)用于機器人上武器的擊發(fā)控制,手電開關(guān)用于機器人上手電的開關(guān)控制,攝像頭廣窄角選擇用于機器人上攝像頭的廣角與窄角的切換。

          1.2 A/D端口

          TMS320F2812的A/D轉(zhuǎn)換器模塊共有16個通道,模擬電壓的輸入范圍是0~3 V。這里用了其中的2個通道,分別用來測量機器人上的2塊24 V鋰電池的電量。圖3中電量測量電路分為3個部分:差分比例1:10電路,把24 V電壓轉(zhuǎn)換到0~2.4 V區(qū)間;隔離比例1:1電路,能有效的隔離輸入電壓與DSP的前端接口;電壓鉗位電路,將輸入到DSP端口的電壓鉗位在3.3 V以內(nèi),防止電源電壓意外浪涌時損壞DSP的A/D轉(zhuǎn)換端口。2路24 V電池電壓分別經(jīng)過2路電量測量電路后,輸入到DSP的ADCINA0、ADCINA2兩個端口,根據(jù)采集到的電壓值,可計算當前電池的電壓,從而確定電池電量。


          1.3 串 口

          TMS320F2812的GPIOF4、GPIOF5配置成串口1,GPIOG4、GPIOG5配置成串口2。串口1接收GPS的信息,用來確定當前機器人的位置信息;串口2連接機器人電臺,實現(xiàn)與遙操控終端電臺的無線傳輸。機器人電臺連接攝像頭和麥克之后,能夠把影音信息傳送到遙操控終端的電臺,遙操控終端的工作人員即可接收到機器人附近的視頻、音頻信息。

          1.4 電機控制

          機器人的前進、后退、左轉(zhuǎn)、右轉(zhuǎn)由左履帶電機和右履帶電機控制。機器人上的武器通過做上下、左右調(diào)節(jié)來瞄準目標。

          DSP的XINTF是其外部接口,這里使用了XD0-XD11共12根數(shù)據(jù)線,經(jīng)過電平轉(zhuǎn)換為5 V電平后,連接到D/A轉(zhuǎn)換芯片。D/A轉(zhuǎn)換芯片選用了12位的AD664,可輸出4路0~5V模擬電壓,4路模擬電壓作為控制電壓輸入到電機控制器,分別控制機器人左履帶電機、右履帶電機、武器上下調(diào)節(jié)電機、武器左右調(diào)節(jié)電機。
          當電壓為2.5 V時,電機停轉(zhuǎn);電壓小于2.5 V時,電機反轉(zhuǎn);電壓大于2.5 V時,電機正轉(zhuǎn)。對于左履帶和右履帶,通過輸出的控制電壓,可實現(xiàn)車體前進、后退的無級變速,以及左、右轉(zhuǎn)彎的運動控制。

          1.5 電源供電電路

          鋰電池具有體積小、重量輕、容量大的特點。機器人內(nèi)置2組24 V供電電池。第1組24 V電池為左履帶電機、右履帶電機、武器上下調(diào)節(jié)電機、武器左右調(diào)節(jié)電機供電。第2組24 V電池經(jīng)過DC/DC模塊.轉(zhuǎn)換成12 V電壓和5 V電壓。12 V電壓用來給機器人上的無線電臺供電。5 V電壓為控制電路供電,同時經(jīng)過電源轉(zhuǎn)換電路,轉(zhuǎn)換成3.3 V和1.8 V電壓為DSP供電。為了監(jiān)測DSP芯片供電電壓是否正常,增加了電壓監(jiān)控電路,當DSP芯片供電不正常時,可將此故障報送到電臺發(fā)送到遙操控終端。


          2 單兵作戰(zhàn)用機器人控制系統(tǒng)軟件設(shè)計

          單兵作戰(zhàn)用機器人控制系統(tǒng)軟件分為主程序和中斷服務程序兩部分。主程序?qū)崿F(xiàn)的流程如圖5所示,上電初始化處理器的I/O端口、A /D端口、串口等資源,初始化完畢開始與遙操控終端軟件進行通信,握手成功后,開啟軟件定時器、中斷,定時采集機器人信息,包括超聲波避障、電量測量值、GPS信息。

          當串口2即機器人無線電臺出現(xiàn)接收數(shù)據(jù)中斷時,表明接受到來自遙操控終端的控制數(shù)據(jù),此時處理器進入中斷服務程序,如圖6所示。中斷程序首先將串口2接收到的數(shù)據(jù)保存到寄存器,然后將最新采集的機器人信息按照預定格式發(fā)送到串口2,通過機器人無線電臺發(fā)送給遙操控終端。程序還需要根據(jù)串口2所接到的數(shù)據(jù),按照預定的格式分配到處理器的各個端口,實現(xiàn)遙操控終端的控制指令,包括武器擊發(fā)開關(guān)、手電開關(guān)、攝像頭廣角窄角切換、左履帶電機轉(zhuǎn)動方向和速度、右履帶電機轉(zhuǎn)動方向和速度、武器高低轉(zhuǎn)動方向和速度、武器左右轉(zhuǎn)動方向和速度。

          3 結(jié)束語

          單兵作戰(zhàn)用機器人便于攜帶、操控簡單、可廣泛應用于軍隊、武警部隊。文中所設(shè)計的單兵作戰(zhàn)用機器人控制系統(tǒng)實時性高、設(shè)計合理,理論試驗驗證可行,在實際應用中得到了用戶的認可。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();