IPSIA “R. FRAU” LABORATORIO DI FISICA CON ARDUINO Classe … · 2020. 1. 24. · IPSIA “R....

3
IPSIA “R. FRAU” A.S. 2019/2020 LABORATORIO DI FISICA CON ARDUINO Prof. Lorenzo Morresi Classe 2EMT-MAT San Ginesio Titolo progetto CARICA E SCARICA DI UN CONDENSATORE Scheda progetto n_17 Descrizione Utilizziamo Arduino per misurare la carica e la scarica di un condensatore elettrolitico. I dati ottenuti sono graficati mediante excel e quindi permettono di ricavare la costante di tempo tipica del circuito. Materiale necessario 1 ARDUINO UNO board 1 resistenza - 220 1 resistenza - 1000 1 resistenza - 10000 1 condensatore elettrolitico - 470 F 1 condensatore elettrolitico - 1000 F Sketch /*SELEZIONIAMO UNA DELLE PORTE ANALOGICHE (Analog In Pins (0-5)) PER LA MISURA DELLA TENSIONE AI CAPI DEL CONDENSATORE (IN QUESTO CASO LA 0)*/ #define analogPin 0 /*SELEZIONIAMO UNA DELLE PORTE DIGITALI (Digital I/O Pins 2-13) PER LA CARICA DEL CONDENSATORE (IN QUESTO CASO LA 2)*/ #define chargePin 2 int i; // indice del numero di misure int Nmis = 101; // numero di misure che si vogliono effettuare per la carica e per la scarica int Ntot = 202; // numero di misure complessive carica più scarica int deltaT = 200; // intervallo di tempo in ms tra due misure successive, in questo caso 200 ms int b=1; //variabile intera utilizzata per mettere in standby Arduino void setup() { pinMode(chargePin, OUTPUT); //Imposta la porta digitale in uscita digitalWrite(chargePin, LOW); //Imposta la porta digitale a 0 Volt, per scaricare il condensatore Serial.begin(9600); //Impostiamo la velocità di trasmissione dati a 9600 baud } void loop() { double t[Ntot]; // vettore dei tempi in cui si effettuano le misure double Vout[Ntot]; // vettore dei valori di tensione misurati //INFORMAZIONI VARIE SULLO STATO DELLA MISURA Serial.println("STO ASPETTANDO 15 S PER FAR SCARICARE COMPLETAMENTE IL CONDENSATORE"); delay(15000); //tempo di attesa in ms per essere certi di aver scaricato completamente il condensatore Serial.println("INIZIO IL PROCESSO DI CARICA E LA MISURA"); digitalWrite(chargePin, HIGH); // Si imposta la porta digitale a 5 Volt, per la carica del condensatore for(i=0;i<Nmis;i++) { Vout[i] = analogRead(analogPin)*5.0/1023.0; //lettura del valore di tensione e conversione da canali a Volt t[i] = millis( ); // istante in cui viene fatta la misura da quando è iniziato lo sketch in millisecondi delay(deltaT); // Aspetto deltaT ms prima della prossima misura } digitalWrite(chargePin, LOW); // Si imposta la porta digitale a 0 Volt, per scaricare il condensatore for(i= Nmis;i< Ntot;i++)

Transcript of IPSIA “R. FRAU” LABORATORIO DI FISICA CON ARDUINO Classe … · 2020. 1. 24. · IPSIA “R....

  • IPSIA “R. FRAU”

    A.S. 2019/2020

    LABORATORIO DI FISICA CON ARDUINO Prof. Lorenzo Morresi

    Classe 2EMT-MAT San Ginesio

    Titolo progetto CARICA E SCARICA DI UN CONDENSATORE

    Scheda progetto n_17

    Descrizione Utilizziamo Arduino per misurare la carica e la scarica di un condensatore elettrolitico. I dati ottenuti sono graficati mediante excel e quindi permettono di

    ricavare la costante di tempo tipica del circuito.

    Materiale necessario

    1 ARDUINO UNO board

    1 resistenza - 220

    1 resistenza - 1000

    1 resistenza - 10000

    1 condensatore elettrolitico - 470 F

    1 condensatore elettrolitico - 1000 F

    Sketch /*SELEZIONIAMO UNA DELLE PORTE ANALOGICHE (Analog In Pins (0-5)) PER LA MISURA DELLA TENSIONE AI CAPI DEL CONDENSATORE (IN QUESTO CASO LA 0)*/ #define analogPin 0 /*SELEZIONIAMO UNA DELLE PORTE DIGITALI (Digital I/O Pins 2-13) PER LA CARICA DEL CONDENSATORE (IN QUESTO CASO LA 2)*/ #define chargePin 2 int i; // indice del numero di misure int Nmis = 101; // numero di misure che si vogliono effettuare per la carica e per la scarica int Ntot = 202; // numero di misure complessive carica più scarica int deltaT = 200; // intervallo di tempo in ms tra due misure successive, in questo caso 200 ms int b=1; //variabile intera utilizzata per mettere in standby Arduino void setup() { pinMode(chargePin, OUTPUT); //Imposta la porta digitale in uscita digitalWrite(chargePin, LOW); //Imposta la porta digitale a 0 Volt, per scaricare il condensatore Serial.begin(9600); //Impostiamo la velocità di trasmissione dati a 9600 baud } void loop() { double t[Ntot]; // vettore dei tempi in cui si effettuano le misure double Vout[Ntot]; // vettore dei valori di tensione misurati //INFORMAZIONI VARIE SULLO STATO DELLA MISURA Serial.println("STO ASPETTANDO 15 S PER FAR SCARICARE COMPLETAMENTE IL CONDENSATORE"); delay(15000); //tempo di attesa in ms per essere certi di aver scaricato completamente il condensatore Serial.println("INIZIO IL PROCESSO DI CARICA E LA MISURA"); digitalWrite(chargePin, HIGH); // Si imposta la porta digitale a 5 Volt, per la carica del condensatore for(i=0;i

  • { Vout[i] = analogRead(analogPin)*5.0/1023.0; //lettura del valore di tensione e conversione da canali a Volt t[i] = millis( ); // istante in cui viene fatta la misura da quando è iniziato lo sketch in millisecondi delay(deltaT); // Aspetto deltaT ms prima della prossima misura } for(i=0;i< Ntot;i++) { Serial.print((t[i]-t[0])/1000, 3);//scrive il valore dell'istante in cui è stata fatta la misura in secondi con 3 decimali Serial.print(";"); Serial.println(Vout[i], 4); //scrive il valore della differenza di potenziale con 4 decimali } Serial.println("HO FINITO DI STAMPARE LE MISURE"); while(b=1) {} //Mettiamo l’Arduino in standby, in modo che non esca dal ciclo loop e ricominci la misura }

    Schema dei collegament

    i

    NOTA PER LO STUDENTE: realizza la configurazione circuitale rispettanto l’ordine e le posizioni di tutti i collegamenti. ATTENZIONE, stai usando un condensatore elettrolitico (C) quindi è molto importante non invertire il verso dei suoi collegamenti!!!!

    All’inizio usa il condensatore da 470 F e la resistenza dal 1000

    PRIMA DI ALIMENTARE IL CIRCUITO CHIAMA IL DOCENTE PER LA VERIFICA!!!

    SEGUI ESATTAMEN

    TE QUESTI PASSAGGI

    1) Apri l’IDE di Arduino presente sul desktop del tuo portatile. 2) Copia il codice che trovi nella sezione “Skecth” sul foglio di lavoro dell’IDE. 3) Realizza il circuito riportato nella sezione “schema dei collegamenti”. 4) Collega Arduino al portatile mediante il cavo USB. 5) Carica lo skecth in Arduino. 6) Apri il monitor seriale e leggi i dati che si ottengono dalla misura. 7) Copia i dati che hai ottenuto ed incollali sul foglio excel che ti ha fornito il

    docente. I dati della prima misura vanno inseriti nel primo foglio di lavoro.

    R

    C

    - +

  • 8) Realizza il grafico dei dati che hai ottenuto; Ricorda le curve di carica e scarica di un condensatore hanno questo andamento.

    9) Sostituisci il condensatore e/o la resistenza e poi ripeti la misura. 10) Copia e incolla i dati ottenuti sul foglio Excel nel secondo foglio di lavoro. 11) Sostituisci il condensatore e/o la resistenza e poi ripeti la misura. 12) Copia e incolla i dati ottenuti sul foglio Excel nel terzo foglio di lavoro. 13) Riporta nella sezione “COMMENTI AI RISULTATI OTTENUTI” del foglio excel le tue

    valutazioni e conclusioni sulle misure fatte.

    Nome e Cognome

    VOTO: