This lower-power, smaller, and lower-cost version of the TReX is the ultimate general-purpose motor controller for small motors: it has a wide operating range (5 to 24 V), delivers 2.5 A continuously per motor, provides current sensing on the two main channels, and it features the TReX triple interface that allows you to control motors from a serial line (RS-232 or TTL), radio control (RC) receiver, or analog voltage source such as a potentiometer.
A novel blend of serial, RC, and analog motor control
The TReX Jr Dual Motor Controller, a lower-power version of the TReX Dual Motor Controller, is a versatile DC motor controller designed to seamlessly blend autonomous and human control of small robots. The TReX Jr can control two bidirectional and one unidirectional motor via three independent control interfaces: radio control (RC) servo pulses, analog voltage, and asynchronous serial (RS-232 or TTL). Using the compact MC33887motor driver allows for a single-board design that reduces cost while maintaining a small package. As an added benefit, the use of the MC33887 motor driver allows operation to 24 V.
The TReX Jr uses five input channels to receive the RC or analog control signals. When operating in RC or analog mode, the five channels function as follows:
- Channel 1: motor 1 speed and direction or, if in mix mode, turn left/right
- Channel 2: motor 2 speed and direction or, if in mix mode, go forward/reverse
- Channel 3: auxiliary (unidirectional) motor speed
- Channel 4: can be used to enable “flipped mode”, which allows invertable robots to be controlled as normal when they are inverted
- Channel 5: determines whether the motors are controlled by the channel inputs or the serial interface; this channel allows you to switch between autonomous and human control at will
The serial interface can switch instantly with one of the other two interfaces, allowing mixed autonomous and remote control. For example, a robot could be configured to run autonomously most of the time, but a human operator could override the autonomous function if the robot gets stuck or into a dangerous situation. If the serial mode is selected as the primary interface, high-resolution measurements of all five channel input signals (be they RC pulses or analog voltages) are made available to the autonomous robot controller, allowing for complex and unlimited mixing of operator control and sensor input. For example, the TReX would be a great motor controller for a remotely controlled balancing robot.
- Dimensions : 1.75" x 1.75" x 0.5" (0.3"height without connectors)
- Supply voltage : 5 – 24 V
- Primary motor outputs : 2 bidirectional, 5 A peak, up to 2.5 A continuous (may be combined to control 1 bidirectional,5 A continuous)
- Auxiliary output : 1 unidirectional, 10 A continuous
- Speed control : 128 steps in each direction
- Control interfaces : RC servo pulses, analog voltages, or serial commands; master interface set by mode-select jumper
- Input channels : 5 (RC servo pulses or analog voltages)
- RC pulse measurements : 12-bit resolution, 1 us accuracy
- Analog measurements : 10-bit resolution
- Serial interface : both RS-232 and TTL (logic level), bidirectional
- Baud rates : supports 11 common baud rates ranging from 1200 to 115,200 bps
- Expanded protocol : Allows multiple Pololu servo and motor controllers on one serial line
- Compact protocol : Allows both motors 1 and 2 to be simultaneously set with just three bytes
RC/Analog control features
- Battery Elimination Circuit (BEC) jumper lets the TReX Jr optionally power your RC receiver or analog controller
- mix-mode jumper allows for single-stick motor control of differential-drive robots
- automatic calibration for your particular RC or analog controller (the TReX Jr can learn the channel ranges)
Options accessible through the serial interface
- All five high-resolution channel input values are available
- Remapped channel input values show what the TReX Jr would do if it were in control
- Optional 7-bit cyclic redundancy checking to ensure command/data validity
- Calibration values can be explicitly read and set
- Each channel can be reversed and parabolically scaled
- Current limit, acceleration, and maximum motor speed settings
- The bidirectional motors can (individually) be set to coast or variable brake when in the deadband
- Upgradable firmware
- “safe-start” requirements prevent accidental motor activation at power-up
- optional automatic motor shutdown on serial error, timeout, or input channel noise
Note: The TReX Jr does require use of the serial interface to function; it will work right out of the box as an electronic speed control (ESC). You will not have access to the full suite of features the TReX Jr provides if you do not make use of the serial interface, though.
- TReX Configurator utility for Windows (297k zip) : If you have the ability to connect your TReX to a computer (via serial port or USB-to-serial adapter), you can use this program to monitor the channel inputs, control the motor drivers, and configure its various settings.
- User's Guide
- Command Documentation
- Configuration Parameter Documentation
- Firmware v1.0 : This firmware comes preloaded on every TReX Jr we ship. We recommend you use this version unless you need the serial delay feature included in firmware version 1.1.
- Firmware v1.1 : This firmware inserts a 1 ms delay between the last byte of a received command packet and the first byte of the TReX’s transmitted response. Without this delay, slower controllers such as the Basic Stamp can miss the first byte of the TReX’s response. If your controller does not require this extra delay for proper communication, you should not use this firmware as it is not considered an upgrade over the original firmware (version 1.0).