Component: Stepper Motor Template (Mechatronics): Difference between revisions
Appearance
XML import |
m Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder"" |
||
| (22 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
{| style="width:50%" | |||
{| | |||
|- | |- | ||
| width="20%" style="color: gray;" | Author | | width="20%" style="color:gray;" | Author | ||
| Matrix Ltd | | Matrix Ltd | ||
|- | |- | ||
| width="20%" style="color: gray;" | Version | | width="20%" style="color:gray;" | Version | ||
| 1.2 | | 1.2 | ||
|- | |- | ||
| width="20%" style="color: gray;" | Category | | width="20%" style="color:gray;" | Category | ||
| Mechatronics | | Mechatronics | ||
|} | |} | ||
==Stepper Motor Template component== | |||
Enables the creation of a stepper motor component by specifying objects for its appearance. 'Attach to...' property should be exposed in any components buit from this - this sets a target object to be joined to the motor shaft. The target can then be rotated around the axis with a custom gear ration, or moved linearly according to the pitch of a given lead screw. | |||
== | ==Component Source Code== | ||
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_Stepper_Motor_Base.fcfx FC_Comp_Source_Stepper_Motor_Base.fcfx] | |||
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_Stepper_Motor_Base.fcfx FC_Comp_Source_Stepper_Motor_Base.fcfx] | |||
==Detailed description== | |||
'' | ''No detailed description exists yet for this component'' | ||
==Examples== | |||
'' | ''<span style="color:red;">No additional examples</span>'' | ||
==Macro reference== | |||
'''Return | ===DecrementStep=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''DecrementStep''' | |||
|- | |||
| colspan="2" | Move the motor backwards by one step. | |||
|- | |||
|- | |||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | |||
|} | |||
===DisableMotor=== | |||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''DisableMotor''' | |||
|- | |||
| colspan="2" | Turn off the motor. It will no longer respond to any other macros. | |||
|- | |||
|- | |||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | |||
|} | |||
===EnableMotor=== | |||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''EnableMotor''' | |||
|- | |||
| colspan="2" | Turn on the motor. This must be done before it will respond to any other macros. | |||
|- | |||
|- | |||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | |||
|} | |||
===IncrementStep=== | |||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''IncrementStep''' | |||
|- | |||
| colspan="2" | Move the motor forward by one step. | |||
|- | |||
|- | |||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | |||
|} | |||
===SetTarget=== | |||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''SetTarget''' | |||
|- | |||
| colspan="2" | Assign a panel object to be moved by the motor. Once linked, the object will respond to the 'Motor Simulation' properties, and it will be moved whenever the motor is stepped. | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-h32-icon.png]] - HANDLE | |||
| width="90%" | target | |||
|- | |||
| colspan="2" | An object to be moved by the motor. | |||
|- | |||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | |||
|} | |||
==Property reference== | |||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''Properties''' | |||
|- | |||
|- | |||
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | |||
| width="90%" class="mtx-class-propfolder" | Connections | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | |||
| width="90%" | Driver | |||
|- | |||
| colspan="2" | | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | |||
| width="90%" | Coil 1 | |||
|- | |||
| colspan="2" | Chip pin to which the first motor coil is connected. | |||
|- | |||
Chip pin to which the | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | ||
| width="90%" | Coil 2 | |||
|- | |||
| colspan="2" | Chip pin to which the second motor coil is connected. | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | |||
| width="90%" | Coil 3 | |||
|- | |||
| colspan="2" | Chip pin to which the third motor coil is connected. | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | |||
| width="90%" | Coil 4 | |||
|- | |||
| colspan="2" | Chip pin to which the fourth motor coil is connected. | |||
|- | |||
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | |||
| width="90%" class="mtx-class-propfolder" | Motor Setup | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | |||
| width="90%" | Winding Type | |||
|- | |||
The | | colspan="2" | The polarity settings of the motor windings. Refer to the data-sheet for your chosen hardware to determine this value. | ||
|- | |||
Refer to the data-sheet for your chosen hardware to determine this value. | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | ||
| width="90%" | Step Type | |||
|- | |||
| colspan="2" | Trade accuracy against torque by changing the type of stepping. Refer to the data-sheet for your chosen hardware to determine which modes your device supports. | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]] | |||
| width="90%" | Steps Per Revolution | |||
|- | |||
| colspan="2" | The number of steps it takes for the motor shaft to turn a full circle (360 degrees). Refer to the data-sheet for your chosen hardware to determine this value. | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | |||
| width="90%" | Angle Increment | |||
|- | |||
| colspan="2" | Amount of change in the shaft angle when the IncrementStep / DecrementStep functions are called. | |||
|- | |||
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | |||
| width="90%" class="mtx-class-propfolder" | Motor Simulation | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-17-icon.png]] | |||
| width="90%" | Rotating Part | |||
|- | |||
| colspan="2" | Select a panel object here that will represent the moving part of the motor - for example, an output shaft or actuator. | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-17-icon.png]] | |||
| width="90%" | Rotation Centre | |||
|- | |||
| colspan="2" | Select a panel object to be the centre of rotation of the 'Rotating Part'. If non is chosen, the 'Rotating Part' will revove around its own axes. | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | |||
| width="90%" | Rotate Around | |||
|- | |||
| colspan="2" | The axis of the 'Rotaion Centre' object around which the 'Rotating Part' will rotate. | |||
|- | |||
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | |||
| width="90%" class="mtx-class-propfolder" | Coil Simulation | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]] | |||
| width="90%" | Waveforms | |||
|- | |||
| colspan="2" | Allows waveforms to be auto generated on the data recorder window. | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]] | |||
| width="90%" | Coil Simulation | |||
|- | |||
| colspan="2" | Turn coil simulation on and off. | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-17-icon.png]] | |||
| width="90%" | Coil 1 | |||
|- | |||
| colspan="2" | Choose a panel object to represent the first coil. The simulation will automatically change this object's color to visualise when it is energised. | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-17-icon.png]] | |||
| width="90%" | Coil 2 | |||
|- | |||
| colspan="2" | Choose a panel object to represent the second coil. The simulation will automatically change this object's color to visualise when it is energised. | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-17-icon.png]] | |||
| width="90%" | Coil 3 | |||
|- | |||
| colspan="2" | Choose a panel object to represent the third coil. The simulation will automatically change this object's color to visualise when it is energised. | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-17-icon.png]] | |||
| width="90%" | Coil 4 | |||
|- | |||
object's color to visualise when it is energised. | | colspan="2" | Choose a panel object to represent the fourth coil. The simulation will automatically change this object's color to visualise when it is energised. | ||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-1-icon.png]] | |||
| width="90%" | Colour Non Active Coil | |||
|- | |||
| colspan="2" | Make coil object this colour when they are NOT energised. | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-1-icon.png]] | |||
| width="90%" | Colour Active Coil | |||
|- | |||
| colspan="2" | Make the coil objects this colour when they ARE energised,. | |||
|- | |||
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | |||
| width="90%" class="mtx-class-propfolder" | Target Object | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | |||
| width="90%" | Gear Ratio | |||
|- | |||
| colspan="2" | Set a non-zero value here to make the target object rotate whenever the motor spins. The target will revolve around the same axis as the motor's own 'Moving Part' (e.g. drive shaft). A value of 1.00 make the target spin at the same speed as the motor. Choose other values to set the ratio of a 'virtual gearbox' to change the speed of the target's movement. | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | |||
| width="90%" | X Linear Pitch | |||
|- | |||
| colspan="2" | Set this to a non-zero value to move the target object linearly along its X-Axis whenever the motor spins. The value is the distance to move (world units) per complete rotation of the motor shaft - i.e. it simulates a typical linear drive that uses a lead-screw, with the property value equal to the screw pitch. | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | |||
| width="90%" | Y Linear Pitch | |||
|- | |||
| colspan="2" | Set this to a non-zero value to move the target object linearly along its Y-Axis whenever the motor spins. The value is the distance to move (world units) per complete rotation of the motor shaft - i.e. it simulates a typical linear drive that uses a lead-screw, with the property value equal to the screw pitch. | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | |||
The | | width="90%" | Z Linear Pitch | ||
|- | |||
| colspan="2" | Set this to a non-zero value to move the target object linearly along its Z-Axis whenever the motor spins. The value is the distance to move (world units) per complete rotation of the motor shaft - i.e. it simulates a typical linear drive that uses a lead-screw, with the property value equal to the screw pitch. | |||
|} | |||
Set this to a non-zero value to move the target object linearly along its | |||
simulates a typical linear drive that uses a lead-screw, with the property value equal to the | |||
screw pitch. | |||
The value is the distance to move (world units) per complete rotation of the motor shaft - i.e. it | |||
simulates a typical linear drive that uses a lead-screw, with the property value equal to the | |||
screw pitch. | |||
Latest revision as of 14:37, 13 July 2026
| Author | Matrix Ltd |
| Version | 1.2 |
| Category | Mechatronics |
Stepper Motor Template component
Enables the creation of a stepper motor component by specifying objects for its appearance. 'Attach to...' property should be exposed in any components buit from this - this sets a target object to be joined to the motor shaft. The target can then be rotated around the axis with a custom gear ration, or moved linearly according to the pitch of a given lead screw.
Component Source Code
Please click here to download the component source project: FC_Comp_Source_Stepper_Motor_Base.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_Stepper_Motor_Base.fcfx
Detailed description
No detailed description exists yet for this component
Examples
No additional examples
Macro reference
DecrementStep
| DecrementStep | |
| Move the motor backwards by one step. | |
| Return | |
DisableMotor
| DisableMotor | |
| Turn off the motor. It will no longer respond to any other macros. | |
| Return | |
EnableMotor
| EnableMotor | |
| Turn on the motor. This must be done before it will respond to any other macros. | |
| Return | |
IncrementStep
| IncrementStep | |
| Move the motor forward by one step. | |
| Return | |
SetTarget