The Pololu Tic T249 Stepper Motor Controller is a versatile and efficient device designed to control the operation of stepper motors. It enables precise positioning and speed control by sending accurate pulses to the motor. The Tic T249 is ideal for applications requiring smooth and reliable stepper motor operation, such as robotics, 3D printing, CNC machines, and automated systems.
This controller supports multiple control interfaces, including USB, TTL serial, I²C, and analog voltage, making it highly adaptable to various projects. Its compact design and advanced features make it a popular choice for both hobbyists and professionals.
Below are the key technical details of the Pololu Tic T249 Stepper Motor Controller:
The Tic T249 has a variety of pins for power, control, and communication. Below is a detailed pinout:
Pin Name | Type | Description |
---|---|---|
VIN | Power Input | Main power supply input (10 V to 47 V). |
GND | Power Ground | Ground connection for the power supply and logic. |
STEP | Input | Step signal input for external step/dir control. |
DIR | Input | Direction signal input for external step/dir control. |
SCL | Input/Output | I²C clock line for communication. |
SDA | Input/Output | I²C data line for communication. |
TX | Output | TTL serial transmit line. |
RX | Input | TTL serial receive line. |
RC | Input | Radio control (RC) signal input. |
AN | Input | Analog voltage input for speed or position control. |
USB | Communication | USB interface for configuration and control. |
FAULT | Output | Fault indicator output (active low). |
RESET | Input | Resets the controller when pulled low. |
CONFIG | Input | Used for advanced configuration during setup. |
Below is an example of controlling the Tic T249 via TTL serial using an Arduino UNO:
#include <SoftwareSerial.h>
// Define Arduino pins for software serial communication
#define TX_PIN 10 // Arduino pin connected to Tic T249 RX pin
#define RX_PIN 11 // Arduino pin connected to Tic T249 TX pin
// Create a SoftwareSerial object
SoftwareSerial ticSerial(RX_PIN, TX_PIN);
void setup() {
// Initialize serial communication with the Tic T249
ticSerial.begin(9600);
// Set the Tic T249 to "Exit Safe Start" mode
sendCommand(0x83); // Command 0x83 exits safe start mode
// Set target position (example: 2000 steps)
setTargetPosition(2000);
}
void loop() {
// Add your main code here (e.g., change position or speed dynamically)
}
// Function to send a single-byte command to the Tic T249
void sendCommand(uint8_t command) {
ticSerial.write(command);
}
// Function to set the target position of the stepper motor
void setTargetPosition(int32_t position) {
ticSerial.write(0xE0); // Command 0xE0 sets target position
ticSerial.write((uint8_t)(position & 0xFF)); // Low byte
ticSerial.write((uint8_t)((position >> 8) & 0xFF)); // Middle byte
ticSerial.write((uint8_t)((position >> 16) & 0xFF)); // High byte
ticSerial.write((uint8_t)((position >> 24) & 0xFF)); // Highest byte
}
Motor Not Moving:
Overheating:
Communication Errors:
Fault Indicator Active:
Can I use the Tic T249 with a 5 V stepper motor? Yes, but ensure the power supply voltage is within the Tic T249's range (10 V to 47 V) and set the current limit appropriately.
What is the maximum step rate supported? The Tic T249 supports step rates up to 500,000 steps per second.
Can I control multiple Tic T249 controllers with one microcontroller? Yes, you can use unique addresses for each controller when using I²C or separate serial lines for TTL communication.
For additional support, refer to the Pololu Tic T249 user manual or contact Pololu's technical support team.