關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > MPC07控制卡在運(yùn)動(dòng)控制系統(tǒng)中的應(yīng)用

MPC07控制卡在運(yùn)動(dòng)控制系統(tǒng)中的應(yīng)用

作者: 時(shí)間:2011-05-06 來(lái)源:網(wǎng)絡(luò) 收藏
本文采用MPC07控制卡來(lái)作為運(yùn)動(dòng)控制系統(tǒng)的開(kāi)發(fā)平臺(tái),并利用VC++對(duì)MPC07運(yùn)動(dòng)函數(shù)庫(kù)進(jìn)行二次開(kāi)發(fā)來(lái)編寫(xiě)面向?qū)ο蟮目刂瞥绦?,從而通過(guò)MPC07卡來(lái)實(shí)現(xiàn)對(duì)運(yùn)動(dòng)控制系統(tǒng)中小車(chē)的精確運(yùn)動(dòng)控制。

MPC07控制卡是基于PC機(jī)PCI總線的步進(jìn)電機(jī)或數(shù)字式伺服電機(jī)的上位控制單元,它與PC機(jī)構(gòu)成主從式控制結(jié)構(gòu),可插在PC機(jī)PCI擴(kuò)展槽內(nèi)。每塊MPC07卡可控制4軸步進(jìn)電機(jī)或數(shù)字式伺服電機(jī),并支持多卡共用,以實(shí)現(xiàn)多于四個(gè)運(yùn)動(dòng)軸的控制,且每軸均可輸出脈沖和方向信號(hào),以控制電機(jī)的運(yùn)轉(zhuǎn);同時(shí),MPC07可外接原點(diǎn)、減速、限位等開(kāi)關(guān)信號(hào),以實(shí)現(xiàn)回原點(diǎn)、保護(hù)等功能,這些開(kāi)關(guān)信號(hào)由MPC07卡自動(dòng)檢測(cè)并作出反應(yīng)。MPC07卡還提供了功能強(qiáng)大的運(yùn)動(dòng)控制函數(shù)庫(kù),并可以充分利用PC機(jī)現(xiàn)有的資源來(lái)開(kāi)發(fā)滿足設(shè)計(jì)所要求的運(yùn)動(dòng)控制系統(tǒng)。

1 硬件系統(tǒng)結(jié)構(gòu)

圖1所示為運(yùn)動(dòng)控制系統(tǒng)結(jié)構(gòu)圖。本系統(tǒng)硬件采用MPC07控制卡作為開(kāi)發(fā)運(yùn)動(dòng)控制系統(tǒng)的平臺(tái),其PC機(jī)主要負(fù)責(zé)人機(jī)交互界面的管理和控制系統(tǒng)的實(shí)時(shí)監(jiān)控等方面的工作,主要包括運(yùn)動(dòng)參數(shù)的設(shè)置、系統(tǒng)狀態(tài)的顯示、控制指令的發(fā)送、外部信號(hào)的監(jiān)控等;MPC07卡則通過(guò)PCI總線接收到PC機(jī)指令,再經(jīng)內(nèi)部智能芯片處理后將控制信號(hào)送入驅(qū)動(dòng)器,然后驅(qū)動(dòng)器把控制系統(tǒng)發(fā)出的脈沖信號(hào)轉(zhuǎn)化為步進(jìn)電機(jī)的角位移控制步進(jìn)電機(jī)的運(yùn)行,以此來(lái)實(shí)現(xiàn)對(duì)運(yùn)動(dòng)控制系統(tǒng)中小車(chē)運(yùn)動(dòng)的精確調(diào)速和定位。



1.1 MPC07的技術(shù)特性

MPC07控制卡具有開(kāi)放式結(jié)構(gòu)、使用簡(jiǎn)便、功能豐富、可靠性高等特性。在硬件方面MPC07采用PC機(jī)的PCI總線方式,因此適用范圍廣,且卡上無(wú)需進(jìn)行任何跳線設(shè)置,所有資源均自動(dòng)配置。另外,在Windows98、Windows2000及Windows XP操作系統(tǒng)中支持即插即用,使用非常方便;MPC07的接線方式采用DB37型插頭,可使用屏蔽線纜,并且所有的輸入、輸出信號(hào)均用光電隔離,因此提高了控制卡的可靠性和抗干擾能力;在軟件方面MPC07還提供了豐富的運(yùn)動(dòng)控制函數(shù)庫(kù),以滿足不同的應(yīng)用要求。用戶只需根據(jù)控制系統(tǒng)的要求編制人機(jī)界面,并調(diào)用MPC07運(yùn)動(dòng)函數(shù)庫(kù)中的指令函數(shù),就可以開(kāi)發(fā)出滿足要求的多軸運(yùn)動(dòng)控制系統(tǒng)。MPC07的技術(shù)指標(biāo)主要有:

◇4軸步進(jìn)或數(shù)字式伺服控制;

◇脈沖輸出速度可達(dá)4.0 Mpps;

◇梯形加減速;

◇運(yùn)動(dòng)中可變速;

◇多軸高速線性插補(bǔ);

◇可輸出脈沖/方向或雙脈沖信號(hào);

◇每軸帶有原點(diǎn)、減速和限位開(kāi)關(guān)等接口;

◇16個(gè)通用輸入開(kāi)關(guān)信號(hào),24個(gè)通用輸出開(kāi)關(guān)信號(hào);

◇WINDOWS環(huán)境下WDM、DLL庫(kù);

◇演示程序。

1.2 MPC07接口

MPC07控制卡采用DB37接口,外接線可采用屏蔽線纜,以提高控制卡的抗干擾能力。其中開(kāi)關(guān)量信號(hào)(原點(diǎn)、減速、限位以及I/O信號(hào)等)采用12~24DCV開(kāi)關(guān)電源;脈沖量信號(hào)(脈沖、方向等)采用5DCV開(kāi)關(guān)電源。完整的MPC07運(yùn)動(dòng)控制器由三張板卡組成:MPC07主板,轉(zhuǎn)接板和通用IO擴(kuò)展板。其中MPC07主板完成運(yùn)動(dòng)控制功能,它有兩個(gè)接口:DB37和40芯扁平電纜,其中DB37接口主要用于運(yùn)動(dòng)控制,它可通過(guò)轉(zhuǎn)接板與驅(qū)動(dòng)器等外部設(shè)備相連;而40芯扁平電纜則用于通用IO,可以通過(guò)通用IO擴(kuò)展板與外部設(shè)備相連。實(shí)際上,轉(zhuǎn)接板才是MPC07主板與電機(jī)驅(qū)動(dòng)器的連接橋梁,可用來(lái)提供脈沖和方向差分輸出。通用IO擴(kuò)展板是通用IO信號(hào)與MPC07主板的連接橋梁,可以利用40扁平電纜將擴(kuò)展板與MPC07主板相連。如果控制系統(tǒng)需要使用通用輸入或輸出信號(hào),則必須使用通用IO擴(kuò)展板,而不能將IO信號(hào)直接與MPC07主板的40芯電纜管腳相連,這樣可能燒壞FPGA。

2 軟件實(shí)現(xiàn)

該運(yùn)動(dòng)控制系統(tǒng)的程序是在Windows系統(tǒng)下,用VC++編寫(xiě)的面向?qū)ο蟮恼Z(yǔ)言程序,MPC07軟件中已經(jīng)將常用的MPC07.dll中DLL函數(shù)封裝成類(lèi)CLoadDll,并提供該類(lèi)的源代碼,該類(lèi)含有與運(yùn)動(dòng)指令庫(kù)函數(shù)名及參數(shù)相同的成員函數(shù)。可在MPC07卡軟件安裝盤(pán)\Develop\VC文件夾下找到源代碼,文件名為L(zhǎng)oadDll.cpp和LoadDll.h,并將其添加進(jìn)工程,在程序適當(dāng)?shù)胤教砑釉擃?lèi)的對(duì)象,通過(guò)對(duì)應(yīng)成員函數(shù)來(lái)調(diào)用DLL中的函數(shù)。其程序流程圖如圖2所示。

程序執(zhí)行時(shí),首先對(duì)控制卡進(jìn)行自動(dòng)檢測(cè)和初始化,在程序界面中可以設(shè)置的參數(shù)包括:小車(chē)初始位置、初速度、最高速度、加速度、移動(dòng)距離等,參數(shù)設(shè)置不滿足要求時(shí),還需要重新設(shè)置,只有滿足要求后,才能開(kāi)始運(yùn)行程序。運(yùn)動(dòng)過(guò)程中可進(jìn)行人工干預(yù),人工干預(yù)后小車(chē)可立即制動(dòng)也可光滑制動(dòng),如不需要干預(yù),小車(chē)按照設(shè)置運(yùn)動(dòng)到指定位置。

(1)初始化控制卡

首先定義DLL運(yùn)動(dòng)控制函數(shù)庫(kù)變量:CLoadDll m_cDll,初始化函數(shù)為InitBoard (),其執(zhí)行代碼如下:



(2)運(yùn)動(dòng)實(shí)現(xiàn)

運(yùn)動(dòng)小車(chē)在點(diǎn)位運(yùn)動(dòng)方式下可進(jìn)行常速或快速運(yùn)動(dòng),軟件通過(guò)對(duì)設(shè)定的移動(dòng)距離與小車(chē)當(dāng)前位置的比較來(lái)確定小車(chē)的運(yùn)動(dòng)方向,而后系統(tǒng)根據(jù)用戶設(shè)定的運(yùn)動(dòng)參數(shù)進(jìn)行相應(yīng)的運(yùn)動(dòng),其部分實(shí)現(xiàn)代碼如下:



(3)制動(dòng)

小車(chē)在運(yùn)動(dòng)過(guò)程中可采取立即制動(dòng)和光滑制動(dòng)兩種制動(dòng)方式,代碼如下:



此外,程序運(yùn)行時(shí)為了提高程序控制的精度,必須補(bǔ)償實(shí)時(shí)顯示用取得cpu的時(shí)間,也就是程序中的誤差補(bǔ)償部分。通過(guò)編譯程序顯示小車(chē)的運(yùn)動(dòng)控制界面如圖3所示。


3 結(jié)束語(yǔ)

本文以基于PCI總線的MPC07控制卡為開(kāi)發(fā)平臺(tái),利用VC++結(jié)合MPC07控制卡的運(yùn)動(dòng)控制函數(shù)庫(kù)編寫(xiě)了面向?qū)ο蟮南到y(tǒng)控制程序,通過(guò)MPC07卡對(duì)步進(jìn)電機(jī)進(jìn)行精確運(yùn)動(dòng)控制,從而實(shí)現(xiàn)了運(yùn)動(dòng)系統(tǒng)中小車(chē)的精確調(diào)速和定位,解決了運(yùn)動(dòng)控制系統(tǒng)中控制精度低的問(wèn)題。應(yīng)用結(jié)果表明,MPC07控制卡具有開(kāi)發(fā)簡(jiǎn)單、運(yùn)動(dòng)可靠和控制方便等特點(diǎn),能出色的完成運(yùn)動(dòng)控制的各個(gè)細(xì)節(jié)。

伺服電機(jī)相關(guān)文章:伺服電機(jī)工作原理




評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉