Line 43... |
Line 43... |
43 |
\newpage |
43 |
\newpage |
44 |
|
44 |
|
45 |
\section{Automatický vypouštěč meteobalónů} |
45 |
\section{Automatický vypouštěč meteobalónů} |
46 |
|
46 |
|
47 |
Celý systém by měl být robotizovaným doplňkem sítě |
47 |
Celý systém by měl být robotizovaným doplňkem sítě |
48 |
\href{/doku.php?id=cs:rmds}{radiových detektorů meteorů}, případně pak i |
48 |
\href{http://wiki.mlab.cz/doku.php?id=cs:rmds}{radiových detektorů meteorů}, případně pak i |
49 |
její vizuální varianty (video pozorování |
49 |
její vizuální varianty (video pozorování a bolidové kamery). |
50 |
\textsuperscript{\href{\#fn\_\_1}{1)}} a bolidové kamery). |
- |
|
51 |
|
50 |
|
52 |
Účel zařízení je zpřesnit odhad trajektorie temné dráhy meteoritu v |
51 |
Účel zařízení je zpřesnit odhad trajektorie temné dráhy meteoritu v |
53 |
atmosféře zavedením korekcí na proudění vzduchových mas během letu. A |
52 |
atmosféře zavedením korekcí na proudění vzduchových mas během letu. A |
54 |
tím v důsledku zmenšit plochu dopadové elipsy. |
53 |
tím v důsledku zmenšit plochu dopadové elipsy meteoritu na zemský povrch. |
55 |
|
54 |
|
56 |
Údaje o proudech v atmosféře budou získány balónovou sondou vypuštěnou |
55 |
Údaje o proudech v atmosféře budou získány balónovou sondou vypuštěnou |
57 |
bezprostředně po detekci průletu bolidu atmosférou. Místo vypuštění |
56 |
bezprostředně po detekci průletu bolidu atmosférou. Místo vypuštění |
58 |
balónové sondy by mělo být zvoleno automaticky na základě odhadu dráhy |
57 |
balónové sondy by mělo být zvoleno automaticky na základě odhadu dráhy |
59 |
meteoru a známých souřadnic balónových sil v síti. |
58 |
meteoru a známých souřadnic balónových sil v síti. |
Line 65... |
Line 64... |
65 |
meteorologických |
64 |
meteorologických |
66 |
\href{http://en.wikipedia.org/wiki/Radiosonde}{radiosond}. |
65 |
\href{http://en.wikipedia.org/wiki/Radiosonde}{radiosond}. |
67 |
|
66 |
|
68 |
\subsection{Pozemní vypouštěcí box} |
67 |
\subsection{Pozemní vypouštěcí box} |
69 |
|
68 |
|
70 |
Pozemní stanici balónové sítě bude tvořit kompaktní krabice obsahující |
69 |
Pozemní stanici balónové sítě tvoří kompaktní krabice obsahující |
71 |
techniku potřebnou k vypuštění balónové sondy. Zařízení musí být |
70 |
techniku potřebnou k vypuštění balónové sondy. Zařízení je |
72 |
konstruováno tak, aby bylo schopné vydržet řádově několik roků v |
71 |
konstruováno tak, aby bylo schopné vydržet řádově několik roků v |
73 |
pohotovostním režimu, a čekat na příkaz k vypouštění sondy. |
72 |
pohotovostním režimu, a čekat na příkaz k vypouštění sondy. |
74 |
|
73 |
|
75 |
\subsubsection{Technické požadavky} |
74 |
\subsubsection{Technické parametry} |
76 |
|
75 |
|
77 |
Většinu řídící elektroniky lze složit z modulů |
76 |
Většinu řídící elektroniky je složena z modulů |
78 |
\href{http://www.mlab.cz/}{stavebnice MLAB} |
77 |
\href{http://www.mlab.cz/}{stavebnice MLAB} |
79 |
|
78 |
|
80 |
\paragraph{Komunikace se sítí stanic} |
79 |
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í: |
81 |
|
80 |
|
82 |
\begin{itemize} |
81 |
\begin{itemize} |
83 |
\item |
82 |
\item |
84 |
Ethernet - modulem \href{/doku.php?id=cs:eth}{ETH01A} |
83 |
Ethernet - modulem \href{http://www.mlab.cz/PermaLink/ETH01A}{ETH01A} |
85 |
\item |
84 |
\item |
86 |
RS232 - \href{/doku.php?id=cs:rs232single}{RS232SINGLE01A} |
85 |
Konvertor z TTL na sběrnici CAN \href{http://www.mlab.cz/PermaLink/TTLCAN01B}{TTLCAN01B} |
- |
|
86 |
\item |
- |
|
87 |
Konvertor z TTL na sběrnici RS485. \href{http://www.mlab.cz/PermaLink/TTLRS48501A}{TTLRS48501A} |
87 |
\item |
88 |
\item |
88 |
GSM (pro odlehlé oblasti) |
89 |
GSM (pro odlehlé oblasti) |
89 |
\end{itemize} |
90 |
\end{itemize} |
90 |
Zároveň bude potřeba také vybavení pro příjem telemetrie z již |
- |
|
91 |
vypuštěných radiosond \textsuperscript{\href{\#fn\_\_2}{2)}} z jiných |
- |
|
92 |
stanic. |
- |
|
93 |
|
91 |
|
94 |
Tyto požadavky splňuje modul |
92 |
Jako hlavní řídící MCU této jednotky byl vybrán ARM STM32F103R8T v modulu |
95 |
\href{/doku.php?id=cs:stm32f10xrxt}{STM32F10xRxT01A} |
93 |
\href{/doku.php?id=cs:stm32f10xrxt}{STM32F10xRxT01A} |
96 |
|
94 |
|
97 |
\paragraph{Napájení systému} |
95 |
\paragraph{Napájení systému} |
98 |
|
96 |
|
99 |
\begin{itemize} |
- |
|
100 |
\item |
- |
|
101 |
lokální (stand-alone) - Fotovoltaický panel |
97 |
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. |
102 |
\item |
98 |
|
103 |
Síťové napájení (síťový adaptér + UPS) |
- |
|
104 |
\end{itemize} |
- |
|
105 |
\paragraph{Diagnostika poruch} |
99 |
\subsubsection{Diagnostika poruch} |
106 |
|
100 |
|
107 |
\begin{itemize} |
101 |
\begin{itemize} |
108 |
\item |
102 |
\item |
109 |
Kontrola úspěšného startu (měření vztlaku balónu) |
103 |
Kontrola úspěšného startu (měření vztlaku balónu) |
110 |
\item |
104 |
\item |
111 |
Měření teplot, tlaku plynové náplně, průtoku média do balónu. |
105 |
Měření teplot, tlaku plynové náplně, průtoku média do balónu. |
112 |
\item |
106 |
\item |
113 |
Vlhkost uvnitř krabice (průsak a ztráta vodotěsnosti proražením víka a |
107 |
Vlhkost uvnitř krabice (průsak a ztráta vodotěsnosti proražením víka a |
114 |
podobně) |
108 |
podobně) |
115 |
\end{itemize} |
109 |
\end{itemize} |
116 |
\paragraph{Meteorologická data} |
- |
|
117 |
|
110 |
|
118 |
\begin{itemize} |
- |
|
119 |
\item |
- |
|
120 |
Základní meteorologická čidla (teplota, tlak, rychlost větru) - k |
- |
|
121 |
určení možnosti startu. \href{/doku.php?id=cs:aws}{AWS01B} |
- |
|
122 |
\item |
- |
|
123 |
GPS (pozice stanice a přesný čas) log reportu o startu. |
- |
|
124 |
\href{/doku.php?id=cs:gps}{GPS01A} |
- |
|
125 |
\end{itemize} |
- |
|
126 |
\paragraph{Mechanická konstrukce} |
111 |
\subsubsection{Meteorologická data} |
127 |
|
112 |
|
128 |
\begin{itemize} |
113 |
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. |
129 |
\item |
114 |
|
- |
|
115 |
|
- |
|
116 |
\subsubsection{Mechanická konstrukce} |
- |
|
117 |
|
130 |
Svařovaná plastová bedna s odstranitelným víkem. Dostatečně těsná, aby |
118 |
Svařovaná plastová bedna s odstranitelným víkem. Dostatečně těsná, aby |
131 |
nebyla zajímavá pro hlodavce a další havěť. |
119 |
nebyla zajímavá pro hlodavce a další havěť. |
132 |
\item |
- |
|
133 |
Konstrukce navržená tak, aby umožnila vypouštění i současných |
120 |
Konstrukce navržená tak, aby umožnila vypouštění i současných |
134 |
profesionálních balónových sond. |
121 |
profesionálních balónových sond. |
135 |
\item |
- |
|
136 |
Aktivace mechanických prvků přepálením vlákna |
122 |
Aktivace mechanických prvků přepálením vlákna |
137 |
\item |
- |
|
138 |
uzavření balónu zatavením hrdla |
123 |
uzavření balónu zatavením hrdla |
- |
|
124 |
|
139 |
\end{itemize} |
125 |
|
140 |
\subparagraph{Akční členy} |
126 |
\subparagraph{Akční členy} |
141 |
|
127 |
|
142 |
Většina akčních členů by měla být konstruována s důrazem na maximální |
128 |
Většina akčních členů je konstruována s důrazem na maximální |
143 |
spolehlivost. Akční členy proto pravděpodobně budou pružiny s |
129 |
spolehlivost. Akční členy proto jsou pružiny s |
144 |
přepalovacími PE pojistkami (silonové vlákno, nebo stuha |
130 |
přepalovacími PE pojistkami (silonové vlákno, nebo stuha |
145 |
přepalovaná výkonovým rezistorem) ke spínáni proudu do rezistorů může |
131 |
přepalovaná výkonovým rezistorem) ke spínáni proudu do rezistorů může |
146 |
být využit modul \href{/doku.php?id=cs:nfet4x}{NFET4X01B} |
132 |
je využit modul \href{http://www.mlab.cz/PermaLink/NFET4X01B}{NFET4X01B} |
147 |
|
133 |
|
148 |
\section{Firmware} |
134 |
\section{Firmware pozemní stanice} |
149 |
|
135 |
|
150 |
\subsection{Real-time operační systém} |
136 |
\subsection{Real-time operační systém} |
151 |
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í.\\ |
137 |
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í.\\ |
152 |
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. |
138 |
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. |
153 |
\subsection{Vysvětlení funkce firmwaru} |
139 |
\subsection{Vysvětlení funkce firmwaru} |
Line 165... |
Line 151... |
165 |
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.\\ |
151 |
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.\\ |
166 |
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.\\ |
152 |
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.\\ |
167 |
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.\\ |
153 |
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.\\ |
168 |
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.\\ |
154 |
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.\\ |
169 |
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. |
155 |
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. |
- |
|
156 |
|
170 |
\subsubsection{Příjem příkazu od uživatele} |
157 |
\subsubsection{Příjem příkazu od uživatele} |
- |
|
158 |
|
171 |
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. |
159 |
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. |
- |
|
160 |
|
172 |
\subsubsection{Příjem dat z GPS modulu} |
161 |
\subsubsection{Příjem dat z GPS modulu} |
- |
|
162 |
|
173 |
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 |
163 |
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 |
174 |
\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} |
164 |
\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} |
175 |
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:\\ |
165 |
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: |
- |
|
166 |
|
176 |
\begin{enumerate} |
167 |
\begin{enumerate} |
177 |
\item odpal |
168 |
\item odpal |
178 |
\item zrus (nebo písmeno "s") |
169 |
\item zrus (nebo písmeno "s") |
179 |
\item help |
170 |
\item help |
180 |
\item check |
171 |
\item check |
181 |
\end{enumerate} |
172 |
\end{enumerate} |
- |
|
173 |
|
182 |
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. |
174 |
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. |
183 |
|
175 |
|
184 |
\begin{figure}[hbtp] |
176 |
\begin{figure}[hbtp] |
185 |
\centering |
177 |
\centering |
186 |
\includegraphics[scale=0.6]{./img/program_flow.png} |
178 |
\includegraphics[height=200mm]{./img/program_flow.png} |
187 |
\caption{Funkční diagram firmwaru Automatického vypouštěče} |
179 |
\caption{Funkční diagram firmwaru Automatického vypouštěče} |
188 |
\label{Diag_firmware} |
180 |
\label{Diag_firmware} |
189 |
\end{figure} |
181 |
\end{figure} |
190 |
|
182 |
|
191 |
|
183 |
|