Studi IntegraliOpen SourceProjects

Supercondensatori: cenni di teoria e un’applicazione pratica Appunti di Elettronica

Il condensatore

Il condensatore rappresenta uno dei più comuni e diffusi componenti elettronici, presente in forma diretta o indiretta in qualunque circuito in cui transiti corrente: dalla piccola radio al computer, dall’orologio digitale al televisore, passando anche per grandi impianti quali generatori di potenza elettrica e centrali di smistamento.

Fig.1 – Un condensatore “classico”

Un condensatore tradizionale (nelle sue più varie forme e dimensioni) è sostanzialmente un dispositivo formato da due elettrodi separati da un materiale dielettrico isolante. Nel momento in cui una tensione viene applicata ai capi del condensatore, cariche di segno opposto si accumulano sulla superficie di ciascun elettrodo; dato che questi vengono mantenuti isolati dal dielettrico, si forma un campo elettrico in grado di “immagazzinare” energia (v. Fig. 1). Questa caratteristica di immagazzinare e successivamente restituire energia viene poi utilizzata negli schemi elettrici con molteplici funzioni: filtro risonante, blocco della corrente continua, accordatori di antenna, livellamento della tensione negli alimentatori, e così via, a seconda delle dimensioni del condensatore e delle caratteristiche del dielettrico.

In questa breve sintesi però, ci interessa rimanere concentrati sulla sua caratteristica di base: l’immagazzinamento di una certa quantità di carica elettrica. Con le tecniche tradizionali di realizzazione dei condensatori, questa quantità di carica elettrica – e quindi di energia – è però estremamente esigua.

In un condensatore convenzionale, la quantità di energia immagazzinata dipende dalla “Capacità” del condensatore. Quest’ultima è a sua volta direttamente proporzionale alla superficie A di ciascun elettrodo e inversamente proporzionale alla loro distanza e dipende dalla costante dielettrica del materiale interposto (ciascun materiale ha una costante dielettrica diversa), secondo la seguente formula:

(1)

Infine, l’energia immagazzinata dipenderà dalla capacità secondo la seguente relazione:

(2)

dove V è la tensione applicata agli elettrodi.

In sintesi, quindi, l’energia immagazzinata dipende dalla capacità del condensatore, la quale a sua volta dipende dalle caratteristiche dielettriche del mezzo isolante e dalle dimensioni fisiche del componente stesso.

L’unità di misura della capacità è detta Farad. Con i dielettrici tradizionali si riescono a realizzare condensatori dall’ordine dei picoFarad (10-9F per applicazioni in alta frequenza) fino a un massimo di pochi milliFarad (10-3F per applicazioni di filtri in continua). Pertanto, considerando uno dei condensatori tradizionali di grande capacità (2200 µF) a cui viene applicata una tensione di 12v, secondo la formula (2) potremmo al massimo ottenere l’immagazzinamento di un’energia pari a 0,158 joule.

Il supercondensatore

Tornando alla formula (1), notiamo subito che il valore di capacità dipende fondamentalmente (oltre che dalla costante dielettrica del mezzo interposta tra gli elettrodi) dalle dimensioni delle armature e dalla loro distanza. Capacità maggiori si hanno per distanze molto piccole e superfici più ampie.

Fig.2 – Schematizzazione di un supercondensatore. Notare come lo strato poroso sulle armature ne incrementi l’are complessiva. La lamina permeabile nel mezzo (dimensioni molecolari) diminuisce la distanza tra gli elettrodi.

Un supercondensatore si distingue da un condensatore tradizionale per due caratteristiche essenziali: le sue piastre hanno effettivamente un’area più estesa e la distanza tra loro è molto minore, in quanto l’isolante interposto funziona in modo diverso rispetto a un dielettrico convenzionale.

Gli elettrodi sono realizzati in metallo rivestito con una sostanza porosa come la polvere di carbone attivo, la quale offre effettivamente un’area più ampia per la conservazione della carica. Metaforicamente, le armature porose del supercondensatore agiscono come una sorta di “spugne elettriche”. Per quanto concerne invece l’isolante tra gli elettrodi, nel caso del supercondensatore non c’è un dielettrico come nei componenti tradizionali: entrambe le armature sono immerse in un elettrolita e separate da un sottilissimo strato isolante (in genere carbonio). Quando viene applicata una tensione agli elettrodi, cariche di segno opposto si formano su entrambi i lati del sottile isolante, creando ciò che viene indicato come doppio strato elettrico dello spessore di una molecola (lo spessore del dielettrico in un condensatore tradizionale varia da pochi micron a un millimetro o più, quindi la distanza è maggiore e la capacità diminuisce) v. Fig.2.

Per questa caratteristica i supercondensatori sono spesso denominato condensatori a doppio stratoo EDLC (Electric Double Layer Capacitor).

Fig. 3 – In alto, un condensatore tradizionale da 2200µF. In basso un supercondensatore da 10 Farad. Il supercondensatore ha una capacità 4500 volte maggiore del condensatore tradizionale, nonostante le minori dimensioni.

In sintesi, la capacità di un condensatore aumenta all’aumentare dell’area delle piastre e al diminuire della distanza tra loro. I supercondensatori raggiungono la loro elevata capacità (seppur mantenendo dimensioni ridotte e comparabili con i condensatori tradizionali – v. Fig.3) da una combinazione di elettrodi con una superficie maggiore (grazie alla polvere di carbone attivo porosa) e di una minore distanza tra loro (grande efficienza del doppio strato).

I primi supercondensatori sono stati realizzati alla fine degli anni ’50 utilizzando carbone attivo come piastre, seppure le dimensioni finali del componente non rendessero il componente compatibile con un’utilizzazione generale. Da allora, i progressi nella scienza dei materiali hanno portato allo sviluppo di piastre molto più efficienti realizzate con materiali quali nanotubi di carbonio (minuscole barre di carbonio costruite usando le nanotecnologie), grafene, aerogel e titanato di bario.

Una semplice applicazione

Esigenza

Il Raspberry è un micro-computer su singola piastra molto diffuso e utilizzato per applicazioni di controllo automatico o integrato (embedded) in progetti più ampi in qualità di gestore di processo.

Trattandosi di un computer, non è possibile semplicemente “staccare la spina” per spegnerlo, ma occorre eseguire prima un regolare shutdown del sistema operativo. Questa esigenza rappresenta spesso un problema, soprattutto quando il Raspberry si trova – ad esempio -nelle seguenti situazioni:

  • non raggiungibile dalla rete;
  • integrato in sistemi più ampi;
  • improvvisa interruzione della fornitura elettrica di rete;
  • guasto dell’alimentatore;
  • accidentale distacco della spina elettrica;

In tutti questi casi, l’interruzione dell’alimentazione al Raspberry ne causa l’immediato spegnimento senza l’esecuzione della procedura di shutdown, rischiando la compromissione del sistema operativo e quindi della sua totale funzionalità.

L’applicazione dei supercondensatori risolve questo problema, in quanto la carica immagazzinata nei super-componenti può essere tale da consentire al Raspberry il tempo necessario per eseguire lo shutdown e quindi spegnersi in sicurezza.

L’idea è quindi quella di creare un “buffer” di 5v tramite supercondensatori e di attivare lo shutdown nel momento in cui viene rivelata l’assenza della tensione di alimentazione. In questo modo non sarà più necessario intervenire manualmente per lanciare lo shutdown, ma sarà sufficiente staccare la spina (o attuare un interruttore) per garantire uno spegnimento in sicurezza.

 

Circuito elettrico

Schema elettrico – clicca per ingrandire

Lo schema elettrico è mostrato in figura. L’alimentazione viene applicata al terminale di sinistra e il diodo Schottky impedisce eventuali ritorni di corrente verso l’alimentatore. Le due resistenze di potenza da 1.2Ω 5W in parallelo, limitano la corrente di carica dei supercondensatori, a protezione dell’alimentatore. In assenza di queste resistenze, il picco di corrente richiesto dai due supercondensatori scarichi sarebbe quasi certamente in grado di danneggiare l’alimentatore. Il diodo di potenza deve necessariamente essere di tipo Schottky al fine di  inserire una caduta di tensione minima in serie alla barra 5V.

I due supercondensatori sono connessi in serie per garantire una tensione massima di 5.4 volts ai loro capi (ogni supercondensatore è da 10F, 2.7V) e le due resistenze in parallelo alle capacità bilanciano le correnti di carica e garantiscono una lenta scarica quando il Raspberry viene spento.

Le due resistenze da 1KΩ in parallelo all’ingresso, dividono a metà i 5V dell’alimentatore per prelevare il segnale necessario di rilevamento mancata alimentazione (connesso al GPIO 7 del Raspberry).

A differenza delle moderne celle al litio, i supercondensatori garantiscono un numero pressoché infinito di cicli di carica e scarica, senza perdere alcuna caratteristica.

Attenzione: i supercondensatori hanno un ESR (Equivalent Series Resistor) molto basso, che può portare a correnti di corto-circuito superiori a 80-100A! Non cortocircuitare gli elettrodi dei condensatori una volta carichi, altrimenti si rischiano fusioni o scintille molto ampie.

Codice di programma

Il circuito appena descritto sarà quindi in grado di mantenere il Raspberry alimentato e funzionante per il tempo necessario all’esecuzione di un regolare shutdown. L’avvio del processo di spegnimento verrà rilevato da un programma in esecuzione sul Raspberry il quale dovrà monitorare lo stato del GPIO 7, cui è connesso il livello di alimentazione. Quando viene staccata l’alimentazione, il pin GPIO 7 transita a livello basso e innesca lo shutdown.

Il codice è il seguente:

#!/usr/bin/env python

import RPi.GPIO as GPIO
import subprocess

GPIO.setmode(GPIO.BCM) # use GPIO numbering
GPIO.setwarnings(False)

INT = 7    # pin 26 monitors Power Supply

# use a weak pull_up to create a high
GPIO.setup(INT, GPIO.IN, pull_up_down=GPIO.PUD_UP)

def main():
    while True:
        # set an interrupt on a falling edge and wait for it to happen
       GPIO.wait_for_edge(INT, GPIO.FALLING)
        # check the pin level again
        if GPIO.input(INT) == 0:
            # still low, shutdown Pi
           subprocess.call(['poweroff'], shell=True, \
               stdout=subprocess.PIPE, stderr=subprocess.PIPE)

if __name__ == '__main__':
    main()

Il programma va salvato in /usr/local/bin/<nome-programma>.py e configurata l’esecuzione all’avvio del Raspberry. Da prove effettuate, le capacità dei due supercondensatori si sono rivelate sufficienti per garantire il tempo di shutdown al Raspberry. Qualora fosse necessario un tempo maggiore, sarà sufficiente introdurre altri due supercondensatori in parallelo agli esistenti, oppure sostituirli con due di capacità maggiore.

Durante l’avvio, occorrerà attendere qualche secondo affinché il livello di carica sia sufficiente ad alimentare il Raspberry, ma questo inconveniente minore è certamente ripagato dalla possibilità di spegnere completamente il dispositivo e di proteggerlo da eventuali interruzioni inaspettate di energia.

(Clicca sulle immagini per ingrandire)

3 pensieri riguardo “Supercondensatori: cenni di teoria e un’applicazione pratica

  • Ciao grazie per l’articolo, molto ben fatto!
    Vorrei sapere se sei a conoscenza di qualcuno che ha realizzato un PCB plug- in per il raspi.
    L’ideale sarebbe un plug-in che protegga dalla mancanza di rete elettrica e incorporiamo anche un RTC.

    La mia applicazione è un registratore automatico collegato a un sistema PA. Conosci qualcuno che ha realizzato una cosa del genere?

    Rispondi
    • Fabio Marzocca

      No, non conosco nessuno che abbia realizzato commercialmente un PCB plug-in per Raspberry, ma effettivamente non ne vedo la necessità. Il box con i condensatori è molto piccolo, mentre un’inter piastra PCB sarebbe di inutile ingombro. In ogni caso, volendo realizzarla, è sufficiente procurarsi il pettine dei connettori (si trova facilmente) e saldarlo su una piastra millefori su cui porre poi i componenti.

      Rispondi
  • Grazie 1000 per l’articolo, sarebbe intreressante capire anche i calcoli fatti per trovare i valori delle resistenze ed i rispettivi limiti di potenza, e le correnti in gioco, specie per i niubbi come me 😀

    Rispondi

Rispondi a Fabio Marzocca Annulla risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.