Go Down

Topic: Vcc can power device, but digital out pins can't? (Read 2314 times) previous topic - next topic

I am attempting to power a small laser pointer via the Arduino. I have stripped open the laser pointer and soldered on wires to positive and negative leads.

I then connect the ground to the ground of the Arduino. If I connect the positive of the laser pointer to the Vcc of the Arduino, it works fine. If I connect it to a pin and send a HIGH signal to that pin, it doesn't seem to be getting enough juice to light the laser pointer more than a little bit.

The voltages are about the same (around 5.03V). I indeed do have several other devices connected to other digital write pins. Is it possible that the Arduino is not shoving out enough amps to the laser pointer?

Replies are greatly appreciated.

Runaway Pancake

Right, the output pins cannot provide that sort of current.

Look for examples of using a transistor over at Arduino Playground or using 'Search' here.
"Hello, I must be going..."
"You gotta fight -- for your right -- to party!"
Don't react - Read.
"Who is like unto the beast? who is able to make war with him?"

MarkT

The output pins have an "absolute maximum" current rating of 40mA - you'll have exceeded this unfortunately - with luck its still working but you might want to check all the pins still function.  In practice keeping the max current per pin down to 25mA is wise (there are other limits to total current through groups of pins).

Think of the pins carrying information, not power.
[ I won't respond to messages, use the forum please ]

Yes that's correct as stated above. The laser is most likely current limiting the digital output pin. Your better off using a transistor driver to turn on the laser. Use your output to turn the transistor on at the base and use the transistor to drive the laser.  Or you can use the transistor to trigger a relay and use the contacts of the relay to turn on the laser.
Both will work, but depends on your application.

Grumpy_Mike


MSP-Fan

With integrated laser driver IC it is straight forward to driver laser diodes. Here you find many applications: http://www.ichaus.biz/appnote_laser or http://www.ichaus.biz/Whitepaper .

dc42

It's possible to connect a few output pins in parallel to increase the current capability. You then have to use direct port access to drive then all simultaneously, and be very careful to set them all to the same state. However, your laser pointer almost certainly needs more current than this technique can reasonably provide. So you should use a transistor, or (even better) a mosfet, to switch it.
Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

You can use an npn transistor as a switcher for the 5v supply of arduino (if you just want to control it).

Go Up