新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于CAN總線的仿人機器人分布式控制系統(tǒng)

基于CAN總線的仿人機器人分布式控制系統(tǒng)

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

  1引言

本文引用地址:http://2s4d.com/article/201611/339605.htm

  隨著計算機技術(shù)和網(wǎng)絡技術(shù)的發(fā)展,各種新型的控制方式應用于控制。分布式控制系統(tǒng)是在計算機監(jiān)督控制系統(tǒng)、直接數(shù)字控制系統(tǒng)和計算機多級控制系統(tǒng)的基礎上發(fā)展起來的,是生產(chǎn)過程的一種比較完善的控制與管理系統(tǒng)。與計算機多級控制系統(tǒng)相比,分布式控制系統(tǒng)在結(jié)構(gòu)上更加靈活、布局更為合理和成本更低。分布式控制結(jié)構(gòu)成為控制系統(tǒng)發(fā)展的方向。文[2]中作者設計了一種基于總線的分布式的仿人的控制系統(tǒng)。

  為此,我們研制了新型的小型仿人機器人控制系統(tǒng)。本實驗室研制的小型仿人機器人各關節(jié)采用舵機控制,根據(jù)要求,本設計需要實現(xiàn)小型仿人機器人腿部的運動控制,達到小型化,低功耗。

  2小型仿人娛樂機器人分布式控制系統(tǒng)

  2.1總體方案設計

  本文研究的小型仿人娛樂機器人運動控制系統(tǒng)由主控制器ARM9,C8051F320單片機與4片CD4017外部計數(shù)器構(gòu)成的控制單元組成,控制結(jié)構(gòu)簡單靈活。USB通信方案滿足了主從控制和通信速度的需求。關節(jié)執(zhí)行機構(gòu)采用舵機,控制方法簡單實用。總體控制方式簡圖見圖1。

  

 

  主控制器端,采用ARM9(S3C2410)作為管理控制器負責協(xié)調(diào)控制,向單片機發(fā)送規(guī)劃好的運動控制數(shù)據(jù)并擴展語音,視頻等。S3C2410主控制器有一個USB host,連接C8051F320單片機。

  單片機端,利用C8051F320中的PCA捕捉比較模塊產(chǎn)生PWM控制信號。當單片機通過USB總線接收到由ARM管理控制器發(fā)來的數(shù)據(jù)包時,根據(jù)設定的對應關系將數(shù)據(jù)包中16位控制數(shù)據(jù)轉(zhuǎn)化為PCA比較值,由PCA模塊產(chǎn)生相應占空比的PWM控制信號,分別輸出給4片CD4017外部計數(shù)器。同時PCA模塊還定時產(chǎn)生一路復位脈沖,同時發(fā)送給4片CD4017,確保CD4017多路PWM輸出與單片機接收到多舵機控制數(shù)據(jù)對應關系正確。C8051F320控制器電路板如圖2。

  

 

  CD4017外部計數(shù)器將CP引角輸入的PWM轉(zhuǎn)化為多路PWM,分別控制與之相連的各舵機轉(zhuǎn)動,實現(xiàn)各桿件位置的開環(huán)控制。CD4017引腳功能及排列如圖3。

  2.2 USB通信的實現(xiàn)

  在計算機和單片機的控制數(shù)據(jù)傳輸領域內(nèi),長期以來廣泛的使用RS-232,RS-485等通信方式,這些通信方式訊的實時性較差, 故障率較高, 出現(xiàn)故障時, 不容易排查[3]。不能夠滿足小型仿人機器人的實時性和大批量數(shù)據(jù)傳輸?shù)囊?。USB總線通信方式作為新一代計算機外設的接口技術(shù),隨著USB技術(shù)的日益成熟,及獨特的優(yōu)點(對多種設備的廣泛適用性,自動配置,容易擴充,易于連接,熱插拔,即插即用、高可靠性,低成本,低功耗等),應用前景非常廣泛[4]。

  本控制系統(tǒng)中的管理控制器ARM9(S3C2410)集成了一個USB host,采用Linux操作系統(tǒng);C8051F320器件集成了全速/低速USB功能控制器,用于實現(xiàn)USB接口的外部設備,均支持USB2.0通信協(xié)議。單片機端設計了通信固件程序和應用程序,用于接收USB通信內(nèi)容。

  2.3基于C8051單片機和CD4017外部計數(shù)器的關節(jié)控制器設計

  采用一片單片機與4片CD4017外部計數(shù)器的關節(jié)控制器設計方案,極大限度的精簡了硬件數(shù)量,節(jié)省了空間,降低了軟硬件出錯的可能性,也為系統(tǒng)運動功能的擴展提供了足夠空間和靈活性(自由度數(shù)量設置可在36個以內(nèi)任意增減)。

  基于C8051的設計中有很多方法用于產(chǎn)生PWM波形:軟件循環(huán)、查詢或中斷驅(qū)動的定時器等。使用可編程計數(shù)器陣列PCA產(chǎn)生PWM相對于任何查詢機制(基于軟件或定時器而言)可以大大降低所需要的CPU帶寬,并可以消除在中斷驅(qū)動的基于定時器的設計中因中斷延遲不一致而產(chǎn)生的時序抖動。PCA由一個專用的16位計數(shù)器/定時器和5個16位捕捉/比較模塊組成。每個捕捉/比較模塊有其自己的I/O線。計數(shù)器/定時器由一個可編程的時基信號驅(qū)動。計數(shù)器/定時器有一個16位的計數(shù)器/定時器寄存器、一個用于選擇時間基準的方式寄存器和一個包含計數(shù)器/定時器運行控制及各模塊捕捉/比較標志的控制寄存器。每個捕捉/比較模塊有一個用于選擇模塊工作方式的配置寄存器和一個16位的捕捉/比較寄存器。每個捕捉/ 比較模塊的工作方式都可以被獨立配置。由于所有的捕捉/比較模塊共享一個時間基準,因此它們同步工作[5][6]。本文研究的小型娛樂機器人關節(jié)控制器設計中,將PCA配置為獨立工作;每個模塊的中斷服務程序只影響該模塊的捕捉/比較寄存器。PCA方式寄存器和配置寄存器設置一次后不再改變,讓計數(shù)器/定時器寄存器自由運行。

  在高速輸出方式,每當PCA計數(shù)器與模塊的16位捕捉/比較寄存器發(fā)生匹配時,模塊I/O線的引腳上的邏輯電平將發(fā)生高低轉(zhuǎn)換,并可以選擇產(chǎn)生中斷。本應用程序中選擇了該中斷。

  CD4017基本功能是對CP端輸入脈沖的個數(shù)進行十進制計數(shù),并按照輸入脈沖的個數(shù)順序?qū)⒚}沖分配在Y0~Y9這10個輸出端,計滿10個數(shù)后計數(shù)器復零,同時CO端輸出一個進位脈沖。當CR端有正脈沖輸入時,該脈沖的上升沿將觸發(fā)CD4017復位,此時Y1~Y9輸出均變?yōu)榈碗娖?,只有Y0腳輸出變?yōu)楦唠娖?,故可以利用CR的正脈沖輸入中斷計數(shù)[7]。

  本文研究的小型娛樂仿人機器人控制系統(tǒng)方案中,一個CD4017輸出7路脈沖,分別發(fā)送給7個舵機。

  3 實驗

  控制系統(tǒng)硬件實物連接圖如圖4。

  

 

  機器人步行實驗完成5步的向前行和5步的后退的行走過程。步行實驗過程如圖5。

  4 結(jié)論

  根據(jù)小型仿人機器人的機構(gòu)特點和性能要求,構(gòu)建了以ARM9為主控制器的小型仿人機器人控制系統(tǒng)。設計開發(fā)了C8051USB單片機和CD4017外部計數(shù)器組成關節(jié)控制器,該關節(jié)控制器能夠?qū)崿F(xiàn)多舵機的協(xié)調(diào)控制任務。實踐證明,采用該結(jié)構(gòu)之后,整個機器人系統(tǒng)的模塊化程度更高,系統(tǒng)的裝配和調(diào)試更加方便。控制系統(tǒng)實現(xiàn)了小型化、低功耗,而且機器人行走穩(wěn)定性。



關鍵詞: CAN 機器人

評論


相關推薦

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

關閉