摘要:Modbus協議由于其開放性、透明性、成本低、易于開發(fā)等優(yōu)點,在工業(yè)領域被廣泛使用。MCX314運動控制芯片具有高精度的可控性以及接口簡單、編程方便等特點,因此在工業(yè)生產中常被用于伺服電機的精確控制。介紹了Modbus串口協議的通信原理以及MCX314運動控制芯片的應用,并結合兩者開發(fā)出探作簡單、控制精確、帶有良好人機交互界面的自動鉆孔系統,該系統以C8051系列單片機為核心微處理器與上位機通信并對運動芯片進行控制,實現了通過觸摸屏對多個鉆孔機同時進行操作的一對多控制,并在工業(yè)生產中通過測試。
關鍵詞:Modbus;觸摸屏;MCX314;自動鉆孔
0 引言
在工業(yè)生產中經常需要對各類器材進行鉆孔、啄鉆,或者進行螺絲攻牙等操作。由于此類操作工作量大、動作繁瑣,通過人工操控效率低、精度不足,因此有必要通過一個具有良好人機交互方式的自動鉆孔系統對鉆頭動作進行控制,實現鉆孔操作的簡單化與自動化。
在鉆孔過程中需要經常觀察系統運行狀態(tài)或者對運行參數進行修改,通過觸摸屏良好的人機交互方式可以方便快捷地實現這一目的。現今多數觸摸屏控制是基于板載操作系統的平臺上,如ARM-Linux,WinCE,μC/OS等,但此類操作平臺價格較高,且開發(fā)流程復雜,不適用于在工業(yè)中大規(guī)模生產使用。
本文基于Modbus串口協議的威倫觸摸屏與通用型C8051系列單片機作為硬件平臺,結合MCX314運動控制芯片,實現了一個結構簡單、成本低、有良好人機交互且控制精度高的自動鉆孔系統。
1 自動鉆孔系統架構
為實現良好的人機交互,系統通過觸摸屏實時顯示鉆頭運行狀態(tài),包括位置,轉速,鉆孔速度等參數,同時可以對轉速,鉆孔速度,鉆孔深度,攻牙牙距等參數進行設置,設置完成后通過觸摸屏上的按鍵分別進行自動鉆孔、自動攻牙、啄鉆等操作。
系統中,鉆頭運行距離以毫米為基本單位,要求達到小數點后2位的精度,也即10-2mm,對鉆孔速度則以10-2mm/s為最小調節(jié)精度。最高轉速200 r/s,最大鉆孔深度為200 mm。攻牙過程中,牙距值范圍為0.01~1.99。同時要求提供可設定次數的啄鉆操作。
人機交互界面采用臺灣威倫電子公司開發(fā)的MT6100i觸摸屏,使用Modbus協議與微處理器C8051系列單片機進行通信。微處理器通過總線方式對MCX314運動控制芯片進行控制與參數讀取。MCX314芯片通過光電耦合驅動伺服電機,帶動鉆頭,整體系統框架如圖1所示。
2 系統主控板硬件設計
主控板以微控制器為核心,實現對運動控制芯片的控制以及與觸摸屏的串口通信,并對運動控制芯片的輸出脈沖進行光電耦合,作為伺服電機的驅動輸入。
2.1 主控板硬件框圖
主控板主要由微處理器C8051F040和MCX314運動控制芯片構成,兩者通過16位數據/地址總線方式通信,MCU通過讀寫運動控制芯片內部寄存器對其輸出脈沖的開關、速率和脈沖量等進行設置,并經過光電耦合電路驅動伺服電機做出不同的動作。主控板提供RS 232的串行接口作為MCU與觸摸屏的通信接口,通過Modbus協議由觸摸屏控制MCU對運動控制芯片發(fā)送指令以及讀取數據。同時還提供E2PROM作為參數存儲模塊,可將設定的運行參數保存起來,系統啟動時先讀取E2PROM獲取參數,而無需每次開機都重新設置參數。主控板框圖如圖2所示。
2.2 主拉芯片C8051F040
C8051F040單片機是美國Cygnal公司生產的完全集成的混合信號系統級芯SoC,具有64 KB FLASH、4 352 B RAM,CAN控制器2.0,2個串行接口,5個16位定時器,12位A/D轉換器,8位A/D轉換器及12位D/A轉換器等,它內部還帶有JTAG接口,在使用JTAG調試時,所有的模擬和數字外設都可全功能運行,使調試變得非常方便。
2.3 運動控制芯片MCX314
MCX314是日本NOVA公司研制的DSP運動控制專用芯片,通過它可以控制由步進電機驅動器或由脈沖型伺服電機驅動的4軸的位置、速度和插補,從而進行定位控制、插補驅動、任意兩軸的圓弧插補,脈沖速度范圍在1 pps~4 Mpps,可滿足絕大多數的高速驅動的需求。在MCX314中對應于每軸電機都有4個在驅動過程中使之減速停止/立即停止的外部輸入信號。通過對這些輸入信號的分配可以進行原點附近的高速檢
索、原點檢索、編碼器Z相檢索等,該芯片還有輸入位置控制信號、報警信號和編碼器信號,而且,在驅動過程中還可以實時讀取控制器運動軌跡的理論位置、實際位置、驅動速度、加速度、加減速度狀態(tài)等。
MCX314運動控制芯片的性能指標如下:
(1)能夠同時控制4個軸的伺服電機或步進電機;
(2)輸出的驅動速度范圍是從1 pps~4 Mpps;
(3)脈沖輸出頻率的精確度大于±0.1%(在CLK=16 MHz時);
(4)圓?。本€插補中,坐標范圍是從當前位置到-8 388 607~+8 388 607間;
(5)圓弧/直線插補中,插補精度是±0.5 LSB;
(6)圓?。本€插補中,插補速度范圍是從1 pps~4 Mpps;
(7)連續(xù)插補的最大驅動速度是2 MHz。
為達到系統對速度及位置精度的控制要求,設計中采用了10-3mm/p的下鉆電機與10-3rad/p的轉動電機。
3 軟件設計
3.1 系統軟件流程
系統軟件包括觸摸屏軟件與MCU程序。其中觸摸屏軟件設計包括操作界面與各寄存器地址分配,通過威倫電子公司的配套組態(tài)軟件Easy Builder系列可以方便地完成這部分軟件的設計與下載。本系統中觸摸屏參數設置為:PLC類型為Modbus RTU,通信口類型設置為RS 232/2W,波特率、數據位個數、效驗位、停止位個數設置與MCU系統一致。MCU通過串口中斷接收觸摸屏指令,進而控制運動芯片,其程序主要包括MCU初始化與運動芯片初始化、串口中斷程序、MCX314運動芯片讀/寫驅動、鉆孔/攻牙/啄鉆操作函數以及E2PROM讀寫程序。MCU主函數流程如圖3所示,串口中斷程序流程如圖4所示。
3.2 Modbus協議
Modbus協議是MODICON公司1979年為自己的PLC產品而推出的一個開放式現場總線通信協議,是應用于電子控制器上的一種通用語言,是一種有效支持控制器之間以及控制器經網絡(如以太網)與其他設備之間通信的協議,現已成為一種通用工業(yè)標準,不同廠商生產的控制設備可以通過該協議連成工業(yè)網絡,集中監(jiān)控。
Modbus協議定義了一種通用的消息結構,描述了控制器請求訪問其他設備的一個過程,包括如何回應來自其他設備的請求,以及怎樣偵測錯誤并記錄,并制定了消息域和內容的公共格式。當在此網絡上通信時,每個控制器都擁有一個惟一的地址,并識別按地址發(fā)來的消息,最終決定要產生何種動作。如果需要回應,則控制器將生成反饋信息并按此協議格式回應。
3.3 Modbus RTU通信模式
Modbus協議包括2種傳輸模式,即ASCII碼和RTU模式。控制器可以設置為2種傳輸模式中的任何一種在標準的Modbus網絡上通信。本設計采用RTU傳輸模式。
當控制器設備選用RTU模式通信時,消息中的每個字節(jié)包含2個4位的十六進制字符。這種方式的主要優(yōu)點是:在同樣的波特率下,能夠比ASCII碼方式傳送更多的數據。Modbus RTU主機消息幀結構如表1所示。
其中,地址碼代表從機地址,設置為0,表示廣播消息。功能碼表示主機指令,包括讀/寫控釗狀態(tài)、讀/寫寄存器等。數據區(qū)則為讀/寫寄存器地址及讀取位數。RTU模式采用CRC校驗。
相應的從機返回消息幀結構與主機消息幀結構類似,但是附加了數據字節(jié)長度,如表2所示。
3.4 MCX314運動控制芯片控制
MCU通過16位數據/地址總線與MCX314進行通信,可選擇8位/16位數據總線格式。本設計采用了8位數據總線格式,在16位總線中分配8位為數據線,4位為地址線,4位為時序控制線。
MCX314是寄存器控制型芯片,對其所有操作都基于寄存器的讀/寫,按照其發(fā)送時序,先發(fā)送地址,后讀取數據,其基本讀/寫函數實現如下:
讀8位寄存器函數(寫寄存器函數與其類似,只需寫完置位P7):
MCX314內部寄存器均為16位,基于以上讀8位寄存器函數實現讀16位寄存器函數(寫寄存器函數類似):
由于程序分別在串口中斷與主函數處理指令過程中調用MCX314讀/寫寄存器函數,可能導致函數重入,造成寄存器讀/寫數據紊亂,因此在函數內部定義標志位,設計讀/寫函數為原子操作,防止函數重入。
基于以上讀/寫寄存器函數可對MCX314進行一系列操作控制,包括寫入數據、讀取數據、驅動指令與插補指令。在本設計中,寫入數據及讀取數據分別對應參數設置與系統狀態(tài)的實時顯示;驅動指令用于鉆孔運動與啄鉆運動;插補指令用于限定牙距的螺絲攻牙運動。通過上述指令實現以下系統操作函數,即運動芯片初始化函數、原點搜尋運動函數、定距手動鉆孔函數、自動鉆孔函數、啄鉆函數、手動攻牙函數、自動攻牙函數等。
4 結語
利用Modbus串口協議開放、透明、開發(fā)容易等優(yōu)點,結合MCX314運動控制芯片的高精度可控性,以及編程方便的總線接口方式,設計出成本低、操作簡單、人機交互界面友好的觸摸屏自動鉆孔系統。本系統對位置與速度控制可分別精確至1×10-3mm與1×10-3mm/s,最高速度分別為4 000 mm/s與4 000 rad/s,最大鉆孔深度可達8 000 mm,達到了工業(yè)生產中進行自動鉆孔或螺絲攻牙的性能指標,并在工業(yè)生產中通過初步測試,工作穩(wěn)定。由于Modbus協議具有網絡控制能力,在實際工業(yè)生產中可并聯多個鉆孔系統共用一個觸摸屏,通過觸摸屏同時控制不同系統進行不同操作,或者采用廣播模式控制多個系統進行同一操作,進一步實現低成本和自動化。