Go Down

Topic: Voltage drop on a dc motor  (Read 163 times) previous topic - next topic

MikeVald

Hello, thank you for reading and sorry for bothering.
I'm working on a project for my college, and I need to have two propeller motors connected to a driver motor (Actually I'm using 2 L239D to reduce the voltage partition between the two motors using just one, yet i'm planning to adquire another bridge H).
I think that by reading my explanation you will realize that I am a newbie, but I have the two L239D connected to their respective pins in Arduino and the motors, my plan is on having three motors to simulate a helicopter.

My idea is to reduce one of the rear engine's rpm to produce the movement to the left or right, so I'm using an analogWrite with different values for each motor. This is working nicely.
Now, for going forward i thought that giving it a value of 255 for each motor will work, at first instance this seems to work for 1-3 seconds, but when this time elapses one motor (specifically the motorB1) stops and I don't have idea why.

Could someone help me to know why and if possible, how to fix it? Thank you.

Code: [Select]
  if (state == 'l') { // Left
    Serial.println(state);
      analogWrite(motorA1, 255);
      analogWrite(motorB1, 25);
  }
    if (state == 'r') { // RIGHT
    Serial.println(state);
      analogWrite(motorB1, 255);
      analogWrite(motorA1, 25);
  }
      if (state == 'f') { // FORWARD
    Serial.println(state);
      analogWrite(motorB1, 255);
      analogWrite(motorA1, 250);
  }
      if (state == 'R') { // REVERSE
    Serial.println(state);
      analogWrite(motorB1, 70);
      analogWrite(motorA1, 70);
  }
  if (state == 's') { // Stop
    Serial.println(state);
    analogWrite(motorA1, 0);
    analogWrite(motorB1, 0);
  }

Here is the little code I'm using right now in the section void loop.

Paul_KD7HB

The problem is ALWAYS in the code you chose not to post!

Paul

slipstick

What you describe sounds like insufficient power as much as anything. So what are you using to power everything, including the motors and drivers?

I haven't looked your code because posting a little snippet rather than the complete program is basically useless. Apart from anything else if you knew which part of the program was causing the problem you'd probably have solved it yourself.  

See "How to use this forum - please read" at the top of this and every other forum for how to help us to help you.

Steve

MikeVald

Well, you may be right, I just thought it was not necessary because there are only a few lines that I missed:
Code: [Select]
int motorA1 = 5; // Pin  2 of L293
///////////////
int motorB1 = 9; // Pin 10 of L293

int state = '0'; // Initialise Motors
void setup() {
  Serial.begin(9600);
  // Set pins as outputs
  pinMode(motorA1, OUTPUT);
  pinMode(motorB1, OUTPUT);
}

Wawa

#4
Nov 17, 2019, 12:04 am Last Edit: Nov 17, 2019, 01:31 am by Wawa
The ancient/inefficient L293 is just ok for tiny <600mA toy motors.
Not suitable for "two propellor motors for a helicopter".

H-bridges are to spin a motor on two directions.
That never happens with a drone/helicopter motor.
Just use a single logic level mosfet. First diagram here.
Leo..

bluejets

Perhaps think about using brushless motors with esc. then each could be driven by simple servo signal.

TomGeorge

#6
Nov 17, 2019, 03:33 am Last Edit: Nov 17, 2019, 03:36 am by TomGeorge
Hi,
Welcome to the forum.

Can you please post a copy of your circuit, in CAD or a picture of a hand drawn circuit in jpg, png?

Are you using a L239D shield or have you built your own L239D circuit?
Have you got the gnd of the controller connected to the gnd of the L239D?
What model Arduino are you using?

Thanks.. Tom... :)
Everything runs on smoke, let the smoke out, it stops running....

johnwasser

Well, you may be right, I just thought it was not necessary because there are only a few lines that I missed:
So you are not doing any Serial.read()?  Looks like you are STILL missing some lines.

My first guess is that your driver is overheating and shutting itself down.
Send Bitcoin tips to: 1G2qoGwMRXx8az71DVP1E81jShxtbSh5Hp

slipstick

O.k. so you're not going to post a complete program.

Please provide details of the motors you're trying to drive, "propeller motor" isn't a useful specification. I have motors driving propellers that use >200W and would vaporise an L293D in an instant.

And as I asked back in #2, what you are powering everything with and how is it all connected?

Steve

Go Up