Component: Stepper Motor Template (Mechatronics)

From Flowcode Help
Revision as of 21:05, 16 November 2021 by Wiki bot (talk | contribs)
Jump to navigationJump to search
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.

Detailed description

No detailed description exists yet for this component

Examples

Attaching a primitive to a stepper motor

This example links a panel primitive to the output of the motor. FC6 Icon.png Stepper Example 1 The linked object can be rotated or moved in a fixed direction by the motor.

StepperProps.jpg


Linear movement using a stepper motor

This example links two stepper motors together using linear type movements rather then rotational similar to a stepper attached to a lead screw. FC6 Icon.png Stepper Example 2 The stepper is linked to the objects on the panel using properties and grouping.

LinStepper.jpg


Creating a multi-axis actuator using stepper motors

This example links three stepper motors together using panel primitive objects and groups. FC6 Icon.png Stepper Example 3 Here we can see the actuator arm in motion.

LinkedStepper.jpg

Downloadable macro reference

Fc9-comp-macro.png IncrementStep
Move the motor forward by one step. 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png SetTarget
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. 
[[File:]] - target
An object to be moved by the motor. 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png DecrementStep
Move the motor backwards by one step. 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png EnableMotor
Turn on the motor. This must be done before it will respond to any other macros. 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png DisableMotor
Turn off the motor. It will no longer respond to any other macros. 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png SetTrim
Allows the level of trim for each servo channel to be adjusted progmatically. 
Fc9-u8-icon.png - BYTE Channel
The channel to set the position for. First channel is zero. 
Fc9-u8-icon.png - BYTE Trim
Legacy: 0=0us, 1=+25us, 2=+50us, 3=+75us, 4=+100us, 5=-25us, 6=-50us, 7=-75us, 8=-100us or Smooth: 0-200 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png IsAutoMoving
Is the AutoMoveToPosition movement complete. Returns 1 if the servos are still moving. Returns 0 if all servo movement is complete. 
Fc9-u8-icon.png - BYTE Return


Fc9-comp-macro.png SetAutoMoveSpeedInt
Sets the speed of the auto move to position macro. Default speed is shown in the Servo_Period_Multiplier property. 
Fc9-u16-icon.png - UINT Speed
1=Slowest (Default), 2= Double, 3=Triple, 4=Quadruple 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png IsServoAutoMoving
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. 
Fc9-u8-icon.png - BYTE Channel
Servo Motor Output Range: 0-7 
Fc9-u8-icon.png - BYTE Return


Fc9-comp-macro.png AutoMoveToPosition
Automatically moves towards the new position at a fixed rate determined by the AutoMoveSpeed. 
Fc9-u8-icon.png - BYTE Channel
The channel to assign the new position. Range: 0-7 
Fc9-u8-icon.png - BYTE Position
Position to automatically move to. Range: 0-255 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png EnableServo
Enables a servo channel effectivly setting the position of the motor to the value in the local position variable. 
Fc9-u8-icon.png - BYTE Channel
The channel to set the position for. First channel is zero. 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png SetAutoMoveSpeed
Sets the speed of the auto move to position macro. Default speed is shown in the Servo_Period_Multiplier property. 
Fc9-u8-icon.png - BYTE Speed
1=Slowest (Default), 2= Double, 3=Triple, 4=Quadruple 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png AutoMoveToPositionInt
Automatically moves towards the new 16-bit position at a fixed rate determined by the AutoMoveSpeed. 
Fc9-u8-icon.png - BYTE Channel
The channel to assign the new position. Range: 0-7 
Fc9-u16-icon.png - UINT Position
Position to automatically move to. Range: 0-65535 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png Initialise
Sets up the servo motor interrupts 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png WriteLEDs
Allows control of all 8-LEDs on the front of the Formula Flowcode. 
Fc9-u8-icon.png - BYTE LED_Byte
 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png Initialise
Starts up the formula flowcode PWM for motor control and performs the wait for button press 
Fc9-void-icon.png - VOID Return



Property reference

Fc9-prop-icon.png Properties
Fc9-type-16-icon.png Winding Type
The polarity settings of the motor windings. Refer to the data-sheet for your chosen hardware to determine this value. 
Fc9-type-16-icon.png Step Type
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. 
Fc9-type-14-icon.png Steps Per Revolution
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. 
Fc9-type-15-icon.png Angle Increment
Amount of change in the shaft angle when the IncrementStep / DecrementStep functions are called. 
Fc9-type-17-icon.png Rotating Part
Select a panel object here that will represent the moving part of the motor - for example, an output shaft or actuator. 
Fc9-type-17-icon.png Rotation Centre
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. 
Fc9-type-16-icon.png Rotate Around
The axis of the 'Rotaion Centre' object around which the 'Rotating Part' will rotate. 
Fc9-type-7-icon.png Waveforms
Allows waveforms to be auto generated on the data recorder window. 
Fc9-type-7-icon.png Coil Simulation
Turn coil simulation on and off. 
Fc9-type-17-icon.png Coil 1
Choose a panel object to represent the first coil. The simulation will automatically change this object's color to visualise when it is energised. 
Fc9-type-17-icon.png Coil 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. 
Fc9-type-17-icon.png Coil 3
Choose a panel object to represent the third coil. The simulation will automatically change this object's color to visualise when it is energised. 
Fc9-type-17-icon.png Coil 4
Choose a panel object to represent the fourth coil. The simulation will automatically change this object's color to visualise when it is energised. 
Fc9-type-1-icon.png Colour Non Active Coil
Make coil object this colour when they are NOT energised. 
Fc9-type-1-icon.png Colour Active Coil
Make the coil objects this colour when they ARE energised,. 
Fc9-type-15-icon.png Gear Ratio
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. 
Fc9-type-15-icon.png X Linear Pitch
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. 
Fc9-type-15-icon.png Y Linear Pitch
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. 
Fc9-type-15-icon.png Z Linear Pitch
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. 
Fc9-conn-icon.png Connections
Fc9-type-16-icon.png Driver
 
Fc9-type-5-icon.png Coil 1
Chip pin to which the first motor coil is connected. 
Fc9-type-5-icon.png Coil 2
Chip pin to which the second motor coil is connected. 
Fc9-type-5-icon.png Coil 3
Chip pin to which the third motor coil is connected. 
Fc9-type-5-icon.png Coil 4
Chip pin to which the fourth motor coil is connected. 
Fc9-conn-icon.png Simulations