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}
15 \author{Jakub Kákona, Eva Pomíchalová; kaklik@mlab.cz}
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  
3476 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 USB-AVR-i2c.
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  
111 \section{Výsledky}
112  
113 \subsection{Systém sběru dat z tlakových čidel}
114  
115 Pro testování modulu ALTIMET01A s tlakovým čidlem MPL3115A2 byl vytvořen testovací přípravek využívající I2C a převodník USB-avr-i2c. Měřící systém byl ovládán skriptem napsaným v jazyce Python spouštěném na linuxovém počítači.
116  
3465 kaklik 117 \begin{thebibliography}{99}
3474 kaklik 118 \bibitem{MLAB-I2c-modules}{https://github.com/MLAB-project/MLAB-I2c-modules}
119 \href{https://github.com/MLAB-project/MLAB-I2c-modules}{MLAB-I2c-modules}
120 \bibitem{data_logger}{svn://svn.mlab.cz/mlab/Modules/Sensors/ALTIMET01A/SW/Python}
121 \href{svn://svn.mlab.cz/mlab/Modules/Sensors/ALTIMET01A/SW/Python}{MLAB-I2c-modules}
3465 kaklik 122 \end{thebibliography}
123 \end{document}