国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ARM的嵌入式卷板機(jī)數(shù)控系統(tǒng)研究與設(shè)計

2015-07-01 09:31陳柏金
鍛壓裝備與制造技術(shù) 2015年3期
關(guān)鍵詞:數(shù)控系統(tǒng)寄存器編碼器

陳 卓,陳柏金

(華中科技大學(xué) 材料成形與模具技術(shù)國家重點(diǎn)實(shí)驗(yàn)室,湖北 武漢430074)

0 引言

卷板機(jī)是金屬加工行業(yè)廣泛使用的加工裝備。卷板機(jī)數(shù)控系統(tǒng)可滿足方便、高效、高精的生產(chǎn)要求。目前廣泛應(yīng)用于卷板機(jī)上的數(shù)控系統(tǒng)是基于工業(yè)控制計算機(jī)和PLC 開發(fā)的,技術(shù)已經(jīng)十分成熟。隨著電子行業(yè)技術(shù)的進(jìn)步,嵌入式處理器憑借自身優(yōu)勢得到越來越多的應(yīng)用。相對于傳統(tǒng)的基于PLC開發(fā)的數(shù)控系統(tǒng),嵌入式系統(tǒng)體積小,功耗低,成本低,同時能夠運(yùn)行嵌入式操作系統(tǒng),多任務(wù)處理能力強(qiáng),運(yùn)算速度快。從近年的發(fā)展趨勢看,工業(yè)控制系統(tǒng)的嵌入式化將是工業(yè)控制系統(tǒng)發(fā)展的一個重要方向。

本文詳細(xì)介紹一套采用ARM926EJ 核的S3C2416處理器和Altera 公司MAX II 系列CPLD EPM570T 144C5 為控制核心的數(shù)控系統(tǒng)設(shè)計方案。該系統(tǒng)具有完備的用戶接口和控制接口、運(yùn)行Linux 操作系統(tǒng)、擁有基于Qt 設(shè)計的友好觸控界面,可適用于常用的三輥或四輥卷板機(jī)控制。此系統(tǒng)具有一定的通用性,也可搭配合適的數(shù)控軟件應(yīng)用于其他工業(yè)控制場合。

1 數(shù)控系統(tǒng)硬件結(jié)構(gòu)

該數(shù)控系統(tǒng)硬件設(shè)計主要分為ARM 最小系統(tǒng)和CPLD 互聯(lián)以及基于CPLD 擴(kuò)展各種I/O 接口兩大部分。該數(shù)控系統(tǒng)具有64MB DDRII 運(yùn)行內(nèi)存,256MB SLC NAND Flash 存儲器用于存儲系統(tǒng)軟件和數(shù)據(jù),ARM 處理器運(yùn)行主頻為400MHz。ARM處理器是系統(tǒng)的控制核心,完成數(shù)據(jù)計算、系統(tǒng)控制、人機(jī)交互、通訊等任務(wù)。因ARM 芯片I/O 端口數(shù)量有限,而控制卷板機(jī)需要較多的I/O 端口,采用CPLD 擴(kuò)展各類控制接口。ARM 通過16 位數(shù)據(jù)總線、8 位地址總線、控制總線(片選、讀、寫信號等)以并行總線方式與CPLD 實(shí)現(xiàn)互聯(lián)。

該數(shù)控系統(tǒng)電源電壓為5V,由于數(shù)控系統(tǒng)需要有不同的電壓確保各類器件正常工作,在系統(tǒng)電源模塊中分別采用LM2596、AD0515、AD587 等專用電源器件實(shí)現(xiàn)系統(tǒng)所需的5V、3.3V、±15V、±10V 等各種不同電壓。CPLD 運(yùn)行時鐘由50MHz 的晶振提供。

卷板機(jī)數(shù)控系統(tǒng)需要對卷板機(jī)的工作輥、倒頭裝置等進(jìn)行控制,根據(jù)卷板機(jī)液壓系統(tǒng)原理,對各種液壓控制元件進(jìn)行控制,同時還需要對現(xiàn)場的各種傳感器、編碼器、開關(guān)量信號等進(jìn)行采集以用于工作輥運(yùn)動控制和監(jiān)測設(shè)備運(yùn)行狀態(tài),系統(tǒng)采用2 片CPLD 芯片擴(kuò)展了24/44 路開關(guān)量輸入/輸出接口、16/8 路模擬量輸入/輸出接口以及6 路增量式旋轉(zhuǎn)編碼器信號輸入接口以滿足控制需求,此外系統(tǒng)還具有觸摸屏LCD、USB、UART、以太網(wǎng)絡(luò)等接口。系統(tǒng)硬件部分設(shè)計成主控制電路板和各個接口電路板相分離的形式,便于構(gòu)成不同配置的系統(tǒng)。

數(shù)控系統(tǒng)硬件接口整體結(jié)構(gòu)如圖1 所示。

數(shù)控系統(tǒng)的各種硬件接口功能如下:

開關(guān)量輸出接口用于控制液壓電磁閥等控制元件,開關(guān)量輸入接口用于采集現(xiàn)場的各種開關(guān)量輸入值。采用PC817 光電耦合器實(shí)現(xiàn)開關(guān)信號的光電隔離,在數(shù)字量輸出時采用ULN2803 提高輸出功率。

增量式編碼器接口采集旋轉(zhuǎn)式編碼器信號,用于卷板機(jī)工作輥位移、角位移等的測量,需要將A+、A-、B+、B-、Z+、Z-差分信號轉(zhuǎn)為A、B、Z 單端信號,通過光電隔離以及信號整形來獲得良好的信號波形,再將信號電壓轉(zhuǎn)換為CPLD 引腳容許電壓即可送入CPLD。

圖1 基于ARM 的卷板機(jī)數(shù)控系統(tǒng)硬件結(jié)構(gòu)

AD 轉(zhuǎn)換電路用來測量卷板機(jī)液壓系統(tǒng)的工作壓力以及部分位移信號,采用12 位的AD 轉(zhuǎn)換器AD1674 和多路模擬開關(guān)AD7506 實(shí)現(xiàn)。

對于一些控制精度要求高的卷板機(jī),液壓缸的運(yùn)動控制采用了電液比例閥,需要模擬量輸出接口來用于控制電液比例方向閥和比例壓力閥,采用12位4 通道DA 轉(zhuǎn)換器DAC7724 芯片實(shí)現(xiàn)。

LCD 觸摸屏接口用于外接8 寸觸摸屏、USB 接口可以用于外接鍵鼠、UART 接口用于與上位機(jī)進(jìn)行通訊、以太網(wǎng)接口不僅可用于系統(tǒng)更新時的NFS掛載,同時也可用于實(shí)現(xiàn)控制系統(tǒng)網(wǎng)絡(luò)化,ARM JTAG 接口用于ARM 程序調(diào)試,CPLD 的JTAG 接口用于CPLD 程序的下載。

2 數(shù)控系統(tǒng)軟件

數(shù)控系統(tǒng)軟件實(shí)現(xiàn)人機(jī)交互、控制算法、分配和控制系統(tǒng)硬件資源、發(fā)出控制信號和設(shè)備狀態(tài)監(jiān)測等任務(wù)。卷板機(jī)數(shù)控系統(tǒng)軟件分為應(yīng)用控制層、操作系統(tǒng)層和硬件層三部分。該數(shù)控系統(tǒng)運(yùn)行Linux 操作系統(tǒng),其中操作系統(tǒng)層包括操作系統(tǒng)API、操作系統(tǒng)內(nèi)核、設(shè)備驅(qū)動程序三部分。應(yīng)用層軟件通過操作系統(tǒng)API 與系統(tǒng)層進(jìn)行信息交互,系統(tǒng)層則通過設(shè)備驅(qū)動程序驅(qū)動CPLD 與其他外設(shè),使信號通過硬件接口與被控設(shè)備產(chǎn)生交互以實(shí)現(xiàn)控制。系統(tǒng)軟件結(jié)構(gòu)以及三者之間的關(guān)系如圖2 所示。

2.1 應(yīng)用層軟件

圖2 卷板機(jī)數(shù)控系統(tǒng)軟件層次結(jié)構(gòu)

數(shù)控系統(tǒng)的應(yīng)用控制軟件主要包括人機(jī)交互模塊、控制模塊、數(shù)據(jù)采集模塊和故障診斷模塊,其中人機(jī)交互模塊包括工藝參數(shù)計算、系統(tǒng)參數(shù)設(shè)置等功能模塊。

2.1.1 人機(jī)交互模塊

人機(jī)交互模塊基于Qt 開發(fā),以水平下調(diào)式三輥卷板機(jī)人機(jī)交互模塊為例,其主要包括工藝參數(shù)計算、工藝參數(shù)選擇、系統(tǒng)參數(shù)設(shè)置、動作狀態(tài)輸入、輔助可視化、故障提示等主要功能模塊。

工藝參數(shù)計算模塊依據(jù)輸入板材尺寸和工件參數(shù),按工藝計算算法計算獲得對應(yīng)的加工工藝參數(shù),并將此工件參數(shù)和工藝參數(shù)分別保存到數(shù)據(jù)庫中的工件參數(shù)表和工藝參數(shù)表中。

加工工藝參數(shù)選擇是從數(shù)據(jù)庫中調(diào)出保存的工件參數(shù)所對應(yīng)的工藝參數(shù)進(jìn)行加工,同時加工工藝參數(shù)將在主界面工序列表中顯示,可對列表中的工藝參數(shù)進(jìn)行編輯修改并保存。

系統(tǒng)參數(shù)設(shè)置提供一些加工常用的參數(shù)值或極限值,可用于加工或限定部分輸入?yún)?shù)值大小以保證卷板機(jī)的加工精度,保存在數(shù)據(jù)庫的系統(tǒng)參數(shù)表中,可以根據(jù)具體情況進(jìn)行參數(shù)的修改。

動作狀態(tài)輸入是對卷板機(jī)進(jìn)行一系列手動調(diào)節(jié)。輔助可視化將直觀地顯示出上輥?zhàn)蟆⒂抑鞲讐毫鸵簤弘姶砰y狀態(tài),由OpenGL 設(shè)計的模擬工作輥可模擬加工時工作輥狀態(tài)及位置變化。故障顯示是對設(shè)備運(yùn)行的故障作出提示。三輥卷板機(jī)數(shù)控系統(tǒng)界面如圖3 所示。

2.1.2 控制模塊

控制模塊實(shí)現(xiàn)卷板機(jī)加工的自動控制,使卷板機(jī)按照設(shè)定的加工參數(shù)對卷板機(jī)工作輥進(jìn)行運(yùn)動控制,完成一定規(guī)格工件的加工。控制程序通過中斷方式實(shí)現(xiàn),由CPLD 提供中斷信號。

對于多數(shù)采用液壓傳動系統(tǒng)的卷板機(jī),由液壓馬達(dá)驅(qū)動工作輥?zhàn)龌剞D(zhuǎn)運(yùn)動、液壓缸實(shí)現(xiàn)工作輥的移動或工作輥的傾斜,可能還有翻倒缸控制倒頭的復(fù)位和翻倒、平衡缸控制工作輥的平衡等。在卷板機(jī)液壓系統(tǒng)中,工作輥、倒頭裝置等被控對象都有對應(yīng)的液壓電磁閥等被控元件,通過對這些電磁閥動作進(jìn)行一定的組合可以使被控對象執(zhí)行相應(yīng)的動作。卷板機(jī)加工時,控制程序使用工件的加工工藝參數(shù)來設(shè)定每道加工工序中各個工作輥的位置值等相關(guān)參數(shù),并結(jié)合采集的位置反饋值,工作輥動作控制子程序?qū)凑找欢ǖ目刂扑惴óa(chǎn)生控制信號控制液壓系統(tǒng)中的液壓電磁閥等控制元件使工作輥執(zhí)行相應(yīng)的動作或到達(dá)指定位置。卷板機(jī)某工作輥的運(yùn)動控制流程如圖4 所示。

圖3 基于Qt 設(shè)計的三輥卷板機(jī)人機(jī)交互界面

圖4 工作輥位置控制流程

當(dāng)卷板機(jī)的所有工作輥完成了系統(tǒng)設(shè)定的所有加工工序,加工過程結(jié)束。如果卷板機(jī)有倒頭裝置,則控制倒頭液壓缸帶動倒頭下降,取出制品。

需要注意的是對于一個工作輥由多個液壓缸帶動的情況,工作輥時移動需要對液壓缸的運(yùn)動進(jìn)行同步。采用“主從模式”來進(jìn)行同步,即設(shè)定其中一個液壓缸的運(yùn)動為主運(yùn)動,其輸出為理想輸出,其余液壓缸的運(yùn)動為從運(yùn)動,從運(yùn)動受到控制來跟蹤主運(yùn)動的理想輸出來實(shí)現(xiàn)液壓缸的同步運(yùn)動。

2.1.3 數(shù)據(jù)采集模塊

數(shù)據(jù)采集模塊用于采集各種反饋量和狀態(tài)值便于了解卷板機(jī)的工作狀態(tài)。采集各種開關(guān)量、壓力傳感器、位移傳感器、編碼器的反饋值等用于監(jiān)測設(shè)備工作狀態(tài)和工作輥的運(yùn)動控制。

2.1.4 故障診斷模塊

故障診斷程序主要用于發(fā)現(xiàn)設(shè)備故障并可在數(shù)控系統(tǒng)界面的錯誤提示窗口上做出故障提示便于故障查找和排除,實(shí)時了解卷板機(jī)的運(yùn)行狀態(tài)。

2.2 系統(tǒng)層程序

本數(shù)控系統(tǒng)運(yùn)行Linux 操作系統(tǒng),系統(tǒng)層需要有CPLD 設(shè)備的驅(qū)動程序才能使CPLD 正常工作。CPLD設(shè)備驅(qū)動的基本原理是將CPLD 作為Linux 操作系統(tǒng)的一個字符型設(shè)備文件,通過Linux 系統(tǒng)提供的設(shè)備文件統(tǒng)一函數(shù)接口進(jìn)行各種操作,如設(shè)備的初始化和釋放、設(shè)備的讀和寫、設(shè)備的打開和關(guān)閉等。需要注意的是,用戶空間對CPLD 設(shè)備的訪問通過內(nèi)存映射機(jī)制實(shí)現(xiàn),即將CPLD 芯片看作是連接在ARM處理器芯片存儲Bank 上的一段物理地址來尋址,然后將此段物理地址空間映射到虛擬地址空間,通過操作系統(tǒng)API 可對此I/O 內(nèi)存資源進(jìn)行訪問。

本系統(tǒng)中,CPLD 掛載在ARM 的nRCS5 對應(yīng)的存儲空間上,其物理起始地址為0x28000000,通過ioremap()函數(shù)調(diào)用可將對應(yīng)大小的一段物理地址映射到內(nèi)核虛擬地址空間。通過ioread()、iowrite()類函數(shù)對內(nèi)核虛擬地址空間進(jìn)行讀寫訪問,使用copy_to_user()從內(nèi)核虛擬地址空間中讀數(shù)據(jù)到用戶空間,而寫操作則使用copy_from_user()實(shí)現(xiàn)相反的功能。

2.3 硬件層程序

硬件層程序需要編寫CPLD 程序,在該數(shù)控系統(tǒng)中,CPLD 程序主要完成對系統(tǒng)的輸入輸出信息進(jìn)行預(yù)處理以及為外圍芯片如AD/DA 轉(zhuǎn)換器等芯片提供運(yùn)行時序和進(jìn)行相關(guān)控制。CPLD 程序主要包括ARM 與CPLD 通信程序、開關(guān)量I/O 信號處理程序、AD、DA 芯片時序控制程序、旋轉(zhuǎn)編碼器信號處理程序、中斷信號發(fā)送程序幾個部分,采用Verilog HDL 語言可方便地實(shí)現(xiàn)各種功能。

ARM 與CPLD 的通信程序?qū)崿F(xiàn)ARM 對CPLD內(nèi)部寄存器的訪問,原理是將CPLD 作為ARM 的外部存儲器掛載在ARM 的存儲器Bank 上,通過內(nèi)存映射,按照ARM 讀寫總線的時序要求來編寫Verilog HDL 程序,按地址訪問CPLD 內(nèi)部定義的寄存器。實(shí)現(xiàn)正常的讀、寫操作需要設(shè)置好ARM 處理器控制寄存器對應(yīng)的位寬、總線速率等。

開關(guān)量信號處理程序負(fù)責(zé)讀取開關(guān)量輸入信號以及發(fā)出開關(guān)量輸出信號。輸入信號由硬件接口獲取,經(jīng)調(diào)理電路后寄存到CPLD 內(nèi)部定義的寄存器中,供ARM 讀取;開關(guān)量輸出信號則由ARM 將要輸出的信號發(fā)送到CPLD 相應(yīng)的寄存器,并由CPLD對應(yīng)的引腳輸出,信號經(jīng)過調(diào)理電路,最終通過數(shù)字量輸出接口輸出。

A/D 轉(zhuǎn)換時序程序是根據(jù)芯片手冊提供的時序要求編寫出其轉(zhuǎn)換狀態(tài)變化的有限狀態(tài)機(jī)程序,CPLD 產(chǎn)生時序信號并提供給A/D 轉(zhuǎn)換器芯片。轉(zhuǎn)換后的數(shù)據(jù)寄存到CPLD 的寄存器中由ARM 讀取。由于16 路模擬量需分時送入A/D 轉(zhuǎn)換器,需要編寫多路模擬開關(guān)的通道選擇程序,設(shè)計思路是CPLD 程序接收ARM 發(fā)送開始通道和結(jié)束通道的地址,然后程序可以實(shí)現(xiàn)分時選通這兩個通道之間的通道,或者選通任意單個通道。

D/A 轉(zhuǎn)換的數(shù)據(jù)則由ARM 通過CPLD 寄存器間接發(fā)送到D/A 轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。由于系統(tǒng)的數(shù)據(jù)總線為16 位,D/A 轉(zhuǎn)換器為12 位,CPLD 程序接收ARM 發(fā)送的包含D/A 轉(zhuǎn)換器通道地址和轉(zhuǎn)換數(shù)據(jù)的數(shù)據(jù)幀并發(fā)送到D/A 轉(zhuǎn)換器的各個通道的數(shù)據(jù)寄存器,然后CPLD 程序接收ARM 發(fā)送轉(zhuǎn)換信號即可實(shí)現(xiàn)各個通道的模擬量輸出。

增量式旋轉(zhuǎn)編碼器信號處理程序?qū)PLD 讀取到的編碼器A、B 兩相信號進(jìn)行四倍頻、依據(jù)相位進(jìn)行辨向、對編碼器信號進(jìn)行計數(shù)操作后得到編碼器的計數(shù)值,寄存在CPLD 寄存器中供ARM 讀取。每一路編碼器對應(yīng)一個計數(shù)寄存器,同時還定義一個6 位的清零寄存器,通過對相應(yīng)的位賦1 來清零相應(yīng)編碼器的計數(shù)寄存器。

中斷信號發(fā)送程序每隔一定時間發(fā)送一個中斷信號給ARM,是控制程序運(yùn)行的中斷源程序,系統(tǒng)中設(shè)置每2ms 發(fā)送一個中斷信號。

CPLD 程序使信號在硬件接口上正常輸入與輸出,實(shí)現(xiàn)數(shù)控系統(tǒng)對設(shè)備的控制。

3 結(jié)論

基于ARM 的嵌入式卷板機(jī)數(shù)控系統(tǒng)接口豐富,結(jié)構(gòu)簡單,可以根據(jù)控制需要配置不同的接口模塊,具有一定的通用性和較好的靈活性,用戶界面友好,結(jié)構(gòu)緊湊、功耗低,可用于目前普遍使用的卷板機(jī)數(shù)控系統(tǒng)的替換和改造。

[1]方四喜.埃斯頓嵌入式數(shù)控系統(tǒng)在三輥卷板機(jī)上的解決方案[J].鍛壓裝備與制造技術(shù),2012,47(4):51-53.

[2]邢偉榮,原加強(qiáng),郭永平.水平下調(diào)式結(jié)構(gòu)在大型三輥卷板機(jī)上的應(yīng)用[J].鍛壓裝備與制造技術(shù),2006,41(5):20-22.

[3]劉 源,朱善安.基于ARM9 和CPLD 的嵌入式工業(yè)控制系統(tǒng)[J].機(jī)電工程,2007,24(1):39-41.

[4]吳彥宏,陳相寧.S3C2410 在Linux 下的FPGA 驅(qū)動[J].科學(xué)技術(shù)與工程,2008,8(17):5034-5038.

[5]閆莎莎,朱世強(qiáng),劉華山,等.基于CPLD 的光電編碼器測量系統(tǒng)[J].機(jī)電工程,2009,26(1):77-79.

[6]竇高強(qiáng),車小霞.數(shù)控弧線下調(diào)式30×2500 四輥卷板機(jī)液壓系統(tǒng)的優(yōu)化[J].鍛壓裝備與制造技術(shù),2014,49(5):39-40.

[7]李 森.四輥卷板機(jī)數(shù)控系統(tǒng)的設(shè)計與研究[D].南京:南京航空航天大學(xué),2012.

[8]李沙妮,等.大型卷板機(jī)回轉(zhuǎn)電液系統(tǒng)的設(shè)計與優(yōu)化[J].液壓氣動與密封,2014,(5).

猜你喜歡
數(shù)控系統(tǒng)寄存器編碼器
融合CNN和Transformer編碼器的變聲語音鑒別與還原
STM32和51單片機(jī)寄存器映射原理異同分析
Lite寄存器模型的設(shè)計與實(shí)現(xiàn)
基于FPGA的同步機(jī)軸角編碼器
基于FANUC 32i A數(shù)控系統(tǒng)的外部測量設(shè)計
西門子840D sl數(shù)控系統(tǒng)在SC125大型車銑鏜床技術(shù)改造中的應(yīng)用
基于FANUC Oi mate TD數(shù)控系統(tǒng)的手動功能開發(fā)
數(shù)控系統(tǒng)中GUI軟件平臺設(shè)計和實(shí)現(xiàn)
應(yīng)用旋轉(zhuǎn)磁場編碼器實(shí)現(xiàn)角度測量
基于數(shù)字信號處理的脈沖編碼器