鄧 斌, 馬明宇, 王 江, 楊雙鳴
(天津大學 電氣自動化與信息工程學院,天津 300072)
對針刺作用機理的研究是推動針灸學發展的重要內容。然而,長期以來,針灸操作缺乏直觀性、量化性以及可重復性,使得針刺作用的輸入信息具有不確定性。目前,有2種方法能夠定量刻畫針刺手法對于機體的刺激信號:1)專業針灸醫生操作針刺針作用于針刺手法參數測定儀上,該測定儀通過其內部傳感器檢測針刺針的位置變化并記錄[1,2],該方法可靠性高但大幅增加了成本,且無法保證每次的施針手法完全相同,隨機性強;2)建立針刺作用下的神經元模型,通過模型的放電信息估計神經元模型的參數進而估計輸入信息[3],該方式具有一定的理論基礎,但很難對其估計出的真實刺激信息的準確程度進行判斷。雖然針刺手法的量化是針刺作用機理研究的基礎,但目前在該領域仍沒有一種儀器設備能夠準確量化針刺手法并定量執行針刺動作。
本文設計了一種用于執行針刺操作中基本的提插和捻轉手法的機器針刺手,并以TI公司的TMS320F28335系列數字信號處理器[4](digital signal processor,DSP)作為控制器,以及NI公司的LabVIEW開發環境開發上位機軟件[5],設計并實現了針刺手法量化機器手。
針刺手法量化機器手系統總體示意如圖1所示,主要由上位機軟件、控制器及其外圍電路、伺服系統和針刺手機械結構組成。上位機軟件與控制器之間通過串口的方式進行通信,將控制信息發送至控制器。控制器對所接收到的控制信息進行識別、判斷并發送控制信號,控制信號經信號放大后驅動伺服系統帶動針刺手執行針刺動作。

圖1 系統總體示意
為保證針刺量化機器手的動作精確度,本文選用了帶有20 bit高精度編碼器的伺服系統和低螺距誤差的絲杠結構,并對定平臺和動平臺進行了精密的結構設計及加工,針刺手實物如圖2所示,兩臺伺服電機分別執行捻轉動作和提插動作。針刺針固定在動平臺上,由固定在定平臺上的捻轉伺服電機帶動其旋轉以完成捻轉動作,定平臺固定在絲杠上,由提插伺服電機帶動其上下運動以完成提插動作。

圖2 針刺手法量化機器手實物
采用的核心控制器TMS320F28335型DSP的外圍電路包括電源電路、JTAG仿真接口電路、串口驅動電路和信號放大電路。為避免在上電或掉電時28335DSP控制器芯片內核與外部I/O模塊之間產生電流,需采用獨立電源供電結構,且盡量消除內核電源1.9 V與I/O模塊電源3.3 V之間的時間延時。本文采用雙路輸出低壓差電壓調整器TPS767D301芯片作為電源供給模塊。設計的滿足上述供電要求的電源電路,如圖3所示,為針刺手控制系統的核心控制器提供了穩定的電源供給。

圖3 電源及信號放大電路
伺服系統選擇脈沖加方向控制模式,DSP控制器輸出PWM脈沖信號和方向信號。DSP控制器I/O引腳輸出高電平為3.3 V,而伺服系統接收指令信號需5 V,且由于伺服系統精度較高,要求脈沖信號的上升時間以及下降時間均小于100 ns,為此,本文采用高速光耦設計了信號放大電路,如圖3所示。DSP控制器引腳將脈沖/方向發送至光耦模塊,同時DSP控制器輸出信號控制光耦的使能端,實現由光耦模塊引腳輸出滿足要求的PWM波以及方向信號以控制伺服系統的運行。
本文采用串口通信方式進行DSP[6]與上位機之間的通信,選用ePWM1和ePWM2模塊分別產生2路波形互補、頻率可調的PWM信號,以及通用GPIO端口發送方向和使能信號。DSP軟件程序流程包括DSP主程序和中斷服務子程序。主程中,DSP首先對系統進行初始化,并初始化中斷向量,進入等待狀態,直到接收到由上位機發來的指令信號, DSP響應中斷服務子程序,并提取指令信號所攜帶的信息。在中斷服務子程序中,首先保護現場,判斷指令所對應的針刺動作模式,動作模式確定后,根據速度、距離、方向等信息配置捻轉電機和提插電機的脈沖頻率、方向信號等相關參數并使能脈沖輸出,此時機器手便開始執行針刺動作,DSP進入循環等待狀態,直到相應定時器定時時間溢出,DSP清空使能信號,一次針刺動作執行完成,恢復現場,DSP返回至等待接收信號狀態。
實際針灸操作的補瀉手法與作用力的大小具有直接的關系。捻轉操作時,幅度小,頻率高,捻轉限度為1/2轉,頻率在50~60次/min之間為瀉法,捻轉補瀉手法持續的最佳時間為1~3 min;對于提插補瀉手法,急(重)插慢(輕)提3~5次,出針后急按針穴為補法;慢(輕)插急(重)提 3~5次,出針后不按針穴為瀉法,緩慢的均勻提插,出針后揉按針穴為平補平瀉[7, 8]。
根據上述針刺相關參數信息,本文設計了針刺機器手的動作模式,如圖4所示,包括手動調節,手動提、插,自動提插,單向捻轉,雙向捻轉以及捻轉進針和捻轉出針。手動調節的作用時調整針刺針的上下位置,為執行針刺動作做準備,包括向上粗調和微調,向下粗調和微調;手動提與手動插是指機器手根據所配置的距離和速度執行單次提或者插動作;自動提插是機器手根據所設定的插速、提速、提插距離,以及提插動作執行的次數和2次提插動作之間的時間間隔,自動完成1組提插手法針刺動作;單向捻轉是機器手根據所設定速度與周數單方向完成1次捻轉操作;雙向捻轉是機器手根據所設定的左捻周數和右捻周數,左捻速度和右捻速度,以及2次捻轉操作的時間間隔和捻轉的次數自動完成1組捻轉手法針刺動作;捻轉進針和捻轉出針是指機器手根據進針或出針距離、速度和捻轉速度,完成1次邊捻轉邊進針或出針的動作。

圖4 針刺機器手動作模式
所有的動作模式信息表示為長度為16位的字符串指令,以串口的方式發送至DSP控制器。LabVIEW軟件利用串口配置節點設置串口通信的波特率、數據位數、校驗方式、停止位等參數。參數設置好后,打開串口等待動作按鈕按下,將相應動作信息指令發送至DSP控制器。
利用控制界面及伺服監控系統軟件分別測試了針刺手的提插動作、捻轉動作和捻轉進/出針動作。控制界面設定參數與伺服監控軟件的參數對比表明,上位機及控制系統能夠準確將電機動作信息傳遞給伺服系統,且針刺機器手能夠準確根據設定參數模擬提插、捻轉和旋轉進/出針等針刺手法。經過反復實驗,針刺機器手動作準確度穩定。
采用伺服系統位置控制模式保證機器針刺手動作位置準確性的同時,以捻轉手法為例,采集了針刺動作執行過程中針刺針轉速隨角度的變化,如圖5所示。在捻轉補法中,針刺針由0°出發經0.23 s旋轉180°,停留0.02 s,經0.23 s返回至0°,再停留0.02 s,然后進行下一次往返運動,圖5(a)給出了捻轉補法2次往返運動的速度隨角度的變化趨勢;在捻轉瀉法中,針刺針由0°出發經0.396 s旋轉360°,停留0.02 s,經0.396 s返回至0°,再停留0.02 s,然后進行下一次往返運動,圖5(b)給出了捻轉瀉法2次往返運動的速度隨角度的變化趨勢。

圖5 捻轉操作極坐標
可以看出,針刺機器手執行1次針刺動作過程中,除具有一定的加速過程外,其速度分配也較為不均勻。為此,分別對捻轉補法和捻轉瀉法中針刺針1次旋轉過程的速度分布進行統計,如圖6所示。可以發現,捻轉補法1次旋轉過程中,針刺針的轉速主要集中在700°/s~800°/s之間,且仍有較多數據分布在其他區域,而捻轉瀉法則大部分集中在900°/s~1 000°/s范圍。對于針刺針旋轉速度分布的統計有助于進一步量化針刺輸入信息,同時為機器針刺手的進一步控制提供依據。

圖6 捻轉操作速度分布直方圖
本文將伺服控制系統應用于中醫針刺作用機理研究領域,設計了能夠模擬針刺提插與捻轉手法的機器手以及針刺手運動控制系統,并采用DSP控制器實現了對針刺機器手動作模式及參數的控制,完成了對幾種基本針刺手法的模擬與量化。以捻轉手法為例采集了針刺機器手執行針刺動作過程中針刺針旋轉速度參數,并進行了統計分析,為進一步量化針刺輸入信息提供了依據。在當前針刺操作缺乏直觀性、量化性和可重復性的背景下,為針刺作用機理的研究提供了一種能夠定量執行針刺操作的智能化的針刺手。