Strumenti Utente

Strumenti Sito


lab2go_arduino:fisica:esperienze_con_arduino:costante_planck

LAB2GO Scienza

Misura della costante di Planck

La costante di Plank

La costante di Planck, detta anche quanto di azione, è una costante fisica che rappresenta l'azione minima possibile, o elementare. Ha valore $$h=6,62607015×10^{-34} Js$$
L'origine di tale costante si deve allo studio del corpo nero, un sistema in grado di assorbire totalmente la radiazione che lo colpisce senza rifletterla; oltre ad assorbire radiazione, può però emetterla a qualsia lunghezza d'onda. Alla fine dell'Ottocento, i fisici si accorsero che la teoria classica non era in grado di spiegare l'andamento spettro di emissione del corpo nero. La soluzione a tale problema fu fornita da Planck ipotizzando che l'energia $E$ trasportata da un'onda elettromagnetica di frequenza $\nu$ può assumere solo valori discreti dati da $$E=nh\nu$$ dove $n$ è un numero naturale. Oltre a essere una costante fondamentale della meccanica quantistica, è stata anche utilizzata per la nuova definizione del kilogrammo.

Strumenti

Strumenti necessari Descrizione
Breadboard Uno strumento utilizzato per collegare dispositivi elettrici/elettronici senza necessità di saldature
Scheda Arduino Scheda elettronica programmabile
LED di vari colori Dispositivi che emettono una luce quando viene attraversato da una corrente elettrica
Condensatore $C=22mF$ Un dispositivo capace di accumulare e liberare energia elettrica
Cavi Dupont Conduttori elettrici
$R_{1}=220 \Omega , R_{2}=100 \Omega$ Dispositivi che producono una resistenza

Realizzazione del circuito e acquisizione dati

Per prima cosa, dobbiamo costruire il circuito, costituito da una scheda Arduino, 2 resistori (rispettivamente da $220 \Omega$ e $100 \Omega$), un condensatore da $22 mF$ e un LED colorato come in figura 1;

Figure 1: Schema di collegamento.

Successivamente, dobbiamo collegare la scheda Arduino, tramite la porta USB, a un PC ed eseguire il seguente programma:

con il quale si carica il condensatore:

    Serial.println("CARICA");
    pinMode (chargePin, OUTPUT );
    digitalWrite (chargePin, HIGH );   // start charging the capacitor 
    sensor0Value = analogRead (analogCAP);   
    currentTime = (micros () - startTime) / 1E6;  // time in seconds
    while (sensor0Value < 1021) {       
      Serial.println (sensor0Value); 
      delay(1000);
      sensor0Value = analogRead (analogCAP);   

dopodichè, quando il condensatore è carico, si effettua uno switch automatico col quale il condensatore alimenta il LED. La tensione ai capi del LED e la corrente circolante viene misurata dal programma stesso e stampata su terminale.

    Serial.println("SCARICA");
    Serial.println("tempo (s)     tensione (V)   corrente (mA)");
    Serial.println("-------------------------------------------");
    pinMode (dischargePin, OUTPUT );
    digitalWrite (dischargePin, LOW );   // start discharging the capacitor 
    sensor0Value = analogRead (analogCAP);
    sensor1Value = analogRead (analogLED);
    sensor2Value = analogRead (analogSNK);
    startTime = micros ();    // begin experiment
    currentTime = micros ();  // time in seconds
    insertValue(sensor0Value);
    while (!isFinal()) {
      Serial.print ((currentTime - startTime)/1E6, 3);    // print elapsed time 
      Serial.print ( "\t\t" );
      Serial.print (5*(sensor1Value-sensor2Value)/1023.0, 3); // print LED voltage (V)
      //Serial.print (5*sensor0Value/1023.0, 3); // print condenser voltage (V)
      //Serial.print (5*sensor2Value/1023.0, 3);  // debug: print sink voltage (V)
      Serial.print ( "\t\t" );
      Serial.println ((5.0/resistance)*(sensor0Value-sensor1Value)/1.023, 3); // print current (mA)
      if (dataInterval<finalInterval) {
        dataInterval = round(slopeRef/(sensor0Value-sensor1Value))*1000;
        if (dataInterval>finalInterval)
          dataInterval = finalInterval;

Quando il condensatore è scarico, salvare i dati su un file e ripetere il procedimento per i LEDs di altri colori; al termine dell'acquisizione dei dati, analizzare i dati con tramite un software di analisi come, ad esempio, “gnuplot” (http://www.gnuplot.info/).

Analisi dati

Innanzitutto dobbiamo effettuare il grafico della curva caratteristica (tensione-corrente) dei LED, interpolando la parte lineare, descritta dalla legge $$i\left(V\right)=k \cdot V+q$$

tramite l'equazione di una retta $y=kx+q$. Con gnuplot, si può ad esempio utilizzare la seguente macro:

che effettua il fit lineare

f(x)=k*x+q
...
fit[2.586:] f(x) 'C:/data_blu.txt' via k,q

Dai risultati del fit è possibile calcolare la tensione di gap, di ogni LED, $$V_{g}=\frac{-q}{k}$$ che corrisponde allo zero di funzione. I valori di $V_{g}$ così trovati sono riportati un un grafico in funzione di $\lambda^{-1}$, dove lambda è la lunghezza d'onda del LED. La dipendenza di $V_{g}$ da $\lambda^{-1}$ è descritta dalla legge $$V_{g}=\frac{h \cdot c}{e \cdot \lambda}$$ dove $c=299792458 m/s$ è la velocità della luce, $e=1,602×10^{-19}C$ la carica elettrica elementare. Per calcolare la costante di Planck, si deve effettuare il fit a tali dati con una retta passante per l'origine $$y=kx$$, ad esempio con gnuplot si può utilizzre la seguente macro * Macro .gp Clicca qui per scaricare;

  • Stampa della macro .pdf Clicca qui per scaricare;

che effettua tale fit

f(x)=k*x
...
fit f(x) 'C:/data.txt' using 1:2:3 yerror via k

infine, dal valore del coefficiente angolare ottenuto dal fit, si calcola la costante di Planck come $$h=\frac{ke}{c}$$

Figure 2: Esperienza

Sitografia

Schede didattiche

Schede didattiche Descrizione
Liceo Scientifico “L. Trafelli” di Nettuno 2020-21 Scheda di laboratorio
lab2go_arduino/fisica/esperienze_con_arduino/costante_planck.txt · Ultima modifica: 2021/06/06 05:42 da fausto.casaburo