constant current source design - Page 1
Forum section: electronics / beginners

author: Arjunan M R
author_rank: Regular Contributor
timestamp: June 03, 2019, 10:34:08 am
content: Hi, I am designing a PSU using LT3080. My requirement is that the minimum voltage of the PSU should be 1V or lower. It requires a minimum output current of 1mA. So to meet the minimum current requirement of the LT3080 ,I need to put a 1mA constant current source at the output.The constant current source have to able to draw 1mA even at 1V or lower.I first decided to use lm334z but it is only available in higher quantities.So I decided to make a constant current source myself.I'm having problem that the current decreases when going lower than 1.1V.Why is it so?Is it because the LM358 is not rail t rail?Here is the circuit ↓↓↓↓This is based on a topic "14.4V ground reference for ADC" in projects design and technical stuff.

author: tszaboo
author_rank: Super Contributor
timestamp: June 03, 2019, 10:36:22 am
content: No, the LM358 is not rail to rail. If you have a question, that involves:-Can the LM358 do x?The answer is typically no.The only thing the LM358 has is cheap price.

author: Zero999
author_rank: Super Contributor
timestamp: June 03, 2019, 10:39:41 am
content: The LM358 can't sink much current at output voltages under 1.5V. It doesn't have a true 0V capable output stage, just a constant current source pull-down attached to an ordinary output stage.Use a current mirror, which will work down to 100mV or so. Select R1 so it draws at least 4mA.

author: Arjunan M R
author_rank: Regular Contributor
timestamp: June 03, 2019, 10:40:06 am
content: Quote from: NANDBlog on June 03, 2019, 10:36:22 amI said that LM358 is not rail to rail.QuoteSo which opamp can I use?QuoteI need to build it functional but cheap.

author: Arjunan M R
author_rank: Regular Contributor
timestamp: June 03, 2019, 12:14:52 pm
content: I am having some issue with the current mirror, even i set it to 4mA at 19V using 4.7K resistor.It is drawing 40mA at the load side.I am using 2N3904.

author: Zero999
author_rank: Super Contributor
timestamp: June 03, 2019, 12:22:16 pm
content: Quote from: Arjunan M R on June 03, 2019, 12:14:52 pmIdeally, the transistors should be matched. They should have the same part number and at the same temperature, i.e. touching one another.If that doesn't improve things, then try adding some emitter resistors. The downside is, it will increase the minimum voltage required for the current to maintain regulation. Try a low value, say 22R.

author: Jay_Diddy_B
author_rank: Super Contributor
timestamp: June 03, 2019, 12:48:45 pm
content: Hi,Zero999 has the right idea with the emitter resistors. This modelling will help illustrate what is happening:I have drawn a total of four mirrors.I am showing the collector currents for each of the output transistors.Consider the circuit Q1 and Q2. Q2 always has 0.6V across and 4mA through it, around 2.4mW of dissipation.The voltage across Q1 is higher, it could be 20V. 20V and 4mA is 80mW. This means Q1 junction temperature will be hotter than Q2.In the circuit Q4 and Q5, I have increased Tj on Q4 to 75C. Q4 collector current is now around 40mA, a similar value to what you measure in the lab.If I add the emitter resistors, R5 and R6, the temperature sensitivity is reduced, but so is the low voltage performance.I have attached the LTspice model.Also, have a look at this thread.Link:https://www.eevblog.com/forum/projects/minimum-load-circuit-for-lab-psu/msg2439042/#msg2439042Regards,Jay_Diddy_B

author: Arjunan M R
author_rank: Regular Contributor
timestamp: June 03, 2019, 12:57:25 pm
content: Quote from: Zero999 on June 03, 2019, 12:22:16 pmI put two 100R resistors in parallel at emitter of each transistor before connecting to ground.Now it's all working and it can go to even 500mV without any change in current that's enough for my purpose.

author: Arjunan M R
author_rank: Regular Contributor
timestamp: June 03, 2019, 01:00:59 pm
content: Quote from: Jay_Diddy_B on June 03, 2019, 12:48:45 pmThanks. Which software didyou use for simulating the current mirror?

author: Jay_Diddy_B
author_rank: Super Contributor
timestamp: June 03, 2019, 01:08:03 pm
content: Quote from: Arjunan M R on June 03, 2019, 01:00:59 pmHi I used LTspice. You can download it from here:Link:https://www.analog.com/en/design-center/design-tools-and-calculators/ltspice-simulator.html(I have the changed the colours from the default values, so I have a white background. Normally it is grey for the schematics and black for the waveforms. This is why it might look a little different).Regards,Jay_Diddy_B

author: Arjunan M R
author_rank: Regular Contributor
timestamp: June 03, 2019, 01:11:09 pm
content: Quote from: Jay_Diddy_B on June 03, 2019, 01:08:03 pmi already have lt spice.I didn't recognize because of the background color.

author: Arjunan M R
author_rank: Regular Contributor
timestamp: June 03, 2019, 01:29:29 pm
content: How did you define temperature?

author: Jay_Diddy_B
author_rank: Super Contributor
timestamp: June 03, 2019, 01:38:58 pm
content: Quote from: Arjunan M R on June 03, 2019, 01:29:29 pmHi,If you  [RIGHT CLICK] on a part you will see a dialogue box like this:I have enteredtemp=75on the line and [RIGHT CLICK] the Vis box, to make it visible on the schematic.The default temperature is 25C.Regards,Jay_Diddy_B

author: Arjunan M R
author_rank: Regular Contributor
timestamp: June 03, 2019, 01:45:48 pm
content: ; Thanks. How did you measure current vs voltage.

author: Zero999
author_rank: Super Contributor
timestamp: June 03, 2019, 01:49:13 pm
content: It's also possible to do a temperature sweep.http://electronicsbeliever.com/how-to-sweep-temperature-in-ltspice-with-step-by-step-tutorials/https://www.eevblog.com/forum/blog/eevblog-301-ltspice-temperature-sweep-tutorial/Another option is to set the temp to a variable and use the .step param command.For example:In the component attribute editor, as mentioned above enter:temp={temp_Q1}Add a spice directive to the schematic by clicking the .op icon on the tool bar and enter:.step param temp_Q1 10 90 20That will then perform the simulation with Q1 at temperatures ranging from 10 to 90 degrees, in 20 degree increments.http://electronicsbeliever.com/how-to-sweep-temperature-in-ltspice-with-step-by-step-tutorials/https://www.eevblog.com/forum/blog/eevblog-301-ltspice-temperature-sweep-tutorial/https://www.analog.com/en/technical-articles/ltspice-using-the-step-command-to-perform-repeated-analysis.html

author: Zero999
author_rank: Super Contributor
timestamp: June 03, 2019, 01:52:47 pm
content: Quote from: Arjunan M R on June 03, 2019, 01:45:48 pmTry looking at the .asc files he attached to the posts in the thread he linked to.https://www.eevblog.com/forum/projects/minimum-load-circuit-for-lab-psu/msg2439099/#msg2439099

author: Jay_Diddy_B
author_rank: Super Contributor
timestamp: June 03, 2019, 01:54:49 pm
content: Quote from: Arjunan M R on June 03, 2019, 01:45:48 pmHi,First I assign a fixed value to the source that I want to sweep. I have set the value of V2 to 1V dc:Then in theSIMULATEmenu:I select DC sweep. I have set V2 to step from 0 to 1V in 5mV increments.I run the simulation.When the simulation stops. If I  [LEFT CLICK] on a wire, I can plot the current in that connection.(If I ever make to India, you owe me a cup of tea)Regards,Jay_Diddy_B

author: Arjunan M R
author_rank: Regular Contributor
timestamp: June 03, 2019, 02:31:39 pm
content: Thanks for all your replies.How did you insert picture in middle of text?

author: Zero999
author_rank: Super Contributor
timestamp: June 03, 2019, 04:15:42 pm
content: Quote from: Arjunan M R on June 03, 2019, 02:31:39 pmAttach the image and post as normal.Click on the image to increase its size. Copy the image address to the clipboard. Different browsers have different procedures. In Firefox, right click on the image and click "copy image location". Click on modify to edit the post. paste the image address between  tags.Click on the "quote" button on Jay_Diddy_B's post to see how he did it.Refer to this thread:https://www.eevblog.com/forum/chat/how-to-include-images-in-a-post/msg298323/#msg298323

author: Arjunan M R
author_rank: Regular Contributor
timestamp: June 04, 2019, 04:45:00 am
content: If I use matched pair transistors does i have to use emitter resistors?

author: Zero999
author_rank: Super Contributor
timestamp: June 04, 2019, 10:42:23 am
content: Quote from: Arjunan M R on June 04, 2019, 04:45:00 amYou should be able to get away without them or using much lower values, especially if the transistors are well thermally coupled. Try it.

author: Arjunan M R
author_rank: Regular Contributor
timestamp: June 04, 2019, 01:45:55 pm
content: I will just use 2N3904.I am going to use a 49.9Ω emitter resistor.When I was simulating it in LTspice I saw that if you choose resistor with low resistance like you said(22Ω) the difference between the collector current of each transistor increases so i chose 49.9Ω.

author: Zero999
author_rank: Super Contributor
timestamp: June 04, 2019, 04:56:01 pm
content: Quote from: Arjunan M R on June 04, 2019, 01:45:55 pmLTSpice isn't very good at simulating this, because it assumes the transistors are identical and are at the same temperature.

author: Arjunan M R
author_rank: Regular Contributor
timestamp: June 04, 2019, 04:58:56 pm
content: I have changed the temperature.

author: Tom45
author_rank: Frequent Contributor
timestamp: June 04, 2019, 07:47:49 pm
content: Since you don't need much accuracy, why not just use a simple 1 transistor current sink.The circuit below uses a 2N3904 and 3 resistors. Testing shows that it works down to 0.2 volts.Current was about 1 ma at 0.2 volts, up to about 1.2 ma at 25 volts.If you don't have 5 volts available, just recompute the base bias resistor divider for whatever voltage you do have.

author: Jay_Diddy_B
author_rank: Super Contributor
timestamp: June 04, 2019, 09:51:58 pm
content: Hi Tom45 and the group,The Vbe of the transistor has a temperature coefficient of -2mV per degree C.The current will rise by about 2mV / Re, where Re is the emitter resistor.Regards,Jay_Diddy_B

author: Arjunan M R
author_rank: Regular Contributor
timestamp: June 05, 2019, 03:46:25 am
content: Quote from: Tom45 on June 04, 2019, 07:47:49 pmNO I'm not using this circuit.Since I have to make the BOM as low as possible I will go with the other.I'm not going to buy three different types of resistors.In the other I only have to buy one type of resitor extra.49.9\$\Omega\$.I already need 4K7.Thanks for reply.

author: Arjunan M R
author_rank: Regular Contributor
timestamp: June 05, 2019, 03:49:55 am
content: I don't need accuracy but the current has to constant as possible. Because I'm using an 18 bit ADC to measure current . I don't want to zero it out whenever i change the voltage.