Control Motor with H-Bridge DC Dual Motor Driver PWM Module IRF3205

Hi guys,

I am trying to rotate a DC motor using the H-Bridge DC Dual Motor Driver PWM Module IRF3205 but I have some difficulties as up now.

Here's the specs I got from the package
Specifications:
Motor being transferred: DIR = 1 PWM = PWM
Motor Reverse: DIR = 0 PWM = PWM
Parking brake: DIR = X PWM = 0 (X is an arbitrary state)
Motor and power connections: POWER connected to the positive power supply, GND power supply is negative. Two motors were connected MOTOR1, MOTOR2
Rated voltage: DC 3V~36V
Rated current: 15A
Peak Current: 30A

// connect motor controller pins to Arduino digital pins
// motor one
int pwm1 = 10;
int dir1 = A1;
void setup()
{
  // set all the motor control pins to outputs
  pinMode(pwm1, OUTPUT);
  pinMode(dir1, OUTPUT);
 }
void demoOne()
{
  // this function will run the motors in both directions at a fixed speed
  // turn on motor A
  digitalWrite(dir1, HIGH);
    // set speed to 200 out of possible range 0~255
  analogWrite(pwm1, 100);
  delay(2000);
  // now change motor directions
  digitalWrite(dir1, LOW); 
  delay(2000);
  // now turn off motors
  digitalWrite(pwm1, LOW);  
}

void loop()
{
  demoOne();
  delay(1000);
}

In term of connections:
I have
GND to power supply's ground
POWER to power supply's positive
MOTOR 1 to motor's positive
MOTOR 1 to motor's negative
DIR1 to A1
PWM1 to 10

I don't have a second motor and i left the GND & +5V unused.
I am testing with a small dc motor that comes with the Arduino uno starter kit before i plug in the large motor with high power power supply.

the motor isn't running

Wait a minute ..didn't you ask about another bridge a few days ago.

http://forum.arduino.cc/index.php?topic=459482.msg3156256#msg3156256

Did my suggestions work? If I try and help.you out will you disappear and ask about another driver? This is number 3?

You need to connect the Arduino ground to the controller too. As for the 5v I would say if you plug it in to you power supply and you measure 5v on that pin with a multimeter then leave it alone. If it's a 5v input then supply 5v to it.

I got the other driver to work perfectly fine but I have to control 2 separate motors and so my professor gave this one to mess with (since the other one is out of stock) so here I am asking about this one.

the thing is that I have 2 large DC motors (roughly 12-36V, 20A-25A each, high torque) and my power supply is giving out 12V, 40A. So I am planning on splitting the current evenly to both motors, I was able to control the direction and speed perfectly fine with the other one.

This driver is a bit different however, it only has 1 PWM and 1 DIR (direction of the motor depends on the HIGH or LOW setting of the DIR) but I couldn't even get it to move.

I should've reply to the other post, my apology, thank you very much for your help.

The common ground is critical.. Without a common ground from the arduino the controller doesn't know what HIGH or LOW is. Is the 5v an output? Or are you meant to supply it?

You are a genius :o , you are right, that 5V might be an output. and the common ground got it to work. THANKS A BUNCH!

Glad it worked out.. its a fairly common omission.. If you spend any time on these forums soon you'll be asking people if they connected the grounds.

Hi Guys,

I too have a similar green IRF3205 dual control board and have found your thread useful but I still have a problem. I'm a newbie, retired accountant, but suspect I may not have the ground connections right as my 12v single test motor doesn't turn and there's no voltage reading at the MOTOR1 (or MOTOR2) terminals.

I'm using an Arduino Uno clone and your single motor code code with the demoOne function, though I did ultimately change your "analogWrite(pwm1, 100);" to "analogWrite(pwm1, 255);" as the "100" rendered a really low voltage out of the Arduino and I thought that might be causing the problem.

My connections are as follows:

  1. six pin set on the green board to the Arduino:
  • GND to GND
  • 5v to 5v
  • PWM1 to Arduino pin 10
  • DIR1 to Arduino pin A1
  1. six screw terminals on green board:
  • GND - 12v battery black -ve
  • power - 12v battery red +ve
  • MOTOR1 - motor
  • MOTOR1 - motor

Are my connections, particularly the grounds, as per the configuration you got to work?

I've got a little L298N dual control board model working well as a learning exercise but I've run out of ideas on getting this bigger green IRF3205 project up and running. Any assistance would be much appreciated.

I'm looking to eventually use the green board in a 24v radio controlled garden trolley.

:confused:

Hi, I have a similar board and cannot get any output despite nice PWM signals, into the inputs.
The +5v pin is reading around +1.7v and seems to be fairly low impedance so I suspect the on board regulator is broken. I'm assuming the +5v is meant to be an output, the data provided with a lot of these boards is rather limited. Any ideas please?

You need to supply the 5v and GND pins to the green board from the supply that is feeding your Arduino. The idea is that there is an isolation from the higher motor voltages. The Arduino is talking to the low voltage, low current side of the board. So you have to also feed the isolation circuit. Hope this helps... I have this board driving two linear actuators that are being used to track the sun in a solar circuit. It has been working for me about a month now.

code snippet:

if (HorError > 15 && RightLimitState && DriveTime){ // Move to the right as long as the limit
// switch is not activated
GoRight();
Serial.println("Going Right");
}
else {
HorizStop();
}

void GoRight(){
digitalWrite(HorizMotorDir,LOW);
analogWrite(HorizMotorPWM,HalfSpeed);
}

void GoLeft(){
digitalWrite(HorizMotorDir,HIGH);
analogWrite(HorizMotorPWM,HalfSpeed);
}

void HorizStop(){
digitalWrite(HorizMotorDir,LOW);
digitalWrite(HorizMotorPWM,LOW);
}