宋 健,曾穎峰
(四川工程職業技術學院電氣信息工程系,四川 德陽618000)
隨著現代經濟快速發展,制造業生產規模不斷擴大,我國已成為全球機床市場最大的生產國和消費國。當前,在我國數控加工領域廣泛使用的計算機數控系統(CNC)主要包括從國外進口的發那科、西門子、三菱、海德漢等知名國際品牌和廣數、華中數控和凱恩帝等國產數控系統。但是,無論是進口還是國產數控系統,產品結構開放性差[1]、價格高,并且均以通用CNC編程加工為主,對操作者編程加工能力及操作技能要求高,大大制約了生產的普及型和多樣性。
本文以STM32F103VC嵌入式[2]處理器為核心,設計了一種結構簡單、速度響應快、操作方便、性價比高、安全性好且適用于車、銑加工的數控系統。
CNC設計的關鍵點在于結合機床加工范圍和加工能力,如何實現軸(主軸、進給軸)的精準運動控制功能和M、S、T等輔助功能。
系統結構設計如圖1所示,系統構架采用功能模塊式結構和RS485通信主從控制模式,功能模塊包括STM32F103VC主芯片運動控制、觸摸屏輸入、PLC輔助控制、模擬主軸變頻控制、伺服進給脈沖控制和編碼器解碼反饋等幾個部分。

圖1 系統結構
STM32F103VC作為運動控制器主芯片[3],有很高的運算處理能力和高速高響應特性,能實現單周期32位乘法運算,最高工作頻率可達72MHz,1.25DMIPS/MHz,中斷延遲時間80~160ns;同時,STM32F103VC擁有80個I/O端口,16個外部中斷,8個定時器,能獨立處理4個正交編碼器脈沖計數,有2個12位的DAC通道,5個USART接口。
為避免STM32F103VC直接驅動顯示屏的操作界面從而影響伺服運動控制的處理速度,采用觸摸屏RS485接口組態完成加工信息的相互傳遞,將加工坐標、進給速度及其它初始化數據通過RS485接口傳遞給STM32F103VC,STM32F103VC對數據進行分析處理并根據操作要求實現進給軸控制。
如圖2所示為伺服控制功能接口(X軸)所示,STM32F103VC外接25個行列式矩陣功能鍵盤,采用線反轉法編程識別鍵號,實現X/Y/Z軸正負向運動、進給倍率和主軸倍率增減、主軸正反停、刀架換刀、軸伺服使能以及復位等按鍵功能。I/O輸入設置為浮空模式,輸出設置為推挽模式,為保證得到正確的響應,設置了RC串聯濾波按鍵消抖功能,按鍵連接I/O端為 PC0、PC1、PC3~PC5,PE2~PE6。對于 X 軸伺服驅動器進給脈沖,選用速度、方向脈沖輸入端為光耦隔離輸入的驅動器(例如:松下Minas A4系列驅動器),則僅需通過STM32F103VC內部定時器中斷輸出控制PA13電平高低,用以控制速度,而PA14則作為方向信號控制。為驗證進給位置、速度的準確性,引入編碼器信號反饋。因伺服驅動器增量式編碼器反饋多采用差分輸出模式,故選用AM26LS32AC四路高速差動電路接收器,將差分信號轉化為A、B、Z脈沖信號供STM32F103VC內部定時器進行編碼器模式計數。在此,X軸編碼器反饋的A、B正交信號接收端為TIM5_CH1、TIM5_CH2即PA0、PA1輸入端。

圖2 伺服控制功能接口
STM32F103VC作為主站,實時訪問觸摸屏,要求其上傳進給軸傳動比、絲桿螺距、運動控制軌跡類型和反向間隙等。通過反饋數據以及相應的功能按鍵進行插補運算,發出進給脈沖控制伺服驅動器作進給運動。例如,要求在XY平面內從起點(10、10)到終點(100、200)位置實現直線的銑削運動,XY軸傳動比均為1∶1,XY軸絲桿螺距均為8 mm,進給量為0.1 mm/r,主軸速度為1 000 r/min,編碼器線數為2 500,電子齒數為4倍頻,則可計算出其脈沖當量為0.0008 mm,再將坐標值轉化為脈沖當數。如圖3所示,采用逐點比較插補法[4],通過計算當前點P與起點的斜率,判斷位于理想直線的上方還是下方,依據給定速度和倍率,調整定時器中斷周期,向x或y軸驅動器發出1個進給脈沖信號,直至到達終點。

圖3 逐點比較直線插補
為滿足數控機床主軸在不同的加工工藝條件下均能獲得理想的速度,主軸的控制通常要求調速范圍寬且能實現無級調速,因此選用變頻器控制方式。變頻器速度控制有總線控制、多段速控制、模擬信號控制等多種方法,考慮到模擬信號控制方式適用性寬廣,在此采用STM32F103VC芯片的DAC控制功能進行速度控制。
圖4為電壓比例放大電路,STM32F103VC內部的DAC輸出電壓(0~3.3 V)經PA4端口送至同相比例放大器LM358,轉化為0~10 V線性電壓,作為變頻器給定,配合變頻器的V/F曲線功能即可得到準確的頻率輸出,從而實現主軸電機轉速控制功能。

圖4 電壓比例放大電路
考慮到數控車床通常要求具備螺紋加工功能,主軸控制引入速度反饋功能,將主軸編碼器輸出的差分信號送入另一片AM26LS32AC中,再將處理后得到的A、B正交脈沖信號接入定時器編碼方式的TIM3_CH1、TIM3_CH2接口,即 PA6、PA7輸入端。如此,可檢測到主軸轉動的方向和速度,配合進給運動實現螺紋加工。
該數控系統的設計采取1主2從模式,STM32F 103VC控制器為主機,PLC輔助控制以及觸摸屏控制為從機,通過RS485組態通信,采用標準的Modbus通信協議[5]。
數控系統中設置了兩個從站,輔助控制器PLC以及操作觸摸屏,其中,PLC選取臺達DVP24ES200T,該機自帶16個輸入點和8個輸出點。輸入地址分配如表1所示,主要用于X/Y/Z軸的限位、回零、急停和刀位檢測等信號輸入。

表1 輸入地址分配
輸出地址分配如表2所示,主要用于冷卻、潤滑、主軸正反轉、刀架換刀及卡盤卡緊、放松等輔助功能的控制。

表2 輸出地址分配
人機界面[6]載體選用昆侖通態TPC7062i觸摸屏,該觸摸屏以Cortex-A8 CPU為核心,主頻600 MHz,配置RS485接口1個。人機界面選項主要包括參數輸入、故障診斷、坐標變換、加工仿真以及編程操作等,編程操作界面如圖5所示,該界面區別于傳統CNC界面模式,加工指令采用對話框模式操作,加工指令主要包括點到點運行(PTP)指令、直線加工指令(LINE)、順圓弧加工指令(CIRC)、逆圓加工指令以及樣條曲線加工指令(SPL)等,操作方便快捷;同時,該界面還具備加工信息實時反饋功能。

圖5 編程操作界面
安全性、可靠性和穩定性是衡量數控系統性能的重要指標。為此,針對急停和行程限位等重要信號,本系統采用雙CPU模式和異同CPU架構,以實現機床的緊急停止功能。如圖6所示,急停信號采用雙通道形式,一路常閉觸點連接PLC的X0接口,另一路常閉觸點送入高速光耦6N136,6N136輸出再送入STM32F103VC的PA5端口,X0和PA5均采用中斷編程方式,進行邏輯或處理。若X0檢測輸入斷開,則PLC立刻切斷伺服進給供電以及停止主軸旋轉;若PA5檢測輸入斷開,則立刻停止發送速度信號并進行制動,若在一定時間間隔內僅檢測到X0或PA5信號斷開,則立刻停車、報警,要求檢查急停信號通路故障,以確保安全。

圖6 急停安全接口
為實現數控加工的多樣性、普及型及簡單化操作,本文選用STM32F103VC嵌入式32位單片機作為數控系統的主控芯片,采用了一種主從結構設計模式實現對機床的控制功能,經對伺服進給控制、變頻主軸控制、PLC輔助控制、人機交互組態以及安全結構等環節進行測試與驗證,證明本系統設計實用、合理和安全,為低成本、高效率的通用性數控系統設計提供了一定的借鑒和幫助。