|
|
| (Une révision intermédiaire par le même utilisateur non affichée) |
| 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
| |
| − | | |
| − | | |
| − | <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}} |