I'm trying to use an Arduino to release a single dropof water using a solenoid valve. This article decsribes how to create this circuit with a Raspberry Pi using a DC powered solenoid that opens and closes very quickly.
The design for the solenoid circuit from that site looks like:
I don't have a solenoid yet, but I've been experimenting with the cheap motor that comes with the Arduino and a 9V battery. I've burned out several transistors in my attempts to get this working. My schematic looks like:
Relays won't work. They are too slow. Also, I need to use an external battery. I can't use the power from the Arduino.
Look at the data sheet for a BC547b.
Collector current (continuous) MAX = 100mA. I suspect that your motor is drawing much more current than that.
Power dissipation MAX = 500mW. At 9V, that will only allow a current of 55mA or less!
Try a more powerful transistor.
First up, when designing you should always use the maximum, not the minimum value, which is 120mA.
Second, that's the "no load" current.
And third, at startup and under extreme load, the motor could use up to the "Stall current" rating, so ideally you should use a transistor that can handle that current - 3.2A max. (Just a tad more than a BC547 can safely handle. )
A motor has different characteristics to a solenoid, too, so if you plan to use a solenoid in the final circuit, you should really wait until the solenoid arrives to do your testing, with components selected to suit the solenoid, rather than for the motor.
That's the best case. On starting, you're likely to be drawing much more (to overcome the 'sticktion'), even with no load.
But even with 90mA at 9 volts, you're trying to draw ~810mW through a 500mW MAX transistor.
Stall current of up to 3.2A at 9v will draw nearly 29Watts through a half Watt transistor, nearly 60 times its MAX current.
No wonder they melt! I'm surprised they don't vaporise.
You need a transistor capable of handling more than the stall current of 29Watts, at least 35Watts, if not more, and a heat sink. That is, if you want it to last more than a few microseconds.
I might use a smaller motor and power supply for testing until I get my solenoid.
So given Motor X and Power Y, what characteristics of X (and Y?) do I need in order to determine what resistor, transistor, and diode I need to build this circuit on an arduno?
Knowing this I can buy the components I need for both combinations of motor/power
This is probably be the hardest part. Have you figured out the mechanical setup to release a single drop of water? There have been similar projects discussed on the forum in the past. The forum search function might find them.
As a general rule, to start a dc motor you should ramp the voltage up rather than try a full voltage start.
For small motors the armature resistance is only a few ohms so you can get quite a large current until the motor gets spinning and generating a counter emf. A second to a few seconds is appropriate for a small motor such as you are using and can be easily implemented in the Arduino.