Stufin
Home Quick Cart Profile

9-60V 20A DC Motor Speed Controller

Buy Now on Stufin

Pin Configuration

  • 9-60V 20A DC Motor Speed Controller Pinout and Connection Guide
  • The 9-60V 20A DC Motor Speed Controller is a versatile and high-performance motor driver designed to control the speed of DC motors within a wide voltage range. This document explains the pinout and connection guide for the controller, outlining each pin's function and how to connect them properly.
  • Pinout:
  • The controller has a total of 6 pins, each with a specific function. The pinout is as follows:
  • VIN (Positive Power Input)
  • GND (Ground)
  • PWMin (Pulse Width Modulation Input)
  • ENA (Enable Input)
  • OUT+ (Motor Positive Output)
  • OUT- (Motor Negative Output)
  • Pin Connection Guide:
  • 1. VIN (Positive Power Input)
  • Connect to a DC power source (9-60V) positive terminal.
  • Make sure the power source can supply the required current for the motor.
  • 2. GND (Ground)
  • Connect to the DC power source negative terminal.
  • Ensure a solid ground connection to prevent noise and interference.
  • 3. PWMin (Pulse Width Modulation Input)
  • Connect to a microcontroller's PWM output pin (e.g., Arduino's digital pin 3, 5, 6, 9, 10, or 11).
  • This pin receives the PWM signal from the microcontroller, which controls the motor speed.
  • 4. ENA (Enable Input)
  • Connect to a microcontroller's digital output pin (e.g., Arduino's digital pin 2, 4, 7, 8, 12, or 13).
  • This pin enables or disables the motor controller. A high logic level (VCC) enables the controller, while a low logic level (GND) disables it.
  • 5. OUT+ (Motor Positive Output)
  • Connect to the positive terminal of the DC motor.
  • Ensure the motor's positive terminal is connected to this pin.
  • 6. OUT- (Motor Negative Output)
  • Connect to the negative terminal of the DC motor.
  • Ensure the motor's negative terminal is connected to this pin.
  • Important Connection Notes:
  • Always ensure the power source voltage is within the controller's specified range (9-60V).
  • Use proper heat sinks and thermal management to prevent overheating.
  • Connect the motor to the OUT+ and OUT- pins, ensuring correct motor polarity.
  • Use a suitable current-limiting resistor or fuse to protect the motor and controller from excessive current.
  • By following this pinout and connection guide, you can successfully integrate the 9-60V 20A DC Motor Speed Controller into your project and control the speed of your DC motor with precision and reliability.

Code Examples

9-60V 20A DC Motor Speed Controller Documentation
Overview
The 9-60V 20A DC Motor Speed Controller is a high-performance motor controller designed to control the speed of DC motors operating at voltages between 9V and 60V, with a maximum current rating of 20A. This controller is suitable for a wide range of applications, including robotics, automation, and industrial control systems.
Features
Input voltage range: 9V to 60V
 Maximum current rating: 20A
 PWM frequency: 20kHz
 Built-in overcurrent protection
 Built-in overheat protection
 Support for forward and reverse motor operation
 Support for braking and coasting modes
Pinout
| Pin | Function |
| --- | --- |
| VCC | Power input (9V to 60V) |
| GND | Ground |
| IN1 | Input for motor direction control |
| IN2 | Input for motor speed control |
| OUT+ | Motor output positive terminal |
| OUT- | Motor output negative terminal |
| EN | Enable input (active high) |
Code Examples
### Example 1: Arduino Sketch for Basic Motor Speed Control
This example demonstrates how to use the 9-60V 20A DC Motor Speed Controller with an Arduino board to control the speed of a DC motor.
```cpp
const int motorDirPin = 2;   // Motor direction control pin
const int motorSpeedPin = 3; // Motor speed control pin
const int enablePin = 4;    // Enable pin
void setup() {
  pinMode(motorDirPin, OUTPUT);
  pinMode(motorSpeedPin, OUTPUT);
  pinMode(enablePin, OUTPUT);
  digitalWrite(enablePin, HIGH); // Enable the motor controller
}
void loop() {
  // Set motor direction to forward
  digitalWrite(motorDirPin, HIGH);
  
  // Set motor speed to 50% duty cycle
  analogWrite(motorSpeedPin, 128);
  
  delay(1000);
  
  // Set motor speed to 100% duty cycle
  analogWrite(motorSpeedPin, 255);
  
  delay(1000);
}
```
### Example 2: Raspberry Pi Python Script for Motor Control with PWM
This example demonstrates how to use the 9-60V 20A DC Motor Speed Controller with a Raspberry Pi board to control the speed of a DC motor using PWM.
```python
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
motor_dir_pin = 17
motor_speed_pin = 18
enable_pin = 23
GPIO.setup(motor_dir_pin, GPIO.OUT)
GPIO.setup(motor_speed_pin, GPIO.OUT)
GPIO.setup(enable_pin, GPIO.OUT)
GPIO.output(enable_pin, GPIO.HIGH)
try:
    while True:
        # Set motor direction to forward
        GPIO.output(motor_dir_pin, GPIO.HIGH)
        
        # Set motor speed to 50% duty cycle
        pwm = GPIO.PWM(motor_speed_pin, 1000)
        pwm.start(50)
        
        time.sleep(1)
        
        # Set motor speed to 100% duty cycle
        pwm.ChangeDutyCycle(100)
        
        time.sleep(1)
except KeyboardInterrupt:
    pass
GPIO.cleanup()
```
Note: These examples are for illustrative purposes only and may require modification to suit specific application requirements. Ensure proper safety precautions and circuit protection when working with high-power motor control systems.