|
|
(4 intermediate revisions by the same user not shown) |
Line 15: |
Line 15: |
| 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. | | 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. |
| | | |
− | ==Detailed description== | + | ==Component Pack== |
| | | |
− | ''No detailed description exists yet for this component''
| + | MECHATRONICS |
| | | |
− | ==Examples== | + | ==Detailed description== |
| | | |
| | | |
− | ===Attaching a primitive to a stepper motor===
| |
| | | |
− | This example links a panel primitive to the output of the motor.
| |
− | {{Fcfile|Stepper.fcfx|Stepper Example 1}}
| |
− | The linked object can be rotated or moved in a fixed direction by the motor.
| |
| | | |
− | [[File:StepperProps.jpg]]
| |
| | | |
| + | ''No detailed description exists yet for this component'' |
| | | |
− | ===Linear movement using a stepper motor=== | + | ==Examples== |
− | | |
− | This example links two stepper motors together using linear type movements rather then rotational similar to a stepper attached to a lead screw.
| |
− | {{Fcfile|Stepper Linear Demo.fcfx|Stepper Example 2}}
| |
− | The stepper is linked to the objects on the panel using properties and grouping.
| |
| | | |
− | [[File:LinStepper.jpg]]
| |
| | | |
| | | |
− | ===Creating a multi-axis actuator using stepper motors===
| |
| | | |
− | This example links three stepper motors together using panel primitive objects and groups.
| |
− | {{Fcfile|Stepper Demo.fcfx|Stepper Example 3}}
| |
− | Here we can see the actuator arm in motion.
| |
| | | |
− | [[File:LinkedStepper.jpg]]
| + | ''<span style="color:red;">No additional examples</span>'' |
| | | |
| ==Downloadable macro reference== | | ==Downloadable macro reference== |
Line 71: |
Line 58: |
| |- | | |- |
| |- | | |- |
− | | width="10%" align="center" | [[File:]] - | + | | width="10%" align="center" | [[File:Fc9-h32-icon.png]] - HANDLE |
| | width="90%" | target | | | width="90%" | target |
| |- | | |- |
Line 120: |
Line 107: |
| | | |
| | | |
− | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
− | |-
| |
− | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
− | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetTrim'''
| |
− | |-
| |
− | | colspan="2" | Allows the level of trim for each servo channel to be adjusted progmatically.
| |
− | |-
| |
− | |-
| |
− | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| |
− | | width="90%" | Channel
| |
− | |-
| |
− | | colspan="2" | The channel to set the position for. First channel is zero.
| |
− | |-
| |
− | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| |
− | | width="90%" | Trim
| |
− | |-
| |
− | | colspan="2" | Legacy: 0=0us, 1=+25us, 2=+50us, 3=+75us, 4=+100us, 5=-25us, 6=-50us, 7=-75us, 8=-100us or Smooth: 0-200
| |
− | |-
| |
− | | 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''
| |
− | |}
| |
| | | |
| | | |
− | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| + | ==Property reference== |
− | |-
| |
− | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
− | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''IsAutoMoving'''
| |
− | |-
| |
− | | colspan="2" | Is the AutoMoveToPosition movement complete. Returns 1 if the servos are still moving. Returns 0 if all servo movement is complete.
| |
− | |-
| |
− | |-
| |
− | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| |
− | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
− | |}
| |
− | | |
| | | |
| {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
| |- | | |- |
− | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | + | | width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]] |
− | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetAutoMoveSpeedInt''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties''' |
| |- | | |- |
− | | colspan="2" | Sets the speed of the auto move to position macro. Default speed is shown in the Servo_Period_Multiplier property.
| |
| |- | | |- |
| + | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]] |
| + | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Connections |
| |- | | |- |
− | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| |
− | | width="90%" | Speed
| |
| |- | | |- |
− | | colspan="2" | 1=Slowest (Default), 2= Double, 3=Triple, 4=Quadruple | + | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] |
| + | | width="90%" | Driver |
| |- | | |- |
− | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | + | | colspan="2" | |
− | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
− | |}
| |
− | | |
− | | |
− | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| |- | | |- |
− | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | + | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]] |
− | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''IsServoAutoMoving''' | + | | width="90%" | Coil 1 |
| |- | | |- |
− | | colspan="2" | Is the AutoMoveToPosition movement complete for a specific servo output. Returns 1 if the servo is still moving. Returns 0 if the servo movement is complete. | + | | colspan="2" | Chip pin to which the first motor coil is connected. |
| |- | | |- |
| + | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]] |
| + | | width="90%" | Coil 2 |
| |- | | |- |
− | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | + | | colspan="2" | Chip pin to which the second motor coil is connected. |
− | | width="90%" | Channel
| |
| |- | | |- |
− | | colspan="2" | Servo Motor Output Range: 0-7 | + | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]] |
| + | | width="90%" | Coil 3 |
| |- | | |- |
− | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | + | | colspan="2" | Chip pin to which the third motor coil is connected. |
− | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
− | |}
| |
− | | |
− | | |
− | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| |- | | |- |
− | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | + | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]] |
− | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''AutoMoveToPosition'''
| + | | width="90%" | Coil 4 |
− | |-
| |
− | | colspan="2" | Automatically moves towards the new position at a fixed rate determined by the AutoMoveSpeed.
| |
− | |-
| |
− | |-
| |
− | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| |
− | | width="90%" | Channel
| |
− | |-
| |
− | | colspan="2" | The channel to assign the new position. Range: 0-7
| |
− | |-
| |
− | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| |
− | | width="90%" | Position
| |
− | |-
| |
− | | colspan="2" | Position to automatically move to. Range: 0-255
| |
− | |-
| |
− | | 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''
| |
− | |}
| |
− | | |
− | | |
− | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
− | |-
| |
− | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
− | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''EnableServo'''
| |
− | |-
| |
− | | colspan="2" | Enables a servo channel effectivly setting the position of the motor to the value in the local position variable.
| |
− | |-
| |
− | |-
| |
− | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| |
− | | width="90%" | Channel | |
− | |-
| |
− | | colspan="2" | The channel to set the position for. First channel is zero.
| |
− | |-
| |
− | | 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''
| |
− | |}
| |
− | | |
− | | |
− | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
− | |-
| |
− | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
− | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetAutoMoveSpeed'''
| |
− | |-
| |
− | | colspan="2" | Sets the speed of the auto move to position macro. Default speed is shown in the Servo_Period_Multiplier property.
| |
| |- | | |- |
| + | | colspan="2" | Chip pin to which the fourth motor coil is connected. |
| |- | | |- |
− | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| + | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]] |
− | | width="90%" | Speed
| + | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Motor Setup |
− | |-
| |
− | | colspan="2" | 1=Slowest (Default), 2= Double, 3=Triple, 4=Quadruple
| |
− | |-
| |
− | | 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''
| |
− | |}
| |
− | | |
− | | |
− | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
− | |-
| |
− | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
− | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''AutoMoveToPositionInt'''
| |
− | |-
| |
− | | colspan="2" | Automatically moves towards the new 16-bit position at a fixed rate determined by the AutoMoveSpeed.
| |
− | |-
| |
− | |-
| |
− | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| |
− | | width="90%" | Channel
| |
− | |-
| |
− | | colspan="2" | The channel to assign the new position. Range: 0-7
| |
− | |-
| |
− | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| |
− | | width="90%" | Position
| |
− | |-
| |
− | | colspan="2" | Position to automatically move to. Range: 0-65535
| |
− | |-
| |
− | | 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''
| |
− | |}
| |
− | | |
− | | |
− | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
− | |-
| |
− | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
− | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise'''
| |
− | |-
| |
− | | colspan="2" | Sets up the servo motor interrupts
| |
− | |-
| |
− | |-
| |
− | | 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''
| |
− | |}
| |
− | | |
− | | |
− | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
− | |-
| |
− | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
− | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WriteLEDs'''
| |
− | |-
| |
− | | colspan="2" | Allows control of all 8-LEDs on the front of the Formula Flowcode.
| |
− | |-
| |
− | |-
| |
− | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| |
− | | width="90%" | LED_Byte
| |
− | |-
| |
− | | colspan="2" |
| |
− | |-
| |
− | | 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''
| |
− | |}
| |
− | | |
− | | |
− | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
− | |-
| |
− | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
− | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise'''
| |
− | |-
| |
− | | colspan="2" | Starts up the formula flowcode PWM for motor control and performs the wait for button press
| |
− | |-
| |
− | |-
| |
− | | 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="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
− | |-
| |
− | | width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]] | |
− | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties''' | |
| |- | | |- |
| |- | | |- |
Line 347: |
Line 169: |
| |- | | |- |
| | colspan="2" | Amount of change in the shaft angle when the IncrementStep / DecrementStep functions are called. | | | colspan="2" | Amount of change in the shaft angle when the IncrementStep / DecrementStep functions are called. |
| + | |- |
| + | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]] |
| + | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Motor Simulation |
| + | |- |
| |- | | |- |
| | width="10%" align="center" | [[File:Fc9-type-17-icon.png]] | | | width="10%" align="center" | [[File:Fc9-type-17-icon.png]] |
Line 362: |
Line 188: |
| |- | | |- |
| | colspan="2" | The axis of the 'Rotaion Centre' object around which the 'Rotating Part' will rotate. | | | colspan="2" | The axis of the 'Rotaion Centre' object around which the 'Rotating Part' will rotate. |
| + | |- |
| + | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]] |
| + | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Coil Simulation |
| + | |- |
| |- | | |- |
| | width="10%" align="center" | [[File:Fc9-type-7-icon.png]] | | | width="10%" align="center" | [[File:Fc9-type-7-icon.png]] |
Line 402: |
Line 232: |
| |- | | |- |
| | colspan="2" | Make the coil objects this colour when they ARE energised,. | | | colspan="2" | Make the coil objects this colour when they ARE energised,. |
| + | |- |
| + | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]] |
| + | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Target Object |
| + | |- |
| |- | | |- |
| | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] |
Line 422: |
Line 256: |
| |- | | |- |
| | 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. | | | 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. |
− | |-
| |
− | | width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-conn-icon.png]]
| |
− | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''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.
| |
− | |-
| |
− | | 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" style="background-color:#D8C9D8;" | [[File:Fc9-conn-icon.png]]
| |
− | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Simulations'''
| |
− | |-
| |
| |} | | |} |