Rev 3474 Rev 3476
Line 34... Line 34...
34 \tableofcontents 34 \tableofcontents
35 \newpage 35 \newpage
36   36  
37 \section{Popis konstrukce} 37 \section{Popis konstrukce}
38   38  
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. Paralelně k těmto hodnotám 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. 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.
40   41  
41 Měřící přístroj DPI 145 byl do systému zapojen přes rozhraní RS232 za použití převodníku RS232-USB. 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).
42   43  
43 \section{Programové vybavení} 44 \section{Programové vybavení}
44   45  
45 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 sensory MPL3115A2 v modulech ALTIMET01A. Samotný program je pak umístěn v dokumentační složce modulu ALTIMET01A \cite{data_logger}. 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}.
46   47  
47 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). 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).
48   49  
49 \lstset{language=Python} 50 \lstset{language=Python}
50 \begin{lstlisting}[frame=single] 51 \begin{lstlisting}[frame=single]
Line 75... Line 76...
75 ], 76 ],
76 ) 77 )
77 cfg.initialize() 78 cfg.initialize()
78 \end{lstlisting} 79 \end{lstlisting}
79   80  
80 Grafickou realizaci této topologie představuje obrázek \ref{test_setup_blocks} 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.
81   82  
82 \begin{figure} [htbp] 83 \begin{figure} [htbp]
83 \centering 84 \centering
84 \includegraphics [width=220mm, angle=90, origin=c] {./img/test_setup.png} 85 \includegraphics [width=220mm, angle=90, origin=c] {./img/test_setup.png}
85 \caption{Zapojení jednotlivých modulů v testovacím přípravku.} 86 \caption{Zapojení jednotlivých modulů v testovacím přípravku.}
86 \label{test_setup_blocks} 87 \label{test_setup_blocks}
87 \end{figure} 88 \end{figure}
88   89  
89 \subsection{Čtení dat z přístroje DPI145} 90 \subsection{Čtení dat z přístroje DPI145}
90   91  
-   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).
-   93  
-   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.
91   116  
92 \begin{thebibliography}{99} 117 \begin{thebibliography}{99}
93 \bibitem{MLAB-I2c-modules}{https://github.com/MLAB-project/MLAB-I2c-modules} 118 \bibitem{MLAB-I2c-modules}{https://github.com/MLAB-project/MLAB-I2c-modules}
94 \href{https://github.com/MLAB-project/MLAB-I2c-modules}{MLAB-I2c-modules} 119 \href{https://github.com/MLAB-project/MLAB-I2c-modules}{MLAB-I2c-modules}
95 \bibitem{data_logger}{svn://svn.mlab.cz/mlab/Modules/Sensors/ALTIMET01A/SW/Python} 120 \bibitem{data_logger}{svn://svn.mlab.cz/mlab/Modules/Sensors/ALTIMET01A/SW/Python}