\documentclass[12pt,a4paper,twoside]{article}
\usepackage[colorlinks=true]{hyperref}
\usepackage[utf8]{inputenc}
\usepackage[czech]{babel}
\usepackage{graphicx}
\usepackage{fancyhdr}
\usepackage{fullpage}
\usepackage[top=5cm, bottom=10cm, left=2.5cm, right=2.5cm]{geometry}
\textwidth 16cm \textheight 20cm
\topmargin 0cm 
\oddsidemargin 0cm
\pagestyle{fancy}
\addtolength{\headsep}{30 pt}
\addtolength{\footskip}{50 pt}

\fancyfoot{}
\fancyfoot{\hspace*{5cm}}
\fancyfoot[L]{\includegraphics[width=1.5cm, height=1.5cm]{img/datamatrix.png} \hspace{0.5cm}  pomiceva kakonjak hanuson1 jichapav poskozby}
\fancyfoot[R] {\thepage}


\begin{document}
\title{Technická zpráva - Automatický vypouštěč meteobalónů}
\author{Eva Pomíchalová\\ Jakub Kákona\\ Ondřej Hanus\\ Pavel Jícha\\ Zbyněk Poskočil}
\maketitle


\thispagestyle{fancy}
\newpage
\begin{abstract}
\input{abstrakt.txt}

\end{abstract}
\newpage

%%\begin{figure} [htbp]
%%\begin{center}
%%\includegraphics [width=80mm] {SDRX01B_Top_Big.JPG} 
%%\end{center}
%%\end{figure}

\tableofcontents
\newpage

\section{Automatický vypouštěč meteobalónů}

Celý systém by měl být robotizovaným doplňkem sítě
\href{http://wiki.mlab.cz/doku.php?id=cs:rmds}{radiových detektorů meteorů}, případně pak i
její vizuální varianty (video pozorování a bolidové kamery).

Účel zařízení je zpřesnit odhad trajektorie temné dráhy meteoritu v
atmosféře zavedením korekcí na proudění vzduchových mas během letu. A
tím v důsledku zmenšit plochu dopadové elipsy meteoritu na zemský povrch.

Údaje o proudech v atmosféře budou získány balónovou sondou vypuštěnou
bezprostředně po detekci průletu bolidu atmosférou. Místo vypuštění
balónové sondy by mělo být zvoleno automaticky na základě odhadu dráhy
meteoru a známých souřadnic balónových sil v síti.

Důležitou součástí systému je plně robotizovaná vypouštěcí stanice
(balónové silo), která umožní vypuštění sondy ze známých souřadnic bez
zásahu lidské obsluhy. Vedlejším produktem takového vývoje bude zařízení
schopné v budoucnu automatizovat i vypouštění klasických
meteorologických
\href{http://en.wikipedia.org/wiki/Radiosonde}{radiosond}.

\subsection{Pozemní vypouštěcí box}

Pozemní stanici balónové sítě tvoří kompaktní krabice obsahující
techniku potřebnou k vypuštění balónové sondy. Zařízení je
konstruováno tak, aby bylo schopné vydržet řádově několik roků v
pohotovostním režimu, a čekat na příkaz k vypouštění sondy.

\subsubsection{Technické parametry}

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í: 

\begin{itemize}
\item
  Ethernet - modulem \href{http://www.mlab.cz/PermaLink/ETH01A}{ETH01A} 
\item
  Konvertor z TTL na sběrnici CAN \href{http://www.mlab.cz/PermaLink/TTLCAN01B}{TTLCAN01B} 
\item
  Konvertor z TTL na sběrnici RS485. \href{http://www.mlab.cz/PermaLink/TTLRS48501A}{TTLRS48501A} 
\item
  GSM (pro odlehlé oblasti)
\end{itemize}

Jako hlavní řídící MCU této jednotky byl vybrán ARM STM32F103R8T v modulu
\href{/doku.php?id=cs:stm32f10xrxt}{STM32F10xRxT01A}

\paragraph{Napájení systému}

Ve vývojové fázi funkčního vzoru je napájení systému řešeno PC ATX zdrojem, ze kterého jsou využity +5 V a +12 V větve. Toto řešení se neukázalo jako příliš optimální vzhledem ke špatné spolehlivosti PC zdrojů při provozu s nízkou zátěží v dalším prototypu bude proto ATX zdroj pravděpodobně nahrazen jiným spínaným zdrojem určeným pro tento druh aplikace. 

\subsubsection{Diagnostika poruch}

\begin{itemize}
\item
  Kontrola úspěšného startu (měření vztlaku balónu)
\item
  Měření teplot, tlaku plynové náplně, průtoku média do balónu.
\item
  Vlhkost uvnitř krabice (průsak a ztráta vodotěsnosti proražením víka a
  podobně)
\end{itemize}

\subsubsection{Meteorologická data}

  Základní meteorologické veličiny nutné pro rozhodnutí o startu jsou snímány lokálně (teplota, tlak, relativní vlhkost, směr rychlost větru) jsou snímány meteostanicí  \href{http://wiki.mlab.cz/doku.php?id=cs:aws}{AWS01B} a lokálně zaznamenáván společně s údaji z \href{/doku.php?id=cs:gps}{GPS01A} (pozice stanice a přesný čas) logu a reportu o průběhu startu. 


\subsubsection{Mechanická konstrukce}

Svařovaná plastová bedna s odstranitelným víkem. Dostatečně těsná, aby
  nebyla zajímavá pro hlodavce a další havěť.
  Konstrukce navržená tak, aby umožnila vypouštění i současných
  profesionálních balónových sond.
  Aktivace mechanických prvků přepálením vlákna
  uzavření balónu zatavením hrdla


\subparagraph{Akční členy}

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ů
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 (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. \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í}
Toto vlákno se stará o kompletní sekvenci pro vypuštění balónu. Po spuštění a inicializaci proměnných spadne program do nekonečné smyčky ve které je následně uspán a čeká na probuzení. To nastane ve třech případech:\\
\begin{enumerate}
\item Příjem příkazu pro odpal
\item Příjem příkazu pro zrušení odpalu
\item Probuzení od časovače
\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í 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.

\subsubsection{Příjem příkazu od uživatele}

Pro komunikaci s uživatelem je využito sériové linky. Ta se využívá jak pro informování uživatele o aktuálním stavu programu tak zároveň k příjmu příkazů od uživatele. Celý algoritmus příjmu příkazu spočívá ve vyčítání znaků zadaných uživatelem znak za znakem až do té chvíle, kdy je stisknut ENTER a nebo je překročena maximální délka příkazu. Poté se buď zadaný příkaz dekóduje a následně provede a nebo je vypsána informace, že příkaz nebyl rozeznán.

\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ží 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
\item zrus (nebo písmeno "s")
\item help
\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 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{fig:Diag_firmware}
\end{figure}


\begin{figure}
  \centering
  \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}


\subsection{Balónová sonda}

Neletový prototyp sondy bude vyvinut za použití modulů stavebnice
\href{http://www.mlab.cz/Server/GenIndex/GenIndex.php?lang=cs\&path=/Modules}{MLAB}

\href{/doku.php?id=cs:atmegatq32}{ATmegaTQ3201A},
\href{/doku.php?id=cs:sdcard}{SDcard01B},
\href{/doku.php?id=cs:gps}{GPS01A}

\subsubsection{Technické parametry}

GPS na sondě by měla být udržovaná ve stavu FIX, aby pak nedocházelo ke
zpoždění v důsledku čekání na fix.

\paragraph{Komunikace (Telemetrické údaje)}

\begin{itemize}
\item
  Primárním cílem je měření rychlosti a směru větru ve známých bodech.
\item
  GPS údaje 10Hz, textový výstup
  \href{http://en.wikipedia.org/wiki/NMEA\_0183}{NMEA}
\item
  další veličiny jako teploty, tlaky atd. jsou volitelné.
\item
  Radio maják a akustický maják?
\item
  Radiový přenos telemetrie v pásmu 27-450 MHz: možnost bezlicenčních
  pásem (SVN: VO-R-16, VO-R-10)
\item
  Radiomoduly: \href{http://www.artbrno.cz}{http://www.artbrno.cz},
  \href{http://www.anaren.com}{http://www.anaren.com}
\end{itemize}
GPS je potřeba vybrat tak, aby fungovala i ve větších výškách.
\textsuperscript{\href{\#fn\_\_3}{3)}}

\paragraph{Napájení sondy během letu}

\begin{itemize}
\item
  \href{http://en.wikipedia.org/wiki/Lithium\_battery}{Lithiový článek}
  (negeneruje teplo, minimální provozní teplota je -60 C)
\item
  Hořčíková baterie (generuje teplo pro temperování elektroniky)
\item
  \href{http://en.wikipedia.org/wiki/Silver-oxide\_battery}{Stříbro-oxidový
  článek} Vydrží nižší provozní teploty a je ekologicky nezávadný.
\item
  Ideální by bylo použití
  \href{https://www.youtube.com/watch?feature=player\_embedded\&v=OtM6XJlynkk}{superkapacitorů}
\end{itemize}
Řešením problému s nízkou teplotou ve vyšších výškách by mohlo být
předehřátí sondy při startu.

\hyperdef{}{konstrukce}{\paragraph{Konstrukce}\label{konstrukce}}

\begin{itemize}
\item
  Balón - \href{http://cs.wikipedia.org/wiki/Polyethylen}{PE} pytel
  (kvůli životnosti v zabaleném stavu - guma s časem degraduje)
  \textsuperscript{\href{\#fn\_\_4}{4)}}
\item
  Možnost dálkového odpojení balónu od sondy (ukončení stoupání)
\item
  Prototyp plněný \href{http://cs.wikipedia.org/wiki/Helium}{heliem},
  i ekologičtější. A vodík navíc lze vyrábět chemicky přímo během
  vypuštění sondy).
\item
  Splnění požadavků na bezpečnost provozu (letovou, majetkovou a
  personální)
\end{itemize}
\paragraph{Firmware}

\begin{itemize}
\item
  Záznam dat v gondole balónu  mikroSD karta
\end{itemize}

\begin{figure}
 \centering
 \includegraphics[width=10cm, height=8cm]{img/Schema_ATmega.png}
 \caption{Blokové schéma balónové sondy}
\label{fig:blokpozem}
\end{figure}

\subsubsection{Legislativní požadavky}

Pravidla pro lety volných balónů bez pilota jsou definovány v leteckých
předpisech L-2 Pravidla létaní, dodatek 5 a R.

\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
naplnění/roztažení.

\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,
svítící tyčinky, lámací světla, LED diody apod.) a jakékoliv zatížení o
hmotnosti přesahující 0,1 kg. Vzhledem k této definici bude nutné mít
pro provoz balónu povolení. Všechny informace ohledně letu (jako je
datum, čas, místo vypuštění, užitečné zatížení atp.) musí být zveřejněny
v Letecké informační příručce (AIP). Pro vypuštění ve zvláštních
případech, jako je mimořádné pozorování, je potřeba upozornit
prostřednictvím navigační výstrahy formou zprávy NOTAM, která se musí
podat minimálně 24 hodin před vzletem balónu.

\paragraph{Materiály}

Balón nesmí být plněn hořlavými a výbušnými plyny s výjimkou povolení
ÚCL. Omezení pro materiál antény ani baterií nejsou definovány. Materiál
balónu také není definován, ale při použití balónu o vysoké svítivosti
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ž 230~N.

\hyperdef{}{dostup}{\paragraph{Dostup}\label{dostup}}

Pro dostup nejsou omezení.

\paragraph{Místo vypuštění}

Omezení se týká všech Zakázaných, Nebezpečných a Omezených prostorů,
stejně jako dočasně aktivovaných prostorů v době jejich používaní, s
výjimkou kdy tak povolí ÚCL nebo kdy je prostor vyhrazen pro let
předmětného balónu. Provoz balónu blízko hranic a letišť je
problematický, nedoporučuje se.

\paragraph{Řešení legislativních problémů}

\begin{itemize}
\item
  Navrhnout bezpečnou sondu, která splní požadavky ÚCL na bezpečnost
  letu.
\item
  Řídit stoupání a aktivně zabránit vzniku kolize. (Takový systém by
  mohl zároveň zjednodušit návrat sondy podobně jako
  \href{http://www.youtube.com/watch?v=rpBnurznFio}{zde})
\item
  Autodestrukce při hrozící srážce.
\end{itemize}
\subsection{Řídící systém sítě}

\subsubsection{Zpracování dostupných dat}

\begin{itemize}
\item
  Odhad vektoru meteoru v atmosféře
\item
  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
\item
  Výpočet vektoru a výškových profilů větru
\end{itemize}
\subsubsection{Rozhodovací proces}

Použití nějakého skriptovacího jazyka pro popis procesu
\href{http://www.ros.org/wiki/}{ROS}?

\begin{itemize}
\item
  Přidělení příkazu ke startu jednotlivým stanicím.
\item
  Přeplánování startu v důsledku neúspěšného vypuštění nebo zamítnutí
  stanicí.
\item
  Kontrola potenciálního narušení vzdušného prostoru a zakázaných zón.
\end{itemize}
\subsubsection{Správa systému}

\begin{itemize}
\item
  Registrace jednotlivých stanic a správa uživatelů v kooperaci s
  projektem \href{http://www.astrozor.cz/}{Astrozor}
\end{itemize}

\section{Problémy a jejich řešení}
Dosud jsme narazili hned na několik problémů, které ovlivnili naše další rozhodování a realizaci. Mezi ně patří:
\begin{itemize}
\item
 Potíže s legislativou - omezení týkající se povolení vypuštění balónu. Jedná se předně o omezení váhová a materiálová. 
\item
Nemožnost použití vodíku - tato možnost byla jednoduše vyloučena.
\item
 Baterie a jejich odolnost vůči mrazu - navrhováno několik variant, v současné době ještě nemáme vybránu jednu konkrétní.
\item
 Dostupnost materiálů - aktuálně potíže s dopravou tlakových lahví s héliem.
\end{itemize}
Navrhovaná řešení jednotlivých problémů jsou uvedena v technické části vždy u příslušné kapitoly.

\newpage
\section{Dílčí výsledky a jejich diskuze}
Naším prvním dílčím výsledkem je několik návrhů řešení jednotlivých částí popsaných výše.
Dále nalezení konkrétních součástí, jejichž objednávka včetně fyzického zajištění se bude realizovat příští týden.
Dále se nám podařilo sestrojit prototyp odpalování pružiny pro otevírání víka pozemní vypouštěcí stanice. Tento pokus nejlépe ilustruje toto \href{http://www.mlab.cz/redmine/attachments/download/3/video-2013-03-09-23-43-33.mp4}{video}.
U tohoto prototypu bylo zjištěno, že doba přepalování je poměrně dlouhá, což není vhodné. Jedním ze záměrů zhotovitele bylo nezničit odpor, což pravděpodobně nebude možné, aby doba spouštění nebyla příliš dlouhá.
\begin{figure}[hbtp]
 \centering
 \includegraphics[width=10cm, height=8cm]{img/odpalovac2.jpg}
 \caption{Odpalovač víka}
\label{fig:odpalovac}
\end{figure}

\begin{figure}
 \centering
 \includegraphics[width=10cm, height=8cm]{img/Kartuse_s_heliem.png}
 \caption{Lahev hélia}
\label{fig:helium}
\end{figure}

\begin{figure}
 \centering
 \includegraphics[width=10cm, height=8cm]{img/Redukcni_ventil.png}
 \caption{Redukční ventil}
\label{fig:ventil}
\end{figure}

\newpage
\section{Doporučení pro příští cvičení}
Tato část není příliš vhodná pro naše komentáře neboť pracujeme na samostatném tématu. Co se týká konkrétně našeho týmu, potřebovali bychom k dispozici patřičně vybavenou laboratoř, ve které bychom mohli provádět realizaci.
Cvičení jsou jinak vedena zajímavě, hodně zaměřena na standardní samostatnou úlohu, což nám vyhovuje.

\newpage

\begin{thebibliography}{99}
\bibitem{cement}{například síť CEMeNt} 
\url{http://cement.fireball.sk/}
\bibitem{radiosondy}{radiosondy} 
\url{http://www.radiosonde.eu/}, \url{http://www.radiosonda.sk/}
\bibitem{cocom}{směrnice CoCom} 
\url{http://en.wikipedia.org/wiki/CoCom\#Legacyi}
\bibitem{moguli}{projekt Mogul} 
\url{http://cs.wikipedia.org/wiki/Projekt\_Moguli}
\bibitem {GPS_ublox}{UBLOX. LEA-6 series [online]. 2013 [cit. 2013-05-12]. Dostupné z: http://www.u-blox.com/en/gps-modules/pvt-modules/lea-6-family.html}
\bibitem {ChibiOS/RT}\url{http://www.chibios.org/dokuwiki/doku.php}
\end{thebibliography}
\end{document}