Bring Values and Sucesses To Our Customers

Home / Support and services / Technical Support

Technical support

Technical Support

Zmotion EtherCAT Bus Controller Application in 5-axis CNC Processing

Five-axis CNC machining is a high-tech, high-precision technology for processing complex curved surfaces. With the development and popularization of five-axis processing at home and abroad, its applications are becoming more and more extensive.

ZMotion Technology motion controller "ZMC406R" adds RTCP function in 5-axis linkage application, and robotic arm algorithms "CONNREFRAME" and "CONNFRAME", mechanic and motor parameters related to parameter list settings are used together with smooth processing of mechanic origin correction "FRAME_CAL" and "CORNER_MODE" to achieve processing for high-speed, high-precision and high-softness workpieces in industrial production. What's more, it suits to 5-axis processing applications of several kinds of XYZAC structures, such as, dual-rotation, rotation + swing, etc.

图片1.png

Typical applications:
surface dispensing, welding, spraying, laser processing, woodworking, engraving, grinding and polishing of borders, etc.

图片2.png

Performance:

Ø    There are 24 inputs and 12 outputs on board IO, and isolation IOs can be extended into 4096.

Ø    There are 6 pulse-axis output interfaces with 10MHz on board.

Ø    The fastest EtherCAT synchronization period is 125us.

Ø    There are valid robotic-arm models, such as, 2-4 axis standard Delta, SCARA, dual-rotation, single-rotation, etc.

Ø    There are robot forward kinematics "CONNREFRAME" and inverse kinematics "CONNFRAME".

Ø    Mechanic origin can be corrected through FRAME_CAL instruction.

Ø    CORNER_MODE can set corner deceleration, speed limit of small round and automatic chamfering to achieve smooth processing of motion.

Ø    There are many other functions, electronic cam, position latch, synchronous follow, virtual axis, hardware position comparison output, etc.

Ø    It is valid to program on multi-file and multi-task, and PC program and controller inside program can work at the same time.

Ø    There are multiple independent robotic arms on multi-task for multiple axes controllers.

Following: refer to robotic arm manual:

--Motor Direction--

There is no requirement for Joint axis X, axis Y and axis Z.

--Motor Angle Range--

l    For the direction of turntable 1, set the parameter IfAntiClock1 according to actual situation.

Anticlockwise

1

Turntable: Y (forward)   Z (forward)

Clockwise

0

Turntable: Z (forward)   Y (forward)

l    For the direction of turntable 2, set the parameter IfAntiClock2 according to actual situation.

Anticlockwise

1

Turntable: X (forward)   Y (forward)

Clockwise

0

Turntable: Y (forward)   X (forward)

图片3.png

Angle / movement range

Axis X

Limit: mechanic structure

Axis Y

Axis Z

Rotation axis X

Limit: No

       Axis sequence:

Actual robotic arm joint axis

Definition (abbreviation)

Translation axis X

Axis_a

Translation axis Y

Axis_b

Translation axis Z

Axis_c

Turntable 1

Axis_d

Turntable 2

Axis_e

Cartesian coordinate system virtual axis

Definition (abbreviation)

Translation axis X

Viraxis_x

Translation axis Y

Viraxis_y

Translation axis Z

Viraxis_z

Rotation axis RX

Axis_d

Rotation axis RZ

Axis_e

       Sequence for filling axis No. of instruction:

Forward solution

BASE(Axis_a, Axis_b, Axis_c, Axis_d, Axis_e)

CONNFRAME (17, tablenum, Viraxis_x, Viraxis_y, Viraxis_z, Axis_d, Axis_e)

Inverse solution

BASE(Viraxis_x, Viraxis_y, Viraxis_z, Axis_d, Axis_e)

CONNREFRAME (17, tablenum, Axis_a, Axis_b, Axis_c, Axis_d, Axis_e)

图片4.png

TABLE(tablenum, CentY1, CentZ1, pulse1onecircle, IfAntiClock1, CentX2, CentY2, pulse2onecircle, ifAntiClock2)

Tablenum

save the TABLE position that saves conversion parameters

CentY1

when the origin is in the yz plane, it means offset between rotation center of rx rotation axis and origin in direction y.

CentZ1

when the origin is in the yz plane, it means offset between rotation center of rx rotation axis and origin in direction Z.

pulse1onecircle

pulse numbers of turntable 1 in one round

IfAntiClock1

if turntable 1 and YZ is the anticlockwise relationship, When anticlockwise value is 1, which means turntable from Y forward to Z forward. When clockwise value is 0, which means turntable from Z forward to Y forward.

CentX2

when the origin is in the xy plane, it means offset between rotation center of rz rotation axis and origin in direction x.

CentY2

when the origin is in the xy plane, it means offset between rotation center of rz rotation axis and origin in direction y.

Pulse2onecircle

pulse numbers of turntable 2 in one round

IfAntiClock2

if turntable 2 and YZ is the anticlockwise relationship, When anticlockwise value is 1, When clockwise value is 0, when it is anticlockwise, it uses right-hand principle.

--Motor parameters setting--

Ø    Axis type and pulse amount of each axis should be set correctly.

Ø    A consistent length unit is needed for all virtual axes and joint axes of one robotic arm.

Ø    It is recommended to set one mm pulse of virtual axis as 1000, which means the precision is 3 bits behind the decimal part.

图片5.png

--Origin’s position--

There is no special requirement, the current position can be as origin, but please note CENTERZ1 and CENTERY1 (circle center offset parameter of turntable 1) and CENTERX2 and CENTERY2 (circle center offset parameter of turntable 2) should be set correctly

--Build the connection--

forward kinematic:

BASE(Viraxis_x, Viraxis_y, Viraxis_z,Axis_d,Axis_e)

CONNREFRAME(17,tablenum,Axis_a,Axis_b,Axis_cs,Axis_d,Axis_e)

WAIT LOADED

Ø    After built, MTYPE of virtual axis will show as 34, and IDLE will show as 0.

Ø    Now, joint-axis only can be operated to move in joint-axis coordinate system, then virtual-axis will automatically calculate end work position in cartesian coordinate system.

inverse kinematic:

BASE(Axis_a,Axis_b, Axis_c,Axis_d,Axis_e)

CONNFRAME(17,tablenum,Viraxis_x,Viraxis_y,Viraxis_z,Axis_d,Axis_e)

WAIT LOADED

Ø    After built, MTYPE of virtual axis will show as 33, and IDLE will show as 0.

Ø    Now, virtual-axis only can be operated to move in joint-axis coordinate system, then joint-axis will automatically calculate end work position in cartesian coordinate system.

  Note:

       Since there will be errors in the design and assembly of the overall parts of the robotic arm, if the parameters are filled in according to the theoretical values, the parameters will inevitably generate coordinates deviation, then you need to use the parameter correction function through FRAME_CAL instruction. Parameter correction is the coordinates and characteristics of robot teaching, which automatically corrects origin position and mechanical parameters.



Copyright © 2013-2024 Shenzhen Zmotion Technology Co.,Ltd Design by Zmotion    粤ICP备13037187号 Motion Controller-Motion Control Card

Contact Us-Youtube