Programmable current source requires no power supply
Engineering labs are usually equipped with various power supplies, voltmeters, function generators, and oscilloscopes. One piece of equipment missing from many such labs, however, is a current source. This omission is unfortunate, because a current source is useful for creating I-V (current-versus-voltage) curves, charging and discharging batteries, preloading power supplies, and many other applications.
The circuit in Figure 1 is an easy-to-build, easy-to-use, low-cost current source. It comprises three sections of BCD (binary-coded-decimal) switches, a three-terminal adjustable regulator, a handful of 1%-tolerant resistors, and a National Semiconductor LM317 three-terminal adjustable regulator. All newer National Semiconductor regulators are of the low-dropout type, which is unsuitable for this application. The switches short their four outputs to a common terminal based on the digit setting of the switch.
The circuit operates as follows: Assume that the red terminal in Figure 1 connects to a 5V power supply and that the black terminal connects to the power supply’s ground. Assume that the middle digit (labeled 10 to 90 mA) gets set to two and that the other two digits get set to zero. The BCD switch connects a 62Ω resistor from the LM317’s output to adjust pins. The LM317 forces 1.25V across the 62Ω resistor, causing 20 mA to flow from the output pin through the resistor, and to the black terminal of the current source. The circuit maintains this regulation provided that the input voltage remains 3 to 40V.
To construct the current source, you should either use a heat sink for the LM317 or build the circuit into a die-cast aluminum housing, which acts as the heat sink. Isolate the LM317 from the heat sink using a thermally conductive isolation pad and a shoulder washer. You determine the resistors’ values by starting with the base-resistance value, 1.24 kΩ. Then, simply use parallel values to determine the successive resistors’ values. For example, two 1.24-kΩ resistors in parallel yield 620Ω, four 1.24-kΩ resistors in parallel yield 310Ω, and so on. Using this approach with ¼W resistors ensures that the highest current resistors do not overheat. For example, eight 12.4Ω, ¼W resistors yield 1.55Ω resistance and dissipate only 1W with a peak capability of 2W.
The performance of the circuit is about 2% accurate. You can achieve higher accuracy with hand-selected resistors. The output impedance for lower currents is more than 1 MΩ but drops to approximately 250 kΩ at 200 mA.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本