/Designs/Measuring_instruments/ABL01A/DOC/src/glossaries.tex
5,6 → 5,7
\newacronym{USB}{USB}{\href{http://en.wikipedia.org/wiki/Universal_Serial_Bus}{Universal Serial Bus}}
\newacronym{MCU}{MCU}{\href{http://en.wikipedia.org/wiki/Microcontroller}{Microcontroller}}
\newacronym{ARM}{ARM}{\href{http://en.wikipedia.org/wiki/ARM_architecture}{Advanced RISC Machine}}
\newacronym{RTOS}{RTOS}{\href{http://en.wikipedia.org/wiki/Real-time_operating_system}{Real-time operating system}}
 
 
 
/Designs/Measuring_instruments/ABL01A/DOC/src/zprava.cs.bib
41,7 → 41,7
}
 
@misc{radiosondy_lovci_SK,
title = {La chasse aux radiosondes par radiogoniométrie},
title = {Stánka nadšenců pro hledání radiosond},
note = {},
howpublished = {\url{http://www.radiosonda.sk/}},
}
/Designs/Measuring_instruments/ABL01A/DOC/src/zprava.cs.glo
0,0 → 1,23
\glossaryentry{USB?\glossaryentryfield{USB}{\glsnamefont{USB}}{\href {http://en.wikipedia.org/wiki/Universal_Serial_Bus}{Universal Serial Bus}}{\relax }|setentrycounter[]{page}\glsnumberformat}{6}
\glossaryentry{TTL?\glossaryentryfield{TTL}{\glsnamefont{TTL}}{\href {http://en.wikipedia.org/wiki/Transistor\%E2\%80\%93transistor_logic}{Transistor–transistor logic}}{\relax }|setentrycounter[]{page}\glsnumberformat}{7}
\glossaryentry{CAN bus?\glossaryentryfield{CAN}{\glsnamefont{CAN bus}}{\href {http://en.wikipedia.org/wiki/CAN_bus}{Controller Area Network}}{\relax }|setentrycounter[]{page}\glsnumberformat}{7}
\glossaryentry{TTL?\glossaryentryfield{TTL}{\glsnamefont{TTL}}{\href {http://en.wikipedia.org/wiki/Transistor\%E2\%80\%93transistor_logic}{Transistor–transistor logic}}{\relax }|setentrycounter[]{page}\glsnumberformat}{7}
\glossaryentry{GSM?\glossaryentryfield{GSM}{\glsnamefont{GSM}}{\href {http://en.wikipedia.org/wiki/GSM}{Global System for Mobile Communications}}{\relax }|setentrycounter[]{page}\glsnumberformat}{7}
\glossaryentry{USB?\glossaryentryfield{USB}{\glsnamefont{USB}}{\href {http://en.wikipedia.org/wiki/Universal_Serial_Bus}{Universal Serial Bus}}{\relax }|setentrycounter[]{page}\glsnumberformat}{7}
\glossaryentry{MCU?\glossaryentryfield{MCU}{\glsnamefont{MCU}}{\href {http://en.wikipedia.org/wiki/Microcontroller}{Microcontroller}}{\relax }|setentrycounter[]{page}\glsnumberformat}{7}
\glossaryentry{ARM?\glossaryentryfield{ARM}{\glsnamefont{ARM}}{\href {http://en.wikipedia.org/wiki/ARM_architecture}{Advanced RISC Machine}}{\relax }|setentrycounter[]{page}\glsnumberformat}{7}
\glossaryentry{PE?\glossaryentryfield{PE}{\glsnamefont{PE}}{\href {http://en.wikipedia.org/wiki/Polyethylene}{Polyethylene}}{\relax }|setentrycounter[]{page}\glsnumberformat}{7}
\glossaryentry{PE?\glossaryentryfield{PE}{\glsnamefont{PE}}{\href {http://en.wikipedia.org/wiki/Polyethylene}{Polyethylene}}{\relax }|setentrycounter[]{page}\glsnumberformat}{8}
\glossaryentry{RTOS?\glossaryentryfield{RTOS}{\glsnamefont{RTOS}}{\href {http://en.wikipedia.org/wiki/Real-time_operating_system}{Real-time operating system}}{\relax }|setentrycounter[]{page}\glsnumberformat}{16}
\glossaryentry{RTOS?\glossaryentryfield{RTOS}{\glsnamefont{RTOS}}{\href {http://en.wikipedia.org/wiki/Real-time_operating_system}{Real-time operating system}}{\relax }|setentrycounter[]{page}\glsnumberformat}{16}
\glossaryentry{RTOS?\glossaryentryfield{RTOS}{\glsnamefont{RTOS}}{\href {http://en.wikipedia.org/wiki/Real-time_operating_system}{Real-time operating system}}{\relax }|setentrycounter[]{page}\glsnumberformat}{16}
\glossaryentry{ARM?\glossaryentryfield{ARM}{\glsnamefont{ARM}}{\href {http://en.wikipedia.org/wiki/ARM_architecture}{Advanced RISC Machine}}{\relax }|setentrycounter[]{page}\glsnumberformat}{16}
\glossaryentry{PE?\glossaryentryfield{PE}{\glsnamefont{PE}}{\href {http://en.wikipedia.org/wiki/Polyethylene}{Polyethylene}}{\relax }|setentrycounter[]{page}\glsnumberformat}{22}
\glossaryentry{PE?\glossaryentryfield{PE}{\glsnamefont{PE}}{\href {http://en.wikipedia.org/wiki/Polyethylene}{Polyethylene}}{\relax }|setentrycounter[]{page}\glsnumberformat}{28}
\glossaryentry{TTL?\glossaryentryfield{TTL}{\glsnamefont{TTL}}{\href {http://en.wikipedia.org/wiki/Transistor\%E2\%80\%93transistor_logic}{Transistor–transistor logic}}{\relax }|setentrycounter[]{page}\glsnumberformat}{28}
\glossaryentry{CAN bus?\glossaryentryfield{CAN}{\glsnamefont{CAN bus}}{\href {http://en.wikipedia.org/wiki/CAN_bus}{Controller Area Network}}{\relax }|setentrycounter[]{page}\glsnumberformat}{28}
\glossaryentry{GSM?\glossaryentryfield{GSM}{\glsnamefont{GSM}}{\href {http://en.wikipedia.org/wiki/GSM}{Global System for Mobile Communications}}{\relax }|setentrycounter[]{page}\glsnumberformat}{28}
\glossaryentry{USB?\glossaryentryfield{USB}{\glsnamefont{USB}}{\href {http://en.wikipedia.org/wiki/Universal_Serial_Bus}{Universal Serial Bus}}{\relax }|setentrycounter[]{page}\glsnumberformat}{28}
\glossaryentry{MCU?\glossaryentryfield{MCU}{\glsnamefont{MCU}}{\href {http://en.wikipedia.org/wiki/Microcontroller}{Microcontroller}}{\relax }|setentrycounter[]{page}\glsnumberformat}{28}
\glossaryentry{ARM?\glossaryentryfield{ARM}{\glsnamefont{ARM}}{\href {http://en.wikipedia.org/wiki/ARM_architecture}{Advanced RISC Machine}}{\relax }|setentrycounter[]{page}\glsnumberformat}{28}
\glossaryentry{RTOS?\glossaryentryfield{RTOS}{\glsnamefont{RTOS}}{\href {http://en.wikipedia.org/wiki/Real-time_operating_system}{Real-time operating system}}{\relax }|setentrycounter[]{page}\glsnumberformat}{28}
/Designs/Measuring_instruments/ABL01A/DOC/src/zprava.cs.tex
22,11 → 22,11
 
\fancyfoot{}
\fancyfoot[L]
{\raisebox{-0.75cm}{\includegraphics[width=1.5cm]{img/datamatrix.png}} \begin{tabular}{cc}
{\raisebox{-0.75cm}{\includegraphics[width=1.5cm]{img/datamatrix.png}} \footnotesize { \begin{tabular}{cc}
pomiceva & jichapav \\
kakonjak & poskozby\\
hanuson1 & \\
\end{tabular}
\end{tabular}}
}
\fancyfoot[R] {\thepage}
 
136,10 → 136,11
 
\subsection{Mechanická konstrukce}
 
Základem vypouštěče je polypropylenová krabice o rozměrech 57x39x42 cm, z obchodního řetězce IKEA. Bočnice a střecha jsou vyřezány z dutinkového polykarbonátu (má dobrý poměr hmotnosti a pevnosti). Výsledné uspořádání je vidět na obrázku \ref{fig:box} a bylo takto navrženo za účelem snadného a spolehlivého otevírání střechy.
Základem prototypu vypouštěče je polypropylenová krabice o rozměrech 57x39x42 cm, z obchodního řetězce IKEA. Bočnice a střecha jsou vyřezány z dutinkového polykarbonátu (má dobrý poměr hmotnosti a pevnosti). Výsledné uspořádání je vidět na obrázku \ref{fig:box} a bylo takto navrženo za účelem snadného a spolehlivého otevírání střechy.
 
Bočnice mají tvar obdélníku, na kterém je posazen přesahující rovnoramenný trojúhelník. Obdélníková část je přichycena ke krabici a na trojúhelníkové části je posazena střecha, která je tvořena ze dvou desek. Tyto střešní desky, které se z důvodu vodotěsnosti navzájem překrývají, jsou uvnitř ve vrcholu střechy spojeny páskou. Při přetavení pásky rezistorem, se spustí vlivem gravitační síly po bočnicích na zem.
Bočnice mají tvar obdélníku, na kterém je posazen přesahující rovnoramenný trojúhelník. Obdélníková část je přichycena ke krabici a na trojúhelníkové části je posazena střecha, která je tvořena ze dvou desek. V produkční verzi by mela být konstrukce řešena polyfúzně svařovanou plastovou bednou z \gls{PE} desek. Krabice musí být dostatečně utěsněna, aby nebyla zajímavá pro hlodavce a další havěť. Rozměry by měly být upraveny tak, aby umožnila vypouštění i současných profesionálních balónových sond.
 
 
\subsubsection{Akční členy}
 
Většina akčních členů je konstruována s důrazem na maximální
147,12 → 148,10
přepalovacími \gls{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}
Nejdříve byl vyroben prototyp odpalování pružiny pro otevírání víka pozemní vypouštěcí stanice. Na kterém byla demonstrována funkčnost takového řešení. Tento pokus nejlépe ilustruje \href{http://www.mlab.cz/redmine/attachments/download/3/video-2013-03-09-23-43-33.mp4}{video}.
Nejdříve byl vyroben prototyp odpalování pružiny pro otevírání víka pozemní vypouštěcí stanice. Na kterém byla demonstrována funkčnost takového řešení. Tento pokus nejlépe ilustruje \href{http://www.mlab.cz/redmine/attachments/download/3/video-2013-03-09-23-43-33.mp4}{dokumentační video}.
 
U tohoto prototypu bylo zjištěno, že doba přepalování je poměrně dlouhá, v důsledku nízkého topného výkonu rezistoru (47 $\Omega$ @ 12 V) což nebylo vhodné. Bylo to důsledkem snahy zachovat cermetový rezistor pro opakované použití. V dalším experimentu byl rezistor nahrazen miniaturní verzí
U tohoto prototypu bylo zjištěno, že doba přepalování je poměrně dlouhá, v důsledku nízkého topného výkonu rezistoru (47 $\Omega$ @ 12 V) což nebylo vhodné. Bylo to důsledkem snahy zachovat cermetový rezistor pro opakované použití. V dalším experimentu byl rezistor nahrazen \href{http://www.tme.eu/cz/details/m0.4w-10r/metalizovane-rezistory-tht-04w/royal-ohm/mff04ff0100a5/#}{miniaturní verzí} s odporem 10 $\Omega$, avšak v tomto případě došlo při napájení 12 V k okamžitému přepálení odporu bez poškození zajišťovacího pásku. Při použití 5V napájení již odpor vydržel a zároveň k přepálení zajišťovacího pásku došlo do 3s.
 
Při jednom z testovacích odpalů bylo zjištěno, že u tohoto řešení pro otevření střechy hrozí sesunutí stuhy či silonu mimo rezistor. Tomuto bylo zabráněno vložením plastového článku navrženého přímo pro tyto účely a vytvořeného pomocí 3D tiskárny. Tento článek usměrňuje stuhu před rezistorem (obrázek \ref{fig:3Dtiskarna}).
 
\begin{figure}[hbtp]
\centering
\includegraphics[width=10cm]{img/odpalovac2.jpg}
160,6 → 159,14
\label{fig:odpalovac}
\end{figure}
 
\subsubsection{Otevírání střechy pozemní stanice}
 
Během návrhu optimální konstrukce pozemního vypouštěcího boxu bylo uvažováno několik metod otevírání krabice, na konec byla vybrána sedlová střecha složena ze dvou desek, které mohou vlastní vahou sklouznout po bočnicích.
 
Tyto střešní desky, které se z důvodu vodotěsnosti navzájem překrývají, jsou uvnitř ve vrcholu střechy spojeny páskou. Při přetavení pásky rezistorem, se spustí vlivem gravitační síly po bočnicích na zem.
 
Při jednom z testovacích odpalů bylo zjištěno, že u tohoto řešení pro otevření střechy hrozí sesunutí pásku či silonu mimo rezistor. Tomuto bylo zabráněno vložením plastového dílu navrženého přímo pro tyto účely a vyrobeného pomocí 3D tiskárny. Tento článek fixuje pásek na rezistoru viz obrázek \ref{fig:3Dtiskarna}.
 
\begin{figure}[hbtp]
\centering
\includegraphics[width=10cm]{img/vodiciClanek.jpg}
167,10 → 174,9
\label{fig:3Dtiskarna}
\end{figure}
 
V produkční verzi by mela být konstrukce řešena polyfúzně svařovanou plastovou bednou dostatečně těsnou, aby nebyla zajímavá pro hlodavce a další havěť.
Rozměry by měly být upraveny tak, aby umožnila vypouštění i současných profesionálních balónových sond.
Sedlová střecha byla zvolena na základě následujících kritérií:
 
 
Dalším možným řešením otevírání střechy jsou panty. Tyto panty by držely střešní desky v zavřené poloze a po přepálení pásky rezistorem by se tyto desky vyklopily do stran, jak je znázorněno na obrázku \ref{fig:oteviraniStrechy}. Pohyb, který by střešní desky musely vykonat, by byl zajištěn pružinami. Nejvhodnějším řešením je použití zkrutné pružinu u každého pantu.
 
\begin{figure}[hbtp]
286,16 → 292,19
\label{Box_firmware}
 
\subsubsection{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 \href{http://www.chibios.org/dokuwiki/doku.php}{ChibiOS}, který splňuje standardní požadavky na RTOS a navíc s ním byly v týmu zkušenosti při programování jiných aplikací pod procesory ARM a ovládání modulů \href{http://www.mlab.cz/}{stavebnice MLAB}.
Pro ovládání celého systému byl zvolen \gls{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 \gls{RTOS} pro tuto aplikaci tak byl zvolen \href{http://www.chibios.org/dokuwiki/doku.php}{ChibiOS}, který splňuje standardní požadavky na \gls{RTOS} a navíc s ním byly v týmu zkušenosti při programování jiných aplikací pod procesory \gls{ARM} a ovládání modulů \href{http://www.mlab.cz/}{stavebnice MLAB}.
 
\subsubsection{Funkce firmwaru}
 
Aplikaci pro ovládání odpalování je možné rozdělit na čtyři funkční bloky, které jsou realizovány pomocí vláken. Funkční diagram je zobrazen na obrázku \ref{fig:Diag_firmware}. V následujících odstavcích bude podrobněji rozebrána funkce jednotlivých vláken aplikace.
 
\paragraph{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.
 
\paragraph{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:\\
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
302,14 → 311,17
\item Probuzení od časovače
\end{enumerate}
 
\subparagraph{Příjem příkazu pro odpal} 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.\\
\subparagraph{Příjem příkazu pro odpal}
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 následné zahájení napouštění balónu. Tento krok není v současné době nijak zpětnovazebně snímán - je dán pouze čas, kdy je ventil otevřen. Do budoucna by bylo vhodné použíti 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 být dostačující 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, 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, jež 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.
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, na terminál je vypsána informace o ukončení vypouštění a všechny výstupy jsou v neaktivním stavu.
 
\subparagraph{Příjem příkazu pro zrušení odpalu} 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.
 
\subparagraph{Probuzení od časovače} 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, jež 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.
 
\paragraph{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.
593,6 → 605,7
http://www.chibios.org/dokuwiki/doku.php
\bibliographystyle{ieeetr}
\bibliography{zprava.cs}
\addcontentsline{toc}{section}{Literatura}
 
\printglossaries
\glsaddall