基于DSP的運動(dòng)控制器的研究與開(kāi)發(fā)
2.1 系統軟件功能設計 運動(dòng)控制器通常作為一個(gè)獨立的過(guò)程控制單元用于工業(yè)自動(dòng)化生產(chǎn)中,它的功能是由硬件和軟件共同實(shí)現的硬件為軟件運,行提供了支撐環(huán)境,軟件負責實(shí)現系統要求的所有功能。本系統軟件需要完成控制和管理兩大任務(wù),圖 2 表示的是其軟件功能結構。
其中,系統的控制包括位置控制、插補、速度處理和開(kāi)關(guān)量 I/O 控制等,這類(lèi)任務(wù)的實(shí) 時(shí)性很強,所以軟件程序的優(yōu)先級也較高;系統的管理包括人機界面顯示、參數設置和程序 下載等,這類(lèi)任務(wù)的實(shí)時(shí)性要求不高,所以軟件程序的優(yōu)先級也相對較低??梢哉f(shuō),一個(gè)運 動(dòng)控制系統的基本功能均由上述功能的子程序實(shí)現,通過(guò)增加子程序可進(jìn)一步增加系統的功 能。
要實(shí)現這些功能,必須做好運動(dòng)控制器的軟件規劃,劃分各個(gè)功能模塊,才能在 DSP 芯片上設計運行程序。本系統軟件主要分為兩個(gè)層次,包括 PC 層軟件和 DSP 層軟件,其中PC 層軟件在單板式運動(dòng)控制中主要實(shí)現加工程序的傳輸和下載等功能;在插卡式運動(dòng)控制中,除此之外,還需實(shí)現加工情況顯示、加工命令發(fā)送等人機交互界面的功能。 運動(dòng)控制器的主要功能由 DSP 層完成,本課題的主要任務(wù)也是 DSP 層軟件的程序實(shí)現,具體包括:
1.運動(dòng)控制 運動(dòng)控制功能是運動(dòng)控制器的主要功能,包括位置控制、插補和輔助功能的輸入輸出I/O 控制。本系統基本功能是實(shí)現 XYZ 三軸的運動(dòng)控制,包括三軸聯(lián)動(dòng)的直線(xiàn)插補運動(dòng)和任意兩軸圓弧插補運動(dòng),可以實(shí)現步進(jìn)電機的運動(dòng)控制,提供單脈沖(即脈沖+方向)和雙脈 沖(即脈沖+脈沖)兩種控制方式。
2.速度控制
速度控制即調速,利用加減速算法,實(shí)現系統的平穩運動(dòng)。系統設計空行程時(shí)的運動(dòng)速度不小于 100KHz,加工過(guò)程中的插補運動(dòng)速度不小于 40KHz;當脈沖當量為 2.5 微米時(shí)可達到的空行程和加工的最高速度分別為 15m/min 和 6m/min。
3.通信功能
運動(dòng)控制器不是一個(gè)孤立封閉的系統,它必須和外界交換數據,主機通信主要完成兩個(gè) 任務(wù):一個(gè)是程序的下載,另一個(gè)是控制指令的發(fā)送和加工狀態(tài)的反饋。根據單板式控制和插卡式控制兩種不同的應用,分別有不同的通信方式。其中,在單板式控制中,通過(guò) USB總線(xiàn)進(jìn)行程序下載而通過(guò)串口進(jìn)行控制指令的發(fā)送和加工狀態(tài)的反饋;在插卡式控制中,兩種任務(wù)都是由 PCI 總線(xiàn)來(lái)完成。本系統的多用性特點(diǎn)主要體現在通信方式的不同上,支持PCI 總線(xiàn)方式、USB 總線(xiàn)方式以及異步串行總線(xiàn)方式,供用戶(hù)自由選擇。
4.參數設置 作為開(kāi)放式運動(dòng)控制器,應該允許用戶(hù)對控制系統的各運動(dòng)參數進(jìn)行實(shí)時(shí)調整與修改。
本系統設計將各參數存放在 FLASH 中,允許用戶(hù)通過(guò)人機界面對參數進(jìn)行修改,修改后的參數將在下次操作中起作用。
2.2 系統軟件層次設計
DSP 軟件采用模塊化和層次化的設計思路,為使結構清晰,整個(gè)系統軟件按功能群分割為多個(gè)文件分別處理和完成相應的任務(wù),主要分為三個(gè)層次:
1.主控層:不涉及具體操作,只負責各個(gè)任務(wù)調度、中斷安排、時(shí)間和優(yōu)先級處理等, 主控層只有一個(gè)文件 main.c,包括主函數和中斷函數,在主函數和中斷函數中調用算法層的函數來(lái)實(shí)現系統的各個(gè)功能。
2.算法層:負責具體任務(wù)執行,控制算法實(shí)現,系統的主要功能都在算法層實(shí)現,包 含的模塊由系統要求的各個(gè)功能來(lái)決定,算法層主要用以實(shí)現運動(dòng)控制、速度控制和系統管理等功能,各模塊之間通過(guò)標志位來(lái)聯(lián)系,不互相調用。
3.接口層:負責與硬件的接口,所有與外設有關(guān)的操作都在該層進(jìn)行處理,接口層中 包括 DSP 硬件資源的定義、系統硬件的驅動(dòng)等。除接口層外,系統其它層的程序禁止直接對外設進(jìn)行操作,接口層直接對外設進(jìn)行操作的函數盡可能做到功能完善。 綜上所述,本系統根據以上功能和層次進(jìn)行軟件設計并遵循以下原則:
(1)全局性:盡量保證系統各模塊負載均衡;
(2)正確性:數學(xué)推導嚴密,盡可能利用試驗驗證;
(3)結構化:軟件設計做到層次化、模塊化、封裝化;
(4)規范性:保證程序的易讀性、移植性和可維護性。
3 小結:
本文作者創(chuàng )新點(diǎn)是運動(dòng)控制是數控技術(shù)的核心,近年來(lái),隨著(zhù)開(kāi)放式數控系統的發(fā)展, 開(kāi)放式運動(dòng)控制器也得到了前所未有的發(fā)展。運動(dòng)控制器作為一個(gè)獨立的工業(yè)自動(dòng)化控制類(lèi)標準部件,已經(jīng)被越來(lái)越多的產(chǎn)業(yè)領(lǐng)域接受,并形成了令人矚目的市場(chǎng)規模。本文介紹了運動(dòng)控制器的總體設計方案,包括運動(dòng)控制器的硬件平臺以及軟件設計思路。
評論