專利名稱:基于mpc5200的多軸運動控制器及其操作方法
技術領域:
本發明屬于自動化和先進制造領域,具體涉及一種基于MPC5200微控制器的多軸電機運動控制器及其操作方法。
背景技術:
運動控制器是數控機床坐標軸運動控制系統的核心部件,整個機床坐標軸的運動指令都是由運動控制器給出的。目前運動控制器主要存在形式是基于PC標準總線的運動控制器。其在硬件設計上采用板卡設計,并且在連接方式上采用“金手指”與PC機相連,也就是將板卡插到PC標準的如ISA,或者PCI插槽中,這種采用硬連接結構的運動控制器不宜長期工作在環境惡劣的工業現場(有振動、粉塵、油污等),并且由于只有插在PC標準的插槽中才能工作,因此上位機也只限于PC機。代表性產品有美國Delta Tau DataSystem公司推出的PMAC系列運動控制卡與美國Galil公司推出的DMC系列運動控制卡。
發明內容
本發明的目的在于提供一種能克服上述缺陷的基于MPC5200的多軸運動控制器及其操作方法,它采用串行總線的軟連接方式,使得運動控制卡可以和上位機分離,其易于實現分布式的高性能控制,降低成本,并且大大提高了運動控制器的可靠性、開放性、集成性和配置性。
為達到上述目的,本發明采用下述技術方案一種基于MPC5200的多軸運動控制器,包括了MPC5200嵌入式微控制器、外部SDRAM、外部Flash、電可擦除只讀存儲器EEPROM、信號反饋通道及接口、PWM輸出及接口、I/O接口、串行通信接口、CAN接口、RS232接口、USB接口和串行通信配置接口,其特征在于外部SDRAM、外部FLASH和EEPROM與MPC5200微控制器相連組成運動控制器的核心模塊,提供運動控制器軟件運行的基礎環境;MPC5200微控制器由串行通信接口通過跳線方式配置和上位機進行通信的串行通信協議,通過CAN接口或者RS232接口或者USB接口與上位機之間進行軟連接,進行數控加工數據和指令的傳輸;信號反饋通道及接口對電機編碼器的反饋信號進行整形、計數,并輸入MPC5200微控制器;MPC5200微控制器連接PWM輸出及接口,實現輸出電機運行的具體脈沖數,并對輸出脈沖進行隔離以驅動電機驅動器;MPC5200微控制器連接I/O接口,實現相關的機床輔助的開關量控制。
所述的32位嵌入式微控制器MPC5200具有面對工業的良好擴展能力。其低功耗、處理速度達760MIPS,集成了一個雙精度的浮點單元(FPU),具有良好擴展能力,并且外部接口可重配置。以減少元器件部件的數量,提高硬件的可靠性和兼容性。
所述的基于MPC5200的多軸運動控制器,由于MPC5200微控制器內部集成可編程串行控制器(PSC,Programmable Serial Controller),其通過PSC控制器來實現串行通信的優化,并可以根據需求配置USB、RS232、CAN等串行通信接口。從而可以根據外界接口的要求進行標準化配置,提高運動控制器的開放性,實現了硬件上的柔性。
所述的基于MPC5200的多軸運動控制器,MPC5200微控制器內系統接口配置單元(SIU,System Interface Unit)可以將數據總線配置為8位、或16位、或32位的寬度。因此運動控制器可以支持數個8位、或16位、或32位的外圍設備同時連在系統總線上,可以外接8位、或16位、或32位的FLASH、SDRAM。
所述的基于MPC5200的多軸運動控制器,MPC5200提供了8個通用定時器資源(GPT0~GPT7),所有的定時器都可以配置成以下任一模式內部定時器、外部計數器、比較輸出和PWM,除第一種模式以外,每個定時器都有一個I/O口與之對應。MPC5200控制一臺電機需要占用兩個定時器資源,其中一個設置為PWM輸出,采用定脈寬調頻的方式通過高速光耦隔離輸出,驅動電機驅動器;另一個設置為內部定時器,用于控制運動控制器輸出的脈沖個數。MPC5200最多可以控制4臺步進電機或伺服電機。需要說明的是,任何一個GPT被設置成內部定時器后,該口就可以作為一個通用I/O口使用,MPC5200運動控制器使用這個口輸出每臺電機的方向控制信號。
所述的基于MPC5200的多軸運動控制器,當對伺服電機進行反饋控制時,可以通過外接定時器的方式,對電機編碼器脈沖進行計數。
所述的基于MPC5200的多軸運動控制器,提供56個GPIO,這些GPIO大多數是多功能I/O口,用戶可以根據需求將每個端口配置為輸入模式、輸出模式或者特殊模式用以控制機床的開關量設備,具體輸入輸出控制方式,可以根據具體的數控機床應用進行配置。
所述的基于MPC5200多軸運動控制器,其基于Linux操作系統和RTAI的實時內核,系統提供的模塊化機制以及實時任務調度機制實現軟件運動控制器容易實現運動控制器上相關的文件系統管理、內存管理、實現數控系統的底層加工模塊包括系統初始化、通信任務以及實時任務處理。
通過MPC5200中的軟件程序,實現運動控制系統的主要包括如下三個功能模塊程序,具體操作方法的步驟如下1、系統初始化進行微處理器的硬件初始化,包括輸入/輸出接口的配置,具體串口通信方式的配置還有伺服系統PID接口參數等軟件配置。
2、實時任務處理1)狀態檢測任務本任務對機床運行狀態的檢測,然后將機床各寫入,并負責從IO端口讀入各個連接的I/O設備值,然后將狀態寫入狀態檢測緩沖區中,對機床急停、伺服報警、限位信號進行判斷,并進行相應的處理,從而實現對機床運行過程進行實時監控。本任務關系的設備運行的安全性,因此任務優先級最高為1。
2)插補任務從譯碼緩沖區中順序取得插補數據,然后根據是直線或者圓弧進行插補,插補得到下個周期應該到達的理論坐標值。該任務運行優先級為2。
3)位置控制任務此任務設計成周期性的實時性進程,并且每個周期讀取計數器中編碼器的數值,得到實際的位置,并與插補器中的理論位置坐標作比較,根據差值調節PID參數,并將具體脈沖輸出數寫入對應的PWM口的脈沖數寄存器中。該任務運行優先級為3。
4)功能控制任務功能控制任務利用RTAI實時管道來傳遞命令和狀態信息的功能,通過管道的命令設置實現Linux操作系統對實時部分RTAI的訪問,從而實現運動控制器的運行、暫停、進給速度等狀態設置。該任務運行優先級為4。
3、通信任務1)運動控制卡到上位機傳送坐標值、速度值、數控系統的I/O接口狀態以及報警狀態;2)上位機到運動控制卡傳送數控系統運行指令和譯碼后的數據鏈表還有相關的運行參數。
本發明與現有技術相比較,具有下顯而易見的突出實質性特點和顯著優點本發明的基于MPC5200的多軸運動控制器,所采用的操作系統是免費開放源代碼,因此運動控制器的成本很大程度的降低,并且采用基于串行通信的軟連接方式,有利于克服傳統的運動控制器不能適應環境惡劣的工業現場(有振動、粉塵、油污等),并易于實現分布式的高性能控制。本發明可以針對于MPC5200微處理器在小片芯片中集成豐富的硬件資源,從而減少元器件部件的數量,相比目前運動控制器的雙CPU方式,如DSP+FPGA方式,由DSP負責主控和運算,FPGA負責實現運動控制,基于MPC5200的運動控制器的單CPU方式有利于提高運動控制器硬件上的可靠性,能夠實現小型化和現場化,并且具有更好的面向應用的特性。由于MPC5200是高性能的微控制器,其具有浮點處理能力和高性能的運算能力,因此處于前端的運動控制器可以集成各種傳感、控制與報警功能,因而不再需要過多的信號調整、轉換與隔離,減少了變送器的種類和數量。大大的降低了現場使用成本。本發明可以針對不同的應用需求、不同的加工對象、不同數目控制電機、靈活的選取和配置不同的運動控制器接口模塊。由于本發明采用了以上的技術方案,提高了運動控制器的可靠性、集成性、配置性,實現了分布式的高性能控制,降低成本。
下面結合附圖和實施例對本發明作進一步說明
圖1為本發明的原理結構框圖。
圖2為本發明的一種具體實施例結構框圖。
圖3為本發明的控制程序框圖。
圖4為系統初始化流程框圖。
圖5為系統實時任務處理模塊流程框圖。
圖6為通信模塊流程框圖。
具體實施例方式
本發明的一個優選實施例結合附圖詳述如下參見圖1,本基于MPC5200的多軸運動控制器包括MPC5200嵌入式微控制器1、外部SDRAM2、外部Flash3、電可擦除只讀存儲器EEPROM 4、信號反饋通道及接口5、PWM輸出及接口6、I/O接口7、串行通信接口8、CAN接口9、RS232接口10、USB接口11和串行通信配置接口12。
MPC5200嵌入式微控制器1作為運動控制器的主控CPU,集成了調度、控制和計算處理功能。軟件上主要包括移植的uBoot啟動程序、嵌入式Linux操作系統、RTAI實時內核、系統初始化程序、實時任務處理程序、通信程序。其負責與上位機加工代碼鏈表和指令的插補與執行、實現位置的閉環控制、機床I/O設備的控制以及與上位機的通訊。
外部SDRAM2實現高速存儲大量的數據,包括操作系統運行數據、網絡通信數據、運動控制過程計算結果。
外部Flash3存儲系統運行的固件程序,包括uBoot啟動程序、Linux操作系統程序、RTAI實時內核程序、初始化程序、實時任務程序還有通信程序。
電可擦除只讀存儲器EEPROM 4用來保存所對應的串行通信初始化參數。
信號反饋通道及接口5通過計數器實現對電機編碼器的脈沖采樣,完成電機運動位置信號采集。
PWM輸出及接口6完成PWM脈沖方向信號的隔離輸出,從而驅動電機驅動器。
I/O接口7完成機床輔助的開關量控制的輸入和輸出隔離及驅動。
串行通信接口8,完成與上位機的數據接收、發送。其通過MPC5200內部的PSC模塊可以配置成如下三種串行通信接口模式。
(1)CAN接口9,控制器區域網(CAN)是一種串行通信協議。其采用多主從工作方式,并具有突出的可靠性、實時性和靈活性。
(2)RS232接口10,異步串行通信(RS232)是一種歷史悠久而可靠的串行通信標準,其適用于點對點的通信方式,并且傳輸速度較慢,傳輸限制較多。
(3)USB接口11,通用串行總線(USB)是一種高速串行通信總線標準,其基本的拓撲結構是星型的,但是一個USB網絡中只能存在一個主機,在分布式控制系統中,各個子模塊需通過主機進行交互,容易導致網絡阻塞。
串行通信配置接口12,完成與上位機通信所采用的串行通信方式的接口配置,其中串口通信接口配置需要占用MPC5200的兩個GPIO,可以通過跳線帽的形式進行設置,當GPIO狀態為00時,為CAN總線接口傳輸方式;為01時,為RS232總線接口的傳輸方式;為10時,為USB接口傳輸方式。
本發明中由MPC5200嵌入式微控制器1、外部SDRAM2、外部FLASH3還有EEPROM4組成的嵌入式運動控制器的核心模塊,提供運動控制器軟件運行的基礎環境。根據上位機的通信接口要求通過跳線方式配置串行通信接口12,選擇和上位機進行通信的串行通信協議,由信號反饋通道及接口5進行編碼器脈沖計數,由得到的電機編碼器的反饋信號計算出實際位置,將實際位置與MPC5200內部插補得到的理論位置輸入運動控制模塊的進行計算,從而從放大驅動模塊及接口6中輸出電機運行的具體脈沖數。I/O接口7實現相關的機床設備的開關量控制。
參見圖2,下面對上述的多軸運動控制器加以具體說明。
MPC5200是飛思卡爾公司在2003年推出的一款高性能的微控制器,集成了一個雙精度的浮點處理單元(FPU),其帶有PWM脈沖輸出接口,Ethernet、CAN、USB等通信接口,并且外部接口可重配置,集成度高。其可以滿足運動控制器高集成性、分布式以及高實時性的控制算法要求。MPC5200通過系統總線連接外部SDRAM、外部FLASH和EEPROM,外部SDRAM選用MICRON公司的MT48LC,外部FLASH選用AMD公司的AM29LV0652D,EEPROM選用PHILPS公司的PCF8582C,FLASHAM29LV0652D用來存儲系統運行的固件程序,上電后FLASH AM29LV0652D中的固件程序已RAMDISK的形式裝入SDRAM MT48LC中實現運行,EEPROMPCF8582C存儲運動控制器在開發時燒入的串行通信接口參數,在運行的初始化階段由MPC5200讀入。
本發明采用串行通信的方式和上位機進行軟連接通信,從而容易通過串行接口構建分布式的數控系統,其可根據上位機的通信要求,在串行通信配置開關中采用跳線或者選擇開關的形式進行設置,在開機初始化時由MPC5200根據對應的開關狀態,初始化USB或者RS232或者CAN串行通信接口,并裝入EEPROM PCF8582C中具體的串行通信協議。本發明USB接口芯片選用PHILPS公司的ISP1107DH,CAN收發器采用TJA1050T,RS232接口芯片采用通用的Max3233E。
為滿足高速運動控制的要求,從MPC5200中通用定時器GPT0,GPT2端口輸出的PWM脈沖以及負責方向的GPT1,GPT3輸出,通過NEC公司的高速光耦6N136進行隔離,其最高速度可以達到2Mbit,隔離后輸入電機驅動器中驅動坐標軸電機。
為滿足高速度的坐標軸電機運動位置信號采集,本實施選用Intel 82C54計數器對坐標軸電機的光電碼盤的反饋脈沖進行計數,并通過系統總線輸入到微控制器中,82C54的計數頻率可高達12MHz。片內包含3個獨立的16位計數通道,每個計數通道有6種工作方式,可由程序設置和改變。
本實施中機床開關量輸入輸出控制全部采用普通光耦4N25進行隔離,以提高系統的抗干擾能力。
本多軸運動控制器的控制程序如圖3,主要由初始化、實時任務處理程序還有通信程序構成。
本發明的初始化程序如圖4所示,當兩個GPIO全接低電平00時,為CAN總線通信方式,從EEPROM中獲取CAN總線通信的基本參數配置,初始化后與上位機建立聯系。當兩個GPIO第一個為低電平0,第2個為高電平1,即為01時,為RS232總線通信方式,從EEPROM中獲取RS232總線通信的基本參數配置,初始化后與上位機建立聯系。當兩個GPIO第一個為高電平1,第2個為低電平0,即為10時,為USB總線通信方式,從EEPROM中獲取USB總線通信的基本參數配置,初始化后與上位機建立聯系。
運動控制器的實時工作流程如圖5所示,分為四個實時任務,即狀態檢測任務、插補任務、位置控制任務還有功能控制任務,四個任務的運行周期都是相同的,在本實施中取為8ms,狀態檢測任務的運行優先級為最高,即1級、插補任務的優先級為2級、位置控制任務的優先級為3級、功能控制任務的優先級為最低4級。其中,狀態檢測任務實現機床運行狀態的檢測,然后將機床各寫入,并負責從IO端口讀入各個連接的I/O設備值,然后將狀態寫入狀態檢測緩沖區中,對機床急停、伺服報警、限位信號進行判斷,并進行相應的處理。插補任務實現從譯碼緩沖區中順序取得插補數據,然后根據是直線或者圓弧進行插補,得到理論坐標值。位置控制任務,先進行誤差分析,在系統的第一個采樣周期后開始執行,通過電機反饋取得實際位置,與插補任務輸出的理論位置一起作為誤差分析的輸入參數,在進行誤差分析時系統將調用誤差計算策略進行誤差計算,誤差計算策略可以是面向單軸的簡單非耦合算法,也可以是面向輪廓加工的復雜耦合算法,計算后得到各軸的綜合誤差值;之后系統將調用整定策略整定參數,整定策略可以簡單的設定成固定參數,也可以根據需要實時調整參數;最后將綜合誤差與參數一同輸入到位置控制部分進行計算,得到具體的脈沖輸出值,輸出到各個伺服電機。功能控制任務負責實現運動控制器的運行、暫停、進給速度等狀態設置。
通信程序的流程圖如圖6所示,根據串行傳輸協議,周期階段的實現不同模式的控制要求譯碼和數據傳輸。
上述的一個具體例,其中所對應的上位機和運動控制卡的串行傳輸應用層協議有多種方式,本領域的技術人員可根據實際情況選擇合適的實現方式。
權利要求
1.一種基于MPC5200的多軸運動控制器,包括了MPC5200嵌入式微控制器(1)、外部SDRAM(2)、外部Flash(3)、電可擦除只讀存儲器EEPROM(4)、信號反饋通道及接口(5)、PWM輸出及接口(6)、I/O接口(7)、串行通信接口(8)、CAN接口(9)、RS232接口(10)、USB接口(11)和串行通信接口(12),其特征在于外部SDRAM(2)、外部FLASH(3)和EEPROM(4)與MPC5200微控制器(1)相連組成運動控制器的核心模塊,提供運動控制器軟件運行的基礎環境;MPC5200微控制器(1)由串行通信接口(8)通過串行通信配置接口(12)的跳線方式,配置和上位機進行通信的具體串行通信協議,從而通過CAN接口(9)或者RS232接口(10)或者USB接口(11)與上位機之間進行軟連接,進行數控加工數據和指令的傳輸;信號反饋通道及接口(5)對電機編碼器的反饋信號進行整形、計數,并輸入MPC5200微控制器;MPC5200微控制器(1)連接PWM輸出及接口(6),實現輸出電機運行的具體脈沖數,并對輸出脈沖進行隔離以驅動電機驅動器;MPC5200微控制器(1)連接I/O接口(7),實現相關的機床輔助的開關量控制。
2.根據權利要求1所述的基于MPC5200的多軸運動控制器,其特征在于信號反饋通道及接口(5)為采用高速計數器對編碼器脈沖反饋進行計數,其具有四路信號采集能力;串行通信接口(12)包括CAN接口(9)、RS232接口(10)和USB接口,具體的配置通過MPC5200微控制器(1)內部集成可編程串行控制器進行實現。
3.根據權利要求1所述的基于MPC5200的多軸運動控制器,其特征在于MPC5200微控制器(1)內系統接口配置單元將數據總線配置為8位、或16位、或32位的寬度,使多軸運動控制器支持數個8位、或16位、或32位的外圍設備同時連在系統總線上,外接8位、或16位、32位的FLASH、SDRAM。
4.根據權利要求1所述的基于MPC5200的多軸運動控制器,其特征在于MPC5200提供8個通用定時器資源GPT0~GPT7,最多可控制4臺步進電機或伺服電機,任伺一個GPT被設置成內部定時器后,該口就作為一個通用I/O使用,MPC5200使用該口輸出每臺電機的方向控制信號。
5.一種對權利要求1所述的基于MPC5200多軸運動控制器的操作方法,其特征在于步驟如下1)系統初始化進行微處理器的硬件初始化,包括輸入/輸出接口的配置,具體串口通信方式的配置還有伺服系統PID接口參數等軟件配置;2)實時任務處理①狀態檢測任務本任務對機床運行狀態的檢測,然后將機床各寫入,并負責從IO端口讀入、伺服報警、限位信號進行判斷,并進行相應的處理,從而實現對機床運行過程進行實時監控;本任務關系的設備運行的安全性,因此任務優先級最高為1;②插補任務從譯碼緩沖區中順序取得插補數據,然后根據是直線或者圓弧進行插補,插補得到下個周期應該到達的理論坐標值;該任務運行優先級為2;③位置控制任務此任務設計成周期性的實時性進程,并且每個周期讀取計數器中編碼器的數值,得到實際的位置,并與插補器中的理論位置坐標作比較,根據差值調節PID參數,并將具體脈沖輸出數寫入對應的PWM口的脈沖數寄存器中;該任務運行優先級為3;④功能控制任務功能控制任務利RTAI實時管道來傳遞命令和狀態信號的功能,通過管道的命令設置實現Linux操作系統對實時部分RTAI的訪問,從而實現運動控制器的運行、暫停、進給速度等狀態設置;該任務運行優先級為4;3)通信任務①運動控制卡到上位機傳遞坐標值、速度值、數控系統的I/O接口狀態以及報警狀態;②上位機到運動控制卡傳遞數控系統運行指令和譯碼后的數據鏈表還有相關的運行參數。
全文摘要
本發明涉及一種基于MPC5200的多軸運動控制器及其操作方法。本運動控制器由外部SDRAM、外部FLASH、EEPROM和MPC5200微控制器相連組成運動控制器的核心模塊,提供運動控制器軟件運行的基礎環境;通過串行通信配置接口配置和上位機進行通信的具體串行通信協議,從而通過CAN接口或者RS232接口或者USB接口與上位機之間進行軟連接,進行數控加工數據和指令的傳輸,使得運動控制器可以和上位機分離,易于實現分布式的高性能控制;由信號反饋通道及接口對電機編碼器的反饋信號進行整形、計數,并輸入MPC5200微控制器進行計算,通過計算結果由PWM輸出接口輸出脈沖驅動電機驅動器。
文檔編號G05B19/414GK101086664SQ20071004358
公開日2007年12月12日 申請日期2007年7月9日 優先權日2007年7月9日
發明者俞濤, 王文斌, 劉麗蘭, 蔡紅霞, 朱文華, 黃國華, 劉錟 申請人:上海大學