# Why is the collector and/or the base current of a transistor independent of the voltagesource of the collector?

I have a water valve which should be operated between 6-12V. I want to control this with an "standard" arduino-transistor switch (see image below, change the motor to a valve). When trying to calculate the base-resistor needed, I use these basic formulas

$$I_b = I_c/\beta$$ and $$R = \frac{V_{cc} - V_{be}}{I_b}$$

Since the data-sheet for the valve says it needs 320 mA @ 12V, and Vcc = 5v (voltage from arduino) and Vbe = 1.2 (my bc337 transistor), I can calculate that R = ... (something)

However, these formulas does not say anything about the collector voltage. What would happen if I choose 1.5v, 5v, or 12v etc ? If I change the voltage supply to the valve, shouldent the collector current change accordingly?

Extra question: can I in some way destroy/burn the aurdriono pin with this circuit?

• The inductive load needs a flyback diode - back-emf kills the transistor otherwise. Sep 5, 2017 at 12:51
• Using a BC337 Vbe will not be 1.2 V but 0.6 V. But I consider the TIP120 a better choice (higher Ic,max more robust), it does have a Vbe of 1.2 V. Since the TIP120 is a Darlington transistor, it will have a very high beta. You can just use that 1 kohm series resistor or even 10 kohm, it does not matter much. Not much use in calculating it as beta is so high, it is a better strategy to just supply enough base current, 1 k ohm or 10 kohm will do just that. Sep 5, 2017 at 13:05
• You could use a FET and not worry about how much current you need. Sep 5, 2017 at 20:05

The formula $I_c = \beta I_b$ applies in forward active operation of the BJT. But to minimize heat dissipated by the transistor in this circuit, you don't want to operate the BJT in forward active mode. You want to operate it in saturation mode. Do this by increasing the base current (by reducing the base resistor value) until the collector current required to maintain forward-active operation is more than the 9-12 V source can supply. 