% !TeX encoding = UTF-8
% !TeX spellcheck = sl_SI
% do-vimlatex-onwrite
\documentclass[]{article}
\usepackage[utf8]{inputenc}
\usepackage{etoolbox}
\usepackage[hidelinks]{hyperref}
\usepackage{xurl} % da breaka url
\usepackage[a4paper, total={7in, 10in}]{geometry}
\usepackage{graphicx}
\usepackage{hologo}
\usepackage{amssymb}
\usepackage{calculator}
\usepackage{pgfplots}
\usepackage[inline]{enumitem}
\usepackage{siunitx}
\usepackage{multicol}
\usepackage{tabularcalc}
\usepackage{amsmath}
\usepackage{float}
\usepackage{tasks}
\usepackage{filecontents}
\usepackage{textcomp}
\usepackage{tkz-euclide}
\usepackage{dirtytalk}
\usepackage{csquotes}
\usepackage{listings}
\usepackage{datetime} % [ddMMyyyy]
\usepackage{ccicons}
\usepackage{chemformula}
\usepackage{gensymb}
\usepackage[normalem]{ulem}
\usepackage[slovene]{babel}
\usepackage{cancel}
\usepackage{tabularx}
\usepackage{xcolor}
\usepackage{colortbl}
\usepackage{exsheets}
\usepackage{harpoon}
\usepackage{readarray}
\usepackage{forloop}
\usepackage[nomessages]{fp}
\usepackage{multirow}
\usepackage[backend=biber]{biblatex}
\addbibresource{dokument.bib}
\newcolumntype{Y}{>{\centering\arraybackslash}X}
% \usepackage{multienum} % weird with labels
\usetikzlibrary{calc} %% not really needed............. idk.
%\usetikzlibrary{external}
% \usetkzobj{all} % tkz-euclide > 3.02 tega ne potrebuje več (:
%\tikzexternalize
\sisetup{output-decimal-marker = {,}, quotient-mode=fraction,per-mode=fraction} % per-mode=symbol
\newcommand\ddfrac[2]{\frac{\displaystyle #1}{\displaystyle #2}}
\newcommand{\functionSamples}{100} % fix to fancier value upon release, keep low during development
\newcommand{\razhroscevanje}{1}
\definecolor{codegreen}{rgb}{0,0.6,0}
\definecolor{codered}{rgb}{1,0,0}
\definecolor{codegray}{rgb}{0.5,0.5,0.5}
\definecolor{codepurple}{rgb}{0.58,0,0.82}
\definecolor{backcolour}{rgb}{0.95,0.95,0.92}
\renewcommand{\dateseparator}{. }
\settimeformat{hhmmsstime}
\lstdefinestyle{mystyle}{
backgroundcolor=\color{backcolour},
commentstyle=\color{codegreen},
keywordstyle=\color{magenta},
numberstyle=\tiny\color{codegray},
stringstyle=\color{codepurple},
basicstyle=\ttfamily\footnotesize,
breakatwhitespace=false,
breaklines=true,
captionpos=b,
keepspaces=true,
numbers=left,
numbersep=5pt,
showspaces=false,
showstringspaces=false,
showtabs=false,
tabsize=2
}
\lstset{style=mystyle}
\def\@maketitle{%
\newpage
\null
\vskip 2em%
\begin{center}%
\let \footnote \thanks
{\LARGE \@title \par}%
\vskip 1.5em%
{\large
\lineskip .5em%
\begin{tabular}[t]{c}% <------
\@author% <------ Authors
\end{tabular}\par}% <------
\vskip 1em%
{\large \@date}%
\end{center}%
\par
\vskip 1.5em}
%opening
\newcommand{\snovdn}{Potisna sila vodne rakete }
\newcommand{\predmdn}{fiz}
\newcommand{\predmkaj}{naloga}
\newcommand{\stevilkadn}{tekst}
\newcommand{\cm}[1]{\SI{#1}{\centi\meter}}
\newcommand{\kmh}[1]{\SI{#1}{\kilo\meter\per\hour}}
\makeatletter
\newcommand{\xslalph}[1]{\expandafter\@xslalph\csname c@#1\endcsname}
\newcommand{\@xslalph}[1]{%
\ifcase#1\or a\or b\or c\or \v{c}\or d\or e\or f\or g\or h\or i%
\or j\or k\or l\or m\or n\or o\or p\or r\or s\or \v{s}%
\or t\or u\or v\or z\or \v{z}
\else\@ctrerr\fi%
}
\AddEnumerateCounter{\xslalph}{\@xslalph}{m}
\makeatother
\newcommand\gauss[2]{1/(#2*sqrt(2*pi))*exp(-((x-#1)^2)/(2*#2^2))} % Gauss function, parameters mu and sigma
\newcommand*\textfrac[2]{
\frac{\text{#1}}{\text{#2}}
}
\NewTasks[counter-format=\xslalph*),label-format=\bfseries]{primerTasks}(3)
\newcommand\vektor{\overrightarrow}
\newcommand{\iic}{I\textsuperscript{2}C }
\title{%
\snovdn (tema 18) --- opis projekta
\\
\large Projektno delo pri fiziki, Gimnazija Bežigrad}
\author{\begin{tabular}{rl}
\textbf{Profesor:} & prof. Peter Gabrovec \\
\textbf{Avtor:} & Anton Luka Šijanec, 2. a
% \textbf{Avtor:} & Anton Luka Šijanec \\ & Member 2 \\ & Member 3
\end{tabular}}
\newcommand\hcancel[2][black]{\setbox0=\hbox{$0#2$}%
\rlap{\raisebox{.45\ht0}{\textcolor{#1}{\rule{\wd0}{1pt}}}}#2}
\everymath{\displaystyle} % https://tex.stackexchange.com/a/32847/212260
\begin{document}
\maketitle
\begin{abstract}
Ta dokument opisuje izvedbo in pripravo na projektno nalogo \textit{Potisna sila vodne rakete}. Opis vključuje teoretični del merjenja potiska in fizikalne koncepte
\end{abstract}
\paragraph{Navodilo naloge} Izmeri potisno silo vode, ki izteka iz vodne rakete, ki je fiksno vpeta. Med poskusom meri tudi tlak v plastenki in višino vode v plastenki in izmerjene vrednosti primerjaj s teoretično napovedjo.
\tableofcontents
\section{Slovar pojmov}
\begin{itemize}
\item \textbf{ADC}: Pretvornik iz analognega v digitalni signal (angleško \textit{analog to digital converter})
\end{itemize}
\section{Uvod}
V mojem projektu \textit{\snovdn}merim potisno silo oziroma potisk vode, ki izteka iz vodne rakete in s tem raketo potiska navzgor. Merim tudi zračni tlak v plastenki in višino vode medtem ko je plastenka fiksno vpeta. Teoretične vrednosti primerjam z dejanskimi izmerjenimi in povem, kaj vpliva na lastnosti leta.
\subsection{Opis poskusa}
Ker iztek vode poteče zelo hitro, podatkov ni moč odčitavati na roke. V ta namen bom uporabil izvajal strojno, in sicer:
\begin{itemize}
\item \textbf{Potisna sila oziroma potisk}: \SI{5}{\kilo\gram} analogna vaga in HX711 \SI[parse-numbers=false]{10/80}{\hertz} 24-bitni ADC
\item \textbf{Višina vode v plastenki}: Videoanaliza s programom Tracker in s kamero s \SI{60}{\hertz}
\item \textbf{Tlak zraka/vode v plastenki}: Analogni \SI[parse-numbers=false]{0-1,2}{\mega\pascal} merilnik tlaka tekočin ali plinov
\end{itemize}
\begin{multicols}{2}
\begin{figure}[H]
\centering
\includegraphics[width=0.5\textwidth]{img-tracked/navoji.jpg}
\caption{Kaj so navoji plastenk in gardena priključki}
\end{figure}
\vfill\null\columnbreak
Na nosilec bom vertikalno namestil plastenko z vsemi povezanimi senzorji. Seveda bi bilo lažje montirati horizontalno, kakor se ponavadi meri potiske motorjev raket, vendar bi nas pri tem motilo to, da bi vsa masa, ki bi jo potiskali iz plastenke, torej voda, \textit{padla} na dno plastenke, pod ventil, in ne bi iztekla.
Raketa je torej monitrana vertikalno, pritrjena na silomeru. Ob napolnitvi rakete z ustrezno količino vode začnemo z zračnim kompresorjem za polnjenje avtomobilskih gum do željene vrednosti polniti plastenko z zrakom. Po tem kompresor odstranimo in s pripravljenim mehanizmom gardena\footnote{Gardena je blagovna znamka podjetja, ki se ukvarja s priključki za zalivalne cevi in amatersko vodno napeljavo, vendar tukaj ni mišljeno kot blagovna znamka, temveč kot oblika priključka.} priključek odklopimo iz rampe rakete, da voda potisne raketo navzgor. Sinhroniziramo meritve in jih shranimo v tabelo.
Za pridobitev dejanske sile potiska moramo surovim meritvam vage prišteti še gravitacijsko silo po formuli $m\cdot g$, kjer je $m$ masa plastenke v danem trenutku. Maso lahko izračunamo, saj nam je tara, torej masa plastenke in ostalih priprav, znana, odšteti moramo samo še gravitacijsko silo na vodo v plastenki, ki jo izvemo iz videoanalize.
\end{multicols}
\begin{multicols}{2}
Namesto dejanske rakete bom uporabil plastenko, ker itak zračni upor zanemarimo --- raketa bo fiksno vpeta. Za izstrelitev bom vseeno uporabil vzletno rampo za vodne rakete, ker jo itak že imam. Deluje tako, da na raketo, ki ima navaden \SI{22}{\milli\meter} navoj PET plastenke, pritrdimo adapter, ki ima na eni strani ženski navoj plastenke, na drugi pa moški gardena priključek, nato pa gardena priključek zahakljamo v namensko pripravo, ki nam omogoča hkratno polnjenje z zrakom iz kompresorja in sunkovit odklop. Priprava ima standardni avtomobilski ventilček.
Za merjenje tlaka v plastenki bi lahko v plastenko zvrtal luknjo in namestil medeninasti navoj, ki bi ga prilepil z močnim lepilom, odpornim na vodo, recimo s sikafleksom\footnote{Sikafleks je blagovna znamka podjetja, ki se ukvarja z vodoodpornimi industrijskimi lepili, vendar tukaj ni mišljeno kot blakovna znamka, temveč kot tip lepila.}. Ker to morebiti ne bi zdržalo večjih tlakov, bi bila alternativna rešitev uporaba vodovodarskega T-adapterja, na katerega bi na eno \textit{roko} privili plastenko, na \textit{nogo} merilnik tlaka, na drugi \textit{roki} pa bi imeli gardena priključek. Tak T-adapter bi bilo zelo težko najti, najlažja metoda bi bila 3D-tisk.
\vfill\null\columnbreak
\begin{figure}[H]
\centering
\includegraphics[width=0.5\textwidth]{img-tracked/rampa.jpg}
\caption{Kaj sta vzletna rampa in daljinski upravljalnik}
\end{figure}
\end{multicols}
\section{Seznami}
\subsection{Uporabljeni merilniki in ostala oprema}
Dokumentacija teh merilnikov in programov, kakor sem jo uspel najti, je povezana na koncu dokumenta.
\subsubsection{HX711 ADC in vaga}
\begin{multicols}{2}
\begin{figure}[H]
\centering
\includegraphics[width=0.4\textwidth]{img/loadcell.jpg}
\caption{Kaj je vaga (to sicer ni moja vaga)}
\end{figure}
Vnaprej kalibriran merilnik potiska oziroma sile se pogosto uporablja v digitalnih tehtnicah. Angleško delu merilnika, ki silo pretvori v upornost ali spremembo napetosti rečemo \textit{load cell}. ADC HX711 in vezje, ki sem ga naročil, pa omogoča sila preprosto merjenje vrednosti, ki jih sicer analogno poda vaga.
Meritve potiska bom izvajal desetkrat na sekundo, morebiti bom pa poizkusil še z merjenjem osemdesetkrat na sekundo.
Vaga ima razpon zaznavanja od 0 do 5 kilogramov na Zemlji, torej okoli 0 do 50 njutnov sile.
\end{multicols}
\subsubsection{Analogni merilnik tlaka}
\begin{multicols}{2}
Neimenovan in neoznačen analogni merilnik tlaka, ki glede na tlak ustrezno nastavi izhodno napetost od 0 do 5 voltov, sem naročil iz Kitajske. Pričakujem največ težav prav z njim, predvsem z vidika motenj na analognem vhodu v procesor in težke kalibracije. Procesor mi namreč poda zgolj vrednost od 0 do 1023, ki ponazarja napetost od 0 do 5 voltov, vendar, kakor opažam, na to vrednost vplivajo motnje iz okolice, npr. radijski oddajniki in vrednosti okoliških digitalnih vhodov.
V kolikor pride do težav s tem merilnikom, lahko še vedno uporabim kakšen neelektričen merilnik s kazalcem in opravim videoanalizo.
\vfill\null\columnbreak
\begin{figure}[H]
\centering
\includegraphics[width=0.2\textwidth]{img/pressure.jpg}
\caption{Kaj je merilnik tlaka (to sicer ni moj merilnik tlaka)}
\end{figure}
\end{multicols}
\subsubsection{Videokamera in program Tracker}
\begin{multicols}{2}
\begin{figure}[H]
\centering
\includegraphics[width=0.5\textwidth]{img-tracked/tracker.png}
\caption{Kaj je Tracker (predvaja se Trackerju priložen posnetek)}
\end{figure}
Videokamera bo povsem preprosto snemala izliv vode iz plastenke, posnetke pa bom nato prenesel na računalnik.
Tracker je odprtokoden program za videoanalizo, spisan v Javi. Večina njegovih funkcij za tako osnovno merjenje ni potrebna, ne bom ga dodatno ročno kalibriral za napake merjenja zaradi ukrivljanja zornega območja, ker bo plastenka itak v sredini posnetka. Za razliko od npr. LoggerPro programa Tracker sicer nudi možnost avtomatskega sledenja objektom, lahko bi npr. v plastenko spustil plovček in mu sledil avtomatsko, vendar to ni smiselno, lažje je samo na roke vsako sličico klikniti na vodno gladino.
Za pridobitev volumna vode bom uporabil vpogledno tabelo (angleško \textit{lookup table}), ki jo bom sestavil tako, da bom najprej izmeril na centimeter natančno, koliko je vode v plastenki, ko je gladina na določeni višini.
\end{multicols}
\subsubsection{ESP8266 ESP-12E NodeMCU}
\begin{multicols}{2}
Tako kot v prejšnji projektni nalogi bom tukaj kot procesor za merilnik potiska in merilnik pritiska uporabil ESP8266. Podrobnejši opis ni potreben, saj je že bil opisan lansko leto. Tudi program bo ostal enak, z dvema ključnima razlikama. Ob začetku merjenja bo utrip vgrajene LED sijalke, ki bo posnet na videoposnetku, zagotovil sinhronizacijo podatkov, ki jih merijo merilniki, in podatkov, pridobljenih iz videoanalize. Sinhronizacija glede na čas napram lanski nalogi tukaj ne bi bila dovolj natančna, saj celotno merjenje traja slabih pet sekund. Druga sprememba bo pa uporaba vgrajenega ADC v procesorju, saj bo le-ta brez posebnega zunanjega kontrolerja, kot bo to narejeno pri meritvi potiska, meril in kalibriral merilnik tlaka.
Poleg tega bo zaradi pomanjkanja procesorskega časa potrebno korenito spremeniti lansko programje, predvsem pred samo meritvijo izključiti vse moteče dejavnike, kot so spletna nazdorna plošča, sinhronizacija časa in brezžična povezava, in jih nato spet vključiti.
\vfill\null\columnbreak
\begin{figure}[H]
\centering
\includegraphics[width=0.5\textwidth]{img/esp8266.jpg}
\caption{Kaj je ESP8266 ESP-12E NodeMCU}
\end{figure}
\end{multicols}
\subsubsection{Navoji, plastenke in plastični adapterji}
Nekaj plastičnih adapterjev, zamaškov in plastenk bo potrebnih za emulacijo vodne rakete.
\subsubsection{Vzletna rampa}
Rampa bo služila kot stojalo za raketo.
\subsection{Merjene količine}
\begin{itemize}
\item \textbf{Zračni/vodni tlak v plastenki}: Paskal
\item \textbf{Količina vode v plastenki}: Liter, izračunana glede na višino vode po tabeli vrednosti.
\item \textbf{Potisk}: Njuton
\end{itemize}
\subsection{Konstante}
\begin{itemize}
\item Gostota vode
\item Temperatura
\item $g$
\item Gostota zraka
\item Zunanji tlak
\item Presek vodnega toka
\item Celoten volument plastenke
\end{itemize}
\section{Obseg spreminjanja neodvisne količine}
\begin{itemize}
\item Začetno razmerje med vodo in zrakom v plastenki: 25\% vode, 25\% vode, 75\% vode
\item Tlak zraka v plastenki pred odprtjem odprtine: \SI{100}{\kilo\pascal}, \SI{200}{\kilo\pascal}, \SI{300}{\kilo\pascal}
\end{itemize}
\section{Grafi, s katerimi bodo meritve predstavljene}
Za vsako kombinacijo sprememb neodvisnih količin bom prikazal potisk, pritisk in volumen vode v odvisnosti od časa.
\section{Opis teoretičnega modela}
\begin{itemize}
\item Zračni upor zanemarimo, ker je rakete fiksno vpeta in ne leti.
\item Upoštevali bomo dve glavni sili na raketo kot sistem, silo teže ($F_g$) in silo potiska vsled odriva vode/mase ($F_\alpha$). Masa rakete brez vode je konstantno $m_0$, vendar je pri računanju sile teže treba upoštevati, da je med letom vedno manj vode. Enačba za silo teže v danem trenutku je torej $F_g = g\cdot(m_0+m_\alpha)$, kjer je $m_\alpha$ masa vode v trupu rakete.
\item Da raketa vzleti, mora biti zagotovljeno naslednje stanje: $F_g < F_\alpha$. To se zgodi takrat, ko je potisk oziroma potisna sila vode dovolj velika ter je izteklo že dovolj vode.
\item $t_0$ je začetni časovni žig meritev ob odprtju ventila.
\item $t_\alpha$ je čas ob danem času/volumnu/pritisku/potisku/....
\item $V_0$ predstavlja začetni volumen vode v plastenki. V meritvah bo to spremenljivka in bo poizkusno variiran.
\item $V_\alpha$ je volumen vode ob danem času/volumnu/pritisku/potisku/... med letom v plastenki.
\item $p_0$ je začetni tlak v plastenki in hkrati tlak okolice. Tlak okolice ne bo merjen, ker se smatra, da se zanemarljivo spreminja. Pri računanju, kjer je potreben tlak okolice, se uporabi $p_0$.
\item $p_\alpha$ je delta oziroma razlika med tlakom v plastenki in $p_0$ oziroma tlakom okolice ob danem času/volumnu/pritisku/potisku/....
\subsubsection{Hipoteze oziroma predvidevanja}
\begin{itemize}
\item Predvidevam, da bo večanje količine vode ($V_0$) na neki točki postalo brezpredmetno, saj bo raketa pretežka, beri $F_g$ bo prevelik in bo voda prvih nekaj desetink sekunde zgolj na tleh iztekala vodo.
\end{itemize}
\section{Licence slik}
\begin{enumerate}
\item Anton Luka Šijanec. \textit{Kaj so navoji plastenk in gardena priključki}.
\item Anton Luka Šijanec. \textit{Kaj sta vzletna rampa in daljinski upravljalnik}.
\item \href{https://pixabay.com/users/guilhermeaudibernardo-6192360/}{Guilherme Audi Bernardo}. \textit{\href{https://pixabay.com/photos/load-cell-weighing-technology-2652902/}{Load cell}}. \ccPublicDomain\ Javna last
\item \href{https://de.wikipedia.org/wiki/Benutzer:Bro37}{Bro37@Deutsch Wikipedia}. \textit{\href{https://commons.wikimedia.org/wiki/File:Druckmessumformer.jpg}{Druckmessumformer}}. \ccPublicDomain\ Javna last
\item Anton Luka Šijanec (posnetek zaslona). \textit{Kaj je Tracker}.
\item Anton Luka Šijanec. \textit{\href{http://razor.arnes.si/~asija3/files/sola/gimb/1/fiz/naloga/tekst/slike/esp8266.jpg}{NodeMCU 1.0 in NodeMCU 0.9}}.
\end{enumerate}
\section{Viri in literatura}
\nocite{*}
\printbibliography
\section{Zaključek}
Ta dokument je informativne narave in se lahko še spreminja. Najnovejša različica, torej PDFji in
\hologo{LaTeX}\footnote{Za izdelavo dokumenta potrebujete \texttt{TeXLive 2021}.}
izvorna koda, zgodovina sprememb in prejšnje različice, je na voljo v mojem šolskem Git repozitoriju na
\url{https://git.sijanec.eu/sijanec/sola-gimb-2} v mapi
\href{https://git.sijanec/sola-gimb-2/src/branch/master/\predmdn/\predmkaj/\stevilkadn/}{/\predmdn/\predmkaj/\stevilkadn/}. Povezava za ogled zadnje različice tega dokumenta v PDF obliki je \url{http://razor.arnes.si/~asija3/files/sola/gimb/2/\predmdn/\predmkaj/\stevilkadn/dokument.pdf} in/ali \url{https://git.sijanec.eu/sijanec/sola-gimb-2/raw/branch/master/\predmdn/\predmkaj/\stevilkadn/dokument.pdf}.
\if\razhroscevanje1
\vfill
\section*{Razhroščevalne informacije}
Te informacije so generirane, ker je omogočeno razhroščevanje. Pred objavo dokumenta izklopite razhroščevanje. To naredite tako, da nastavite ukaz \texttt{razhroscevanje} na 0 v začetku dokumenta.
Grafi imajo natančnost \functionSamples\space točk na graf.
Konec generiranja dokumenta: \today\ ob \currenttime\footnote{To ne nakazuje dejanskega časa, ko je bil dokument napisan, temveč čas, ko je bi dokument generiran v PDF/DVI obliko. Isto velja za datum v glavi dokumenta. Če berete direktno iz LaTeX datoteke, bo to vedno današnji datum.}%\input|"date -Ins"
Dokument se je generiral R0qK1KR2 \SI{}{\second}.
\fi
% \item $$$$ aaasecgeninsaaa R0qK1KR2
\end{document}