

The Motor DC PG45, manufactured by Arduino (Part ID: MEGA 2560), is a compact and efficient DC motor designed for a wide range of applications. Its robust design and reliable performance make it ideal for driving small machinery, robotics, and other motion control systems. The PG45 motor is particularly well-suited for projects requiring precise speed and torque control, thanks to its integrated planetary gearbox.








The following table outlines the key technical details of the Motor DC PG45:
| Parameter | Value |
|---|---|
| Operating Voltage | 6V - 12V |
| Rated Current | 0.5A (no load) |
| Stall Current | 2.5A |
| Rated Speed | 150 RPM (at 12V) |
| Gear Ratio | 45:1 |
| Torque (Max) | 10 kg·cm |
| Shaft Diameter | 6 mm |
| Motor Dimensions | 45 mm (diameter) x 90 mm (length) |
| Weight | 300 g |
The Motor DC PG45 has two terminals for electrical connections. These terminals are used to control the motor's direction and speed.
| Pin | Description |
|---|---|
| + | Positive terminal for power input |
| - | Negative terminal for power input |
Note: The motor's direction of rotation can be reversed by swapping the polarity of the power supply.
Below is an example of how to control the Motor DC PG45 using an Arduino UNO and an L298N motor driver.
// Define motor control pins
const int IN1 = 9; // Motor direction pin 1
const int IN2 = 10; // Motor direction pin 2
const int ENA = 5; // Motor speed control (PWM)
// Setup function to initialize pins
void setup() {
pinMode(IN1, OUTPUT); // Set IN1 as output
pinMode(IN2, OUTPUT); // Set IN2 as output
pinMode(ENA, OUTPUT); // Set ENA as output
}
// Function to control motor direction and speed
void loop() {
// Rotate motor forward at 50% speed
digitalWrite(IN1, HIGH); // Set IN1 high
digitalWrite(IN2, LOW); // Set IN2 low
analogWrite(ENA, 128); // Set PWM duty cycle to 50% (128/255)
delay(2000); // Run motor for 2 seconds
// Rotate motor backward at 75% speed
digitalWrite(IN1, LOW); // Set IN1 low
digitalWrite(IN2, HIGH); // Set IN2 high
analogWrite(ENA, 192); // Set PWM duty cycle to 75% (192/255)
delay(2000); // Run motor for 2 seconds
// Stop the motor
digitalWrite(IN1, LOW); // Set IN1 low
digitalWrite(IN2, LOW); // Set IN2 low
analogWrite(ENA, 0); // Set PWM duty cycle to 0%
delay(2000); // Wait for 2 seconds before repeating
}
Motor Does Not Spin
Motor Spins in the Wrong Direction
Motor Overheats
PWM Control Not Working
Can I connect the motor directly to an Arduino?
What is the maximum speed of the motor?
Can I use the motor with a 5V power supply?
How do I increase the motor's torque?
By following this documentation, users can effectively integrate the Motor DC PG45 into their projects and troubleshoot common issues.