![]() ![]() To summarize: A strip of LEDs requires 400 mA at 12 volts, and is to be controlled from a Raspberry Pi. This example is from an excellent discussion here. Now if the Arduino is putting out 5 V, and Vbe is 1.5 V, that means that the resistor has a voltage drop of (5 – 1.5) or 3.5 V across it. We want a current between 5 mA and 40 mA, so let’s pick a midway point of 20 mA.īack to Figure 2 where we see that when the collector current is 1 A, Vbe(sat) is about 1.5 V. Again this is indicated in Figure 2, but this time Ic=250 * Ib or our collector current of 1.25 A requires a base current of 5 mA (5 * 250 = 1250), which is well below the maximum of 40 mA the Arduino can put out.įinally we need to select a base resistor which will be low enough to ensure that the TIP120 remains saturated, but high enough to prevent the Arduino from trying to deliver more current than it should. First, we see that Ic(max) = 5 A, and that Vceo(max) is 60, 80, or 100 V, so we are fine so far. 125 A, which is too much for our Arduino, which can deliver (safely) at most 40 mA.įinally let’s take a look at the datasheet for the TIP120. This means that for our collector current of 1.25 A, we would need to deliver a base current of. According to Figure 2, Ic/Ib = 10 or Ic = 10 * Ib. First we need to find what the base current will be when the transistor is carrying the worst-case current of 1.25 A. Now we need to calculate whether we can provide sufficient base current to keep the transistor in saturation. The TIP31 comes in 4 versions, with Vceo(max) ranging from 40 V to 100 V, all safely above the 12 V we plan to use. The parameter we are looking for is the maximum collector emitter voltage, Vceo(max). Next we have to verify that the transistor can safely handle the supply voltage we plan to use. The datasheet for the TIP31 shows Ic(max) = 3 A, which is safely above the 1.25 A our motor will draw if it is stalled. The datasheet for the PN2222A shows Ic(max) = 0.6 A, which is too little for our needs. The parameter we are looking for is the maximum collector current, Ic(max). Next, we need to check the datasheet for each transistor.įirst we need to make sure that the transistor can safely handle the worst current we might draw. Let’s pretend we have a PN2222A, a TIP31 and a TIP120. Next, we see what NPN transistors we have in our box of parts. In this case, since the voltage we are controlling (12 V) is different from the Arduino voltage (5 V), we have no choice but to use an NPN transistor. However, PNP transistors can only control the same voltage as is supplied to the Arduino chip. In general, we can use both PNP or NPN transistors as switches. ![]() Thus the load voltage is 12VDC and the maximum load current is 1.25 A ![]() A motor always consumes the maximum current when stalled. According to the datasheet for this motor, at 12VDC with no load it only draws 76 mA, but if you stall the motor it shoots up to 1250 mA, or 1.25 Amps.
0 Comments
Leave a Reply. |