文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.2017.04.017
中文引用格式: 李葉丹,張建勛,代煜,等. 腹腔鏡持鏡臂運(yùn)動(dòng)控制器的硬件設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2017,43(4):65-68.
英文引用格式: Li Yedan,Zhang Jianxun,Dai Yu,et al. Hardware design and realization of the motion controller of clamping endoscopic mechanical arm[J].Application of Electronic Technique,2017,43(4):65-68.
0 引言
腹腔鏡微創(chuàng)外科技術(shù)興起于20世紀(jì)80年代。有別于開放式的外科手術(shù)方式,利用腹腔鏡微創(chuàng)手術(shù)機(jī)器人進(jìn)行手術(shù)時(shí),只需在患者身體上做一個(gè)很小的切口,用來導(dǎo)入腹腔鏡,醫(yī)生通過控制持鏡臂的精確運(yùn)動(dòng)得到病灶處的視覺信息,從而和其他的手術(shù)器械相互協(xié)調(diào),共同來完成手術(shù)[1]??梢姡?a class="innerlink" href="http://theprogrammingfactory.com/tags/運(yùn)動(dòng)控制器" title="運(yùn)動(dòng)控制器" target="_blank">運(yùn)動(dòng)控制器是整個(gè)腹腔鏡機(jī)器人系統(tǒng)的核心組成部分[2]。
根據(jù)腹腔鏡微創(chuàng)手術(shù)和實(shí)驗(yàn)樣機(jī)的實(shí)際需求,本文采用DSP+CPLD的運(yùn)動(dòng)控制架構(gòu)。該控制器充分發(fā)揮了DSP強(qiáng)大的控制和信號處理能力,以及CPLD的模塊化編程、高速并行處理能力,縮短了開發(fā)的周期,同時(shí)能夠滿足持鏡臂系統(tǒng)所需的實(shí)時(shí)性、穩(wěn)定性以及高精度的要求。
本文所述自主研發(fā)的三自由度腹腔鏡持鏡臂樣機(jī)由兩個(gè)轉(zhuǎn)動(dòng)關(guān)節(jié)和一個(gè)滑動(dòng)關(guān)節(jié)組成。
1 控制器硬件的整體架構(gòu)設(shè)計(jì)
如圖1所示,本文設(shè)計(jì)的控制器采用DSP+CPLD的主控架構(gòu)。DSP主要用于完成持鏡臂的運(yùn)動(dòng)學(xué)計(jì)算和實(shí)時(shí)控制。同時(shí),可通過串口與上位機(jī)進(jìn)行通信,以獲得相關(guān)控制參數(shù)。DSP通過外部存儲器接口(External Memory Interface,EMIF),采用異步總線方式,實(shí)現(xiàn)與CPLD的通信。由于CPLD有著強(qiáng)大的并行處理能力和應(yīng)用的靈活性,因此,用CPLD實(shí)現(xiàn)與外圍設(shè)備的接口,如3個(gè)關(guān)節(jié)電機(jī)驅(qū)動(dòng)電路、碼盤信號采集電路、限位開關(guān)電路、抱閘使能電路以及光電隔離電路。在本文的架構(gòu)中,主控制器采用TI公司的DSP芯片TMS320F28335和Altera公司的CPLD芯片EPM3256ATC144。
2 控制器各模塊設(shè)計(jì)
2.1 DSP模塊
由于持鏡臂運(yùn)動(dòng)學(xué)以及相關(guān)控制算法的計(jì)算量較大,因此控制器選用了TI公司的32位高速浮點(diǎn)型C2000系列處理器TMS320F28335。該處理器集微控制器和高性能DSP的特點(diǎn)于一身,并且增加了浮點(diǎn)運(yùn)算內(nèi)核,能夠?qū)崿F(xiàn)復(fù)雜的控制算法。在處理速度和處理精度方面,有著更高的性價(jià)比,同時(shí)為實(shí)現(xiàn)控制系統(tǒng)的實(shí)時(shí)性和穩(wěn)定性提供了可能[3]。
DSP模塊主要包括:晶振時(shí)鐘電路、電源電路、復(fù)位及看門狗電路、仿真調(diào)試電路JTAG接口以及外部存儲器擴(kuò)展電路。
時(shí)鐘信號采用了30 MHz有源晶振。DSP的主要功能之一是與上位機(jī)進(jìn)行通信,在本控制器中,采用了簡單的串口通信方式[4]??紤]到DSP芯片本身內(nèi)存較小,且為了后續(xù)的功能擴(kuò)展預(yù)留空間,因此需要在DSP外擴(kuò)展存儲器。利用DSP的外部存儲器接口(EMIF)支持,選擇了接口簡單的Flash以及高性能低功耗的SRAM。
最后,在DSP訪問不同外部存儲器時(shí),需要經(jīng)過片選選擇相應(yīng)存儲器。這里選用一款型號為EPM3032的CPLD作為DSP對Flash、SRAM及EPM3256的邏輯片選。將外部Flash作為存儲器映射到DSP中0x180000-0x18ffff的物理地址上,將外部SRAM映射到DSP中0x100000-0x10ffff的物理地址上。
2.2 DSP與CPLD的異步總線通信設(shè)計(jì)
外部存儲器接口(EMIF)是TMS系列DSP對外部存儲器進(jìn)行訪問的一種總線接口。DSP可通過EMIF實(shí)現(xiàn)與不同類型存儲器(SRAM、Flash、RAM)的連接,并且能夠設(shè)定多種接口時(shí)序[5]。在本設(shè)計(jì)中,TMS320F28335的EMIF與CPLD的連接采用了異步設(shè)備接口時(shí)序。將DSP的數(shù)據(jù)總線與CPLD的數(shù)據(jù)總線相連,DSP地址總線與CPLD的地址總線相連;通過設(shè)置DSP上地址線Add19和片選xcs7的邏輯關(guān)系來作為CPLD的片選信號,從而使CPLD的物理地址映射到DSP的0x280000-0x2800ffff的外部存儲器物理地址上,實(shí)現(xiàn)二者的通信。
2.3 CPLD內(nèi)部邏輯功能設(shè)計(jì)
根據(jù)控制器的設(shè)計(jì)需求,CPLD要完成4個(gè)模塊的邏輯:
(1)地址譯碼模塊:通過地址譯碼實(shí)現(xiàn)CPLD內(nèi)部功能模塊的選擇。
(2)電機(jī)控制模塊:根據(jù)DSP的控制命令,產(chǎn)生控制H橋的極性相反的三路PWM(脈沖寬度調(diào)制)波,并對三路PWM波做導(dǎo)通延遲(死區(qū)保護(hù)),以防止電機(jī)驅(qū)動(dòng)器H橋短路。
(3)使能與限位保護(hù)模塊:當(dāng)持鏡臂運(yùn)動(dòng)到極限位置時(shí),關(guān)閉電機(jī)使能,開啟抱閘,保證持鏡臂在安全范圍內(nèi)運(yùn)動(dòng)。
(4)碼盤信號采集模塊:采集電機(jī)碼盤的方波信號,并轉(zhuǎn)換為可以傳輸給DSP的數(shù)字信號。
圖2所示為CPLD內(nèi)部邏輯模塊的功能框圖,且全部采用Verilog HDL語言設(shè)計(jì)。在本設(shè)計(jì)中采用CPLD設(shè)計(jì)可以減少外圍一些邏輯器件的使用數(shù)量,節(jié)省了系統(tǒng)開發(fā)成本;集成化的設(shè)計(jì)更提高了系統(tǒng)的可靠性,并且在設(shè)計(jì)過程中,可以根據(jù)系統(tǒng)的需求不斷對邏輯功能模塊進(jìn)行修改完善,而不需要對其他電路進(jìn)行改動(dòng),大大提高了設(shè)計(jì)的靈活性,降低了開發(fā)周期。
2.3.1 電機(jī)控制信號產(chǎn)生模塊設(shè)計(jì)
本設(shè)計(jì)采用PWM方式來驅(qū)動(dòng)直流電機(jī),它是利用微處理器的數(shù)字輸出來對模擬電路進(jìn)行控制的一種非常有效的技術(shù),廣泛應(yīng)用于電機(jī)控制領(lǐng)域[6]。
直流電機(jī)控制信號產(chǎn)生模塊分為PWMGenerator模塊和DeathTime模塊兩部分。其中,PWMGenerator模塊是根據(jù)DSP發(fā)出的脈沖寬度的占空比和周期,產(chǎn)生兩路極性相反的PWM波形。DeathTime模塊即波形處理模塊,是在兩路極性相反的PWM信號由低到高時(shí)(即上升沿),延遲上升沿時(shí)間,從而避免了后面信號傳輸電路H橋兩個(gè)MOS管同時(shí)導(dǎo)通而引起的短路,達(dá)到了保護(hù)電路的目的。為減少死區(qū)時(shí)間過大對實(shí)際控制電機(jī)的有效電壓的影響,根據(jù)H橋電路設(shè)計(jì)中的數(shù)據(jù),這里選擇160 ns的上升沿延遲時(shí)間。
2.3.2 碼盤信號采集模塊設(shè)計(jì)
本實(shí)驗(yàn)平臺采用了增量式光電碼盤作為持鏡臂的定位裝置。增量式光電編碼器與關(guān)節(jié)電機(jī)同軸連接,當(dāng)電機(jī)轉(zhuǎn)動(dòng),光電編碼器就會輸出3路脈沖信號:A、B、Z。其中脈沖Z用于光電編碼器的調(diào)零或者同步功能,不需要作額外的處理。光電編碼器轉(zhuǎn)動(dòng)方向不同時(shí),脈沖信號A、B輸出的波形也會不同。光電編碼器正轉(zhuǎn)時(shí),A信號超前于B信號90°,反之,光電編碼器反轉(zhuǎn),A信號滯后于B信號90°[7]。將光電編碼器的信號電平變化時(shí)序用有限狀態(tài)機(jī)描述,可以得到一個(gè)具有9個(gè)狀態(tài)的狀態(tài)轉(zhuǎn)換圖,即為有限狀態(tài)機(jī)。
根據(jù)光電編碼器的輸出信號狀態(tài)機(jī),在CPLD中采用Verilog HDL語言設(shè)計(jì)了光電編碼器信號采集模塊。碼盤模塊實(shí)時(shí)檢測光電編碼器的A、B相的輸入。電機(jī)正轉(zhuǎn)時(shí)碼盤值不斷累加,反轉(zhuǎn)時(shí)碼盤值累減,DSP通過地址譯碼可以讀取到CPLD內(nèi)部存儲碼盤值寄存器,從而得到相應(yīng)的光電編碼器的計(jì)數(shù)值。對碼盤采集模塊單獨(dú)仿真,得到的邏輯仿真結(jié)果如圖3所示。count_data是CPLD內(nèi)部存儲碼盤值的變量,給定A相(pule_a)、B相(pule_b)相應(yīng)的波形,碼盤計(jì)數(shù)值在逐漸增大,可知仿真結(jié)果是符合設(shè)計(jì)時(shí)序要求的。
2.4 信號傳輸電路設(shè)計(jì)
硬件電路設(shè)計(jì)中,信號的穩(wěn)定性和抗電磁干擾性設(shè)計(jì)要求始終貫穿著整個(gè)設(shè)計(jì)過程。特別涉及到高頻和模擬信號時(shí),在信號傳輸方面更應(yīng)該特別注意。在本文運(yùn)動(dòng)控制器硬件設(shè)計(jì)中,對信號傳輸穩(wěn)定性考慮主要有以下幾個(gè)方面:
(1)CPLD向電機(jī)驅(qū)動(dòng)電路傳輸PWM波過程中間添加了Buffer電平轉(zhuǎn)換芯片,增加驅(qū)動(dòng)能力,提高了電壓轉(zhuǎn)換的效率。
(2)光電耦合電路隔絕了數(shù)字電路和模擬電路,讓信號的傳輸具有良好的電絕緣能力和抗干擾能力,杜絕了電機(jī)轉(zhuǎn)動(dòng)時(shí)產(chǎn)生的噪聲經(jīng)過信號傳輸電路干擾數(shù)字電路。又由于光耦合器的輸入端屬于電流型工作的低阻元件,因而具有很強(qiáng)的共模抑制能力。
(3)傳輸信號過程中非門的作用:實(shí)現(xiàn)邏輯轉(zhuǎn)換,消除電機(jī)和MOS管傳來的噪聲,提高了信號傳輸?shù)尿?qū)動(dòng)能力。
3 各關(guān)節(jié)軌跡跟蹤實(shí)驗(yàn)
運(yùn)動(dòng)控制器測試程序流程圖如圖4所示。
設(shè)定第一關(guān)節(jié)的初始角度為90°,第二關(guān)節(jié)的初始角度為45°,第三關(guān)節(jié)的初始長度為10 cm,實(shí)現(xiàn)腹腔鏡持鏡臂末端沿病灶上面水平面直線以2 cm/s的速度進(jìn)行掃描。將實(shí)際各關(guān)節(jié)運(yùn)動(dòng)軌跡與理想軌跡進(jìn)行對比,可得圖5所示實(shí)驗(yàn)效果圖。
由實(shí)驗(yàn)結(jié)果可知,各關(guān)節(jié)軌跡跟蹤效果比較理想,實(shí)際位置與理想位置偏差較小。由此,本文設(shè)計(jì)的運(yùn)動(dòng)控制器各功能模塊工作正常,且能夠滿足腹腔鏡持鏡臂實(shí)時(shí)控制的需求。
4 結(jié)語
本文針對腹腔鏡微創(chuàng)手術(shù)的實(shí)際需求,在自主研發(fā)的腹腔鏡持鏡臂基礎(chǔ)上,針對操作手臂控制方式,設(shè)計(jì)和實(shí)現(xiàn)了基于DSP加CPLD平臺的硬件系統(tǒng)。著重介紹了系統(tǒng)的整體架構(gòu),以及DSP模塊和CPLD內(nèi)部各模塊的設(shè)計(jì)。采用模塊化的設(shè)計(jì),方便系統(tǒng)的調(diào)試和升級,同時(shí)對控制系統(tǒng)的可靠性也進(jìn)行了充分的考慮。經(jīng)實(shí)驗(yàn)證明,本系統(tǒng)可滿足運(yùn)動(dòng)控制器實(shí)時(shí)性與穩(wěn)定性的要求。
參考文獻(xiàn)
[1] CLEARY K.Medical robots and the operating room of the future[C].Proceedings of the 2005 IEEE Engineering in Medicine and Biology 27th Annual Conference,Shanghai,China,2005.IEEE Computer Society,2005,7(7):7250-7253.
[2] 馮美.腹腔微創(chuàng)手術(shù)機(jī)器人系統(tǒng)關(guān)鍵技術(shù)研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2012.
[3] 鞠浩.腹腔鏡微創(chuàng)外科手術(shù)機(jī)器人控制系統(tǒng)研究[D].天津:南開大學(xué),2009.
[4] Texas Instruments.TMS320x28lx,280x DSP peripheral reference guide(Rev.B)[S].2004.
[5] 江燦輝,孫希延,嚴(yán)素清,等.基于DSP和FPGA的衛(wèi)星信號模擬器設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2016,42(9):51-54.
[6] 崔玉娟,呂運(yùn)朋,李超.CPLD實(shí)現(xiàn)直流伺服電機(jī)PWM發(fā)生器[J].電測與儀表,2010,47(3):73-76.
[7] 姜義.光電編碼器的原理與應(yīng)用[J].傳感器世界,2010,37(2):16-22.
作者信息:
李葉丹1,2,張建勛1,2,代 煜1,2,曹 剛1,2,尚 翰1,2,張 繞1,2
(1.南開大學(xué) 計(jì)算機(jī)與控制工程學(xué)院,天津300350;2.天津市智能機(jī)器人技術(shù)重點(diǎn)實(shí)驗(yàn)室,天津300350)