作為運動(dòng)控制的核心部件,運動(dòng)控制器普遍采用16位或32位微控制器,其靈活的系統集成方式和高速的指令執行速度提高了運動(dòng)控制性能、改善了控制系統的精度、增強了系統構造的靈活性。如DeltaTau公司的PMAC系列、MEI公司的XMP系列的產(chǎn)品,均采用了高速數字信號處理器(DSP)和現場(chǎng)可編程門(mén)陣列(FPGA)技術(shù),一般可以控制1~8個(gè)軸。這些基于PC機總線(xiàn)的運動(dòng)控制器,雖然因采用高性能微處理器在信息處理速度方面有較大的提高,并在實(shí)際應用中提供了靈活的接口,但在使用以及系統集成的時(shí)候,仍然有很多不便,如價(jià)格比較高、應用非常復雜等。并且在結構上是封閉的,只能針對某一類(lèi)型的應用,控制策略單一,很難同時(shí)滿(mǎn)足控制系統在多種應用場(chǎng)合中的要求,實(shí)現定制應用。 過(guò)去,受計算機處理能力的限制,高性能的運動(dòng)控制技術(shù)需要在板處理器如單片機或DSP上實(shí)現,一般PC機中的微處理器很難同時(shí)完成如軌跡插補運算和伺服控制運算等任務(wù)。目前PC機微處理器已經(jīng)采用了更先進(jìn)的工藝技術(shù),信息處理能力明顯提高,可以滿(mǎn)足高速實(shí)時(shí)運動(dòng)控制的要求,硬件支持能力大大增強,并且PC機良好的軟件開(kāi)發(fā)環(huán)境使構造開(kāi)放式運動(dòng)控制平臺成為可能。本文提出了一種不采用在板處理器而以PC機微處理器為控制核心的開(kāi)放式四軸運動(dòng)控制器,該運動(dòng)控制器采用ALTERA公司的復雜可編程門(mén)陣列(CPLD)EPF6016實(shí)現硬件管理功能,硬件的功能可以通過(guò)軟件配置,而應用層的功能如運動(dòng)軌跡規劃和伺服控制等均由PC機完成。 1系統硬件結構 開(kāi)放式四軸運動(dòng)控制器的硬件結構如圖1所示。其中,虛線(xiàn)框內的部分由ALTERA公司的復雜可編程門(mén)陣列EPF6016實(shí)現。FLEX6000系列器件EPF6016是ALTERA公司為大容量設計提供的一種低成本可編程交織式門(mén)陣列,共有16000個(gè)可用門(mén),1320個(gè)邏輯單元,117個(gè)I/O引腳,每個(gè)I/O引腳都有獨立的三態(tài)輸出使能控制。該器件采用OPEFLEX結構,能在最小的芯片尺寸上保持高性能和高布線(xiàn)率。器件的基本組成是邏輯單元(LE)。每個(gè)邏輯單元由一個(gè)4輸入查找表、一個(gè)寄存器以及作為進(jìn)位鏈和級連鏈功能的專(zhuān)用通道。每十個(gè)邏輯單元組成一個(gè)邏輯陣列塊(LAB)。器件采用SRAM構造,可以通過(guò)外部EEPROM或控制器實(shí)現在線(xiàn)配置,能使設計者在設計初期以及設計測試過(guò)程中對設計作靈活的修改,同時(shí)也能夠通過(guò)在線(xiàn)重新配置來(lái)改變其內部功能。運動(dòng)控制器的硬件功能編程由ALTEPA公司提供的MAX+PLUSII開(kāi)發(fā)系統支持,設計采用了原理圖輸入方式,設計和調試比較直觀(guān)、簡(jiǎn)便。 該運動(dòng)控制器的硬件結構分為以下幾部分: (1)主機接口電路:運動(dòng)控制器采用了ISA-AT總線(xiàn)接口,同時(shí)設計了PC-104接口。數據總線(xiàn)寬度為16位,接口功能在EPF6016內部實(shí)現,其中包括總線(xiàn)地址譯碼、數據和命令鎖存、中斷及復位等功能。 (2)光電編碼器接口電路:運動(dòng)控制器接收四路光電編碼器差分輸入信號作為位置反饋,最高輸入頻率為1MHz,輸入的A、B相信號經(jīng)過(guò)差動(dòng)接收后,在EPF6016內部經(jīng)過(guò)數字濾波處理后進(jìn)行倍頻和辨向,產(chǎn)生的方向信號和脈沖信號進(jìn)入16位加減計數器。系統軟件可以讀取計數而獲得實(shí)際的位置變化。 (3)模擬量輸出電路:高性能的運動(dòng)控制器應采用高分辨率的D/A轉換器。為了保證模擬量控制信號的精度,并考慮到模擬量信號在線(xiàn)上傳輸引起的漂移和電壓降落,運動(dòng)控制器和伺服驅動(dòng)器之間的模擬控制接口信號至少應有12位以上的精度。本文中的運動(dòng)控制器采用了低成本、小封裝體積的雙16位串行輸入D/A轉換器AD1866,構成雙極性電壓輸出方式。在EPF6016內部設計了控制4路并發(fā)式并行/串行數據轉換以及4路D/A地址選擇電路,運動(dòng)控制器的模擬量電壓輸出范圍為±10V。 (4)數字量輸入輸出電路:運動(dòng)控制的所有I/O信號均采用光電隔離處理,考慮到I/O開(kāi)關(guān)信號可能產(chǎn)生的信號抖動(dòng)現象,對每一路I/O信號都進(jìn)行了相應的數字濾波處理以消除噪聲信號?刂破髟O計了40路I/O信號,其中包括16路專(zhuān)用輸入信號、2路特殊開(kāi)關(guān)輸入信號(用于坐標測量或定位的接觸式測頭信號和急停開(kāi)關(guān)信號),另外還設計了16路可編程通用I/O信號(8路輸入/8路輸出)。實(shí)際上,所有的I/O信號除個(gè)別信號具有獨特的功能外,都是開(kāi)放的,可以根據應用的特點(diǎn)設計具體的功能。 (5)模擬量輸入電路:對于一些控制場(chǎng)合,需要檢測或控制外部狀態(tài)量的變化,運動(dòng)控制器也設計了相應的單端或差動(dòng)式模擬量反饋輸入通道。系統采用MAXIM公司的8通道、12位轉換精度、150kHz采樣頻率的A/D轉換器MAX197。各模擬量通道可以獨立編程選擇輸入范圍:±10V、±5V、0~10V、0~5V,A/D轉換器的轉換基準采用內部基準。 (6)可編程定時(shí)器:由于在開(kāi)放式運動(dòng)控制系統中,插補運算和伺服控制都由PC機完成,這兩個(gè)控制任務(wù)通常不在一個(gè)任務(wù)循環(huán)中處理。一般而言,插補運算的周期要比伺服控制的周期長(cháng),因此兩個(gè)任務(wù)需要占用不同的系統資源。由于插補運算通常占用PC機的定時(shí)中斷資源,而伺服控制也是一個(gè)需要精確定時(shí)的任務(wù),因此在EPF6016內部設計了可編程16位定時(shí)器。該定時(shí)器可采用不同的時(shí)鐘源,定時(shí)范圍為0~300ms,最小分辨率為70ns,定時(shí)器產(chǎn)生的溢出動(dòng)作可以向PC機申請中斷。 (7)同步工作電路:在運動(dòng)控制系統中,各控制軸同步運行是一個(gè)很重要的要求,因此在EPF6016內部設計了同步控制電路和專(zhuān)門(mén)的控制字,支持多塊運動(dòng)控制器控制輸出同步刷新、反饋計數值同步讀取等操作。 (8)硬件看門(mén)狗電路:在運動(dòng)控制器中采用了DALLAS公司的看門(mén)狗復位及電壓監控芯片DS1232,以監測系統的軟硬件運行情況。當系統軟件運行死機的時(shí)候,看門(mén)狗電路產(chǎn)生信號復位系統,保證整個(gè)系統的可靠性?撮T(mén)狗定時(shí)時(shí)間可以編程設置為300ms、600ms、1.2s。 從硬件結構的組成特點(diǎn)可以看出,系統的組成核心是具有可重新配置特點(diǎn)的CPLD EPF6016,它實(shí)現了幾乎所有的外圍電路管理功能,而其它的電路都屬于標準的輔助電路。因此系統在結構上具有典型的開(kāi)放性,這對實(shí)現軟件的開(kāi)放是一個(gè)很好的支持。 2運動(dòng)控制器軟件設計 運動(dòng)控制器的軟件采用Borland C++語(yǔ)言編寫(xiě),可以按照庫函數的方式調用。根據實(shí)時(shí)運動(dòng)控制的特點(diǎn)和硬件資源的結構,函數庫分為兩類(lèi): (1)控制運動(dòng)控制器硬件操作的函數庫。包括針對運動(dòng)控制器硬件基本操作的函數,通過(guò)調用這些函數可以充分利用硬件資源,實(shí)現定制的應用。運動(dòng)控制器上的各個(gè)硬件功能的存取操作是通過(guò)一組讀寫(xiě)控制命令實(shí)現的,每一個(gè)控制命令占用一個(gè)PC機I/O空間地址,對每一個(gè)地址分別進(jìn)行讀或寫(xiě)操作將產(chǎn)生不同的功能。 硬件操作函數庫按照C++語(yǔ)言類(lèi)的方式構造,每個(gè)命令都是以運動(dòng)控制器硬件操作類(lèi)的公有成員函數形式存在。這些命令主要實(shí)現以下功能: 控制光電編碼器脈沖計數器,讀取或清除計數值; 設置運動(dòng)控制器的工作方式以及配置系統的各個(gè)硬件資源; 開(kāi)關(guān)量輸入輸出操作,實(shí)現包括通用I/O和專(zhuān)用I/O的查詢(xún)和設置、控制器硬件資源工作狀態(tài)查詢(xún)等功能; 模擬量控制命令,用于控制D/A轉換器和A/D轉換器實(shí)現模擬量輸出和模擬信號采集等。 (2)定制應用算法函數庫。根據實(shí)際應用的要求,以控制運動(dòng)控制器硬件操作的函數庫為基礎,可以有針對性地設計應用算法函數。本文以運動(dòng)控制為例設計了針對運動(dòng)控制的算法函數庫,實(shí)現運動(dòng)規劃、伺服控制等功能。其它控制算法和功能也可以在此基礎上進(jìn)一步擴展。運動(dòng)控制算法函數庫的各個(gè)命令也采用C++語(yǔ)言類(lèi)的方式進(jìn)行封裝,控制算法類(lèi)是運動(dòng)控制器硬件操作類(lèi)的繼承,調用和修改都十分方便,因而在結構上具有很好的開(kāi)放性。 在伺服運動(dòng)控制算法上,控制器將當前規劃的運動(dòng)位置、進(jìn)給速度送入伺服控制器與反饋的實(shí)際位置進(jìn)行比較,得到位置跟蹤誤差,經(jīng)過(guò)位置控制器后,送到D/A轉換器,輸出伺服驅動(dòng)器的控制信號。位置控制算法可以根據實(shí)際的要求采用多種控制策略。 本文的運動(dòng)控制器控制算法采用PID+速度前饋方式。通過(guò)調節各參數,這種控制算法能對大多數系統實(shí)現精確而穩定的控制。其控制結構如圖2所示。 3系統應用及實(shí)驗結果 從運動(dòng)控制器的軟硬件結構可以看出,這種設計具有比較好的開(kāi)放性,便于在軟硬件方面進(jìn)行功能擴展和重新配置,同時(shí)應用系統的構造也比較靈活。圖3為開(kāi)放式運動(dòng)控制平臺應用于伺服電機控制的結構圖。它由三部分組成:采用PENTIUM200 CPU的IBM PC機;四軸開(kāi)放式運動(dòng)控制器;交流伺服電機和驅動(dòng)器(采用松下MINAS-A系列100W伺服驅動(dòng)器;位置伺服控制周期分別為250us和1ms)。圖4和圖5分別是不同伺服控制周期時(shí)位置控制器采用PID控制算法的正弦位置跟蹤曲線(xiàn),其中,θr表示幅值為2500個(gè)脈沖、頻率為4Hz的正弦給定信號,θf(wàn)表示實(shí)際位置反饋,E表示位置跟蹤誤差。結果表明,系統可以方便地實(shí)現控制設置,具有較強的軟件擴展能力。 本文設計的開(kāi)放式四軸運動(dòng)控制平臺,由于采用了高容量低成本的CPLD EPF6016,將運動(dòng)控制器所需的硬件資源進(jìn)行了整合集成,提高了系統硬件的配置能力和可靠性,并且充分利用PC機軟件資源方面的優(yōu)勢,采用C++語(yǔ)言“類(lèi)”的結構對運動(dòng)控制算法進(jìn)行封裝,使系統軟件也具有很好的開(kāi)放性和集成性,可以方便地設計多種控制算法,實(shí)現“軟運動(dòng)控制”功能。這種設計不僅降低了成本,而且控制算法對使用者開(kāi)放,便于根據實(shí)際對象采用不同的控制算法定制應用。 |