趙志坤1,伍春2,黃玉清1,張巖2,余恒松2
?。?. 西南科技大學(xué) 信息工程學(xué)院,四川 綿陽 621000;2.西南科技大學(xué) 國防科技學(xué)院,四川 綿陽 621000)
摘要:用Microsoft Visual C++ 6.0編輯界面程序,設(shè)計一種基于絕對位置的電機控制系統(tǒng)。設(shè)置驅(qū)動器、運動控制卡中的參數(shù),調(diào)用運動控制卡中的庫函數(shù),使用脈沖串加符號控制伺服電機的轉(zhuǎn)速與轉(zhuǎn)向。使用RS422接口電纜配合控制卡保證斷電又上電后伺服電機的原點回歸。
關(guān)鍵詞:伺服電機;運動控制卡;RS422
中圖分類號:TP273+.5文獻標識碼:ADOI: 10.19358/j.issn.1674-7720.2017.05.006
引用格式:趙志坤,伍春,黃玉清,等.一種基于控制卡和RS422接口電纜的電機控制系統(tǒng)[J].微型機與應(yīng)用,2017,36(5):18-20.
0引言
*基金項目:中國兵器工業(yè)集團項目隨著工控機的普及,以運動控制卡為核心的伺服電機控制系統(tǒng)使用得越來越多,也必將成為伺服運動控制系統(tǒng)的主要發(fā)展趨勢[1]。運動控制卡的主要作用是控制驅(qū)動器而不是直接的電機, 一般有脈沖和模擬量兩種控制方式。脈沖控制即為驅(qū)動器工作在位置環(huán),脈沖的多少代表運動的長度,頻率表示速度;模擬量控制是驅(qū)動器工作在速度環(huán)或者電流環(huán),模擬量的大小對應(yīng)電機的編碼器反饋的速度與位置。目前國內(nèi)通常采用運動控制卡的回零方式,通常要輔助近接開關(guān)或伺服電機的Z相信號,并未對絕對位置伺服系統(tǒng)斷電記憶功能進行很好的利用。本文采用研華PCI1245L運動控制卡利用三菱J3伺服放大器和RS422串行通信功能實現(xiàn)伺服系統(tǒng)運行、停止、斷電后上電高精度回歸原點等功能。
1運動控制卡的介紹
PCI-1245L 是 4 軸的 SoftMotion PCI 總線控制器卡,專為各種電機自動化廣泛應(yīng)用設(shè)計。板卡配有高性能 FPGA,其中包括 SoftMotion 算法,能夠?qū)崿F(xiàn)運動軌跡和時間控制,以滿足精確運動中的同步應(yīng)用需求。PCI-1245L 支持以下 SoftMotion 特性:手輪及 MPG 控制、可編程的加速度和減速度,T&S 形速度曲線及 2 軸線性插補和同步起停等功能。所有研華運動控制器均采用 Common Motion API 架構(gòu),采用統(tǒng)一的用戶編程接口。程序員無需大規(guī)模修改應(yīng)用碼即可集成任何研華 SoftMotion 運動控制器[2]。
2系統(tǒng)硬件組成及平臺搭建
將自制的RS-422串行通信電纜連接安裝有UT713PCI的轉(zhuǎn)換卡的工控機422接口與伺服驅(qū)動器的RJ45接口。伺服放大器使用三菱公司的J3系列產(chǎn)品,伺服電機選用中等功率的HFSP152型號電機,J3系列伺服電機采用了分辨率為262 144脈沖/轉(zhuǎn)的絕對位置編碼器,可以進行高精度的位置控制,伺服放大器只需安裝電池就可以構(gòu)成絕對位置檢測系統(tǒng)從而實現(xiàn)精確定位。伺服放大器在主電路電源側(cè)接線為三相220 V交流電。接地時要將伺服電機的保護接地(PE)接至伺服放大器的保護接地(PE)端子上,再將伺服放大器的地線經(jīng)過控制柜的保護地端子接地,控制電路電源L和主電路電源同時接通或比主電路電源先接通。伺服放大器在主電路電源接通約1~2 s后便可接收伺服開啟信號(SON),約20 ms后準備完畢信號(RD)將變?yōu)镺N,伺服放大器處于可運行狀態(tài)。伺服放大器是通過控制功率晶體管的通斷來給電機供電。根據(jù)接線方式和地線的布線方法的不同,有時可能會受到伺服放大器晶體管的通斷產(chǎn)生的噪聲的影響。EMC濾波器可有效防止這種情況的發(fā)生并可降低高頻諧波的輻射干擾。
伺服驅(qū)動器與伺服電機通過電機編碼器電纜線和動力線實現(xiàn)連接[3]。編碼器電纜線連接伺服驅(qū)動器的CN2接口,電機動力線一端為伺服驅(qū)動器接口,另一端為電機電源插頭(MRPWCNS4)。伺服驅(qū)動器編碼器電纜線和動力線直接與伺服電機連接,伺服驅(qū)動器輸入輸出接口用DC24 V±10% 、300 mA電源供電并由外部提供。伺服驅(qū)動器輸入輸出信號線通過中轉(zhuǎn)板ADAM3955實現(xiàn)與運動控制卡連接及電源供電,運行時,緊急停止信號(EMG),正轉(zhuǎn)/反轉(zhuǎn)行程末端 (LSP/LSN)必須為ON。伺服開啟與關(guān)閉、運動停止、異常報警等都有具體指示燈顯示[4]。伺服電機及放大器外圍設(shè)備具體連接框圖如圖1所示?!?/p>
3系統(tǒng)的軟件介紹
基于PC+運動控制卡數(shù)控系統(tǒng)滿足標準化、柔性化與開放性的要求,使得它的開發(fā)和使用備受青睞。使用VC++6. 0 MFC應(yīng)用程序,利用研華PCI1245L運動控制卡開發(fā),實現(xiàn)伺服電機正反轉(zhuǎn)、原點復(fù)位功能、分度操作、指令操作等功能[5]。其控制系統(tǒng)流程圖如圖2所示。
(1)打開串口,并進行數(shù)據(jù)處理
if (m_com.GetCommEvent() == 2)
{variant_inp = m_com.GetInput();//讀緩沖區(qū)
safearray_inp = variant_inp;
len = safearray_inp.GetOneDimSize();
if ( (rxdata[0] == 2) && (rxdata[1] == 48))
{for (k=0; k<len; k++)
{ safearray_inp.GetElement(&k,rxdata+k);
rxArray.Add(rxdata[k]);
unsigned char bt=*(char*)(rxdata+k);
if (rxdata[k]<58)
rxdata[k]=(rxdata[k]-48);
else
rxdata[k]=(rxdata[k]-55);}
plus=(rxdata[3]*pow(16,7)+rxdata[4]*pow(16,6)+rxdata[5]*pow(16,5)+rxdata[6]*pow(16,4)+rxdata[7]*pow(16,3)+rxdata[8]*pow(16,2)+rxdata[9]*pow(16,1)+rxdata[10]*pow(16,0)); }//獲取斷電后上電返回信息
(2)打開板卡,獲取軸號,伺服開
Acm_DevOpen(m_dwDevNum,&m_Devhand); buffLen=sizeof(AxisPerDev);
Acm_GetProperty(m_Devhand,FT_DevAxesCount,&AxisPerDev,&buffLen);//獲取板卡號
AxisNumber=AxisPerDev;
buffLen=sizeof(slaveDevs);
ZeroMemory(slaveDevs,sizeof(slaveDevs));
Acm_GetProperty(m_Devhand,CFG_DevSlaveDevs,slaveDevs,&buffLen);//獲取軸號,支持4軸
Acm_AxOpen(m_Devhand,(USHORT)AxisNumber, &m_Axishand[AxisNumber]);//打開指定軸
Acm_AxSetSvOn(m_Axishand[AxisNum],0);
?。?)參數(shù)設(shè)置及運動示例
Acm_SetU32Property(m_Axishand[AxisNumber],CFG_AxPulseOutMode,1);//設(shè)置脈沖輸出方式
Acm_SetU32Property(m_Devhand,CFG_DevEmgLogic,1); //設(shè)置急停電平
Acm_AxMoveRel(m_Axishand[m_CurAxis],1000); Acm_AxGetActualPosition(m_Axishand[m_CurAxis],&CurPos[m_CurAxis]);
strTemp.Format("%.2f",CurPos[m_CurAxis]/1000);
?。?)意外斷電上電后原點復(fù)位
Acm_AxSetCmdPosition(m_Axishand[m_CurAxis],Position);
Acm_AxMoveAbs(m_Axishand[m_CurAxis], -plus);
Acm_AxSetActualPosition(m_Axishand[m_CurAxis],0);//電機回歸電氣原點后運動控制卡脈沖置零
4結(jié)論
利用伺服放大器串行通信功能和運動控制卡實現(xiàn)伺服系統(tǒng)運行、停止,斷電后上電所得到反饋位置信息與伺服測試控制平臺軟件上的信息一致,當打開伺服測試控制平臺軟件后會自動檢查電機是否在原點位置,若通過RS422電纜與驅(qū)動器通信返回信息確認電機不在絕對位置零點,將彈出如圖3所示的執(zhí)行回歸原點提示,原點回歸后的實際運行界面如圖4所示,可觀察到返回的電機位置信息已處于零點。
此外,使用三菱公司提供的串口調(diào)試軟件也可進行輔助實驗,利用 MR Configurator串口通信軟件反饋的絕對位置信息也與伺服測試控制平臺軟件一致,MR Configurator串口通信軟件原點回歸后界面如圖5所示,電機以1∶90的總減速比帶動直徑210 mm的分度盤時多次原點回歸實驗反饋接收到的命令脈沖均為0。分度盤轉(zhuǎn)動一度將反饋65 320個絕對位置脈沖數(shù),執(zhí)行原點回歸時絕對位置反饋脈沖數(shù)為13個,即重復(fù)誤差精度經(jīng)換算為0.7″,多次執(zhí)行原點回歸運動反饋絕對位置脈沖數(shù),經(jīng)換算重復(fù)誤差精度均小于4″。所以以運動控制卡和RS422通信電纜為核心的伺服控制系統(tǒng)具備很好的高精度定位、斷電記憶功能。
參考文獻
?。?] 姜榮.一種基于運動控制卡的伺服電機控制系統(tǒng)[J].機電產(chǎn)品開發(fā)與創(chuàng)新,2006,19(3):113-114.
[2] 研華股份有限公司.PCI-1245L 運動控制卡使用手冊[Z].2012.
?。?] 陳宇曉.電容式微機械靜電伺服加速度計系統(tǒng)分析[D].成都:電子科技大學(xué),2003.
?。?] 三菱電機.三菱MRJ3驅(qū)動器使用手冊[Z].2014.
?。?] 孫鑫.VC++深入詳解[M]. 北京:電子工業(yè)出版,2012.