Professional Documents
Culture Documents
Contents
1. Document Control................................................................................................................... 3
2. Description .............................................................................................................................. 4
3. Application Download/Installation ......................................................................................... 5
4. Application Usage ................................................................................................................... 6
5. Core Power Distribution Module ............................................................................................ 8
6. Core Device Interface Module Advanced Options ................................................................. 9
6.1. On Board LEDs ....................................................................................................... 10
6.2. PWM Outputs ........................................................................................................ 10
6.3. Digital I2C Ports ..................................................................................................... 11
6.3.1 Address List ............................................................................................................. 11
6.3.2 I2C Commands ........................................................................................................ 11
6.3.3 Change I2C Address ................................................................................................ 11
6.4. Analog/Digital Inputs............................................................................................. 12
6.5. Analog Outputs ..................................................................................................... 12
7. Core Legacy Module Advanced Options ............................................................................... 13
7.1. On Board LEDs ....................................................................................................... 14
7.2. Sensor Ports .......................................................................................................... 14
8. Core Motor Controller Advanced Options ............................................................................ 15
8.1. Current Status ....................................................................................................... 16
8.2. Motor Controls ...................................................................................................... 16
8.2.1 Constant Power Mode ............................................................................................ 16
8.2.2 Constant Speed Mode ............................................................................................ 17
8.2.3 Run to Positon Mode .............................................................................................. 17
8.2.4 Motor Type ............................................................................................................. 17
9. Core Servo Controller Advanced Options ............................................................................. 18
9.1. Standard Servo Use ............................................................................................... 19
9.2. Extended Range Servo Use ................................................................................... 19
10. Firmware Upgrade via Core Device Discovery ................................................................... 20
10.1. Upgrade a Module................................................................................................. 20
1. Document Control
Revision History
Version Date Description By
1.0.1 10/27/15 Initial Document Modern Robotics
2.0.0 4/11/17 Rewrote and reorganized document Modern Robotics
This document is published by Modern Robotics, Inc. No part of this document may be copied,
published in print or shared online or otherwise publically released without the express written
consent of Modern Robotics, Inc.
Phone: (786)393-6886
Email: support@modernroboticsinc.com
Web: www.modernroboticsinc.com
2. Description
The Core Device Discovery utility allows you to retrieve module information and serial
numbers, test connectivity and most functions of each module from your PC or Mac.
Modules that can be tested by this are;
It is recommended that the Core Power Distribution Module be used in line with the
connected controllers and computer.
3. Application Download/Installation
Step 1
Step 2
Core Device Discovery will be in your downloads folder. We recommend moving the
program to your documents folder.
Core Device Discovery can be used from any location on your computer including
external hard drives.
Step3
Double click the executable file to run the application. When the program is open, it will
match the photo below.
4. Application Usage
Connect your Core Power Distribution Module to your computer. Your computer will see
the Core Power Distribution Module as a generic USB hub. Connect additional modules to
the Core Power Distribution Module one at a time to allow for the modules to be
discovered and install the proper device drivers.
Windows: A popup window will appear in the tool tray indicating that device has drivers,
been assigned a COM port and is ready for use.
If your computer does not install the drivers, the modules will not be found by the
application. To fix this, go to http://www.ftdichip.com/Drivers/VCP.htm and select the
“setup executable” option in the comments column. Installing this driver will allow the
modules to communicate with the computer.
Mac: In most cases, each module connected will be assigned a “tty” USB port within a short
time of connecting. Once the tty number is assigned, the module is ready for use.
Click the “Refresh” button to update the device windows with the currently connected
controller.
NOTE: Servo and Motor Controllers must be connected to 12V with the red LED turned ON
to be read properly by the Core Device Discovery.
Clicking “Save Output” will save valuable information about the controllers you have
connected to a text file. If you are having trouble with a module or controller, then save a
text file and email it to support@modernroboticsinc.com with a detailed description of the
problem and testing steps.
Indicator Legend:
= No Module/Controller Detected
= Core Control Module Found
= Unknown Device OR Servo/Motor w/o 12V power
= Module/Controller Require Reprogramming
Indicator
COM Port
Firmware Version
Manufacturer
Green – Input value is good
FTDI Serial Number
Red – Input value is
Device Name incorrect or out of range
Upgrade Firmware Gray – Input disabled, Read
only
Advanced Testing Options
The Core Power Distribution Module is equipped with four LEDs as status indicators. Under
normal operation, all four LEDs should be illuminated with a power supply and USB host
connected.
USB
Enable
3.3 V
5V
12 V
Note: The Core Power Distribution Module does not appear in the Core Device Discovery
device windows. The seven device windows represent the seven ports of the Core Power
Distribution Module in an arbitrary order.
For more information and testing instructions for the Core Power Distribution Module, go
to http://modernroboticsedu.com/mod/page/view.php?id=64.
The Core Device Interface Module has one green LED to indicate a connection to a 5 V USB
host. The Core Device Interface Module can be directly connected to the computer via USB
or connected through your Core Power Distribution Module.
For more information and testing instructions for the Core Device Interface Module, go to
http://modernroboticsedu.com/mod/page/view.php?id=67.
5V
Click the “Advanced” button on the home screen to open the advanced window.
The Red and Blue on board LEDs can be controlled by checking or unchecking the boxes.
There are two ports available for generating pulse width modulation. There are two
parameters that must be set to generate a PWM output. The “On Time” parameter is a
measure from rising edge of the wave form to the next falling edge. The “Period” parameter
is a measure of the rising edge of the wave form to the next rising edge.
The Address List displays all connected and properly working I2C sensors and their I2C
Address. Third party sensors may not be displayed the same
The I2C Commands section is used for reading data from and writing data to an I2C
sensor. The Address field is the I2C address of a sensor that was found in the Address
List. The Register field is the location within the sensor where data can be read or
written. For more information on the register layouts and usage of Modern Robotics I2C
sensor, go to
http://modernroboticsinc.com/Content/Images/uploaded/Sensors/Sensor%20Documen
tation.pdf. Performing a read of a register location must be done by pressing the READ
button or checking the Poll Read checkbox, which will then display the register value in
the Value field. Writing to a register requires a value to be typed into the Value field.
The value is written to the register within the sensor when the WRITE button is pressed.
The Change Address section is very important when using two of the same I2C sensors
on the same I2C bus. For both sensors to work they must have different I2C address,
otherwise they will both communicate at the same time causing garbage data to be
returned. With only one of the sensors connected, type the current I2C address into the
Current field. The name of the sensor will appear in place of “…” if a Modern Robotics
Sensor is detected. Then the new address must be typed into the New Addr field. The
new address must range from 0x10 – 0xEE and be an even number. Once the Change
Address button is pressed, the Address List section will update with the new I2C address
of the sensor.
The Analog and Digital inputs display the raw value returned by the sensor. The Analog
sensors will return values ranging from 0 – 255. The Digital sensors will return a 0 or 1. A
connected sensor to the analog or digital ports will be read automatically and displayed.
The Core Legacy Module has one red LED to indicate a connection to a 5 V USB host. The
Core Legacy Module can be directly connected to the computer via USB or connected
through your Core Power Distribution Module.
For more information and testing instructions for the Core Legacy Module, go to
http://modernroboticsedu.com/mod/page/view.php?id=68.
5V
Click the “Advanced” button on the home screen to open the advanced window.
There are four on board LEDs that can be controlled by checking or unchecking the boxes.
The Core Legacy Module has six sensor ports to connect HiTechnic sensors and controllers.
To perform an analog read, connect a legacy analog or digital sensor to the sensor port on
the Core Legacy Module. A single read can be made by clicking the READ button or
constantly poll a reading by checking the Poll Read checkbox. The returned reading will
appear in the Analog Reading field.
To communicated via I2C a legacy I2C sensor or legacy motor/servo controller must first be
connected. If the number is preceded by “0x” then that is a hexadecimal number, otherwise
it is a decimal number. Click the I2C Address button to show the address of the attached I2C
device. Enter the register location per the device’s register map into the Register Location
field. Performing a read of a register location must be done by pressing the READ button or
checking the Poll Read checkbox, which will then display the register value in the Value
field. Writing to a register requires a value to be typed into the Value field. The value is
written to the register within the sensor when the WRITE button is pressed.
Note: Port S4 and S5 can enable 9 V for use with the legacy NXT Ultrasonic Sensor. (Coming
soon to Core Device Discovery)
The Core Motor Controller has one red LED to indicate a connection to a 12 V power. The
Core Motor Controller can be directly connected to the computer via USB or connected
through your Core Power Distribution Module. There must be 12 V power applied with the
red LED on when testing or the controller will not be detected properly by the computer.
For more information and testing instructions for the Core Motor Controller, go to
http://modernroboticsedu.com/mod/lesson/view.php?id=76.
5V
Click the “Advanced” button on the home screen to open the advanced window.
The status window displays vital information about the status of the motor on the port and
the battery voltage.
The Motor Control window contains all the tools necessary to fully test a Core Motor
Controller and motor. There are three operating modes a motor port can be set to;
Constant Power, Constant Speed and Run to Position. There are also two stopping modes,
Brake and Float. Brake will halt the motor when a power of zero is applied and hold at the
current encoder position. This means that in Brake mode at a power of zero the motor shaft
cannot be rotated. Float will cause the motors to coast to a stop and will not hold the
encoder position. This means that in Float mode at a power of zero the motor shaft can
continue to rotate.
Constant Motor Power Mode applies the same amount of power to the motor
regardless of the load on the motor. Motor power ranges from -100 – +100.
Constant Motor Speed Mode applies a power to the motor to maintain the same
rotational speed. Therefore, when applying ±100% power in Constant Speed Mode the
resulting power will be 85% of the maximum power. This is necessary if the load
becomes greater on the motor and requires more power to be applied to maintain a
constant speed.
When using this mode, always apply a positive power. The motor will turn in the
direction according to the encoder target position.
The Core Motor Controller supports a few types of motors including Matrix, AndyMark
and Tetrix with support for other motors in the future. Selecting a motor type changes
the P, I, D and Ratio parameters which are vital to using the motor with encoders. The
PID and Ratio parameter were found through extensive testing on special equipment.
Once a motor type it set, it will remain set until it is changed by the user.
The Core Servo Controller has one red LED to indicate a connection to a 12 V power. The
Core Servo Controller can be directly connected to the computer via USB or connected
through your Core Power Distribution Module. There must be 12 V power applied with the
red LED on when testing or the controller will not be detected properly by the computer.
For more information and testing instructions for the Core Servo Controller, go to
http://modernroboticsedu.com/mod/lesson/view.php?id=78.
5V
Click the “Advanced” button on the home screen to open the advanced window.
The standard Core Servo Controller range is from 0.75 ms to 2.25 ms per port when a value
of 0 or 255 is applied respectively.
The Servo Enable box must be pressed for the servos to move according to the entry value.
Once the servos are enabled, a user entry value can be entered in the green box from 0 –
255. Once the value is set to the desired target value, click Update Values to apply the
changes to the Core Servo Controller. Clicking Update Values will update the values of all six
servo ports simultaneously.
The extended Core Servo Controller range is from 0.5 ms – 2.5 ms per port when a value of
0 or 255 is applied respectively. This will allow for a greater operating range on the selected
servo port. Take great caution when using the extended servo range as a valid entry of 0 –
255 could exceed the mechanical limit of the servo causing irreversible damage to the
servo.
Once a servo port is put in extended range mode, it will remain there until the user changes
it back to standard range mode. This mode can only be changed using Core Device
Discovery and not the Android SDK or Windows DLL.
The Core Device Interface, Core Legacy Module, Core Motor Controller and Core Servo
Controller all support firmware upgrades from home with version 2.0 or higher. If any
modules are on version 1.5 or 1.6, they must be sent back to the Modern Robotics offices
for update and inspection. Refer to http://modernroboticsinc.com/firmware-update for
more information on sending modules in for update.
All modules can be both upgraded and downgraded to any available firmware.
To upgrade a module, click the Upgrade button found in the device window. The most
current version of the firmware will be selected by default. Click the dropdown menu to
select a different firmware version to load on the module.
Click Program Device to start programming the selected firmware on to the module. Once
complete, the current version will be updated and the module will be ready for use.
The home screen will need to be refreshed to show the updated firmware number.