《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 一種基于控制卡和RS422接口電纜的電機(jī)控制系統(tǒng)
一種基于控制卡和RS422接口電纜的電機(jī)控制系統(tǒng)
2017年微型機(jī)與應(yīng)用第5期
趙志坤1,伍春2,黃玉清1,張巖2,余恒松2
1. 西南科技大學(xué) 信息工程學(xué)院,四川 綿陽(yáng) 621000;2.西南科技大學(xué) 國(guó)防科技學(xué)院,四川 綿陽(yáng) 621000
摘要: 用Microsoft Visual C++ 6.0編輯界面程序,設(shè)計(jì)一種基于絕對(duì)位置的電機(jī)控制系統(tǒng)。設(shè)置驅(qū)動(dòng)器、運(yùn)動(dòng)控制卡中的參數(shù),調(diào)用運(yùn)動(dòng)控制卡中的庫(kù)函數(shù),使用脈沖串加符號(hào)控制伺服電機(jī)的轉(zhuǎn)速與轉(zhuǎn)向。使用RS422接口電纜配合控制卡保證斷電又上電后伺服電機(jī)的原點(diǎn)回歸。
Abstract:
Key words :

  趙志坤1,伍春2,黃玉清1,張巖2,余恒松2

  (1. 西南科技大學(xué) 信息工程學(xué)院,四川 綿陽(yáng) 621000;2.西南科技大學(xué) 國(guó)防科技學(xué)院,四川 綿陽(yáng) 621000)

     摘要:用Microsoft Visual C++ 6.0編輯界面程序,設(shè)計(jì)一種基于絕對(duì)位置的電機(jī)控制系統(tǒng)。設(shè)置驅(qū)動(dòng)器、運(yùn)動(dòng)控制卡中的參數(shù),調(diào)用運(yùn)動(dòng)控制卡中的庫(kù)函數(shù),使用脈沖串加符號(hào)控制伺服電機(jī)的轉(zhuǎn)速與轉(zhuǎn)向。使用RS422接口電纜配合控制卡保證斷電又上電后伺服電機(jī)的原點(diǎn)回歸。

  關(guān)鍵詞:伺服電機(jī);運(yùn)動(dòng)控制卡;RS422

  中圖分類號(hào):TP273+.5文獻(xiàn)標(biāo)識(shí)碼:ADOI: 10.19358/j.issn.1674-7720.2017.05.006

  引用格式:趙志坤,伍春,黃玉清,等.一種基于控制卡和RS422接口電纜的電機(jī)控制系統(tǒng)[J].微型機(jī)與應(yīng)用,2017,36(5):18-20.

0引言

  *基金項(xiàng)目:中國(guó)兵器工業(yè)集團(tuán)項(xiàng)目隨著工控機(jī)的普及,以運(yùn)動(dòng)控制卡為核心的伺服電機(jī)控制系統(tǒng)使用得越來(lái)越多,也必將成為伺服運(yùn)動(dòng)控制系統(tǒng)的主要發(fā)展趨勢(shì)[1]。運(yùn)動(dòng)控制卡的主要作用是控制驅(qū)動(dòng)器而不是直接的電機(jī), 一般有脈沖和模擬量?jī)煞N控制方式。脈沖控制即為驅(qū)動(dòng)器工作在位置環(huán),脈沖的多少代表運(yùn)動(dòng)的長(zhǎng)度,頻率表示速度;模擬量控制是驅(qū)動(dòng)器工作在速度環(huán)或者電流環(huán),模擬量的大小對(duì)應(yīng)電機(jī)的編碼器反饋的速度與位置。目前國(guó)內(nèi)通常采用運(yùn)動(dòng)控制卡的回零方式,通常要輔助近接開關(guān)或伺服電機(jī)的Z相信號(hào),并未對(duì)絕對(duì)位置伺服系統(tǒng)斷電記憶功能進(jìn)行很好的利用。本文采用研華PCI1245L運(yùn)動(dòng)控制卡利用三菱J3伺服放大器和RS422串行通信功能實(shí)現(xiàn)伺服系統(tǒng)運(yùn)行、停止、斷電后上電高精度回歸原點(diǎn)等功能。

1運(yùn)動(dòng)控制卡的介紹

  PCI-1245L 是 4 軸的 SoftMotion PCI 總線控制器卡,專為各種電機(jī)自動(dòng)化廣泛應(yīng)用設(shè)計(jì)。板卡配有高性能 FPGA,其中包括 SoftMotion 算法,能夠?qū)崿F(xiàn)運(yùn)動(dòng)軌跡和時(shí)間控制,以滿足精確運(yùn)動(dòng)中的同步應(yīng)用需求。PCI-1245L 支持以下 SoftMotion 特性:手輪及 MPG 控制、可編程的加速度和減速度,T&S 形速度曲線及 2 軸線性插補(bǔ)和同步起停等功能。所有研華運(yùn)動(dòng)控制器均采用 Common Motion API 架構(gòu),采用統(tǒng)一的用戶編程接口。程序員無(wú)需大規(guī)模修改應(yīng)用碼即可集成任何研華 SoftMotion 運(yùn)動(dòng)控制器[2]。

2系統(tǒng)硬件組成及平臺(tái)搭建

  將自制的RS-422串行通信電纜連接安裝有UT713PCI的轉(zhuǎn)換卡的工控機(jī)422接口與伺服驅(qū)動(dòng)器的RJ45接口。伺服放大器使用三菱公司的J3系列產(chǎn)品,伺服電機(jī)選用中等功率的HFSP152型號(hào)電機(jī),J3系列伺服電機(jī)采用了分辨率為262 144脈沖/轉(zhuǎn)的絕對(duì)位置編碼器,可以進(jìn)行高精度的位置控制,伺服放大器只需安裝電池就可以構(gòu)成絕對(duì)位置檢測(cè)系統(tǒng)從而實(shí)現(xiàn)精確定位。伺服放大器在主電路電源側(cè)接線為三相220 V交流電。接地時(shí)要將伺服電機(jī)的保護(hù)接地(PE)接至伺服放大器的保護(hù)接地(PE)端子上,再將伺服放大器的地線經(jīng)過(guò)控制柜的保護(hù)地端子接地,控制電路電源L和主電路電源同時(shí)接通或比主電路電源先接通。伺服放大器在主電路電源接通約1~2 s后便可接收伺服開啟信號(hào)(SON),約20 ms后準(zhǔn)備完畢信號(hào)(RD)將變?yōu)镺N,伺服放大器處于可運(yùn)行狀態(tài)。伺服放大器是通過(guò)控制功率晶體管的通斷來(lái)給電機(jī)供電。根據(jù)接線方式和地線的布線方法的不同,有時(shí)可能會(huì)受到伺服放大器晶體管的通斷產(chǎn)生的噪聲的影響。EMC濾波器可有效防止這種情況的發(fā)生并可降低高頻諧波的輻射干擾。

  伺服驅(qū)動(dòng)器與伺服電機(jī)通過(guò)電機(jī)編碼器電纜線和動(dòng)力線實(shí)現(xiàn)連接[3]。編碼器電纜線連接伺服驅(qū)動(dòng)器的CN2接口,電機(jī)動(dòng)力線一端為伺服驅(qū)動(dòng)器接口,另一端為電機(jī)電源插頭(MRPWCNS4)。伺服驅(qū)動(dòng)器編碼器電纜線和動(dòng)力線直接與伺服電機(jī)連接,伺服驅(qū)動(dòng)器輸入輸出接口用DC24 V±10% 、300 mA電源供電并由外部提供。伺服驅(qū)動(dòng)器輸入輸出信號(hào)線通過(guò)中轉(zhuǎn)板ADAM3955實(shí)現(xiàn)與運(yùn)動(dòng)控制卡連接及電源供電,運(yùn)行時(shí),緊急停止信號(hào)(EMG),正轉(zhuǎn)/反轉(zhuǎn)行程末端 (LSP/LSN)必須為ON。伺服開啟與關(guān)閉、運(yùn)動(dòng)停止、異常報(bào)警等都有具體指示燈顯示[4]。伺服電機(jī)及放大器外圍設(shè)備具體連接框圖如圖1所示?!?/p>

001.jpg

3系統(tǒng)的軟件介紹

  基于PC+運(yùn)動(dòng)控制卡數(shù)控系統(tǒng)滿足標(biāo)準(zhǔn)化、柔性化與開放性的要求,使得它的開發(fā)和使用備受青睞。使用VC++6. 0 MFC應(yīng)用程序,利用研華PCI1245L運(yùn)動(dòng)控制卡開發(fā),實(shí)現(xiàn)伺服電機(jī)正反轉(zhuǎn)、原點(diǎn)復(fù)位功能、分度操作、指令操作等功能[5]。其控制系統(tǒng)流程圖如圖2所示。

002.jpg

 ?。?)打開串口,并進(jìn)行數(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)打開板卡,獲取軸號(hào),伺服開

  Acm_DevOpen(m_dwDevNum,&m_Devhand); buffLen=sizeof(AxisPerDev);

  Acm_GetProperty(m_Devhand,FT_DevAxesCount,&AxisPerDev,&buffLen);//獲取板卡號(hào)

  AxisNumber=AxisPerDev;

  buffLen=sizeof(slaveDevs);

  ZeroMemory(slaveDevs,sizeof(slaveDevs));

  Acm_GetProperty(m_Devhand,CFG_DevSlaveDevs,slaveDevs,&buffLen);//獲取軸號(hào),支持4軸

  Acm_AxOpen(m_Devhand,(USHORT)AxisNumber, &m_Axishand[AxisNumber]);//打開指定軸

  Acm_AxSetSvOn(m_Axishand[AxisNum],0);

 ?。?)參數(shù)設(shè)置及運(yùn)動(dòng)示例

  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);

 ?。?)意外斷電上電后原點(diǎn)復(fù)位

  Acm_AxSetCmdPosition(m_Axishand[m_CurAxis],Position);

  Acm_AxMoveAbs(m_Axishand[m_CurAxis], -plus);

  Acm_AxSetActualPosition(m_Axishand[m_CurAxis],0);//電機(jī)回歸電氣原點(diǎn)后運(yùn)動(dòng)控制卡脈沖置零

4結(jié)論

  利用伺服放大器串行通信功能和運(yùn)動(dòng)控制卡實(shí)現(xiàn)伺服系統(tǒng)運(yùn)行、停止,斷電后上電所得到反饋位置信息與伺服測(cè)試控制平臺(tái)軟件上的信息一致,當(dāng)打開伺服測(cè)試控制平臺(tái)軟件后會(huì)自動(dòng)檢查電機(jī)是否在原點(diǎn)位置,若通過(guò)RS422電纜與驅(qū)動(dòng)器通信返回信息確認(rèn)電機(jī)不在絕對(duì)位置零點(diǎn),將彈出如圖3所示的執(zhí)行回歸原點(diǎn)提示,原點(diǎn)回歸后的實(shí)際運(yùn)行界面如圖4所示,可觀察到返回的電機(jī)位置信息已處于零點(diǎn)。 

003.jpg

  此外,使用三菱公司提供的串口調(diào)試軟件也可進(jìn)行輔助實(shí)驗(yàn),利用 MR Configurator串口通信軟件反饋的絕對(duì)位置信息也與伺服測(cè)試控制平臺(tái)軟件一致,MR Configurator串口通信軟件原點(diǎn)回歸后界面如圖5所示,電機(jī)以1∶90的總減速比帶動(dòng)直徑210 mm的分度盤時(shí)多次原點(diǎn)回歸實(shí)驗(yàn)反饋接收到的命令脈沖均為0。分度盤轉(zhuǎn)動(dòng)一度將反饋65 320個(gè)絕對(duì)位置脈沖數(shù),執(zhí)行原點(diǎn)回歸時(shí)絕對(duì)位置反饋脈沖數(shù)為13個(gè),即重復(fù)誤差精度經(jīng)換算為0.7″,多次執(zhí)行原點(diǎn)回歸運(yùn)動(dòng)反饋絕對(duì)位置脈沖數(shù),經(jīng)換算重復(fù)誤差精度均小于4″。所以以運(yùn)動(dòng)控制卡和RS422通信電纜為核心的伺服控制系統(tǒng)具備很好的高精度定位、斷電記憶功能。

  

004.jpg

參考文獻(xiàn)

 ?。?] 姜榮.一種基于運(yùn)動(dòng)控制卡的伺服電機(jī)控制系統(tǒng)[J].機(jī)電產(chǎn)品開發(fā)與創(chuàng)新,2006,19(3):113-114.

 ?。?] 研華股份有限公司.PCI-1245L 運(yùn)動(dòng)控制卡使用手冊(cè)[Z].2012.

 ?。?] 陳宇曉.電容式微機(jī)械靜電伺服加速度計(jì)系統(tǒng)分析[D].成都:電子科技大學(xué),2003.

 ?。?] 三菱電機(jī).三菱MRJ3驅(qū)動(dòng)器使用手冊(cè)[Z].2014.

 ?。?] 孫鑫.VC++深入詳解[M]. 北京:電子工業(yè)出版,2012.


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