0% found this document useful (0 votes)
205 views28 pages

Tetrix® Myrio Programming Tools For Labview™

TETRIX myRIO programming guide

Uploaded by

Noname
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
205 views28 pages

Tetrix® Myrio Programming Tools For Labview™

TETRIX myRIO programming guide

Uploaded by

Noname
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 28

TETRIX® myRIO Programming Tools for LabVIEW™

44678
Content advising by Paul Uttley.
SolidWorks® Composer™ and KeyShot® renderings by Tim Lankford, Brian Eckelberry, and Jason Redd.
Desktop publishing by Todd McGeorge.
©2018 Pitsco, Inc., 915 E. Jefferson, Pittsburg, KS 66762
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
https://www.pitsco.com/TETRIX-myRIO-Control-Board-Adapter.

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 V1.0
received, including interference that may cause undesired operation. 02/18
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.
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 VI
Package 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.
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 +5 V expansion


port port

34-pin NI myRIO I/O


expansion port

GND expansion
port
Built-in logic-level
shifting circuit
for connection 2x Grove sensor
of TETRIX motor family connections
controllers to NI
myRIO i2C bus 2x Grove sensor
family connections
LEGO data-style i2C port connector
for connection of TETRIX motor
controllers
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-to-
terminal 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.


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 Error/Flow Out
Controller ID# (i2C Address)

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 Error/Flow Out
Controller ID# (i2C Address)
Select Channel
Power (-100 to 100) 0 = Co...
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 Error/Flow Out
Controller ID# (i2C Address)
Motor 1 Power (-100 to 100)
Motor 2 Power (-100 to 100)

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 Error/Flow Out
Controller ID# (i2C Address)
Select Channel
Constant Speed (Degrees per...
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 Error/Flow Out
Controller ID# (i2C Address)
Motor 1 Speed (Degrees per...
Motor 2 Speed (Degrees per...

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 Error/Flow Out
Controller ID# (i2C Address)
Select Channel
Encoder Units
Motor Encoder Target
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 Error/Flow Out
Encoder Units
Motor 1 Constant Speed (Degrees per...
Motor 2 Constant Speed (Degrees per...
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 Error/Flow Out
Controller ID# (i2C Address)
Select Channel 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 Error/Flow Out
Controller ID# (i2C Address)
Select Channel
Stop Mode
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 Error/Flow Out
Controller ID# (i2C Address)
Select Encoder
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 Error/Flow Out
Controller ID# (i2C Address)
Select Encoder
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 Error/Flow Out
Controller ID# (i2C Address)
Select Channel
Invert State

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 Error/Flow Out
Controller ID# (i2C Address)
Select Channel
Motor Current Output
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.

TETRIX Read DC Controller’s Battery Voltage


[TETRIX_Read DC_Battery_Voltage_myRIO.vi]
myRIO MXP Port A/B
Error/Flow In Error/Flow Out
Controller ID# (i2C Address)

Battery Voltage Output

TETRIX Read Expansion Controller’s ID#/i2C address


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 Read Expansion Controller’s ID#/i2C address


[TETRIX_Read_Controller_ID_myRIO.vi]
myRIO MXP Port A/B
Error/Flow In Error/Flow Out
Controller ID# Found
TETRIX Set DC Controller i2C address/ID#
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 DC Controller i2C address/ID#


[TETRIX_Set_DC_Controller_ID_i2C address_myRIO.vi]
myRIO MXP Port A/B
Error/Flow In Error/Flow Out
Current ID#/i2C Address
New ID#/i2C Address

TETRIX Reset DC 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 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 Error/Flow Out
Controller ID# (i2C Address)
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


[TETRIX_Reset_DC_Controller_myRIO.vi]
myRIO MXP Port A/B
Error/Flow In Error/Flow Out
Controller ID# (i2C Address)

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 Error/Flow Out
Controller ID# (i2C Address)
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 Error/Flow Out
Controller ID# (i2C Address)
Select Channel
Set Servo Speed (0 - 100)

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 Error/Flow Out
Controller ID# (i2C Address)
Select Channel
Set Servo Position (0 - 180)
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 Error/Flow Out
Servo 1 Position (0 - 180)
Servo 2 Position (0 - 180)
Servo 3 Position (0 - 180)
Servo 4 Position (0 - 180)

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 Error/Flow Out
Controller ID# (i2C Address)
Select Channel
Servo Position
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 Error/Flow Out
Controller ID# (i2C Address)
Select Channel
CR Servo State

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.

TETRIX Read Servo Controller’s Battery Voltage


[TETRIX_Read_Servo_Battery_Voltage_myRIO.vi]
myRIO MXP Port A/B
Error/Flow In Error/Flow Out
Controller ID# (i2C Address)
Battery Voltage Output
TETRIX Read Expansion Controller’s ID#/i2C address
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 Read Expansion Controller’s ID#/i2C address


[TETRIX_Read_Controller_ID_myRIO.vi]
myRIO MXP Port A/B
Error/Flow In Error/Flow Out
Controller ID# Found

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


[TETRIX_Set_Servo_Controller_ID_i2C address_myRIO.vi]
myRIO MXP Port A/B
Error/Flow In Error/Flow Out
Current ID#/i2C Address
New ID#/i2C Address
TETRIX Reset Servo 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 Error/Flow Out
Controller ID# (i2C Address)

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 Error/Flow Out
Controller ID# (i2C Address)
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.

1 80-Degree Standard-Scale TETRIX® MAX


HS-485HB Servo Motor Continuous Rotation
39197 Servo
• Allows for exact positioning 39177
within a 180-degree range of • Allows for continuous
motion direction of movement, both
• Features Karbonite gears nearly forward and backward
four times as strong as nylon • Features fully proportional forward and reverse
• Features controllers capable of generating a pulse speed control
range from 600 usec to 2,400 usec • Designed with a wide neutral dead band to
• Huge selection of compatible mounting brackets eliminate the creep that occurs in many other
means you have a variety of attachment options. continuous rotation servos
• Combine with 41789, 39381, 39382, 39280, 39060, • Huge selection of compatible mounting brackets
or 39064 to attach this servo motor to MAX means you have a variety of attachment options.
structural and motion elements. • Combine with 41789, 39381, 39382, 39280, 39060,
• Comes with servo horn or 39064 to attach this servo motor to MAX
structural and motion elements.

Q uarter-Scale Q uarter-Scale
HS-785HB HS-755HB
Winch Servo Servo Motor
Motor with with Horn
Horn 39904
39905 • For when you need a
• For when you need a more more powerful and durable
powerful and durable servo motor servo motor that is precise
that offers greater rotational range • Allows for exact positioning within a
control 180-degree range of motion
• Allows for exact positioning within a 1,260-degree • Features Karbonite gears nearly four times as strong
range (3.5 rotations) of motion as nylon
• Features Karbonite gears nearly four times as strong • Features stall torque of 183 oz-in.
as nylon
• Combine with either the quarter-scale servo frame
• Features stall torque of 183 oz-in. mounting bracket (39383) or the quarter-scale servo
• Combine with either the quarter-scale servo frame front mounting bracket (39380) to easily attach motor
mounting bracket (39383) or the quarter-scale servo to MAX structural and motion elements.
front mounting bracket (39380) to easily attach • Comes with servo horn
motor to MAX structural and motion elements.
• Comes with servo horn and nylon dual-wind pulley
Change DC Expansion Controller ID Address

Change Servo Expansion Controller ID Address

Move Servo and Set Speed


Run Continuous Rotation Servo

Move Servo

Read Servo Position


Run DC Motor Constant Speed

Run DC Motor Power

Run Both DC Motor Powers


Notes
TETRIX® myRIO Programming
Tools for LabVIEW™

Call Toll-Free Visit Us Online at


800•835•0686 Pitsco.com

You might also like