557 lines
24 KiB
TeX
557 lines
24 KiB
TeX
|
%Dokumentinnstillinger:---------------------------------
|
|||
|
\documentclass[11pt,norsk]{elsys-design}
|
|||
|
|
|||
|
|
|||
|
\heading{Designnotat}
|
|||
|
\title{Sinus-generator}
|
|||
|
\author{Øyvind Skaaden}
|
|||
|
\version{2.0}
|
|||
|
\date{\today}
|
|||
|
|
|||
|
\begin{document}
|
|||
|
|
|||
|
\maketitle
|
|||
|
|
|||
|
%Automatisk generert innholdsfortegnelse:------------------
|
|||
|
\toc
|
|||
|
|
|||
|
%Selve rapporten:------------------------------------------
|
|||
|
\section{Problembeskrivelse}
|
|||
|
\label{sec:innledning}
|
|||
|
|
|||
|
I veldig mange sammenhenger er det å kunne generere et periodisk signal en veldig nyttig ting. I de fleste tilfeller ønsker vi at signalet skal ha en enkel tone, og da må vi bruke et sinussignal.
|
|||
|
For å generere et sinussignal er det flere måter å gjøre det på, men her vil vi ta utganspunk i systemet i \autoref{fig:introsystem}.
|
|||
|
|
|||
|
\begin{figure}[!htbp]
|
|||
|
\centering
|
|||
|
\includegraphics[width=0.4\textwidth]{figurer/D8_Innledning.pdf}
|
|||
|
\caption{Blokkdiagram for sinus-generatoren. Spenningen $v_2$ er utgangen på sinus-generatoren.}
|
|||
|
\label{fig:introsystem}
|
|||
|
\end{figure}
|
|||
|
|
|||
|
Vi ønsker å ikke være veldig langt unna frekvensen som velges, så vi ønsker å være innenfor $10 000$ ppm av frekvensen $f_0 $ til sisnussignalet.
|
|||
|
|
|||
|
Siden vi lager sinusen fra en firkantpuls ønsker vi også at signalet ikke er veldig ødelagt av de overharmoniske svingningene. Derfor velger vi at harmonisk forvrengning, $D$, ikke skal være større enn $D_{max} = 2\% $.
|
|||
|
|
|||
|
\section{Prinsipiell løsning}
|
|||
|
\label{sec:prinsipielllosning}
|
|||
|
|
|||
|
For å generere et firkantsignal er det flere måter å gjøre det på. Her vil det bli tatt utganspunkt i en type generator som heter relaksasjonsgenerator, som i \autoref{circ:relaksasjonStart}. Den genererer et firkantsignal basert på opp- og utladning av en kondensator i et $RC$-ledd. Vi kan da styrefrekvensen ved å velge riktig tidskonstant.
|
|||
|
|
|||
|
Vi vil deretter filtrere ut alle overtonene til firkantsignalet med et lavpassfilter, fordi et firkantsignal er bygget opp av uendelig mange sinussignaler. Det totale systemet vil se ut som i \autoref{fig:prinsippSinus}.
|
|||
|
|
|||
|
\begin{figure}[!htbp]
|
|||
|
\centering
|
|||
|
\includegraphics[width=0.7\textwidth]{figurer/D8_Prinsipp.pdf}
|
|||
|
\caption{Blokkdiagram for delene i sinus-generatoren. Spenningen $v_1$ og $v_2$ er henholdsvis utgangen på firkantgeneratoren og utgangen på lavpassfilteret eller selve sinus-generatoren.}
|
|||
|
\label{fig:prinsippSinus}
|
|||
|
\end{figure}
|
|||
|
|
|||
|
\subsection{Relasasjonsgenerator}
|
|||
|
|
|||
|
\begin{figure}[!htpb]
|
|||
|
\centering
|
|||
|
\begin{circuitikz}[scale=0.92, every node/.style={transform shape}]
|
|||
|
\draw
|
|||
|
(0,0) node[op amp,yscale=1](opamp){}
|
|||
|
|
|||
|
(opamp.up) ++ (0,.5) node[opampuplbl] {$+V$} -- (opamp.up)
|
|||
|
(opamp.down) ++ (0,-.5) node[opampdownlbl] {$-V$} -- (opamp.down)
|
|||
|
|
|||
|
(opamp.-) to [short] ++(0,1.5) coordinate(C)
|
|||
|
to [R, l=$R_1 $, *-] (C-|opamp.out)
|
|||
|
to (opamp.out)
|
|||
|
(C) to [C, l_=$C$,] ++(-2,0) node[ground] {}
|
|||
|
|
|||
|
(opamp.+) to [short] ++(0,-1.5) coordinate(R_b)
|
|||
|
to [R, l_=$R_3 $, *-] (R_b-|opamp.out)
|
|||
|
to (opamp.out)
|
|||
|
(R_b) to [R, l=$R_2$] ++(-2,0) node[ground] {}
|
|||
|
|
|||
|
(opamp.out) to [short, -o] ++(1,0) node[right] {$v_1$}
|
|||
|
|
|||
|
;
|
|||
|
\end{circuitikz}
|
|||
|
\caption{Relaksjonsgenerator. Genererer et firkantsignal basert på tidskonstanten $\tau = R_1 \cdot C$.}
|
|||
|
\label{circ:relaksasjonStart}
|
|||
|
\end{figure}
|
|||
|
|
|||
|
Vi antar forsyningsspenningen til operasjonsforsterkeren som brukes som en komparator i generatoren er like positiv og negativ, $ +V = - (-V) $. Da er perioden $T$ til signalet som blir generert som i \eqref{eq:periodeGenerator}.
|
|||
|
|
|||
|
\begin{align}
|
|||
|
T = 2 \cdot R_1 \cdot C \cdot \ln\left(1 + 2\frac{R_2}{R_3}\right) \label{eq:periodeGenerator}
|
|||
|
\end{align}
|
|||
|
|
|||
|
Vi kan også anta at $R_2 = R_3$, og skriver om fra periode $T$ til frekvens $f = \frac{1}{T}$ i \eqref{eq:frekvensGenerator}.
|
|||
|
|
|||
|
\begin{align}
|
|||
|
f = \frac{1}{2 \cdot R_1 \cdot C \cdot \ln\left(3\right)} \label{eq:frekvensGenerator}
|
|||
|
\end{align}
|
|||
|
|
|||
|
\subsection{Lavpass-filter}
|
|||
|
|
|||
|
Siden en firkantpuls består av en grunnfrekvens og mange overtoner av grunnfrekvensen, kan vi hente ut et sinussignal fra firkantsignalgeneratoren ved å fjerne overtonene. Dette kan gjøres med et lavpass-filter.
|
|||
|
|
|||
|
Igjen så finnes det mange varianter av et lavpassfilter, men her tas det utganspunkt i en Sallan-Key-topologi \cite{sallan-key} med en Butterworth-form\cite{butterworth} på dempningen.
|
|||
|
|
|||
|
Sallan-key-filteret er et andreordens-filter og disse kan seriekobles for å legge til flere ordener. Dersom det er to i serie vil vi kunne ha opp til et fjerdeordens-filter, tre så får vi sjetteordens osv.. I designnotat om hvordan lage et Anti-alias-filter \cite{anti-alias} gåes det mer i dybden i hvordan designe et n-ordens filter med Sallan-Key-topologi. Men kort oppsummert i dette avsnittet.
|
|||
|
|
|||
|
\begin{figure}[!htpb]
|
|||
|
\centering
|
|||
|
\begin{circuitikz}
|
|||
|
\draw
|
|||
|
(0,0) node[op amp,yscale=-1](opamp){}
|
|||
|
|
|||
|
(opamp.+) to [short] ++(-1,0) coordinate(C2)
|
|||
|
to [C, l_=$C_2$, *-] ++(0,-2)
|
|||
|
to ++(0,0) node[ground]{}
|
|||
|
|
|||
|
(C2) to [R, l_=$R$] ++(-2,0) coordinate(R2)
|
|||
|
to [short, *-] ++(0,1) coordinate(C1)
|
|||
|
to [C, l=$C_1 $] (C1-|opamp.out)
|
|||
|
to [short, -*] (opamp.out)
|
|||
|
|
|||
|
(R2) to [R, l_=$R$, -o] ++(-2,0) node[left] {$v_i$}
|
|||
|
|
|||
|
(opamp.-) to [short] ++(0,-1) coordinate(fb)
|
|||
|
to [short] (fb-|opamp.out)
|
|||
|
to [short] (opamp.out)
|
|||
|
to [short, -o] ++(1,0) node[right] {$v_o$}
|
|||
|
|
|||
|
;
|
|||
|
\end{circuitikz}
|
|||
|
\caption{Kretstopologi for et andregrads lavpass-filter i Sallen-Key topologi.}
|
|||
|
\label{circ:sallen-key-start}
|
|||
|
\end{figure}
|
|||
|
|
|||
|
|
|||
|
For å regne ut de forskjellige komponentverdiene har vi noen formler. Siden vi bruker operasjonsforsterkere (opamp) er det ganske standard å bruke motstandsverdier mellom $1k\Omega$ og $100k\Omega$. Motstandene kan da velges fritt innenfor disse grenser.
|
|||
|
|
|||
|
$\omega_0 $ er knekkfrekvensen i radianer og gitt i (\ref{eq:knekkfreq}).
|
|||
|
\begin{align}
|
|||
|
\omega_0 = 2\pi \cdot f_0 \label{eq:knekkfreq}
|
|||
|
\end{align}
|
|||
|
|
|||
|
To tidskonstanter $\tau_1$ og $\tau_2$ i (\ref{eq:tidskonstanter}).
|
|||
|
|
|||
|
\begin{align}
|
|||
|
\tau_1 = \frac{1}{\omega_0 \zeta} \quad \text{og} \quad \tau_2 = \frac{1}{\omega_0^2\tau_1} \label{eq:tidskonstanter}
|
|||
|
\end{align}
|
|||
|
|
|||
|
Da er kondensatorverdiene gitt som i (\ref{eq:kondiser}).
|
|||
|
|
|||
|
\begin{align}
|
|||
|
C_1 = \frac{\tau_1}{R} \quad \text{og} \quad C_2 = \frac{\tau_2}{R} \label{eq:kondiser}
|
|||
|
\end{align}
|
|||
|
|
|||
|
Verdiene for $\zeta$ kan regnes ut eller så er de gitt for et normal Butterworth-filter for orden 1 til 6 i \autoref{tab:sallenKeyLosning}. Her kommer $\zeta$-verdiene i par som gjelder for et sett med et Sallen-Key-filter.
|
|||
|
|
|||
|
|
|||
|
\begin{table}[!htpb]
|
|||
|
\centering
|
|||
|
\caption{$\zeta$-verdier for forskjellige ordener $n$ for et butterwurth-filter med et Allan-Key-filter topologi.}
|
|||
|
\label{tab:sallenKeyLosning}
|
|||
|
\begin{tabular}{|l|l|l|l|}
|
|||
|
\hline \hline
|
|||
|
& \multicolumn{3}{l|}{Polpar \textit{i}} \\ \hline
|
|||
|
$n$ & $1$ & $2$ & $3$ \\ \hline
|
|||
|
\hline
|
|||
|
$1$ & $1$ & & \\ \hline
|
|||
|
$2$ & $0.70711$ & & \\ \hline
|
|||
|
$3$ & $1$ & $0.5$ & \\ \hline
|
|||
|
$4$ & $0.92388$ & $0.38268$ & \\ \hline
|
|||
|
$5$ & $1$ & $0.80902$ & $0.30902$ \\ \hline
|
|||
|
$6$ & $0.96593$ & $0.70711$ & $0.25882$ \\ \hline
|
|||
|
\hline
|
|||
|
\end{tabular}%
|
|||
|
\end{table}
|
|||
|
|
|||
|
Hele sinusgeneratoren vil da være firkantgeneratoren og deretter filteret/ene i serie som vist i \autoref{circ:sinusTeori}. Dersom det seriekobles flere filtere gøres dette ved å koble $v_i$ på filteret på utgangen $v_2$.
|
|||
|
|
|||
|
\begin{figure}[!htpb]
|
|||
|
\centering
|
|||
|
\begin{circuitikz}[scale=0.92, every node/.style={transform shape}]
|
|||
|
\draw
|
|||
|
(0,0) node[op amp,yscale=1](opamp){}
|
|||
|
|
|||
|
(opamp.-) to [short] ++(0,1) coordinate(C)
|
|||
|
to [R, l=$R_1 $, *-] (C-|opamp.out)
|
|||
|
to (opamp.out)
|
|||
|
(C) to [C, l_=$C$,] ++(-2,0) node[ground] {}
|
|||
|
|
|||
|
(opamp.+) to [short] ++(0,-1) coordinate(R_b)
|
|||
|
to [R, l_=$R_3 $, *-] (R_b-|opamp.out)
|
|||
|
to (opamp.out)
|
|||
|
(R_b) to [R, l=$R_2$] ++(-2,0) node[ground] {}
|
|||
|
|
|||
|
(9,0) node[op amp,yscale=-1](opamp2){}
|
|||
|
|
|||
|
(opamp2.+) to [short] ++(-1,0) coordinate(C2)
|
|||
|
to [C, l_=$C_2$, *-] ++(0,-2)
|
|||
|
to ++(0,0) node[ground]{}
|
|||
|
|
|||
|
(C2) to [R, l_=$R$] ++(-2,0) coordinate(R2)
|
|||
|
to [short, *-] ++(0,1) coordinate(C1)
|
|||
|
to [C, l=$C_1 $] (C1-|opamp2.out)
|
|||
|
to [short, -*] (opamp2.out)
|
|||
|
|
|||
|
(R2) to [R, l_=$R$] ++(-2,0) coordinate(koblingInn)
|
|||
|
|
|||
|
(opamp2.-) to [short] ++(0,-1) coordinate(fb)
|
|||
|
to [short] (fb-|opamp2.out)
|
|||
|
to [short] (opamp2.out)
|
|||
|
to [short, -o] ++(1,0) node[right] {$v_2$}
|
|||
|
|
|||
|
(opamp.out) to [short, *-o] (opamp.out-|koblingInn) node[below]{$v_1$}
|
|||
|
to (koblingInn)
|
|||
|
|
|||
|
;
|
|||
|
\end{circuitikz}
|
|||
|
\caption{Relaksjonsgenerator med lavpass-filter. Genererer et sinussignal på utgangen $v_2$ basert på tidskonstanten $\tau = R_1 \cdot C$.}
|
|||
|
\label{circ:sinusTeori}
|
|||
|
\end{figure}
|
|||
|
|
|||
|
|
|||
|
\section{Realisering og test}
|
|||
|
\label{sec:realisering}
|
|||
|
\subsection{Realisering}
|
|||
|
|
|||
|
Frekvensen som sinusgeneratoren skal generere er gitt ved $f_0 = 4,1kHz$.
|
|||
|
|
|||
|
Velger $R_1 = R_2 = R_3 = R = 1k\Omega$. Kondensatoren i generatoren er gitt i \eqref{eq:generatorKondis}. Operasjonsforsterkerene som blir brukt til generatoren er MC34082 \cite{opamp}, den har to opamper i samme pakke.
|
|||
|
|
|||
|
\begin{align}
|
|||
|
C = \frac{1}{2 \cdot R_1 \cdot f_0 \cdot \ln(3)} = 111\text{nF} \label{eq:generatorKondis}
|
|||
|
\end{align}
|
|||
|
|
|||
|
Vi trenger å lage et 4. ordens filter for å fjerne alle de uønskede frekvensene. Det blir da brukt en til MC34082P for filterene, da denne har 4 operasjonsforsterkere.
|
|||
|
|
|||
|
Dermed blir hele kretsen som i \autoref{circ:prinsippKrets}.
|
|||
|
|
|||
|
\begin{figure}[!htpb]
|
|||
|
\centering
|
|||
|
\begin{circuitikz}[scale=0.92, every node/.style={transform shape}]
|
|||
|
\draw
|
|||
|
(0,0) node[op amp,yscale=1](opamp){OP1}
|
|||
|
|
|||
|
(opamp.-) to [short] ++(0,1) coordinate(C)
|
|||
|
to [R, l=$R_1 $, *-] (C-|opamp.out)
|
|||
|
to (opamp.out)
|
|||
|
(C) to [C, l_=$C$,] ++(-2,0) node[ground] {}
|
|||
|
|
|||
|
(opamp.+) to [short] ++(0,-1) coordinate(R_b)
|
|||
|
to [R, l_=$R_3 $, *-] (R_b-|opamp.out)
|
|||
|
to (opamp.out)
|
|||
|
(R_b) to [R, l=$R_3 $] ++(-2,0) node[ground] {}
|
|||
|
|
|||
|
|
|||
|
%% Filter 1
|
|||
|
(9,3) node[op amp,yscale=-1](opamp2){\raisebox{\depth}{\scalebox{1}[-1]{OP2}}}
|
|||
|
|
|||
|
(opamp2.+) to [short] ++(-1,0) coordinate(C2)
|
|||
|
to [C, l_=$C_2 $, *-] ++(0,-2)
|
|||
|
to ++(0,0) node[ground]{}
|
|||
|
|
|||
|
(C2) to [R, l_=$R$] ++(-2,0) coordinate(R2)
|
|||
|
to [short, *-] ++(0,1) coordinate(C1)
|
|||
|
to [C, l=$C_1 $] (C1-|opamp2.out)
|
|||
|
to [short, -*] (opamp2.out)
|
|||
|
|
|||
|
(R2) to [R, l_=$R$] ++(-2,0) coordinate(koblingInn)
|
|||
|
|
|||
|
(opamp2.-) to [short] ++(0,-1) coordinate(fb)
|
|||
|
to [short] (fb-|opamp2.out)
|
|||
|
to [short] (opamp2.out)
|
|||
|
to [short] ++(1,0) coordinate(filter1ut)
|
|||
|
|
|||
|
(opamp.out) to [short, *-o] (opamp.out-|koblingInn) node[below]{$v_1$}
|
|||
|
to (koblingInn)
|
|||
|
|
|||
|
% Filter 2
|
|||
|
(10,-3) node[op amp,yscale=-1](opamp3){\raisebox{\depth}{\scalebox{1}[-1]{OP3}}}
|
|||
|
|
|||
|
(opamp3.+) to [short] ++(-1,0) coordinate(C4)
|
|||
|
to [C, l_=$C_4$, *-] ++(0,-2)
|
|||
|
to ++(0,0) node[ground]{}
|
|||
|
|
|||
|
(C4) to [R, l_=$R$] ++(-2,0) coordinate(R4)
|
|||
|
to [short, *-] ++(0,1) coordinate(C3)
|
|||
|
to [C, l=$C_3$] (C3-|opamp3.out)
|
|||
|
to [short, -*] (opamp3.out)
|
|||
|
|
|||
|
(R4) to [R, l_=$R$] ++(-2,0) coordinate(koblingInn)
|
|||
|
|
|||
|
(opamp3.-) to [short] ++(0,-1) coordinate(fb)
|
|||
|
to [short] (fb-|opamp3.out)
|
|||
|
to [short] (opamp3.out)
|
|||
|
to [short, -o] ++(1,0) node[right] {$v_2$}
|
|||
|
|
|||
|
(filter1ut) -- (filter1ut|-opamp.out) -- (opamp.out-|koblingInn) -- (koblingInn)
|
|||
|
;
|
|||
|
\end{circuitikz}
|
|||
|
\caption{Relaksjonsgenerator med 4. ordens lavpass-filter. Genererer et sinussignal på utgangen $v_2$ basert på tidskonstanten $\tau = R_1 \cdot C$ Uten komponentverdier.}
|
|||
|
\label{circ:prinsippKrets}
|
|||
|
\end{figure}
|
|||
|
|
|||
|
Siden dette er et fjerde-ordens filter blir $\zeta_1 = 0.92388$ og $\zeta_2 = 0.38268$. Knekkfrekvensen $\omega_0 = 2\pi \cdot f_0 = 8,1\pi \cdot 10^3 $ rad/s. Da er tidskonstantene gitt i \eqref{eq:tid1} og \eqref{eq:tid2}.
|
|||
|
|
|||
|
\begin{align}
|
|||
|
\tau_1 = \frac{1}{\omega_0 \zeta_1} \approx 43\mu\text{s} \quad &\text{og} \quad \tau_2 = \frac{1}{\omega_0^2\tau_1} \approx 36\mu\text{s} \label{eq:tid1}\\
|
|||
|
\tau_3 = \frac{1}{\omega_0 \zeta_2} \approx 103\mu\text{s} \quad &\text{og} \quad \tau_4 = \frac{1}{\omega_0^2\tau_3} \approx 15\mu\text{s} \label{eq:tid2}
|
|||
|
\end{align}
|
|||
|
|
|||
|
Dermed blir kondensatorene gitt i \eqref{eq:kond1}, \eqref{eq:kond2}, \eqref{eq:kond3} og \eqref{eq:kond4}.
|
|||
|
|
|||
|
\begin{align}
|
|||
|
C_1 &= \frac{\tau_1}{R} \approx 43 \text{nF} \label{eq:kond1}\\
|
|||
|
C_2 &= \frac{\tau_2}{R} \approx 36 \text{nF} \label{eq:kond2} \\
|
|||
|
C_3 &= \frac{\tau_3}{R} \approx 103 \text{nF} \label{eq:kond3}\\
|
|||
|
C_4 &= \frac{\tau_4}{R} \approx 15 \text{nF} \label{eq:kond4}
|
|||
|
\end{align}
|
|||
|
|
|||
|
Alle koponentene justert for standardverdier er i \autoref{tab:komponenter}.
|
|||
|
|
|||
|
\begin{table}[!htbp]
|
|||
|
\centering
|
|||
|
\caption{Tabell for alle komponeneter til kretsen, både utregnet og justert for standardverdier.}
|
|||
|
\label{tab:komponenter}
|
|||
|
\begin{tabular}{|l|c|c|}
|
|||
|
\hline \hline
|
|||
|
Komponent & Verdi & Justert for standardverdier \\ \hline
|
|||
|
$R_1$ & $1k\Omega$ & $1k\Omega$ \\ \hline
|
|||
|
$R_2$ & $1k\Omega$ & $1k\Omega$ \\ \hline
|
|||
|
$R_3$ & $1k\Omega$ & $1k\Omega$ \\ \hline
|
|||
|
$C$ & $111$nF & $100\text{nF}||10\text{nF}||1\text{nF}$ \\ \hline
|
|||
|
$R$ & $1k\Omega$ & $1k\Omega$ \\ \hline
|
|||
|
$C_1$ & $43$nF & $10\text{nF}||10\text{nF}||10\text{nF}||10\text{nF}||1\text{nF}||1\text{nF}||1\text{nF}$ \\ \hline
|
|||
|
$C_2$ & $36$nF & $10\text{nF}||10\text{nF}||10\text{nF}||(10\text{nF}+10\text{nF})||1\text{nF}$ \\ \hline
|
|||
|
$C_3$ & $103$nF & $100\text{nF}||1\text{nF}||1\text{nF}||1\text{nF}$ \\ \hline
|
|||
|
$C_4$ & $15$nF & $10\text{nF}||(10\text{nF}+10\text{nF})$ \\ \hline
|
|||
|
OP1 & \multicolumn{2}{c|}{LF353P} \\ \hline
|
|||
|
OP2 & \multicolumn{2}{c|}{LM339N} \\ \hline
|
|||
|
OP3 & \multicolumn{2}{c|}{LM339N} \\ \hline
|
|||
|
\hline
|
|||
|
\end{tabular}
|
|||
|
\end{table}
|
|||
|
|
|||
|
Den fullførte kretsen er som i \autoref{circ:sinusVerdier}.
|
|||
|
|
|||
|
\begin{figure}[!htpb]
|
|||
|
\centering
|
|||
|
\begin{circuitikz}[scale=0.92, every node/.style={transform shape}]
|
|||
|
\draw
|
|||
|
(0,0) node[op amp,yscale=1](opamp){OP1}
|
|||
|
|
|||
|
(opamp.-) to [short] ++(0,1) coordinate(C)
|
|||
|
to [R, l=$1k\Omega$, *-] (C-|opamp.out)
|
|||
|
to (opamp.out)
|
|||
|
(C) to [C, l_=$111\text{nF}$,] ++(-2,0) node[ground] {}
|
|||
|
|
|||
|
(opamp.+) to [short] ++(0,-1) coordinate(R_b)
|
|||
|
to [R, l_=$1k\Omega$, *-] (R_b-|opamp.out)
|
|||
|
to (opamp.out)
|
|||
|
(R_b) to [R, l=$1k\Omega$] ++(-2,0) node[ground] {}
|
|||
|
|
|||
|
|
|||
|
%% Filter 1
|
|||
|
(9,3) node[op amp,yscale=-1](opamp2){\raisebox{\depth}{\scalebox{1}[-1]{OP2}}}
|
|||
|
|
|||
|
(opamp2.+) to [short] ++(-1,0) coordinate(C2)
|
|||
|
to [C, l_=$36 \text{nF}$, *-] ++(0,-2)
|
|||
|
to ++(0,0) node[ground]{}
|
|||
|
|
|||
|
(C2) to [R, l_=$1k\Omega$] ++(-2,0) coordinate(R2)
|
|||
|
to [short, *-] ++(0,1) coordinate(C1)
|
|||
|
to [C, l=$43$nF] (C1-|opamp2.out)
|
|||
|
to [short, -*] (opamp2.out)
|
|||
|
|
|||
|
(R2) to [R, l_=$1k\Omega$] ++(-2,0) coordinate(koblingInn)
|
|||
|
|
|||
|
(opamp2.-) to [short] ++(0,-1) coordinate(fb)
|
|||
|
to [short] (fb-|opamp2.out)
|
|||
|
to [short] (opamp2.out)
|
|||
|
to [short] ++(1,0) coordinate(filter1ut)
|
|||
|
|
|||
|
(opamp.out) to [short, *-o] (opamp.out-|koblingInn) node[below]{$v_1$}
|
|||
|
to (koblingInn)
|
|||
|
|
|||
|
% Filter 2
|
|||
|
(10,-3) node[op amp,yscale=-1](opamp3){\raisebox{\depth}{\scalebox{1}[-1]{OP3}}}
|
|||
|
|
|||
|
(opamp3.+) to [short] ++(-1,0) coordinate(C4)
|
|||
|
to [C, l_=$15 \text{nF}$, *-] ++(0,-2)
|
|||
|
to ++(0,0) node[ground]{}
|
|||
|
|
|||
|
(C4) to [R, l_=$1k\Omega$] ++(-2,0) coordinate(R4)
|
|||
|
to [short, *-] ++(0,1) coordinate(C3)
|
|||
|
to [C, l=$103 \text{nF}$] (C3-|opamp3.out)
|
|||
|
to [short, -*] (opamp3.out)
|
|||
|
|
|||
|
(R4) to [R, l_=$1k\Omega$] ++(-2,0) coordinate(koblingInn)
|
|||
|
|
|||
|
(opamp3.-) to [short] ++(0,-1) coordinate(fb)
|
|||
|
to [short] (fb-|opamp3.out)
|
|||
|
to [short] (opamp3.out)
|
|||
|
to [short, -o] ++(1,0) node[right] {$v_2$}
|
|||
|
|
|||
|
(filter1ut) -- (filter1ut|-opamp.out) -- (opamp.out-|koblingInn) -- (koblingInn)
|
|||
|
;
|
|||
|
\end{circuitikz}
|
|||
|
\caption{Relaksjonsgenerator med lavpass-filter. Genererer et sinussignal på utgangen $v_2$ basert på tidskonstanten $\tau = R_1 \cdot C$.}
|
|||
|
\label{circ:sinusVerdier}
|
|||
|
\end{figure}
|
|||
|
|
|||
|
\clearpage
|
|||
|
\subsection{Test}
|
|||
|
|
|||
|
Etter testing må motstandsverdien $R_1$ endres til $R_1 = 870\Omega$ og kondensatoren $C$ må endres til $C = 112$nF. Ellers helt lik krets. Endelige verdier kan sees i \autoref{tab:komponenterEndelig}. Den ferdige kretsen kan sees i \autoref{circ:ferdig} og \autoref{fig:irl}.
|
|||
|
|
|||
|
\begin{table}[!htbp]
|
|||
|
\centering
|
|||
|
\caption{Tabell for alle komponeneter til kretsen, både utregnet og justert for standardverdier.}
|
|||
|
\label{tab:komponenterEndelig}
|
|||
|
\begin{tabular}{|l|c|c|}
|
|||
|
\hline \hline
|
|||
|
Komponent & Verdi & Justert for standardverdier \\ \hline
|
|||
|
$R_1$ & $870\Omega$ & $1k\Omega$ \\ \hline
|
|||
|
$R_2$ & $1k\Omega$ & $1k\Omega$ \\ \hline
|
|||
|
$R_3$ & $1k\Omega$ & $1k\Omega$ \\ \hline
|
|||
|
$C$ & $112$nF & $100\text{nF}||10\text{nF}||1\text{nF}||1\text{nF}$ \\ \hline
|
|||
|
$R$ & $1k\Omega$ & $1k\Omega$ \\ \hline
|
|||
|
$C_1$ & $43$nF & $10\text{nF}||10\text{nF}||10\text{nF}||10\text{nF}||1\text{nF}||1\text{nF}||1\text{nF}$ \\ \hline
|
|||
|
$C_2$ & $36$nF & $10\text{nF}||10\text{nF}||10\text{nF}||(10\text{nF}+10\text{nF})||1\text{nF}$ \\ \hline
|
|||
|
$C_3$ & $103$nF & $100\text{nF}||1\text{nF}||1\text{nF}||1\text{nF}$ \\ \hline
|
|||
|
$C_4$ & $15$nF & $10\text{nF}||(10\text{nF}+10\text{nF})$ \\ \hline
|
|||
|
OP1 & \multicolumn{2}{c|}{MC34082P} \\ \hline
|
|||
|
OP2 & \multicolumn{2}{c|}{MC34082P} \\ \hline
|
|||
|
OP3 & \multicolumn{2}{c|}{MC34082P} \\ \hline
|
|||
|
\hline
|
|||
|
\end{tabular}
|
|||
|
\end{table}
|
|||
|
|
|||
|
\begin{figure}[!htpb]
|
|||
|
\centering
|
|||
|
\begin{circuitikz}[scale=0.92, every node/.style={transform shape}]
|
|||
|
\draw
|
|||
|
(0,0) node[op amp,yscale=1](opamp){OP1}
|
|||
|
|
|||
|
(opamp.-) to [short] ++(0,1) coordinate(C)
|
|||
|
to [R, l=$870\Omega$, *-] (C-|opamp.out)
|
|||
|
to (opamp.out)
|
|||
|
(C) to [C, l_=$112\text{nF}$] ++(-2,0) node[ground] {}
|
|||
|
|
|||
|
(opamp.+) to [short] ++(0,-1) coordinate(R_b)
|
|||
|
to [R, l_=$1k\Omega$, *-] (R_b-|opamp.out)
|
|||
|
to (opamp.out)
|
|||
|
(R_b) to [R, l=$1k\Omega$] ++(-2,0) node[ground] {}
|
|||
|
|
|||
|
|
|||
|
%% Filter 1
|
|||
|
(9,3) node[op amp,yscale=-1](opamp2){\raisebox{\depth}{\scalebox{1}[-1]{OP2}}}
|
|||
|
|
|||
|
(opamp2.+) to [short] ++(-1,0) coordinate(C2)
|
|||
|
to [C, l_=$36 \text{nF}$, *-] ++(0,-2)
|
|||
|
to ++(0,0) node[ground]{}
|
|||
|
|
|||
|
(C2) to [R, l_=$1k\Omega$] ++(-2,0) coordinate(R2)
|
|||
|
to [short, *-] ++(0,1) coordinate(C1)
|
|||
|
to [C, l=$43$nF] (C1-|opamp2.out)
|
|||
|
to [short, -*] (opamp2.out)
|
|||
|
|
|||
|
(R2) to [R, l_=$1k\Omega$] ++(-2,0) coordinate(koblingInn)
|
|||
|
|
|||
|
(opamp2.-) to [short] ++(0,-1) coordinate(fb)
|
|||
|
to [short] (fb-|opamp2.out)
|
|||
|
to [short] (opamp2.out)
|
|||
|
to [short] ++(1,0) coordinate(filter1ut)
|
|||
|
|
|||
|
(opamp.out) to [short, *-o] (opamp.out-|koblingInn) node[below]{$v_1$}
|
|||
|
to (koblingInn)
|
|||
|
|
|||
|
% Filter 2
|
|||
|
(10,-3) node[op amp,yscale=-1](opamp3){\raisebox{\depth}{\scalebox{1}[-1]{OP3}}}
|
|||
|
|
|||
|
(opamp3.+) to [short] ++(-1,0) coordinate(C4)
|
|||
|
to [C, l_=$15 \text{nF}$, *-] ++(0,-2)
|
|||
|
to ++(0,0) node[ground]{}
|
|||
|
|
|||
|
(C4) to [R, l_=$1k\Omega$] ++(-2,0) coordinate(R4)
|
|||
|
to [short, *-] ++(0,1) coordinate(C3)
|
|||
|
to [C, l=$103 \text{nF}$] (C3-|opamp3.out)
|
|||
|
to [short, -*] (opamp3.out)
|
|||
|
|
|||
|
(R4) to [R, l_=$1k\Omega$] ++(-2,0) coordinate(koblingInn)
|
|||
|
|
|||
|
(opamp3.-) to [short] ++(0,-1) coordinate(fb)
|
|||
|
to [short] (fb-|opamp3.out)
|
|||
|
to [short] (opamp3.out)
|
|||
|
to [short, -o] ++(1,0) node[right] {$v_2$}
|
|||
|
|
|||
|
(filter1ut) -- (filter1ut|-opamp.out) -- (opamp.out-|koblingInn) -- (koblingInn)
|
|||
|
;
|
|||
|
\end{circuitikz}
|
|||
|
\caption{Komplett fungerende krets med alle komponentverdier.}
|
|||
|
\label{circ:ferdig}
|
|||
|
\end{figure}
|
|||
|
|
|||
|
\begin{figure}[!htbp]
|
|||
|
\centering
|
|||
|
\includegraphics[width=\textwidth]{figurer/irlKrets.jpg}
|
|||
|
\caption{Fysisk oppkobling av kretsen.}
|
|||
|
\label{fig:irl}
|
|||
|
\end{figure}
|
|||
|
|
|||
|
Den målte frekvensen til sinusen er $f=4.100kHz$, se \autoref{fig:maaling}, som er godt innenfor avviket på $10000$ppm. Kretsen hadde et avvik på $0$ ppm. Ved måling av harmonisk forvrengning, se \autoref{fig:maalingSpec}, fant vi at den totale forvrengningen er på $2.0\%$, som også er innenfor kravene.
|
|||
|
|
|||
|
\begin{figure}[!htpb]
|
|||
|
\centering
|
|||
|
\includegraphics[width=\textwidth]{figurer/maalingavsinus.png}
|
|||
|
\caption{Måling av sinusgeneratoren. Oransje er firkantgeneratoren og blå er den rene sinusen.}
|
|||
|
\label{fig:maaling}
|
|||
|
\end{figure}
|
|||
|
|
|||
|
\begin{figure}[!htpb]
|
|||
|
\centering
|
|||
|
\includegraphics[width=\textwidth]{figurer/maalingavsinusspektrum.png}
|
|||
|
\caption{Måling av sinusgeneratorens harmoniske forvrengning. Blå linje er spektrumet til sinusgeneratoren.}
|
|||
|
\label{fig:maalingSpec}
|
|||
|
\end{figure}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
\section{Konklusjon}
|
|||
|
\label{sec:konklusjon}
|
|||
|
|
|||
|
Ut i fra spesifikasjonene som ble oppgitt var kretsen velfungerende. Frekvensen hadde et avvik på ca $0$ ppm, og sinusen ser ut som en sinus, med en total harmonisk forvrengning på $2\%$. For å få til en enda bedre sinus, vil det fungere å ha et enda høyere ordens filter. Den vil da fjerne mer av de uønskede frekvensene.
|
|||
|
|
|||
|
|
|||
|
%Bibliografi: Legg til flere elementer ved å legge til flere \bibitem:--------
|
|||
|
\phantomsection
|
|||
|
\addcontentsline{toc}{section}{Referanser}
|
|||
|
\begin{thebibliography}{99}
|
|||
|
|
|||
|
\bibitem{sallan-key}
|
|||
|
Wikipedia contributors. (2019, August 6). \textit{Sallen–Key topology}. In Wikipedia, The Free Encyclopedia. Retrieved 11:21, October 8, 2019, from \url{https://en.wikipedia.org/w/index.php?title=Sallen%E2%80%93Key_topology&oldid=909548354}
|
|||
|
|
|||
|
\bibitem{butterworth}
|
|||
|
Wikipedia contributors. (2019, September 27). \textit{Butterworth filter}. In Wikipedia, The Free Encyclopedia. Retrieved 10:22, October 8, 2019, from \url{https://en.wikipedia.org/w/index.php?title=Butterworth_filter&oldid=918135860}
|
|||
|
|
|||
|
\bibitem{notat}
|
|||
|
L. Lundheim. (23.10.2018). \textit{Teknisk Notat: Sinus-generator}. NTNU, Elsys-2018-LL-1.
|
|||
|
|
|||
|
\bibitem{anti-alias}
|
|||
|
Ø. Skaaden. (09.10.2019). \textit{Designnotat: Anti-Alias-filter}. NTNU, elsys. Hentet 24.11.2019 fra \url{https://glados.no/files/ntnu/h19/ttt4265/D7.pdf}
|
|||
|
|
|||
|
\bibitem{opamp}
|
|||
|
On Semiconductors. (03.2002). \textit{MC34080 thru MC34085 - High performance JFET input operational amplifiers}. On Semiconductors. MC34080/D. \url{https://www.digchip.com/datasheets/download_datasheet.php?id=643869&part-number=MC34082P}
|
|||
|
|
|||
|
\end{thebibliography}{}
|
|||
|
|
|||
|
\clearpage
|
|||
|
\appendix
|
|||
|
%Tillegg. Flere tillegg legges til ved å lage flere sections:-----------------
|
|||
|
|
|||
|
|
|||
|
|
|||
|
\end{document}
|