×
INTELLIGENT WORK FORUMS
FOR ENGINEERING PROFESSIONALS

Log In

Come Join Us!

Are you an
Engineering professional?
Join Eng-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!
  • Students Click Here

*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Jobs

Problem with dc motor

Problem with dc motor

Problem with dc motor

(OP)
Hello.

I am trying to put a small dc motor working and regulate speed with PWM generated by arduino. The transistor i am using is a bc547c.

The problem is that the motor make a strange noise but doesn t spin (no its not damaged). Connected an amp to see the colector current and it increases as i increase duty cycle, but the voltage between colector and emiter stays more or less the same. Shouldn t that decrease as current increase? There is no voltage across the motor as it stays in the transistor.

Motor is a mabuchi from a car toy;

As external motor source i used 4 1,5 V batteries;

I calculated resistor base to have enough current to feed the motor according to transistor and motor datasheets.

Do you have any idea for wath is happening?

Thanks.

PS: Atached are the schematic hand made and a picture of the circuit.

RE: Problem with dc motor

It is unlikely that your transistor is switching cleanly into saturation with such a large base resistor; you need the transistor to operate as a switch, not in its linear region.
A MOSFET is a better choice of switch than a BJT at low voltage, and easier to drive unless you're running at very high frequency.
You need a freewheel diode across the load, otherwise you will destroy the transistor.

Buy a book on the fundamentals of power electronics. winky smile

RE: Problem with dc motor

(OP)
Thanks.

From what i understood of your reply the base current is not enough?

I based my calculations on the atached datasheet. Could u have a look and tell me if 0,5 mA in base is not enough for saturation?

I don t know the meaning of "freewhel" but i have a 1N4007 diode across the motor, i just forgot to draw on the schematic.

The PWM frequency is 430 Hz.

I based this project on another person's, he uses a 2n222 NPN and it works great.

Thanks again. Have to buy on book of these.

RE: Problem with dc motor

Reduce base resistor to about 1kohm.

RE: Problem with dc motor

Have you tried just a constant 5 volts into the base/resistor? Does it spin then?

RE: Problem with dc motor

(OP)
I have tried with 6 volts, the same voltage source in base as for colector. It does the same.

I will try to lower resistance in base to 1 K.

Thanks.

RE: Problem with dc motor

(OP)
OK. Finally could spin the motor.

I put a 1K pot in base and moved it to lower resistance till the motor spin. Voltage source was 6 volts, the same as colector.

The motor decreases speed till the max pot value that corresponds to more or less 4,7 mA in base, VCE is around 2,6 V and Icolector is around 170 mA. I have one more litle problem, sometimes the motor doesn t start when the pot is at its max resistance, and i have to lower ir for the motor to start spining. Could this be connection problems or is this normal?

Thnaks to everyone.

PS: Tomorrow will try with PWM from arduino.

RE: Problem with dc motor

That issue is the motor's brushes. All you can do is hit the motor with full power and a very short time later reduce the speed to what you want. That's so short a time that the motor doesn't accelerate past the speed you want to achieve.

That same problem is why a lot of house fans and ceiling fans that are multi-speed, always have the highest speed immediately adjacent to OFF. This means the fan will always be jerked into motion.

Keith Cress
kcress - http://www.flaminsystems.com

RE: Problem with dc motor

(OP)
Humm. I see. That makes sense.


By the way, allready tried with arduino and it works ok.

Next task is connect a tooted ring to motor axle and read rpm with a inductive sensor. Lets see if i can do this.


Thanks guys.

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Eng-Tips Forums free from inappropriate posts.
The Eng-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Eng-Tips forums is a member-only feature.

Click Here to join Eng-Tips and talk with other members!


Resources