PITSCO W44322 PULSE Robotics Controller User Guide
- June 16, 2024
- PITSCO
Table of Contents
PITSCO W44322 PULSE Robotics Controller
General Description
TETRIX® PULSE® is a programmable target designed to enable autonomous control of robotics and mechatronic systems constructed using TETRIX PRIME building elements. The design architecture of PULSE is Arduino compatible, using the same ATmega328P program memory chip and preprogrammed Optiboot bootloader as a genuine Arduino UNO. PULSE offers a fully integrated brain for your robot that is powerful yet easy to use and, when combined with the Arduino Software (IDE), can provide an ideal learning tool for teaching engineering design and coding.
Software
The TETRIX Ardublockly software is a cloud-based graphic programming application specifically created by Pitsco for the exclusive use with the PULSE controller. It can be found here: ardublockly.pitsco.com. In addition, the PULSE controller can also be programmed with a syntax-based coding method using the Arduino Software (IDE) and the PULSE Arduino Library.
The TETRIX PULSE Robotics Controller features the following:
- 2 DC motor control ports, and 6 standard control servo ports
- 3 digital sensor ports, which can be configured as digital input, digital output, or serial communication, and 3 analog sensor ports (A1-A3 can be configured as analog input or digital input or output)
- 1 I2C port, 1 USB programming port, and 2 quadrature encoder input ports
- 1 battery connection port
- 1 power on/off switch
- 1 program start push button
- 1 program stop/reset push button
- 3 LED indicators: red, green, and yellow
What’s Included
- 1 TETRIX PULSE Robotics Controller
- 1 USB cable Type A to B
Technical Specifications
- Microcontroller: ATmega328P with Arduino Optiboot bootloader installed
- Memory: 32 KB flash programmable memory (ATmega328P)
- Power: 6 volts DC using TETRIX PRIME 6 V NiMH Battery Pack
- DC motor ports: 2 three-position header pins; H-bridge PWM controlled; 3 A continuous current each channel, 5 A peak
- Compatible DC motor: TETRIX PRIME 6-Volt DC Motor (44298)
- DC motor control modes:
- Constant power (-100% to 100%)
- Support for PID constant speed (-100 to 100 degrees per second)
- Support for PID constant speed to encoder target position and hold
- Support for PID constant speed to encoder degree position and hold
- Motor encoder ports: 2 quadrature, 5 volts DC, 50 mA max; Spec: 360 CPR, 1,440 PPR; ENC 1 and ENC 2
- USB connector: USB Type B
- USB driver: FTDI
- Standard servo ports : 6 total servo channels (1-6)
- Total servo power limit : 6 volts DC, 6 A max
- Servo control modes:
- Set servo speed (0% to 100%)
- Set servo position (0-180 degrees)
- Battery voltage monitoring: 0-7.5 volts range
- 3 digital sensor ports (D2-D4): Each can be configured as digital input, digital output, or serial communication.
- 3 analog sensor ports (A1-A3): Each can be configured as analog input or digital input or output ports.
- 1 I2C port (I2C): 100 kHz speed. This connection shares the same I2C bus as the internal DC motor and servo motor control chips. I2C addresses 0x01-0x06 reserved by the PULSE controller.
- Battery connection port: 3-position pin header. Use only TETRIX PRIME 6 V NiMH Battery Pack.
- 1 green Start button (START): Programmable push button
- 1 red Stop/Reset button (RESET): Non-programmable push button
- 1 red LED: Programmable LED used as an indicator
- 1 yellow LED: Programmable LED used as an indicator
- 1 green LED: Programmable LED used as an indicator
- 1 blue LED : Indicates the power is on when illuminated
- 2 yellow LEDs: Indicates serial data activity on the USB port
- 1 red and 1 green DC motor LED: Indicates DC motor rotation and direction for each DC motor channel
Installing the Arduino Software (IDE)
To upload programs to the TETRIX® PULSE® Robotics Controller, you need to install the Arduino Software (IDE). Full and comprehensive instructions for installing the software on Windows and Macintosh computers can be found at the Arduino website at www.arduino.cc.
To install
From the homepage, click Software to access the software downloads section.
After the Arduino Software (IDE) is installed, select Arduino/Genuino Uno from
the Tools > Board menu to enable communication with PULSE. You will also need
to select the COM port where PULSE has been installed by your computer system.
A more detailed explanation of software installation is included in the full
TETRIX PULSE Robotics Controller Programming Guide available for download at
Pitsco.com/TETRIX-PULSE-Robotics-Controller#downloads. Here, you will also find the
latest updates on supported software platforms for the TETRIX PULSE Robotics
Controller.
Installing the PULSE Robotics Controller Arduino Library
After you have successfully installed the Arduino Software (IDE), you can
add the PULSE Robotics Controller Arduino Library to your programming palette.
The library is a specialized set of functions written specifically for the
controller that greatly simplify the creation of programming applications to
control your robot’s motors and sensors. The PULSE Arduino Library is
distributed as a zip file: TETRIX_PULSE.zip.
To install
Download the PULSE Arduino Library from Pitsco.com/TETRIX-PULSE-Robotics-
Controller#downloads. After it is downloaded, save it to a location on your
computer so you can install it into the Arduino Software (IDE). If you are
unfamiliar with how to install an Arduino library, reference the library
installation section in the full TETRIX PULSE Programming Guide that is
available for download. You can also visit the Arduino website at
www.arduino.cc for instructions on how to install
libraries into the Arduino Software (IDE).
Arduino Code Examples
The PULSE Arduino Library includes several code examples that will assist you
in understanding how to program PULSE using the library functions. After the
library has been installed, be sure to restart the Arduino Software (IDE).
After the software has restarted, the code examples will be located in the
File > Examples drop-down menu.
PULSE Robotics Controller Arduino Library
Below is a reference of each function statement in the PULSE Robotics
Controller Arduino Library. For a detailed description of each function
statement, please download the full TETRIX PULSE Programming Guide found at
Pitsco.com/TETRIX-PULSE-Robotics-Controller#downloads.
- PulseBegin();
- PulseEnd();
- setGreenLED(HIGH/LOW);
- setRedLED(HIGH/LOW);
- setYellowLED(HIGH/LOW);
- setMotorPower(motor#, power);
- setMotorPowers(power1, power2);
- setMotorSpeed(motor#, speed);
- setMotorSpeeds(speed1, speed2);
- setMotorTarget(motor#, speed, target);
- setMotorTargets(speed1, target1, speed2, target2);
- setMotorDegree(motor#, speed, degrees);
- setMotorDegrees(speed1, degrees1, speed2, degrees2);
- setMotorSpeed(motor#, speed);
- setMotorSpeeds(speed1, speed2);
- setMotorInvert(motor#, invert);
- readLineSensor(port#);
- readSonicSensorCM(port#);
- readSonicSensorIN(port#);
- readBatteryVoltage();
- readStartButton();
- setServoSpeed(servo#, speed);
- setServoSpeeds(speed1, speed2, speed3, speed4, speed5, speed6); setServoPosition(servo#, position);
- setServoPositions(position1, position2, position3, position4, position5, position6); readServoPosition(servo#);
Sensor Integration
The TETRIX® PULSE® Robotics Controller is designed with sensor ports that are compatible with the Grove system of modular sensors. Currently, the PULSE Arduino Library has integrated support for two of these sensors: the Line Finder and the Ultrasonic. These sensor packs are included in the TETRIX PRIME Programmable Robotics Set and the TETRIX PRIME Dual-Control Robotics Set and are available for purchase à la carte at Pitsco.com/TETRIX. Both the Line Finder Sensor Pack (43056) and Ultrasonic Sensor Pack (43055) include a mounting adapter that aligns with the TETRIX hole pattern, enabling easy robot attachment.
Additional Grove system sensors and Arduino example codes for each can be found at http://wiki.seeed.cc/Grove_System/. To view the sample Arduino code, simply click the sensor that is of interest.
TETRIX-compatible mounting adapters for the larger family of Grove sensors are sold separately and will be needed for securing sensors to the robot structure. Integrated support for additional Grove sensors will be added to the PULSE Arduino Library as further updates are released.
Attaching the PULSE Controller
The PULSE enclosure mounting holes are spaced to align with the TETRIX hole
pattern. PULSE can be attached to TETRIX building elements using the screw and
nut hardware included in the TETRIX robotics sets.
Important Safety Information
Caution: Use only a 6-volt TETRIX PRIME battery pack. Connect the TETRIX PRIME battery pack to the battery connection port. Never connect the battery pack to any port on the PULSE controller other than the battery port. Failure to do so could result in damage or injury.
Content advising by Paul Uttley.
SolidWorks® Composer™ and KeyShot® renderings by Tim Lankford, Brian
Eckelberry, and Jason Redd. Desktop publishing by Todd McGeorge.
©2023 Pitsco Education, LLC, 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 Education, LLC.
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
Pitsco.com/TETRIX-PULSE-Robotics-Controller#resources.
WARNING: This equipment has been tested and found to comply with the limits for a Class A digital device, under part 15 of the FCC Rules. These limits are designed to provide reasonable protection against harmful interference when the equipment is operated in a commercial environment. This equipment generates, uses, and can radiate radio frequency energy and, if not installed and used under the instruction manual, may cause harmful interference to radio communications. Operation of this equipment in a residential area is likely to cause harmful interference in which case the user will be required to correct the interference at his own expense.
Notice: The changes or modifications not expressly approved by the party responsible for compliance could void the user’s authority to operate the equivalent.
FAQ
Frequently Asked Questions (FAQ)
- Q: Can I use other DC motors with the PULSE controller?
- A: The PULSE controller is compatible with TETRIX PRIME 6-Volt DC Motors (44298). Other DC motors may not be compatible.
- Q: How do I program the PULSE controller?
- A: You can program the PULSE controller using the TETRIX Ardublockly software or the Arduino Software (IDE) with the PULSE Arduino Library. Please refer to the user manual for detailed instructions.
- Q: Can I connect external sensors to the PULSE controller?
- A: Yes, the PULSE controller has 3 digital sensor ports (D2-D4) and 3 analog sensor ports (A1-A3) that can be used to connect external sensors. Please refer to the user manual for more information on sensor configuration.
- Q: What is the battery voltage monitoring range?
- A: The battery voltage monitoring range is 0-7.5 volts.
References
- Ardublockly
- Shop Pitsco | TETRIX Robotics
- TETRIX® PULSE® Robotics Controller (W44268)
- TETRIX® PULSE® Robotics Controller (W44268)
- Grove Ecosystem Introduction | Seeed Studio Wiki
Read User Manual Online (PDF format)
Read User Manual Online (PDF format) >>