陳小虎, 劉新華, 陳佩佩, 鄭顯華
(1.中國礦業(yè)大學 機電工程學院, 江蘇 徐州 221116;2.常州市潤源經編運用工程技術研究中心, 江蘇 常州 213161)
PC與仿形機械手的串口通信實現(xiàn)*
陳小虎1, 劉新華1, 陳佩佩2, 鄭顯華1
(1.中國礦業(yè)大學 機電工程學院, 江蘇 徐州 221116;2.常州市潤源經編運用工程技術研究中心, 江蘇 常州 213161)
針對基于DSP的仿形機械手通信問題,提出了基于LabVIEW的串行通信方案。設計了RS232串行通信接口電路,編寫了仿形機械手的數(shù)據(jù)發(fā)送和接收程序。通過LabVIEW平臺開發(fā)了上位機軟件,利用其VISA技術實現(xiàn)了PC與仿形機械手的串口通信。最后在仿形機械手控制系統(tǒng)中,測試了系統(tǒng)串行通信的可行性;實驗表明,所開發(fā)的通信系統(tǒng)人機界面友好,操作簡單,具有數(shù)據(jù)傳輸及交換、命令控制等功能。
仿形機械手; LabVIEW; 串口通信; 數(shù)字信號處理器
當今社會,機器人技術為工業(yè)生產、農業(yè)、軍事、航天等領域做出了巨大貢獻,圍繞仿形機械手的研究也日益受到各國學者的關注和重視[1-2]。同時伴隨著虛擬儀器和自動化控制技術的發(fā)展,一種基于圖形化編程語言(G語言)的LabVIEW軟件和DSP技術在現(xiàn)代工業(yè)技術中也得到了廣泛的應用[3-4]。串行通信是工業(yè)和科研上常用的通信方式之一,眾多學者對其做了大量研究。喻少林等[5]通過采用FPGA技術實現(xiàn)了多路串行通信,并成功應用于飛控計算機。戴鵬等[6]通過異步串行通信設計和LabVIEW軟件解決了電力傳動控制系統(tǒng)數(shù)字變量不易觀察的問題。
本文針對仿形機械手通訊問題,采用MAX3232CSE芯片實現(xiàn)仿形機械手與PC的遠距離通信。仿形機械手總體結構如圖1所示。指令在上位機發(fā)出,由PC處理轉化成可傳輸?shù)臄?shù)據(jù),數(shù)據(jù)通過串口線傳輸?shù)椒滦螜C械手,然后主控芯片TMS320F2812(以下稱2812)處理輸出相應占空比的PWM波到手指電機,最終五個手指做出理想的動作。
圖1 系統(tǒng)總體結構
1.1 串行通信硬件電路
SCI串行總線接口電路主要由Maxim公司的MAX3232CSE芯片和少量外圍元件組成,電路如圖2所示。在電氣特性上RS232采用負邏輯,且高低信號間需要較大的幅度,標準通常采用-10V左右為邏輯1,+10V左右為邏輯0。但2812輸入輸出邏輯1為+3.3V,邏輯0為0.3V左右,因此需要MAX3232CSE來實現(xiàn)COMS電平到RS232電平轉換[7]。SCIRXDA 和SCITXDA分別接2812SCI串行通信模塊的輸入輸出,RXD和TXD接外部RS-232-C接口。利用串口通信總線可以進行基于2812的無刷直流電機控制系統(tǒng)與上位機之間的異步數(shù)據(jù)通信,實現(xiàn)上位機對工作現(xiàn)場的監(jiān)控。
圖2 串口接口電路
1.2 仿形機械手軟件實現(xiàn)
仿形機械手主控芯片為2812,其軟件部分主要完成數(shù)據(jù)的發(fā)送和指令的接收[8],發(fā)送采用查詢方式,流程如圖3(左),接收采用中斷方式,流程如圖3(右)。為保證數(shù)據(jù)的完整性,2812自帶的SCI模塊對收到的數(shù)據(jù)間斷檢測和奇偶、超時和數(shù)據(jù)幀錯誤檢測。通過對波特率寄存器和通信控制寄存器設置,即可設置通信中數(shù)據(jù)格式。需要注意的是:上位機與下位機的數(shù)據(jù)格式要統(tǒng)一。還需有系統(tǒng)初始化、I/O口的初始化等。初始化程序如下[9]:
InitSysCtrl();//初始化系統(tǒng)
DINT; //關中斷
IER = 0x0000;
IFR = 0x0000;
InitPieCtrl();//初始化PIE中斷
InitPieVectTable();//初始化PIE中斷矢量表
InitSci();//Initialize SCI-A
…
for(i = 0; i < 100; i++)//初始化變量
{
...
SCiRxData[i] = 0x0000;
…
}
圖3 數(shù)據(jù)流程圖
限于篇幅要求,在此只給出初始化SCIA寄存器程序(InitSci()),程序如下:
void InitSci(void)
{
EALLOW;
GpioMuxRegs.GPFMUX.all = 0x0030;
EDIS;
SciaRegs.SCICCR.all = 0x07; // 1 bit stop, disable parity, idle mode, 8 bits data
SciaRegs.SCICTL1.all = 0x03; // enable receive /transmit
SciaRegs.SCICTL2.all = 0x03; //enable RXRDY/TXRDY interrupt
SciaRegs.SCIHBAUD = 0x00; //data transfer rate 19200
SciaRegs.SCILBAUD = 0xF3;
SciaRegs.SCICTL1.all = 0x23;
PieCtrl.PIEIER9.bit.INTx1 = 1;
PieCtrl.PIEIER9.bit.INTx2 = 1;
}
2.1 串口數(shù)據(jù)發(fā)送模塊
上位機以LabVIEW為平臺的串口通信,對串口初始化后就可對其進行讀寫操作了。在通信過程中,指令以字符串的格式組成,所以指令在發(fā)送之前需將字符串轉化為對應計算機能識別的ASCⅡ代碼,這由VISA Write函數(shù)實現(xiàn)[10-11]。上位機完成對下位機發(fā)送握拳,OK等指令,下位機接到指令做出相應動作。在VISA資源控件選擇通信口,將字符串指令寫入VISA Write緩沖區(qū)即可完成數(shù)據(jù)的發(fā)送,數(shù)據(jù)格式設置程序和指令發(fā)送部分程序如圖4所示。
圖4 數(shù)據(jù)發(fā)送程序
2.2 串口數(shù)據(jù)接收模塊
仿形機械手接收指令后作出相應動作,并在設定的等待時間(擬60s)后,自動恢復初始設置,并返回數(shù)據(jù)0。數(shù)據(jù)經VISA串口字節(jié)數(shù)函數(shù)和VISA Read函數(shù)讀取并由人機交互界面指示燈顯示返回的信息,程序如圖5所示。
圖5 數(shù)據(jù)接收程序
人機交互界面,包括端口參數(shù)設置界面、通訊測試界面、單指運動界面、手勢界面和系統(tǒng)退出界面。使用上述系統(tǒng)進行試驗,在端口設置窗口設置數(shù)據(jù)格式為:8位數(shù)據(jù)位,1位停止位,數(shù)據(jù)傳輸率19200,無奇偶校驗。在通訊測試窗口發(fā)送16進制數(shù)據(jù)ABCD,通過與返回數(shù)據(jù)對比,上位機顯示通訊狀態(tài)正常,結果如圖6所示。
在手勢界面點擊“手勢開始”按鈕,同時顯示運行時間,發(fā)送手勢指令(如指令1握拳),同時相應的指示燈亮。2812接收到數(shù)據(jù),并分析處理后,由事件管理器產生一定占空比的PWM波。由A/D轉換器采集引腳PWM1上的PWM信號,并發(fā)送給上位機,然后分析、顯示。由圖7所示的周期為1ms,占空比為70%,幅值為3.3的PWM信號。經過分析,顯示的波形真實完全還原了預期的信號。由此證明了所提出的方案簡單可行。將該方案應用于仿形機械手,經過調試,仿形機械手按照既定的指令動作,系統(tǒng)穩(wěn)定性良好。
圖6 串口通訊狀態(tài)測試
圖7 手勢控制界面
該體統(tǒng)上位機軟件部分采用美國NI公司的虛擬儀器開發(fā)軟件LabVIEW 9.0進行開發(fā),編寫了端口設置程序、相應手勢控制程序等,設計了簡單易于控制的控制面板,實現(xiàn)了PC與仿形機械手的數(shù)據(jù)通信。實踐證明,由于RS-232共模抑制能力差,再加上雙絞線上的分布電容,此方案只適用于本地設備的數(shù)據(jù)發(fā)送與接收。但與傳統(tǒng)方案相比,該方案操作簡單、界面友好,硬件電路簡單,具有良好的可移植性與擴展性,可滿足不同用戶要求。
[1] 姜杉, 楊志永, 李佳. 醫(yī)用機器人研究、應用與發(fā)展 [J]. 機床與液壓, 2005(5):1-5.
[2] 王鵬, 李鑫, 江文浩. 地震搜救機器人構型設計綜述 [J]. 哈爾濱理工大學學報, 2012, 17(1):15-19.
[3] 蔡共宣, 朱紅瑜.基于LabVIEW的虛擬實驗系統(tǒng)研究[J]. 電子測量技術, 2008, 31(7):83-86.
[4] 任先文, 王坤, 余志飛.基于DSP的三相電壓型整流器 [J]. 電力自動化設備, 2010, 30(3):116-120.
[5] 喻少林, 韓 波, 李 平. 基于 FPGA 的飛控計算機多路串行通信設計 [J]. 計算機工程, 2011, 37(20):242-245.
[6] 戴鵬, 劉劍, 符曉, 等. 基于TMS320F2812與Lab VIEW的串口通信 [J]. 計算機工程, 2009, 35(4):94-96.
[7] 李江全, 劉恩博, 胡蓉,等. LabVIEW虛擬儀器數(shù)據(jù)采集與串口通信測控應用實戰(zhàn) [M]. 北京:人民郵電出版社, 2010.
[8] 王子瑞, 孫敬敬, 王林. 基于LabVIEW虛擬儀器的雙通道信號采集與分析系統(tǒng)設計 [J]. 機電工程技術, 2011, 40(8):42-45.
[9] 嚴偉, 龔幼民. 數(shù)字信號處理器綜合測試方案 [J]. 上海大學學報(自然科學版), 2005, 11(2):133-138.
[10]YAN Jie, LIU Rong,et al. LabVIEW-based auto-timing counts virtual instrument system with ORTEC 974 Counter/Timer [J]. Nuclear Science and Techniques, 2009, 20(5):307-311.
[11]俎云霄, 曾昶暢. 基于Lab VIEW的“信號與系統(tǒng)”仿真實驗系統(tǒng)設計 [J]. 現(xiàn)代教育技術, 2009, 19(11):141-144.
(編輯 李秀敏)
The Study of Serial Communication between PC and Profiling Manipulator
CHEN Xiao-hu1, LIU Xin-hua1, CHEN Pei-pei2, ZHENG Xian-hua1
(1. College of Mechanical and Electronic Engineer, China University of Mining and Technology, Xuzhou Jiangsu 221116, China;2. Changzhou Runyuan Warp Knitting Applying Engineer Technology Research CO.Ltd., Changzhou Jiangsu 213161, China)
A design scheme of serial communication is put forward aiming at the problem of communication between PC and profiling manipulator. The hardware circuit of serial communication is designed, the data sending and receiving programs of the profiling manipulator is compiled. The upper computer software of serial communication of the manipulator is achieved based on the VISA technology of LabVIEW. Finally, the feasibility of serial communication system is tested in the copying manipulator controlling system. The experiments show that the communication system has a friendly man-machine interface and is simple to operate, it possesses functions of data transmission and exchange, command control, etc.
profiling manipulator; LabVIEW; the serial communication; DSP
1001-2265(2014)07-0094-03
10.13462/j.cnki.mmtamt.2014.07.026
2013-11-13;
2013-12-20
國家自然科學基金資助項目(51005231);中國博士后科學基金資助項目(20100471408)
陳小虎(1987—),男,河北邯鄲人,中國礦業(yè)大學碩士研究生,研究方向為數(shù)控系統(tǒng)分析與研究,(E-mail)cxiaohu503@163.com。
TH166;TG65
A