系統(tǒng)的軟件選用了嵌入式實(shí)時多任務(wù)操作系統(tǒng)WindowsCE.net。根據(jù)數(shù)控雕銑機(jī)控制系統(tǒng)的需求,系統(tǒng)任務(wù)模塊可以分為:人機(jī)界面模塊,USB接口模塊和雕刻控制模塊。其中人機(jī)界面模塊包括LCD顯示和鍵盤指令的讀取;通過USB接口模塊讀取原始設(shè)計數(shù)據(jù);雕刻控制模塊對讀取的數(shù)據(jù)分析計算后完成速度控制和軌跡控制。軟件結(jié)構(gòu)圖如圖1所示。
圖1 系統(tǒng)軟件結(jié)構(gòu)圖
控制系統(tǒng)中,ARM通過對設(shè)計數(shù)據(jù)的分析和計算完成速度控制,F(xiàn)PGA通過插補(bǔ)運(yùn)算完成軌跡控制。控制系統(tǒng)應(yīng)用程序流程圖如圖2所示。
圖2 控制系統(tǒng)應(yīng)用程序流程圖
(1)讀取數(shù)據(jù),找出可在速度不出現(xiàn)突變的情況下可雕刻的最小單位的線條數(shù),稱之為判“S”。分別計算“S”中各軸的位移總量,定義“Sx”,“Sy”和“Sz”分別為X,Y和Z軸的位移總量。
(2)根據(jù)操作設(shè)置的雕刻最大速度和加速度,計算出該段位移中各軸的速度分量和加速度分量。
(3)判斷當(dāng)前數(shù)據(jù)處于哪種速度段,根據(jù)不同的情況計算各段位移的加速、勻速、減速段的脈沖數(shù)和各速度段的初始頻率等這些數(shù)據(jù),并把數(shù)據(jù)發(fā)送給FPGA。
(4)FPGA根據(jù)接收到的數(shù)據(jù)進(jìn)行插補(bǔ)運(yùn)算,最終控制步進(jìn)電機(jī)的轉(zhuǎn)速,實(shí)現(xiàn)三軸聯(lián)動。