《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于C8051F020的假肢控制系統(tǒng)設(shè)計(jì)
基于C8051F020的假肢控制系統(tǒng)設(shè)計(jì)
來(lái)源:電子技術(shù)應(yīng)用2011年第6期
樊炳輝, 賈朝川, 楊 婷
(山東科技大學(xué), 山東 青島 266510)
摘要: 以C8051F020單片機(jī)為核心處理器,設(shè)計(jì)了仿人手臂形假肢的控制系統(tǒng)。系統(tǒng)采用單片機(jī)自身集成的PCA模塊產(chǎn)生占空比可調(diào)的PWM信號(hào)用于驅(qū)動(dòng)三個(gè)直流電機(jī),采用定時(shí)器產(chǎn)生頻率信號(hào)用于驅(qū)動(dòng)三個(gè)步進(jìn)電機(jī),采用CPLD對(duì)各個(gè)關(guān)節(jié)控制量的檢測(cè)并實(shí)時(shí)地反饋給控制器實(shí)現(xiàn)實(shí)時(shí)控制。在此基礎(chǔ)上設(shè)計(jì)出了按鍵控制和語(yǔ)音控制兩種控制方式。該系統(tǒng)不但結(jié)構(gòu)簡(jiǎn)單、操作方便,而且可靠性高。
中圖分類號(hào): TP242.6
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2011)06-135-03
Design of artificial limb control system based on C8051F020
Fan Binghui, Jia Chaochuan, Yang Ting
Shandong University of Science and Technology, Qingdao 266510, Chin
Abstract: Take C8051F020 as the core processor to design humanoid artificial limb's control system. The system uses the PCA module of C8051f020 to produce the PWM signal of duty-cycle adjustable to drive the three DC motors, the timer to produce the frequency signal to drive the three stepper motors, the CPLD to check each joint control quantity and feedback to the controller so that the controller can control the artificial limb instantly. There are two control modes: pressed key control and voice control. The system has some good properties such as simple structure, high reliability and easy operation.
Key words : C8051F020; PCA; CPLD; voice recognition


    假肢是人體缺損肢體的替代物,用以彌補(bǔ)缺損肢體的形狀和功能。本文針對(duì)失去整個(gè)手臂的情況,設(shè)計(jì)出一種仿人手臂形假肢的控制系統(tǒng)。使用者可以補(bǔ)償部分缺失的功能,達(dá)到生活自理甚至于可以從事基本勞動(dòng),減少身心痛苦,同時(shí)也相應(yīng)地解放了護(hù)理工作用。在設(shè)計(jì)中,采用C8051F020[1]單片機(jī)作為主控制器,并通過(guò)CPLD(Complex Programmable Logic Device)完成對(duì)各個(gè)關(guān)節(jié)控制量的檢測(cè)以及凌陽(yáng)61單片機(jī)實(shí)現(xiàn)語(yǔ)音控制功能。
1 機(jī)器人假肢結(jié)構(gòu)
 多自由度機(jī)器人型假肢(上肢)擁有6個(gè)自由度,其結(jié)構(gòu)原理圖如圖1所示。

2 假肢控制系統(tǒng)的硬件設(shè)計(jì)
2.1 控制器的工作原理

 控制系統(tǒng)原理框圖如圖2所示,主要由控制、驅(qū)動(dòng)、被控對(duì)象和檢測(cè)反饋四個(gè)部分構(gòu)成??刂撇糠种饕蒀8051f020完成;驅(qū)動(dòng)部分由6個(gè)電機(jī)驅(qū)動(dòng)器構(gòu)成;被控對(duì)象即是六自由的假肢;檢測(cè)反饋部分主要由CPLD檢測(cè)目標(biāo)位置各個(gè)關(guān)節(jié)的控制量。系統(tǒng)主要采用按鍵控制和語(yǔ)音控制兩種控制方式。

2.1.1 按鍵控制
  系統(tǒng)采用了12個(gè)獨(dú)立式按鍵對(duì)6個(gè)電機(jī)正反方向轉(zhuǎn)動(dòng)的控制,電機(jī)的轉(zhuǎn)動(dòng)驅(qū)動(dòng)著各個(gè)關(guān)節(jié)進(jìn)行運(yùn)動(dòng)。各個(gè)按鍵對(duì)應(yīng)控制關(guān)節(jié)運(yùn)動(dòng)情況如表1所示。


2.1.2 語(yǔ)音控制
 語(yǔ)音識(shí)別模塊由SPCE061A單片機(jī)完成。首先,對(duì)各個(gè)命令進(jìn)行訓(xùn)練,并將訓(xùn)練結(jié)果保存下來(lái)。在系統(tǒng)運(yùn)行過(guò)程中,當(dāng)SPCE061A單片機(jī)識(shí)別出某條命令時(shí),它會(huì)通過(guò)串口給C8051F020發(fā)送指令,當(dāng)C8510F020接收到相應(yīng)的指令時(shí),控制相應(yīng)的關(guān)節(jié)做相應(yīng)的運(yùn)動(dòng)[2]。例如:當(dāng)SPCE061A識(shí)別出“手指張開”命令時(shí),將會(huì)通過(guò)串口發(fā)送如“0x10”的十六進(jìn)制的數(shù),當(dāng)C8051F020通過(guò)串口接收到“0x10”后,就會(huì)控制手指做張開運(yùn)動(dòng)。其他關(guān)節(jié)控制亦如此。其語(yǔ)音命令的控制形式如圖3所示。

 

 

3 系統(tǒng)軟件設(shè)計(jì)
 本系統(tǒng)軟件主要包括:初始化程序、頻率輸出子程序、PWM信號(hào)輸出子程序、鍵盤控制子程序、通信子程序、語(yǔ)音識(shí)別系統(tǒng)、CPLD檢測(cè)編碼器輸出子程序。
3.1系統(tǒng)主流程
 圖4所示為整個(gè)控制系統(tǒng)的流程圖。首先對(duì)系統(tǒng)硬件進(jìn)行初始化;然后設(shè)計(jì)出兩種工作方式:按鍵方式和語(yǔ)音方式;之后選擇示教3個(gè)位置,并通過(guò)CPLD保存示教位置的各個(gè)關(guān)節(jié)的脈沖控制量,最后的設(shè)計(jì)是手動(dòng)運(yùn)動(dòng)到示教的目標(biāo)或是自動(dòng)運(yùn)動(dòng)到示教的目標(biāo)位置,至此即可完成對(duì)目標(biāo)位置的物體的抓取功能[3]。

3.2 CPLD檢測(cè)編碼器設(shè)計(jì)
 由系統(tǒng)流程圖可以看出,對(duì)各個(gè)示教位置的各個(gè)關(guān)節(jié)控制量的檢測(cè)與保存由CPLD完成。由于本設(shè)計(jì)采用旋轉(zhuǎn)編碼器的傳感器,通常其輸出A和B兩路占空比為50%的脈沖,A、B的脈沖個(gè)數(shù)反映主軸轉(zhuǎn)過(guò)的角度,A、B的相位關(guān)系反映主軸的旋轉(zhuǎn)方向。為了檢測(cè)上述兩個(gè)變量即主軸轉(zhuǎn)過(guò)的角度和主軸旋轉(zhuǎn)的方向,系統(tǒng)采用了一種辨向細(xì)分電路。
 將A和B兩路輸入信號(hào)分別組成四種狀態(tài)(A,B):(0,0)、(0,1)、(1,0)和(1,1)。當(dāng)主軸正向旋轉(zhuǎn)時(shí),狀態(tài)轉(zhuǎn)移過(guò)程為:(0,0)、(1,0)、(1,1)、(0,1)、(0,0),反向旋轉(zhuǎn)時(shí)正好相反。故只需要判斷狀態(tài)(1,0)和狀態(tài)(1,1)的先后順序即可判斷出主軸旋轉(zhuǎn)的方向,并且由出現(xiàn)狀態(tài)(1,0)和(1,1)之間的轉(zhuǎn)換次數(shù)就可以確定轉(zhuǎn)軸轉(zhuǎn)過(guò)的角度,即出現(xiàn)一次狀態(tài)轉(zhuǎn)換就是主軸轉(zhuǎn)過(guò)1°[4]。由旋轉(zhuǎn)編碼器的特性設(shè)計(jì)的CPLD的檢測(cè)系統(tǒng)框圖如圖5所示。

3.3 語(yǔ)音識(shí)別系統(tǒng)設(shè)計(jì)
 語(yǔ)音識(shí)別是使假肢能夠準(zhǔn)確地聽出操作者的語(yǔ)音內(nèi)容,并能準(zhǔn)確完成操作者的命令。本系統(tǒng)只針對(duì)特定人進(jìn)行訓(xùn)練,并且只能對(duì)特定人的語(yǔ)音進(jìn)行識(shí)別。主要由凌陽(yáng)SPCE061A單片機(jī)完成。其系統(tǒng)框圖如圖6所示。

4 實(shí)驗(yàn)結(jié)果分析
 完成以上的軟件和硬件的設(shè)計(jì)后,對(duì)整個(gè)系統(tǒng)進(jìn)行了實(shí)際的控制調(diào)試。在調(diào)試過(guò)程中,各個(gè)關(guān)節(jié)都可以運(yùn)動(dòng)自如,并且每個(gè)按鍵對(duì)應(yīng)的控制都是完全正確的。按鍵在按下的過(guò)程中會(huì)出現(xiàn)抖動(dòng)現(xiàn)象,為此,在程序的設(shè)計(jì)過(guò)程中通過(guò)延時(shí)程序進(jìn)行了消抖。在語(yǔ)音控制模塊中,由于采用的是兩級(jí)命令控制,即如圖3所示控制形式。語(yǔ)音系統(tǒng)經(jīng)過(guò)多次訓(xùn)練,對(duì)特定人的語(yǔ)音識(shí)別率達(dá)到了96%以上,辨識(shí)率很高。但只是針對(duì)特定的人進(jìn)行試驗(yàn)。如果對(duì)其他人的語(yǔ)音信號(hào)進(jìn)行識(shí)別還會(huì)存在誤差,會(huì)出現(xiàn)個(gè)別誤操作。但這種誤差是可以控制的。只要對(duì)特定的人進(jìn)行訓(xùn)練,并由被訓(xùn)練人來(lái)控制設(shè)備,即可以避免由于控制者與語(yǔ)音錄入者不同而給系統(tǒng)帶來(lái)的控制誤差。
    該控制系統(tǒng)最大的特點(diǎn)是可以人為自由地進(jìn)行手動(dòng)控制假肢做相應(yīng)的活動(dòng),或者運(yùn)用佩戴者的語(yǔ)音實(shí)現(xiàn)語(yǔ)音智能化控制假肢做相應(yīng)的運(yùn)動(dòng)。實(shí)現(xiàn)了設(shè)計(jì)方法和控制都簡(jiǎn)單,操作安全、穩(wěn)定的目的。此外,可以給佩戴者設(shè)計(jì)一個(gè)遙控器(前提是針對(duì)只失去一只臂膀的用戶),如果是失去了雙臂膀,則可以在其適當(dāng)?shù)牟课话惭b一個(gè)語(yǔ)音控制裝置,使用語(yǔ)音進(jìn)行控制。
參考文獻(xiàn)
[1] 萬(wàn)光毅,孫九安,蔡建平.SoC單片機(jī)實(shí)驗(yàn)、實(shí)踐與應(yīng)用設(shè)計(jì)—基于C8051F020系列[M].北京:北京航空航天大學(xué)出版社,2006.
[2] 盧勝利.基于凌陽(yáng)SPCE061A設(shè)計(jì)實(shí)驗(yàn)平臺(tái)的專業(yè)綜合設(shè)計(jì)教程[M].北京:機(jī)械工業(yè)出版社,2006.
[3] 李長(zhǎng)有,武學(xué)東.基于C8051F020的SD卡主控制器設(shè)計(jì)[J].微計(jì)算機(jī)信息,2007(9-2):120-122.
[4] 應(yīng)卓瑜,梁堅(jiān),邵亮,等.基于CPLD的辨向細(xì)分電路設(shè)計(jì)[J].傳感技術(shù)學(xué)報(bào),2005,18(1):143-145.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。