SPICE - Resistance between nodes (ohmmeter)

1. Oct 12, 2011

strokebow

Hi,

I have a huge grid of resistors. I want to measure the resistance between several and various different points on the grid.

I have measured these values in practice using a DMM to find the resistance between various points on the grid.

How can I do essentially the same thing as an ohmmeter with SPICE (I am actually using LTSPICE IV)??????

For a rough idea of the type of cricuit I am simulating, please see attached. Although I am intending to simulate much larger grids (i.e. many more lines) than that one. Also, the gird I measured experimentally is similar to this (http://www.alternatezone.com/images/ResistorGrid05R.jpg [Broken]) although the grid I used was much finer.

Thanks

Attached Files:

• res_net.jpg
File size:
19.5 KB
Views:
631
Last edited by a moderator: May 5, 2017
2. Oct 12, 2011

Staff: Mentor

Can you just connect a voltage source to the two points, and measure the current?

Last edited by a moderator: May 5, 2017
3. Oct 12, 2011

gnurf

Can you just connect a current source to the two points, and measure the voltage?

4. Oct 13, 2011

strokebow

Hi guys,

Thanks for replies.

Where would I put the ground though? I'm fairly new to ltspice and find it all a bit confusing.

For example, for a large enough grid of resistors (of equal value) the resistance between adjacent nodes should be R/2 as my measurements have shown.

I have netlists for 10x10, 20x20 all the way up to 100x100 nodes. All I want to do is what I can do with the practical equivalent (i.e. using the resistance meter). I want to pick a node for reference and then measure the resistance from that node to several other nodes and see how the resistance changes.

As you can see from the attachment. I want to measure resistance from a given reference node to several others. I drew that up in the schematics but due to the nature of the size of the resistance lattices that I want to simulate I will need to type the netlist or make a program seperately for that.

So, if anyone could give me an example of how to measure the resistance like this I would be very grateful. Additionally, where to place the ground I dont know.

cheers

Attached Files:

• temp.jpg
File size:
13.5 KB
Views:
454
5. Oct 13, 2011

Staff: Mentor

Just ground one side of the measurement (like the - terminal on the voltage or current source that you use). The rest of the circuit is floating, right?

6. Oct 13, 2011

strokebow

Hi. Thanks for replying. Yes the whole grid is floating. Thats why i have trouble putting in a ground.
So do i put a voltage source in series to a resistor (acting as a current meter) and ground 1 of the nodes?
To be honest i still dont understand. If some1 could give an example.i wud really appreciate that.
Thanks for the replies.

Last edited by a moderator: Oct 13, 2011
7. Oct 13, 2011

Staff: Mentor

Say you want to measure the resistance between two points in the grid, points A and B. put a ground at B. Then connect the + terminal of a DC voltage source V1 to A, and ground the - terminal of the voltage source V1. Then use SPICE to find I(V1).

8. Oct 15, 2011

strokebow

Should I apply a voltage at V1?

9. Oct 15, 2011

gnurf

V1 is the name of the voltage source. You apply the voltage between the two points that you want to measure the resistance between.

10. Oct 15, 2011

cmb

Put the ground anywhere you like, it makes no difference. Just make sure you put only one in, somewhere! You don't have to put the ground at the point of the voltage source in Spice.

The 'ground' is simply what it uses to reference all the voltage values, but you only need to look at the current it comes back with so it makes no difference for your purpose. Just ground any one thing in the whole block, because you only have to check the current, which is not at all affected by where you put the ground, then do the voltage source thing - pick any value, then check the current passing out of the voltage source.

11. Oct 15, 2011

strokebow

Thanks guys. I really appreciate you guys persevering with me.

I have a couple more q's though...
1. Putting V1 in series (1V DC) with my resistor between 2 adjacent nodes a and b, do I measure the resistance as v(a) - v(b) / I(V1) ... or ... is it 1 / I(V1) ? ? ?
2. Where do I put my voltage source when the nodes for which I want to find the resistance between are further apart.
For example, if they are diagonally opposed nodes (or even further across the mesh apart). - See attached.
Where would I place my voltage source in such a case?

Thanks again

Attached Files:

• temp.jpg
File size:
11.8 KB
Views:
461
12. Oct 15, 2011

cmb

Drop the voltage source graphic outside all of the resistors, then use the connecting lines and just connect each +/- output to the nodes you want to 'measure'. Unless you do some butterfingers with the mouse, it shouldn't connect to anything else the lines pass over.

The resistance is just the voltage of the source divided by the current from the source.

13. Oct 15, 2011

strokebow

thanks

14. Oct 17, 2011

strokebow

Hi,

Thanks again to everyone for their help and perseverance.

One last thing. What would be the best way for me to measure the resistance from a single reference point to all other nodes on the grid? Any ideas????

For example, if I had a netlist of a grid of 10 x 10 nodes of resistors. What wouold be the best way to find the equivalent resistance from a single reference point at nodes co-ordinate (0,0) - i.e. in one of the corners to every other node.

Any dieas on the most efficient way? Since I would like to simulate even larger grids I will not be using the schematic drawing.

cheers

15. Oct 17, 2011

es1

Spice will actually do all the math for you.

Insert the voltage source across the terminals you want to measure in the same way Berkeman recommended. Then use the command:

.tf V(A,B) V1

For resistive circuits with independent sources the input impedance line produced by spice is the resistance between A,B.

In LTSpice, this is what the "DC Transfer" tab does under the simulation menu.

.TF is pretty useful in general and can find the Thevenin equivalent circuit too.
http://www.seas.upenn.edu/~jan/spice/spice.exspice.html

16. Oct 19, 2011

strokebow

Hi,

Thanks very much.

Only problem is....

For my pretty large resistor grid (e.g. 50 x 50 nodes). I want to ideally find all of the equivalent resistances to each node from a reference node.

This would take ages having to put in a voltage source between 2 points then find .tf then do it for the next and the next etc...

would it be faster/easier for me, to attach a voltage source from the reference node to every other node, put 1V through each voltage source and measure the resistance? Will having multiple voltage sources affect the result? Is this the fastest way???

Cheers

17. Oct 19, 2011

Staff: Mentor

An ideal voltage source has zero output impedance, so they would short out the nodes. You might be able to use an array of current sources, though...

18. Oct 20, 2011

strokebow

How would that work? Would I put them all in series with the resistances and use the .tf command for each one?

19. Oct 21, 2011

es1

Do you know any programming? This is probably better done with a script. That's how I would do it anyway. I would probably also use ngspice, not ltspice, so I could use the script to generate the resistor grid as well.

But if not I think the fastest way to do it might be this.

I think you could put a 0V DC source in series with each resistor. This will not effect the measurement of the grid.

Create a current source with the neg terminal attached to the reference node and the pos terminal attached anywhere in the grid.

Spice will tell you the current through each 0V DC source and the voltage at each node when you do the .OP command.

The impedance at any node relative to the reference node is:

R=V(node)/Sum(all 0V supplies attached to node with positive currents, relative to node)

Figuring this out by hand is going to be fairly labor intensive for a 50x50 grid.

20. Oct 21, 2011

es1

Oh, if the reference node and number of gridlines can be arbitrarily chosen I suggest patterns that are symmetrical about X and Y and placing the reference at the origin.

You can then exploit the symmetry in the system and cut down the number of measurements and calculations by a factor of 4, because you'll only have to look at one quadrant.