3v Pager Motor Powered By 9v Battery

Two semi-related questions regarding driving a 3 volt pager motor off a 9 volt battery. I'm planning on wiring everything up the same way as is done here (This NPN transistor controlled by the Arduino, with a capacitor and diode in parallel with the motor), but the voltage source is 9 volts and the motor is supposed to run off 3 volts. This leads to the following questions:

  • What is a simple way to get the motor to safely run? I was planning on adding resistors on either side of the motor to make a voltage divider so the motor receives ~3 volts (doesn't need to be perfect), but I want to make sure that'll be fine.
  • What type and what specifications should the diode be? 3v Zenner diode?

You could experiment with PWM to the transistor - this reduces the effective voltage
across the motor (well, actually the current), but the response probably isn't linear,
try analogWrite (pin, 85) ; to start with.

A linear reg would waste a lot of the 9v as heat.

A voltage div would fail to give a regulated voltage and not deliver enough current

MarkT:
You could experiment with PWM to the transistor - this reduces the effective voltage
across the motor (well, actually the current), but the response probably isn't linear,
try analogWrite (pin, 85) ; to start with.

So as long as I keep the PWM signal fairly low, the voltage across the motor should be within acceptable limits as to not damage the motor?

In that tutorial they use this motor

This 143:1 gear motor spins at 40RPM at 3V, drawing 400mA at stall generating 44.4 in*oz torque (free running at 50mA).

If you set the PWM to 30% (75 .. 90 or MarkT'2 85 suggestion) and get max 40 RPM, I'd first check whether the tiny 2N3904 won't get too hot, rather than worry about the motor. ( 400 mA is way beyond the transistor's max Ic )

Ah, 2N3904 is limited to 0.2A, too low for motor! Choose a switching
transistor with 1A or more current rating, or a logic-level n-channel MOSFET
with a low enough Rds(on)

michael_x:
In that tutorial they use this motor

This 143:1 gear motor spins at 40RPM at 3V, drawing 400mA at stall generating 44.4 in*oz torque (free running at 50mA).

If you set the PWM to 30% (75 .. 90 or MarkT'2 85 suggestion) and get max 40 RPM, I'd first check whether the tiny 2N3904 won't get too hot, rather than worry about the motor. ( 400 mA is way beyond the transistor's max Ic )

Sorry, I should have provided a link to the actual motor I was planning on using - the one in the tutorial isn't the one I was planning on using, I was just planning on setting up the circuit that way. This (or something very similar) was what I was planning to use ( just need it to vibrate), and it's rated for 85 mA. Since the proposed transistor can handle up to 200 mA, I should be fine with pager motors as long as I don't get a crazy one right?