upadate to theory in thesis and removing old raspi stuff, now in pitstop

This commit is contained in:
2018-06-21 18:45:02 +02:00
parent fa9665b897
commit 31acd35b88
102 changed files with 193 additions and 20856 deletions
+14
View File
@@ -45,6 +45,20 @@
\subsubsection{48V Input}
\begin{figure}[h]
\centering
\includegraphics[width=\textwidth]{../pitstop/20180619/i48.pdf}
\caption{Calibration of input current adcs 19.06.2018}
\label{}
\end{figure}
\begin{figure}[h]
\centering
\hspace*{-.16\columnwidth}
\includegraphics[width=1.3\columnwidth]{../pitstop/20180620/i48.pdf}
\caption{Calibration of input current adcs 20.06.2018}
\label{}
\end{figure}
\subsubsection{9.6V Output}
\subsubsection{1.8V Output}
+20 -6
View File
@@ -8,7 +8,7 @@
The hardware used in this thesis is a PowerIt board, developed in the electronic visions group\footnote{
%TODO
}. It functions as power supply inside of the Waferscale System\footnote{
}. It functions as power supply inside of the WaferScale System\footnote{
%TODO
} (fig. \ref{wss}).
\begin{figure}[h]
@@ -17,17 +17,31 @@ The hardware used in this thesis is a PowerIt board, developed in the electronic
\caption{WSS}
\label{wss}
\end{figure}
In which it is providing the Wafer with 1.8V and the FPGAs with 9.6V. Its maximum rated Pwerdraw is 2kW.
In which it is providing the Wafer with 1.8V and the FPGAs with 9.6V. Its maximum rated power draw is 2kW.
<containing intro to system and board>
%TODO: mv to theory <contains circuits to all measureing adcs, and description of the measureing process>
\newpage
\section{Goals}
<containing the Goals defined beforehand>
\begin{itemize}
\item Upgrade the PowerIt Firmware to contain the ability for calibration of all on board measurements, voltage and current.
\subsection{Firmware}
This requires the Firmware to handle calibration changes on the fly, also without assuming the degree of polynomials used (only that they are all of the same degree)
\item Provide a communication interface for changing those parameters on runtime.
\subsection{Calibration}
Assuming v2 of the communication Protocol (PItCOMM) we require access to all coefficients as writable objects, defining the degree of polynomial needs to be set here, resulting in setting the polynomial degrees at compile time.
\item Provide access to more parameters used within the PowerIt while unifying the protocol used.
\subsection{Regulation}
Collect all writable, readable and static parameters in a single interface using PItCOMM v2, creating a mapping for reference to those values.
\item Calibrate the onboard measurement circuits, using a database containing uniquely mappable values.
Characterizing the circuits, providing a default for fallback and a Database file, readable by the BrainScaleS Monitoring System and the Person calibrating each Board.
\item Provide a manual for calibrating additional PowerIt Boards.
This should contain all commands to be run on each device which is part of the calibration process, as well as instructions for writing new values to the database.
\item Using the calibrated measurements provide a regulation mechanism for stable 1.8V output at its endpoint.
The connection between PowerIt and HICANNs can be seen as a non trivial Resistor, which requires the 1.8V output to regulate based on experimental data.
\end{itemize}
+54
View File
@@ -12,4 +12,58 @@
\subsection{How to calibrate a PowerIt Board}
The Calibration process is based on the PItSTOP Python scripts\footnote{
%TODO: insert repo, and link to docs
\href{https://acereca.ddns.net:11443/acereca/pitstop}{PItSTOP Repo}
}.
These are split into \verb|server| and \verb|aggregator|. While the Server is handling the translation between raw I$^2$C data, and the JSON formatted result, the Aggregator takes this JSON and calculates a calibration.
Using the script any one of the following Values can be tested and calibrated:
\begin{itemize}
\item Input Voltage (\verb|pitstop.Aggregator.test_v_48()|)
\item Input Current (\verb|pitstop.Aggregator.test_i_48()|)
\item 9.6V Output Voltage (\verb|pitstop.Aggregator.test_v_10()|)
\item 1.8V Output Voltage (\verb|pitstop.Aggregator.test_v_18()|)
\item 1.8V Output Current (\verb|pitstop.Aggregator.test_i_18()|)
\end{itemize}
\subsubsection{Setting up the Test Environment}
The simplest way to setup your environment consists of cloning the PItSTOP Project onto your Client:
\begin{minted}{bash}
$ git clone https://url.to.pitstop
\end{minted}
then substituting the \verb|rsync| targeti:
\begin{minted}{makefile}
# makefile
all:
rsync --progress ./*.py /remote.url/
\end{minted}
, to be your server (should be a RaspberyyPi connected to the PowerIt)
\subsubsection{Running a Test}
Runnig the test requires the following commands
\\
Serverside:
\begin{minted}{bash}
$ python server.py
\end{minted}
Clientside:
\begin{minted}{bash}
$ python aggregator.py
\end{minted}
Now just following the instructions given, the selected test can be run:
\begin{minted}{text}
Setting up calibration test for {}
Please be sure to:
- connect the {} to the RaspberryPi running server.py.
- connect the PowerIt to the RaspberyyPi as described in the documentation
- and be sure to connect the {} to the {} Terminal.
Continue (y/N): y
What is the Name given to the connected PowerIt? [Bxx]: B05
\end{minted}
\section{Regulation}
+56 -1
View File
@@ -1,8 +1,63 @@
%! TEX root = ../thesis.tex
\chapter{Theory}
<containing the thoeretical evaluation of the Problem and excludes possible procedures used in the experimantal setup>
<containing the theoretical evaluation of the Problem and excludes possible procedures used in the experimental setup>
\section{Hardware Component Behavior}
Before starting any experimental data acquisition, some theory needs to be discussed.
Mainly the conceptual behavior of the onboard measurement circuitry.
\subsection{48V Input Voltage}
\begin{figure}[h]
\centering
\includegraphics[width=.9\textwidth]{./tikz/mon48v.pdf}
\caption{Circuit for measuring the 48V input Voltage, consisting of input potential, two resistors as voltage divider, one differential operational amplifier (Diff Op Amp), one operational Amplifier, output voltage as well as the connection to the STM32-Chips input pin}
\label{mon48v}
\end{figure}
The circuits for measuring input Voltage and current are the most complex, because for Voltage measurement the circuit needs to
\begin{enumerate}
\item divide our input voltage into a usable potential range
\item decouple the input from our signal potential
\item operate within the Chips possible Voltage range of 0-3.3V
\end{enumerate}
The already implemented Cicuit can be seen in figure \ref{mon48v}. It consists of a 1:240 Voltage Divider, a differential operational amplifier taking in the ~200mV (nominal), and amplifying it by a factor of 8 ($r_\text{diffOpAmp}$). It is decoupling the input and output voltages, so our 48V and 3.3V circuit parts are electricly insulated. The remaining operational amplifier provides futher amplification by a factor of 1.1 ($r_\text{OpAmp}$)
This circuit results in the following equation:
\begin{equation}
V_\text{48V in}\cdot\frac{R_1}{R_1+R_2} \cdot r_\text{diffOpAmp} \cdot r_\text{OpAmp} = V_\text{48V pin}
\end{equation}
and the expected behavior, as seen in \ref{beh48v}
\begin{figure}[h]
\centering
\includegraphics[width=1.3\textwidth]{./data/theory/v48.pdf}
\caption{Expected behavior of our 48V measurement circuit}
\label{beh48v}
\end{figure}
\subsection{48V Input Current}
\begin{figure}[h]
\centering
\includegraphics[width=.9\textwidth]{./tikz/mon48i.pdf}
\caption{Circuit for measuring the 48V input Current, consisting of the powerit Input Circuit, one shunt-resistor, one diff Op Amp, one Op Amp, output potential, as well as the connection to the STM32-Chip input pin}
\label{mon48i}
\end{figure}
In case of the current measurement circuit we require the following:
\begin{enumerate}
\item use a shunt resistor, with minimal heat dissipation
\item still providing a good resolution also within the Chips Specifications
\end{enumerate}
\subsection{9.6V Output Voltage}
\subsection{1.8V Output Voltage}
\subsection{1.8V Output Current}
\section{ADC Calibration}
\section{1.8V Output Regulation}
%\section{Firmware Requirements}