go_away

Author Topic: DC Motor Question  (Read 3235 times)

0 Members and 1 Guest are viewing this topic.

Offline HypnobeardTopic starter

  • Beginner
  • *
  • Posts: 4
  • Helpful? 0
DC Motor Question
« on: November 26, 2006, 06:04:53 AM »
Hello everyone,

I'm fairly new to the practical side of robot building, and have almost completed construction on my first autonomous bot. I studied Cybernetics at university, so I'm alright at the software stuff, but the electronics can stump me sometimes.

I'm using a PIC16F876 to control a differential drive 'bot using 2 DC motors. The test circuit I've made uses an H-Bridge to control the direction of the motor. The circuit is set up on a prototyping board. I know the control signal from the control circuit is OK. The output of the H-Bridge is providing a voltage drop of +3.3V across the connector for the motor. however, when I actually connect the motor, it nothing happens (the motor doesn't turn). If I measure the voltage across the connection terminal again, I get ~+0.5V. If I simply connect the battery cells directly to the motor, it turns fine, as I'd expect. The motor is rated to operate at 3V.

What am I doing wrong, and why isn't my motor turning when it's connected to the circuit?

It's doing my nut now, and I'd appreciate some help!

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,665
  • Helpful? 169
    • Society of Robots
Re: DC Motor Question
« Reply #1 on: November 26, 2006, 09:57:11 AM »
It appears that your circuit isnt supplying enough current to run the motors, and the voltage is dropping because of this. Check the current draw both at the power source (before the circuit), but also at the motor (after the circuit), too. This will tell you where the power drain is happening at . . .

I am guessing you are PWM'ing MOSFETS? Are you doing 100% PWM (keeping the lines high)?

Quote
It's doing my nut now
wha?!  :P

Dont feel bad, my first H-bridge melted and burned my hand  ;D

Offline HypnobeardTopic starter

  • Beginner
  • *
  • Posts: 4
  • Helpful? 0
Re: DC Motor Question
« Reply #2 on: November 26, 2006, 10:25:28 AM »
Hey Admin,

Thanks for the reply. Not PWMing at the moment, the control line is set to high (so would be 100% I suppose) for testing. I'm using a combination of PNP and NPN transistors 2N5551 and 2N5401 with diodes in parallel.

Will test out the current draw at the suggested points.

BTW, do you know of any driver ICs that would be suitable for a 3V motor (in case I can't get this working)?

Offline Militoy

  • Expert Roboticist
  • Full Member
  • *****
  • Posts: 111
  • Helpful? 0
Re: DC Motor Question
« Reply #3 on: November 26, 2006, 11:07:44 AM »
The transistors you are using are rated for 600mA (max), but are low-signal amplifiers that are only spec’ed for gain characteristics up to 50mA. They are probably coming out of saturation when loaded. If your circuit only needs 0.25A or so, and you want to use a complimentary set of PNP/NPN transistors in a TO-92 package, why not consider the 2N2222/2N2907 combination, that are beta-rated up to 500mA? I suspect though, that your 3V motor may be drawing more current than that, and you will need to select a higher-current set. Be sure to load your motor while measuring current (use a little drag from your hand, if necessary).

Offline HypnobeardTopic starter

  • Beginner
  • *
  • Posts: 4
  • Helpful? 0
Re: DC Motor Question
« Reply #4 on: November 26, 2006, 12:01:13 PM »
Thanks Militoy,

What should I be looking for on the datasheets to enable me to choose the correct current ratings? if, for example, I want to anticipate a current draw of 1A from the motors (unlikely, I know) how to I spec this up when searching for transistors?

Thanks again.

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,665
  • Helpful? 169
    • Society of Robots
Re: DC Motor Question
« Reply #5 on: November 26, 2006, 12:49:55 PM »
If you are making your own driver, MOSFETS are infinitely better than everyday transistors. Get the PWM optimized type.

As for spec-ing . . .
Its all about power dissapation. Components overheat with inefficiency . . . Power = current * voltage. The transistor must be able to dissapate heat to the environment faster than it builds up heat. Spec sheets list power dissapation rates in watts . . . Adding heatsinks increases rating.

example:
you plan to use motors at 3V and 1A, that is 3W.
so the component must be rated higher than 3W

Personally I recommend just getting a driver IC, such as the L298 Dual motor driver IC . . .

Offline Militoy

  • Expert Roboticist
  • Full Member
  • *****
  • Posts: 111
  • Helpful? 0
Re: DC Motor Question
« Reply #6 on: November 26, 2006, 01:23:17 PM »
I agree with Admin, that for just getting the job done, an integrated driver module/IC may be the easiest way to go. As far as selecting the transistors if you do decide to build your bridge from discrete parts, most manufacturers and many distributors have parametric search engines up on their websites. Digi-Key is a good place to start. For more than 100 mW of dissipation or so, a heat sink is definitely a good idea. To make isolation easier when you mount to the heat sink, try to select a transistor or FET in an isolated TO-220 package (“TF11B” or “MP-45”, etc.). FET’s have the advantages over transistors of lower forward losses and lower continuous input current to turn them on. They do have the disadvantage of high initial input surge current – due to gate capacitance – especially in the larger die sizes used in higher current FETs. This can get you into trouble if you’re driving directly out of a microprocessor, so it’s important not to use a FET that’s too aggressively over-rated in current for your application. In a case like yours, where you’re working at very low voltage levels, I’d stick with an FET-based bridge – whether a module or discretely built one.

Offline HypnobeardTopic starter

  • Beginner
  • *
  • Posts: 4
  • Helpful? 0
Re: DC Motor Question
« Reply #7 on: November 26, 2006, 02:06:34 PM »
Thanks gents.

I'll pick up a couple of different driver packages and try to get them working. How easy are these things to use?

 


Get Your Ad Here