From 9f4c11e3e3bab5da399763fbcad25889deee15ac Mon Sep 17 00:00:00 2001 From: acereca Date: Mon, 25 Jun 2018 19:52:44 +0200 Subject: [PATCH] update of local changes 20180625 --- data/theory/i48.pdf | Bin 0 -> 14544 bytes data/theory/mktheory.py | 45 ++++++++++++++++++++++++++++++++++------ data/theory/v18.pdf | Bin 0 -> 18022 bytes data/theory/v48.pdf | Bin 14519 -> 15064 bytes parts/intro.tex | 2 ++ parts/theory.tex | 41 +++++++++++++++++++++++++++++++++--- preamble.tex | 1 + tikz/gen18v.tex | 45 ++++++++++++++++++++++++++++++++++++++++ tikz/mon48i.tex | 37 +++++++++++++++++++-------------- tikz/mon48v.tex | 44 +++++++++++++++++++++------------------ 10 files changed, 171 insertions(+), 44 deletions(-) create mode 100644 data/theory/i48.pdf create mode 100644 data/theory/v18.pdf create mode 100644 tikz/gen18v.tex diff --git a/data/theory/i48.pdf b/data/theory/i48.pdf new file mode 100644 index 0000000000000000000000000000000000000000..915d0a1fc5417116cef9687f019a4c305f6a8e1b GIT binary patch literal 14544 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 literal 0 HcmV?d00001 diff --git a/data/theory/mktheory.py b/data/theory/mktheory.py index cfcd57f..98048a1 100644 --- a/data/theory/mktheory.py +++ b/data/theory/mktheory.py @@ -1,20 +1,53 @@ import matplotlib.pyplot as plt import numpy as np +plt.style.use('bmh') +plt.figure(figsize=(8, 3)) + def gen_48v_theory(): xdata = np.linspace(43, 53, 100) ydata = xdata / 241 * 8 * 1.1 - plt.style.use('bmh') - plt.figure(figsize=(8, 6)) - + plt.clf() plt.plot(ydata, xdata) - plt.xlabel('V$_{pin}$') - plt.ylabel('V$_{48V in}$') + plt.xlabel('V$_{pin}$ / V') + plt.ylabel('V$_{48V in}$ / V') + plt.tight_layout() plt.savefig('v48.pdf') +def gen_48i_theory(): + xdata = np.linspace(0, 2000/48, 100) + ydata = xdata * 500e-6 * 8 * 1.1 + + plt.clf() + plt.plot(ydata, xdata) + + plt.xlabel('V$_{pin}$ / V') + plt.ylabel('I$_{48V in}$ / A') + + plt.tight_layout() + plt.savefig('i48.pdf') + +def gen_1v8_theory(): + rpara = 1000 + rseri = 10000 + xdata = np.arange(0, 256, 4) + ydata = (xdata / 256 * 10000) + ydata = ydata * rpara / (ydata + rpara) + rseri + ydata = 30100 / (ydata + 6490) * .7 + .7 + + plt.clf() + plt.plot(xdata, ydata) + + plt.xlabel("Potentiometer Setting") + plt.ylabel("V$_{1.8V out}$") + + plt.tight_layout() + plt.savefig('v18.pdf') if __name__ == "__main__": - gen_48v_theory() \ No newline at end of file + gen_48v_theory() + gen_48i_theory() + gen_1v8_theory() \ No newline at end of file diff --git a/data/theory/v18.pdf b/data/theory/v18.pdf new file mode 100644 index 0000000000000000000000000000000000000000..83fc408f6323112a58f7066672fa9766e387dd42 GIT binary patch literal 18022 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 Sr3eMm{%DwhfQqgv?Ee7M)Mugq literal 0 HcmV?d00001 diff --git a/data/theory/v48.pdf b/data/theory/v48.pdf index e706c49136ced1c18dd5a93c1c9e78c09b729562..80264b86a9ab19003e1d125e937a2b73d3bdaa99 100644 GIT binary patch delta 3593 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 Ai~s-t diff --git a/parts/intro.tex b/parts/intro.tex index 89add6d..9b42474 100644 --- a/parts/intro.tex +++ b/parts/intro.tex @@ -29,6 +29,8 @@ The hardware used in this thesis is a PowerIt board (fig. \ref{}), developed in In which it is providing the Wafer with 1.8V and the FPGAs with 9.6V. Its maximum rated Pwerdraw is 2kW. +\cite{poweritupgrade} + %TODO: mv to theory diff --git a/parts/theory.tex b/parts/theory.tex index d24077c..de6e197 100644 --- a/parts/theory.tex +++ b/parts/theory.tex @@ -9,7 +9,7 @@ Mainly the conceptual behavior of the onboard measurement circuitry. \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} + \caption{Circuit for measuring the 48V input Voltage, consisting of input potential, two resistors as voltage divider, one full differential operational amplifier (full Diff Op Amp), one operational Amplifier, output voltage as well as the connection to the STM32-Chips input pin} \label{mon48v} \end{figure} @@ -20,7 +20,7 @@ The circuits for measuring input Voltage and current are the most complex, becau \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}$) +The already implemented Cicuit can be seen in figure \ref{mon48v}. It consists of a 1:240 Voltage Divider, a full 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: @@ -32,6 +32,7 @@ and the expected behavior, as seen in \ref{beh48v} \begin{figure}[h] \centering + \hspace*{-.16\textwidth} \includegraphics[width=1.3\textwidth]{./data/theory/v48.pdf} \caption{Expected behavior of our 48V measurement circuit} \label{beh48v} @@ -42,7 +43,7 @@ and the expected behavior, as seen in \ref{beh48v} \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} + \caption{Circuit for measuring the 48V input Current, consisting of the powerit Input Circuit, one shunt-resistor, one full diff Op Amp, one Op Amp, output potential, as well as the connection to the STM32-Chip input pin} \label{mon48i} \end{figure} @@ -52,10 +53,44 @@ In case of the current measurement circuit we require the following: \item still providing a good resolution also within the Chips Specifications \end{enumerate} +Our calculation is based on: +\begin{equation} + I_\text{48V IN}\cdot R_{shunt} \cdot r_\text{diffOpAmp} \cdot r_\text{OpAmp} = V_\text{48I pin} +\end{equation} + +so we expect: +\begin{figure}[h] + \centering + \caption{Expected behavior of our input current measurement circuit} + \hspace*{-.16\textwidth} + \includegraphics[width=1.3\textwidth]{./data/theory/i48.pdf} + \label{beh48i} +\end{figure} + \subsection{9.6V Output Voltage} \subsection{1.8V Output Voltage} +\begin{align} + R_{SET} =& 1 / \left(\frac{1}{R_{potentiometer}} + \frac{1}{R_{parallel}}\right) + R_{series}\\ + =& \frac{R_\text{potentiometer}\cdot R_\text{parallel}}{R_\text{potentiometer} + R_\text{parallel}} + R_\text{series}\\ + V_O =& \frac{30.1 k\Omega}{R_{SET} + 6.49 k\Omega} \cdot 0.7V + 0.7V +\end{align} + +\begin{figure}[h] + \centering + \includegraphics[width=.7\textwidth]{./tikz/gen18v.pdf} + \caption{Circuit for generating a changable Output Voltage} + \label{gen18v} +\end{figure} + +\begin{figure}[h] + \centering + \hspace*{-.13\textwidth} + \includegraphics[width=1.3\textwidth]{./data/theory/v18.pdf} + \caption{Expected bahavior of our output voltage by setting the potentiometer} + \label{beh1v8} +\end{figure} \subsection{1.8V Output Current} \section{ADC Calibration} diff --git a/preamble.tex b/preamble.tex index fe78a2c..98ecdc5 100644 --- a/preamble.tex +++ b/preamble.tex @@ -8,6 +8,7 @@ \usepackage[hidelinks]{hyperref} \usepackage{tcolorbox} \usepackage{enumitem,amssymb} +\usepackage{amsmath} \usepackage{graphicx} \usepackage{svg} \usepackage{pdflscape} diff --git a/tikz/gen18v.tex b/tikz/gen18v.tex new file mode 100644 index 0000000..79029e0 --- /dev/null +++ b/tikz/gen18v.tex @@ -0,0 +1,45 @@ +\documentclass[]{standalone} +\input{./tikzpreamble} + +\begin{document} +\begin{circuitikz}[scale=2] + \draw[color=black, thick] + + (1,1.5) node[draw=black, fill=white, regular polygon, regular polygon sides=4] {PTH08T250W} + + (1, 2.35) node[below] {V$_{SS}$} + (0,3) node[left] {9.6V} + to [short, o-] (1, 3) + to [short, -*] (1, 2.35) + + (1, .65) node[above] {GND} + (0,0) node[left]{GND} + to [short, o-] (1,0) + to [short,-*] (1, .65) + + + (1.85, 1.7) node[left] {R$_S$} + (1.85, 2) + to [short, *-] (2.4, 2) + to [short, *-] (2.4, 3) + to [pR, l={R$_\text{pot}$}] (4.5, 3) + to [short, -*] (4.5, 2) + + (2.4, 2) + to [R={R$_\text{parallel}$}] (4.5, 2) + to [short] (4.5, 1.4) + + (1.85, 1.4) + to [short, *-] (2.4, 1.4) + to [R, l_={R$_\text{series}$}] (4.5, 1.4) + + (1.85, 1) node[left] {V$_O$} + (1.85, 1) + to [short, *-] (2.4, 1) + to [short] (2.4, 0) + to [short] (3, 0) + + (3,0) node[right,draw=black] {MONITOR\_1V8} + ; +\end{circuitikz} +\end{document} diff --git a/tikz/mon48i.tex b/tikz/mon48i.tex index 817abd8..06cad89 100644 --- a/tikz/mon48i.tex +++ b/tikz/mon48i.tex @@ -5,35 +5,42 @@ \begin{circuitikz}[scale=2] \draw[color=black, thick] (1,0) - to [R, text width=1cm, l={R 500$\mu$},f>^=I$_{IN}$, *-] (1,6) - to [short, -o](0,6) node[left] {V$_{IN} = -48V$} + to [R, text width=1cm, l={R 500$\mu$},f>^=I$_{IN}$, *-] (1,3) + to [short, -o] (0,3) node[left] {V$_{IN} = -48V$} - (1,5.1) node[draw=black, fill=white, regular polygon, regular polygon sides=4] {PowerIt} + (1,3) node[draw=black, fill=white, regular polygon, regular polygon sides=4] {PowerIt} + (.52, 3) node[right, draw=black, inner sep = 2] {-} + (1,2.52) node[above, draw=black, inner sep = 1] {+} + + (1,3) to [short, -*] (1,2.52) + (1,3) to [short, -*] (.52, 3) (0,0) node[left]{GND$_{V_{IN}}$} to [short, o-] (1,0) - (2.1,3) node[fd op amp] (fdoa) {} - (fdoa.+) to [short,-*] (1,2) - (fdoa.-) to [short,-*] (1,4) - (fdoa.down) to (2.06,0) + (2.5,1.5) node[fd op amp] (fdoa) {} + (fdoa.+) to [short,-*] (1,1.0) + (fdoa.-) to [short,-*] (1,2.0) + (fdoa.down) + to (2.46,0) + to [short,-o] (6,0) node[right]{GND} (fdoa.down)+(-.2,-.1) - to (1.86,0) + to (2.26,0) to [short, -*](1,0) (fdoa.up) - to (2.06,6) - to [short,-o](6,6) node[right] {$V_{SS} = 3.3V$} + to (2.46,3) + to [short,-o](6,3) node[right] {$V_{SS} = 3.3V$} (fdoa.up)+(-.2,.1) - to (1.86,6) - to [short, -*] (2.06,6) + to (2.26,3) + to [short, -*] (2.46,3) - (4,3) node[op amp] (oa) {} + (4.5,1.5) node[op amp] (oa) {} (fdoa.out -) to (oa.-) (fdoa.out +) to (oa.+) - (2.06,0) to [short,-o] (6,0) node[right]{GND} (5,0) node[ground]{} node[circ](4.5,0){} - (oa.out) to [short,-] (5.5,3) node[right,draw=black] {MONITOR\_48I} + (oa.out) to [short,-] (5.5,1.5) node[right,draw=black] {MONITOR\_48I} + ; \end{circuitikz} \end{document} diff --git a/tikz/mon48v.tex b/tikz/mon48v.tex index 064f027..924c5b6 100644 --- a/tikz/mon48v.tex +++ b/tikz/mon48v.tex @@ -4,36 +4,40 @@ \begin{document} \begin{circuitikz}[scale=2] \draw[color=black, thick] - (-1,0) node[left]{$V_{IN}=-48V$} - to [short,o-*] (1.5,0){} % Baseline for connection to ground - (1,0) - to [R, text width=1cm, l={R2\\240k}, *-] (1,3) - to [R, text width=1cm, l={R1 1k}, *-] (1,6) - (-1,6) node[left]{$GND_{V_{IN}}$} to [short, o-] (1,6) + (2.5,1.5) node[fd op amp] (fdoa) {} - (2.1,3) node[fd op amp] (fdoa) {} - (fdoa.+) to (1,3) - (fdoa.-) to (1.5,0) - (fdoa.down) to (2.06,0) + (0,3) node[left]{$V_{IN}=-48V$} + to [short, o-](1,3) + %to [short,-*] (fdoa.-) % Baseline for connection to ground + + (1,3) + to [R, text width=1cm, l={R2\\240k}, *-] (1,1.5) + to [R, text width=1cm, l={R1 1k}, *-] (1,0) + + (0,0) node[left]{$GND_{V_{IN}}$} + to [short, o-] (1,0) + + (fdoa.+) to (1,1.5) + (fdoa.-) to [short, -*] +(0, -1.74) + (fdoa.down) to (2.46,0) (fdoa.down)+(-.2,-.1) - to (1.86,2.2) - to (.1,2.2) - to [short, -*](.1,6) + to (2.26,0) + to [short, -*](1,0) (fdoa.up) - to (2.06,6) - to [short,-o](6,6) node[right] {$V_{SS} = 3.3V$} + to (2.46,3) + to [short,*-o](6,3) node[right] {$V_{SS} = 3.3V$} (fdoa.up)+(-.2,.1) - to +(-.2,1) - to [short, -*] +(0,1) + to (2.26,3) + to [short] (2.46,3) - (4,3) node[op amp] (oa) {} + (4.5,1.5) node[op amp] (oa) {} (fdoa.out -) to (oa.-) (fdoa.out +) to (oa.+) - (2.06,0) to [short,-o] (6,0) node[right]{GND} + (2.46,0) to [short,-o] (6,0) node[right]{GND} (5,0) node[ground]{} node[circ](4.5,0){} - (oa.out) to [short,-] (6,3) node[right,draw=black] {MONITOR\_48V} + (oa.out) to [short,-] (5.5,1.5) node[right,draw=black] {MONITOR\_48V} ; \end{circuitikz} \end{document}