Rev Author Line No. Line
3465 kaklik 1 \documentclass[12pt,a4paper,oneside]{article}
2 \usepackage[colorlinks=true,unicode]{hyperref}
3 \usepackage[utf8]{inputenc}
4 \usepackage[czech]{babel}
5 \usepackage{graphicx}
6 \usepackage{pdfpages}
3474 kaklik 7 \usepackage{listings} % Include the listings-package
3465 kaklik 8 \textwidth 16cm \textheight 25cm
9 \topmargin -1.3cm
10 \oddsidemargin 0cm
11 \usepackage{footnote}
12 \pagestyle{empty}
13 \begin{document}
3474 kaklik 14 \title{Testování modulu ALTIMET01A}
3484 pomiceva 15 \author{Jakub Kákona, Eva Pomíchalová; kaklik@mlab.cz, evapomichal@gmail.com}
3465 kaklik 16 \maketitle
17  
18 \thispagestyle{empty}
19 \begin{abstract}
3474 kaklik 20 Při realizaci projektu ABL01A bylo zjištěno, že snímání tlaku z čidla MPL3115A2 funguje navzdory specifikaci výrobce minimálně do výšky 16 km což je cca 10 kPa. Na druhou stranu interní tlakový atmosférický model je použitelný pouze do výšky cca 10 km ve větších výškách vykazuje značné nepřesnosti. Cílem tohoto dokumentu je popsat přesnější měření a kalibrace čidla v případě použití v barometrickém výškoměru pro balonovou sondu ABL01A
3465 kaklik 21 \end{abstract}
22  
23 \begin{figure} [htbp]
24 \begin{center}
3474 kaklik 25 \includegraphics [width=80mm] {./img/altimet01a_testing_setup.jpg}
3465 kaklik 26 \end{center}
27 \end{figure}
28  
29 \begin{figure} [b]
3474 kaklik 30 \includegraphics [width=25mm] {./img/ALTIMET01A_QRcode.png}
3465 kaklik 31 \end{figure}
32  
33 \newpage
34 \tableofcontents
3474 kaklik 35 \newpage
3465 kaklik 36  
3474 kaklik 37 \section{Popis konstrukce}
3465 kaklik 38  
3480 kaklik 39 Realizace testovacího systému pro čidlo MPL3115A2 využívá modulu I2CHUB02A, který umožňuje testování více čidel najednou. Čidla jsou tak společně umístěna ve vakuovém zvonu s řízeným tlakem a naměřené tlaky jsou společně s teplotami vyčítány I$^2$C sběrnici. Sběrnice I$^2$C byla z řídícího počítače vyvedena přes převodník i2c-avr-USB \cite{i2c-avr-USB}.
3476 kaklik 40 Paralelně k hodnotám získaných z modulů ALTIMET je z řídícího počítače ještě vyčítán tlak měřený z referenčního měřícího přístroje DPI 145.
3465 kaklik 41  
3476 kaklik 42 Měřící přístroj DPI 145 byl do systému zapojen přes rozhraní RS232 za použití převodníku RS232-USB. Nastavení komunikace je Parity=none, Speed=9600, Handshaking=none. (Způsob nastavení je možné nalézt v návodu k DPI145).
3465 kaklik 43  
3474 kaklik 44 \section{Programové vybavení}
3465 kaklik 45  
3476 kaklik 46 Pro vyčítání čidel a záznam naměřených hodnot byl použit Python. Využívající speciálně vytvořenou knihovnu \cite{MLAB-I2c-modules}. Tato knihovna řeší komunikaci se senzory MPL3115A2 v modulech ALTIMET01A. Samotný program je pak umístěn v dokumentační složce modulu ALTIMET01A \cite{data_logger}.
3465 kaklik 47  
3474 kaklik 48 Na začánku programu je nadefinována topologie zapojení modulů, což je viditelné v následujícím bloku kódu (Odsazení bylo upraveno za účelem vložení na šířku stránky).
3465 kaklik 49  
3474 kaklik 50 \lstset{language=Python}
51 \begin{lstlisting}[frame=single]
52 cfg = config.Config(
53 port = port,
54 bus = [
55 {
56 "type": "i2chub",
57 "address": 0x72,
58  
59 "children": [
60 {
61 "type": "i2chub",
62 "address": 0x70,
63 "channel": 3,
64 "children": [
65 {"name": "altimet1", "type": "altimet01" , "channel": 0, },
66 {"name": "altimet2", "type": "altimet01" , "channel": 3, },
67 {"name": "altimet3", "type": "altimet01" , "channel": 4, },
68 {"name": "altimet4", "type": "altimet01" , "channel": 5, },
69 {"name": "altimet5", "type": "altimet01" , "channel": 6, },
70 {"name": "altimet6", "type": "altimet01" , "channel": 7, },
71 ],
72 },
73 {"name": "altimet8", "type": "altimet01" , "channel": 6, },
74 ],
75 },
76 ],
77 )
78 cfg.initialize()
79 \end{lstlisting}
3465 kaklik 80  
3476 kaklik 81 Grafickou realizaci této topologie představuje obrázek \ref{test_setup_blocks}. V kterém jsou vynechána čísla portů na modulu I2CHUB02A. Podle nich jsou ve skutečnosti identifikována jednotlivá čidla, která jinak mají stejnou I2C adresu. Na sběrném počítači byl použit operační systém Linux Ubuntu 13.10.
3465 kaklik 82  
3474 kaklik 83 \begin{figure} [htbp]
84 \centering
85 \includegraphics [width=220mm, angle=90, origin=c] {./img/test_setup.png}
86 \caption{Zapojení jednotlivých modulů v testovacím přípravku.}
87 \label{test_setup_blocks}
88 \end{figure}
3465 kaklik 89  
3474 kaklik 90 \subsection{Čtení dat z přístroje DPI145}
3465 kaklik 91  
3476 kaklik 92 Vzhledem k tomu, že přístroj byl připojený přes rozhraní RS232 a ke komunikaci používá protokol SCPI, tak bylo možné jej ovládat přímo z jazyka Python zápisem na seriové rozhraní počítače. V následujícím bloku je uveden testovací kód, který vyčte data zobrazena na displeji (Měřící přístroj musí být nastaven tak, aby na displeji byla přímo hodnota, kterou potřebujeme zaznamenat).
3465 kaklik 93  
3476 kaklik 94 \begin{lstlisting}[frame=single]
95 #!/usr/bin/python
96  
97 # Druck DPI 145 preassure measuring instrument test utility.
98  
99 import serial
100  
101 ser = serial.Serial('/dev/ttyUSB0', 9600, timeout=1)
102 print ser.name
103 ser.write(':DISP?\n')
104 P_ref = eval(ser.readline(100))
105 sys.stdout.write("%s",P_ref)
106 ser.close()
107 \end{lstlisting}
108  
109 Data jsou přijata ve formě stringu. Pro získání numerické proměnné by bylo třeba je parserovat a vyhledávat číselný obsah.
110  
3484 pomiceva 111 \section{Měření}
3476 kaklik 112  
3484 pomiceva 113 Blokové schéma měření je zobrazeno na obrázku \ref{test_block_scheme}.
114  
115 \begin{figure} [htbp]
116 \centering
117 \includegraphics [width=100mm, origin=c] {./img/Diagram1.png}
118 \caption{Blokové schéma zapojení měření.}
119 \label{test_block_scheme}
120 \end{figure}
121  
3476 kaklik 122 \subsection{Systém sběru dat z tlakových čidel}
3480 kaklik 123 Pro testování modulu ALTIMET01A s tlakovým čidlem MPL3115A2 byl vytvořen testovací přípravek využívající I2C a převodník i2c-avr-USB. Měřící systém byl ovládán skriptem napsaným v jazyce Python spouštěném na linuxovém počítači.
3476 kaklik 124  
3484 pomiceva 125 \subsection{Výsledky}
126  
127 Byly provedeny 3 měření z nichž použitelné byly 2 sady dat. V první sadě bylo použito pouze 5 senzorů, 1 byl nefunkční. V druhé sadě bylo stoupání ukončeno ve výšce přibližně 16 km z časových důvodů. Nicméně získaná data jsou pro účely práce dostačující.
128  
129 Na obrázku \ref{KorekceTlaku} je porovnání údajů ze senzorů oproti údajům z DPI 145. Naměřené hodnoty byly proloženy polynomem prvního stupně. Hodnoty koeficientů pro jednotlivé senzory jsou následující.
130  
131 \newpage
132  
133 \begin{verbatim}
134 Final set of parameters Asymptotic Standard Error
135 ======================= ==========================
136  
137 k1 = 0.998531 +/- 0.0004952 (0.04959%)
138 q1 = 1.00027 +/- 25.23 (2522%)
139  
140 k2 = 0.999998 +/- 0.0005202 (0.05202%)
141 q2 = 1 +/- 26.47 (2646%)
142  
143 k3 = 0.998286 +/- 0.0002962 (0.02967%)
144 q3 = 171.628 +/- 15.05 (8.77%)
145  
146 k4 = 0.999579 +/- 0.001141 (0.1142%)
147 q4 = 1.00012 +/- 58.07 (5807%
148  
149 k5 = 1.00002 +/- 0.0002655 (0.02655%)
150 q5 = 84.5852 +/- 13.49 (15.95%)
151  
152 k6 = 1.00217 +/- 1.274e+10 (1.271e+12%)
153 q6 = 1.00217 +/- 1.274e+10 (1.271e+12%)
154 \end{verbatim}
155  
156 Při bližším zkoumání grafu v části s nízkými hodnotami tlaku \ref{KorekceTlakuZoom}, lze nalézt drobné odchylky hodnot od aproximace přímkou. Pokud by tyto odchylky byly několikanásobně větší, znamenalo by to, že senzory neměří přesně oproti DPI145. Odchylky jsou však jen drobné, proto lze usuzovat, že senzory měří i ve vyšších výškách než udává výrobce minimálně s takovou přesností jako DPI145.
157  
158 Pro rozšíření informací o přístrojích používaných v laboratoři se lze podívat na obrázek \ref{stoupani}, na kterém vidíme rychlost "stoupání" do výšky téměř 19 km. Stoupání bylo simulováno vývěvou, která odsávala vzduch z vakuového zvonu, ve kterém byly uloženy senzory. Tlak vzduchu byl regulován ručně studentem provádějícím měření přes regulátor, který je zachycen na obrázku na úvodní stránce zprávy.
159  
160 Výška byla vypočítána pomocí barometrické rovnice. Pro zajímavost lze porovnat zobrazení závislosti tlaku a výšky vypočítané pomocí barometrické rovnice z naměřených "kalibrovaných" hodnot \ref{tlak_vyska} a stejnou závislost v grafu pro mezinárodní standardní atmosféru \ref{MSA}.
161  
162 \begin{figure} [htbp]
163 \centering
164 \includegraphics [width=130mm, origin=c] {./img/KorekceTlaku.png}
165 \caption{Senzory vs. DPI145.}
166 \label{KorekceTlaku}
167 \end{figure}
168  
169 \begin{figure} [htbp]
170 \centering
171 \includegraphics [width=130mm, origin=c] {./img/KorekceTlakuZoom.png}
172 \caption{Proklad polynomem - nízké hodnoty tlaku.}
173 \label{KorekceTlakuZoom}
174 \end{figure}
175  
176 \begin{figure} [htbp]
177 \centering
178 \includegraphics [width=130mm, origin=c] {./img/Stoupani.png}
179 \caption{Stoupání.}
180 \label{stoupani}
181 \end{figure}
182  
183 \begin{figure} [htbp]
184 \centering
185 \includegraphics [width=130mm, origin=c] {./img/Tlak_vyska.png}
186 \caption{Tlak vs. výška.}
187 \label{tlak_vyska}
188 \end{figure}
189  
190 \begin{figure} [htbp]
191 \centering
192 \includegraphics [width=100mm, origin=c] {./img/graf.png}
193 \caption{Mezinárodní standardní atmosféra.}
194 \label{MSA}
195 \end{figure}
196  
197 \subsection{Nejistota}
198 Nejistotu lze spočítat podle následujících vzorců. Byla spočítaná tzv. rozšířená nejistota. Vzorec platí za předpokladu, že chyby jsou rovnoměrně rozložené.
199 $u_{DPI}$ označuje nejistotu tlakoměru DPI145, $u_s$ označuje nejistotu senzorů udávanou výrobcem v rozsahu 70-110 kPa. $u_{st}$ je potom tzv. standardní nejistota a $u_{aug}$ nejistota rošířená.
200  
201 \begin{equation}
202 u_{DPI} = 0.0002 \cdot rdg + 0.0001 \cdot FS
203 \end{equation}
204 \begin{equation}
205 u_{s} = 0.005 kPa
206 \end{equation}
207 \begin{equation}
208 u_{st} = \sqrt{u_{DPI}^{2}+u_{s}^{2}}
209 \end{equation}
210 \begin{equation}
211 u_{aug} = \frac{2}{\sqrt{3}} \cdot u_{st}
212 \end{equation}
213  
214 Například pro naměřenou hodnotu tlaku 0.30259 kPa vyjde nejistota 0.30669 kPa. Tato chyba je oproti chybě senzorů udávané výrobcem velmi vysoká. Proto není možné senzory pomocí přístroje DPI145 kalibrovat. Přesnost DPI145 by bylo vhodné vylepšit vhodnějším nastavením rozsahu, to by ovšem zmenšilo chybu pouze 2.6x což stále není přesnější než senzory.
215  
216 \subsection{Závěr}
217  
218 \begin{itemize}
219 \item Při měření byla udělána chyba v nastavení rozsahu přístroje DPI145. Z hlediska nejistoty by bylo vhodnější nastavit menší rozsah.
220 \item Použité přístroje nevykázaly žádné potíže ani ve výškách vyšších než 11 km. Pouze vakuování zvonu ve vyšších výškách trvalo delší dobu.
221 \item Senzory měří i mimo výrobcem udávaný rozsah (ve větších výškách) a to minimálně se stejnou přesností jako přístroj DPI145.
222 \item Senzory jsou v rozsahu udávaném výrobcem dle jejich výrobce přesnější než přístroj DPI145.
223 \item Senzory není možné kalibrovat pomocí přístroje DPI145.
224 \item Naměřené hodnoty přibližně odpovídají hodnotám MSA, barometrická rovnice byla použita správně. Do cca 18 km nejsou vykázány žádné výrazné změny oproti MSA, ačkoli obecně barometrická rovnice platí pouze do 11 km. Pro účely tohoto měření a zobrazení postačí.
225 \end{itemize}
226  
227  
228  
3465 kaklik 229 \begin{thebibliography}{99}
3474 kaklik 230 \bibitem{MLAB-I2c-modules}{https://github.com/MLAB-project/MLAB-I2c-modules}
231 \href{https://github.com/MLAB-project/MLAB-I2c-modules}{MLAB-I2c-modules}
232 \bibitem{data_logger}{svn://svn.mlab.cz/mlab/Modules/Sensors/ALTIMET01A/SW/Python}
233 \href{svn://svn.mlab.cz/mlab/Modules/Sensors/ALTIMET01A/SW/Python}{MLAB-I2c-modules}
3480 kaklik 234 \bibitem{i2c_avr_USB}{http://wiki.mlab.cz/doku.php?id=cs:i2c\_avr\_usb}
235 \href{http://wiki.mlab.cz/doku.php?id=cs:i2c_avr_usb}{i2c-avr-USB}
3465 kaklik 236 \end{thebibliography}
237 \end{document}