I have received a number of questions regarding some of the components of the Lapse Pi circuit I wrote about in a previous blog post. Here I will give some additional recommendations of what components to use and how to buy them.
Motor Drive NMOS Transistor
I used an NMOS transistor from the junk bin to drive the motor. The particular part I used is probably hard to find today, but fortunately, the requirements on this transistor are easily fulfilled by numerous modern parts.
So what are the requirements?
VGS(th): The transistor should be very well turned on when its gate-to-source voltage is whatever the Raspberry Pi can deliver. The GPIO outputs of the R Pi do not seem to have perfect documentation, but from what I have been able to piece together from various google searches, it seems like the outputs are pretty standard CMOS outputs and thus should deliver a voltage very close to the supply voltage when the output is high and no current flows out of the pin. Thus, we can count on the high output voltage to be pretty close to 3.3 V and thus we need to find a transistor whose threshold voltage (VGS(th)) is well below 3.3 V.
ID: The continuous drain current has to be a bit above the current that the motor consumes. Looking around for some suitable motors with gear boxes, it seems like one could expect a current around 50 mA to 300 mA. So a transistor that handles 1 A should be sufficient, although it is not too expensive to buy transistors that can handle significantly more current.
VDS: The supply voltage is nominally 12 V and we need a transistor that can withstand this voltage with some margin. It should have a drain-to-soruce voltage rating (VDS) of at least 20 V and preferably 30 V or more.
Depending on how you build the circuit (if you make your own PCB or build on stripboard like I did), you might prefer a surface mount or a through hole transistor. Most hobbyists who need the advice of this blog post probably prefer a through hole component.
Using the above criteria, it is quite easy to use the filtering functions of e.g. Digikey to find a bunch of suitable transistors. Here is how I would do it on Digikey:
- Go to their front page and click on Product Index.
- Under the heading “Discrete Semiconductor Products”, click on “FETs – single“.
- Hold down the Ctrl key and click on Bulk, Cut Tape, Tray and Tube in the Packaging box. This eliminates some uninteresting (for us) packaging alternatives.
- In the FET Type box, select “MOSFET N-Channel, Metal Oxide” and “MOSFET N-Channel, Schottky, Metal Oxide”.
- In the Drain to Source Voltage box, click on 30V, hold down shift and click on 100V to select parts with this range of VDS. Parts outside this range is probably not of interest as they do either not fulfill our requirements or are highly overspecified and thus probably more expensive and/or worse in some other regard.
- Tick the three boxes “In stock”, “Lead free” and “RoHS compliant.
The relevant part of the page should now look something like this:
- Click “Apply filters”.
- Still there are more than 3000 matches, so it would be nice to narrow the search further.
- Select IDS between 1A and e.g. 30A (click on 1A, scroll to 30A, hold down shift and click on the 30A line)
- Select VGS(th) between the minimum available and 2.5 V.
- Select Through Hole in the Mounting Type box.
Now the selection should look like this:
- Click Apply Filters again.
- Currently, this results in only 20 hits for me and now it is time to look through the alternatives.
- I do this by sorting on price, lowest first, by clicking on the up-arrow in the Price column.
The first hit for me is a transistor called NTD5867 and looking at its datasheet it looks almost OK for this application. Below are some relevant plots. We can see that typically, a VGS of 2.8 V leads to a voltage drop of 0.5 V when the drain current is 2.5 A. For our currents which is about an order of magnitude smaller, the voltage drop should be negligible compared to the 12 V of the supply.
These are however typical plots and we are not guaranteed that the transistor will work like this. The VGS(th) specification in the “Electrical characteristics” table says that VGS(th) is typically 1.8 V (at 250 µA and 25 °C), but that it can be as high as 2.5 V. This difference of 0.7 V means that we might need 3.5 V to achieve the behavior of the 2.8 V curve in the first plot above. And we do not have 3.5 V available to drive the transistor.
The second part in the Digikey results is NTD4906. Digikey says that this transistor has a VGS(th) of at most 2.2 V (compared to 2.5 V of the part above). Looking into the datasheet reveals a few other positive things, namely that that the difference between typical and maximum VGS(th) is 0.6 V and that it can conduct much more current at much less voltage drop at lower VGS than the previous part we looked at. Here are the plots for NTD4906:
At 2.4 V VGS it can typically conduct about 2 A with a voltage drop of 0.5 V, so if we add the 0.6 V difference between typical and maximum VGS(th), we get this performance at 3 V gate-source drive, which the R Pi can provide.
Based on the above, I would recommend NTD4906N as the transistor to use for this purpose, although there are of course many others that would fit the bill. If you are not shopping at Digikey, you can use the same criteria to try to find another suitable transistor that is available to you.
DC/DC PMOS Transistor
The process of finding a suitable PMOS transistor for the DC/DC converter is very similar to what I described above. Here the criteria are primarily: at least 2 A drain current, at least 30 V drain-source voltage and besides that we want good efficiency and thus prefer low gate charge/gate capacitance and an on-resistance that is low compared to the 0.27 Ω current sense resistor. Threshold voltage is not an issue here as we are driving the transistor with pretty much the full input voltage of nominally 12 V, but it is important that the transistor can tolerate this gate-source voltage.
After narrowing down the search criteria, the transistor FQU11P06 shows up and its datasheet shows no obvious drawbacks. It has an on-resistance of at most 0.185 Ω at 10 V gate-source voltage and a gate charge of 17 nC.
There are a few other and somewhat more expensive parts that have lower on-resistance and less gate charge, like STF10P6F6, but the minor efficiency improvement is probably not worth the higher price in this case. So FQU11P06 would be my recommendation in this case.
Here we need a small-signal NMOS transistor with criteria very similar to the NMOS transistor for the motor drive, except that we do not need nearly as much current carrying capability. Oddly enough the selection of hole-mounted small-signal NMOS transistors turn out to be not that great. The part that I think looks best at Digikey is ZVNL110A.
The funny thing is that it is more expensive ($0.78) than the bigger NTD4906N ($0.57) we selected above, so if you do not mind the size, you could actually use NTD4906N here as well.
If you are OK with using a surface mount transistor, there are more options. BSS123 is widely available and seems to fit the bill, although there may be variations in the threshold voltage limits from different manufacturers, so check the datasheet for the part you are about to buy.
The requirements on the inductor are primarily that the inductance shall be at least 220 µH and that the DC resistance shall be low to keep the efficiency high. And also that it shall be able to support enough peak current, which is probably around 1.5 A or so. The inductor I used has a resistance of 0.13 Ω, so this is a value to aim for to get the same or better efficiency.
Digikey does of course have a number of inductors that would do the job, but the one that seems to be least expensive is 2116-H-RC from Bourns. It is a toroid that has an inductance of 220 µH, a maximum current of 2.4 A and a maximum DC resistance of 0.12 Ω.
I hope the information in this blog post makes it easier to find suitable components for this project.