Jump to content

Component: Stepper Motor Template (Mechatronics)

From Flowcode Help
Revision as of 21:05, 16 November 2021 by Wiki bot (talk | contribs)
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. Stepper Example 1 The linked object can be rotated or moved in a fixed direction by the motor.


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. Stepper Example 2 The stepper is linked to the objects on the panel using properties and grouping.


Creating a multi-axis actuator using stepper motors

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

Downloadable macro reference

IncrementStep
Move the motor forward by one step. 
- VOID Return


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. 
- VOID Return


DecrementStep
Move the motor backwards by one step. 
- VOID Return


EnableMotor
Turn on the motor. This must be done before it will respond to any other macros. 
- VOID Return


DisableMotor
Turn off the motor. It will no longer respond to any other macros. 
- VOID Return


SetTrim
Allows the level of trim for each servo channel to be adjusted progmatically. 
- BYTE Channel
The channel to set the position for. First channel is zero. 
- 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 
- VOID Return


IsAutoMoving
Is the AutoMoveToPosition movement complete. Returns 1 if the servos are still moving. Returns 0 if all servo movement is complete. 
- BYTE Return


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


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. 
- BYTE Channel
Servo Motor Output Range: 0-7 
- BYTE Return


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


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


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


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


Initialise
Sets up the servo motor interrupts 
- VOID Return


WriteLEDs
Allows control of all 8-LEDs on the front of the Formula Flowcode. 
- BYTE LED_Byte
 
- VOID Return


Initialise
Starts up the formula flowcode PWM for motor control and performs the wait for button press 
- VOID Return



Property reference

Properties
Winding Type
The polarity settings of the motor windings. Refer to the data-sheet for your chosen hardware to determine this value. 
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. 
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. 
Angle Increment
Amount of change in the shaft angle when the IncrementStep / DecrementStep functions are called. 
Rotating Part
Select a panel object here that will represent the moving part of the motor - for example, an output shaft or actuator. 
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. 
Rotate Around
The axis of the 'Rotaion Centre' object around which the 'Rotating Part' will rotate. 
Waveforms
Allows waveforms to be auto generated on the data recorder window. 
Coil Simulation
Turn coil simulation on and off. 
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. 
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. 
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. 
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. 
Colour Non Active Coil
Make coil object this colour when they are NOT energised. 
Colour Active Coil
Make the coil objects this colour when they ARE energised,. 
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. 
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. 
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. 
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. 
Connections
Driver
 
Coil 1
Chip pin to which the first motor coil is connected. 
Coil 2
Chip pin to which the second motor coil is connected. 
Coil 3
Chip pin to which the third motor coil is connected. 
Coil 4
Chip pin to which the fourth motor coil is connected. 
Simulations