10-45V 40A SmartDrive DC Motor Driver

Cytron
SKU: TH0699 MPN: MDS40B
$59.00 Out of Stock
Ships Today - If you order within hrs mins!


Quality
First

Awesome
Support

Secure
Checkout

Worldwide
Shipping

MDS40B is a Motor Driver, designed for high power brushed DC motors. Offering up to 80A peak, 40A continuous control, and advanced features like multiple input modes and thermal protection. Ideal for robotics and automation.

  • Bi-directional control for single brushed DC motors
  • Supports motor voltage from 10V to 45V DC
  • Maximum current up to 40A continuously
  • Battery indicators, thermal protection etc.

Out of Stock!

We will email you when this item is back in stock. Please enter your email

Overview

MDS40B the Enhanced SmartDrive40 is an upgrade of the MDS40A SmartDrive40, designed to efficiently control medium to high power brushed DC motors. With its capacity to handle up to 80A of peak current for 1 second and 40A continuous current, this motor driver is perfect for applications requiring high power and reliability. Its integration with a microcontroller unit adds smart features like multiple input modes, current limiting, and thermal protection, making it an ideal choice for robotics and automated systems.

Features

The Enhanced SmartDrive40 key component is Its bi-directional control which simplifies the development of differential drive robots, making it a truly plug-and-play experience. The integration of various input modes along with safety features like thermal protection and battery voltage indicators make it a good choice for any high-power motor control application.

  • Bi-directional control for single brushed DC motors
  • Supports motor voltage from 10V to 45V DC (NO REVERSE POLARITY PROTECTION)
  • Maximum current up to 80A peak (1 second), 40A continuously
  • Quiet operation with MOSFETs switched at 16 KHz
  • Battery indicators for low and over voltage
  • Thermal protection for enhanced safety
  • Various input modes including RC (Radio Control), Analog, PWM, Simplified Serial and Packetised Serial
  • On-board push buttons for manual operation and testing
  • Provision to connect a 5V DC fan for faster heat dissipation.

Specifications

Key Specifications:

Input Voltage 10V to 45V DC
Current 40A continuous
Peak Current 80A for 1 second
Logic Level 3.3V and 5V compatible with Raspberry Pi and Arduino
PWM Frequency 20KHz
Polarity Protection No
Test Buttons Yes
DIP Switch Yes
LED indicators Run LED, Error LED, Motor LED
Fan Provision to connect 5V Fan (FAN NOT INCLUDED)
Heat Sink Not required
Dimensions Driver Baord
105mm (W) x 106mm(D) x 38mm(H)
Base Board
125mm (W) x 107mm (D) x 47mm (H)

Pinouts & Switches

A / B Motor termial
VB+ Connect to positive terminal of the battery*
VB- Connect to negative terminal of the battery*
GND Motor 1 direction input
+5V 5V Output
IN1 Input 1
IN2 Input 2
RC1 / RC2 Inputs for radio control signals
DIP Switch To set any one of the input modes (RC, Analog, PWM and Serial) as well as its designated functions.
Fan Connect to an external 5V fan for cooling if required.

* When operating an inductive load, such as a DC brush motor, it's important to use a battery. This is because most power supplies, particularly those with a switching design, have a protection circuit that shuts down upon detecting regenerative current from the motor. In scenarios where a switching power supply is necessary, it's still suggested to connect a battery in parallel. This battery should have the same rated voltage as the power supply to effectively absorb the regenerative current.


DIP Switch Setting

The Enhanced SmartDrive40 is designed with flexibility in mind, featuring four unique input modes: RC, Analog, PWM, and Serial. Below are the settings for the DIP switches corresponding to each mode, as well as the designated functions for their respective input pins.

Connections & Code

Though there are multiple ways to control the the MDS40B motor driver. We will be using the PWM input mode with microcontroller for simplicity.

DIP Switch Setting

Following DIP switch setting puts the motor driver in the PWM mode.

SW No. 1 2 3 4 5 6 7 8
Position 1 0 0 0 0 1 0 0

Power
  • VB+: Connect it to the positive terminal of the battery.
  • VB- : Connect it to the negative terminal of the battery

WARNING!: NO REVERSE POLARITY PROTECTION

  • A/ B: Connect to Motor
  • GND: Connect to Arduino board GND ground pin.
  • +5V: Do not connect

Signal

Connections for Arduino UNO

  • IN1: Connect it to pin D3
  • IN2: Connect it to pin D4

Code

Before we move into coding, first we need to install the Cytron Motor Drivers Library written by Cytron Technologies in the Arduino IDE. 

You can install this library by directly going to Tools > Manage Libraries which opens the Library Manager. In the library manager search for Cytron Motor Drivers Library using the search bar and click on the install button to install the latest version of the library.

After installtion go to File > Examples > Cytron Motor Drivers Library > select any one example.

We are using the example "PWM_DIR" from the example menu for the code below.


/*******************************************************************************
 * THIS SOFTWARE IS PROVIDED IN AN "AS IS" CONDITION. NO WARRANTY AND SUPPORT
 * IS APPLICABLE TO THIS SOFTWARE IN ANY FORM. CYTRON TECHNOLOGIES SHALL NOT,
 * IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR CONSEQUENTIAL
 * DAMAGES, FOR ANY REASON WHATSOEVER.
 ********************************************************************************
 * DESCRIPTION:
 *
 * This example shows how to drive a motor using the PWM and DIR pins.
 * This example only shows how to drive a single motor for simplicity.
 * For dual channel motor driver, both channel work the same way.
 * 
 * 
 * CONNECTIONS:
 * 
 * Arduino D3  - Motor Driver PWM Input
 * Arduino D4  - Motor Driver DIR Input
 * Arduino GND - Motor Driver GND
 *
 *
 * AUTHOR   : Kong Wai Weng
 * COMPANY  : Cytron Technologies Sdn Bhd
 * WEBSITE  : www.cytron.io
 * EMAIL    : [email protected]
 *
 *******************************************************************************/

 #include "CytronMotorDriver.h"


// Configure the motor driver.
CytronMD motor(PWM_DIR, 3, 4);  // PWM = Pin 3, DIR = Pin 4.


// The setup routine runs once when you press reset.
void setup() {
  
}


// The loop routine runs over and over again forever.
void loop() {
  motor.setSpeed(128);  // Run forward at 50% speed.
  delay(1000);
  
  motor.setSpeed(255);  // Run forward at full speed.
  delay(1000);

  motor.setSpeed(0);    // Stop.
  delay(1000);

  motor.setSpeed(-128);  // Run backward at 50% speed.
  delay(1000);
  
  motor.setSpeed(-255);  // Run backward at full speed.
  delay(1000);

  motor.setSpeed(0);    // Stop.
  delay(1000);
}

    

Opps

Sorry, it looks like some products are not available in selected quantity.

OK