新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > MPC08運動控制卡在開放式鉆床數控系統中的應用

        MPC08運動控制卡在開放式鉆床數控系統中的應用

        作者: 時間:2014-04-06 來源:網絡 收藏


        3) 加工參數管理 本功能完成在機床控制過程中各參數的管理,包括機器的軸參數,系統參數,加工參數,刀具參數,機床坐標參數。為了方便管理和使用,以上參數程序里都定義全局變量存放,使用時對這些變量操作即可以進行各參數的讀取和修改。每個參數變量都以一個自定義的結構體為類型,軸參數類型內包括每個軸的使能,最大速度,最大加速度,脈沖當量,回零速度,回零方向,反向間隙等;系統參數包括插補精度,到位檢測周期,刀庫坐標位置,深度檢測深度,深度檢測速度;加工參數包括進給速度,提升速度,工作行程,主軸轉速,換刀方式,斷鉆檢測允許范圍;刀具參數包括刀具的類型,直徑,壽命,已使用壽命,所在刀庫號;機床坐標參數則包括機床的絕對坐標和相對坐標參數。所有這些參數除了絕對和相對坐標參數外都需要在加工前由使用者按需求輸入,加工過程中根據這些設置的數據進行運動。下面是軸參數的數據結構例子:

        typedef struct _AXIS_PARAM_SET



        int Installed; //軸是否安裝:TRUE——安裝

        int Enable; //軸是否有效

        int HomeDir; //機床回零方向:1——正向,-1——反向,0——無效

        double Interval; //反向間隙

        nb, sp;n, bsp; double MaxSpeed; //最大速度(mm/min)(A)

        double AccelSpeed; //最大加速度(mm/min︿2)3600000

        double PulseFactor; //脈沖當量(mm)

        long PulseUp; //電子齒輪分子

        long PulseDown; //電子齒輪分母

        long PulseDir; //反饋方向

        int SRatio; //S型加速度曲線系數

        double HomeSpeed; //回零速度

        double HomeCheckDis; //回零檢測長度

        double HomeOffsetDis; //回零后的移動距離

        double DepthCheckDis; //深度檢測的下降距離

        }AXIS_PARAM_SET,*PAXIS_PARAM_SET;

        4)運動與換刀控制 運動與換刀控制是鉆床運動的核心部分,完成鉆床的孔加工(包括啟動,定位,下鉆,提升),回零,回停車位和換刀的動作。本模塊的代碼都在專門建立的運動控制線程PubWorkThreadHandler(LPVOID pParam)里面執行。

        a、孔加工 當用戶加工準備就緒,按下啟動加工的按鈕的時候,線程開始自動讀取加工鏈表gWorkList里面已經經過譯碼的數據,通過已知數據信息程序按照加工參數管理模塊設定的速度發送運動指令給MPC08,控制器發出脈沖使機床快速運動并定位到該孔坐標,接著以給定的下鉆速度和下鉆深度進行孔加工,然后再以給定的速度提升,提升的同時迅速定位到下一個加工孔的坐標位置。

        b、回零 準確的回零對機床的定位和加工起著重要的作用,本系統設計的回零方式借助于伺服電機的Z脈沖,當按下回零按鈕后,程序的運動控制線程即按相應步驟發出回零指令給控制器,使機床準確的回零。設計的回零步驟為:各軸快速朝原點方向運動à碰到原點開關后緩停à緩停后反向低速運動à當接收到伺服電機的Z脈沖信號后停下來。機床即以停下來的坐標位置作為機床的原點。程序里面對每個步驟定義了一個宏,以此來區分加工到那一步驟。

        c、回停車位 當按下回停車位的按鈕后,發出回停車位的指令,使機床的XY軸分別運動到加工前設定到加工參數管理模塊的停車位坐標。

        d、換刀 鉆床加工PCB板的時候需要加工不同直徑的孔,這就要求在加工過程中當加工完一種直徑的孔以后進行換刀,取到另外一直徑的刀具進行加工。本系統的換刀方式有手動換刀和自動換刀兩種。手動換刀就是在加工完一直徑的孔后或刀具壽命到了以后回到停車位,由加工者手動把原刀具取下來并換上新的刀具然后恢復加工。手動換刀效率比較,現在的機床一般都采取自動換刀,本次設計的換刀流程如下:

        Z軸回零——壓腳抬起——X軸移動到原刀庫的位置——Y軸移動到原刀庫的位置——Z軸移動到換刀位置——張夾頭放刀——延時——Z軸回零——XY軸回到停頓位置——檢查刀具放回了——Z回零——回到停頓位置——X軸移動到目標刀具的位置——Y軸移動到目標刀具的位置——Z軸移動到換刀位置——合夾頭取刀——延時——Z軸回零——回到停頓位置——檢查刀具取到了——Z軸回零——XY軸回到停頓位置——壓腳放下

        換刀的軟件實現同樣是在運動控制線程里按以上步驟一步步完成,每個步驟類似回零步驟一樣定義了一個宏來區分。當整個換刀流程執行完畢以后,機床繼續加工剩余的孔。

        5)自診斷檢測 自診斷模塊對機床的調試,檢測,狀態監視起著重要的作用。通過本模塊,使用者可以隨時的檢測到機床電器信號狀態,包括機床輸入到控制器的信號和使用者通過控制器輸出到機床的控制信號。程序里是通過另一個輔助線程PubMonitorThreadHandler不斷的查詢MPC08控制器的狀態寄存器,并構建如下的對話框顯示出來:

        3 應用

        該系統利用了MPC08的強大功能,并在模塊化思想指導下進行軟件編程,最終有效的應用于PCB鉆床的控制系統中,運行效果良好,并且通過了在PCB數控機床中高精度和速度的加工測試,加工使用0.1-0.3mm大小的刀徑,孔間距為0.5mm,其各軸的最大速度,以及每分鐘的鉆孔個數均達到了預期的要求.

        參考文獻

        [1] 林宋,田建君. 現代數控機床. 化學工業出版社, 2003年9月

        [2] 王永章,杜君文,程國全. 數控技術. 高等教育出版社, 2001年12月

        [3] MPC08 手冊

        [4] Bjarne Stroustrup. C++程序設計語言.機械工業出版社, 2002年7月

        [5] David J. Kruglinski等. Visual C++6.0技術內幕. 北京希望電子出版社, 2002年3月

        [6] 譚浩強. C程序設計. 清華大學出版社, 1991年7月

        c++相關文章:c++教程



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 安丘市| 长泰县| 兰溪市| 梧州市| 汶上县| 宝丰县| 山丹县| 鄂托克旗| 金沙县| 图木舒克市| 孟津县| 衡东县| 凉山| 辽阳市| 克东县| 四子王旗| 右玉县| 集贤县| 青州市| 云和县| 抚宁县| 正安县| 岳阳市| 额济纳旗| 彩票| 延安市| 逊克县| 海晏县| 金阳县| 宜章县| 额敏县| 安福县| 霍城县| 昔阳县| 定南县| 金川县| 曲周县| 苍山县| 郁南县| 赫章县| 富民县|