/Designs/Measuring_instruments/ABL01A/DOC/src/zprava.cs.tex
73,7 → 73,7
 
\subsubsection{Technické parametry}
 
Většinu řídící elektroniky je složena z modulů
Většina řídící elektroniky je složena z modulů
\href{http://www.mlab.cz/}{stavebnice MLAB}
 
Komunikace s řídícím systémem sítě stanic je aktuálně řešena terminálem na RS232 tvořeného modulem \href{http://www.mlab.cz/PermaLink/RS232SINGLE01A}{RS232SINGLE01A} respektive jeho USB variantou \href{http://www.mlab.cz/PermaLink/USB232R01B}{USB232R01B}. Další možnosti připojení jsou následující:
128,16 → 128,16
Většina akčních členů je konstruována s důrazem na maximální
spolehlivost. Akční členy proto jsou pružiny s
přepalovacími PE pojistkami (silonové vlákno, nebo stuha
přepalovaná výkonovým rezistorem) ke spínáni proudu do rezistorů může
přepalovaná výkonovým rezistorem) ke spínáni proudu do rezistorů
je využit modul \href{http://www.mlab.cz/PermaLink/NFET4X01B}{NFET4X01B}
 
\section{Firmware pozemní stanice}
 
\subsection{Real-time operační systém}
Pro ovládání celého systému byl zvolen real-time operační systém (ROS). Ten byl zvolen především pro zjednušení programování vypouštěče, konkrétně nastavování periférií procesoru a řízení vícevláknové aplikace na něm běžící.\\
Jako ROS pro tuto aplikaci tak byl zvolen ChibiOS, který splňuje standardní požadavky na ROS a také s ním máme zkušenosti s programováním jiných aplikací pod procesory ARM.
Pro ovládání celého systému byl zvolen real-time operační systém (RTOS). Ten byl zvolen především pro zjednušení programování vypouštěče, konkrétně nastavování periférií procesoru a řízení vícevláknové aplikace na něm běžící.\\
Jako RTOS pro tuto aplikaci tak byl zvolen ChibiOS, který splňuje standardní požadavky na RTOS a také s ním máme zkušenosti s programováním jiných aplikací pod procesory ARM a ovládáním modulů \href{http://www.mlab.cz/}{stavebnice MLAB}.
\subsection{Vysvětlení funkce firmwaru}
Aplikace pro ovládání odpalování se dá rozdělit na čtyři funkční bloky, které jsou realizovány pomocí vláken. Funkční diagram je zobrazen na Obr. \cite{Diag_firmware}. V následujících kapitolách bude podrobněji rozebrána funkce jednotlivých vláken aplikace.
Aplikace pro ovládání odpalování se dá rozdělit na čtyři funkční bloky, které jsou realizovány pomocí vláken. Funkční diagram je zobrazen na Obr. \ref{fig:Diag_firmware}. V následujících kapitolách bude podrobněji rozebrána funkce jednotlivých vláken aplikace.
\subsubsection{Blikání LED}
V tomto vlákně je realizované prosté blikání LED, které slouží pro signalizaci běhu programu. Mezi tím, kdy dioda svítí a nebo je vypnutá je vlákno uspáno. Tím je vyřešeno jak časování tak úspora prostředků procesoru.
\subsubsection{Vypouštění}
149,7 → 149,7
\end{enumerate}
Ad. 1. Po příjmu příkazu, který zahajuje celou sekvenci odpalování se vypíše na terminál zpráva o zahájení vypouštění a sepne se pin, na kterém je připojen aktuátor, který otevírá víko krabice, ve které je balón uložen (v době vykonávání každého kroku je na terminál vypisována informace o tom, kolik procent z daného kroku je již vykonáno). Pomocí koncového spínače je snímána informace o tom, zda se střecha opravdu otevřela, pokud se tak nestalo, je celá sekvence ukončena. Pokud snímač indikuje otevření střechy, přistupuje se k dalším kroku.\\
Tím je otevření ventilu a tím pádem zahájení napouštění balónu. Tento krok není nijak v současné chvíli zpětnovazebně snímán - je dán pouze čas kdy je ventil otevřen. Do budoucna bychom rádi použili měření průtoku k získání informace, zda je balón opravdu napuštěn daným množstvím plynu.\\
Třetím krokem celé sekvence je přepálení plastové pojistky, která spouští tavící lis. Po pevně dané časové prodlevě, která by měla stačit pro přetavení, je pomocí koncového spínače zjištěno, zda se pojistka přetavila. Pokud ano, pokračuje se posledním krokem, pokud ne, dochází opět k přerušení sekvence a návrat do výchozího stavu.\\
Třetím krokem celé sekvence je přepálení plastové pojistky, která spouští tavící lis. Po pevně dané časové prodlevě, která by měla stačit pro přetavení, je pomocí koncového spínače zjištěno, zda se pojistka přetavila. Pokud ano, pokračuje se posledním krokem, pokud ne, dochází opět k přerušení odpalovací sekvence a návrat do výchozího stavu.\\
Posledním krokem je zatavení naplněného balónu. V tomto kroku je opět nadefinován čas, po který dochází k zatavování balónu pomocí odporového drátu. Po uplynutí nadefinované doby je balón zataven a na terminál je vypsána informace o ukončení vypouštění a všechny výstupy jsou v neaktivním stavu.\\
Ad. 2. V případě příjmu zprávy, která přikazuje ukončení procesu odpalování, se deaktivují výstupy aktivní během vypouštění a uživatel je informován o úspěšném přerušení celé sekvence.\\
Ad. 3. Pro přesné časování během celého procesu odpalování je využito funkce časovače. Ten se v každém kroku odpalování sepne na určitou dobu, která je celočíselným násobkem celkové doby, kterou se čeká v daném kroku. Tento postup byl zvolen z toho důvodu, aby mohla být průběžně aktualizována zpráva pro uživatele vyjadřující čas, který zbývá do ukončení daného úkolu.
161,8 → 161,8
\subsubsection{Příjem dat z GPS modulu}
 
Posledním vláknem využívaném ve firmwaru vypouštěče je vlákno, které se stará o příjem a dekódování NMEA zprávy posílané po sériové lince z GPS modulu
\cite{GPS_ublox}. Každou vteřinu je vyčítána NMEA zpráva a z ní je vybrána GPRMC zpráva, ze které je následně získána informace o aktuálním čase, datu a poloze stanice. Tato informace slouží jednat pro přesné logování událostí a zároveň v budoucnu pro snadné lokalizování vypouštěcí stanice.\subsection{Uživatelské rozhraní terminálu}
Při spuštění terminálu se po resetu programu procesoru vypíše úvodní zpráva s nápovědou, na které výstupní kontakty procesoru jsou připojeny jednotlivé akční členy. Následně je program v pohotovostním režimu a očekává příkaz. Jednotlivé příkazy jsou:
\cite{GPS_ublox}. Každou vteřinu je vyčítána NMEA zpráva a z ní je vybrána GPRMC zpráva, ze které je následně získána informace o aktuálním čase, datu a poloze stanice. Tato informace slouží jednak pro přesné logování událostí a zároveň v budoucnu pro snadné lokalizování vypouštěcí stanice.\subsection{Uživatelské rozhraní terminálu}
Při spuštění terminálu se po resetu programu procesoru vypíše úvodní zpráva s nápovědou, na kterých výstupních pinech procesoru jsou připojeny jednotlivé akční členy. Poté program přechází do pohotovostního režimu a čeká na příkaz od uživatele. Tyto příkazy jsou:
 
\begin{enumerate}
\item odpal
171,19 → 171,19
\item check
\end{enumerate}
 
Příkaz \textbf{odpal} spustí vypouštěcí sekvenci probuzením daného vlákna pro vypouštění. Příkaz \textbf{zrus} zastaví vypouštěcí sekvenci, pokud byla zahájena a indormuje o tom výpisem o ukončení vypouštění. Zároveň jde vypouštění zrušit okamžitě stisknutím "s" bez nutnosti potvrzovat příkaz enterem. Příkaz \textbf{help} vypíše stejnou úvodní zprávu jako po resetu programu. Poslední příkaz \textbf{check} lze použít pro kontrolu stavu vypouštěče před začátkem vypouštění. Po zadání tohoto příkazu jsou na terminál vypsány informace o aktuálních stavech použitých senzorů. Lze tak například zkontrolovat, že střecha není zajištěna, nebo že je lis již spuštěn.
Příkaz \textbf{odpal} spustí vypouštěcí sekvenci probuzením daného vlákna pro vypouštění. Příkaz \textbf{zrus} zastaví vypouštěcí sekvenci, pokud byla zahájena a informuje o tom výpisem o ukončení vypouštění. Zároveň jde vypouštění zrušit okamžitě stisknutím "s" bez nutnosti potvrzovat příkaz enterem. Příkaz \textbf{help} vypíše stejnou úvodní zprávu jako po resetu programu. Poslední příkaz \textbf{check}, lze použít pro kontrolu stavu vypouštěče před začátkem vypouštění. Po zadání tohoto příkazu jsou na terminál vypsány informace o aktuálních stavech použitých senzorů. Lze tak například zkontrolovat, že střecha není zajištěna, nebo že je lis již spuštěn.
 
\begin{figure}[hbtp]
\centering
\includegraphics[height=200mm]{./img/program_flow.png}
\caption{Funkční diagram firmwaru Automatického vypouštěče}
\label{Diag_firmware}
\label{fig:Diag_firmware}
\end{figure}
 
 
\begin{figure}
\centering
\includegraphics[width=10cm, height=8cm]{img/blokoveschema1.png}
\includegraphics[width=10cm, height=8cm]{img/Schema_ARM.png}
\caption{Blokové schéma pozemního vypouštěcího boxu}
\label{fig:blokpozem}
\end{figure}
269,7 → 269,7
 
\begin{figure}
\centering
\includegraphics[width=10cm, height=8cm]{img/blokoveschema2.png}
\includegraphics[width=10cm, height=8cm]{img/Schema_ATmega.png}
\caption{Blokové schéma balónové sondy}
\label{fig:blokpozem}
\end{figure}
282,11 → 282,11
\paragraph{Kategorie balónu}
 
Balón by měl spadat do kategorie B2, která je definována jako volný
balón s objemem menším než 3,25 m\^{}3, přičemž žádný z rozměrů balónu
nepřekračuje 2 m. Rozměr 2 m je rozměr při jeho maximálním
balón s objemem menším než 3,25~$m^{3}$, přičemž žádný z rozměrů balónu
nepřekračuje 2~m. Rozměr 2~m je rozměr při jeho maximálním
naplnění/roztažení.
 
\paragraph{Povolení vyuštění}
\paragraph{Povolení vypuštění}
 
Užitečné zatížení představují předměty a materiály, které by v případě
střetu s letadlem mohly způsobit poškození letadla (zejména prskavky,
307,7 → 307,7
nebo zhotoveného z materiálů o velké světelné nebo radarové odrazivosti
musí být oznámeno nejbližšímu stanovišti letových provozních služeb.
Materiál (lano, provázek) spojující balón se sondou nesmí vydržet větší
sílu než 230N.
sílu než 230~N.
 
\hyperdef{}{dostup}{\paragraph{Dostup}\label{dostup}}
 
345,9 → 345,9
Záznam dostupných meteorologických dat pro pozdější rekonstrukci
(družicové snímky, aktuálně měřené hodnoty ČHMÚ, radarové snímky)
\item
sběr dat z jednotlivých stanic
Sběr dat z jednotlivých stanic
\item
výpočet vektoru a výškových profilů větru
Výpočet vektoru a výškových profilů větru
\end{itemize}
\subsubsection{Rozhodovací proces}
 
367,7 → 367,7
 
\begin{itemize}
\item
registrace jednotlivých stanic a správa uživatelů v kooperaci s
Registrace jednotlivých stanic a správa uživatelů v kooperaci s
projektem \href{http://www.astrozor.cz/}{Astrozor}
\end{itemize}