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