MPC07控制卡在運動控制系統(tǒng)中的應(yī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ī),并支持多卡共用,以實現(xiàn)多于四個運動軸的控制,且每軸均可輸出脈沖和方向信號,以控制電機(jī)的運轉(zhuǎn);同時,MPC07可外接原點、減速、限位等開關(guān)信號,以實現(xiàn)回原點、保護(hù)等功能,這些開關(guān)信號由MPC07卡自動檢測并作出反應(yīng)。MPC07卡還提供了功能強(qiáng)大的運動控制函數(shù)庫,并可以充分利用PC機(jī)現(xiàn)有的資源來開發(fā)滿足設(shè)計所要求的運動控制系統(tǒng)。
1 硬件系統(tǒng)結(jié)構(gòu)
圖1所示為運動控制系統(tǒng)結(jié)構(gòu)圖。本系統(tǒng)硬件采用MPC07控制卡作為開發(fā)運動控制系統(tǒng)的平臺,其PC機(jī)主要負(fù)責(zé)人機(jī)交互界面的管理和控制系統(tǒng)的實時監(jiān)控等方面的工作,主要包括運動參數(shù)的設(shè)置、系統(tǒng)狀態(tài)的顯示、控制指令的發(fā)送、外部信號的監(jiān)控等;MPC07卡則通過PCI總線接收到PC機(jī)指令,再經(jīng)內(nèi)部智能芯片處理后將控制信號送入驅(qū)動器,然后驅(qū)動器把控制系統(tǒng)發(fā)出的脈沖信號轉(zhuǎn)化為步進(jìn)電機(jī)的角位移控制步進(jìn)電機(jī)的運行,以此來實現(xiàn)對運動控制系統(tǒng)中小車運動的精確調(diào)速和定位。
1.1 MPC07的技術(shù)特性
MPC07控制卡具有開放式結(jié)構(gòu)、使用簡便、功能豐富、可靠性高等特性。在硬件方面MPC07采用PC機(jī)的PCI總線方式,因此適用范圍廣,且卡上無需進(jìn)行任何跳線設(shè)置,所有資源均自動配置。另外,在Windows98、Windows2000及Windows XP操作系統(tǒng)中支持即插即用,使用非常方便;MPC07的接線方式采用DB37型插頭,可使用屏蔽線纜,并且所有的輸入、輸出信號均用光電隔離,因此提高了控制卡的可靠性和抗干擾能力;在軟件方面MPC07還提供了豐富的運動控制函數(shù)庫,以滿足不同的應(yīng)用要求。用戶只需根據(jù)控制系統(tǒng)的要求編制人機(jī)界面,并調(diào)用MPC07運動函數(shù)庫中的指令函數(shù),就可以開發(fā)出滿足要求的多軸運動控制系統(tǒng)。MPC07的技術(shù)指標(biāo)主要有:
◇4軸步進(jìn)或數(shù)字式伺服控制;
◇脈沖輸出速度可達(dá)4.0 Mpps;
◇梯形加減速;
◇運動中可變速;
◇多軸高速線性插補(bǔ);
◇可輸出脈沖/方向或雙脈沖信號;
◇每軸帶有原點、減速和限位開關(guān)等接口;
◇16個通用輸入開關(guān)信號,24個通用輸出開關(guān)信號;
◇WINDOWS環(huán)境下WDM、DLL庫;
◇演示程序。
1.2 MPC07接口
MPC07控制卡采用DB37接口,外接線可采用屏蔽線纜,以提高控制卡的抗干擾能力。其中開關(guān)量信號(原點、減速、限位以及I/O信號等)采用12~24DCV開關(guān)電源;脈沖量信號(脈沖、方向等)采用5DCV開關(guān)電源。完整的MPC07運動控制器由三張板卡組成:MPC07主板,轉(zhuǎn)接板和通用IO擴(kuò)展板。其中MPC07主板完成運動控制功能,它有兩個接口:DB37和40芯扁平電纜,其中DB37接口主要用于運動控制,它可通過轉(zhuǎn)接板與驅(qū)動器等外部設(shè)備相連;而40芯扁平電纜則用于通用IO,可以通過通用IO擴(kuò)展板與外部設(shè)備相連。實際上,轉(zhuǎn)接板才是MPC07主板與電機(jī)驅(qū)動器的連接橋梁,可用來提供脈沖和方向差分輸出。通用IO擴(kuò)展板是通用IO信號與MPC07主板的連接橋梁,可以利用40扁平電纜將擴(kuò)展板與MPC07主板相連。如果控制系統(tǒng)需要使用通用輸入或輸出信號,則必須使用通用IO擴(kuò)展板,而不能將IO信號直接與MPC07主板的40芯電纜管腳相連,這樣可能燒壞FPGA。
2 軟件實現(xiàn)
該運動控制系統(tǒng)的程序是在Windows系統(tǒng)下,用VC++編寫的面向?qū)ο蟮恼Z言程序,MPC07軟件中已經(jīng)將常用的MPC07.dll中DLL函數(shù)封裝成類CLoadDll,并提供該類的源代碼,該類含有與運動指令庫函數(shù)名及參數(shù)相同的成員函數(shù)??稍贛PC07卡軟件安裝盤\Develop\VC文件夾下找到源代碼,文件名為LoadDll.cpp和LoadDll.h,并將其添加進(jìn)工程,在程序適當(dāng)?shù)胤教砑釉擃惖膶ο?,通過對應(yīng)成員函數(shù)來調(diào)用DLL中的函數(shù)。其程序流程圖如圖2所示。
程序執(zhí)行時,首先對控制卡進(jìn)行自動檢測和初始化,在程序界面中可以設(shè)置的參數(shù)包括:小車初始位置、初速度、最高速度、加速度、移動距離等,參數(shù)設(shè)置不滿足要求時,還需要重新設(shè)置,只有滿足要求后,才能開始運行程序。運動過程中可進(jìn)行人工干預(yù),人工干預(yù)后小車可立即制動也可光滑制動,如不需要干預(yù),小車按照設(shè)置運動到指定位置。
(1)初始化控制卡
首先定義DLL運動控制函數(shù)庫變量:CLoadDll m_cDll,初始化函數(shù)為InitBoard (),其執(zhí)行代碼如下:
(2)運動實現(xiàn)
運動小車在點位運動方式下可進(jìn)行常速或快速運動,軟件通過對設(shè)定的移動距離與小車當(dāng)前位置的比較來確定小車的運動方向,而后系統(tǒng)根據(jù)用戶設(shè)定的運動參數(shù)進(jìn)行相應(yīng)的運動,其部分實現(xiàn)代碼如下:
(3)制動
小車在運動過程中可采取立即制動和光滑制動兩種制動方式,代碼如下:
此外,程序運行時為了提高程序控制的精度,必須補(bǔ)償實時顯示用取得cpu的時間,也就是程序中的誤差補(bǔ)償部分。通過編譯程序顯示小車的運動控制界面如圖3所示。
3 結(jié)束語
本文以基于PCI總線的MPC07控制卡為開發(fā)平臺,利用VC++結(jié)合MPC07控制卡的運動控制函數(shù)庫編寫了面向?qū)ο蟮南到y(tǒng)控制程序,通過MPC07卡對步進(jìn)電機(jī)進(jìn)行精確運動控制,從而實現(xiàn)了運動系統(tǒng)中小車的精確調(diào)速和定位,解決了運動控制系統(tǒng)中控制精度低的問題。應(yīng)用結(jié)果表明,MPC07控制卡具有開發(fā)簡單、運動可靠和控制方便等特點,能出色的完成運動控制的各個細(xì)節(jié)。
伺服電機(jī)相關(guān)文章:伺服電機(jī)工作原理
評論