Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Current sweep. Current changing linearly.

Status
Not open for further replies.

Karolina_1

Member level 3
Joined
Mar 10, 2017
Messages
67
Helped
0
Reputation
0
Reaction score
1
Trophy points
8
Activity points
639
I need to sweep current between 1pA and 1uA(microamps) and read the voltage drop on the load. I am thinking of two different techniques as shown in the picture. Which option is better. Is there an easier way or method of sweeping current. Thanks in advance. Can we use a ramp generator and than convert it into current by VI converter.

Untitled.png
 
Last edited:

Hi,

1pA to 1uA is a dynamic of 1:1.000.000

None of both methods can do this.
A microcontroller ADC usually has no resolution of 20 bits. and a voltage controlled resistor with a dynamic of 1:1.000.000...I doubt this.

Also you can´t adjust a pot with 0.00001% resolution. And by for not with a stepper.

--> review your specifications.

Klaus
 
Can we use a ramp generator and than convert it into current by VI converter.
Not with a linear VI converter. 1:10^6 dynamic is well feasible for current signals, but effectively impossible for voltage signals. A linear current ramp seems neither useful, because it sweeps the lower 2 or 3 decades in about "no time".

I imagine that you would want to implement either an exponential ramp or range switching with linear ramps over 2 or 3 decades maximal.
 
Let's say I want to vary the current between 100pA and 100nA. Is there any way i can do it. I found a little info about Voltage Controlled Oscillator but its resistance is not linear, which makes it problematic.
 

Current levels are too low so that Is of a standard transistor is around 10e-15..10e-18A.Controlling this current is extremely difficult due to temperature variation of the ambient.
Even 1 degree variation will jump the current into unwanted region.
Sweeping between 100pa-100nA ? I don't see that is feasible..
 

Hi,

100pA ...100nA.
I think this should be possible.

* A good low_bias, low_noise OPAMP
* a 10MOhm..50MOhm resistor for current sense (range 1mV .. 1V..5V)
* a good FET with low gate current.
* and a good layout.

Klaus
 
Can I use PIC microcontroller and precise resistor? I could change PIC output voltage thus control the current.
 

Hi,

Can I use PIC microcontroller and precise resistor? I could change PIC output voltage thus control the current.
For sure you can. But show us how you think you will use it. --> schematic.

Klaus
 


Code C - [expand]
1
2
3
4
5
6
7
8
9
10
11
int pwmOut = 3;  
void setup()
{
  pinMode(pwmOut, OUTPUT);  
}
 
void loop()                     
{
  analogWrite(pwmOut, 128); // about 2.5 volts
  delay(30); 
}



*output voltage that will go to active low pass filter.

*After it goes through the resistor

We can change duty cycle of the PWM and regulate the voltage, as a result it will same as controlling current.

Can we directly output DC 3V from PIC.
 
Last edited by a moderator:

Hi,

This is no schematic.

PWM is no analog voltage output.
It seems the PWM resolution is 256 steps. Impossible to get an output dynamic of 1:1000 (for 100pA to 100nA).
The precision of a low pass filtered PWM output dpends on a couple of things, mainly the supply voltage of the microcontroller and other loads that are driven by the microcontroller.
No power supply will be precise enough for a 1:1000 dynamic. It drifts with: load, time, temperature...

Klaus
 
I know that PWM is either 0 or 5V, that is why I will use low pass active filter. If I use 24 bit DAC can't I get necessary precision. Can I increase 256 steps somehow?

Untitled.png

I have to find a way to vary the current from 1nA to 1000nA. It doesn't matter which method it is. So far I came up with 3 possible methods.

1. Varying the duty cycle of PWM and control the voltage, which also means that I can control the current.
2. I have a current source and it has a knob to control the current. I want to attach stepper motor to knob and control the stepper motor with a microcontroller.
3. Use stable voltage source and use a voltage controlled resistor. By controlling the resistor value we can change the current.

Is there any other methods out there. Can we come up with some creative ideas?
 

Hi,

If I use 24 bit DAC can't I get necessary precision.
Is this a question?
Do you mean precision or resolution?
* precision: No, I doubt this. But the datasheet should tell you.
* resolution: it is 2^24 which is about 1 : 16.8 million. This is way beyond the requested 1:1000 resolution.

Can I increase 256 steps somehow?
We don´t know what controller you use. --> Simply look into it´s datasheet.

I have to find a way to vary the current from 1nA to 1000nA.
It seems you change your requirement on every post....

*****
my comments about your three methods:
1.) the problem here is that - if you have a known voltage - then still the current depends on the load resistance. So if you want to control the current you need to measure it and feed backk somehow to adjust the voltage. A known voltage is not enough.

2.) already explained in post#2

3.) A stable voltage and a known - but variable - resistor suffers from the same problem as solution 1. The current depends on load resistance. And you won´t find a variable resistor with your expected linearity and dynamic.

***
Your initial question is to control a current.
--> Use a voltage-to-current circuit. There are many sources in this forum and in the internet on how to build a VI circuit.
(A VI-converter is already mentioned in post#3. It can not give linearity of 1:1million, but it can operate with 1:1000, like mentioned in post#6)

One problem is, that you now mix two problems:
1) how to build a current control circuit
2) generate a precise control voltage (wich is not your initial question) for the current control circuit. This - with a dynamic and precision of 1:1000 - can be done with a good voltage reference and at least a 10 bit DAC.

My recommendation for your next post: focus on one of these problems.

Klaus
 
  • Like
Reactions: Karolina_1

    V

    Points: 2
    Helpful Answer Positive Rating

    Karolina_1

    Points: 2
    Helpful Answer Positive Rating
Sorry, but we know the resistance of the load. Let's imagine that we put 100meg resistor in series with 5ohm load. and say adjusted PWM to 50%, which means 2.5V. I=2.5V/(100*10^6+5)=25nA. And as we change the voltage current will also change. But the resolution will be from 1nA to 50nA. because we can only change output voltage from 1V to 5V. Can i do it this way?

Capture.PNG

- - - Updated - - -

Untitled.png

Can I use this schematic? Thank you for your time btw.
 

Hi,

I don´t know what all this is good for.... but I don´t need to.
From the first post with the specification "1pa ... 1uA" I thought you look for something precise. Now it seems you are satisfied with something unprecise. Good for you, this simplifies design.

If you are satisfied with a known voltage and a known resistance, then do so. It is the most simple.

Some things I dont understand, though:
* why you want to use an active LPF instead of a passive LPF? If you want it simple, then use a passive LPF. like RCRC.
* Why you say you can change output voltage 1V..5V, why not 0V..5V?
* In the second schematic of post#13 you include an VI converter AND a resistor. Both make no sense. Either VI converter or resistor.

In one item I have to correct myself:
I talked about load "resistance" (DC). Because you want to sweep the current (AC) not the resistance is important, but the load impedance (AC).

I´m curious: what´s the use of this circuit?

Klaus
 

We need to supply current to the coil and coil will generate the magnetic field. To determine the required magnetic field generated by coil we need to sweep the current which flows through it.

Can you suggest me the method which do you think works for it best, instead of discouraging me.
 

I see the problem that we get new specifications in every post. When I answer to a question, the answer is likely to be outdated.

I presume that you can apply ohms law. So yes, the setup is supposed to work under the premises you told. Intended current variation rate is apparently low (it will be at least limited by the PWM filter), thus coil inductance is probably not a problem. You should know about acceptable PWM residuals in the coil current and calculate the filter respectively.

I imagine that the magnetic field generated by the nA current will be very low. Hope the setup makes sense.
 

Hi,

I never meant to discourage you.

I always voted for the precise method using VI circuit.
But you never responsed to this method, but gave new specifications and new ideas.
You never said why you don't want VI method.

We all don't know your real requirements, especially regarding precision and frequency.
So you have to decide on your own what method to use.
I vote for the precise method but for sure you are free to use any of your ideas.

There is nothing discouraging in this.

*****
There is also nothing discouraging when I tell about the difference between ohmic resistance of a coil(which can be measured with an ohm meter) and the impedance...that depend additionally on waveform, frequency and coil inductance.
It's just objective physics - not my personel opinion.

Please respond if you want me to leave this thread.

Klaus
 
Yes, the magnetic field should be nanoTesla, that's why very small current is required.

VI circuit, I don't really understand what it is. Can you please be more specific? With schematics or link that I can read about.

I need to sweep DC current between 1nA and 1000nA it can be even 100nA-1000nA I can adjust the number of turns in the coil. (magnetic field changes with the number of turns in the coil, but smaller the current better it is because it is not preferable to increase the number of turns in the coil)

I would want to talk more about VI circuit method if you could give me a hint or more information about your idea.

Electronics is not my main major, so I am sorry if I don't understand everything.
 

Hi,

VI converter:
There are search engines in the internet for this. You will find good documentation as well as circuit examples.
Even in this forum there are several discussions about voltage to current converters. I must assume you didn't try to find information on your own.

So let's go:

V = voltage
I = current
--> voltage to current converter.

In post#6 i recommended a circuit with opamp and fet.

https://lmgtfy.com/?q=Voltage+to+current+converter+opamp+fet+circuit

Then you get examples. The first one really with a fet is like this.
images.png

the main recommendations for the devices I have already given in post#6.

*****
I'm confused about your sentence with coil winding cout, current and magnetic field.
To clearify:
* Magnetic field becomes bigger with increased winding count
* Magnetic field becomes bigger with increased current
You need relatively low magnetic field.
It is more easy to produce precise currents in the range of 1uA...1mA than 100pA ... 100nA.
* therefore use low winding count (it also is easier to produce, in either case)

Klaus
 

I have done VI converter before. But how am I gonna sweep the current? In this circuit. I can only see constant current source here.

We decreased the number of turns as small as possible that we can't make it less anymore. And calculated current to be between 0.8uA and 100uA. I understood the circuit given above but how to sweep the current. As far as I remember Iout is not going to change if we put load there, but the whole point of circuit is to sweep the current flowing through the coil(load).
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top