Analisi Nodale: Ispezione Visiva

Concetti Chiave
  • L'ispezione visiva è un metodo utile per semplificare l'analisi nodale.
  • Permette di ricavare la matrice delle conduttanze e il vettore dei termini noti senza passaggi algebrici complessi.
  • È applicabile esclusivamente a circuiti composti da resistori e generatori indipendenti di corrente.

Analisi Nodale: Metodo Abbreviato

Abbiamo visto, nella lezione precedente, che l'analisi nodale permette di trovare le tensioni nodali di un circuito applicando sistematicamente la LKC (Legge di Kirchhoff delle Correnti). Il risultato che si ottiene è un sistema di equazioni lineari nella forma che segue:

\begin{bmatrix} G_{11} & G_{12} & \cdots & G_{1n} \\ G_{21} & G_{22} & \cdots & G_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ G_{n1} & G_{n2} & \cdots & G_{nn} \end{bmatrix} \cdot \begin{bmatrix} v_1 \\ v_2 \\ \vdots \\ v_n \end{bmatrix} = \begin{bmatrix} i_1 \\ i_2 \\ \vdots \\ i_n \end{bmatrix}

o, in forma abbreviata, come:

\mathcal{G} \cdot \mathbf{v} = \mathbf{i}

dove \mathcal{G} è la matrice delle conduttanze.

Nel ricavare questo sistema, però, abbiamo svolto una serie di passaggi algebrici per ricavare la matrice \mathcal{G} e il vettore dei termini noti \mathbf{i}.

Esiste un metodo abbreviato per ricavare queste due informazioni che si basa semplicemente sull'ispezione visiva del circuito. Questo metodo funziona solo per circuiti che contengono esclusivamente resistori e generatori indipendenti di corrente.

Per capire come fare, riprendiamo il circuito che abbiamo analizzato nella lezione precedente:

Circuito della Lezione Precedente su cui applicare l'ispezione visiva
Figura 1: Circuito della Lezione Precedente su cui applicare l'ispezione visiva

Per ricavare l'elemento G_{ij} dobbiamo procedere in questo modo:

  1. Se i = j, quindi vogliamo trovare un elemento della diagonale principale, ci basta sommare le conduttanze di tutti i resistori che hanno il nodo j come estremità. In questo caso, l'elemento G_{jj} sarà la somma delle conduttanze dei resistori che partono dal nodo j verso gli altri nodi.

    Nel nostro esempio abbiamo che G_{11} è dato dalla somma delle conduttanze dei resistori R_1 e R_2, che sono entrambi collegati al nodo 1:

    G_{11} = \frac{1}{R_1} + \frac{1}{R_2} =
    G_{11} = \frac{1}{2\,\Omega} + \frac{1}{2\,\Omega} = 1\,\mathrm{S}

    Mentre G_{22} è dato dalla somma delle conduttanze dei resistori R_2 e R_3, che sono collegati al nodo 2:

    G_{22} = \frac{1}{R_2} + \frac{1}{R_3} =
    G_{22} = \frac{1}{2\,\Omega} + \frac{1}{4\,\Omega} = \frac{3}{4}\,\mathrm{S}
  2. Se i \neq j, quindi vogliamo trovare un elemento che non appartiene alla diagonale principale, dobbiamo usare l'opposto della somma delle conduttanze dei resistori che collegano il nodo i al nodo j.

    In questo caso, l'elemento G_{12} sarà l'opposto della conduttanza del resistore R_2, ossia l'unico resistore che collega il nodo 1 al nodo 2:

    G_{12} = -\frac{1}{R_2} = -\frac{1}{2\,\Omega} = -\frac{1}{2}\,\mathrm{S}

    Inoltre, bisogna notare che, in questo caso la matrice \mathcal{G} è simmetrica, quindi G_{21} = G_{12}.

Quindi, la matrice \mathcal{G} del nostro circuito sarà:

\mathcal{G} = \begin{bmatrix} 1 & -\frac{1}{2} \\ -\frac{1}{2} & \frac{3}{4} \end{bmatrix}

Per quanto riguarda il vettore dei termini noti \mathbf{i}, dobbiamo semplicemente sommare le correnti dei generatori indipendenti che hanno il nodo j come estremità. In particolare, se le correnti dei generatori sono entranti nel nodo, devono essere considerate con il segno positivo, mentre se sono uscenti devono essere considerate con il segno negativo.

Nel nostro esempio, abbiamo un generatore di corrente I_1 che ha il nodo 1 come estremità e un altro generatore di corrente I_2 che ha il nodo 2 come estremità. Entrambi i generatori sono entranti nei rispettivi nodi, quindi:

\mathbf{i} = \begin{bmatrix} I_1 \\ I_2 \end{bmatrix} = \begin{bmatrix} 2\,\mathrm{A} \\ 3\,\mathrm{A} \end{bmatrix}

In questo modo, abbiamo ricavato la matrice \mathcal{G} e il vettore \mathbf{i} semplicemente osservando il circuito e applicando le regole di ispezione visiva.

Ricapitolando:

Definizione

Metodo di Ispezione Visiva per l'Analisi Nodale

Versione per Circuiti con Resistori e Generator Indipendenti di Corrente

Per ricavare il sistema di equazioni dell'analisi nodale:

\mathcal{G} \cdot \mathbf{v} = \mathbf{i}

i coefficienti della matrice \mathcal{G} e i termini noti \mathbf{i} si ottengono come segue:

  1. Per gli elementi della diagonale principale (G_{jj}): Sommare le conduttanze dei resistori che hanno il nodo j come estremità.
  2. Per gli elementi fuori dalla diagonale principale (G_{ij} con i \neq j): Prendere l'opposto della somma delle conduttanze dei resistori che collegano il nodo i al nodo j.
  3. Per il vettore dei termini noti \mathbf{i}: Sommare le correnti dei generatori indipendenti che hanno il nodo j come estremità, considerando il segno in base alla direzione della corrente (entrante positiva, uscente negativa).

In questo caso la matrice \mathcal{G} è simmetrica, quindi G_{ij} = G_{ji}.

Esempio

Vediamo un altro esempio per chiarire ulteriormente il metodo di ispezione visiva.

Prendiamo il seguente circuito:

Circuito di Esempio
Figura 2: Circuito di Esempio

Per prima cosa identifichiamo i nodi presenti. Come mostra la figura ci sono cinque nodi nel circuito:

Circuito di Esempio: Identificazione dei nodi
Figura 3: Circuito di Esempio: Identificazione dei nodi

Scegliamo il nodo n_5 come nodo di riferimento (massa) in quanto è il nodo con più connessioni dirette:

Circuito di Esempio: Scelta del Nodo di Riferimento
Figura 4: Circuito di Esempio: Scelta del Nodo di Riferimento

Dato che ci sono rimasti quattro nodi, la matrice \mathcal{G} sarà di dimensione 4 \times 4 e il vettore dei termini noti \mathbf{i} avrà quattro elementi.

Ora, procediamo a calcolare gli elementi della matrice \mathcal{G} e del vettore \mathbf{i}:

  • Per G_{11} (nodo n_1):

    La somma delle conduttanze dei resistori che hanno il nodo n_1 come estremità è:

    G_{11} = \frac{1}{5\,\Omega} + \frac{1}{10\,\Omega}
    G_{11} = \frac{3}{10}\,\mathrm{S} = 0.3\,\mathrm{S}
  • Per G_{22} (nodo n_2):

    La somma delle conduttanze dei resistori che hanno il nodo n_2 come estremità è:

    G_{22} = \frac{1}{5\,\Omega} + \frac{1}{8\,\Omega} + \frac{1}{1\,\Omega}
    G_{22} = \frac{53}{40}\,\mathrm{S} = 1.325\,\mathrm{S}
  • Per G_{33} (nodo n_3):

    La somma delle conduttanze dei resistori che hanno il nodo n_3 come estremità è:

    G_{33} = \frac{1}{8\,\Omega} + \frac{1}{8\,\Omega} + \frac{1}{4\,\Omega}
    G_{33} = \frac{1}{2}\,\mathrm{S} = 0.5\,\mathrm{S}
  • Per G_{44} (nodo n_4):

    La somma delle conduttanze dei resistori che hanno il nodo n_4 come estremità è:

    G_{44} = \frac{1}{1\,\Omega} + \frac{1}{8\,\Omega} + \frac{1}{2\,\Omega}
    G_{44} = \frac{13}{8}\,\mathrm{S} = 1.625\,\mathrm{S}

Abbiamo trovato gli elementi della diagonale principale della matrice \mathcal{G}:

\mathcal{G} = \begin{bmatrix} 0.3 & G_{12} & G_{13} & G_{14} \\ G_{21} & 1.325 & G_{23} & G_{24} \\ G_{31} & G_{32} & 0.5 & G_{34} \\ G_{41} & G_{42} & G_{43} & 1.625 \end{bmatrix}

Ora, dato che la matrice \mathcal{G} è simmetrica, possiamo limitarci a calcolare al di sopra della diagonale principale e poi riflettere i valori per ottenere gli altri elementi.

  • Per G_{12} (nodi n_1 e n_2):

    L'unico resistore che collega i nodi n_1 e n_2 è il resistore da 5\,\Omega, quindi:

    G_{12} = -\frac{1}{5\,\Omega} = -0.2\,\mathrm{S}
  • Per G_{13} (nodi n_1 e n_3) e G_{14} (nodi n_1 e n_4):

    Non vi sono resistori che collegano direttamente i nodi n_1 e n_3 o n_1 e n_4, quindi la loro conduttanza sarà zero:

    G_{13} = 0\,\mathrm{S}
    G_{14} = 0\,\mathrm{S}
  • Per G_{23} (nodi n_2 e n_3):

    L'unico resistore che collega i nodi n_2 e n_3 è il resistore da 8\,\Omega, quindi:

    G_{23} = -\frac{1}{8\,\Omega} = -0.125\,\mathrm{S}
  • Per G_{24} (nodi n_2 e n_4):

    L'unico resistore che collega i nodi n_2 e n_4 è il resistore da 1\,\Omega, quindi:

    G_{24} = -\frac{1}{1\,\Omega} = -1\,\mathrm{S}
  • Per G_{34} (nodi n_3 e n_4):

    L'unico resistore che collega i nodi n_3 e n_4 è il resistore da 8\,\Omega, quindi:

    G_{34} = -\frac{1}{8\,\Omega} = -0.125\,\mathrm{S}

Abbiamo calcolato tutti gli elementi della parte superiore della matrice \mathcal{G}, quindi possiamo completare la matrice:

\mathcal{G} = \begin{bmatrix} 0.3 & -0.2 & 0 & 0 \\ -0.2 & 1.325 & -0.125 & -1 \\ 0 & -0.125 & 0.5 & -0.125 \\ 0 & -1 & -0.125 & 1.625 \end{bmatrix}

Ora, passiamo al vettore dei termini noti \mathbf{i}. Andiamo per ordine:

  • Per il nodo n_1, abbiamo un generatore di corrente da 3\,\mathrm{A} che è entrante, quindi:

    i_1 = 3\,\mathrm{A}
  • Per il nodo n_2, abbiamo due generatori di corrente: uno da 1\,\mathrm{A} che è uscente e uno da 2\,\mathrm{A} anch'esso uscente. Quindi:

    i_2 = -1\,\mathrm{A} - 2\,\mathrm{A} = -3\,\mathrm{A}
  • Al nodo n_3 non è collegato alcun generatore di corrente, quindi:

    i_3 = 0\,\mathrm{A}
  • Per il nodo n_4, abbiamo un generatore di corrente da 2\,\mathrm{A} che è entrante e uno da 4\,\mathrm{A} anche esso entrante, quindi:

    i_4 = 2\,\mathrm{A} + 4\,\mathrm{A} = 6\,\mathrm{A}

Ora possiamo scrivere il vettore dei termini noti:

\mathbf{i} = \begin{bmatrix} 3\,\mathrm{A} \\ -3\,\mathrm{A} \\ 0\,\mathrm{A} \\ 6\,\mathrm{A} \end{bmatrix}

Il sistema di equazioni dell'analisi nodale per questo circuito è quindi:

\begin{bmatrix} 0.3 & -0.2 & 0 & 0 \\ -0.2 & 1.325 & -0.125 & -1 \\ 0 & -0.125 & 0.5 & -0.125 \\ 0 & -1 & -0.125 & 1.625 \end{bmatrix} \cdot \begin{bmatrix} v_1 \\ v_2 \\ v_3 \\ v_4 \end{bmatrix} = \begin{bmatrix} 3 \\ -3 \\ 0 \\ 6 \end{bmatrix}

Quello che abbiamo ottenuto è un sistema di equazioni lineari che possiamo risolvere per trovare le tensioni nodali v_1, v_2, v_3 e v_4. Essendo un sistema di quattro equazioni con quattro incognite, possiamo risolverlo utilizzando il metodo di eliminazione di Gauss.

Un altro modo è quello di adoperare un software di calcolo simbolico o numerico, come Python con NumPy, MATLAB o altri strumenti simili.

Ad esempio, volendo usare Python con NumPy, il codice per risolvere il sistema sarebbe:

import numpy as np

# Definizione della matrice dei coefficienti
G = np.array([
    [0.3, -0.2, 0, 0],
    [-0.2, 1.325, -0.125, -1],
    [0, -0.125, 0.5, -0.125],
    [0, -1, -0.125, 1.625]
])

# Definizione del vettore dei termini noti
i = np.array([3, -3, 0, 6])

# Risoluzione del sistema di equazioni
v = np.linalg.solve(G, i)
print(v)

otterremo un output simile a questo:

[13.89662028  5.84493042  3.34791252  7.54671968]

Oppure, se preferiamo usare MATLAB o Octave, il codice sarebbe:

% Definizione della matrice dei coefficienti
G = [0.3, -0.2, 0, 0;
     -0.2, 1.325, -0.125, -1;
     0, -0.125, 0.5, -0.125;
     0, -1, -0.125, 1.625];
% Definizione del vettore dei termini noti
i = [3; -3; 0; 6];
% Risoluzione del sistema di equazioni
v = G \ i;
disp(v);
   13.8966
    5.8449
    3.3479
    7.5467

Quindi le tensioni nodali v_1, v_2, v_3 e v_4 sono:

\begin{bmatrix} v_1 \\ v_2 \\ v_3 \\ v_4 \end{bmatrix} = \begin{bmatrix} 13.8966 \\ 5.8449 \\ 3.3479 \\ 7.5467 \end{bmatrix}