《電子技術(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é)院,,四川 綿陽 621000;2.西南科技大學(xué) 國(guó)防科技學(xué)院,,四川 綿陽 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

 ?。?. 西南科技大學(xué) 信息工程學(xué)院,,四川 綿陽 621000;2.西南科技大學(xué) 國(guó)防科技學(xué)院,,四川 綿陽 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)使用得越來越多,,也必將成為伺服運(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)一的用戶編程接口,。程序員無需大規(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)過控制柜的保護(hù)地端子接地,,控制電路電源L和主電路電源同時(shí)接通或比主電路電源先接通。伺服放大器在主電路電源接通約1~2 s后便可接收伺服開啟信號(hào)(SON),,約20 ms后準(zhǔn)備完畢信號(hào)(RD)將變?yōu)镺N,,伺服放大器處于可運(yùn)行狀態(tài)。伺服放大器是通過控制功率晶體管的通斷來給電機(jī)供電,。根據(jù)接線方式和地線的布線方法的不同,,有時(shí)可能會(huì)受到伺服放大器晶體管的通斷產(chǎn)生的噪聲的影響。EMC濾波器可有效防止這種情況的發(fā)生并可降低高頻諧波的輻射干擾,。

  伺服驅(qū)動(dòng)器與伺服電機(jī)通過電機(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)線通過中轉(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

  (1)打開串口,,并進(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);

  (4)意外斷電上電后原點(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)位置,,若通過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)

  [1] 姜榮.一種基于運(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.

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

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

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


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