《電子技術應用》
您所在的位置:首頁 > 其他 > 業(yè)界動態(tài) > 基于C8051F040的跆拳道綜合模擬訓練儀控制系統(tǒng)設計

基于C8051F040的跆拳道綜合模擬訓練儀控制系統(tǒng)設計

2008-05-07
作者:楊先軍, 孫怡寧, 周 旭

  摘 要: 介紹了基于C8051F040 單片機的跆拳道綜合模擬訓練儀控制系統(tǒng)" title="控制系統(tǒng)">控制系統(tǒng)的硬件和軟件設計,系統(tǒng)在交付使用后,證明控制系統(tǒng)是穩(wěn)定可靠的。
  關鍵詞: C8051F040 傳感器 CAN總線 RS232


  跆拳道綜合模擬訓練儀研制課題屬于科技部重點攻關項目,由中科院合肥智能機械研究所承擔。該課題的研制目標為:研制適用于跆拳道強化技戰(zhàn)術訓練的模擬訓練儀,可按教練員要求,模擬運動員前進、后退及轉體,引導運動員擊打指定部位,達到訓練目的;并可對擊打動作的相關技術參數(shù)進行測量與綜合分析,給出量化評價結果。該系統(tǒng)自2005年12月投入國家跆拳道隊使用至今,大幅度提升了科學訓練水平,得到了拳跆中心領導、教練員、運動員的認可與高度評價,填補了該項目科學訓練的空白。
1 系統(tǒng)原理與主要功能
  該系統(tǒng)的主要機械結構如圖 1 所示??刂葡到y(tǒng)部分采用伺服電機" title="伺服電機">伺服電機控制靶體前后運動,由步進電機控制靶體轉身運動;在靶體左肋、胸部、右肋部位各裝有一個單維力傳感器,在頭部裝有一個三維力傳感器,可以測量運動員擊打四個擊打部位的力量;在地面上鋪設了2m×3m的柔性陣列傳感器,可以測量運動員在傳感器上的位置,進而計算出運動員與靶體的實時距離;控制系統(tǒng)與工作于上位機" title="上位機">上位機的綜合模擬訓練指導系統(tǒng)通訊,接收上位機的指令。系統(tǒng)總體設計如圖 2 所示。

?


2 硬件設計
  由于跆拳道綜合模擬訓練控制系統(tǒng)要求系統(tǒng)的響應速度快、魯棒性好、通信距離長、通信穩(wěn)定性好,因此本文選用C8051F040單片機為控制系統(tǒng)的中央處理器。該單片機集成了CAN2.0B總線控制器。指令執(zhí)行速率最高可達25MIPS。
  該控制系統(tǒng)主要由CPU模塊、伺服電機控制模塊、步進電機控制模塊、力傳感器信號采集模塊、柔性陣列傳感器信號采集模塊、通信轉發(fā)模塊、電源模塊等組成。下面介紹主要模塊的實現(xiàn)。
2.1 CPU 模塊
  CPU模塊主要由振蕩器、I/O端口、CAN總線、串口" title="串口">串口模塊、存儲器擴展、JTAG接口單元等組成。
  振蕩器采用外部晶體振蕩器,頻率為11.0592MHz。采用該頻率晶體振蕩器是為了串口通訊波特率的誤差能夠最小。
  由于Silicon Labs CAN 是一個協(xié)議控制器,不提供物理層驅動器(即收發(fā)器),因此要實現(xiàn)與CAN總線的接口,還需要接口控制器,例如82C250、TJA1050等。這里選用TJA1050,CAN總線硬件電路如圖3 所示。


  RS-232C標準電平采用負邏輯,規(guī)定3V~15V之間的任意電平為邏輯“0”電平, -3V~-15V之間的任意電平為邏輯“1”電平,而C8051F040 輸出為TTL電平,所以在通訊時,必須進行電平轉換,以便與RS-232C標準電平匹配。在此,電平轉換芯片選用MAX232 芯片。
2.2 伺服電機控制模塊
  系統(tǒng)的伺服電機選用華中數(shù)控伺服電機,電機的最大力矩為55Nm。伺服電機的工作方式采用內部速度方式,通過串口通訊設置電機的轉動速度、加減速時間常數(shù)等參數(shù);通過 CPU 輸出信號控制伺服電機驅動器" title="電機驅動器">電機驅動器使能信號和電機抱閘信號以啟停電機。伺服電機驅動器采用24V電源,而C8051F040 的輸出電平為3.3V,故需要電平轉換芯片,在此選用ULN2803 芯片。由于伺服電機的抱閘器會存在比較大的反灌電流,因此需要通過繼電器將其與ULN2803 相隔離以保護芯片。伺服電機驅動電路原理圖如圖 4 所示。


  對于伺服電機驅動器的工作狀態(tài),可以通過讀取伺服電機驅動器狀態(tài)輸出信號來獲得。
2.3 柔性陣列傳感器信號采集
  測距系統(tǒng)的主要功能就是測量出運動擊打時在點陣式陣列傳感器上的位置信息,并將位置信息傳送給上位機。測距系統(tǒng)原理:點陣式陣列傳感器為 3M(75行)×2M(50列),行線之間及列線之間的間隔均為4cm ,可以根據(jù)運動所處的行線和列線的值來確定運動員在柔性陣列傳感器上的位置。
  硬件設計原理:將行線作為掃描線,依次對每條行線輸出高電平信號,每輸出一次讀取一次列線的信息,如果在陣列上的一點導通,則在該點的行線輸出高電平時,該點所處列線輸出電平會有變化,根據(jù)這個原理就可以確定所處的列線和行線。掃描電路采用74HC164 移位寄存器依次對每條行線輸出高電平,MCU通過74HC244 以選通方式擴展 I/O口直接讀取列線的狀態(tài)。
2.4 電源模塊
  CPU 模塊MCU 需要3.3V的直流電源供電,且每個端口可以承受的電壓為5V,串口電平轉換芯片MAX202以及光耦隔離芯片6N137 均需要5V直流電源驅動,故在設計CPU 模塊電源時必須提供5V和3.3V的直流電源??紤]到對電源模塊的兼容性(直流電源或交流電源均可以供電),在設計CPU模塊電源電路時加入了整流橋和穩(wěn)壓模塊。采用電源隔離器B0505S將輸入電源和CPU模塊的電源相隔離,以屏蔽電源沖擊影響MCU的執(zhí)行。電源模塊電路圖如圖5所示。


2.5 通訊轉發(fā)模塊
  通訊轉發(fā)模塊主要作用就是實現(xiàn) CAN 總線協(xié)議與 RS232協(xié)議之間的轉換。硬件設計采用獨立的C8051F040作為MCU的CPU模塊,硬件電路主要包括 CAN總線電路和串口電路,轉換協(xié)議由控制軟件完成。
3 軟件設計
  控制系統(tǒng)軟件采用模塊化結構,主要包括主程序、伺服電機控制程序、步進電機控制程序、ADC 采集程序、柔性陣列傳感器信號采集程序、串口通訊程序、CAN 通訊程序、通訊轉發(fā)模塊程序等。下面將介紹主要模塊的軟件結構設計。
3.1 主程序
  控制系統(tǒng)主程序主要完成MCU 的配置(看門狗配置、交叉開關配置、端口輸入輸出方式配置、時鐘源配置)、CAN總線初始化、串口工作方式初始化、12位A/D 轉換器初始化、伺服電機狀態(tài)檢測、等待上位機指令并跳轉到相應模塊執(zhí)行等功能。其程序框圖如圖 6 所示。


3.2 柔性陣列傳感器采集程序
  該程序算法為:依次對行線置高電平,同時讀取列線的狀態(tài)信息,如果列線不全為0,則說明測量到位置,退出本次掃描,清除行線信息,并發(fā)送位置信息給上位機;如果列線全為0,則繼續(xù)對行線依次置高電平直至本次掃描結束。該掃描算法在實際應用中測量的是壓力中心點。
3.3 通訊轉發(fā)模塊程序
  通訊轉發(fā)模塊的軟件設計主要是實現(xiàn)協(xié)議的轉換。其程序結構框圖如圖 7 所示。


  CAN總線協(xié)議與RS232協(xié)議轉換的算法:CAN總線發(fā)送數(shù)據(jù)包有8個數(shù)據(jù),接收到CAN數(shù)據(jù)包后提取數(shù)據(jù)并將其壓棧到串口發(fā)送緩沖區(qū),然后關閉CAN中斷,等待串口發(fā)送完畢;接收上位機的指令后,轉發(fā)模塊將接收到的數(shù)據(jù)依次壓棧到CAN總線發(fā)送緩沖區(qū),等待發(fā)送結束標志 EE,然后調用CAN總線發(fā)送函數(shù)。上位機指令字節(jié)數(shù)最大為3。
  通訊轉發(fā)模塊與上位機串口的通訊協(xié)議:上位機發(fā)送數(shù)據(jù)以 EE 為起始標志;下位機發(fā)送數(shù)據(jù)以EE為結束標志。
  本文設計跆拳道綜合模擬訓練儀的控制系統(tǒng),并實現(xiàn)了靶人前后運動、靶人轉身運動、測量運動員擊打力度、測量運動員擊打位置與靶人之間的距離、測量運動員的反應時間等功能。目前,該系統(tǒng)已通過科技部驗收,交付給國家跆拳道隊使用,得到了教練員和運動員的一致好評。
參考文獻
1 童長飛. C8051F系列單片機開發(fā)與C語言編程. 北京:北京航空航天大學出版社,2005:50~341
2 方 立,孫怡寧. 新型三維力傳感器的研制與應用. 傳感技術,2002;21(7):49~51

本站內容除特別聲明的原創(chuàng)文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯(lián)系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。