Digitally Controlled Variable Resistor

Status
Not open for further replies.

s_cihan_tek

Full Member level 2
Joined
Mar 8, 2006
Messages
125
Helped
19
Reputation
38
Reaction score
4
Trophy points
1,298
Location
Turkey
Visit site
Activity points
2,206
Hi all,

I'm trying to obtain the I-V characteristic of a 55W solar panel for different temperature values. Since taking measurements manually would take too much time, i decided to build a simple DAQ circuit that will take the measurements automatically and save them to a EEPROM.

When the corresponding button is pressed, the circuit should start changing the load of the solar panel from full load to short circuit in small steps and measure&save the output I,V and Temperature values to the EEPROM for each value of the load.

My question is, how can i make a high power variable resistor whose value can be controlled by a circuit?
 

Hi,
Use a bunch of 2N3055 transistors in active region, in parallel, mounted on heat sink with fan cooling. Use emitter resistors to fix the current and drive the bases from a power DAC.
Regards,
Laktronics
 

    s_cihan_tek

    Points: 2
    Helpful Answer Positive Rating
KoRGeNeRaL
One way is to use power MOSFETs with logic level threshold (turn-on) voltage. Connect the MOSFET switches in series with the desired load resistors. You can use a Microcontroller to turn the FETs on and off. Check the IRF or Powertex catalogs to find FETs with suitable current ratings.
Kral
 

    s_cihan_tek

    Points: 2
    Helpful Answer Positive Rating
you can also use an electronic load.
search this term in google and you will find lots os infos about it.
 

    s_cihan_tek

    Points: 2
    Helpful Answer Positive Rating

Thanks for your response.

I could do it as you said, but then the value of the load resistance wouldn't be incremented (or decremented) in equal steps. Most of the measurements would be taken for lower values of the load and only a small number of them would be taken for higher values of the load. Isn't there any other way to change the resistance value in small and somewhat equal steps to obtain an equally distributed data set?

For example, i thought that a DC Chopper, whose duty cycle is increased linearly would suffice, but then i realized that there would be too much loss on the switching device of the Chopper and therefore decided against it.


laktronics said:
Hi,
Use a bunch of 2N3055 transistors in active region, in parallel, mounted on heat sink with fan cooling. Use emitter resistors to fix the current and drive the bases from a power DAC.
Regards,
Laktronics

A similiar circuit was the first idea that came to my mind but it's way too bulky. Can an inductor that is connected in series with the load (to make the current continuous) reduce the losses on the MOSFET's by lowering the voltage across it?

Regards

Added after 13 minutes:

Kripton2035 said:
you can also use an electronic load.
search this term in google and you will find lots os infos about it.

Thank you, i'll look at it.
 

Hi,
In your case, since there will be DC current, inductors will be bulky. Also if inductors are used with square wave, you need to protect switchers against transients. It appears for your application power dissipation is essential, either in the switches or in a resistive load. How about a binary weighted Nichrome wire loads driven by transistor/MOSFEt switches directly from a binary eight bit register?, just another idea. How much is the expected current max. in your application?
Regards,
Laktronics
 


Expected current is 2-3A max.

Can nichrome wires with various resistances be found easily? It's very difficult to find most of the parts in my country. And also if the loads are binary weighted, then wouldn't be there the same problem as in the paralelled MOSFET+resistor method Kral has mentioned? I mean:

KorGeNeRaL said:
Most of the measurements would be taken for lower values of the load and only a small number of them would be taken for higher values of the load.

For example if i use resistance values of [2 4 8 16 32 64 128], parallel combinations of them would be:

1.0079
1.0159
1.0240
1.0323
1.0407
1.0492
1.0579
..........
32.0000
42.6667
64.0000
128.0000


Thank you
 

Hi,
For the first part of your question, Nichrome wire I thought should be easily available as it is commonly used in all cheap electric heaters.
For the second part, I still feel you must be able to test for current increments of 1/256 of full scale using 8 binary weighted resistors, unless I am still making some mistake somewhere. I will illustrate it as follows:
Let us say in your example, by turning on the 2ohm resistor it draws a load of 10 Amps. By turning on the remaining 7 resistors, the current should go to 20 Amps. The range of 10 Amps to 20 Amps can be covered in 128 steps using the 7 resistors.
Now if you switch off the 2 Ohms load and turn on 4 ohms load, you should get 5 Amps. If you turn on the remaining 6 resistors, you should get a total of 10 Amps, the range of 5 Amps to 10 Amps will be covered in 64 steps.
So, as you go down, the number of steps will reduce binarily. This will be true for any digital control.
I hope I am right ?
Regards,
Laktronics
 

    s_cihan_tek

    Points: 2
    Helpful Answer Positive Rating
laktronics said:
Hi,
So, as you go down, the number of steps will reduce binarily. This will be true for any digital control.
I hope I am right ?

Laktronics

Yes you are right. I guess i'm mistaken by the differences between the values of low and high resistances below.

1.0079 // These three values are very close
1.0159 //
1.0240 //
..........
42.6667 // These three values are not
64.0000 //
128.0000 //

When i modified the program to output the current instead of resistance, i saw that the differences between the current values are always small (approx. 0.16), since the current itself gets very low at higher values of the resistances.

Now the only problem left is the need of high power resistors (more than 25W).

Thank you for your help.
 

KoRGeNeRaL,
From your response to my last post, (and reading between the lines from other responders), you want to control the resistors from a binary counter. If this is the case, then all you have to do is weight the resistors according to a binary sequence. For example let R(0) be the resistor that is connected to the 2^0 counter output, R be the resistor that is connected to the 2^n counter output. Let R = R. then R(n-1) will = 2R, R(n-2) will = 4R, R(n-3) will = 8R, etc. Now when the counter that drives the power switches is incremented in a binary fashion, the current will increment in equal steps.
Regards,
Kral

Added after 10 minutes:

After posting my last response, I realized that my suggestion for resistor values is virtually the same as was suggested by KoRGeNeRaL (sorry, KoRGeNeRaL!), although I don't understand KoRGeNeRaL's resistance sequence.
Regards,
Kral
 

Hello,

if power resistor procurement is an issue, you may uses resitive heaters from home applications or other resitive parts (e. g. car lamps). You could also coil your power resistors from resistance wire or stainless steel welding wire.

As I understand, you plan to record voltage and current in your test, than resistors don't have to be very acurate. I yet missed any specification of intended accuracy respectively resolution when varying the resistance.

But anyway, I would define my test equipment from availability. E. g., you could use relays from car supply if you don't have appropriate electronic switches, at least for the high current range.

Regards,
Frank
 

    s_cihan_tek

    Points: 2
    Helpful Answer Positive Rating
Kral said:
From your response to my last post, (and reading between the lines from other responders), you want to control the resistors from a binary counter.

I just want to control the resistance value with a microcontroller. It doesn't have to be controlled by a binary counter, but if it is, then it's perfectly ok. The sequence of the values are also not important because the circuit will save the values to an EEPROM to transfer them later to a PC. I can sort the data according to their current values on the PC.

Kral said:
After posting my last response, I realized that my suggestion for resistor values is virtually the same as was suggested by KoRGeNeRaL (sorry, KoRGeNeRaL!), although I don't understand KoRGeNeRaL's resistance sequence.

The resistance sequence i've given for example is exactly the same as the one you and laktronics have suggested. The only difference is that mine uses 7 bits, not 8.

R(0) = 128
R(1) = 64
......
R(6) = 2

This method will work for me for now, but i don't know how to make a similar circuit capable of handling more power (100W+)

FvM said:
Hello,
As I understand, you plan to record voltage and current in your test, than resistors don't have to be very acurate. I yet missed any specification of intended accuracy respectively resolution when varying the resistance.

Yes, that's exactly what i'm trying to do and accuracy isn't very important for my application.

I just need a set of I-V values for different temperature and insolation levels to construct the characteristic curves of that specific solar panel. I'll use these values for making a solar panel simulator as my final project.

FvM said:
You could also coil your power resistors from resistance wire or stainless steel welding wire.

That's the most logical way of obtaining these resistors i think.

Thank you all for your interest
 

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…