All rights reserved. This product and related documentation are protected by copyright and are distributed under licenses
restricting their use, copying, and distribution. No part of this product or related documentation may be reproduced in any
form by any means without prior written authorization of Pitsco, Inc.
All other product names mentioned herein might be the trademarks of their respective owners.
A downloadable PDF of the most recent version of this guide can be found at
This device complies with Part 15 of the FCC Rules. Operation is subject to the following two conditions:
(1) this device may not cause harmful interference, and (2) this device must accept any interference
received, including interference that may cause undesired operation.
V1.0
02/18
Page 3
Overview
This document provides guidance on installation of the TETRIX® myRIO programming tools for LabVIEW™ to be used with
the TETRIX MAX DC and Servo Motor Expansion Controllers, and it gives a brief overview of each virtual instrument (VI).
You must first have installed LabVIEW and configured your myRIO. Information for installing LabVIEW for myRIO is included
with the myRIO hardware or can be accessed at www.ni.com/myrio. Please reference the instructions and resources
included with myRIO for help on completing these items. After that has been done, the TETRIX myRIO programming VIs can
be found at https://www.pitsco.com/TETRIX-myRIO-Control-Board-Adapter.
Preparing files
Download and unzip the file “TETRIX_LV_myRIO_ToolKit” to a folder on your computer. Open the folder and find the VI
Package installer. There will be a version number at the end of the file name; however, the version number can change as
new releases become available. Also included in the .zip file is a LabVIEW project with several code examples demonstrating
how to use the VI tools using LabVIEW and myRIO to control TETRIX DC motors and servos. If you are new to LabVIEW and
myRIO programming, it is recommended that you start with these examples.
Page 4
Installing the programming tools
To begin installation, double-click the VI Package file. If you have not already installed the VI Package Manager software,
you will be prompted to do so. Simply follow the prompts on the screen to guide you through the process. After the VIPackage Manager software is installed, double-click the VI Package file once more to start the installation of the tools.
Follow the prompts on the screen to complete the installation. After the installation is finished, the installed TETRIX myRIO
programming VIs can be located on the LabVIEW functions palette.
Each of these VIs can be used to construct a LabVIEW
program for controlling a TETRIX robot equipped with
TETRIX DC and Servo Motor Expansion Controllers and
myRIO. An adapter interface board developed by Pitsco
and included in each WRO TETRIX myRIO bundled kit
must be used to ensure proper connection and i2C
communication between the TETRIX expansion motor
controllers and the myRIO controller.
Page 5
Connecting controllers
The TETRIX motor expansion controllers connect via the Pitsco adapter to the i2C bus of the myRIO controller. The motor
controllers are connected in a daisy chain hookup with the first controller in the chain designated as Position 1. Subsequent
controllers are set to Positions 2, 3, and 4. A maximum of four controllers can be connected in a single daisy chain to each
myRIO MXP port.
34-pin MXP connector to NI myRIO
+3.3 V expansion
port
Built-in logic-level
shifting circuit
for connection
of TETRIX motor
controllers to NI
myRIO i2C bus
+5 V expansion
port
34-pin NI myRIO I/O
expansion port
GND expansion
port
2x Grove sensor
family connections
2x Grove sensor
family connections
LEGO data-style i2C port connector
for connection of TETRIX motor
controllers
Page 6
The i2C connection cables are the LEGO® data-style cables, which are included with each motor controller. Power to the
myRIO is fed from the open battery position terminals on the last controller box in the daisy chain. A DC-barrel-jack-toterminal adapter is included in each WRO TETRIX myRIO bundled set.
To connect power, attach a red jumper wire between the positive terminals on the motor controller battery terminal
strip and the DC barrel jack adapter, and then attach a black jumper wire between the negative terminals on the motor
controller and DC barrel jack adapter. Plug the DC barrel jack into the myRIO power input port. This will provide battery
power to the myRIO controller.
Typical hookup diagram. Multiple controllers may be daisy-chained together.
Page 7
Overview of TETRIX myRIO VIs
A VI is a programming tool in LabVIEW that models the appearance and function of a physical instrument. VIs can exist at
multiple levels. Smaller VIs can be combined to create larger VIs. The following blocks are smaller VIs created specifically to
access the TETRIX motor expansion controllers and will be used to create larger VIs that control your robots. The bullets are
terminal inputs and outputs that define the paramenters of the VI.
Section 1: DC Motor Expansion Controller VIs
TETRIX Enable DC Expansion Controller
Initializes and enables the DC motor expansion controller. Place this VI at the beginning of the program.
• myRIO MXP Port A/B – the myRIO MXP port to which the adapter board is connected
• Error/Flow In – program execution flow in from previous VI block
• Error/Flow Out – program execution flow out to next VI block
• Controller ID# – This is the ID#/i2C address of the expansion controller. Valid range is 1-120; however, 5 and 6 are
reserved and cannot be used. The default ID# for the DC motor expansion controller is 1.
TETRIX Enable DC Expansion Controller
[TETRIX_Enable_DC_Controller_myRIO.vi]
myRIO MXP Port A/B
Error/Flow In
Controller ID# (i2C Address)
Error/Flow Out
TETRIX Set Motor Power
Sets the motor power level parameter for the selected DC motor channel.
• myRIO MXP Port A/B – the myRIO MXP port to which the adapter board is connected
• Error/Flow In – program execution flow in from previous VI block
• Error/Flow Out – program execution flow out to next VI block
• Controller ID# – This is the ID#/i2C address of the expansion controller. Valid range is 1-120; however, 5 and 6 are
reserved and cannot be used. The default ID# for the DC motor expansion controller is 1.
• Select Channel – This selects Motor 1 or Motor 2.
• Power (-100 to 100) – This sets the motor power level parameter for the selected channel. Range is -100 to 100.
The +/- sign controls the direction of motor rotation. Setting the power level to 0 stops the motor in a coast mode.
Setting the power level to 125 stops the motor in a braking mode.
TETRIX Set Motor Power
[TETRIX_Set_Motor_Power_myRIO.vi]
myRIO MXP Port A/B
Error/Flow In
Controller ID# (i2C Address)
Select Channel
Power (-100 to 100) 0 = Co...
Error/Flow Out
Page 8
TETRIX Set Motor Power(s)
Simultaneously sets the motor power level parameter for each DC motor channel.
• myRIO MXP Port A/B – the myRIO MXP port to which the adapter board is connected
• Error/Flow In – program execution flow in from previous VI block
• Error/Flow Out – program execution flow out to next VI block
• Controller ID# – This is the ID#/i2C address of the expansion controller. Valid range is 1-120; however, 5 and 6 are
reserved and cannot be used. The default ID# for the DC motor expansion controller is 1.
• Motor 1 Power (-100 to 100) – This sets the motor power level parameter for DC motor channel 1. Range is -100
to 100. The +/- sign controls the direction of motor rotation. Setting the power level to 0 stops the motor in a coast
mode. Setting the power level to 125 stops the motor in a braking mode.
• Motor 2 Power (-100 to 100) – This sets the motor power level parameter for DC motor channel 2. Range is -100
to 100. The +/- sign controls the direction of motor rotation. Setting the power level to 0 stops the motor in a coast
mode. Setting the power level to 125 stops the motor in a braking mode.
TETRIX Set Motor Power(s)
[TETRIX_Set_Motor_Power(s)_myRIO.vi]
myRIO MXP Port A/B
Error/Flow In
Controller ID# (i2C Address)
Motor 1 Power (-100 to 100)
Motor 2 Power (-100 to 100)
Error/Flow Out
TETRIX Set Motor Speed
Sets the constant speed parameter for the selected DC motor channel. This VI uses the motor encoder to implement
constant-speed PID control.
• myRIO MXP Port A/B – the myRIO MXP port to which the adapter board is connected
• Error/Flow In – program execution flow in from previous VI block
• Error/Flow Out – program execution flow out to next VI block
• Controller ID# – This is the ID#/i2C address of the expansion controller. Valid range is 1-120; however, 5 and 6 are
reserved and cannot be used. The default ID# for the DC motor expansion controller is 1.
• Select Channel – This selects Motor 1 or Motor 2.
• Constant Speed – This sets the constant speed parameter for the selected channel. The constant speed parameter
is set in degrees per second. The maximum speed that can be set depends on the type of rpm and gearing of
the motor. For best constant-speed PID performance, a maximum speed setting of about 75% of the full motor
rpm rating is recommended. For the TETRIX TorqueNADO™ motor, the maximum constant speed parameter is
approximately 450 degrees per second.
TETRIX Set Motor Speed
[TETRIX_Set_Motor_Speed_myRIO.vi]
myRIO MXP Port A/B
Error/Flow In
Controller ID# (i2C Address)
Select Channel
Constant Speed (Degrees per...
Error/Flow Out
Page 9
TETRIX Set Motor Speed(s)
Simultaneously sets the constant speed parameter for each DC motor channel. This VI uses motor encoders to implement
constant-speed PID control.
• myRIO MXP Port A/B – the myRIO MXP port to which the adapter board is connected
• Error/Flow In – program execution flow in from previous VI block
• Error/Flow Out – program execution flow out to next VI block
• Controller ID# – This is the ID#/i2C address of the expansion controller. Valid range is 1-120; however, 5 and 6 are
reserved and cannot be used. The default ID# for the DC motor expansion controller is 1.
• Motor 1 Speed – This sets the constant speed parameter for motor channel 1. The constant speed parameter is set
in degrees per second. The maximum speed that can be set depends on the type of rpm and gearing of the motor.
For best constant-speed PID performance, a maximum speed setting of about 75% of the full motor rpm rating is
recommended. For the TETRIX TorqueNADO motor, the maximum constant speed parameter is approximately 450
degrees per second.
• Motor 2 Speed – This sets the constant speed parameter for motor channel 2. The constant speed parameter is set
in degrees per second. The maximum speed that can be set depends on the type of rpm and gearing of the motor.
For best constant speed PID performance, a maximum speed setting of about 75% of the full motor rpm rating is
recommended. For the TETRIX TorqueNADO motor, the maximum constant speed parameter is approximately 450
degrees per second.
TETRIX Set Motor Speed(s)
[TETRIX_Set_Motor_Speed(s)_myRIO.vi]
myRIO MXP Port A/B
Error/Flow In
Controller ID# (i2C Address)
Motor 1 Speed (Degrees per...
Motor 2 Speed (Degrees per...
Error/Flow Out
TETRIX Set Motor Target
Sets the constant speed and encoder target parameters for the selected DC motor channel. This VI uses the motor encoder
to implement constant velocity and position hold control.
• myRIO MXP Port A/B – the myRIO MXP port to which the adapter board is connected
• Error/Flow In – program execution flow in from previous VI block
• Error/Flow Out – program execution flow out to next VI block
• Controller ID# – This is the ID#/i2C address of the expansion controller. Valid range is 1-120; however, 5 and 6 are
reserved and cannot be used. The default ID# for the DC motor expansion controller is 1.
• Select Channel – This selects Motor 1 or Motor 2.
• Encoder Units – This sets the target units as either degrees or encoder counts. For the TETRIX TorqueNADO motor
encoder, 1 encoder count is equal to 1/4 degree. When using encoder counts, 1,440 counts equal 360 degrees, or
one full motor shaft revolution.
• Constant Speed – This sets the constant speed parameter for the selected channel while it is moving to the encoder
target. The constant speed parameter is set in degrees per second. The maximum speed that can be set depends
on the rpm of the motor being controlled. For best constant-speed PID performance, a maximum speed setting of
about 75% of the full motor rpm rating is recommended. For the TETRIX TorqueNADO motor, the maximum constant
speed parameter is approximately 450 degrees per second.
• Motor Encoder Target – This sets the targeting parameter for the DC motor channel. Depending on the encoder
units selected, this parameter can be expressed in degrees or encoder counts.
TETRIX Set Motor Target
[TETRIX_Set_Motor_Target_myRIO.vi]
Constant Speed (Degrees per...
myRIO MXP Port A/B
Error/Flow In
Controller ID# (i2C Address)
Select Channel
Encoder Units
Motor Encoder Target
Error/Flow Out
Page 10
TETRIX Set Motor Target(s)
Simultaneously sets the constant speed and encoder target parameters for each DC motor channel. This VI uses motor
encoders to implement constant velocity and position hold control.
• myRIO MXP Port A/B – the myRIO MXP port to which the adapter board is connected
• Error/Flow In – program execution flow in from previous VI block
• Error/Flow Out – program execution flow out to next VI block
• Controller ID# – This is the ID#/i2C address of the expansion controller. Valid range is 1-120; however, 5 and 6 are
reserved and cannot be used. The default ID# for the DC motor expansion controller is 1.
• Encoder Units – This sets the target units as either degrees or encoder counts. For the TETRIX TorqueNADO motor
encoder, 1 encoder count is equal to 1/4 degree. When using encoder counts, 1,440 counts equal 360 degrees, or
one full motor shaft revolution.
• Motor 1 Constant Speed – This the constant speed parameter for DC motor channel 1 while it is moving to the
encoder target. The constant speed parameter is set in degrees per second. The maximum speed that can be set
depends on the type of rpm and gearing of the motor. For best constant-speed PID performance, a maximum
speed setting of about 75% of the full motor rpm rating is recommended. For the TETRIX TorqueNADO motor, the
maximum constant speed parameter is approximately 450 degrees per second.
• Motor 2 Constant Speed – This sets the constant speed parameter for DC motor channel 2 while it is moving to
the encoder target. The constant speed parameter is set in degrees per second. The maximum speed that can be
set depends on the type of rpm and gearing of the motor. For best constant-speed PID performance, a maximum
speed setting of about 75% of the full motor rpm rating is recommended. For the TETRIX TorqueNADO motor, the
maximum constant speed parameter is approximately 450 degrees per second.
• Motor 1 Encoder Target – This sets the targeting parameter for DC motor channel 1. Depending on the encoder
units selected, this parameter can be expressed in degrees or encoder counts.
• Motor 2 Encoder Target – This sets the targeting parameter for DC motor channel 2. Depending on the encoder
units selected, this parameter can be expressed in degrees or encoder counts.
TETRIX Set Motor Target(s)
[TETRIX_Set_Motor_Target(s)_myRIO.vi]
Motor 2 Encoder Target
Motor 1 Encoder Target
myRIO MXP Port A/B
Controller ID# (i2C Address)
Error/Flow In
Encoder Units
Motor 1 Constant Speed (Degrees per...
Motor 2 Constant Speed (Degrees per...
Error/Flow Out
Page 11
TETRIX Read Motor Busy Status
Returns the busy status of the selected DC motor channel.
• myRIO MXP Port A/B – the myRIO MXP port to which the adapter board is connected
• Error/Flow In – program execution flow in from previous VI block
• Error/Flow Out – program execution flow out to next VI block
• Controller ID# – This is the ID#/i2C address of the expansion controller. Valid range is 1-120; however, 5 and 6 are
reserved and cannot be used. The default ID# for the DC motor expansion controller is 1.
• Select Channel – This selects Motor 1, Motor 2, or both.
• Motor Busy? – When executing a position targeting function using PID, this VI returns true while the DC motor
channel is in the process of moving to an encoder target. It returns false when the DC motor channel has reached its
target and is holding position in a servo-like mode.
TETRIX Read Motor Busy Status
[TETRIX_Read_Motor_Busy_myRIO.vi]
myRIO MXP Port A/B
Error/Flow In
Controller ID# (i2C Address)
Select Channel
Error/Flow Out
Motor Busy?
TETRIX Stop DC Motors
Stops the selected DC motor channel in either brake or coast mode.
• myRIO MXP Port A/B – the myRIO MXP port to which the adapter board is connected
• Error/Flow In – program execution flow in from previous VI block
• Error/Flow Out – program execution flow out to next VI block
• Controller ID# – This is the ID#/i2C address of the expansion controller. Valid range is 1-120; however, 5 and 6 are
reserved and cannot be used. The default ID# for the DC motor expansion controller is 1.
• Select Channel – This selects Motor 1, Motor 2, or both.
• Stop Mode – This selects “coast” for a freewheeling stop or “brake” for a hard stop.
TETRIX Stop DC Motors
[TETRIX_Stop_DC_Motors_myRIO.vi]
myRIO MXP Port A/B
Error/Flow In
Controller ID# (i2C Address)
Select Channel
Stop Mode
Error/Flow Out
Page 12
TETRIX Read Encoder
Reads the position count of the selected encoder channel.
• myRIO MXP Port A/B – the myRIO MXP port to which the adapter board is connected
• Error/Flow In – program execution flow in from previous VI block
• Error/Flow Out – program execution flow out to next VI block
• Controller ID# – This is the ID#/i2C address of the expansion controller. Valid range is 1-120; however, 5 and 6 are
reserved and cannot be used. The default ID# for the DC motor expansion controller is 1.
• Select Encoder – This selects Encoder 1 or Encoder 2.
• Encoder Output – This returns the selected encoder count output data. For TETRIX DC motors and encoders, 1 count
is equal to 1/4 degree of motor shaft rotation. For example, 1,440 encoder counts equal 360 degrees of motor shaft
rotation.
TETRIX Read Encoder
[TETRIX_Read_Encoders_myRIO.vi]
myRIO MXP Port A/B
Error/Flow In
Controller ID# (i2C Address)
Select Encoder
Error/Flow Out
Encoder Output
TETRIX Reset Encoder
Resets the selected encoder channel to zero count.
• myRIO MXP Port A/B – the myRIO MXP port to which the adapter board is connected
• Error/Flow In – program execution flow in from previous VI block
• Error/Flow Out – program execution flow out to next VI block
• Controller ID# – This is the ID#/i2C address of the expansion controller. Valid range is 1-120; however, 5 and 6 are
reserved and cannot be used. The default ID# for the DC motor expansion controller is 1.
• Select Encoder – This selects Encoder 1 or Encoder 2.
TETRIX Reset Encoder
[TETRIX_Reset_Encoders_myRIO.vi]
myRIO MXP Port A/B
Error/Flow In
Controller ID# (i2C Address)
Select Encoder
Error/Flow Out
Page 13
TETRIX Set Motor Invert State
Inverts the rotation direction of the selected DC motor channel.
• myRIO MXP Port A/B – the myRIO MXP port to which the adapter board is connected
• Error/Flow In – program execution flow in from previous VI block
• Error/Flow Out – program execution flow out to next VI block
• Controller ID# – This is the ID#/i2C address of the expansion controller. Valid range is 1-120; however, 5 and 6 are
reserved and cannot be used. The default ID# for the DC motor expansion controller is 1.
• Select Channel – This selects Motor 1 or Motor 2.
• Invert State – If set to true, all subsequent VI motor move parameters that follow will be inverted. If set to false,
motor rotation is set to non-inverted (default).
TETRIX Set Motor Invert State
[TETRIX_Set_Motor_Invert_myRIO.vi]
myRIO MXP Port A/B
Error/Flow In
Controller ID# (i2C Address)
Select Channel
Invert State
Error/Flow Out
TETRIX Read Motor Current
Returns the load current of the selected DC motor channel.
• myRIO MXP Port A/B – the myRIO MXP port to which the adapter board is connected
• Error/Flow In – program execution flow in from previous VI block
• Error/Flow Out – program execution flow out to next VI block
• Controller ID# – This is the ID#/i2C address of the expansion controller. Valid range is 1-120; however, 5 and 6 are
reserved and cannot be used. The default ID# for the DC motor expansion controller is 1.
• Select Channel – This selects Motor 1 or Motor 2.
• Motor Current Output – This returns the load current in milliamps of the selected DC motor channel. For example, a
value of 1,500 indicates a 1.5 amp motor load.
TETRIX Read Motor Current
[TETRIX_Read_Motor_Current_myRIO.vi]
myRIO MXP Port A/B
Error/Flow In
Controller ID# (i2C Address)
Select Channel
Error/Flow Out
Motor Current Output
Page 14
TETRIX Read DC Controller’s Battery Voltage
Returns the battery pack voltage powering the expansion controller.
• myRIO MXP Port A/B – the myRIO MXP port to which the adapter board is connected
• Error/Flow In – program execution flow in from previous VI block
• Error/Flow Out – program execution flow out to next VI block
• Controller ID# – This is the ID#/i2C address of the expansion controller. Valid range is 1-120; however, 5 and 6 are
reserved and cannot be used. The default ID# for the DC motor expansion controller is 1.
• Battery Voltage Output – This returns the battery pack voltage connected to the expansion controller. For example,
a value of 1,268 indicates a battery voltage of 12.68 volts.
Returns the connected expansion controller’s ID#/i2C address.
Important: Only the expansion controller being read may be connected to the myRIO. Multiple daisy-chained controllers
may not be connected when attempting to read the ID#.
• myRIO MXP Port A/B – the myRIO MXP port to which the adapter board is connected
• Error/Flow In – program execution flow in from previous VI block
• Error/Flow Out – program execution flow out to next VI block
• Controller ID# Found – This returns the ID#/i2C address of the expansion controller.
Sets or changes the connected expansion controller’s ID#/i2C address.
• myRIO MXP Port A/B – the myRIO MXP port to which the adapter board is connected
• Error/Flow In – program execution flow in from previous VI block
• Error/Flow Out – program execution flow out to next VI block
• Current ID#/i2C Address – the expansion controller’s current ID#/i2C address
• New ID#/i2C Address – This is the new ID#/i2C address to be used by the expansion controller. Valid ID# range is
1-120 with 5 and 6 excluded. The new ID# becomes effective after a subsequent power off/on cycle.
Enables a firmware reset of the expansion controller at the wired ID#/i2C address.
• myRIO MXP Port A/B – the myRIO MXP port to which the adapter board is connected
• Error/Flow In – program execution flow in from previous VI block
• Error/Flow Out – program execution flow out to next VI block
• Controller ID# – This is the ID#/i2C address of the expansion controller. Valid range is 1-120; however, 5 and 6 are
reserved and cannot be used. The default ID# for the DC motor expansion controller is 1.
TETRIX Reset DC Expansion Controller
[TETRIX_Reset_DC_Controller_myRIO.vi]
myRIO MXP Port A/B
Error/Flow In
Controller ID# (i2C Address)
Error/Flow Out
Page 16
TETRIX Reset DC Expansion Controller with WDT Timeout
Triggers a watchdog time-out reset of the expansion controller at the wired ID#/i2C address. When called, the controller
firmware will reset after 15 ms.
• myRIO MXP Port A/B – the myRIO MXP port to which the adapter board is connected
• Error/Flow In – program execution flow in from previous VI block
• Error/Flow Out – program execution flow out to next VI block
• Controller ID# – This is the ID#/i2C address of the expansion controller. Valid range is 1-120; however, 5 and 6 are
reserved and cannot be used. The default ID# for the DC motor expansion controller is 1.
TETRIX Reset DC Expansion Controller with WDT Timeout
Controller ID# (i2C Address)
[TETRIX_Reset_DC_Controller_myRIO.vi]
myRIO MXP Port A/B
Error/Flow In
Error/Flow Out
Section 2: Servo Motor Expansion Controller VIs
TETRIX Enable Servo Expansion Controller
Initializes and enables the servo motor expansion controller. Place this VI at the beginning of a program.
• myRIO MXP Port A/B – the myRIO MXP port to which the adapter board is connected
• Error/Flow In – program execution flow in from previous VI block
• Error/Flow Out – program execution flow out to next VI block
• Controller ID# – This is the ID#/i2C address of the expansion controller. Valid range is 1-120; however, 5 and 6 are
reserved and cannot be used. The default ID# for the servo motor expansion controller is 2.
TETRIX Enable Servo Expansion Controller
[TETRIX_Enable_Servo_Controller_myRIO.vi]
myRIO MXP Port A/B
Error/Flow In
Controller ID# (i2C Address)
Error/Flow Out
Page 17
TETRIX Set Servo Speed
Sets the speed of a selected servo motor channel.
• myRIO MXP Port A/B – the myRIO MXP port to which the adapter board is connected
• Error/Flow In – program execution flow in from previous VI block
• Error/Flow Out – program execution flow out to next VI block
• Controller ID# – This is the ID#/i2C address of the expansion controller. Valid range is 1-120; however, 5 and 6 are
reserved and cannot be used. The default ID# for the servo motor expansion controller is 2.
• Select Channel – This selects a servo motor channel 1-6 or all servos at once.
• Set Servo Speed – This sets the servo motor speed parameter of the selected servo channel. The speed range is 0 to
100 percent.
TETRIX Set Servo Speed
[TETRIX_Set_Servo_Speed_myRIO.vi]
myRIO MXP Port A/B
Error/Flow In
Controller ID# (i2C Address)
Select Channel
Set Servo Speed (0 - 100)
Error/Flow Out
TETRIX Set Servo Position
Sets the angular position of a selected servo motor channel.
• myRIO MXP Port A/B – the myRIO MXP port to which the adapter board is connected
• Error/Flow In – program execution flow in from previous VI block
• Error/Flow Out – program execution flow out to next VI block
• Controller ID# – This is the ID#/i2C address of the expansion controller. Valid range is 1-120; however, 5 and 6 are
reserved and cannot be used. The default ID# for the servo motor expansion controller is 2.
• Select Channel – This selects a servo motor channel 1-6 or all servos at once.
• Set Servo Position – This sets the angular servo motor position parameter of the selected servo channel. The
position range is 0 to 180 degrees.
TETRIX Set Servo Position
[TETRIX_Set_Servo_Position_myRIO.vi]
myRIO MXP Port A/B
Error/Flow In
Controller ID# (i2C Address)
Select Channel
Set Servo Position (0 - 180)
Error/Flow Out
Page 18
TETRIX Set Servo Position(s)
Simultaneously sets the angular position of each servo motor channel.
• myRIO MXP Port A/B – the myRIO MXP port to which the adapter board is connected
• Error/Flow In – program execution flow in from previous VI block
• Error/Flow Out – program execution flow out to next VI block
• Controller ID# – This is the ID#/i2C address of the expansion controller. Valid range is 1-120; however, 5 and 6 are
reserved and cannot be used. The default ID# for the servo motor expansion controller is 2.
• Servo 1 Position – This sets the angular servo motor position parameter of servo motor channel 1. The position
range is 0 to 180 degrees.
• Servo 2 Position – This sets the angular servo motor position parameter of servo motor channel 2. The position
range is 0 to 180 degrees.
• Servo 3 Position – This sets the angular servo motor position parameter of servo motor channel 3. The position
range is 0 to 180 degrees.
• Servo 4 Position – This sets the angular servo motor position parameter of servo motor channel 4. The position
range is 0 to 180 degrees.
• Servo 5 Position – This sets the angular servo motor position parameter of servo motor channel 5. The position
range is 0 to 180 degrees.
• Servo 6 Position – This sets the angular servo motor position parameter of servo motor channel 6. The position
range is 0 to 180 degrees.
TETRIX Set Servo Position(s)
[TETRIX_Set_Servo_Position(s)_myRIO.vi]
Servo 5 Position (0 - 180)
Servo 6 Position (0 - 180)
myRIO MXP Port A/B
Controller ID# (i2C Address)
Error/Flow In
Servo 1 Position (0 - 180)
Servo 2 Position (0 - 180)
Servo 3 Position (0 - 180)
Servo 4 Position (0 - 180)
Error/Flow Out
TETRIX Read Servo Position
Reads the angular position of the servo motor channels.
• myRIO MXP Port A/B – the myRIO MXP port to which the adapter board is connected
• Error/Flow In – program execution flow in from previous VI block
• Error/Flow Out – program execution flow out to next VI block
• Controller ID# – This is the ID#/i2C address of the expansion controller. Valid range is 1-120; however, 5 and 6 are
reserved and cannot be used. The default ID# for the servo motor expansion controller is 2.
• Select Channel – This selects a servo motor channel 1-6.
• Servo Position – This returns the angular position of the selected servo motor channel. The value returned
corresponds to the current commanded position of the servo motor between 0 and 180 degrees.
TETRIX Read Servo Position
[TETRIX_Read_Servo_Position_myRIO.vi]
myRIO MXP Port A/B
Error/Flow In
Controller ID# (i2C Address)
Select Channel
Error/Flow Out
Servo Position
Page 19
TETRIX Set Continuous Rotation Servo State
Sets the rotational motion of a continuous rotation (CR) servo.
• myRIO MXP Port A/B – the myRIO MXP port to which the adapter board is connected
• Error/Flow In – program execution flow in from previous VI block
• Error/Flow Out – program execution flow out to next VI block
• Controller ID# – This is the ID#/i2C address of the expansion controller. Valid range is 1-120; however, 5 and 6 are
reserved and cannot be used. The default ID# for the servo motor expansion controller is 2.
• Select Channel – This selects the CR servo motor channel CR1 or CR2.
• CR Servo State – This sets the operation state of the connected CR servo. CR servo states are forward, reverse, and
stop.
TETRIX Set Continuous Rotation Servo State
[TETRIX_Set_CRservo_State_myRIO.vi]
myRIO MXP Port A/B
Error/Flow In
Controller ID# (i2C Address)
Select Channel
CR Servo State
Error/Flow Out
TETRIX Read Servo Controller’s Battery Voltage
Returns the battery pack voltage powering the expansion controller.
• myRIO MXP Port A/B – the myRIO MXP port to which the adapter board is connected
• Error/Flow In – program execution flow in from previous VI block
• Error/Flow Out – program execution flow out to next VI block
• Controller ID# – This is the ID#/i2C address of the expansion controller. Valid range is 1-120; however, 5 and 6 are
reserved and cannot be used. The default ID# for the servo motor expansion controller is 2.
• Battery Voltage Output – This returns the battery pack voltage connected to the expansion controller. For example,
a value of 1,268 indicates a battery voltage of 12.68 volts.
Returns the connected expansion controller’s ID#/i2C address.
Important: Only the expansion controller being read may be connected to the myRIO. Multiple daisy-chained controllers
may not be connected when attempting to read the ID#.
• myRIO MXP Port A/B – the myRIO MXP port to which the adapter board is connected
• Error/Flow In – program execution flow in from previous VI block
• Error/Flow Out – program execution flow out to next VI block
• Controller ID# Found – This returns the ID#/i2C address of the expansion controller.
TETRIX Set the i2C address/ID# of Expansion Controller
Sets or changes the connected expansion controller’s ID#/i2C address.
• myRIO MXP Port A/B – the myRIO MXP port to which the adapter board is connected
• Error/Flow In – program execution flow in from previous VI block
• Error/Flow Out – program execution flow out to next VI block
• Current ID#/i2C Address – the expansion controller’s current ID#/i2C address
• New ID#/i2C Address – This is the new ID#/i2C address to be used by the expansion controller. Valid ID# range is
1-120 with 5 and 6 excluded. The new ID# becomes effective after a subsequent power off/on cycle.
TETRIX Set the i2C address/ID# of Expansion Controller
Enables a firmware reset of the expansion controller at the wired ID#/i2C address.
• myRIO MXP Port A/B – the myRIO MXP port to which the adapter board is connected
• Error/Flow In – program execution flow in from previous VI block
• Error/Flow Out – program execution flow out to next VI block
• Controller ID# – This is the ID#/i2C address of the expansion controller. Valid range is 1-120; however, 5 and 6 are
reserved and cannot be used. The default ID# for the servo motor expansion controller is 2.
TETRIX Reset Servo Expansion Controller
[TETRIX_Reset_Servo_Controller_myRIO.vi]
myRIO MXP Port A/B
Error/Flow In
Controller ID# (i2C Address)
Error/Flow Out
TETRIX Reset Servo Controller with WDT Timeout
Triggers a watchdog time-out reset of the expansion controller at the wired ID#/i2C address. When called, the controller
firmware will reset after 15 ms.
• myRIO MXP Port A/B – the myRIO MXP port to which the adapter board is connected
• Error/Flow In – program execution flow in from previous VI block
• Error/Flow Out – program execution flow out to next VI block
• Controller ID# – This is the ID#/i2C address of the expansion controller. Valid range is 1-120; however, 5 and 6 are
reserved and cannot be used. The default ID# for the servo motor expansion controller is 2.
TETRIX Reset Servo Controller with WDT Timeout
[TETRIX_WDT_Servo_Controller_myRIO.vi]
myRIO MXP Port A/B
Error/Flow In
Controller ID# (i2C Address)
Error/Flow Out
Page 22
Recommended DC and Servo Motors
TETRIX® MAX TorqueNADO™ Motor
44260
• Take your TETRIX® robots to the next level with a stronger
12-volt DC motor with 100 rpm and 700 oz-in. of torque.
• Designed with a built-in, high-resolution Hall effect
encoder for precise motor control
• Based on user feedback and created specifically to
withstand the stress of intense robotics competitions
• Compatible with all TETRIX MAX DC Motor Mounts, sold
separately.
180-Degree Standard-Scale
HS-485HB Servo Motor
39197
• Allows for exact positioning
within a 180-degree range of
motion
• Features Karbonite gears nearly
four times as strong as nylon
• Features controllers capable of generating a pulse
range from 600 usec to 2,400 usec
• Huge selection of compatible mounting brackets
means you have a variety of attachment options.
• Combine with 41789, 39381, 39382, 39280, 39060,
or 39064 to attach this servo motor to MAX
structural and motion elements.
• Comes with servo horn
Quarter-Scale
HS-785HB
Winch Servo
Motor with
Horn
39905
• For when you need a more
powerful and durable servo motor
that offers greater rotational range
control
• Allows for exact positioning within a 1,260-degree
range (3.5 rotations) of motion
• Features Karbonite gears nearly four times as strong
as nylon
• Features stall torque of 183 oz-in.
• Combine with either the quarter-scale servo frame
mounting bracket (39383) or the quarter-scale servo
front mounting bracket (39380) to easily attach
motor to MAX structural and motion elements.
• Comes with servo horn and nylon dual-wind pulley
TETRIX® MAX
Continuous Rotation
Servo
39177
• Allows for continuous
direction of movement, both
forward and backward
• Features fully proportional forward and reverse
speed control
• Designed with a wide neutral dead band to
eliminate the creep that occurs in many other
continuous rotation servos
• Huge selection of compatible mounting brackets
means you have a variety of attachment options.
• Combine with 41789, 39381, 39382, 39280, 39060,
or 39064 to attach this servo motor to MAX
structural and motion elements.
Quarter-Scale
HS-755HB
Servo Motor
with Horn
39904
• For when you need a
more powerful and durable
servo motor that is precise
• Allows for exact positioning within a
180-degree range of motion
• Features Karbonite gears nearly four times as strong
as nylon
• Features stall torque of 183 oz-in.
• Combine with either the quarter-scale servo frame
mounting bracket (39383) or the quarter-scale servo
front mounting bracket (39380) to easily attach motor
to MAX structural and motion elements.
• Comes with servo horn
Page 23
Change DC Expansion Controller ID Address
Change Servo Expansion Controller ID Address
Move Servo and Set Speed
Page 24
Run Continuous Rotation Servo
Move Servo
Read Servo Position
Page 25
Run DC Motor Constant Speed
Run DC Motor Power
Run Both DC Motor Powers
Page 26
Notes
Page 27
Page 28
TETRIX® myRIO Programming
Tools for LabVIEW™
Call Toll-Free
800•835•0686
Visit Us Online at
Pitsco.com
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.