本文導讀
今天,正運動小助手給大家分享一下6軸步進光柵尺全閉環的EtherCAT運動控制器之ZMC432CL-V2的硬件接口與功能。
一、ZMC432CL-V2產品簡介
ZMC432CL-V2高性能多軸運動控制器是一款兼容EtherCAT總線和脈沖型的獨立式運動控制器,具備高速實時反饋功能,支持脈沖全閉環控制,能夠實現高精度、高響應速度的運動控制。高精度定位,有效消除機械傳動誤差,滿足高精密加工場景應用要求。

1.ZMC432CL-V2硬件功能
(1)豐富的運動控制功能:支持直線、圓弧、空間圓弧、螺旋插補等。
(2)硬件接口豐富:支持脈沖軸(帶編碼器反饋)和EtherCAT總線軸,具備24路輸入和12路輸出的通用IO,部分為高速IO,2路模擬量輸出(DA)。
(3)EtherCAT刷新周期最快達250us,滿足高速通信需求。
(4)支持4通道硬件比較輸出、硬件定時器、運動中精準輸出,適用于多通道視覺飛拍等場合。
(5)支持掉電檢測、掉電存儲,多種程序加密方式,能夠有效防止系統故障,保護項目工程文件數據,并提高系統的可靠性。
(6)通過純國產IDE開發環境RTSys進行項目開發,可實時仿真、在線跟蹤以及診斷與調試,簡便易用,支持多種高級上位機語言聯合編程進行二次開發。

更多關于ZMC432CL-V2詳情介紹點擊→步進控制的光柵尺全閉環解決方案:32軸EtherCAT總線運動控制器ZMC432CL-V2。
二、硬件接口


三、硬件接線
1.數字量輸入口IN接線

輸入口通用接線圖

輸入口單端編碼器接線圖
2.數字量輸出口接線

輸出口通用接線圖

輸出口單端脈沖軸接線圖
四、脈沖全閉環應用
1.使用現成的API開發

2.步進電機的外置光柵尺全閉環解決方案
①ZMC4系列高效的網口讀寫,PCIe/PCI系列卡可共享內存接口(共享內存的批量讀寫3-5us)
②內置反向間隙補償,雙向螺距補償,2D平面補償等
③可以同時支持脈沖軸和EtherCAT軸運動混合使用
④開放的PT/PVT接口客戶可自定義加減速算法的二次編程
3.脈沖全閉環接線

全閉環運動控制器產生相應的控制信號,發送到步進驅動器來驅動電機運動,同時負責接收來自光柵尺的反饋信號,并與預設的目標值進行比較。
步進驅動器接收來自控制器的控制信號,并將其轉換為角位移去驅動電機。步進驅動器能夠精確控制電機的步進角度和速度,從而實現高精度的運動控制。
光柵尺用于實時監測物體的位置和運動狀態。在脈沖全閉環系統中,光柵尺通常被安裝在電機的運動部件上,以測量其實際位置。
脈沖全閉環運動控制系統,具備外部光柵尺的全閉環位置反饋,實時糾正平臺機械傳動誤差,通過實時反饋,確保步進系統的高精度閉環與加工精度。
ZMC432CL-V2控制器脈沖軸Axis0~Axis5都可以支持脈沖發送DPOS與編碼器反饋MPOS,也可以通過參數設置實現脈沖發送與編碼器反饋的實時全閉環。
五、步進驅動器接口接線
1.ZMC432CL-V2與步進驅動器接線(差分接法)

2.ZMC432CL-V2與步進驅動器接線(單端共陽極接法)

六、光柵尺的接口接線
1.ZMC432CL-V2與增量式光柵尺接線(差分接法)

2.ZMC432CL-V2與絕對值光柵尺接線

七、脈沖全閉環測試代碼
測試程序如下:
'/************************************************************
'任務編號: 無
'函數功能: 系統初始化
'Input: 無
'Output: 無
'返回值: 無
'備注: 無
'*************************************************************/
GLOBAL SUB SysInit()
'測試固件信息
'?"測試固件信息: ver 24.8.28 : "version_build, "SERVO_PERIOD: "SERVO_PERIOD
'軸分配
GLOBAL CONST TestAxisId=5
'線程分配
GLOBAL CONST IntCycleTask=1
GLOBAL CONST OtherTask=2
'其他變量
GLOBAL gvCLStstus,gv_HandMode
GLOBAL gv_P,gv_I,gv_D
GLOBAL gv_VF,gv_AF,gv_OV
'軸初始化參數
GLOBAL gv_Speed,gv_Accel,gv_Decel
GLOBAL gv_Sramp,gv_Inch
GLOBAL gv_Units
GLOBAL gv_mpos,gv_input
GLOBAL VpMode
'*********************軸參數初始化*********************
gv_Units=100
gv_mpos =4000
gv_input=-20043
gvCLStstus=0
gv_Speed=10
gv_Accel=100
gv_Decel=100
gv_Sramp=0
gv_Inch=1
gv_HandMode=0
VpMode=0
'**********************系統初始化**********************
RAPIDSTOP(2) '停止所有軸
WAIT IDLE
DELAY(100)
DATUM(0) '清除軸報警
WAIT IDLE
'**********************軸參數初始化*********************
BASE(TestAxisId)
'關閉閉環功能
SERVO=OFF
ENCODER_SERVO=OFF
'關閉閉環功能后要遠程ATYPE從0到4的切換
ATYPE = 0
DELAY(100)
ATYPE = 4
'軸坐標清零
DPOS=0
MPOS=0
'更新軸參數
UpDataAxisPara()
'更新PID參數
UpDatePid(0)
ENDSUB
'/************************************************************
'任務編號: 無
'函數功能: Hmi掃描函數
'Input: 無
'Output: 無
'返回值: 無
'備注: 無
'*************************************************************/
GLOBAL SUB SysScan()
'更新閉環狀態
IF SERVO(TestAxisId) = ON AND ENCODER_SERVO(TestAxisId)=ON THEN
gvCLStstus=1
ELSE
gvCLStstus=0
ENDIF
ENDSUB
'/************************************************************
'任務編號: 無
'函數功能: 軸參數設置
'Input: 無
'Output: 無
'返回值: 無
'備注: 無
'*************************************************************/
GLOBAL SUB UpDataAxisPara()
BASE(TestAxisId)
UNITS = gv_Units
ENCODER_RATIO (gv_mpos,gv_input)
VP_MODE = VpMode
SPEED = gv_Speed '更新軸速度
ACCEL = gv_Accel '更新軸加速度
DECEL = gv_DEcel '更新軸減速度
SRAMP = gv_Sramp '設置S曲線時間
MERGE = ON '打開連續插補功能
FS_LIMIT = 10000 '正向軟限位
RS_LIMIT = -10000 '負向軟限位
FE_LIMIT= 500 '設置最大隨動誤差
FE_RANGE = 500 '報警時隨動誤差
ENDSUB
'更新閉環狀態
'/************************************************************
'任務編號: 無
'函數功能: Pid參數更新
'Input: 無
'Output: 無
'返回值: 無
'備注: VR(0-10)
'*************************************************************/
GLOBAL SUB UpDatePid(Dir)
IF Dir=0 THEN
IF VR(0)=1314 THEN
gv_P = VR(1) 'P:比例增益
gv_I = VR(2) 'I:積分增益
gv_D = VR(3) 'D:微分增益
gv_VF =VR(4) '速度反饋的前饋增益
gv_AF =VR(5) '加速度反饋的前饋增益
gv_OV =VR(6)
ELSE
gv_P = 100 'P:比例增益
gv_I = 50 'I:積分增益
gv_D = 50 'D:微分增益
gv_VF = 1000 '速度反饋的前饋增益
gv_AF = 2000 '加速度反饋的前饋增益
gv_OV = 0
'數據更新到VR
TABLE(1,gv_P,gv_I,gv_D,gv_VF,gv_AF,gv_OV)
Local lv_i
VR(0)=1314
FOR lv_i=1 to 6
VR(lv_i) = TABLE(lv_i)
NEXT
ENDIF
ELSE
VR(0)=0
VR(1) = gv_P 'P:比例增益
VR(2) = gv_I 'I:積分增益
VR(3) = gv_D 'D:微分增益
VR(4) = gv_VF '速度反饋的前饋增益
VR(5) = gv_AF '加速度反饋的前饋增益
VR(6) = gv_OV
VR(0) = 1314
TRACE "PID參數保存成功"
ENDIF
ENDSUB
'/************************************************************'
任務編號: 無
'函數功能: 全閉環功能切換
'Input: 無
'Output: 無
'返回值: 無
'備注: 無
'*************************************************************/
GLOBAL SUB ClosedLoop(Mode)
IF Mode=0 THEN
IF gvCLStstus= 0 THEN
'配置脈沖軸TestAxisId為全閉環的功能
'配置PID參數
BASE(TestAxisId)
P_Gain = gv_P 'P:比例增益
I_GAIN = gv_I 'I:積分增益
D_GAIN = gv_D 'D:微分增益
VFF_GAIN = gv_VF '速度反饋的前饋增益
AFF_GAIN = gv_AF '加速度反饋的前饋增益
OV_GAIN = gv_OV '速度增益
'打開閉環功能
AXIS_ENABLE=1
ENCODER_SERVO = ON '0-不開啟(缺省). 1-開啟閉環功能
'重要,打開servo之前打開encoder_servo后
'要完成一次atype由0變為4的切換,否則會報axis:0 config not support Servo.
'無法打開閉環控制,原因未知
ATYPE = 0
DELAY(20)
ATYPE = 4 '脈沖輸出+正交編碼反饋
SERVO = ON '0-不開啟(缺省). 1-開啟閉環功能
DELAY(20)
IF SERVO = ON THEN
?"閉環參數配置完成,閉環控制已打開,使用move指令移動,并在示波器中監測運動參數。"
ELSE
?"閉環參數配置完成,閉環控制打開失敗,請檢查軸配置。"
ENDIF
ELSE
BASE(TestAxisId)
SERVO = OFF
ENCODER_SERVO = OFF
'關閉ENCODER_SERVO后需要完成一次 ATYPE從0到4的切換,保證閉環功能完全關閉
ATYPE = 0
DELAY(100)
ATYPE = 4
?"已關閉閉環控制開關(switch),使用開環移動"
ENDIF
ELSEIF gvCLStstus=1 THEN
'配置脈沖軸TestAxisId為全閉環的功能
BASE(TestAxisId)
P_Gain = gv_P 'P:比例增益
I_GAIN = gv_I 'I:積分增益
D_GAIN = gv_D 'D:微分增益
VFF_GAIN = gv_VF '速度反饋的前饋增益
AFF_GAIN = gv_AF '加速度反饋的前饋增益
OV_GAIN = gv_OV '速度增益
?"PID參數已更新 "
ENDIF
ENDSUB
測試結果:

本次,正運動技術步進的光柵尺全閉環EtherCAT運動控制器ZMC432CL-V2(一):硬件接口介紹,就分享到這里。
更多精彩內容請關注“正運動小助手”公眾號,需要相關開發環境與例程代碼,請咨詢正運動技術銷售工程師:400-089-8936。
本文由正運動技術原創,歡迎大家轉載,共同學習,一起提高中國智能制造水平。文章版權歸正運動技術所有,如有轉載請注明文章來源。

正運動技術專注于運動控制技術研究和通用運動控制軟硬件產品的研發,是國家級高新技術企業。正運動技術匯集了來自華為、中興等公司的優秀人才,在堅持自主創新的同時,積極聯合各大高校協同運動控制基礎技術的研究,是國內工控領域發展最快的企業之一,也是國內少有、完整掌握運動控制核心技術和實時工控軟件平臺技術的企業。主要業務有:運動控制卡_運動控制器_EtherCAT運動控制卡_EtherCAT控制器_運動控制系統_視覺控制器__運動控制PLC_運動控制_機器人控制器_視覺定位_XPCIe/XPCI系列運動控制卡等。
|