Determining Zero Pulse position For Beckhoff Axis : Différence entre versions

[version en cours de rédaction][version en cours de rédaction]
 
Ligne 8 : Ligne 8 :
 
}}
 
}}
 
{{Introduction
 
{{Introduction
|Introduction=<translate>=Problem=
+
|Introduction=<translate>26/08/25 Moved to Confluence
If the zero pulse position is very close to the the home switch position, a common fault can occur where the axis datum moves out of position by one rotation.
 
  
This manifests itself as a Y/Z axis being 5 / 10mm out or a gripper around 32mm out
+
[https://stuga-ltd.atlassian.net/wiki/external/ZDU5YjQwZDc3ZTZmNDEwNjhjNWMyMzM3OWQ4ODljMTU Click Here]</translate>
 
 
The problem is easy to solve once detected, by either moving the home switch flag, or rotating the motor by one quarter turn.
 
 
 
However, this means the fault has to happen before detection.
 
 
 
This tutorial describes how to predict if this will be a problem, so the corrective action can be taken before it creates the issue</translate>
 
 
}}
 
}}
 
{{Materials}}
 
{{Materials}}
 
{{EPI}}
 
{{EPI}}
 
{{Tuto Step
 
{{Tuto Step
|Step_Title=<translate>Prepare</translate>
+
|Step_Title=<translate></translate>
|Step_Content=<translate>Enter setup mode and load the TwinCAT project</translate>
 
}}
 
{{Tuto Step
 
|Step_Title=<translate>Navigate to the axis</translate>
 
|Step_Content=<translate>In TwinCAT, navigate to the Axis->Enc->Parameter->Homing
 
 
 
Reference Mode
 
 
 
 
 
Check which system the axis is using
 
 
 
'''PLC''' - This method uses just the home switch for zero. Fine for low accuracy axes (GY, GZ). The Zero pulse offset will not affect this mode, so STOP HERE.
 
 
 
'''Software Sync'''- This method uses the home switch then zero pulse seek. Better for higher accuracy, but opens the risk of this problem
 
 
 
'''Default''' - This is not a good setting because it is not clear which mode. It is a good idea to change this to Software Sync to ensure the best possible datuming method is maintained. 
 
 
 
<br />{{Info|...If the axis uses PLC mode, there is NO NEED to continue this test}}<br /></translate>
 
|Step_Picture_00=Determining_Zero_Pulse_position_For_Beckhoff_Axis_2025-03-20_15-57-30.PNG
 
|Step_Picture_00_annotation={"version":"2.4.6","objects":[{"type":"image","version":"2.4.6","originX":"left","originY":"top","left":0,"top":0,"width":1634,"height":908,"fill":"rgb(0,0,0)","stroke":null,"strokeWidth":0,"strokeDashArray":null,"strokeLineCap":"butt","strokeDashOffset":0,"strokeLineJoin":"miter","strokeMiterLimit":4,"scaleX":0.37,"scaleY":0.37,"angle":0,"flipX":false,"flipY":false,"opacity":1,"shadow":null,"visible":true,"clipTo":null,"backgroundColor":"","fillRule":"nonzero","paintFirst":"fill","globalCompositeOperation":"source-over","transformMatrix":null,"skewX":0,"skewY":0,"crossOrigin":"","cropX":0,"cropY":0,"src":"https://stuga.dokit.app/images/6/68/Determining_Zero_Pulse_position_For_Beckhoff_Axis_2025-03-20_15-57-30.PNG","filters":[]},{"type":"wfrect","version":"2.4.6","originX":"center","originY":"center","left":60.38,"top":268.56,"width":114.44,"height":23.5,"fill":"rgba(255,0,0,0)","stroke":"#FF0000","strokeWidth":2,"strokeDashArray":null,"strokeLineCap":"butt","strokeDashOffset":0,"strokeLineJoin":"miter","strokeMiterLimit":4,"scaleX":1,"scaleY":1,"angle":0,"flipX":false,"flipY":false,"opacity":1,"shadow":null,"visible":true,"clipTo":null,"backgroundColor":"","fillRule":"nonzero","paintFirst":"fill","globalCompositeOperation":"source-over","transformMatrix":null,"skewX":0,"skewY":0,"rx":0,"ry":0},{"type":"wfrect","version":"2.4.6","originX":"center","originY":"center","left":261.62,"top":83.74,"width":37.15,"height":24.05,"fill":"rgba(255,0,0,0)","stroke":"#FF0000","strokeWidth":2,"strokeDashArray":null,"strokeLineCap":"butt","strokeDashOffset":0,"strokeLineJoin":"miter","strokeMiterLimit":4,"scaleX":1,"scaleY":1,"angle":0,"flipX":false,"flipY":false,"opacity":1,"shadow":null,"visible":true,"clipTo":null,"backgroundColor":"","fillRule":"nonzero","paintFirst":"fill","globalCompositeOperation":"source-over","transformMatrix":null,"skewX":0,"skewY":0,"rx":0,"ry":0},{"type":"wfrect","version":"2.4.6","originX":"center","originY":"center","left":433.62,"top":218.75,"width":183.98,"height":15,"fill":"rgba(255,0,0,0)","stroke":"#FF0000","strokeWidth":2,"strokeDashArray":null,"strokeLineCap":"butt","strokeDashOffset":0,"strokeLineJoin":"miter","strokeMiterLimit":4,"scaleX":1,"scaleY":1,"angle":0,"flipX":false,"flipY":false,"opacity":1,"shadow":null,"visible":true,"clipTo":null,"backgroundColor":"","fillRule":"nonzero","paintFirst":"fill","globalCompositeOperation":"source-over","transformMatrix":null,"skewX":0,"skewY":0,"rx":0,"ry":0}],"height":333,"width":600}
 
}}
 
{{Tuto Step
 
|Step_Title=<translate>Run a home cycle</translate>
 
|Step_Content=<translate>Home the axis from the drives screen</translate>
 
|Step_Picture_00=Determining_Zero_Pulse_position_For_Beckhoff_Axis_2025-03-20_16-00-56.PNG
 
}}
 
{{Tuto Step
 
|Step_Title=<translate>Mark</translate>
 
|Step_Content=<translate>Mark on the axis where the home position is.
 
 
 
Mark this line with a Z to denote "Zero Pulse".
 
 
 
{{Info|...The photos show two lines - Sorry!}}<br /></translate>
 
|Step_Picture_00=Determining_Zero_Pulse_position_For_Beckhoff_Axis_2025-03-20_16-00-07.PNG
 
|Step_Picture_01=Determining_Zero_Pulse_position_For_Beckhoff_Axis_2025-03-20_16-12-03.PNG
 
}}
 
{{Tuto Step
 
|Step_Title=<translate>Change the Homing Mode</translate>
 
|Step_Content=<translate>Change the homing mode to "PLC"
 
 
 
Click Download</translate>
 
|Step_Picture_00=Determining_Zero_Pulse_position_For_Beckhoff_Axis_2025-03-20_15-58-10.PNG
 
|Step_Picture_00_annotation={"version":"2.4.6","objects":[{"type":"image","version":"2.4.6","originX":"left","originY":"top","left":-352,"top":-175,"width":1831,"height":1029,"fill":"rgb(0,0,0)","stroke":null,"strokeWidth":0,"strokeDashArray":null,"strokeLineCap":"butt","strokeDashOffset":0,"strokeLineJoin":"miter","strokeMiterLimit":4,"scaleX":0.67,"scaleY":0.67,"angle":0,"flipX":false,"flipY":false,"opacity":1,"shadow":null,"visible":true,"clipTo":null,"backgroundColor":"","fillRule":"nonzero","paintFirst":"fill","globalCompositeOperation":"source-over","transformMatrix":null,"skewX":0,"skewY":0,"crossOrigin":"","cropX":0,"cropY":0,"src":"https://stuga.dokit.app/images/3/34/Determining_Zero_Pulse_position_For_Beckhoff_Axis_2025-03-20_15-58-10.PNG","filters":[]}],"height":449.80026631158455,"width":600}
 
}}
 
{{Tuto Step
 
|Step_Title=<translate>Home again and Mark second line</translate>
 
|Step_Content=<translate>Measure the distance between the two
 
 
 
In this case 18mm</translate>
 
|Step_Picture_00=Determining_Zero_Pulse_position_For_Beckhoff_Axis_2025-03-20_16-00-07.PNG
 
}}
 
{{Tuto Step
 
|Step_Title=<translate>Calculate the units per turn</translate>
 
|Step_Content=<translate>Using the scaling factor for the axis from the axis parameters, calculate the distance moved for one turn of the motor.
 
 
 
 
 
This is 1,048,676 divided by axis scaling factor.
 
 
 
'''<br />'''
 
Example - Y axis
 
 
 
1048576 / 104857.6 = 10mm per turn
 
 
 
 
 
'''Example - Autoflow R Axis'''
 
 
 
1048576 / 296125.6= 3.54 degrees per turn
 
 
 
 
 
'''Example Autoflow Mk4 Infeed GX Axis'''
 
 
 
1048576 / 52435.78= 20mm per turn
 
 
 
'''Example ZX5 GX / SX Axis'''
 
 
 
1048576 / 32728= 32mm per turn
 
 
 
 
 
'''Example ZX5 SR Axis'''
 
 
 
1048576 / 291851= 3.59 degrees per turn
 
 
 
 
 
<br /></translate>
 
}}
 
{{Tuto Step
 
|Step_Title=<translate>Analyse results</translate>
 
|Step_Content=<translate>An ideal distance would be equivalent to one half turn (eg for a 10mm pitch leadscrew, the ideal would be 5mm, so the axis has to rotate one half turn.
 
 
 
 
 
As a rule of thumb,
 
 
 
*if the difference in distance is less than 25% of the units per turn, it is a good idea to move the datum position.
 
*If it is less than 10%, it is vital the position is moved.
 
 
 
In the '''example''', from an Autoflow GX axis, the distance is 18mm, one turn is 20mm, so the decision was made to turn the motor through 90 degrees</translate>
 
|Step_Picture_00=Determining_Zero_Pulse_position_For_Beckhoff_Axis_2025-03-20_16-00-07.PNG
 
|Step_Picture_00_annotation={"version":"2.4.6","objects":[{"type":"image","version":"2.4.6","originX":"left","originY":"top","left":0,"top":0,"width":1054,"height":823,"fill":"rgb(0,0,0)","stroke":null,"strokeWidth":0,"strokeDashArray":null,"strokeLineCap":"butt","strokeDashOffset":0,"strokeLineJoin":"miter","strokeMiterLimit":4,"scaleX":0.57,"scaleY":0.57,"angle":0,"flipX":false,"flipY":false,"opacity":1,"shadow":null,"visible":true,"clipTo":null,"backgroundColor":"","fillRule":"nonzero","paintFirst":"fill","globalCompositeOperation":"source-over","transformMatrix":null,"skewX":0,"skewY":0,"crossOrigin":"","cropX":0,"cropY":0,"src":"https://stuga.dokit.app/images/8/8a/Determining_Zero_Pulse_position_For_Beckhoff_Axis_2025-03-20_16-00-07.PNG","filters":[]},{"type":"wfarrow2line","version":"2.4.6","originX":"center","originY":"center","left":276.5,"top":222.5,"width":97,"height":9,"fill":"rgba(255,0,0,0)","stroke":"#FF0000","strokeWidth":4,"strokeDashArray":null,"strokeLineCap":"round","strokeDashOffset":0,"strokeLineJoin":"miter","strokeMiterLimit":4,"scaleX":1,"scaleY":1,"angle":0,"flipX":false,"flipY":false,"opacity":1,"shadow":null,"visible":true,"clipTo":null,"backgroundColor":"","fillRule":"nonzero","paintFirst":"fill","globalCompositeOperation":"source-over","transformMatrix":null,"skewX":0,"skewY":0,"x1":-48.5,"x2":48.5,"y1":-4.5,"y2":4.5,"x2a":29.324629425479696,"y2a":-5.313519416082126,"x2b":27.846442400463143,"y2b":10.61805185354074},{"type":"wfarrow2circle","version":"2.4.6","originX":"center","originY":"center","left":228,"top":218,"width":16,"height":16,"fill":"#aaa","stroke":"#666","strokeWidth":0,"strokeDashArray":null,"strokeLineCap":"butt","strokeDashOffset":0,"strokeLineJoin":"miter","strokeMiterLimit":4,"scaleX":1,"scaleY":1,"angle":0,"flipX":false,"flipY":false,"opacity":0.5,"shadow":null,"visible":true,"clipTo":null,"backgroundColor":"","fillRule":"nonzero","paintFirst":"fill","globalCompositeOperation":"source-over","transformMatrix":null,"skewX":0,"skewY":0,"radius":8,"startAngle":0,"endAngle":6.283185307179586},{"type":"wfarrow2circle","version":"2.4.6","originX":"center","originY":"center","left":325,"top":227,"width":16,"height":16,"fill":"#aaa","stroke":"#666","strokeWidth":0,"strokeDashArray":null,"strokeLineCap":"butt","strokeDashOffset":0,"strokeLineJoin":"miter","strokeMiterLimit":4,"scaleX":1,"scaleY":1,"angle":0,"flipX":false,"flipY":false,"opacity":0.5,"shadow":null,"visible":true,"clipTo":null,"backgroundColor":"","fillRule":"nonzero","paintFirst":"fill","globalCompositeOperation":"source-over","transformMatrix":null,"skewX":0,"skewY":0,"radius":8,"startAngle":0,"endAngle":6.283185307179586},{"type":"textbox","version":"2.4.6","originX":"center","originY":"center","left":271,"top":206,"width":55.57,"height":22.6,"fill":"#FF0000","stroke":"#FF0000","strokeWidth":1,"strokeDashArray":null,"strokeLineCap":"butt","strokeDashOffset":0,"strokeLineJoin":"miter","strokeMiterLimit":4,"scaleX":1,"scaleY":1,"angle":0,"flipX":false,"flipY":false,"opacity":1,"shadow":null,"visible":true,"clipTo":null,"backgroundColor":"","fillRule":"nonzero","paintFirst":"fill","globalCompositeOperation":"source-over","transformMatrix":null,"skewX":0,"skewY":0,"text":"18mm","fontSize":20,"fontWeight":"normal","fontFamily":"sans-serif","fontStyle":"normal","lineHeight":1.16,"underline":false,"overline":false,"linethrough":false,"textAlign":"left","textBackgroundColor":"","charSpacing":0,"minWidth":20,"styles":{} }],"height":468,"width":600}
 
}}
 
{{Tuto Step
 
|Step_Title=<translate>Move datum flag position</translate>
 
|Step_Content=<translate>Datum position can be moved by
 
 
 
* Moving the flag position (if possible). Depends on the mechanical setup of the system
 
* Turning the motor by 90 or 180 degrees. Not always possible due to the cable inlet.
 
{{Warning|...Take note if rotating the motor that the zero pulse actually moves in the correct direction. There is a 50 / 50 change it will move the wrong way!}}<br /></translate>
 
}}
 
{{Tuto Step
 
|Step_Title=<translate>Return the axis to Software Sync</translate>
 
 
|Step_Content=<translate></translate>
 
|Step_Content=<translate></translate>
}}
 
{{Tuto Step
 
|Step_Title=<translate>Datum test any axes changed</translate>
 
|Step_Content=<translate>Vital to check and reset the datum offset after any changes
 
 
 
In the '''example''', from an Autoflow GX axis, the datum changed by 5mm (one quarter turn)</translate>
 
 
}}
 
}}
 
{{Notes}}
 
{{Notes}}

Version actuelle datée du 26 août 2025 à 16:16

Auteur avatarGareth Green | Dernière modification 26/08/2025 par Gareth Green en cours de rédaction

How to measure the Zero pulse position relative to home switch position to determine if a motor needs mechanically rotating

Difficulté
Difficile
Durée
10 minute(s)

Introduction

26/08/25 Moved to Confluence

Click Here

Étape 1 -

Commentaires

Draft