Basi · 20 min di lettura

Leggi di Kirchhoff: nodi e maglie con esercizi svolti

Leggi di Kirchhoff spiegate: legge dei nodi (LKC) e delle maglie (LKT), convenzione dei segni, 3 esercizi svolti passo passo, verifica con Arduino e multimetro.

Le leggi di Kirchhoff sono le due regole fondamentali che descrivono come si ripartiscono correnti e tensioni in un circuito elettrico. La legge di Kirchhoff delle correnti (LKC), o legge dei nodi, dice: la somma delle correnti che entrano in un nodo è uguale alla somma delle correnti che ne escono. La legge di Kirchhoff delle tensioni (LKT), o legge delle maglie, dice: se percorri per intero una maglia chiusa, la somma algebrica delle tensioni che incontri è zero. Il fisico tedesco Gustav Kirchhoff pubblicò queste due regole nel 1845, quando era ancora studente; oggi tutta l'analisi dei circuiti, da un singolo LED alla scheda madre del tuo telefono, si basa su queste due frasi.

La legge di Ohm dà la relazione tra tensione, corrente e resistenza di un singolo componente; le leggi di Kirchhoff tengono conto di come questi componenti sono collegati tra loro. Usandole insieme puoi risolvere con carta e penna circuiti con più rami e perfino con più alimentatori. In questo articolo trovi i concetti di nodo e maglia, la convenzione dei segni che crea più confusione, tre circuiti risolti passo passo, un esperimento che verifica le leggi misurando con Arduino, ESP32 e Raspberry Pi Pico, il controllo con il multimetro e gli errori più frequenti degli studenti.

Resistenze usate nei circuiti risolti con le leggi di Kirchhoff
Il modo più semplice per vedere le leggi di Kirchhoff all'opera è un circuito fatto di resistenze: corrente e tensione di ogni resistenza si ricavano da due regole semplici.

Cosa sono le leggi di Kirchhoff? Nodo, ramo e maglia

Prima di applicare le leggi di Kirchhoff bisogna saper leggere il circuito, e per farlo bastano quattro concetti. Un nodo è un punto in cui si uniscono tre o più componenti; tutti i terminali inseriti nella stessa fila della breadboard formano un unico nodo, perché un filo ideale si considera privo di resistenza. Un ramo è il percorso tra due nodi attraversato da una sola corrente; può contenere uno o più componenti in serie. Una maglia è un percorso chiuso che parte da un nodo, segue dei rami e torna allo stesso nodo. Le maglie più piccole, che non ne contengono altre al loro interno, si chiamano maglie elementari. Se fai fatica a leggere gli schemi, dai prima un'occhiata a come leggere uno schema elettrico.

ConcettoDefinizioneEsempio in un circuito con Arduino
NodoPunto in cui si uniscono tre o più componentiIl punto centrale in cui si uniscono le due resistenze di un partitore di tensione e il carico (nodo A dell'esempio 2)
RamoPercorso tra due nodi attraversato da una sola correnteIl tratto formato da un pin digitale, una resistenza da 220 Ω e un LED
MagliaPercorso chiuso che torna al nodo di partenza5V → resistenza → LED → GND → 5V
Maglia elementareLa maglia più piccola, senza altre maglie al suo internoL'anello tra due rami di LED collegati in parallelo
Nodo di riferimentoIl punto a 0 V rispetto a cui misuriamo le tensioniIl pin GND di Arduino

Legge dei nodi (LKC): la corrente che entra in un nodo è uguale a quella che esce

La legge dei nodi si scrive ΣI entranti = ΣI uscenti. Puoi scriverla anche come ΣI = 0 contando come positive le correnti entranti e come negative quelle uscenti. Alla base c'è la conservazione della carica: gli elettroni non possono accumularsi in un nodo né comparire dal nulla, quindi tutta la carica che entra in un punto deve uscirne nello stesso istante. Pensa all'acqua nei tubi: se un tubo che porta 30 litri al minuto si divide in due e in un ramo passano 10 litri, nell'altro ne passano esattamente 20. In elettricità è lo stesso: se una corrente di 30 mA si divide in due rami e uno assorbe 10 mA, l'altro assorbe 20 mA.

Facciamo pratica con un esempio. In un nodo entrano I1 = 50 mA e I2 = 20 mA ed esce I3 = 15 mA; cerchiamo la corrente I4 in un quarto filo e supponiamo che anch'essa esca. Per la LKC, 50 + 20 = 15 + I4, quindi I4 = 55 mA. Se avessi supposto che I4 entri nel nodo, l'equazione sarebbe stata 50 + 20 + I4 = 15 e avresti ottenuto I4 = −55 mA. Il segno meno non è un errore; indica solo che la corrente scorre nel verso opposto a quello che hai supposto. Nei progetti con Arduino incontri questa legge ogni giorno: la corrente totale che esce dal pin 5V della scheda è la somma delle correnti di tutti i sensori, LED e moduli collegati a quella linea. Il calcolo che fai per scegliere un alimentatore è, in realtà, un calcolo di LKC.

Legge delle maglie (LKT): in una maglia chiusa la somma è zero

La legge delle maglie si scrive ΣV = 0: percorrendo una maglia chiusa, la somma degli aumenti di tensione dati dai generatori è uguale alla somma delle cadute di tensione su resistenze e altri componenti. Deriva dalla conservazione dell'energia. Pensa a un'escursione in montagna: se sali su una collina e torni al punto di partenza per altri sentieri, la tua variazione totale di quota è zero. In un circuito il generatore porta le cariche a una certa "quota" e resistenze e LED la consumano passo dopo passo; quando torni al punto di partenza, il conto si chiude a zero.

La LKT ha due conseguenze importanti. La prima: le tensioni dei componenti in serie si sommano fino a dare la tensione del generatore; se tre resistenze in serie con una pila da 9 V hanno ai capi 2 V, 3 V e 4 V, la somma è esattamente 9 V. La seconda: tutti i rami collegati in parallelo tra gli stessi due nodi hanno la stessa tensione, perché due rami così formano insieme una maglia e la tensione che cade su uno deve essere uguale a quella che cade sull'altro. Tutte le regole di resistenze in serie e in parallelo sono in realtà casi particolari di queste due leggi.

Convenzione dei segni: scegliere i versi e il più o il meno

La maggior parte degli errori con le leggi di Kirchhoff nasce dai segni. La regola è semplice, ma va applicata con coerenza. Per prima cosa scegli un verso della corrente per ogni ramo e segnalo con una freccia sullo schema; non devi indovinare il verso giusto. Poi scegli un verso di percorrenza per ogni maglia (di solito orario) e, mentre la percorri in quel verso, scrivi la tensione di ogni componente che incontri secondo la tabella seguente. La convenzione che usiamo in questo articolo è: gli aumenti di tensione sono positivi, le cadute negative.

ComponenteVerso di percorrenzaCosa scrivi nell'equazione della maglia
ResistenzaStesso verso della corrente supposta−I × R (la tensione cala)
ResistenzaContro la corrente supposta+I × R (la tensione sale)
Generatore di tensione (pila, alimentatore)Da − a ++V
Generatore di tensione (pila, alimentatore)Da + a −−V
LED o diodo (in conduzione)Dall'anodo al catodo−Vf (caduta quasi costante)
Se alla fine una corrente risulta negativa, non risolvere di nuovo il circuito: quella corrente scorre semplicemente nel verso opposto alla freccia. Continua a usare il valore così com'è, con il suo segno meno, nelle altre equazioni. C'è una sola regola: non cambiare mai il verso di percorrenza o la convenzione dei segni a metà di una maglia.

Come applicare le leggi di Kirchhoff con la legge di Ohm, passo passo

  1. Disegna il circuito; dai una lettera ai nodi (A, B…), un nome a resistenze e generatori e scegli GND come nodo di riferimento.
  2. Definisci una corrente per ogni ramo (I1, I2, I3…) e indica il suo verso con una freccia.
  3. Se i nodi sono n, scrivi l'equazione dei nodi per n − 1 di essi, a scelta.
  4. Se i rami sono b, scrivi l'equazione delle maglie per b − n + 1 maglie indipendenti (di solito le maglie elementari).
  5. Scrivi le tensioni sulle resistenze come I × R con la legge di Ohm; così le sole incognite rimaste sono le correnti.
  6. Risolvi il sistema per sostituzione o per riduzione; se lavori in kΩ e mA, i risultati escono direttamente in volt.
  7. Verifica: controlla che la LKT valga in una maglia che non hai usato e che la potenza erogata dai generatori sia uguale a quella dissipata dalle resistenze.

Perché proprio questo numero di equazioni? Ogni corrente di ramo è un'incognita, quindi le incognite sono b. Se scrivi la LKC per tutti gli n nodi, l'ultima equazione si ricava dalle altre, perciò solo n − 1 danno informazioni nuove. Le b − (n − 1) equazioni mancanti le fornisce la LKT. I metodi dei potenziali di nodo e delle correnti di maglia che studierai a lezione sono applicazioni ordinate di queste due leggi: nel primo scrivi la LKC in funzione delle tensioni di nodo, nel secondo la LKT in funzione delle correnti di maglia. Il calcolatore della legge di Ohm e lo strumento per resistenze in serie e parallelo velocizzano i conti.

Esempio 1: circuito in serie con LED e resistenza

Quando un pin digitale di Arduino è HIGH, fornisce 5 V. A quel pin colleghiamo una resistenza da 220 Ω e, all'altro capo della resistenza, un LED rosso con il catodo verso GND. Il circuito ha un solo ramo e una sola maglia, quindi basta un'equazione della LKT. Prendiamo la tensione diretta del LED rosso pari a Vf ≈ 2,0 V. Partendo da GND e girando nel verso della corrente: il pin dà +5 V, la resistenza −220 × I, il LED −2,0 V. L'equazione è 5 − 220 × I − 2,0 = 0, da cui I = 3,0 / 220 = 13,6 mA. Sulla resistenza cadono 3,0 V e sul LED 2,0 V; insieme danno i 5 V del generatore.

ComponenteTensioneCorrentePotenza
Pin di Arduino (generatore)+5,0 V13,6 mAEroga 68,2 mW
Resistenza da 220 Ω−3,0 V13,6 mADissipa 40,9 mW
LED rosso−2,0 V13,6 mADissipa 27,3 mW
Totale (LKT e bilancio delle potenze)0 V—68,2 = 40,9 + 27,3 mW

In un circuito reale il risultato è un po' diverso. La tensione di uscita di un pin di Arduino Uno cala un po' quando eroga corrente; in questo circuito scende a circa 4,7–4,8 V e la corrente si ferma intorno a 12,5 mA; anche la tensione diretta del LED cambia in base a colore e corrente. Il metodo però resta lo stesso: si imposta l'equazione di Kirchhoff e si scrive la tensione della resistenza con la legge di Ohm. In Cos'è un LED? spieghiamo perché un LED non ha una resistenza fissa e va trattato come una caduta di tensione quasi costante. Con il calcolatore della resistenza per LED trovi in pochi secondi il valore giusto per ogni colore.

Esempio 2: partitore di tensione e rami in parallelo

Ora un circuito un po' più realistico: l'alimentazione da 5 V passa prima per R1 = 1 kΩ e arriva al nodo A. Dal nodo A partono due rami: uno scende a GND attraverso R2 = 2,2 kΩ, l'altro attraverso R3 = 3,3 kΩ. È un partitore di tensione con un carico collegato sulla resistenza inferiore. L'unica tensione di nodo incognita è VA. Scriviamo la LKC nel nodo A: la corrente che arriva da R1 è uguale alla somma di quelle che vanno verso R2 e R3. Esprimendo le correnti in funzione della tensione con la legge di Ohm (in kΩ e mA) si ottiene (5 − VA) / 1 = VA / 2,2 + VA / 3,3. Il membro di destra vale VA × 0,7576, l'equazione diventa 5 = VA × 1,7576 e si trova VA ≈ 2,845 V.

GrandezzaCalcoloRisultato
I1 (in R1)(5 − 2,845) / 1 kΩ2,155 mA
I2 (in R2)2,845 / 2,2 kΩ1,293 mA
I3 (in R3)2,845 / 3,3 kΩ0,862 mA
Verifica LKCI2 + I32,155 mA = I1
Bilancio delle potenze5 V × 2,155 mA10,78 mW = 4,64 + 3,68 + 2,45 mW

Ora verifichiamo con la LKT. Nella maglia sinistra formata da generatore, R1 e R2 (5 V → R1 → R2 → GND) risulta 5 − 2,155 − 2,845 = 0. Nella maglia destra formata da R2 e R3, le due resistenze hanno la stessa tensione (2,845 V) e la differenza è zero; ecco perché i rami in parallelo hanno la stessa tensione. Puoi arrivare allo stesso risultato con la resistenza equivalente: R2 ∥ R3 = 1,32 kΩ, il totale è 2,32 kΩ e 5 / 2,32 = 2,155 mA. La lezione pratica di questo esempio: prima di collegare R3 l'uscita del partitore vale 5 × 2,2 / 3,2 ≈ 3,44 V; collegando il carico scende a 2,845 V. La formula del partitore di tensione è corretta solo se dall'uscita non si preleva corrente; con un carico devi rifare il calcolo con la LKC. Per un controllo veloce puoi usare il calcolatore del partitore di tensione.

Esempio 3: circuito con due generatori e corrente negativa

La vera forza delle leggi di Kirchhoff emerge nei circuiti che non si possono risolvere riducendo serie e paralleli. A sinistra un generatore da V1 = 9 V è collegato al nodo comune A tramite R1 = 1 kΩ; a destra un generatore da V2 = 5 V è collegato allo stesso nodo tramite R2 = 1 kΩ; dal nodo A una resistenza di carico da R3 = 2 kΩ scende a GND. I poli negativi di entrambi i generatori sono a GND. Supponiamo le correnti così: I1 e I2 vanno dai generatori verso A, I3 va da A verso GND. Con due nodi (A e GND) e tre rami scriveremo 1 equazione LKC e 2 equazioni LKT (in kΩ e mA):

  • LKC (nodo A): I1 + I2 = I3
  • LKT (maglia sinistra): 9 − 1 × I1 − 2 × I3 = 0
  • LKT (maglia destra): 5 − 1 × I2 − 2 × I3 = 0

Sostituendo I3 con I1 + I2, la maglia sinistra diventa 3 × I1 + 2 × I2 = 9 e quella destra 2 × I1 + 3 × I2 = 5. Moltiplica la prima equazione per 3 e la seconda per 2, sottraile e ottieni 5 × I1 = 17, cioè I1 = 3,4 mA. Sostituendo si trovano I2 = −0,6 mA e I3 = 2,8 mA. Il segno negativo di I2 mostra che la corrente non va dal generatore da 5 V verso A, ma da A verso il polo positivo del generatore da 5 V: il generatore da 9 V alimenta il carico e in più spinge 0,6 mA dentro quello da 5 V. Verifichiamo con il bilancio delle potenze: V1 eroga 9 × 3,4 = 30,6 mW; R1 dissipa 11,56 mW, R2 0,36 mW e R3 15,68 mW, mentre V2 assorbe 5 × 0,6 = 3 mW. Il totale è di nuovo 30,6 mW, quindi la soluzione è corretta. Anche la maglia esterna, che non abbiamo usato, torna: 9 − 3,4 − 0,6 − 5 = 0.

Questo esempio contiene un avvertimento importante per la pratica: se colleghi direttamente due alimentatori con tensioni diverse, quello a tensione più alta spinge corrente in quello più basso. Se la pila, la porta USB o il regolatore non sono progettati per questa corrente inversa, si scaldano; una pila non ricaricabile può perdere liquido e la porta USB del computer può danneggiarsi. Su Arduino Uno, un circuito con comparatore e MOSFET lo impedisce quando USB e VIN sono collegati contemporaneamente; se nel tuo circuito devi unire due alimentazioni, metti un diodo tra di esse. Trovi i dettagli in come alimentare Arduino.

Verificare le leggi di Kirchhoff misurando con Arduino

Per vedere la teoria in un esperimento, uniamo un partitore di tensione e un LED nello stesso circuito. Dal pin 5V passa per R1 = 330 Ω fino al punto A. Dal punto A partono due rami: uno va a GND attraverso R2 = 2,2 kΩ, l'altro passa per R3 = 220 Ω fino al punto B e da lì all'anodo di un LED rosso; il catodo del LED va a GND. La scheda leggerà le tensioni dei punti A e B con gli ingressi analogici, calcolerà la corrente di ogni resistenza con la legge di Ohm e mostrerà se la LKC vale nel nodo A. Prima una previsione: trattando il LED come una caduta costante di 1,9 V e scrivendo la LKC nel nodo A, l'equazione (5 − VA) / 330 = VA / 2200 + (VA − 1,9) / 220 dà VA ≈ 2,96 V, I1 ≈ 6,2 mA, I2 ≈ 1,35 mA e I3 ≈ 4,8 mA.

Punto del circuitoArduino UnoESP32Raspberry Pi Pico
Alimentazione (capo superiore di R1)5V3V33V3(OUT), pin 36
Punto A (giunzione di R1, R2, R3)A0GPIO 34GP26 (ADC0)
Punto B (R3 e anodo del LED)A1GPIO 35GP27 (ADC1)
Capo inferiore di R2 e catodo del LEDGNDGNDGND
Gli ingressi analogici di ESP32 e Raspberry Pi Pico sopportano al massimo 3,3 V. Su queste schede non alimentare mai il circuito dal pin 5V o VIN: collega il capo superiore di R1 al pin 3V3. Su Arduino Uno il pin 5V è sicuro, perché i suoi ingressi analogici misurano fino a 5 V.
C++ (Arduino IDE)
1// Kirchhoff yasalarını ölçerek doğrulama / Verifying Kirchhoff's laws by measurement
2// Besleme -> R1 (330) -> A ; A -> R2 (2.2k) -> GND ; A -> R3 (220) -> B -> LED -> GND
3// Supply -> R1 (330) -> A ; A -> R2 (2.2k) -> GND ; A -> R3 (220) -> B -> LED -> GND
4
5#if defined(ARDUINO_ARCH_ESP32)
6const float VCC = 3.30;          // 3V3 pininde ölçtüğün gerilim / voltage you measured on 3V3
7const int PIN_A = 34;            // ADC1, yalnız giriş / ADC1, input only
8const int PIN_B = 35;
9float readVolts(int pin) {
10  return analogReadMilliVolts(pin) / 1000.0;   // kalibre edilmiş okuma / calibrated reading
11}
12#else
13const float VCC = 5.00;          // 5V pininde ölçtüğün gerilim / voltage you measured on 5V
14const int PIN_A = A0;
15const int PIN_B = A1;
16float readVolts(int pin) {
17  return analogRead(pin) * VCC / 1023.0;       // 10 bit ADC, referans 5V / 5V reference
18}
19#endif
20
21const float R1 = 330.0;          // ohm
22const float R2 = 2200.0;
23const float R3 = 220.0;
24
25float averageVolts(int pin) {    // 16 okumanın ortalaması / average of 16 readings
26  float sum = 0;
27  for (int i = 0; i < 16; i++) {
28    sum += readVolts(pin);
29  }
30  return sum / 16.0;
31}
32
33void setup() {
34  Serial.begin(115200);
35}
36
37void loop() {
38  float vA = averageVolts(PIN_A);
39  float vB = averageVolts(PIN_B);
40
41  float vR1 = VCC - vA;          // R1 gerilimi / voltage across R1
42  float vR2 = vA;                // R2 gerilimi / voltage across R2
43  float vR3 = vA - vB;           // R3 gerilimi / voltage across R3
44  float vLed = vB;               // LED gerilimi / voltage across the LED
45
46  float i1 = vR1 / R1 * 1000.0;  // Ohm kanunu, mA / Ohm's law, mA
47  float i2 = vR2 / R2 * 1000.0;
48  float i3 = vR3 / R3 * 1000.0;
49
50  // KAY: A düğümüne giren = çıkan / KCL: into node A = out of node A
51  Serial.print(F("I1 = "));
52  Serial.print(i1, 2);
53  Serial.print(F(" mA   I2 + I3 = "));
54  Serial.print(i2 + i3, 2);
55  Serial.print(F(" mA   fark / error = "));
56  Serial.print(i1 - i2 - i3, 3);
57  Serial.println(F(" mA"));
58
59  // KGY: dış çevre / KVL: outer loop
60  Serial.print(F("VR1 + VR3 + VLED = "));
61  Serial.print(vR1, 2);
62  Serial.print(F(" + "));
63  Serial.print(vR3, 2);
64  Serial.print(F(" + "));
65  Serial.print(vLed, 2);
66  Serial.print(F(" = "));
67  Serial.print(vR1 + vR3 + vLed, 2);
68  Serial.print(F(" V   kaynak / supply = "));
69  Serial.print(VCC, 2);
70  Serial.println(F(" V"));
71
72  // KGY: paralel kollar aynı gerilimde / KVL: parallel branches share one voltage
73  Serial.print(F("VR2 = "));
74  Serial.print(vR2, 2);
75  Serial.print(F(" V   VR3 + VLED = "));
76  Serial.print(vR3 + vLed, 2);
77  Serial.println(F(" V"));
78  Serial.println();
79  delay(2000);
80}

Il codice legge ogni punto 16 volte e fa la media, attenuando le piccole oscillazioni dell'ADC. Su Arduino Uno analogRead() restituisce un numero da 0 a 1023 e il suo riferimento è la linea 5V, quindi un passo vale circa 4,9 mV. Nella parte per ESP32 la funzione analogReadMilliVolts() restituisce il valore calibrato direttamente in millivolt; GPIO 34 e 35 sono pin di solo ingresso dell'unità ADC1, che funziona anche con il Wi-Fi acceso. Grazie alla riga #if lo stesso codice si compila su entrambe le schede. Con il monitor seriale a 115200 baud, su Uno vedrai una riga simile a "I1 = 6.17 mA I2 + I3 = 6.17 mA". Lo scarto della LKC è vicino a zero ma non esattamente zero; di solito resta sotto 0,3 mA e dipende dalla tolleranza dell'1–5 % delle resistenze e dall'ampiezza del passo dell'ADC. Su ESP32 a 3,3 V, I1 vale circa 3,1 mA e il LED è meno luminoso.

Le somme di tensioni nel codice risultano sempre esattamente uguali all'alimentazione, e il motivo è interessante: Arduino misura solo tensioni di nodo (rispetto a GND) e le tensioni sui componenti le calcoliamo come differenze di queste misure. Sommando le differenze lungo una maglia si ottiene automaticamente l'alimentazione. La legge davvero messa alla prova in questo esperimento è quindi la LKC; il controllo indipendente della LKT si fa con un multimetro che misura ogni componente separatamente. Inserisci inoltre nella costante VCC il valore reale che hai misurato con il multimetro sul pin 5V; su un Uno alimentato via USB di solito è tra 4,7 e 5,1 V.

Lo stesso esperimento con Raspberry Pi Pico (MicroPython)

Sul Pico alimenta il circuito dal pin 3V3(OUT); collega il punto A a GP26 e il punto B a GP27. L'ADC del Pico restituisce con read_u16() un valore da 0 a 65535 e il suo riferimento è di circa 3,3 V, quindi moltiplicando il valore grezzo per 3,3 e dividendo per 65535 ottieni la tensione. A 3,3 V resta meno tensione per le resistenze e le correnti sono più piccole: considerando il LED a 1,8 V, aspettati VA ≈ 2,26 V, I1 ≈ 3,1 mA, I2 ≈ 1,0 mA e I3 ≈ 2,1 mA. Se non hai ancora configurato il Pico, segui i passaggi con Thonny in Cos'è il Raspberry Pi Pico?.

MicroPython
1from machine import ADC, Pin
2import time
3
4VCC = 3.3                          # 3V3(OUT) pininde ölçtüğün gerilim / voltage you measured on 3V3(OUT)
5R1, R2, R3 = 330, 2200, 220        # ohm
6adc_a = ADC(Pin(26))               # GP26 = ADC0, A noktası / node A
7adc_b = ADC(Pin(27))               # GP27 = ADC1, B noktası / node B
8
9def volts(adc):
10    total = 0
11    for _ in range(16):            # 16 okumanın ortalaması / average of 16 readings
12        total += adc.read_u16()
13    return total / 16 * VCC / 65535
14
15while True:
16    v_a = volts(adc_a)
17    v_b = volts(adc_b)
18    i1 = (VCC - v_a) / R1 * 1000   # Ohm kanunu, mA / Ohm's law, mA
19    i2 = v_a / R2 * 1000
20    i3 = (v_a - v_b) / R3 * 1000
21    # KAY: A düğümüne giren = çıkan / KCL: into node A = out of node A
22    print("I1 = {:.2f} mA  I2 + I3 = {:.2f} mA  fark / error = {:.3f} mA".format(i1, i2 + i3, i1 - i2 - i3))
23    print("VR1 = {:.2f} V  VR2 = {:.2f} V  VR3 = {:.2f} V  VLED = {:.2f} V".format(VCC - v_a, v_a, v_a - v_b, v_b))
24    time.sleep(2)

Verifica sperimentale con il multimetro

Multimetro digitale per verificare le leggi di Kirchhoff
Multimetro digitale: la tensione si misura in parallelo ai capi di un componente, la corrente aprendo il circuito e collegando lo strumento in serie.

Con un multimetro puoi vedere le leggi di Kirchhoff misurando direttamente, senza scrivere codice. Per la LKT porta il selettore su tensione continua (DCV); misura prima la tensione del generatore e poi, una alla volta, quella di ogni componente della maglia. Se metti sempre il puntale rosso sul capo che viene prima nel tuo verso di percorrenza e il nero su quello successivo, anche i segni risultano corretti da soli. Per la LKC devi aprire il circuito: inserisci il puntale rosso nella boccola mA, scollega in un punto il ramo da misurare e collega il multimetro in serie nell'interruzione. Un modo più pratico è misurare la tensione su una resistenza e dividerla per il suo valore per ottenere la corrente; così non apri mai il circuito. Portate e fusibile sono spiegati in dettaglio in come usare il multimetro.

MisuraDove vanno i puntaliAtteso (a 5,00 V)
Generatore5V e GND5,00 V
V_R15V e punto A≈ 2,04 V
V_R2Punto A e GND≈ 2,96 V
V_R3Punti A e B≈ 1,06 V
V_LEDPunto B e GND≈ 1,90 V
Verifica LKTV_R1 + V_R3 + V_LED2,04 + 1,06 + 1,90 = 5,00 V
Verifica LKC (portata mA)I1 e I2 + I3≈ 6,18 mA = 1,35 + 4,83 mA

Non aspettarti che le misure coincidano esattamente con il calcolo: differenze del 2–5 % sono normali. I motivi sono quattro: la tolleranza delle resistenze (5 % con la fascia oro, 1 % con quella marrone), la precisione del multimetro stesso (sui modelli economici circa 0,5 % più qualche digit in tensione continua), la resistenza interna dello strumento sulla portata mA (da pochi ohm a 10 Ω; essendo in serie al ramo, riduce un po' la corrente) e la variazione della tensione diretta del LED con la temperatura. Sulla portata in tensione la resistenza d'ingresso del multimetro è di solito 10 MΩ, quindi il suo effetto su circuiti da qualche kΩ è trascurabile. Se lo scarto supera il 10 %, forse hai letto male il valore di una resistenza, c'è un collegamento allentato o hai confuso delle file della breadboard; controlla con lo schema dei collegamenti interni in cos'è una breadboard?.

Con il multimetro su una portata di corrente (boccola mA o 10A) non appoggiare mai i puntali in parallelo a un componente o ai due poli di un generatore. Su questa portata lo strumento è quasi un cortocircuito: il fusibile salta e, se manca, possono danneggiarsi sia il multimetro sia il generatore. Finita la misura di corrente, rimetti sempre il puntale rosso nella boccola V.

A cosa servono le leggi di Kirchhoff? Idee per progetti

  • Bilancio dei consumi: somma la corrente di ogni modulo del tuo progetto (LKC) e verifica che l'alimentatore o la batteria possano fornirla; per stimare l'autonomia usa il calcolatore di durata della batteria.
  • Voltmetro con Arduino: costruisci un partitore che misuri da 0 a 25 V e tieni conto con la LKC del carico dell'ingresso analogico; i passaggi sono in costruire un voltmetro con Arduino.
  • Pannello con tanti LED: dai a ogni LED la sua resistenza, calcola la corrente totale e controlla che resti entro i limiti del pin e del regolatore.
  • Luxmetro con LDR: una LDR e una resistenza fissa formano un partitore; dalla tensione misurata risali alla resistenza della LDR con la LKT (sensore di luce LDR).
  • Ponte di Wheatstone: in un ponte di quattro resistenze la tensione tra i due punti centrali è zero quando R1 / R2 = R3 / R4; le celle di carico funzionano con questo principio (cella di carico HX711).
  • Misurare la corrente con uno shunt: metti una piccola resistenza, per esempio da 1 Ω, sulla linea del carico, misura la tensione ai suoi capi e calcola la corrente del circuito con I = V / R; per correnti più grandi è più adatto un sensore di corrente ACS712.

Errori frequenti degli studenti e come correggerli

  • Cambiare convenzione dei segni a metà maglia: scrivere una caduta come negativa e un'altra come positiva rovina l'equazione. Scegli il verso di percorrenza all'inizio e rispetta la regola della tabella.
  • Credere che una corrente negativa sia un errore: una corrente negativa scorre semplicemente nell'altro verso. Non serve risolvere di nuovo il circuito; usa il valore con il suo segno.
  • Scrivere equazioni in più o ripetute: scrivere la LKC per tutti gli n nodi non aggiunge equazioni indipendenti. Limitati a n − 1 equazioni LKC e b − n + 1 equazioni LKT, e non scrivere due volte la stessa maglia.
  • Confondere le unità: ohm per milliampere dà millivolt, non volt. Scrivi tutto in V, A e Ω oppure tutto in V, mA e kΩ.
  • Trattare un LED come una resistenza: un LED non ha una resistenza fissa; in conduzione si comporta come una caduta di tensione quasi costante (1,8–2,2 V per il rosso). Nella LKT scrivilo come −Vf.
  • Considerare ideale il generatore: i 5 V dell'USB stanno di solito tra 4,75 e 5,25 V e una pila ha una resistenza interna. Nei calcoli usa il valore misurato al posto di 5 V.
  • Dimenticare la massa comune: se i GND di due circuiti alimentati da sorgenti diverse non sono collegati, non c'è un riferimento comune tra loro e le misure non hanno senso. Trovi i dettagli in GND e massa comune.
  • Collegare l'amperometro in parallelo o il voltmetro in serie: la corrente si misura sempre in serie aprendo il circuito, la tensione sempre in parallelo ai capi del componente.
Le leggi di Kirchhoff valgono sempre in corrente continua e con i segnali a bassa frequenza dei progetti con Arduino. In corrente alternata valgono per i valori istantanei, ma nei circuiti con condensatori e induttori non puoi sommare semplicemente le tensioni efficaci (RMS): devi tenere conto delle fasi. A frequenze molto alte (per esempio in un'antenna Wi-Fi a 2,4 GHz) o quando un campo magnetico variabile attraversa la maglia, questa forma semplice delle leggi non basta più, ma su una breadboard non ti capiterà.

Le leggi di Kirchhoff sono solo due frasi, ma stanno dietro a tutto ciò che calcoli in elettronica: la corrente non sparisce in un nodo e le tensioni lungo una maglia sommano a zero. Insieme alla legge di Ohm ti permettono di risolvere passo passo qualsiasi domanda, dalle resistenze per LED ai partitori con carico, fino ai circuiti con due generatori e al bilancio dei consumi. Se vuoi provare ciò che hai imparato su un circuito vero, dai un'occhiata nell'app BlueGrays ai progetti per accendere LED, misurare la luce con una LDR e costruire un voltmetro digitale con display LCD; ognuno spiega passo passo schema e codice, e con il multimetro accanto potrai confrontare le tue misure con i calcoli di questo articolo.

Domande frequenti

Cosa dice la legge dei nodi di Kirchhoff?

La legge di Kirchhoff delle correnti (LKC), o legge dei nodi, dice che la somma delle correnti che entrano in un nodo è uguale alla somma di quelle che ne escono. Si basa sulla conservazione della carica: la carica non può accumularsi né sparire in un punto. Per esempio, se una corrente di 30 mA si divide in due rami e uno assorbe 10 mA, l'altro assorbe 20 mA.

Cosa dice la legge delle maglie di Kirchhoff?

La legge di Kirchhoff delle tensioni (LKT), o legge delle maglie, dice che la somma algebrica delle tensioni lungo qualsiasi maglia chiusa è zero. In altre parole, la tensione fornita dal generatore è uguale alla somma delle cadute di tensione sui componenti di quella maglia. In un circuito a 5 V, se sulla resistenza cadono 3 V, al LED restano 2 V.

Che differenza c'è tra le leggi di Kirchhoff e la legge di Ohm?

La legge di Ohm (V = I × R) lega tensione, corrente e resistenza di una singola resistenza. Le leggi di Kirchhoff descrivono come sono collegati i componenti: come si dividono le correnti nei nodi e come si sommano le tensioni nelle maglie. Per risolvere un circuito si usano entrambe: si impostano le equazioni di Kirchhoff e si scrivono le tensioni sulle resistenze con la legge di Ohm.

Cosa significa una corrente negativa nelle leggi di Kirchhoff?

Una corrente negativa non significa che la soluzione sia sbagliata, ma che la corrente scorre nel verso opposto a quello supposto all'inizio. Il valore assoluto è corretto; basta invertire la freccia sullo schema. Puoi continuare a usare il valore con il suo segno negli altri calcoli senza risolvere di nuovo il circuito.

Quante equazioni servono con le leggi di Kirchhoff?

Se un circuito ha b rami e n nodi, le correnti incognite sono b. Scrivi la legge dei nodi per n − 1 nodi e la legge delle maglie per b − n + 1 maglie indipendenti, così il numero di equazioni è uguale a quello delle incognite. Per esempio, un circuito con 3 rami e 2 nodi richiede 1 equazione LKC e 2 equazioni LKT.

Le leggi di Kirchhoff valgono in corrente alternata?

Sì, valgono sempre per i valori istantanei. Nei circuiti in alternata con condensatori e induttori, però, non si possono sommare semplicemente le tensioni efficaci (RMS): bisogna sommarle tenendo conto delle fasi, con i fasori o i numeri complessi. A frequenze molto alte e su linee di trasmissione lunghe, la forma semplice delle leggi lascia il posto ai modelli a onde.

Vedi tutti i progetti
Due LED lampeggianti alternati
#2Principiante

Due LED lampeggianti alternati

Due LED lampeggiano veloci a turno: quando uno si accende l'altro si spegne, come se si passassero una palla. L'Arduino tiene accesa ogni luce per un quinto di secondo e poi passa all'altra. Dopo il s

4.6(105)
343
LED lampeggiante
#1Principiante

LED lampeggiante

Il primissimo ciao dell'elettronica: accendere e spegnere un solo LED. L'Arduino accende e spegne il LED a intervalli brevissimi, così la luce lampeggia veloce. Vedi nel modo più semplice come la sche

4.6(188)
1127
Misurare l'intensità luminosa con LDR
#11Principiante

Misurare l'intensità luminosa con LDR

Vuoi vedere quanto è luminosa la tua stanza sotto forma di numero? L'LDR, un piccolo componente sensibile alla luce, misura la luce ambiente e l'Arduino scrive il valore sullo schermo del computer ogn

4.6(81)
139
Luce notturna con LDR
#12Principiante

Luce notturna con LDR

Una piccola luce notturna che si accende da sola quando fa buio e si spegne quando arriva il mattino. Un sensore di luce misura quanto è illuminata la stanza, e l'Arduino accende il LED quando è abbas

4.8(102)
205
Lettura dell'intensità luminosa con il modulo LDR ESP32
#113Principiante

Lettura dell'intensità luminosa con il modulo LDR ESP32

Monitoraggio in tempo reale sul Serial Monitor del valore grezzo dell'ADC del modulo LDR e della percentuale relativa di luce calcolata dai valori di riferimento al buio e alla luce. Questa percentuale non è una misurazione in lux. Spiega il principio di calibrazione del modulo. È consigliabile eseguirlo prima del Progetto 10, poiché serve a determinare il valore di soglia.

4.6(36)
55
Accensione di un LED esterno con Raspberry Pi Pico (breadboard)
#148Principiante

Accensione di un LED esterno con Raspberry Pi Pico (breadboard)

Il passo successivo dopo il LED integrato di Pico: collegare un LED esterno alla breadboard e controllarlo tramite il pin GP14. Con questo progetto imparerai come utilizzare qualsiasi pin GPIO generico del Pico come uscita, la polarità del LED (stelo lungo = anodo/+, stelo corto = catodo/–) e perché è indispensabile un resistore di limitazione della corrente (220 Ω). Se non inserisci il resistore, l’LED riceverà una corrente eccessiva e potrebbe bruciarsi. Il circuito è molto semplice: Pico GP14

4.5(2)
7
Voltmetro digitale con display LCD
#56Intermedio
Premium

Voltmetro digitale con display LCD

Scopri quanta tensione dà una pila o un alimentatore con uno strumento costruito da te. Un partitore fatto di due resistenze abbassa la tensione alta a un livello che la scheda può leggere, e l'Arduin

4.5(27)
36
Luminosità di un LED con Potenziometro su ESP32 (Analogico → PWM)
#115Intermedio
Premium

Luminosità di un LED con Potenziometro su ESP32 (Analogico → PWM)

In questo progetto controlliamo in modo analogico la luminosità di un LED tramite un potenziometro. Il pin ADC dell'ESP32 legge la tensione tra 0 e 3,3 V dal potenziometro; il valore viene convertito in un segnale PWM (Pulse Width Modulation) e inviato al LED. Ruotando il potenziometro, il LED si accende e si spegne gradualmente. Con Arduino Core 3.0+ si usa direttamente analogWrite(); su ESP32-S2/S3 la risoluzione dell'ADC è fissata a 12 bit.

4.5(19)
32