Skip to content

Commit

Permalink
Feature/report (#2)
Browse files Browse the repository at this point in the history
Add lab report

Co-authored-by: Francesco <83610036+donotlookhere@users.noreply.github.com>
  • Loading branch information
P2-718na and donotlookhere authored May 31, 2022
1 parent 56af012 commit b116864
Show file tree
Hide file tree
Showing 20 changed files with 526 additions and 33 deletions.
9 changes: 1 addition & 8 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
.idea
.code
.ipynb_checkpoints
.env

### Latex
build
Expand Down Expand Up @@ -86,9 +87,6 @@ acs-*.bib
# endnotes
*.ent

# fixme
*.lox

# feynmf/feynmp
*.mf
*.mp
Expand Down Expand Up @@ -153,8 +151,6 @@ acs-*.bib

# knitr
*-concordance.tex
# TODO Uncomment the next line if you use knitr and want to ignore its generated tikz files
# *.tikz
*-tikzDictionary

# listings
Expand Down Expand Up @@ -243,9 +239,6 @@ pythontex-files-*/
*.hst
*.ver

# easy-todo
*.lod

# xcolor
*.xcp

Expand Down
1 change: 1 addition & 0 deletions Pipfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
[scripts]
"build:report" = "sh ./scripts/build:report.sh"
"build:graphs" = "sh ./scripts/build:graphs.sh"
"watch:report" = "nodemon -e tex --watch ./docs/report --exec ./scripts/build:report.sh"

[packages]
jupyter = "*"
Expand Down
Binary file added assets/circuit-diagram.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/graphs/brewsters-angle.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/graphs/r-pi-coefficient.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/graphs/r-sigma-coefficient.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/graphs/raw-pi.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/graphs/raw-sigma.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/instrumental-apparatus.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
### Building
Setup environment variables for private data by creating a .env file in the appropriate
directory.
on repo root directory, run:
```bash
pipenv run build:report
Expand Down
2 changes: 2 additions & 0 deletions docs/report/.env.template
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
MAT1=0000000000
MAT2=0000000000
33 changes: 33 additions & 0 deletions docs/report/fresnelReportRefs.bib
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
@book{mazzoldi98,
title = {Fisica Vol. II Elettromagnetismo Onde},
author = {P. Mazzoldi, M. Nigro, C. Voci},
year = {1998},
edition = {2nd},
}

@book{lipson20,
title = {Optics Experiments and Demonstrations for Student Laboratories: Principles, methods and applications},
author = {Stephen G. Lipson},
publisher = {IOP Publishing},
isbn = {0750322985,9780750322980},
year = {2020},
series = {IOP Series in Emerging Technologies in Optics and Photonics},
}

@book{taylor99,
title = {Introduzione all'Analisi degli Errori},
author = {J.R.Taylor},
publisher = {Zanichelli},
isbn = {2742772812; 9782742772810},
}

@misc{main,
title = {Arduino Voltage Reference},
howpublished = {\url{https://www.best-microcontroller-projects.com/arduino-voltage-reference.html#Calibrating_the_Arduino_Voltage_Reference}},
author = {John Main}
}

@misc{atmega,
title = {ATmega328P Datasheet},
howpublished = {\url{https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf}}
}
66 changes: 43 additions & 23 deletions docs/report/report.tex
Original file line number Diff line number Diff line change
@@ -1,14 +1,26 @@
\documentclass[12pt, a4paper, twoside]{article}
\documentclass[11pt, a4paper, twoside]{article}

\usepackage{fontspec}
\usepackage{blindtext}
\usepackage{geometry}
\usepackage{setspace}
\usepackage{titlesec}
\usepackage{indentfirst}
\usepackage{graphicx}
\usepackage[italian]{babel}
\usepackage{catchfile} % used in \getenv command
\usepackage{multicol}
\usepackage{amsmath}
\usepackage{subcaption}
\usepackage[hang, flushmargin, multiple, bottom]{footmisc}
\usepackage{float}
\usepackage{array}
\usepackage{booktabs}
\usepackage{url}

% FIXME swap to calibri on windows? no license for linux
\setmainfont{Carlito}
\raggedbottom

%\setmainfont{Carlito}
\titlespacing*{\section}{0px}{3mm}{1mm}
\titlespacing*{\subsection}{0px}{3mm}{1mm}
\geometry{
Expand All @@ -18,44 +30,52 @@
bottom=2cm
}
\setlength{\parindent}{10mm}
\graphicspath{ {./assets}, {../../assets} }

% Allow use of command \getenv{VARNAME}.
% Taken from: https://tex.stackexchange.com/questions/62010/can-i-access-system-environment-variables-from-latex-for-instance-home
\newcommand{\getenv}[2][]{
\CatchFileEdef{\temp}{"|kpsewhich --var-value #2"}{\endlinechar=-1}%
\if\relax\detokenize{#1}\relax\temp\else\let#1\temp\fi}

% Roman numerals
\newcommand{\rom}[1]{\uppercase\expandafter{\romannumeral #1\relax}}

\begin{document}


\begin{center}
\huge Titolo \\
\large Francesco Platini mat. Matteo Bonacini mat.\\
Data
\huge Misura dell'angolo di Brewster di un prisma mediante le formule di Fresnel \\
\large Francesco Platini \getenv{MAT1}. Matteo Bonacini \getenv{MAT2}.\\ % see readme on how to use this
\today
\end{center}

% Title spacing

\section{Abstract}\label{sec:abstract}
\blindtext[1]
\begin{abstract}\label{sec:abstract}
\input{./docs/report/sections/01-sommario.tex}
\end{abstract}

\section{Introduzione}\label{sec:introduzione}
\blindtext[2]
\input{./docs/report/sections/02-introduzione}

\section{Apparato sperimentale e svolgimento}\label{sec:apparato-sperimentale-e-svolgimento}
\subsection{Apparato sperimentale}\label{subsec:apparato-sperimentale}
\blindtext[1]
\subsection{Svolgimento}\label{subsec:svolgimento}
\blindtext[1]
\input{./docs/report/sections/03-apparato-e-svolgimento.tex}

\section{Risultati e discussione}\label{sec:risultati-e-discussione}
\blindtext[2]
\input{./docs/report/sections/04-risultati.tex}

\section{Conclusioni}\label{sec:conclusioni}
\blindtext[1]
\input{./docs/report/sections/05-conclusioni.tex}

\section{Appendice}\label{sec:appendice}
\input{./docs/report/sections/06-appendice.tex}

\bibliographystyle{unsrt} % We choose the "plain" reference style
\bibliography{./docs/report/fresnelReportRefs.bib} % Entries are in the fresnelReportRefs.bib file

\newpage
\section{Appendice}
\subsection{Calcolo errore 1}
\blindtext[1]
\subsection{Calcolo errore 2}
\blindtext[1]

\end{document}

%In this document somasdmeters
%were added. There is an encoding package,
%and pagesize and fontsize parameters.

11 changes: 11 additions & 0 deletions docs/report/sections/01-sommario.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
In questo esperimento abbiamo analizzato il comportamento di un fascio laser polarizzato
che colpisce la superficie di un prisma di vetro.
In particolare, abbiamo verificato che l’intensità del fascio laser riflesso segua l’andamento
previsto dalle equazioni di Fresnel e abbiamo misurato l'angolo di Brewster per il materiale del prisma.
Per la prima parte dell'esperimento, abbiamo svolto un \emph{fit} sui dati d'intensità luminosa raccolti; i valori di chi-quadro ridotto
ottenuti sono di $\tilde \chi^2_\pi = 0.71$ per la luce \pi-polarizzata e
$\tilde \chi^2_\sigma = 1.17$ per la luce \sigma-polarizzata, a cui corrispondono le probabilità $P(\tilde \chi^2 < \tilde \chi^2_\pi) = 0.10$ e $P(\tilde \chi^2 < \tilde \chi^2_\sigma) = 0.82$.
Per la seconda parte abbiamo usato due metodi diversi per trovare l'angolo di Brewster.
I risultati ottenuti $\theta_{B1} = 56.2^\circ \pm 0.1^\circ$ e $\theta_{B2} = 56.8^\circ \pm 0.2^\circ$ sono in parziale disaccordo tra di loro,
ma sono compatibili con l'intervallo di valori atteso.
\endinput
56 changes: 56 additions & 0 deletions docs/report/sections/02-introduzione.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
Quando un raggio luminoso colpisce una superficie di separazione tra due
dielettrici con indici di rifrazione diversi, si possono verificare
i fenomeni della riflessione e rifrazione.
Le equazioni di Fresnel, derivabili direttamente dalle equazioni di Maxwell,
descrivono un aspetto di questo comportamento, prevedendo quale frazione d'intensità
luminosa viene riflessa e quale rifratta. Se indichiamo con $R_\pi$ e $R_\sigma$ le
frazioni d'intensità luminosa riflessa polarizzate, rispettivamente, parallelamente
e perpendicolarmente al piano d'incidenza, si può dimostrare che valgono:
%
\begin{equation}
R_\pi = \frac {
n_2 \cos{\theta_i} - n_1 \cos{\theta_t}
} {
n_2 \cos{\theta_i} + n_1 \cos{\theta_t}
}\label{eq:fresnel-eq-p}
\end{equation}

\begin{equation}
R_\sigma = \frac {
n_1 \cos{\theta_i} - n_2 \cos{\theta_t}
} {
n_1 \cos{\theta_i} + n_2 \cos{\theta_t}
}\label{eq:fresnel-eq-s}
\end{equation}
%
\noindent dove $n_1$ e $n_2$ sono gli indici di rifrazione dei due mezzi, $\theta_i$ e
$\theta_t$ sono gli angoli d'incidenza e rifrazione\footnote{La $t$ in $\theta_t$ sta per "angolo trasmesso", come da convenzione.} del raggio luminoso.
Una dimostrazione rigorosa di come si ricavino le equazioni \eqref{eq:fresnel-eq-p} e \eqref{eq:fresnel-eq-s} non è oggetto
di questo testo;
si veda Mazzoldi\cite{mazzoldi98} per ulteriori approfondimenti.

Variando $\theta_i$ e misurando l’intensità del raggio riflesso,
ci aspettiamo di osservare l'andamento previsto dalle equazioni \eqref{eq:fresnel-eq-p} e \eqref{eq:fresnel-eq-s}, a meno di una
costante moltiplicativa.
Il valore di $\theta_t$ viene ricavato dalla legge di Snell per la rifrazione:
%
\begin{equation}
\frac {\sin{\theta_i}} {\sin{\theta_t}} = \frac {n_2} {n_1}
\label{eq:legge-snell}
\end{equation}
%
\noindent Le formule prevedono che $R_\pi$ si annulli per un certo valore di $\theta_i$,
che indicheremo con $\theta_B$.
Questo angolo prende il nome di Angolo di Brewster. Imponendo che si annulli il
numeratore nell'equazione \eqref{eq:fresnel-eq-p}, si ricava la legge di Brewster:
%
\begin{equation}
\theta_B = \arctan{
\frac {n_2} {n_1}
}\label{eq:legge-brewster}
\end{equation}
%
\noindent L’angolo di Brewster gode di alcune proprietà utili in diverse applicazioni
sperimentali.
Per approfondimenti, si consulti Mazzoldi\cite{mazzoldi98} e Lipson\cite{lipson20}.
\endinput
88 changes: 88 additions & 0 deletions docs/report/sections/03-apparato-e-svolgimento.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
\subsection{Apparato sperimentale}\label{subsec:apparato-sperimentale}
L’apparato sperimentale è riportato in Fig.\ref{fig:apparato-strumentale}.
Un prisma(\rom{5}) di vetro di indice di rifrazione $n_2$ sconosciuto, montato su un servomotore \emph{SM-S2309S}\footnote{http://descargas.cetronic.es/microservo.pdf},
è posizionato al centro di una guida circolare graduata(\rom{4}).
Un laser(\rom{1}) a luce rossa e due filtri polaroid(\rom{2}, \rom{3}) sono
allineati con il prisma. Un sensore di intensità luminosa(\rom{6}) \emph{TEMT6000}\footnote{https://www.sparkfun.com/datasheets/Sensors/Imaging/TEMT6000.pdf},
collegato ad un microcontrollore(\rom{7}) \emph{Arduino Uno (ATmega328)}\footnote{http://store.arduino.cc/products/arduino-uno-rev3}%
\footnote{Da qui in avanti, si userà il nome abbreviato \emph{Arduino} al posto di \emph{Arduino Uno} per riferirsi al microcontrollore.},
è libero di ruotare lungo la guida.
Il circuito che collega \emph{Arduino} e sensore è schematizzato in Fig.\ref{fig:diagramma-circuito}.
%
Il servomotore permette di ruotare il prisma con una risoluzione angolare di ${1.0^\circ \pm 0.5^\circ}$.
L'apparato Arduino-sensore fornisce una misura dell'intensità luminosa presente
sulla superficie del sensore nell'intervallo $I = [0, 1000]$ unità arbitrarie,
con un'incertezza sistematica massima di $0.8\%$ (si rimanda a Sez.\ref{subsec:calcolo-incertezza-strumentale}
per la dimostrazione di come è stato ottenuto questo valore).
%
\begin{figure}[h]
\centering
\begin{subfigure}{.47\textwidth}
\includegraphics[width=8cm]{instrumental-apparatus.png}
\caption{
\emph{
Apparato sperimentale. A partire da sinistra, in senso orario,
si trovano: laser(\rom{1}), filtri polaroid(\rom{2}, \rom{3}), guida circolare(\rom{4}),
prisma(\rom{5}), sensore(\rom{6}), Arduino(\rom{7}). Il servomotore non è riportato.
}
}
\label{fig:apparato-strumentale}
\end{subfigure}%
\hspace{5mm}
\begin{subfigure}{.47\textwidth}
\includegraphics[width=8cm]{circuit-diagram.png}
\caption{
\emph{
Schema circuitale. I pin $\text{VCC}$ e $\text{GND}$ del sensore sono collegati
all'alimentazione di Arduino. Il pin $\text{SIG}$
del sensore è collegato ad un input analogico di Arduino, tramite una
resistenza da $10k\Omega$.
}
}
\label{fig:diagramma-circuito}
\end{subfigure}
\caption{\emph{Apparato sperimentale e schema circuitale.}}
\end{figure}
%
\subsection{Procedura sperimentale}\label{subsec:procedura-sperimentale}
Abbiamo seguito la procedura sperimentale riportata di seguito, ripetuta due
volte: una per raccogliere i dati relativi a $R_\pi$ e una per i dati relativi
a $R_\sigma$. Questa procedura è stato adattata da quanto descritto in Lipson\cite{lipson20}.
\begin{enumerate}
\item%
Abbiamo posizionato il polaroid(\rom{3}) in modo che la polarizzazione del
fascio laser fosse parallela al lato del prisma, e abbiamo aggiustato l'angolo
del laser rispetto ad esso, in modo da evitare che il fascio
polarizzato uscente dal laser venisse bloccato.
\item%
Abbiamo posizionato il sensore e il prisma in modo da rendere
massimo l'angolo $\theta_i$, con il vincolo che
tutto il fascio laser fosse contenuto sulla superficie del prisma\footnote{Per $\theta_i \to 90^\circ$, la
proiezione del fascio laser sul prisma è un'ellisse di semiasse maggiore $a \to +\infty$. Chiaramente, non appena
$a$ supera la lunghezza del lato del prisma, le equazioni \eqref{eq:fresnel-eq-p} e \eqref{eq:fresnel-eq-s} perdono
la loro validità.}.
\item%
Ruotando il polaroid(\rom{2}), abbiamo ridotto l’intensità del fascio laser
incidente sul prisma, fino a che Arduino non ha potuto rilevare una
variazione significativa del segnale del sensore.
Questo ci ha permesso di sfruttare l'intero intervallo di operatività del convertitore analogico-digitale di Arduino.
\item%
Abbiamo acquisito l'intensità luminosa rilevata dal sensore in questo punto,
poi abbiamo ruotato il prisma in senso orario e abbiamo
allineato il sensore di conseguenza.
\item%
Abbiamo ripetuto il passo precedente fino a raggiungere un valore di $\theta_i$
il più possibile vicino a zero.
\item%
Abbiamo ruotato di $90^\circ$ il polaroid(\rom{3}) e ripetuto l'intera
procedura un'altra volta.
\end{enumerate}
%
I dati che abbiamo raccolto in questo modo \emph{non} sono
i coefficienti $R_\pi$ e $R_\sigma$, ma differiscono da essi per una costante
moltiplicativa $I_0$; questa verrà determinata tramite un \emph{fit}\footnote{Avremmo potuto misurare
questo valore direttamente, ma così facendo avremmo dovuto
abbassare ulteriormente l'intensità del fascio laser e non avremmo più potuto
sfruttare l'intero intervallo di operatività di Arduino.}, come descritto in Sez.$\ref{subsec:analisi-coefficienti}$.
\endinput

Loading

0 comments on commit b116864

Please sign in to comment.