Component: Servo Motor Controller (Mechatronics)
Author | Matrix Ltd |
Version | 2.0 |
Category | Mechatronics |
Contents
Servo Motor Controller component
Can control up to eight standard PWM driven servo's. Supports 8-bit and 16-bit movement resolutions. 'Servo Object' properties allow you to connect the controller to on-screen simulations using the "Servo Motor" component and its derivatives.
Detailed description
No detailed description exists yet for this component
Examples
Importing from v5
The servo component in Flowcode v6 onwards has a new Initialise macro which will need to be added to your program before any other calls to the servo motor component are made.
Controlling a servo with an analogue input
This example reads the value of the analogue potentiometer and uses this to set the position of the servo motor.
Servo Example 1
The Servo controller is linked to the standard servo component but this could be linked to any object on the panel.
Creating a multi-axis actuator using servo motors
This example links two servo motors together using panel primitive objects and groups.
Servo Example 2
The Servo controller can handle up to 8 motors and is used to control both of the standard servo components on the panel.
Downloadable macro reference
![]() |
DisableServo |
Disables a servo channel effectivly disabling the motor. | |
![]() |
Channel |
The channel to set the position for. First channel is zero. | |
![]() |
Return |
![]() |
IsAutoMoving |
Is the AutoMoveToPosition movement complete. Returns 1 if the servos are still moving. Returns 0 if all servo movement is complete. | |
![]() |
Return |
![]() |
Initialise |
Sets up the servo motor interrupts | |
![]() |
Return |
![]() |
WriteLEDs |
Allows control of all 8-LEDs on the front of the Formula Flowcode. | |
![]() |
LED_Byte |
![]() |
Return |
![]() |
Initialise |
Starts up the formula flowcode PWM for motor control and performs the wait for button press | |
![]() |
Return |
![]() |
Initialise |
The Init macro must be called once to initialise the Graphical LCD display before any other Graphical LCD component macros are called. | |
![]() |
Return |
![]() |
Initialise |
The Init macro must be called once to initialise the Graphical LCD display before any other Graphical LCD component macros are called. | |
![]() |
Return |
![]() |
Initialise |
The Init macro must be called once to initialise the Graphical LCD display before any other Graphical LCD component macros are called. | |
![]() |
Return |
![]() |
Initialise |
The Init macro must be called once to initialise the Graphical LCD display before any other Graphical LCD component macros are called. | |
![]() |
Return |
![]() |
ARB4 |
Loads the binary-data to an existing arbitrary waveform memory location ARB4. | |
![]() |
Waveform |
![]() |
Return |
![]() |
CLKSRRet |
Returns the clock source <INT> or <EXT>. | |
[[File:]] - | Return |
![]() |
MODPMDEV |
Sets PM waveform deviation to <nrf> degrees. (Lower limit: -360° - Upper limit: 360°). | |
[[File:]] - | Degrees |
Sets PM waveform deviation in degrees (-360 - 360). | |
![]() |
Return |
![]() |
MSTLOCK |
Sends signal to SLAVE generator to get synchronised | |
![]() |
Return |
![]() |
HILVL |
Sets the amplitude-high-level to <nrf> Volts. (Lower limit: -0.490 V - Upper limit: 5.000 V). | |
[[File:]] - | HighLevel |
Sets the amplitude-high-level in Volts(V) (-0.490 V - 5.000 V). | |
![]() |
Return |
![]() |
ARB3 |
Loads the binary-data to an existing arbitrary waveform memory location ARB3. | |
![]() |
Waveform |
![]() |
Return |
![]() |
CALADJ |
Adjust the selected calibration value by <nrf> (Lower limit: -100 - Upper limit: 100). | |
[[File:]] - | Calibrate |
Adjust the selected calibration value (-100 - 100). | |
![]() |
Return |
![]() |
STBRet |
Returns the value of the Status Byte Register in <nr1> numeric format. | |
![]() |
Return |
![]() |
ARB2 |
Loads the binary-data to an existing arbitrary waveform memory location ARB2. | |
![]() |
Waveform |
![]() |
Return |
![]() |
EERRet |
Query and clear execution error number register. | |
![]() |
Return |
![]() |
MODFMSRC |
Sets FM waveform source to; 0 INT, 1 = EXT. | |
[[File:]] - | Source |
Sets FM waveform source (0 = INT, 1 = EXT). | |
![]() |
Return |
![]() |
MODAMFREQ |
Sets AM waveform frequency to <nrf> Hz. (Lower limit: 1uHz - Upper limit: 20kHz). | |
[[File:]] - | Frequency |
Sets AM waveform frequency in Hertz(Hz) (1uHz - 20kHz). | |
![]() |
Return |
![]() |
ESE |
Sets the Standard Event Status Enable Register to the value of <nrf>. | |
![]() |
Value |
Value of register 0-255 | |
![]() |
Return |
![]() |
ARB1 |
Loads the binary-data to an existing arbitrary waveform memory location ARB1. | |
![]() |
Waveform |
16 Bit binary number for arbitrary waveform. | |
![]() |
Return |
![]() |
ARB4DEFRet |
Returns user specified waveform name, waveform pint interpolation state and waveform length of ARB4. | |
![]() |
Return |
![]() |
CLS |
Clears status byte register of the interface. | |
![]() |
Return |
![]() |
MSTRELOCK |
Resynchronises the two generators in MASTER-SLAVE mode. | |
![]() |
Return |
![]() |
NOISLVL |
Sets the output noise level to <nr1> %. (Lower limit: 0% - Upper limit: 50%) | |
![]() |
Percent |
Sets the output noise level in percent. (0 - 50) | |
![]() |
Return |
![]() |
LOCKMODE |
Sets the synchronising mode to; 0 = MASTER, 1 = SLAVE, 2 = INDEP. | |
![]() |
Mode |
Sets the synchronising mode (0 = MASTER, 1 = SLAVE, 2 = INDEP). | |
![]() |
Return |
![]() |
ADDRESSRet |
Returns the instruments address | |
[[File:]] - | Return |
![]() |
MODPMSRC |
Sets PM waveform source to; 0 INT, 1 = EXT. | |
[[File:]] - | Source |
Sets PM waveform source (0 = INT, 1 = EXT). | |
![]() |
Return |
![]() |
MODPWMSRC |
Sets PWM waveform source to; 0 = INT, 1 = EXT. | |
[[File:]] - | Source |
Sets PWM waveform source (0 = INT, 1 = EXT). | |
![]() |
Return |
![]() |
MOD |
Sets modulation to; 0 = OFF, 1 = AM, 2 = FM, 3 = PM, 4 = FSK, 5 = PWM. | |
![]() |
Modulation |
Sets modulation (0 = OFF, 1 = AM, 2 = FM, 3 = PM, 4 = FSK, 5 = PWM). | |
![]() |
Return |
![]() |
ISTRet |
Returns IST local message as defined by IEEE Std. 488.2. The syntax of the response is 0<rmt>, if the local message is false, or 1<rmt>, if the local message is true. | |
[[File:]] - | Return |
![]() |
LRNRet |
Returns the complete setup of the instrument as a binary data block | |
[[File:]] - | Return |
![]() |
OPCRet |
Query Operation Complete status. The response is always 1<rmt> and will be available immediately the command is executed because all commands are sequential. | |
[[File:]] - | Return |
![]() |
PULSRANGE |
Sets PWM waveform source to <1>, <2> or <3>; 1 = 1, 2 = 2, 3 = 3. | |
![]() |
Range |
Sets the pulse rise and fall range. (1, 2 or 3) | |
![]() |
Return |
![]() |
TSTRet |
The generator has no self test capability and the response is always 0 <rmt>. | |
[[File:]] - | Return |
![]() |
BSTTRGPOL |
Sets the burst trigger slope to; 0 = POS, 1 = NEG. | |
[[File:]] - | Slope |
Set the burst trigger slope (0 = POS, 1 = NEG). | |
![]() |
Return |
![]() |
ARB3Ret |
Returns the binary-data from an existing abbitrary wavefrom memory location. | |
![]() |
Return |
![]() |
BSTPHASE |
Sets the burst phase to <nrf> degrees. (Lower limit: -360 - Upper limit: 360) | |
[[File:]] - | Degrees |
Sets the burst phase in degrees (-360 - 360) | |
![]() |
Return |
![]() |
SWPTRGPER |
Sets the sweep trigger period to <nrf> seconds | |
[[File:]] - | Seconds |
Set the sweep trigger period in seconds. | |
![]() |
Return |
![]() |
PULSDLY |
Sets the waveform delay to <nrf> sec | |
[[File:]] - | Sec |
![]() |
Return |
![]() |
Initialise |
Opens the COM port ready for communications. | |
![]() |
Return |