1

I have two 300RPM 12V DC motors connected to arduino motor shield r3 that is mounted on arduino uno board.

Problem is my motors runs very slow some times not even running.

After googling I found I need to use external power supply. I did supplied 9 volt dc power to arduino motor shield r3. But still motor is running very slow what could be the issue.

My other questions.

When supplying power to arduino motor shield r3 via external power supply pins do I need still need to provide separate power to arduino uno board via power jack.

Can I use 9 volt dc for arduino uno board and another 9 volt batter to arduino motor shield r3.

Is single 9 volt batter enough for running two 300RPM 12 dc motor.

My circuit.

enter image description here

My program

          void setup() {

          //Setup Channel A
          pinMode(12, OUTPUT); //Initiates Motor Channel A pin
          pinMode(9, OUTPUT); //Initiates Brake Channel A pin

          //Setup Channel B
          pinMode(13, OUTPUT); //Initiates Motor Channel A pin
          pinMode(8, OUTPUT);  //Initiates Brake Channel A pin

        }

        void loop(){


          //Motor A forward @ full speed
          digitalWrite(12, HIGH); //Establishes forward direction of Channel A
          digitalWrite(9, LOW);   //Disengage the Brake for Channel A
          analogWrite(3, 255);   //Spins the motor on Channel A at full speed

          //Motor B backward @ half speed
          digitalWrite(13, LOW);  //Establishes backward direction of Channel B
          digitalWrite(8, LOW);   //Disengage the Brake for Channel B
          analogWrite(11, 123);    //Spins the motor on Channel B at half speed


          delay(3000);


          digitalWrite(9, HIGH);  //Engage the Brake for Channel A
          digitalWrite(9, HIGH);  //Engage the Brake for Channel B


          delay(1000);


          //Motor A forward @ full speed
          digitalWrite(12, LOW);  //Establishes backward direction of Channel A
          digitalWrite(9, LOW);   //Disengage the Brake for Channel A
          analogWrite(3, 123);    //Spins the motor on Channel A at half speed

          //Motor B forward @ full speed
          digitalWrite(13, HIGH); //Establishes forward direction of Channel B
          digitalWrite(8, LOW);   //Disengage the Brake for Channel B
          analogWrite(11, 255);   //Spins the motor on Channel B at full speed


          delay(3000);


          digitalWrite(9, HIGH);  //Engage the Brake for Channel A
          digitalWrite(9, HIGH);  //Engage the Brake for Channel B


          delay(1000);

        }

migrated from electronics.stackexchange.com Sep 22 '14 at 16:40

This question came from our site for electronics and electrical engineering professionals, students, and enthusiasts.

  • 2
    9V batteries have very low current source capabilities. Your motors will work, but they will be "weak" once you apply loads to them. They will seem fine without loads. – KyranF Sep 22 '14 at 16:23
  • how are you running the motors anyway? digital HIGH or using PWM? – KyranF Sep 22 '14 at 16:24
  • How to overcome this problem.. any solutions – shakthydoss Sep 22 '14 at 16:24
  • 2
    9v "transistor" batteries are rarely suited for motors, and generally a poor choice for the arduino itself. Even with a lower impedance 9v supply, your 12v motors would probably perform poorly with only 9v in and the motor shield itself loosing at least another volt. – Chris Stratton Sep 22 '14 at 16:46
  • 1
    Disconnect the motors and battery from the motor shield. Then do these tests: 1. When you connect your 9V battery to one motor, does it run much more quickly, and well enough? 2. When you connect both motors to the battery do they run okay? If either answer is no, then the current approach is not going to work. Even if it is okay, the Arduino motor board will reduce the battery voltage, making things worse. – gbulmer Sep 22 '14 at 18:28
2

The external power of the shield is connected to the VIN pin, so it will power the Arduino via that. (vin goes to the voltage regulator that will provide the 5v the arduino needs).

You can connect two batteries in parallel to provide mode current.

But since they are 12v motors, they would need 12v to run at maximum power. 9v is a lot less than that.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.