tag:blogger.com,1999:blog-70631837279212683802024-03-10T09:19:23.990+01:00TT7 High Altitude BalloonTT7http://www.blogger.com/profile/11095378058232471221noreply@blogger.comBlogger62125tag:blogger.com,1999:blog-7063183727921268380.post-35682907029061894612019-12-16T01:00:00.000+01:002019-12-15T17:25:56.889+01:00The TT7 Summary<style type="text/css">
.tg {border-collapse:collapse;border-spacing:0;border-color:#ccc;}
.tg td{font-family:Arial, sans-serif;font-size:12px;padding:5px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#ccc;color:#333;background-color:#fff;}
.tg th{font-family:Arial, sans-serif;font-size:12px;font-weight:normal;padding:5px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#ccc;color:#333;background-color:#f0f0f0;}
.tg .tg-amwm{font-weight:bold;text-align:center;vertical-align:top}
.tg .tg-yw47{vertical-align:top}
.tg .tg-lyy6{text-align:right;vertical-align:top}
</style>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHVSH4AAwB0JAZQhuoni_3m0TWCacsYPsWUIgAsavG7-IemQoINPbwu0E8NJPHvgVoJRQC9jk1uXDzJ1JMSPL5GUXaGYk62hdGHoi8jNJ2nAin-Rgmq4BDCn3fDN2ujeqlCQF7U9ib1Rg/s1600/IMG_7708+TT7+peak+altitude.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHVSH4AAwB0JAZQhuoni_3m0TWCacsYPsWUIgAsavG7-IemQoINPbwu0E8NJPHvgVoJRQC9jk1uXDzJ1JMSPL5GUXaGYk62hdGHoi8jNJ2nAin-Rgmq4BDCn3fDN2ujeqlCQF7U9ib1Rg/s400/IMG_7708+TT7+peak+altitude.JPG" width="400" /></a></div>
This is the last blog post that summarizes all high altitude balloon flights I did. It also provides a quick index to all the topics this blog addressed. Since seeing images from a high altitude balloon for the first time in spring 2013, I've launched three latex balloons with cameras and eleven superpressure balloons. With each successive launch, I tried to do something I hadn't done before. This blog documents the progress.<br />
<br />
<b>Up-Down Flights</b><br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm">callsign</th>
<th class="tg-amwm">date</th>
<th class="tg-amwm">altitude</th>
<th class="tg-amwm">balloon</th>
<th class="tg-amwm">info</th>
</tr>
<tr>
<td class="tg-yw47"><a href="http://tt7hab.blogspot.cz/2014/10/the-summary.html">TT7</a></td>
<td class="tg-yw47">16.9.2014</td>
<td class="tg-lyy6">34396m</td>
<td class="tg-yw47">Hwoyee 800</td>
<td class="tg-yw47">recovered several hours later</td>
</tr>
<tr>
<td class="tg-yw47"><a href="http://tt7hab.blogspot.cz/2015/09/the-tt7-40-recovery.html">TT7-40</a></td>
<td class="tg-yw47">22.7.2015</td>
<td class="tg-lyy6">?</td>
<td class="tg-yw47">Hwoyee 1600</td>
<td class="tg-yw47">failed transmitter, recovered 2 months later</td>
</tr>
<tr>
<td class="tg-yw47"><a href="http://tt7hab.blogspot.cz/2016/11/the-tt7fs-first-launch.html">TT7F</a></td>
<td class="tg-yw47">26.8.2016</td>
<td class="tg-lyy6">42337m</td>
<td class="tg-yw47">Hwoyee 1600</td>
<td class="tg-yw47">lost, disappeared during descent</td>
</tr>
</tbody></table>
<br />
<b>Superpressure Flights</b><br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm">callsign</th>
<th class="tg-amwm">date</th>
<th class="tg-amwm">altitude</th>
<th class="tg-amwm">balloon</th>
<th class="tg-amwm">distance</th>
<th class="tg-amwm">days</th>
<th class="tg-amwm">info</th>
</tr>
<tr>
<td class="tg-yw47"><a href="http://tt7hab.blogspot.cz/2017/08/the-tt7f1-flight.html">TT7F1</a></td>
<td class="tg-yw47">25.8.2017</td>
<td class="tg-lyy6">11242m</td>
<td class="tg-yw47">Sphere 1.33</td>
<td class="tg-lyy6">9465km</td>
<td class="tg-lyy6">8.6</td>
<td class="tg-yw47">last seen over Japan</td>
</tr>
<tr>
<td class="tg-yw47"><a href="http://tt7hab.blogspot.cz/2017/08/the-tt7f2-flight.html">TT7F2</a></td>
<td class="tg-yw47">29.8.2017</td>
<td class="tg-lyy6">10524m</td>
<td class="tg-yw47">Sphere 1.33</td>
<td class="tg-lyy6">3326km</td>
<td class="tg-lyy6">2.1</td>
<td class="tg-yw47">last seen over Russia</td>
</tr>
<tr>
<td class="tg-yw47"><a href="http://tt7hab.blogspot.cz/2017/08/the-tt7f3-flight.html">TT7F3</a></td>
<td class="tg-yw47">31.8.2017</td>
<td class="tg-lyy6">13403m</td>
<td class="tg-yw47">Sphere 1.84</td>
<td class="tg-lyy6">275km</td>
<td class="tg-lyy6">0.5</td>
<td class="tg-yw47">last seen over Hungary</td>
</tr>
<tr>
<td class="tg-yw47"><a href="http://tt7hab.blogspot.cz/2017/09/the-tt7f4-flight.html">TT7F4</a></td>
<td class="tg-yw47">8.9.2017</td>
<td class="tg-lyy6">11864m</td>
<td class="tg-yw47">Sphere 1.84</td>
<td class="tg-lyy6">210km</td>
<td class="tg-lyy6">0.2</td>
<td class="tg-yw47">burst and landed at Polish-Slovak border</td>
</tr>
<tr>
<td class="tg-yw47"><a href="http://tt7hab.blogspot.cz/2017/09/the-tt7f5-flight.html">TT7F5</a></td>
<td class="tg-yw47">29.9.2017</td>
<td class="tg-lyy6">12226m</td>
<td class="tg-yw47">Tube 3.33</td>
<td class="tg-lyy6">1189km</td>
<td class="tg-lyy6">1.4</td>
<td class="tg-yw47">last seen over Ionian Sea</td>
</tr>
<tr>
<td class="tg-yw47"><a href="http://tt7hab.blogspot.cz/2017/10/the-tt7f6w-flight.html">TT7F6W</a></td>
<td class="tg-yw47">15.10.2017</td>
<td class="tg-lyy6">12153m</td>
<td class="tg-yw47">Tube 2.33</td>
<td class="tg-lyy6">3898km</td>
<td class="tg-lyy6">2.9</td>
<td class="tg-yw47">last seen over Iran</td>
</tr>
<tr>
<td class="tg-yw47"><a href="https://tt7hab.blogspot.com/2019/09/the-tt7b1-flight.html">TT7B1</a></td>
<td class="tg-yw47">13.9.2019</td>
<td class="tg-lyy6">454m</td>
<td class="tg-yw47">Circle 1.35</td>
<td class="tg-lyy6">360m</td>
<td class="tg-lyy6">0.0</td>
<td class="tg-yw47">descended into treetops</td>
</tr>
<tr>
<td class="tg-yw47"><a href="https://tt7hab.blogspot.com/2019/09/the-tt7b2-flight.html">TT7B2</a></td>
<td class="tg-yw47">15.9.2019</td>
<td class="tg-lyy6">13500m</td>
<td class="tg-yw47">Obround 2.35</td>
<td class="tg-lyy6">790km</td>
<td class="tg-lyy6">0.9</td>
<td class="tg-yw47">descended in northern Croatia</td>
</tr>
<tr>
<td class="tg-yw47"><a href="https://tt7hab.blogspot.com/2019/09/the-tt7b1-relaunch.html">TT7B1</a></td>
<td class="tg-yw47">21.9.2019</td>
<td class="tg-lyy6">10800m</td>
<td class="tg-yw47">Circle 1.35</td>
<td class="tg-lyy6">526km</td>
<td class="tg-lyy6">0.5</td>
<td class="tg-yw47">relaunch, descended in Romania</td>
</tr>
<tr>
<td class="tg-yw47"><a href="https://tt7hab.blogspot.com/2019/10/the-tt7b2-relaunch.html">TT7B2</a></td>
<td class="tg-yw47">1.10.2019</td>
<td class="tg-lyy6">13400m</td>
<td class="tg-yw47">Obround 2.35</td>
<td class="tg-lyy6">57355km</td>
<td class="tg-lyy6">27.8</td>
<td class="tg-yw47">relaunch, 1 circumnavigation</td>
</tr>
<tr>
<td class="tg-yw47"><a href="https://tt7hab.blogspot.com/2019/10/the-tt7b3-flight.html">TT7B3</a></td>
<td class="tg-yw47">13.10.2019</td>
<td class="tg-lyy6">9898m</td>
<td class="tg-yw47">Circle 2.04</td>
<td class="tg-lyy6">123km</td>
<td class="tg-lyy6">0.1</td>
<td class="tg-yw47">last received ascending over Poland</td>
</tr>
</tbody></table>
<br />
<b>TT7B</b><br />
<ul>
<li><a href="http://tt7hab.blogspot.com/2018/09/the-tt7b-tracker.html">The TT7B Tracker</a></li>
<li><a href="https://tt7hab.blogspot.com/2019/03/the-tt7b-tracker-vol-2.html">The TT7B Tracker Vol. 2</a></li>
<li><a href="https://tt7hab.blogspot.com/2019/12/the-tt7b-summary.html">The TT7B Summary</a></li>
</ul>
<b>TT7F</b><br />
<ul>
<li><a href="http://tt7hab.blogspot.cz/2016/08/the-tt7f-hardware.html">The TT7F Hardware</a></li>
<li><a href="http://tt7hab.blogspot.cz/2016/11/the-tt7f-software.html">The TT7F Software</a></li>
<li><a href="http://tt7hab.blogspot.cz/2016/08/the-tt7f-payload.html">The TT7F Payload</a></li>
<li><a href="http://tt7hab.blogspot.cz/2017/05/the-tt7f-v15-revision.html">The TT7F v1.5 Revision</a></li>
<li><a href="http://tt7hab.blogspot.cz/2017/06/the-low-power-setup.html">The Low Power Setup</a></li>
</ul>
<b>TT7-40</b><br />
<ul>
<li><a href="http://tt7hab.blogspot.cz/2015/05/the-tt7-40-hardware.html">The TT7-40 Hardware</a></li>
<li><a href="http://tt7hab.blogspot.cz/2015/07/the-tt7-40-launch.html">The TT7-40 Launch</a></li>
</ul>
<b>TT7</b><br />
<ul>
<li><a href="http://tt7hab.blogspot.cz/2014/09/the-beginning.html">The Beginning</a></li>
<li><a href="http://tt7hab.blogspot.cz/2014/09/the-box.html">The Box</a></li>
<li><a href="http://tt7hab.blogspot.cz/2014/09/the-parachute.html">The Parachute</a></li>
<li><a href="http://tt7hab.blogspot.cz/2014/09/the-camera.html">The Camera</a></li>
<li><a href="http://tt7hab.blogspot.cz/2014/09/the-gps-htc-hd2.html">The GPS (HTC HD2)</a></li>
<li><a href="http://tt7hab.blogspot.cz/2014/09/the-thermometer.html">The Thermometer</a></li>
<li><a href="http://tt7hab.blogspot.cz/2014/09/the-payload-arrangement.html">The Payload Arrangement</a></li>
<li><a href="http://tt7hab.blogspot.cz/2014/09/the-balloon.html">The Balloon</a></li>
<li><a href="http://tt7hab.blogspot.cz/2014/09/the-intermission.html">The Intermission</a></li>
<li><a href="http://tt7hab.blogspot.cz/2014/09/the-new-tracking-solution.html">The New Tracking Solution</a></li>
<li><a href="http://tt7hab.blogspot.cz/2014/09/the-transmitter.html">The Transmitter</a></li>
<li><a href="http://tt7hab.blogspot.cz/2014/10/the-batteries.html">The Batteries</a></li>
<li><a href="http://tt7hab.blogspot.cz/2014/10/the-payload-assemblage.html">The Payload Assemblage</a></li>
<li><a href="http://tt7hab.blogspot.cz/2014/10/the-planning.html">The Planning</a></li>
<li><a href="http://tt7hab.blogspot.cz/2014/10/the-launch.html">The Launch</a></li>
</ul>
<b>Individual Components</b><br />
<ul>
<li><a href="http://tt7hab.blogspot.cz/2016/03/the-solar-experiments.html">The Solar Experiments</a></li>
<li><a href="http://tt7hab.blogspot.cz/2017/02/aprs-automatic-packet-reporting-system.html">APRS Automatic Position Reporting System</a></li>
<li><a href="http://tt7hab.blogspot.cz/2017/03/ssdv-slow-scan-digital-video.html">SSDV Slow Scan Digital Video</a></li>
<li><a href="http://tt7hab.blogspot.cz/2017/04/the-superpressure-balloons.html">The Superpressure Balloons</a></li>
<li><a href="http://tt7hab.blogspot.cz/2017/11/the-superpressure-balloons-vol-2.html">The Superpressure Balloons Vol. 2</a></li>
<li><a href="http://tt7hab.blogspot.cz/2019/09/the-superpressure-balloons-vol-3.html">The Superpressure Balloons Vol. 3</a></li>
<li><a href="https://tt7hab.blogspot.cz/2018/02/the-current-custom.html">The μCurrent Custom</a> </li>
<li><a href="https://tt7hab.blogspot.cz/2018/03/the-gps-module-drift.html">The GPS Module Drift</a> </li>
<li><a href="http://tt7hab.blogspot.com/2018/04/the-lora-ssdv.html">The LoRa SSDV</a> </li>
<li><a href="http://tt7hab.blogspot.com/2018/06/the-reflow-oven.html">The Reflow Oven</a> </li>
<li><a href="https://tt7hab.blogspot.com/2019/02/the-vacuum-chamber.html">The Vacuum Chamber</a> </li>
<li><a href="https://tt7hab.blogspot.com/2019/07/the-pre-stretching-rig.html">The Pre-Stretching Rig</a> </li>
<li><a href="https://tt7hab.blogspot.com/2019/07/the-custom-heat-sealer.html">The Custom Heat Sealer</a></li>
</ul>
<b>Radio and Antennas</b><br />
<ul>
<li><a href="http://tt7hab.blogspot.cz/2014/10/the-radio.html">The Radio</a> </li>
<li><a href="http://tt7hab.blogspot.cz/2014/10/the-antennas.html">The Antennas</a></li>
<li><a href="http://tt7hab.blogspot.cz/2016/05/the-new-antennas.html">The New Antennas</a></li>
<li><a href="http://tt7hab.blogspot.cz/2017/01/the-antenna-tuning.html">The Antenna Tuning</a></li>
<li><a href="http://tt7hab.blogspot.cz/2017/01/the-hf-setup.html">The HF Setup</a></li>
<li><a href="http://tt7hab.blogspot.cz/2017/07/the-low-noise-amplifier.html">The Low Noise Amplifier</a></li>
<li><a href="https://tt7hab.blogspot.com/2019/01/the-aprs-igate.html">The APRS iGate</a></li>
</ul>
<b>Studies</b><br />
<ul>
<li><a href="http://tt7hab.blogspot.cz/2015/04/the-air-traffic.html">The Air Traffic</a></li>
<li><a href="http://tt7hab.blogspot.cz/2015/04/the-atmosphere.html">The Atmosphere</a></li>
</ul>
<b>External Links</b><br />
<ul>
<li><a href="https://github.com/TomasTT7">Github</a></li>
<li><a href="https://github.com/TomasTT7/SuperpressureBalloonsNotebook">Jupyter Notebooks</a></li>
<li><a href="https://www.flickr.com/photos/127852569@N08/">Flickr</a></li>
<li><a href="https://www.youtube.com/user/youkaraev">Youtube</a> </li>
</ul>
<br />
<div align="center">
<iframe height="480" src="https://www.google.com/maps/d/embed?mid=1WJYlBxbITBoPPRxCAgI5CNcIxqI" width="640"></iframe><br /></div>
<br />
This is a combined map of all TT7 flights. The trajectory of TT7-40 is significantly affected by a transmitter failure. Because of that, it contains positional entries only from the beginning of ascent and then from where it was recovered. In case of the superpressure flights, the trajectories span to the last time the tracker's packet was received.<br />
<br />
And that concludes TT7 high altitude ballooning.<br />TT7http://www.blogger.com/profile/11095378058232471221noreply@blogger.com8tag:blogger.com,1999:blog-7063183727921268380.post-81973645963655379232019-12-15T17:24:00.000+01:002019-12-15T17:24:04.097+01:00The TT7B Summary<style type="text/css">
.tg {border-collapse:collapse;border-spacing:0;border-color:#ccc;}
.tg td{font-family:Arial, sans-serif;font-size:12px;padding:5px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#ccc;color:#333;background-color:#fff;}
.tg th{font-family:Arial, sans-serif;font-size:12px;font-weight:normal;padding:5px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#ccc;color:#333;background-color:#f0f0f0;}
.tg .tg-amwm{font-weight:bold;text-align:center;vertical-align:top}
.tg .tg-yw47{vertical-align:top;text-align:left;}
.tg .tg-lyy6{text-align:right;vertical-align:top}
.collapsible{background-color: #eee;color: #444;cursor: pointer;padding: 8px;width: 100%;border: none;text-align: left;outline: none;font-size: 13px;transition: 0.3s;}
.panel{padding: 0 18px;max-height: 0;overflow: hidden;background-color: #f1f1f1;transition: max-height 0.2s ease-out;}
.active, .collapsible:hover{background-color: #ccc;}
.collapsible:after{content: '\002B';color: #777;font-weight: bold;float: right;margin-left: 5px;}
.active:after{content: "\2212";}
pre{display: block;font-family: monospace;white-space: pre;margin: 1em 0;tab-width: 4;}
code{background: #e9e9e9;}
</style>
In the TT7B project, I attempted to design a low power tracker aimed at collecting data during long duration flights under custom made superpressure balloon envelopes. The design and development of the tracker are described in detail in the following two blog posts:<br />
<ul>
<li><a href="https://tt7hab.blogspot.com/2018/09/the-tt7b-tracker.html">The TT7B Tracker</a></li>
<li><a href="https://tt7hab.blogspot.com/2019/03/the-tt7b-tracker-vol-2.html">The TT7B Tracker Vol. 2</a></li>
</ul>
While working on the hardware and firmware, a couple of tools used mainly during testing were developed:<br />
<ul>
<li><a href="https://tt7hab.blogspot.com/2019/01/the-aprs-igate.html">The APRS iGate</a></li>
<li><a href="https://tt7hab.blogspot.com/2019/02/the-vacuum-chamber.html">The Vacuum Chamber</a></li>
</ul>
Rather than using commercial machinery, I put together a couple of tools designed solely for the purpose of making balloon envelopes, both described in the following blog posts:<br />
<ul>
<li><a href="https://tt7hab.blogspot.com/2019/07/the-pre-stretching-rig.html">The Pre-Stretching Rig</a></li>
<li><a href="https://tt7hab.blogspot.com/2019/07/the-custom-heat-sealer.html">The Custom Heat Sealer</a></li>
</ul>
A detailed description of the manufacturing process of the superpressure envelopes along with a general discussion about the used material can then be found in this blog post:<br />
<ul>
<li><a href="https://tt7hab.blogspot.com/2019/09/the-superpressure-balloons-vol-3.html">The Superpressure Balloons Vol. 3</a></li>
</ul>
The details, progression and data of all individual flights done as part of this project can be found in the following blog posts:<br />
<ul>
<li><a href="https://tt7hab.blogspot.com/2019/09/the-tt7b1-flight.html">The TT7B1 Flight</a></li>
<li><a href="https://tt7hab.blogspot.com/2019/09/the-tt7b2-flight.html">The TT7B2 Flight</a></li>
<li><a href="https://tt7hab.blogspot.com/2019/09/the-tt7b1-relaunch.html">The TT7B1 Relaunch</a></li>
<li><a href="https://tt7hab.blogspot.com/2019/10/the-tt7b2-relaunch.html">The TT7B2 Relaunch</a></li>
<li><a href="https://tt7hab.blogspot.com/2019/10/the-tt7b3-flight.html">The TT7B3 Flight</a></li>
</ul>
The following paragraphs contain a summary of the experiences with launching the balloons, collected data during the flights, and a conclusion of the project.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3mnYTW2_vw6DjZRHzLAc0AqcX4uuzJlsXkANiZuV0cODwJJdTpGfsTMFXFz-oIpUP5lPs8Byao4yPmuZPf8P4B-CTYsLUxVAWvS9beV-P2wveEgFwJ2GLxSs1i4tr5ofkB2jw-R26VFc/s1600/IMG_4240+TT7B1+launch.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3mnYTW2_vw6DjZRHzLAc0AqcX4uuzJlsXkANiZuV0cODwJJdTpGfsTMFXFz-oIpUP5lPs8Byao4yPmuZPf8P4B-CTYsLUxVAWvS9beV-P2wveEgFwJ2GLxSs1i4tr5ofkB2jw-R26VFc/s200/IMG_4240+TT7B1+launch.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVle3hu3deBnn6O0UXKyEx_MvuUfLL3R_dElHTD0vplR-CNfUut0u9lzbMK38zTdKhKEfNRc1NQt0vfB4WPf_RJODrhqpqT2jOY3OpXBPZ8x_haAMAlOWGnGos_o0_lF4libGXd7DqNUc/s1600/IMG_4303+TT7B2+launch.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVle3hu3deBnn6O0UXKyEx_MvuUfLL3R_dElHTD0vplR-CNfUut0u9lzbMK38zTdKhKEfNRc1NQt0vfB4WPf_RJODrhqpqT2jOY3OpXBPZ8x_haAMAlOWGnGos_o0_lF4libGXd7DqNUc/s200/IMG_4303+TT7B2+launch.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2ULF2daQwl2sc3KgFCn5yQ1eE24U72Vv9zdUhUaJCym2WgWNlGiNM5kWlFK8lLsYDm14P_FdKI70JgolJwrT3QYdq7sg7yJR0BsneHpNWoazghyJI_BSkMpHbqII9DIgRnromS5VLfEM/s1600/IMG_4410+TT7B1+launch.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2ULF2daQwl2sc3KgFCn5yQ1eE24U72Vv9zdUhUaJCym2WgWNlGiNM5kWlFK8lLsYDm14P_FdKI70JgolJwrT3QYdq7sg7yJR0BsneHpNWoazghyJI_BSkMpHbqII9DIgRnromS5VLfEM/s200/IMG_4410+TT7B1+launch.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-7td3WvejDoPVhRAYL5YwMVgUI4KzcmNNDdQTLM1Q3tVo07OT9zZM-iDhKEg8nZvDLn4P5UOiPlzVhYCZUiUFS0E6SL01zj46KfOAooiOWk7-USy6siSLMu8jifKhojEIinw0oET4xU0/s1600/IMG_4502+TT7B2+launch.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-7td3WvejDoPVhRAYL5YwMVgUI4KzcmNNDdQTLM1Q3tVo07OT9zZM-iDhKEg8nZvDLn4P5UOiPlzVhYCZUiUFS0E6SL01zj46KfOAooiOWk7-USy6siSLMu8jifKhojEIinw0oET4xU0/s200/IMG_4502+TT7B2+launch.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibD4a2M3Nm5lvWcJhVbbqj2fUoPqu0ixCeLjXAnyXCoasY9wQx0dMRYHUqJ1Vnmeqo-r1T8W0-q7FBt2Rwh7k1iuBCZs2O1WXsfPG2O39NX7LiVZmbe0c_whtGRTKYKl8GWylIh0nvzzM/s1600/IMG_4604+TT7B3+launch.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibD4a2M3Nm5lvWcJhVbbqj2fUoPqu0ixCeLjXAnyXCoasY9wQx0dMRYHUqJ1Vnmeqo-r1T8W0-q7FBt2Rwh7k1iuBCZs2O1WXsfPG2O39NX7LiVZmbe0c_whtGRTKYKl8GWylIh0nvzzM/s200/IMG_4604+TT7B3+launch.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a>
</div>
Three trackers were built, and due to two successful recoveries, a total of five balloons were launched within a period of 30 days in the beginning of fall 2019. A rough overview of the flights can be found in the following table.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm">designation</th>
<th class="tg-amwm">launch date</th>
<th class="tg-amwm">envelope type</th>
<th class="tg-amwm">altitude [m]</th>
<th class="tg-amwm">distance [km]</th>
<th class="tg-amwm">duration [day]</th>
</tr>
<tr>
<td class="tg-yw47">TT7B1 Flight</td>
<td class="tg-yw47">09/13/2019</td>
<td class="tg-yw47">Circle 1.35</td>
<td class="tg-lyy6">454</td>
<td class="tg-lyy6">0.36</td>
<td class="tg-lyy6">0.0</td>
</tr>
<tr>
<td class="tg-yw47">TT7B2 Flight</td>
<td class="tg-yw47">09/15/2019</td>
<td class="tg-yw47">Obround 2.35</td>
<td class="tg-lyy6">13,500</td>
<td class="tg-lyy6">790</td>
<td class="tg-lyy6">0.9</td>
</tr>
<tr>
<td class="tg-yw47">TT7B1 Relaunch</td>
<td class="tg-yw47">09/21/2019</td>
<td class="tg-yw47">Circle 1.35</td>
<td class="tg-lyy6">10,800</td>
<td class="tg-lyy6">526</td>
<td class="tg-lyy6">0.5</td>
</tr>
<tr>
<td class="tg-yw47">TT7B2 Relaunch</td>
<td class="tg-yw47">10/01/2019</td>
<td class="tg-yw47">Obround 2.35</td>
<td class="tg-lyy6">13,400</td>
<td class="tg-lyy6">57,355</td>
<td class="tg-lyy6">27.8</td>
</tr>
<tr>
<td class="tg-yw47">TT7B3 Flight</td>
<td class="tg-yw47">10/13/2019</td>
<td class="tg-yw47">Circle 2.04</td>
<td class="tg-lyy6">9,898</td>
<td class="tg-lyy6">123</td>
<td class="tg-lyy6">0.1</td>
</tr>
</tbody></table>
<br />
The first flight, or rather attempted flight, paid the price for over-reliance on theoretical calculations with little margin for error. Although the method and ascent rate targets used in sizing the lift were identical to the TT7F flights from two years ago, I didn't take into account the fact that those balloons were launched later in the day and always spent some time in direct sunlight, heating up the lifting gas, prior to the actual launch. TT7B1, although ascending initially, climbed only several dozen meters before it encountered some downdraft or nonlinearity in air density beyond its lifting capability and descended into treetops a few hundred meters away. The tracker was eventually recovered later in the day.<br />
<br />
The second flight was launched two days later with higher free lift and a couple more hours after sunrise to avoid the same issue. It was the first flight to provide the desired data on superpressure and supertemperature. However, as the balloon settled to float at its equilibrium altitude, the data began to show decreasing pressure inside the envelope. The pressure kept decreasing suggesting the hydrogen was continually leaking from the envelope until after 17 hours of flight, the balloon lost lift, started to descend and landed in northern Croatia. Luckily, it was recovered by Kruno 9A3SWO who contacted me and sent the tracker back to me in the mail.<br />
<br />
The third flight was a relaunch of the TT7B1 tracker that ended up in treetops under a new envelope. It was released with a higher free lift and later in the day than the failed attempt. Shortly after stabilizing at its float altitude, it became obvious from the pressure data that the balloon was once again slowly leaking hydrogen, and that it would descend later that day. The inevitable happened several hours later, and the balloon landed in western Romania.<br />
<br />
The fourth flight was a relaunch of the TT7B2 tracker recovered in Croatia. The identical failures of the two previous flights led me to suspect the glue that was used to seal the balloon's gas inlet with the pressure and temperature sensors inside the envelope. As a result, this balloon's inlet was heat sealed and the sensors were left outside the envelope. The suspicion was proven correct by this flight as it floated and reported its position for 28 days during which it circumnavigated the Northern Hemisphere.<br />
<br />
The fifth flight wasn't planned originally. The TT7B3 tracker differed from the previous two and was constructed relatively last-minute without extensive testing. It was a solar powered, combined APRS and WSPR version of the tracker which used an unideal antenna to transmit in the 2 and 20m bands. The signal reception was significantly worse than on the previous flights, and the last packet was received over Poland after just a couple of hours in flight while the balloon was still ascending. There was no further information about its fate.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEcizk3ukkhv5Uem6kCC2Q_B4AKzhr_w6zB9XUN0hzaQiWxRayUEqiaewdf0zPBoKkHNoLRrGyIO0oPeeWXcypzM-kwluUrbWlOnz9D8F7kfmhcEcJPQ26obmbkefvzJSva1ww3B9_hsY/s1600/trajectory+TT7B1+01.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEcizk3ukkhv5Uem6kCC2Q_B4AKzhr_w6zB9XUN0hzaQiWxRayUEqiaewdf0zPBoKkHNoLRrGyIO0oPeeWXcypzM-kwluUrbWlOnz9D8F7kfmhcEcJPQ26obmbkefvzJSva1ww3B9_hsY/s200/trajectory+TT7B1+01.jpg" width="200" height="141" data-original-width="1149" data-original-height="808" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWfBchZVOk1sDv-sxC5wfOG9fGBgC3KSjAwJPwy-FLesHqwPbglnU52Fwn-rSqx2ZscAiYh4Cn3JJ7qt1JNB3-pfb-nnfaPVzHocy3gHBZzFFnq5AJIQ84LLSrIiYt0RuPx7pAQAhE1G0/s1600/trajectory+TT7B2+01.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWfBchZVOk1sDv-sxC5wfOG9fGBgC3KSjAwJPwy-FLesHqwPbglnU52Fwn-rSqx2ZscAiYh4Cn3JJ7qt1JNB3-pfb-nnfaPVzHocy3gHBZzFFnq5AJIQ84LLSrIiYt0RuPx7pAQAhE1G0/s200/trajectory+TT7B2+01.jpg" width="200" height="140" data-original-width="1151" data-original-height="808" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPySyA9ExAXlJCLYyvG6-Ia4koKcV6Cc2anKi8nNNuB5_dAcOEaHLHWsj5xZPbTmZrIKtTkgoRJdF3ZijTdLxBmFNi0yDvyJLWnxKUhVPbxCZKzaxrE3qQp2jMDOLhIu7ntr5KwWe-FRc/s1600/trajectory+TT7B1+relaunch+01.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPySyA9ExAXlJCLYyvG6-Ia4koKcV6Cc2anKi8nNNuB5_dAcOEaHLHWsj5xZPbTmZrIKtTkgoRJdF3ZijTdLxBmFNi0yDvyJLWnxKUhVPbxCZKzaxrE3qQp2jMDOLhIu7ntr5KwWe-FRc/s200/trajectory+TT7B1+relaunch+01.jpg" width="200" height="141" data-original-width="1150" data-original-height="809" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQyjM1Baihz3zTfTIiCmhZbu0yoAd5aTgmo2C1I2dmpdq45E6xUUq6Nl5l8OQnemx7Zsu880lzc0nigxH5nxZZDp_3AMbifINJxk2Byoj4DqR6pGUjiSJs9O1zchKzCaLFrd1UmAqcmf4/s1600/trajectory+TT7B2+relaunch+02.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQyjM1Baihz3zTfTIiCmhZbu0yoAd5aTgmo2C1I2dmpdq45E6xUUq6Nl5l8OQnemx7Zsu880lzc0nigxH5nxZZDp_3AMbifINJxk2Byoj4DqR6pGUjiSJs9O1zchKzCaLFrd1UmAqcmf4/s200/trajectory+TT7B2+relaunch+02.jpg" width="200" height="126" data-original-width="1119" data-original-height="706" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAc0LU5lDd87xjnnBsBQT1KMcfjDaX0sMk-Rzcdjwf8oYE2z4gawVocEbBVPntSQlE2lQf_roqkOnJsRjWhbUm1RdcGtRd2D3KAlvmshbBKSLgiu-5vmC4y61AJnnRO7j4DQEwIyn00Vs/s1600/trajectory+TT7B3+02.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAc0LU5lDd87xjnnBsBQT1KMcfjDaX0sMk-Rzcdjwf8oYE2z4gawVocEbBVPntSQlE2lQf_roqkOnJsRjWhbUm1RdcGtRd2D3KAlvmshbBKSLgiu-5vmC4y61AJnnRO7j4DQEwIyn00Vs/s200/trajectory+TT7B3+02.jpg" width="200" height="141" data-original-width="1150" data-original-height="809" /></a>
</div>
The trajectories, and receivers in case of the shorter flights, can be seen in the maps above. The trajectory of the longest lasting flight was reconstructed from packets received live and backlogged historical data the tracker stored transmitted with every live packet.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9bQvZLGnBtrg8CetwKGWuzk3CT6-Vh_ukY-p2FRV9kSz1eHC42gQQ7v78trZIMzUVYdkpcqm3Uv6I4DXXfbQULp2hyUGAqfckFTiQyBP-YLWOCG4Iob4Xy2B-fiVYv3CKU9AS0xJhQrM/s1600/chart+ascent+rate+all+02.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9bQvZLGnBtrg8CetwKGWuzk3CT6-Vh_ukY-p2FRV9kSz1eHC42gQQ7v78trZIMzUVYdkpcqm3Uv6I4DXXfbQULp2hyUGAqfckFTiQyBP-YLWOCG4Iob4Xy2B-fiVYv3CKU9AS0xJhQrM/s200/chart+ascent+rate+all+02.png" width="200" height="120" data-original-width="1034" data-original-height="622" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiajWPD6MmNNXw5vSxzYVSDxU3dkf1JeQ-4dLXsRXGn93yhEIUiyNSgmYJvGm-m6aZVCRVzGyCYe3WNNaBByw2hyxCy7a87V8J9sNX9cA_D9YjMeYWDrqRVUX440tclkdiWFt1okXncql4/s1600/chart+ascent+all+01.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiajWPD6MmNNXw5vSxzYVSDxU3dkf1JeQ-4dLXsRXGn93yhEIUiyNSgmYJvGm-m6aZVCRVzGyCYe3WNNaBByw2hyxCy7a87V8J9sNX9cA_D9YjMeYWDrqRVUX440tclkdiWFt1okXncql4/s200/chart+ascent+all+01.png" width="200" height="120" data-original-width="1035" data-original-height="622" /></a>
</div>
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm">designation</th>
<th class="tg-amwm">V<sub>B</sub> [m<sup>3</sup>]</th>
<th class="tg-amwm">m<sub>B</sub> [g]</th>
<th class="tg-amwm">m<sub>P</sub> [g]</th>
<th class="tg-amwm">m<sub>FL</sub> [g]</th>
<th class="tg-amwm">v<sub>E</sub> [m/s]</th>
<th class="tg-amwm">v<sub>2k</sub> [m/s]</th>
<th class="tg-amwm">alt<sub>E</sub> [m]</th>
<th class="tg-amwm">alt<sub>F</sub> [m]</th>
<th class="tg-amwm">alt<sub>d</sub> [m]</th>
</tr>
<tr>
<td class="tg-yw47">TT7B1 Flight</td>
<td class="tg-lyy6">0.434</td>
<td class="tg-lyy6">116.0</td>
<td class="tg-lyy6">11.0</td>
<td class="tg-lyy6">5.1</td>
<td class="tg-lyy6">0.78</td>
<td class="tg-lyy6">-</td>
<td class="tg-lyy6">12,410</td>
<td class="tg-lyy6">-</td>
<td class="tg-lyy6">-</td>
</tr>
<tr>
<td class="tg-yw47">TT7B2 Flight</td>
<td class="tg-lyy6">1.045</td>
<td class="tg-lyy6">224.0</td>
<td class="tg-lyy6">18.5</td>
<td class="tg-lyy6">10.8</td>
<td class="tg-lyy6">0.91</td>
<td class="tg-lyy6">0.65</td>
<td class="tg-lyy6">13,810</td>
<td class="tg-lyy6">13,510</td>
<td class="tg-lyy6">300</td>
</tr>
<tr>
<td class="tg-yw47">TT7B1 Relaunch</td>
<td class="tg-lyy6">~0.430</td>
<td class="tg-lyy6">116.0</td>
<td class="tg-lyy6">18.6</td>
<td class="tg-lyy6">7.2</td>
<td class="tg-lyy6">0.90</td>
<td class="tg-lyy6">0.69</td>
<td class="tg-lyy6">11,930</td>
<td class="tg-lyy6">10,796</td>
<td class="tg-lyy6">1,134</td>
</tr>
<tr>
<td class="tg-yw47">TT7B2 Relaunch</td>
<td class="tg-lyy6">1.099</td>
<td class="tg-lyy6">224.0</td>
<td class="tg-lyy6">19.1</td>
<td class="tg-lyy6">13.2</td>
<td class="tg-lyy6">1.00</td>
<td class="tg-lyy6">0.89</td>
<td class="tg-lyy6">13,880</td>
<td class="tg-lyy6">13,416</td>
<td class="tg-lyy6">464</td>
</tr>
<tr>
<td class="tg-yw47">TT7B3 Flight</td>
<td class="tg-lyy6">1.497</td>
<td class="tg-lyy6">274.0</td>
<td class="tg-lyy6">8.2</td>
<td class="tg-lyy6">14.5</td>
<td class="tg-lyy6">1.00</td>
<td class="tg-lyy6">0.62</td>
<td class="tg-lyy6">15,190</td>
<td class="tg-lyy6">-</td>
<td class="tg-lyy6">-</td>
</tr>
</tbody></table>
<br />
The table above contains detailed parameters of each flight, while the resulting launch trajectories are recorded in the ascent rate and altitude profile charts. The $V_{B}$ parameter represents the measured envelope volume - in case of the third flight the value is only a pre-flight estimate as I wasn't able to actually measure the envelope that time. Data from the actual flight suggest rather smaller internal volume of just around 0.380m<sup>3</sup>. Parameters $m_{B}$ and $m_{P}$ represent the masses of the envelope and the payload, respectively. The values in the $m_{FL}$ column represent the final measured free lift on a sealed and prepared balloon (cut excess film) with payload attached and thus slightly differ from the intended target values. The $v_{E}$ ascent rates then represent expected initial ascent rate for the system, while $v_{2k}$ column contains actual average rates from launch altitude to 2,000 meters. The last three columns show the expected float altitude $alt_{E}$ for the system and atmospheric conditions on the day of launch (data from closest weather station's sounding), the actual initial float altitude $alt_{F}$, and the difference $alt_{d}$ between the two.<br />
<br />
It is apparent that specific atmospheric conditions on the day of launch play important role in the initial ascent rate at low lifts such as these. Especially noticeable is the varying ascent rate on the fifth flight despite relatively high free lift compared to the other flights. A difference between envelope types is observable in the data as well. The obround shaped envelopes peak at significantly higher ascent rate when they are fully inflated than the circular envelopes due to different drag coefficient. The data also show that except for the fourth flight, the ascent rate all the way to roughly 10,000m was very similar on all the other three flight. The difference between the expected and actual float altitude in case of the second and fourth flights (300 and 464m) is, in my opinion, due to some inaccuracy in the volume measurements and due to some remaining air taking up space in the sealed envelope as it is not easy to get it all out after pre-stretching. The large difference between expected and actual float altitude on the third flight (1134m) is mainly due to the poor estimate of the unknown envelope volume. There were some issues with the pumps during its pre-stretching, so I made a guess about its volume purely based on pressure levels achieved during pre-stretching. The in-flight data suggest I was way off.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1G1VtTEEdktWkDrgYHuwC06ANhyphenhyphen0J5sgqU34jHp9umzkAcRHFA0u_fzd6jbcIO0qikW1Fa7bxOMTAwX2Zc_hkmJdijF7ijfzMT0RNTFV3CbgQNZrhSY7-sV3qLPNJ0xye_jgTr3ko84s/s1600/chart+altitude+TT7B2+relaunch+01.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1G1VtTEEdktWkDrgYHuwC06ANhyphenhyphen0J5sgqU34jHp9umzkAcRHFA0u_fzd6jbcIO0qikW1Fa7bxOMTAwX2Zc_hkmJdijF7ijfzMT0RNTFV3CbgQNZrhSY7-sV3qLPNJ0xye_jgTr3ko84s/s200/chart+altitude+TT7B2+relaunch+01.png" width="200" height="120" data-original-width="1034" data-original-height="620" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_cZ7M67lJ0hB2zZLDHSmuRs_0vsWfc7zLLL2J3J3H5oEgmqx1M5UcXkwtTGw2B3etb4FmcLsUfWBNPqn0jhlVXNseiRmvjpv8GdJam5KYLXn3DtaKArQi0iCW9i4oVPH2QKYKDqCHoro/s1600/chart+altitude+TT7B2+relaunch+02.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_cZ7M67lJ0hB2zZLDHSmuRs_0vsWfc7zLLL2J3J3H5oEgmqx1M5UcXkwtTGw2B3etb4FmcLsUfWBNPqn0jhlVXNseiRmvjpv8GdJam5KYLXn3DtaKArQi0iCW9i4oVPH2QKYKDqCHoro/s200/chart+altitude+TT7B2+relaunch+02.png" width="200" height="120" data-original-width="1036" data-original-height="622" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_dq5SU5JayNKLnyZw6oHZk1Jrf1s8Nl89MpuA9MV8XPrcQ3koisJcjr2CvlTIM51zcSmkJLpKvZ8py8uxq2YDORb2s0ciW8G-uK-qMubpzbCq1mkgxf7EJFOn2RIKaAxNfDBA3TU98Zg/s1600/chart+altitude+TT7B2+relaunch+03.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_dq5SU5JayNKLnyZw6oHZk1Jrf1s8Nl89MpuA9MV8XPrcQ3koisJcjr2CvlTIM51zcSmkJLpKvZ8py8uxq2YDORb2s0ciW8G-uK-qMubpzbCq1mkgxf7EJFOn2RIKaAxNfDBA3TU98Zg/s200/chart+altitude+TT7B2+relaunch+03.png" width="200" height="120" data-original-width="1035" data-original-height="622" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFQXWZXupIhrx-OOHFsRCFMTKM7BZdJUME7YaMxGyTyq_hdTyW9ZU0HwxouEOpRs1ZmueqfUuswQCOzCNH2WK8Xfwv1C4bhsZUTLn_zGXVAhL3TAVGyvdt5iWHf834mZ9fwDzbFJisGy0/s1600/chart+altitude+TT7B2+relaunch+04.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFQXWZXupIhrx-OOHFsRCFMTKM7BZdJUME7YaMxGyTyq_hdTyW9ZU0HwxouEOpRs1ZmueqfUuswQCOzCNH2WK8Xfwv1C4bhsZUTLn_zGXVAhL3TAVGyvdt5iWHf834mZ9fwDzbFJisGy0/s200/chart+altitude+TT7B2+relaunch+04.png" width="200" height="120" data-original-width="1035" data-original-height="623" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHC3XKmBiSAVyL7nNjdD2gV77uY8XoTyr0FgtBXIe1eD7QlRbswmZvxws1-BJRYKgCpwc9Q5ct4f7G4GIw4cUWNzU8ZlL5hLAugtssUw2L98_1U9GawoExwAta70iQY8oGQJnYhVZ3xGM/s1600/chart+altitude+TT7B2+relaunch+05.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHC3XKmBiSAVyL7nNjdD2gV77uY8XoTyr0FgtBXIe1eD7QlRbswmZvxws1-BJRYKgCpwc9Q5ct4f7G4GIw4cUWNzU8ZlL5hLAugtssUw2L98_1U9GawoExwAta70iQY8oGQJnYhVZ3xGM/s200/chart+altitude+TT7B2+relaunch+05.png" width="200" height="120" data-original-width="1036" data-original-height="622" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXaxGz3n2o571w8CXrnAG-LdNSoZiI5ltw5iPR1AfABZK6Ty2LFSHB0xsnLhUTfhVca7g34CSqWzyTXiKC7C21NXahqa6-kU1cEaCzj4hKZMdCmUDKFexD4U-tBPO8lrB97VLNqqeK_iA/s1600/chart+altitude+TT7B2+relaunch+06.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXaxGz3n2o571w8CXrnAG-LdNSoZiI5ltw5iPR1AfABZK6Ty2LFSHB0xsnLhUTfhVca7g34CSqWzyTXiKC7C21NXahqa6-kU1cEaCzj4hKZMdCmUDKFexD4U-tBPO8lrB97VLNqqeK_iA/s200/chart+altitude+TT7B2+relaunch+06.png" width="200" height="120" data-original-width="1036" data-original-height="623" /></a>
</div>
The six charts above show a 28 day long, detailed recording of TT7B2's (relaunched) altitude progression. Unexplained issues with the GNSS module, however, led to erroneous altitude reports on a number of occasions during that time. The obvious errors were removed from the data set. Other suspicious data points were left in it. When lone outliers such as on the 2nd of October and a two hour long slump in the middle of the night on the 19th/20th of October (likely a GNSS module error) were removed, the variation in the balloon's altitude over the 28 day period was 900m (maximum: 13750m, minimum: 12850m). Upon a closer look, there is no clear, regular day to night variation in altitude distinguishable from development of the air mass in which the balloon floated. The balloon's altitude would vary within a range of less than 200m on a typical day with a few exceptions where the balloon's altitude changed by up to 500m.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgo0WAvCw07_YNtPo5oH56Uu0JLdsZLVgKos6MtSXX0f03h4hOdnZzP88LbiDKGANWcO7JgIab_65jkDFFlt9HHka5YeZ31wuVDkDaCSK0hQr1NCrSBr1h7jCmIAurlmJyL4Vxbhmqn1Hg/s1600/chart+altitude+latitude+TT7B2+relaunch+01.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgo0WAvCw07_YNtPo5oH56Uu0JLdsZLVgKos6MtSXX0f03h4hOdnZzP88LbiDKGANWcO7JgIab_65jkDFFlt9HHka5YeZ31wuVDkDaCSK0hQr1NCrSBr1h7jCmIAurlmJyL4Vxbhmqn1Hg/s200/chart+altitude+latitude+TT7B2+relaunch+01.png" width="200" height="93" data-original-width="1343" data-original-height="624" /></a>
</div>
This chart captures TT7B2's altitude with respect to the balloon's latitude. Generally speaking, closer to the poles a balloon is, lower in altitude it will be, while closer to the equator it is, higher in altitude it will float. Latitude, however, is only one factor contributing to the height of the air density level at which the balloon found equilibrium. Large scale weather systems and consequent evolution of the air mass surrounding the balloon disrupt the linear relationship. Thus the general tendencies can be observed in the data, but so can exceptions.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhw6wcigNRFs0UIWRknrV4gjpYhYwwXNwQW4r4-eFrUVl4gnrgOOyDsoN0v72y8O7Oo2Zn0rseKSDaXHMwUP85rE285h01Rud8gG_Tcbm_eGzIOuSw5GsmcvnW444twxDI5JshabcmM6HM/s1600/map+weather+stations+05.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhw6wcigNRFs0UIWRknrV4gjpYhYwwXNwQW4r4-eFrUVl4gnrgOOyDsoN0v72y8O7Oo2Zn0rseKSDaXHMwUP85rE285h01Rud8gG_Tcbm_eGzIOuSw5GsmcvnW444twxDI5JshabcmM6HM/s200/map+weather+stations+05.jpg" width="200" height="126" data-original-width="1134" data-original-height="715" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiz_OhvipcUgx7sTcZJKYfSRyaXC_FRPjvuE4lEWrg_mbj698cyoFy2EvpMvbG6pPQFjM_0FDwWmxAnjWIhpFy8XCI8VZXUag6C_PLRhA4k-QksEF58dWDUO8qD3DsmoQjIRSQIhNe3qaA/s1600/weather+stations+density+01.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiz_OhvipcUgx7sTcZJKYfSRyaXC_FRPjvuE4lEWrg_mbj698cyoFy2EvpMvbG6pPQFjM_0FDwWmxAnjWIhpFy8XCI8VZXUag6C_PLRhA4k-QksEF58dWDUO8qD3DsmoQjIRSQIhNe3qaA/s200/weather+stations+density+01.png" width="200" height="93" data-original-width="1342" data-original-height="623" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiv4kfbjZnwgkXMxeN3zW6ITxd_49ic7p6deUohyphenhyphenA2-L_p2SIxETD_Fs4FMe2qrvKDNDTJlhs0d5JuQQGSvD5_QiZxDJ5XeYdERrJiXZgY5ANecKj0CeUNTjALCXkgGyImB440D-X2bFb0/s1600/weather+stations+pressure+01.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiv4kfbjZnwgkXMxeN3zW6ITxd_49ic7p6deUohyphenhyphenA2-L_p2SIxETD_Fs4FMe2qrvKDNDTJlhs0d5JuQQGSvD5_QiZxDJ5XeYdERrJiXZgY5ANecKj0CeUNTjALCXkgGyImB440D-X2bFb0/s200/weather+stations+pressure+01.png" width="200" height="93" data-original-width="1344" data-original-height="626" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMURBaZ1hdAtuKrKYFBq-c2RaAXhT1rmF3v44spe0hrkoaBERjnu1LVX2UAR4ylsc5n0WxWRlBkwCfGi3GEA0IYRmV9avOHLzr49S2q-xA_4ZWMxwHHGyCEIIFB-0M4jUBE9N7B7NhKzU/s1600/weather+stations+temperature+01.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMURBaZ1hdAtuKrKYFBq-c2RaAXhT1rmF3v44spe0hrkoaBERjnu1LVX2UAR4ylsc5n0WxWRlBkwCfGi3GEA0IYRmV9avOHLzr49S2q-xA_4ZWMxwHHGyCEIIFB-0M4jUBE9N7B7NhKzU/s200/weather+stations+temperature+01.png" width="200" height="93" data-original-width="1345" data-original-height="625" /></a>
</div>
The collected altitude vs. latitude data inspired me to look into the phenomenon more closely. The three charts above contain a whole year of sounding data from three weather stations at different latitudes. First from Alert in Nunavut at 82.5°N (blue), then from Omaha in Nebraska at 41.3°N (green), and from Belem in Brazil at 1.4°S (red). The original data can be found on the University of Wyoming <a href="http://weather.uwyo.edu/upperair/sounding.html">website</a>. The first chart captures how high in altitude an air density level is throughout a year above the station. Specifically a level of 0.2664kg/m<sup>3</sup> which is where the relaunched TT7B2 found equilibrium. It is apparent at first sight that the equatorial levels are the highest throughout the whole year and also the most stable with a difference between the minimum and the maximum of only 300m. At the pole, the density levels are the lowest throughout the year regardless of weather systems underneath, and they undergo much more prominent swings with minima and maxima difference of 1100m. At mid latitudes, the density levels experience the largest swings throughout a year and also the most prominent differences between the summer and winter months. With altitudes approaching the equatorial values during the summer, the minima differ from the maxima by 1600m. The data basically represent the float altitude the relaunched TT7B2 would have had had it flown over the specific station at the specific time. The second and third charts, then, provide the values of pressure and temperature, respectively, at the density level. The relationship between the three properties is described by the following equation: $$\rho = \frac{p}{R_{specific} \cdot T}$$ where $\rho$ is the air density, $p$ the air pressure, $T$ the air temperature in Kelvin (K) and $R_{specific}$ the specific gas constant for air (287.058J/kgK). For a balloon floating at a constant density level, the relationship means that if either of the two properties - air temperature or pressure - increases the other increases as well, and vice versa.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1yxOu_Yh7IX9Kvomcj05WMIf26PSxfBMfO8zvOilbPeHJmS8EmfQRHyQT8A_aueUNph0ri4OKuq-iPNX1KNDUz8miAvz2aXkudz2c_Slfq9pT1s3qj1m03mX_A-vzaFB3JPXEgj0c-Bk/s1600/weather+stations+temperature+all+year+01.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1yxOu_Yh7IX9Kvomcj05WMIf26PSxfBMfO8zvOilbPeHJmS8EmfQRHyQT8A_aueUNph0ri4OKuq-iPNX1KNDUz8miAvz2aXkudz2c_Slfq9pT1s3qj1m03mX_A-vzaFB3JPXEgj0c-Bk/s200/weather+stations+temperature+all+year+01.jpg" width="200" height="113" data-original-width="1440" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyC3zVmZ1-md0J15hXDtSQ4n1YsmM5Vfeo43AUJ7gE6z_8j4xg1Q6Cv0xYq1A7wlUYDMjAvMmC-CKUTsA8KEnl0eax_2qA33Od3DPUTyGZh_Tg8HMtIKC5NOgB-Ji4yB5LwIPlECK1t8U/s1600/weather+stations+pressure+all+year+01.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyC3zVmZ1-md0J15hXDtSQ4n1YsmM5Vfeo43AUJ7gE6z_8j4xg1Q6Cv0xYq1A7wlUYDMjAvMmC-CKUTsA8KEnl0eax_2qA33Od3DPUTyGZh_Tg8HMtIKC5NOgB-Ji4yB5LwIPlECK1t8U/s200/weather+stations+pressure+all+year+01.jpg" width="200" height="113" data-original-width="1440" data-original-height="810" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwKgdT7MtRUvnlGoD6x8EdafbB0srLHAcZS7lf099aSKBaACY60X4q5lH9yi679oPUlQD23SsQNTI8q74nw4al4bFzAIkXrLNC5Xs40pzFI1US_pAaECZ-6AUNYO4_9AxLKsrbtfhQ5h4/s1600/weather+stations+density+all+year+01.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwKgdT7MtRUvnlGoD6x8EdafbB0srLHAcZS7lf099aSKBaACY60X4q5lH9yi679oPUlQD23SsQNTI8q74nw4al4bFzAIkXrLNC5Xs40pzFI1US_pAaECZ-6AUNYO4_9AxLKsrbtfhQ5h4/s200/weather+stations+density+all+year+01.jpg" width="200" height="113" data-original-width="1440" data-original-height="810" /></a>
</div>
These three charts show the same sounding data. This time in full scope (pressure and density only up to 15km in altitude for better discernity). During the year worth of data, it was the coldest, perhaps unintuitively, above the equator, but only in a range of altitudes a few kilometers above typical float levels. At float altitudes, it was the warmest during local summer close to the pole. The data also suggest that temperatures above the typical minimum rating of -40°C for electronic components are a rarity anywhere around the globe at the altitudes the TT7B balloons floated. In case of air pressure, the higher surface temperatures at the equator cause air to rise consequently leading to higher pressure than close to the pole when considering the same high altitude. In case of air density, a range of altitudes between 6500 to 7000m seems to be a turning point. Above, a specific density level can be found higher in altitude during local summer than during winter, while below this range a specific density level can be found higher during local winter than during summer. Similarly, the same density level can be found higher in altitude at the equator than at the pole above this range, and vice versa below this range.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwRIPSIr-bDmpdoEW6PZYLosxVBzn7r7DVHtW9ZgokPIO4lfMbMA2e4ql0-JLRWJCexst3wao0vnJD8lO5y2puSm1K_1RxERMXin4zuO0I5qo-3U6WfGOYMEqXT7VSyC9SbHFsE1y8PVI/s1600/chart+altitude+TT7B1+relaunch+01.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwRIPSIr-bDmpdoEW6PZYLosxVBzn7r7DVHtW9ZgokPIO4lfMbMA2e4ql0-JLRWJCexst3wao0vnJD8lO5y2puSm1K_1RxERMXin4zuO0I5qo-3U6WfGOYMEqXT7VSyC9SbHFsE1y8PVI/s200/chart+altitude+TT7B1+relaunch+01.png" width="200" height="120" data-original-width="1035" data-original-height="622" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQYDPn58nqZ-bzSD-J5onGQHUQK0OFEU7bzYtwCOYvmjE0w3TxWOwiTZad91gg541Z07bMfbSw4d-aKB_F1EOadmd4CqEHILJQ6yzH1bljjG33TFEIK1jNqIA5MgPXlhnQtP1LNppuKbM/s1600/chart+altitude+TT7B2+01.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQYDPn58nqZ-bzSD-J5onGQHUQK0OFEU7bzYtwCOYvmjE0w3TxWOwiTZad91gg541Z07bMfbSw4d-aKB_F1EOadmd4CqEHILJQ6yzH1bljjG33TFEIK1jNqIA5MgPXlhnQtP1LNppuKbM/s200/chart+altitude+TT7B2+01.png" width="200" height="120" data-original-width="1036" data-original-height="622" /></a>
</div>
For completion, these are altitude profiles of the relaunched TT7B1 flight and of TT7B2's first flight. Both exhibited a similar range in daily float altitude to the relaunched TT7B2 throughout the single day they floated. Notice that as the balloon slowly leaks, the float altitude stays more or less the same initially, only after the buoyant force of the remaining volume of gas becomes less than the weight of the system, the balloon descends fairly rapidly.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEge4nYLlE9dG7CQBjQDNjzw3LfEnnEHHNNjHzJJUISNfUh3TCm9INHH3V9YZPmINcjPdAzcG6nwWuJQuwiUmTHECoNL2YAzJ-Asx4QqF2canRoeJjX70Y90CBygm8CjOvYMD2C4D7ltdE8/s1600/chart+satellites+TT7B2+flight+02.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEge4nYLlE9dG7CQBjQDNjzw3LfEnnEHHNNjHzJJUISNfUh3TCm9INHH3V9YZPmINcjPdAzcG6nwWuJQuwiUmTHECoNL2YAzJ-Asx4QqF2canRoeJjX70Y90CBygm8CjOvYMD2C4D7ltdE8/s200/chart+satellites+TT7B2+flight+02.png" width="200" height="121" data-original-width="1037" data-original-height="626" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjW_OrvYLAowy5L3z5beptX8ydb5N_ccY3WwqkrPJFlE5-TeaL0rjF8iz-Q3iy96sEStswtIiDrdcSfxK6PqTZhJx6tGRVDi5hczGkvrv_NCUIzT-kbHfB3msWKye_9dB43OA3NbUbHwNY/s1600/chart+satellites+TT7B1+relaunch+02.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjW_OrvYLAowy5L3z5beptX8ydb5N_ccY3WwqkrPJFlE5-TeaL0rjF8iz-Q3iy96sEStswtIiDrdcSfxK6PqTZhJx6tGRVDi5hczGkvrv_NCUIzT-kbHfB3msWKye_9dB43OA3NbUbHwNY/s200/chart+satellites+TT7B1+relaunch+02.png" width="200" height="120" data-original-width="1035" data-original-height="623" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAKpL2a3-w4HBES5KYzB61Buox0zw_RKRnxY2lUqqtA-hP7QQrHU0sv5qvUxxyuIIIYGVddkFpdcsViVa-ZDtKegYRJEw9Ij_4Rk7kbqFdODUA3KqWE157f0WFw2nzt3z_wpQRV_FFLvo/s1600/chart+satellites+TT7B2+relaunch+03.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAKpL2a3-w4HBES5KYzB61Buox0zw_RKRnxY2lUqqtA-hP7QQrHU0sv5qvUxxyuIIIYGVddkFpdcsViVa-ZDtKegYRJEw9Ij_4Rk7kbqFdODUA3KqWE157f0WFw2nzt3z_wpQRV_FFLvo/s200/chart+satellites+TT7B2+relaunch+03.png" width="200" height="93" data-original-width="1343" data-original-height="624" /></a>
</div>
As the sounding data suggest, the TT7B balloons that managed to float did so in very cold air masses outside the typical operating range of electronic components. During the day, the electronics get warmed up by the Sun to within the operating range, however, during the night the temperature of the components eventually falls to the ambient air temperature. This typically led to some of the components not working properly, or to a complete end of the tracker's operation until the next morning suggesting either the MCU or the transmitter were affected by the cold. In case of the GNSS module (u-blox ZOE-M8B), the average time required to produce a valid positional solution would increase, but it would stay operational if the ambient air temperature stayed above about -58°C. When the ambient air temperature was between roughly -58°C to sometimes down to -63°C the tracker would still transmit packets, but the GNSS module would no longer respond to communication, and the attempt to poll data would time out in about 2 seconds.<br />
<br />
The tracker on the first TT7B2 flight contained an instruction to do a system reset with a fixed five minute period for satellite acquisition in case it failed to acquire a valid solution five times in a row which can be observed in the first chart above. This instruction was removed for the latter flights along with shortening the maximum duration during which the GNSS module attempts to get a valid solution. Since the 16th day of the relaunched TT7B2's flight, its GNSS module began to experience difficulties maintaining lock onto satellites for some unknown reason. This lead to a significant increase in average active time, and erroneous positional and altitude measurements started to show in the data. Note that these sometimes significant errors were passed as valid solutions by the GNSS module. This unexplained behavior drastically decreased the expected lifetime of the battery as the average GNSS active time was the main contributor to the tracker's consumption.<br />
<br />
The average active time on the first TT7B2's flight was 6.4s when the system reset periods were omitted from the data, and only 2.4s when only data from the day were considered. The average number of satellites used in a solution was 6.2 with a maximum at 11 satellites. The relaunched TT7B1, on the other hand, averaged only 5.2 satellites in a solution with a maximum of 7. This probably contributed to a higher active time of 5.6s during the day it managed to float. The previously discussed TT7B2's second flight (relaunch) saw initially average daily active times in the range of 3.9 to 6.3s (7.2s when the GNSS module operated throughout the night). After the GNSS module began suffering from the unknown issue, the range increased to 10.8 to 17.5s. However, data from the last day show a return to the initial range with an average of 3.4s. The average number of satellites used in a valid solution was within a range of 5.2 to 6.5 with maxima of up to 11 satellites throughout the whole flight.<br />
<br />
Another issue with GNSS became apparent on the TT7B3 tracker. This tracker transmitted 2 minute long WSPR transmissions which when ended saw the GNSS module having lost fix to all satellites and requiring several seconds, sometimes tens of seconds, to reacquire it. Something in the transmission, or the Si5351B's chain of frequency reference manipulation must have been interfering with the GNSS reception. The earlier APRS transmissions were probably too short to cause a noticeable issues. Later, I encountered this interference problem separately with a different u-blox module and Si5351B in a different configuration as well.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhM9APUJsP4jks_7Tae53nCJpL3X3KTgv6_f05-fGVQGNgIdFdxODhws_v-7oxW42BX0_muk2NqmKhNDpZbjKZRau-VzlpxChqt6TtlXMCBTPDevb6nMlW4YN_-YYSD4P6pGjFif0tNFZ0/s1600/chart+pressure+TT7B2+flight+02.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhM9APUJsP4jks_7Tae53nCJpL3X3KTgv6_f05-fGVQGNgIdFdxODhws_v-7oxW42BX0_muk2NqmKhNDpZbjKZRau-VzlpxChqt6TtlXMCBTPDevb6nMlW4YN_-YYSD4P6pGjFif0tNFZ0/s200/chart+pressure+TT7B2+flight+02.png" width="200" height="120" data-original-width="1036" data-original-height="623" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg107F8ryxgkzss1YWGXWbY1kGtOfHeQFqKS4lAF2oD3fSxeHzAurzlGiWQkjviz8aZuxKRA9SiS7IUl4fAco77sTbUTBJqidRL0h8Z6ffRTXKYECMz43aIABOwflZEYVBv8Mt9SzfK9KU/s1600/chart+pressure+TT7B2+relaunch+03.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg107F8ryxgkzss1YWGXWbY1kGtOfHeQFqKS4lAF2oD3fSxeHzAurzlGiWQkjviz8aZuxKRA9SiS7IUl4fAco77sTbUTBJqidRL0h8Z6ffRTXKYECMz43aIABOwflZEYVBv8Mt9SzfK9KU/s200/chart+pressure+TT7B2+relaunch+03.png" width="200" height="121" data-original-width="1035" data-original-height="624" /></a>
</div>
The next component noticeably affected by the cold was the pressure sensor (MS5607), specifically its pressure measurement as it provides temperature data as well. There were two pressure sensors on each tracker. One directly on the PCB (onboard), the other (external) on an extended cable glued inside the balloon envelope in case of the first TT7B2 flight and the relaunched TT7B1. In case of the relaunched TT7B2 the cable was left hanging outside and shielded by a piece of silver rescue blanket. The sensors would typically produce sensible pressure readings as long as the tracker was illuminated by the Sun. After the Sun set, the pressure readings would either begin to drift significantly or max out completely. The TT7B2's first flight, because it descended during the night, provided insight into the air temperature at which the sensors began to output adequate readings again, around -34°C. This behavior unfortunately meant that the pressure readings couldn't be used to verify whether the relaunched TT7B2 indeed descended during the night from the 19th to 20th of October by 1000m in an hour and a half, or it was just a GNSS module error.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHpZED5aMn9l3L-iDFAram87B6MZpmWlrGJcByEOIl-JtRrujnVUbc62HmK70jJRVeJgKaRAo-ND-StvyKYQT3BvcF5y9Gd2TvsTjvWwQd1HMc8CxbtLTs12EtclZPwxKjyeP6T0qIkJc/s1600/chart+pressure+warmup+TT7B2+relaunch+02.PNG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHpZED5aMn9l3L-iDFAram87B6MZpmWlrGJcByEOIl-JtRrujnVUbc62HmK70jJRVeJgKaRAo-ND-StvyKYQT3BvcF5y9Gd2TvsTjvWwQd1HMc8CxbtLTs12EtclZPwxKjyeP6T0qIkJc/s200/chart+pressure+warmup+TT7B2+relaunch+02.PNG" width="200" height="120" data-original-width="1038" data-original-height="625" /></a>
</div>
Based on the multiday data from the relaunched TT7B2, the MS5607 would return to outputting sensible pressure values when it measured temperatures above -40°C, its datasheet stated operating range. The chart above shows one such sunrise where the onboard sensor warmed up enough about an hour earlier than the external sensor.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNX0PTktt72QokRiJt4mOXoyy_gP56_h3BO4S5uPH2IyQ96CIuOCj91lfI2Upb_mcXL4FnSiBizwITkm2_L-i4556MerQGnxVwGXPmN8iTc45dfHJqics0HfQFUQgA3sGA0VPRRVUnsm0/s1600/chart+pressure+day+TT7B2+relaunch+09.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNX0PTktt72QokRiJt4mOXoyy_gP56_h3BO4S5uPH2IyQ96CIuOCj91lfI2Upb_mcXL4FnSiBizwITkm2_L-i4556MerQGnxVwGXPmN8iTc45dfHJqics0HfQFUQgA3sGA0VPRRVUnsm0/s200/chart+pressure+day+TT7B2+relaunch+09.png" width="200" height="120" data-original-width="1037" data-original-height="623" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglZ-lWY4Hy0lmmzDrkf04AJ29cwZsNcPJJeg36_AdtyCr8GRYiecrCoUynPVy1eQMT9nJzSS0tm81TdGAJEN9spDTxfTvPXEWTKBHSzk-BYb-qaUgdFlsZgAXZOyOn9hyphenhyphenFwDv8mmO0ODk/s1600/chart+pressure+day+TT7B2+relaunch+10.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglZ-lWY4Hy0lmmzDrkf04AJ29cwZsNcPJJeg36_AdtyCr8GRYiecrCoUynPVy1eQMT9nJzSS0tm81TdGAJEN9spDTxfTvPXEWTKBHSzk-BYb-qaUgdFlsZgAXZOyOn9hyphenhyphenFwDv8mmO0ODk/s200/chart+pressure+day+TT7B2+relaunch+10.png" width="200" height="121" data-original-width="1035" data-original-height="624" /></a>
</div>
A couple of times the external pressure sensor didn't work properly the entire day. A bit of a mystery about the relaunched TT7B2 flight was that most of the time the onboard sensor would measure higher temperature and work even when the external no longer did, but there were occasions where it was the other way around including the measured temperature. I am wondering whether the external sensor's shield perhaps kept moving or unwrapping throughout the flight influencing the situation.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8iftpVEG0yrZXiuynUn4ORyp20Hi_5h5GE9fVqn0TQjJElpyJHQVcziNr6BIAraTQ6qWMLbONECf3AmoxH93VW8mqGXSlqKM-m7saiT2UIIlG6YCbOUZRcX43c3fH7354cvXXgdIeixE/s1600/chart+temperature+day+TT7B2+relaunch+03.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8iftpVEG0yrZXiuynUn4ORyp20Hi_5h5GE9fVqn0TQjJElpyJHQVcziNr6BIAraTQ6qWMLbONECf3AmoxH93VW8mqGXSlqKM-m7saiT2UIIlG6YCbOUZRcX43c3fH7354cvXXgdIeixE/s200/chart+temperature+day+TT7B2+relaunch+03.png" width="200" height="120" data-original-width="1034" data-original-height="622" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwAY4qqq6C3o2y2RGHVD8Qwj8t-vo3yhy5xAj2icSh-oyw9fRX5G2fmGOa2R0hmGs0BvTJAgux4Jl2IuU_dQH9z9j7on1IT-waAdIYc4nzRE-z9oqSUvmsdYBCvSh6iHa_2jP_Nisc4j8/s1600/chart+temperature+day+TT7B2+relaunch+12.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwAY4qqq6C3o2y2RGHVD8Qwj8t-vo3yhy5xAj2icSh-oyw9fRX5G2fmGOa2R0hmGs0BvTJAgux4Jl2IuU_dQH9z9j7on1IT-waAdIYc4nzRE-z9oqSUvmsdYBCvSh6iHa_2jP_Nisc4j8/s200/chart+temperature+day+TT7B2+relaunch+12.png" width="200" height="120" data-original-width="1035" data-original-height="623" /></a>
</div>
The temperature data were obtained from five temperature sensors on each tracker. There were two thermistors, one onboard the other external, each of the two pressure sensors output a temperature reading as well, and the fifth temperature measurement came from the MCU. All the individual sensors were affected by self-heating and absorption of solar radiation to a degree. On the relaunched TT7B2, the least affected was the unshielded onboard thermistor, but even that one measured 10-15°C higher air temperatures than during the night. Its night-time measurements, then, were about 0-1.5°C off when compared to the closest sounding data on a couple of occasions I checked. In contrast, the external thermistor was shielded by a reflective rescue blanket canopy, and it typically measured temperatures about 25-35°C higher during the day and about 5°C higher during the night. The also shielded, external MS5607 measured comparable temperatures to the external thermistor during the day. During the night, it measured temperatures about 5°C higher. The onboard MS5607 and the MCU measured similar temperatures and also the highest of all sensors during the day, while outputting comparable data to the external thermistor during the night.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm">sensor</th>
<th class="tg-amwm">T<sub>min</sub> [°C]</th>
<th class="tg-amwm">T<sub>max</sub> [°C]</th>
</tr>
<tr>
<td class="tg-yw47">MCU</td>
<td class="tg-lyy6">+44</td>
<td class="tg-lyy6">+57</td>
</tr>
<tr>
<td class="tg-yw47">Thermistor (onboard)</td>
<td class="tg-lyy6">+9</td>
<td class="tg-lyy6">+18</td>
</tr>
<tr>
<td class="tg-yw47">Thermistor (external)</td>
<td class="tg-lyy6">+27</td>
<td class="tg-lyy6">+35</td>
</tr>
<tr>
<td class="tg-yw47">MS5607 (onboard)</td>
<td class="tg-lyy6">+43</td>
<td class="tg-lyy6">+57</td>
</tr>
<tr>
<td class="tg-yw47">MS5607 (external)</td>
<td class="tg-lyy6">+27</td>
<td class="tg-lyy6">+35</td>
</tr>
</tbody></table>
<br />
This table is a result of comparing an hour of temperature measurements from the sensors to the closest sounding data on a few days the relaunched TT7B2 tracker was in a relative proximity to a weather station around local noon. The data represent the difference between measurements by specific sensors and the sounding data in a form of an interval.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0CZityNqpGaCArHyQhepGigvCeRQCyGy5J5yT59Gy53OdB1bJPgc3Ti1OSKRd64LbfSUggoyaHtRDafPCx4rqpq2n5iXFx4falUiazMxiCj1zpUytgth2yu3L9lX5tKWdAsitrdYqx3k/s1600/chart+temperature+TT7B2+relaunch+02.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0CZityNqpGaCArHyQhepGigvCeRQCyGy5J5yT59Gy53OdB1bJPgc3Ti1OSKRd64LbfSUggoyaHtRDafPCx4rqpq2n5iXFx4falUiazMxiCj1zpUytgth2yu3L9lX5tKWdAsitrdYqx3k/s200/chart+temperature+TT7B2+relaunch+02.png" width="200" height="93" data-original-width="1343" data-original-height="622" /></a>
</div>
This chart shows the temperature variation as measured by the onboard thermistor throughout the whole relaunched TT7B2 flight. The data from the ambient light sensor show several periods where the tracker at least partially operated during night-time.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipfYyPma4AQH7KMVPo1jkV1j560PyX_xXNAEGSvtANbeqUUYF-Q10ir4-ySoU3kCeUgHRqxiGgtQ8LsiPumDIqNKu3lxNbRBpZ8VLp179PzMpFP6YneAEVXQzJF9J2YQyUE32OIWVvD20/s1600/chart+temperature+day+TT7B2+flight+01.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipfYyPma4AQH7KMVPo1jkV1j560PyX_xXNAEGSvtANbeqUUYF-Q10ir4-ySoU3kCeUgHRqxiGgtQ8LsiPumDIqNKu3lxNbRBpZ8VLp179PzMpFP6YneAEVXQzJF9J2YQyUE32OIWVvD20/s200/chart+temperature+day+TT7B2+flight+01.png" width="200" height="120" data-original-width="1036" data-original-height="624" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPxG5usx-BDG7oxMo-BrzACn2lqB2nqVfF_jEZqVeSz-sJ04c2HgtFyHhtqzXcjbR-DPsCPocoVZtjwGUlyYxO3KuTJSEvPQwyHqZoQnojSJxv50E0gbGUQaOFn12euFlDyWVBm3QCvbs/s1600/chart+temperature+day+TT7B1+relaunch+01.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPxG5usx-BDG7oxMo-BrzACn2lqB2nqVfF_jEZqVeSz-sJ04c2HgtFyHhtqzXcjbR-DPsCPocoVZtjwGUlyYxO3KuTJSEvPQwyHqZoQnojSJxv50E0gbGUQaOFn12euFlDyWVBm3QCvbs/s200/chart+temperature+day+TT7B1+relaunch+01.png" width="200" height="120" data-original-width="1036" data-original-height="624" /></a>
</div>
In the cases of the TT7B2's first flight and the relaunched TT7B1, the external sensors were sealed inside the balloon envelopes measuring temperature of the hydrogen. While the balloons were floating, the external MS5607 measured hydrogen temperatures within 5°C of the external thermistor measurements.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5bIt87BTaJtdb2HPlaLqn1VwomJdXT7dGoyBtKjhJ5OtC5fg6rgrdytppfcdiY3h1BqPmt4wfkk9WU6S7M6FojbFhafjSSpI0eUT01ht3Xxw1Gky0so6BG9cU-dkaP-i89W7-AGEbCQU/s1600/chart+superpressure+TT7B2+flight+01.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5bIt87BTaJtdb2HPlaLqn1VwomJdXT7dGoyBtKjhJ5OtC5fg6rgrdytppfcdiY3h1BqPmt4wfkk9WU6S7M6FojbFhafjSSpI0eUT01ht3Xxw1Gky0so6BG9cU-dkaP-i89W7-AGEbCQU/s200/chart+superpressure+TT7B2+flight+01.png" width="200" height="120" data-original-width="1036" data-original-height="623" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNW8sS0sUPi1WN7Q5uhC6iOXmo287jFXtWZAQiZQBhl2IzVhu3eBT7qT5WY3i4qqu-_5uK-8C2ql58GrNsxDtkdRxSlnWuM_T9jfY_BUkNgniVQL04Cl3qTzcNIDaHPwuV1qVakQQ1TyA/s1600/chart+superpressure+TT7B1+relaunch+01.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNW8sS0sUPi1WN7Q5uhC6iOXmo287jFXtWZAQiZQBhl2IzVhu3eBT7qT5WY3i4qqu-_5uK-8C2ql58GrNsxDtkdRxSlnWuM_T9jfY_BUkNgniVQL04Cl3qTzcNIDaHPwuV1qVakQQ1TyA/s200/chart+superpressure+TT7B1+relaunch+01.png" width="200" height="120" data-original-width="1036" data-original-height="623" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh28qFCmRsyHaiXDFHSv_y7sY1_nOo2FEK8IW7c5ah3i9NYTVCTG27X1dsNJ8KPoOn1ZRaR-4y6mSTSqpopnsxt_fjvWSWysbHcT7vP7jcew9_vXaWdOWL-V7YNKBkcA0GiCUl7KR6UQcs/s1600/chart+supertemperature+TT7B2+flight+01.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh28qFCmRsyHaiXDFHSv_y7sY1_nOo2FEK8IW7c5ah3i9NYTVCTG27X1dsNJ8KPoOn1ZRaR-4y6mSTSqpopnsxt_fjvWSWysbHcT7vP7jcew9_vXaWdOWL-V7YNKBkcA0GiCUl7KR6UQcs/s200/chart+supertemperature+TT7B2+flight+01.png" width="200" height="121" data-original-width="1036" data-original-height="625" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhe87_TaG8lj1Z_dvncU_Evi-4OrJjSIWykolCulXsEAIITPw06zvm1cjQ13RmIxYkKuTAalrmnCZSRnJBttnE0vig-yH7lp5EFqeynZyM9nn3gUhdMdS_0OWDGaZNaDVbojg8kM_tIz8E/s1600/chart+supertemperature+TT7B1+relaunch+01.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhe87_TaG8lj1Z_dvncU_Evi-4OrJjSIWykolCulXsEAIITPw06zvm1cjQ13RmIxYkKuTAalrmnCZSRnJBttnE0vig-yH7lp5EFqeynZyM9nn3gUhdMdS_0OWDGaZNaDVbojg8kM_tIz8E/s200/chart+supertemperature+TT7B1+relaunch+01.png" width="200" height="120" data-original-width="1036" data-original-height="624" /></a>
</div>
One of the main goals of the TT7B flights was to obtain measurements of the hydrogen pressure and temperature inside the balloons with respect to ambient air pressure and temperature, the superpressure and supertemperature quantities. Unfortunately, due to my inability to seal the sensors inside the envelope airtight, only partial data were collected on the first flight of TT7B2 and on the relaunched TT7B1 flight. Despite the two envelopes being of different type, the measured pressure inside peaked at between 1.8 and 1.9kPa in both cases suggesting that that was the limit of the sealing method. The peak in the balloon's initial altitude came about 4 minutes later in case of TT7B2 and about 2 minutes later in case of TT7B1. Since then the pressure gradually decreased until the balloons lost lift and started to descend.<br />
<br />
As for the temperature of the hydrogen, the initial expansion of the gas due to decreasing ambient air pressure steadily decreased the gas temperature until the envelope was filled completely. At that point, the hydrogen temperature stopped decreasing, while the ambient air temperature continued decreasing until the balloon ascended to its float altitude. The TT7B2 flight provided some insight in to the day to night variation in the hydrogen temperature and recorder a decrease of about 2.5°C. However, since the gas was continually escaping from the envelope, the difference between initial amount of hydrogen and amount not able to provide sufficient buoyancy to sustain float was about 5%, I am not sure to what extent this gas loss affected the temperature of the remaining gas as it had more space to expand into.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm">designation</th>
<th class="tg-amwm">m<sub>g</sub> [g]</th>
<th class="tg-amwm">p<sub>a</sub> [Pa]</th>
<th class="tg-amwm">T<sub>a</sub> [°C]</th>
<th class="tg-amwm">V<sub>b</sub> [m<sup>3</sup>]</th>
<th class="tg-amwm">st [°C]</th>
<th class="tg-amwm">sp [Pa]</th>
</tr>
<tr>
<td class="tg-yw47">TT7B2 Flight</td>
<td class="tg-lyy6">18.95</td>
<td class="tg-lyy6">16,176</td>
<td class="tg-lyy6">-67.9</td>
<td class="tg-lyy6">0.952</td>
<td class="tg-lyy6">13.5</td>
<td class="tg-lyy6">1,776</td>
</tr>
<tr>
<td class="tg-yw47">TT7B1 Relaunch</td>
<td class="tg-lyy6">10.61</td>
<td class="tg-lyy6">24,446</td>
<td class="tg-lyy6">-52.6</td>
<td class="tg-lyy6">0.376</td>
<td class="tg-lyy6">11.0</td>
<td class="tg-lyy6">2,496</td>
</tr>
<tr>
<td class="tg-yw47">TT7B2 Relaunch</td>
<td class="tg-lyy6">19.17</td>
<td class="tg-lyy6">16,047</td>
<td class="tg-lyy6">-63.3</td>
<td class="tg-lyy6">0.985</td>
<td class="tg-lyy6" style="color:red;">13.5</td>
<td class="tg-lyy6" style="color:red;">1,892</td>
</tr>
</tbody></table>
<br />
This table contains the masses of gas $m_{g}$ with which the individual balloons were filled. Then sounding data from the closest weather stations at the balloon's float altitude $p_{a}$ and $T_{a}$. This data is used to calculate density of air $\rho_{a}$ at the float altitude which equals the density of the balloon/tracker/gas system $\rho_{s}$. By utilizing the known balloon, payload and gas masses, the inner volume of the balloon $V_{b}$ is calculated. The measured gas temperature $T_{g}=T_{a}+st$ is used to calculate the expected superpressure $sp$ exerted by the amount of gas $m_{g}$ on the envelope of volume $V_{b}$ at ambient air pressure $p_{a}$. $$\rho_{a}=\frac{p_{a}}{R_{a}\cdot T_{a}}\;\;\;\;\;\; V_{b}=\frac{m_{b}+m_{p}+m_{g}}{\rho_{s}}\;\;\;\;\;\; sp=\frac{m_{g}\cdot R_{g}\cdot T_{g}}{V_{b}}-p_{a}$$ where the specific gas constant for air $R_{a}$ equals 287.058J/kgK, the specific gas constant for hydrogen $R_{g}$ equals 4142J/kgK, and the temperatures $T_{a}$ and $T_{g}$ are in Kelvin. The envelope volumes $V_{b}$ in the table differ from the earlier measured values, because they represent the actual volume into which the lifting gas could expand. The difference being due to a portion of the volume being occupied by expanded air that remained in the envelope and due to measurement error. When compared to the measured superpressure values, the pressure inside the larger TT7B2 envelope peaked at around the calculated expected value, while inside the smaller TT7B1 envelope, the pressure peaked significantly lower than the theoretical value suggested it would. In case of the relaunched TT7B2, the superpressure figure is only an estimate based on the gas temperature of the previous TT7B2 flight.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlG1i4Lu6Lvk_CgY80Gh927jqAmCF7zEiRbTi5Y05EPA37GEiR9-0a-77HEm_MFCuCj8dCFAry8ulV51Ntf8bMYYMeEGoloIezVtUshI4W-K5qtgDmo5X3_gC_kJlEE33C8N5h3LN17fM/s1600/chart+envelope+volume+TT7B2+relaunch+03.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlG1i4Lu6Lvk_CgY80Gh927jqAmCF7zEiRbTi5Y05EPA37GEiR9-0a-77HEm_MFCuCj8dCFAry8ulV51Ntf8bMYYMeEGoloIezVtUshI4W-K5qtgDmo5X3_gC_kJlEE33C8N5h3LN17fM/s200/chart+envelope+volume+TT7B2+relaunch+03.png" width="200" height="93" data-original-width="1344" data-original-height="624" /></a>
</div>
In this chart, data from the onboard thermistor and pressure sensor on the relaunched TT7B2 were used to calculate air density and then envelope volume over the course of the whole 28 day flight. Unfortunately, since the thermistor data were noticeably affected by absorbed solar radiation, the calculated volumes suffer from it as well, and can't be considered accurate. Nevertheless, the absence of any long-term trend in the data suggests the envelope didn't undergo any additional expansion due to creep. At least not any noticeable.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgz0OTRT_4SzmFVdKu4_JtDomVHBk6NovHavA_-JgP6VQSY3hjrAta6LGTw59yBFU54yPrc6_IuHtXWjSSBxnnSGbE0PUhcRaCoqBI-WtVvXB-RrIdiQXDZ-GsMSrN2_KsOgHZtJUBG140/s1600/chart+battery+TT7B2+relaunch+01.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgz0OTRT_4SzmFVdKu4_JtDomVHBk6NovHavA_-JgP6VQSY3hjrAta6LGTw59yBFU54yPrc6_IuHtXWjSSBxnnSGbE0PUhcRaCoqBI-WtVvXB-RrIdiQXDZ-GsMSrN2_KsOgHZtJUBG140/s200/chart+battery+TT7B2+relaunch+01.png" width="200" height="93" data-original-width="1344" data-original-height="625" /></a>
</div>
This chart shows the voltage of a AA battery (Energizer Ultimate Lithium) as measured over the course of its 28 day lifetime on the relaunched TT7B2 tracker. The voltage was noticeably influenced by temperature of the battery in day-night cycles. The peaks and troughs of the cycle dropped only marginally over the course of the 28 day period. As there was no clear slump on the last day of activity, it is unknown whether the battery died, or a different unrelated issue led to the end of the tracker's transmissions. Although the last day was the day with the lowest recorded temperature peak during the day, and even sounding data suggest temperatures around -70°C in that area.<br />
<br />
Conclusions.<br />
<ul>
<li>Unfortunately, the trackers didn't manage to collect superpressure and supertemperature data from long duration flights. Only several hours worth of data on two leaking envelopes.</li>
<li>On the other hand, the relaunched TT7B2 tracker managed to circumnavigate the Northern Hemisphere and lasted at least 28 days in the air proving the custom made balloons are in principle capable of long duration flights.</li>
<li>Out of five launched balloons, though, only three managed to float, and only one survived for more than a day. Not a good success rate.</li>
<li>Despite the relaunched TT7B2's perfect positioning in terms of available receivers on its last day, the cause of its failure remained unknown.</li>
<li>Unfortunately, light weight trackers such as TT7B are not able to operate reliably during the night at such high float altitudes even when powered by lithium based prime batteries. The temperatures simply stay too low.</li>
<li>Gluing the PE surface of the gas inlet with Loctite All Plastics didn't manage to create reliable seam that would withstand pressure from the lifting gas at float altitude temperatures.</li>
</ul>
<br />
Data for download.<br />
<ul>
<li>TT7B1 Flight:</li>
<li>TT7B2 Flight: <a href="https://drive.google.com/file/d/1x8MIAa66w19rlt7sZqaHuVVtuM_gI7fX/view?usp=sharing">APRS packets</a>, <a href="https://drive.google.com/file/d/1nPgJSbEjC-r94chwYIzBCq8xDXXXwVGu/view?usp=sharing">data</a></li>
<li>TT7B1 Relaunch: <a href="https://drive.google.com/file/d/1W2rG_3Uk6qhpZCUsEFKCb-jFnctiyH7J/view?usp=sharing">APRS packets</a>, <a href="https://drive.google.com/file/d/14pNleLuH51R3zzwQQ7i2X8vtcGZzjPcZ/view?usp=sharing">data</a></li>
<li>TT7B2 Relaunch: <a href="https://drive.google.com/file/d/1ohXdQvCwv2tYG6SCzafZZ_e5QSToM50M/view?usp=sharing">APRS packets</a>, <a href="https://drive.google.com/file/d/1fh2RHKZBgl-GJYs-RE8zRjzReRQC6Lun/view?usp=sharing">data</a></li>
<li>TT7B3 Flight: <a href="https://drive.google.com/file/d/1TGT3iHqzWsv7HIKRgn0BkjxjudXggO6l/view?usp=sharing">APRS packets</a>, <a href="https://drive.google.com/file/d/1L3EQV-N9ng-6_4P0s31ViR9-X5s-5K-o/view?usp=sharing">WSPR packets</a>, <a href="https://drive.google.com/file/d/1r97r3t3tVRY6AMsdyMXdzkJuza_xyzed/view?usp=sharing">data</a></li>
</ul>TT7http://www.blogger.com/profile/11095378058232471221noreply@blogger.com2tag:blogger.com,1999:blog-7063183727921268380.post-9059047219732804662019-10-13T03:56:00.001+02:002019-10-14T02:22:33.814+02:00The TT7B3 Flight<style type="text/css">
.tg {border-collapse:collapse;border-spacing:0;border-color:#ccc;}
.tg td{font-family:Arial, sans-serif;font-size:12px;padding:5px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#ccc;color:#333;background-color:#fff;}
.tg th{font-family:Arial, sans-serif;font-size:12px;font-weight:normal;padding:5px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#ccc;color:#333;background-color:#f0f0f0;}
.tg .tg-amwm{font-weight:bold;text-align:center;vertical-align:top}
.tg .tg-yw47{vertical-align:top;text-align:left;}
.tg .tg-lyy6{text-align:right;vertical-align:top}
.collapsible{background-color: #eee;color: #444;cursor: pointer;padding: 8px;width: 100%;border: none;text-align: left;outline: none;font-size: 13px;transition: 0.3s;}
.panel{padding: 0 18px;max-height: 0;overflow: hidden;background-color: #f1f1f1;transition: max-height 0.2s ease-out;}
.active, .collapsible:hover{background-color: #ccc;}
.collapsible:after{content: '\002B';color: #777;font-weight: bold;float: right;margin-left: 5px;}
.active:after{content: "\2212";}
pre{display: block;font-family: monospace;white-space: pre;margin: 1em 0;tab-width: 4;}
code{background: #e9e9e9;}
</style>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCUOGRKl7CEAUJei6JVsRL6-p3dDtgpUvE11S47z0sD_4w7Y8cdnDMgslKz1gnbkixkF49ALilDaD3UecwIsodyoue_xb750R-HWiSPVravufHq8CNv7YnWDkCKANWvgqOre3u1ZIgCG0/s1600/IMG_4597+TT7B3+tracker.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCUOGRKl7CEAUJei6JVsRL6-p3dDtgpUvE11S47z0sD_4w7Y8cdnDMgslKz1gnbkixkF49ALilDaD3UecwIsodyoue_xb750R-HWiSPVravufHq8CNv7YnWDkCKANWvgqOre3u1ZIgCG0/s200/IMG_4597+TT7B3+tracker.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbiMB3MY0cUifObce8Ktm-CNuixY32j0_mBu4W_2IVvIeY9EfLdfMntb7q0E3QRqs8u0XuW4Bcxhnihb5IS9LvqyHV8DvyZRdfCC7awPdINltUfOQekSGMIRrdCDVI2rX4nOMBrz9x_E4/s1600/IMG_4602+TT7B3+balloon.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbiMB3MY0cUifObce8Ktm-CNuixY32j0_mBu4W_2IVvIeY9EfLdfMntb7q0E3QRqs8u0XuW4Bcxhnihb5IS9LvqyHV8DvyZRdfCC7awPdINltUfOQekSGMIRrdCDVI2rX4nOMBrz9x_E4/s200/IMG_4602+TT7B3+balloon.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkHRmImE8eYCtSPDnJorUgH1m41gmBKlFOkKtu0ZYCvTxVniECLcpMHqPX996THyxL9e1ahcwJuC9Cl2GpOghRwCusUNSOLZm9aXWgpOQvLmfLKnmX-ViGN8TjsvpmBmyNmwt3mBfZf20/s1600/IMG_4604+TT7B3+launch.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkHRmImE8eYCtSPDnJorUgH1m41gmBKlFOkKtu0ZYCvTxVniECLcpMHqPX996THyxL9e1ahcwJuC9Cl2GpOghRwCusUNSOLZm9aXWgpOQvLmfLKnmX-ViGN8TjsvpmBmyNmwt3mBfZf20/s200/IMG_4604+TT7B3+launch.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a>
</div>
<b>Date:</b> 2019-10-13<br />
<b>Time:</b> 08:00 GMT (10:00 CEST)<br />
<b>Place:</b> Roznov pod Radhostem, CZ<br />
<b>Tracking:</b> <a href="https://aprs.fi/#!mt=terrain&z=11&call=a%2FOK7DMT-3&timerange=604800&tail=604800">http://aprs.fi</a> and <a href="http://wsprnet.org/olddb?mode=html&band=all&limit=50&findcall=ok7dmt&findreporter=&sort=date">http://wsprnet.org</a><br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm" colspan="5">Transmissions</th>
</tr>
<tr>
<th class="tg-yw47">Type</th>
<td colspan="2" align="center">APRS</td>
<td colspan="2" align="center">WSPR</td>
</tr>
<tr>
<th class="tg-yw47">Callsign</th>
<td colspan="2" align="center">OK7DMT-3</td>
<td colspan="2" align="center">OK7DMT</td>
</tr>
<tr>
<th class="tg-yw47">Frequency</th>
<td class="tg-lyy6">144.39-145.57</td>
<td class="tg-yw47">MHz</td>
<td class="tg-lyy6">14.097,045</td>
<td class="tg-yw47">MHz</td>
</tr>
<tr>
<th class="tg-yw47">Period</th>
<td class="tg-lyy6">1</td>
<td class="tg-yw47">min</td>
<td class="tg-lyy6">10</td>
<td class="tg-yw47">min</td>
</tr>
<tr>
<th class="tg-yw47">Transmit Power</th>
<td class="tg-lyy6">2.3</td>
<td class="tg-yw47">mW</td>
<td class="tg-lyy6">3.0</td>
<td class="tg-yw47">mW</td>
</tr>
</tbody></table>
<br />
The APRS packets are a combination of Base91 encoded position and custom telemetry data in the comment section of the packet. An online decoder and example packets can be found at this <a href="https://tomastt7.github.io/aprs/">link</a>. The tracker transmits on local APRS frequencies. In case of GPS failure, telemetry without position is transmitted. Packets contain backlogged data from the past 7 days.<br />
<br />
The tracker also transmits a standard WSPR message every 4th minute in every 10 minute period and an extended message with a 6-digit locator every 8th minute in every 10 minute period. The power level field in these messages is used to encode the balloon's altitude with a 52m resolution.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm" colspan="3">Flight Parameters</th>
</tr>
<tr>
<th class="tg-yw47">Lifting Gas</th>
<td align="center" colspan="2">hydrogen</td>
</tr>
<tr>
<th class="tg-yw47">Envelope Volume</th>
<td class="tg-lyy6">1.497</td>
<td class="tg-yw47">m<sup>3</sup></td>
</tr>
<tr>
<th class="tg-yw47">Envelope Mass</th>
<td class="tg-lyy6">274.0</td>
<td class="tg-yw47">g</td>
</tr>
<tr>
<th class="tg-yw47">Payload Mass</th>
<td class="tg-lyy6">8.2</td>
<td class="tg-yw47">g</td>
</tr>
<tr>
<th class="tg-yw47">Free Lift</th>
<td class="tg-lyy6">13.0</td>
<td class="tg-yw47">g</td>
</tr>
<tr>
<th class="tg-yw47">Neck Lift</th>
<td class="tg-lyy6">21.2</td>
<td class="tg-yw47">g</td>
</tr>
<tr>
<th class="tg-yw47">Initial Ascent Rate</th>
<td class="tg-lyy6">0.95</td>
<td class="tg-yw47">m/s</td>
</tr>
<tr>
<th class="tg-yw47">Expected Float Altitude</th>
<td class="tg-lyy6">15190</td>
<td class="tg-yw47">m</td>
</tr>
</tbody></table>
<br />
The balloon on this flight was a Mylar balloon shaped envelope 2.04m in diameter (flat) from a 40μm multilayer (PE/PA/EVOH/PA/PE) film. The making of the envelope is in detail described in <a href="https://tt7hab.blogspot.com/2019/09/the-superpressure-balloons-vol-3.html">this</a> blog post. A <a href="https://tomastt7.github.io/superpressure/">calculator</a> was used to obtain the flight parameters based on previously measured envelope volume, mass and payload mass. Latest atmospheric sounding data (Poprad, 20191013 0:00Z) were used to calculate the expected float altitude.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2EaoAsOPBDUWqH3mzsyZvXK6QOhyphenhyphen_xFk8gOFOvv18a9MOuAhHxjSbWMJaJCZCaxNuFeU4rOGQ_3VAIpBChsYQv81txNTMNAO0bawmOyF44kewz0bZP1wgvhvbN4B3h7WfSZnW8Myxljc/s1600/initial+prediction+01+cusf.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2EaoAsOPBDUWqH3mzsyZvXK6QOhyphenhyphen_xFk8gOFOvv18a9MOuAhHxjSbWMJaJCZCaxNuFeU4rOGQ_3VAIpBChsYQv81txNTMNAO0bawmOyF44kewz0bZP1wgvhvbN4B3h7WfSZnW8Myxljc/s320/initial+prediction+01+cusf.jpg" width="277" height="200" data-original-width="1092" data-original-height="788" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyaSmTjpIxfEsdawgHRXDNffLqX2Q1ITuW6PEdARM6yw5ZV6v3-eFu-Yx74JqxeLL76rKjRVj5-bhtkBYep8NPVerKCU-IUwM8VVNj9X7340s3s-GVeTfQwAzl3kBwIoydrDP7wmOXZFQ/s1600/initial+prediction+01+hysplit.gif" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyaSmTjpIxfEsdawgHRXDNffLqX2Q1ITuW6PEdARM6yw5ZV6v3-eFu-Yx74JqxeLL76rKjRVj5-bhtkBYep8NPVerKCU-IUwM8VVNj9X7340s3s-GVeTfQwAzl3kBwIoydrDP7wmOXZFQ/s200/initial+prediction+01+hysplit.gif" width="161" height="200" data-original-width="1286" data-original-height="1600" /></a>
</div>
Initial ascent trajectory was modeled with <a href="http://predict.habhub.org/">CUSF</a> Landing Predictor, while the long term float predictions with <a href="https://ready.arl.noaa.gov/hypub-bin/trajtype.pl">HYSPLIT</a> Trajectory Model. The HYSPLIT prediction contains three altitude levels. One 500m below and another 500m above the expected float altitude.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEji_4I5142XCpULGaPlDweXwcpo2uQdeuWMe5dvAjgU_HNHcu6YpbRIMB69cvShP3KaLNL8ZMWvW4q18gpof76vrjwiC95bNRi4wppD7qh_MIplcAFaCt-nt1gtZRBfS3QuxorLVOlhaEE/s1600/IMG_4510+TT7B3+tracker.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEji_4I5142XCpULGaPlDweXwcpo2uQdeuWMe5dvAjgU_HNHcu6YpbRIMB69cvShP3KaLNL8ZMWvW4q18gpof76vrjwiC95bNRi4wppD7qh_MIplcAFaCt-nt1gtZRBfS3QuxorLVOlhaEE/s200/IMG_4510+TT7B3+tracker.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMaqaK3BQAMkp0hR4A2hTVYxozq4ehn5FASB1Cl7lMMaHKPl4zuKZs3ehKOIzGfHA5c-VxqBe96QNhO5nje_YTw7YkqWkhK1sjhqoCRt4LtPDyGxXiZ99niYvwQ-lONniwacR-pUwu1lc/s1600/IMG_4542+TT7B3+tracker.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMaqaK3BQAMkp0hR4A2hTVYxozq4ehn5FASB1Cl7lMMaHKPl4zuKZs3ehKOIzGfHA5c-VxqBe96QNhO5nje_YTw7YkqWkhK1sjhqoCRt4LtPDyGxXiZ99niYvwQ-lONniwacR-pUwu1lc/s200/IMG_4542+TT7B3+tracker.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiR6Fay9TkAlbIrGPSOG_WqEgG3Z7BBjrbltvAbjkr7hjNdGpgmkqP9gYxfwXLYWk_6WXInpLpv4G5r86aC5PBMzKIPHDiw30iiCNokjSsDyQfJvpq81Ejh08fXPpfHI1oCOUEFm89rzM/s1600/IMG_4357+SPV1040.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiR6Fay9TkAlbIrGPSOG_WqEgG3Z7BBjrbltvAbjkr7hjNdGpgmkqP9gYxfwXLYWk_6WXInpLpv4G5r86aC5PBMzKIPHDiw30iiCNokjSsDyQfJvpq81Ejh08fXPpfHI1oCOUEFm89rzM/s200/IMG_4357+SPV1040.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUuqP5I72K96ge73V5blbvVybrmW4vFoO6xgGEHdr4mdOQ7fkVvGRGx9dyO38jaEdR61r5pc-nlaz_ujWX7v966lYs9hkCXiJmjyHtH9XbG2o1t1xXQSnPPUG6uKHU6-2lyyDlKnLGJtM/s1600/IMG_4364+SPV1040.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUuqP5I72K96ge73V5blbvVybrmW4vFoO6xgGEHdr4mdOQ7fkVvGRGx9dyO38jaEdR61r5pc-nlaz_ujWX7v966lYs9hkCXiJmjyHtH9XbG2o1t1xXQSnPPUG6uKHU6-2lyyDlKnLGJtM/s200/IMG_4364+SPV1040.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHai262Gbk8VyWjS4ruFDIhfqgUEgdtn2J1MEl7Edcg035wcoAv1BP7fscor6hyphenhyphenVaSEvDQIWZHhi-KaI_Haq_sF9De2Y4SfQ-EwgAtpFeiz5UkXjElqc6vKZb0Cqr00Hf396IetY1URhg/s1600/IMG_4522+SPV1040+solar+cells.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHai262Gbk8VyWjS4ruFDIhfqgUEgdtn2J1MEl7Edcg035wcoAv1BP7fscor6hyphenhyphenVaSEvDQIWZHhi-KaI_Haq_sF9De2Y4SfQ-EwgAtpFeiz5UkXjElqc6vKZb0Cqr00Hf396IetY1URhg/s200/IMG_4522+SPV1040+solar+cells.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8Fuod4yZ3Mv-F3wcfEfJ9KnS6nQfjtdRXmgR_GZIUAu6a7bQLXkY9IJiujZ4NzGWykLUIa7PB6m5xhOhYMZoaNOfhMynbhDu0vEwMJx5dmFZSBbrLaQ_O7UhmQqM57P2Whmuv4JKc2TA/s1600/IMG_4539+SPV1040+solar+cells.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8Fuod4yZ3Mv-F3wcfEfJ9KnS6nQfjtdRXmgR_GZIUAu6a7bQLXkY9IJiujZ4NzGWykLUIa7PB6m5xhOhYMZoaNOfhMynbhDu0vEwMJx5dmFZSBbrLaQ_O7UhmQqM57P2Whmuv4JKc2TA/s200/IMG_4539+SPV1040+solar+cells.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLj3xX8Z6pFKBrDfQKqjKm2YBVBws5_xFSSJAkrEh2bVqa9Z1VtwP4c0g9HVGTk0SgtgZclX9RTaP3O3_y8IHwQGGCC04E_sij3RS9ICE4t7CxLWQTvfzOuJGj_Up0KAlerL7dfFzGKEQ/s1600/IMG_4528+SPV1040+solar+cells.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLj3xX8Z6pFKBrDfQKqjKm2YBVBws5_xFSSJAkrEh2bVqa9Z1VtwP4c0g9HVGTk0SgtgZclX9RTaP3O3_y8IHwQGGCC04E_sij3RS9ICE4t7CxLWQTvfzOuJGj_Up0KAlerL7dfFzGKEQ/s200/IMG_4528+SPV1040+solar+cells.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf8rOfNmqrER-Z9QYD-1CMM6czDUA7TyBPan02Z3Rda0jvhf4Spd_jP7gOr9BVpLHqU62hh7hfYhl3iSeBCcz5PhJXKIhAHrYPP7YtBHEVv01VCM8xjEEUIvTiBjVYgAfI8QDU0d4PQ_U/s1600/IMG_4532+SPV1040+solar+cells.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf8rOfNmqrER-Z9QYD-1CMM6czDUA7TyBPan02Z3Rda0jvhf4Spd_jP7gOr9BVpLHqU62hh7hfYhl3iSeBCcz5PhJXKIhAHrYPP7YtBHEVv01VCM8xjEEUIvTiBjVYgAfI8QDU0d4PQ_U/s200/IMG_4532+SPV1040+solar+cells.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxIsV4wtbX43uUKCBK8_WtSX5zWa8913WFGNqeWbZjDk4Hu4EKl0NYlqhzjR-T86-UDivskuPv0D416Hw62kDhltYowO8lcVG1h2qa6vUEamKfjjsSPkhNLwGVNZ148EsFQINFa5thprw/s1600/IMG_4565+TT7B3+tracker.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxIsV4wtbX43uUKCBK8_WtSX5zWa8913WFGNqeWbZjDk4Hu4EKl0NYlqhzjR-T86-UDivskuPv0D416Hw62kDhltYowO8lcVG1h2qa6vUEamKfjjsSPkhNLwGVNZ148EsFQINFa5thprw/s200/IMG_4565+TT7B3+tracker.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjh3tqr9FU3mFujAwtAlyzRc5lWEyk9qVCdFa_ar0l2XCattgEeasKkRJ9OhKZgCw0r7Dv23i7dCB7DLKqwO3RbMOBWWkh_FeintXwWCCbRUEh9QGOXeh1klKSsIQRsIJPsFqYBU8Zre-8/s1600/IMG_4568+TT7B3+tracker.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjh3tqr9FU3mFujAwtAlyzRc5lWEyk9qVCdFa_ar0l2XCattgEeasKkRJ9OhKZgCw0r7Dv23i7dCB7DLKqwO3RbMOBWWkh_FeintXwWCCbRUEh9QGOXeh1klKSsIQRsIJPsFqYBU8Zre-8/s200/IMG_4568+TT7B3+tracker.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9pJRuUUHEaR4BnaamLhLGkfl1rOz28t5q-lARgUDzvhwtjRa_qs_Y24NfKHrwBSjt7f8tcpIwSVsNwCZ-tDyP3_c3PouEErZiFNMLDZKo48nPyBgLcaet4kydMX6jje2Z4b5GSb9LU80/s1600/IMG_4570+TT7B3+tracker.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9pJRuUUHEaR4BnaamLhLGkfl1rOz28t5q-lARgUDzvhwtjRa_qs_Y24NfKHrwBSjt7f8tcpIwSVsNwCZ-tDyP3_c3PouEErZiFNMLDZKo48nPyBgLcaet4kydMX6jje2Z4b5GSb9LU80/s200/IMG_4570+TT7B3+tracker.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZ7CkgW6IhIbSY47l52P9MJhkgbH8Iou_2c0JbCZFFBsIYj3cpsU7zPz3-uY56ZFHV5AR5w5yRTaJ2krpjpXzrzFd_1w135rnSpBhg2xQ4-oVeTRECyW_QddDkQ8pB-LEmMO2VsEkSbRk/s1600/IMG_4573+TT7B3+tracker.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZ7CkgW6IhIbSY47l52P9MJhkgbH8Iou_2c0JbCZFFBsIYj3cpsU7zPz3-uY56ZFHV5AR5w5yRTaJ2krpjpXzrzFd_1w135rnSpBhg2xQ4-oVeTRECyW_QddDkQ8pB-LEmMO2VsEkSbRk/s200/IMG_4573+TT7B3+tracker.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigq2vkpZDfz6QZ3K8EMGLCU7Idf8qo9FdI73zjpncGL18OW845us8ukD7iH9mtyTVjDaaeFh-4eFV52kKgLW3BHFbNFZIGe_Z8DFWMVSl8GgcL1-2NteyDcXY61UQ1XOpwvaXIx0Mv-WA/s1600/IMG_4575+TT7B3+tracker.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigq2vkpZDfz6QZ3K8EMGLCU7Idf8qo9FdI73zjpncGL18OW845us8ukD7iH9mtyTVjDaaeFh-4eFV52kKgLW3BHFbNFZIGe_Z8DFWMVSl8GgcL1-2NteyDcXY61UQ1XOpwvaXIx0Mv-WA/s200/IMG_4575+TT7B3+tracker.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpEt5lFHw8s3U4TZqY2NbrChyeIhLWIVEN2agDlnPimH-64JUQxqf73Wvfy_ELJCE8owiwUjM1G5Tvmha2DNBwRnj1gOZUTx6kO2fckf36WdcJS61zwd5wzOcz3LDZiI9BtTGXG3e5xfY/s1600/IMG_4581+TT7B3+tracker.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpEt5lFHw8s3U4TZqY2NbrChyeIhLWIVEN2agDlnPimH-64JUQxqf73Wvfy_ELJCE8owiwUjM1G5Tvmha2DNBwRnj1gOZUTx6kO2fckf36WdcJS61zwd5wzOcz3LDZiI9BtTGXG3e5xfY/s200/IMG_4581+TT7B3+tracker.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUlvYABnnAU7rb5JzmYR_jIZ3IcB_bdbOKvuPDKGE3ypyJLK4X-LN-9yz8RadcdB0ftBogzoKp3qx1LAvFw52JkKSl-PsdAwekypU0peO577yByHG1jYM9xINmQ18XFc8MTMFpHlhYrPY/s1600/IMG_4578+TT7B3+antenna.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUlvYABnnAU7rb5JzmYR_jIZ3IcB_bdbOKvuPDKGE3ypyJLK4X-LN-9yz8RadcdB0ftBogzoKp3qx1LAvFw52JkKSl-PsdAwekypU0peO577yByHG1jYM9xINmQ18XFc8MTMFpHlhYrPY/s200/IMG_4578+TT7B3+antenna.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD6AHdPTtr-Q4VvtfpHLRH-R_2DKbw1n5G0nUc1X4m0Zp2VcnIvzV5mY0EnW82xQirxToQZd1-aLu8eZ5TFbNLxBiiowyUTPYOpgeQ8Qw3SXLNBu1wcWviwZRaydbIqhyVXyE6jt9P2z8/s1600/IMG_4556+TT7B3+mass.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD6AHdPTtr-Q4VvtfpHLRH-R_2DKbw1n5G0nUc1X4m0Zp2VcnIvzV5mY0EnW82xQirxToQZd1-aLu8eZ5TFbNLxBiiowyUTPYOpgeQ8Qw3SXLNBu1wcWviwZRaydbIqhyVXyE6jt9P2z8/s200/IMG_4556+TT7B3+mass.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
The design of the tracker is in detail described in <a href="https://tt7hab.blogspot.com/2018/09/the-tt7b-tracker.html">this</a> and <a href="https://tt7hab.blogspot.com/2019/03/the-tt7b-tracker-vol-2.html">this</a> blog posts. This time, the primary battery was replaced by a pair of solar cells (52x38mm) and a small SPV1040 circuit with a 1F supercapacitor. The output of the converter was set to 2.0V while the tracker's boost converter and hence its main operating voltage to 2.1V. Since there no longer was a need for saving power, the GPS module runs continuously for higher accuracy, and APRS packets are transmitted once per minute at the 41st second. Both APRS and WSPR transmissions are carried out by the same radio module, and the dipole antenna in terms of length (2x 4.9m of 0.118mm magnet wire) is a compromise that should in theory transmit about 56% of the delivered power at 14MHz and 9% at 145MHz. The new and a few updated libraries, just as the Eagle files for the SPV1040 board, can be found on <a href="https://github.com/TomasTT7/TT7B-Tracker">github</a>.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFoMyv85hicaAtnRTZ4Hp_q63ttCP9O49s-QITxVG71k2WzIZ1bdTeAqv0DsJ6h507rRNq4aFLFPG_rGxX9Q5iJAgjsPBJG5_vEk8O8s4XqKEXMVlCBXBjgVN74TVotBqvfRVwkD8WmHw/s1600/IMG_4605+TT7B3+launch.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFoMyv85hicaAtnRTZ4Hp_q63ttCP9O49s-QITxVG71k2WzIZ1bdTeAqv0DsJ6h507rRNq4aFLFPG_rGxX9Q5iJAgjsPBJG5_vEk8O8s4XqKEXMVlCBXBjgVN74TVotBqvfRVwkD8WmHw/s200/IMG_4605+TT7B3+launch.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDLSJyGjSDLmeITlE5lxp5B2xVmn8S3_bRX4arbPUGcOvYILEdF4Ve3N5ep_nARrZLlfGtwleh0fz6myWf-DB5RNSN6QSwIof6GGFjqqEw3iLSWRAFq6V5QG9rI98Tpwij2i1SGCaZvqw/s1600/IMG_4607+TT7B3+launch.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDLSJyGjSDLmeITlE5lxp5B2xVmn8S3_bRX4arbPUGcOvYILEdF4Ve3N5ep_nARrZLlfGtwleh0fz6myWf-DB5RNSN6QSwIof6GGFjqqEw3iLSWRAFq6V5QG9rI98Tpwij2i1SGCaZvqw/s200/IMG_4607+TT7B3+launch.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a>
</div>
The fact that the launch site is relatively shaded this time a year combined with some issues verifying the tracker was transmitting led to the actual launch happening an hour and a half later than planned. By that time the surface wind picked up somewhat, but with a bit of patience the balloon was launched at the right time and cleared the nearby forest.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRc-O5c8AS_tBCCzmxRH2zDNQOws2NWjJBQn12Yb86AvanfHO6FOirhBom1VqYNTTWNGVFm0f2Qp1n1BWbUZUwZHsJqErlY6yn6PsFoesjm_4S4e21oBE2lyE2CujpGTic1lN7-NX-_Yk/s1600/APRS+receivers+04.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRc-O5c8AS_tBCCzmxRH2zDNQOws2NWjJBQn12Yb86AvanfHO6FOirhBom1VqYNTTWNGVFm0f2Qp1n1BWbUZUwZHsJqErlY6yn6PsFoesjm_4S4e21oBE2lyE2CujpGTic1lN7-NX-_Yk/s200/APRS+receivers+04.jpg" width="200" height="141" data-original-width="1149" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwVm5KyzwuPMKcn3tys8skTU-jVTlK6X-FcfRsFJNOGBkJA_G3LZm6ATqNB3F-ixHjNdmOAWsmO9dN751ULO5-DiLShfhWin8825YZgghNgT7M0MoBE0Dn7PMKhj7EZLfIJoVQNWiREf4/s1600/weather+satellite+01+02.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwVm5KyzwuPMKcn3tys8skTU-jVTlK6X-FcfRsFJNOGBkJA_G3LZm6ATqNB3F-ixHjNdmOAWsmO9dN751ULO5-DiLShfhWin8825YZgghNgT7M0MoBE0Dn7PMKhj7EZLfIJoVQNWiREf4/s200/weather+satellite+01+02.jpg" width="200" height="150" data-original-width="1000" data-original-height="750" /></a>
</div>
<b>Day 1:</b> The balloon ascended at an average rate of 0.98m/s (maximum 2.0m/s) and headed to Poland in accordance with the prediction. Early into the flight it was clear that the APRS transmissions were quite weak and received by only the closest stations. The furthest reported reception of a packet was at a distance of 43km. At 12:03 (GMT), while still ascending, the last packet was received at an altitude of 9898m with nothing in the data suggesting any issues. No high altitude clouds that could overshadow the solar cells can be seen on the satellite images either.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSxiTqHmO0yaDrybUK1mV33i4WPy4Kx6imfzIySoPWREoQMNtts64X7B90Sshvav1xzoraQ_prSajjOBF7ZSEs1FZms9OwvUZRaip5JqxQNfNXGiEp2XALJ7ii7jozehyphenhyphenP2RsIq7lLC2c/s1600/WSPR+receivers+02.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSxiTqHmO0yaDrybUK1mV33i4WPy4Kx6imfzIySoPWREoQMNtts64X7B90Sshvav1xzoraQ_prSajjOBF7ZSEs1FZms9OwvUZRaip5JqxQNfNXGiEp2XALJ7ii7jozehyphenhyphenP2RsIq7lLC2c/s200/WSPR+receivers+02.jpg" width="200" height="132" data-original-width="1025" data-original-height="678" /></a>
</div>
Information from the APRS data suggests that the tracker was regularly transmitting WSPR messages. Nevertheless, only a few were actually received. On the other hand, all the reported packets were received at substantial distances of 1252 to 1441km with SNRs between -9 to -19. Since this tracker was a last minute and rather improvised setup that hadn't undergone extensive testing, I am not certain about the source of the problems. At this moment, there is still a possibility it will be received again at some point in the upcoming days.<br />
<br />
All the received APRS packets can be found in this text file: <a href="https://drive.google.com/file/d/1TGT3iHqzWsv7HIKRgn0BkjxjudXggO6l/view?usp=sharing">TT7B3_packets_aprs.txt</a><br />
All the received WSPR messages can be found in this text file: <a href="https://drive.google.com/file/d/1L3EQV-N9ng-6_4P0s31ViR9-X5s-5K-o/view?usp=sharing">TT7B3_packets_wspr.txt</a><br />
And all the decoded live and backlogged data can be found in this csv file: <a href="https://drive.google.com/file/d/1r97r3t3tVRY6AMsdyMXdzkJuza_xyzed/view?usp=sharing">TT7B3_data.csv</a><br />TT7http://www.blogger.com/profile/11095378058232471221noreply@blogger.com1tag:blogger.com,1999:blog-7063183727921268380.post-2439701524912449512019-10-01T03:11:00.002+02:002019-10-31T04:41:01.289+01:00The TT7B2 Relaunch<style type="text/css">
.tg {border-collapse:collapse;border-spacing:0;border-color:#ccc;}
.tg td{font-family:Arial, sans-serif;font-size:12px;padding:5px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#ccc;color:#333;background-color:#fff;}
.tg th{font-family:Arial, sans-serif;font-size:12px;font-weight:normal;padding:5px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#ccc;color:#333;background-color:#f0f0f0;}
.tg .tg-amwm{font-weight:bold;text-align:center;vertical-align:top}
.tg .tg-yw47{vertical-align:top;text-align:left;}
.tg .tg-lyy6{text-align:right;vertical-align:top}
.collapsible{background-color: #eee;color: #444;cursor: pointer;padding: 8px;width: 100%;border: none;text-align: left;outline: none;font-size: 13px;transition: 0.3s;}
.panel{padding: 0 18px;max-height: 0;overflow: hidden;background-color: #f1f1f1;transition: max-height 0.2s ease-out;}
.active, .collapsible:hover{background-color: #ccc;}
.collapsible:after{content: '\002B';color: #777;font-weight: bold;float: right;margin-left: 5px;}
.active:after{content: "\2212";}
pre{display: block;font-family: monospace;white-space: pre;margin: 1em 0;tab-width: 4;}
code{background: #e9e9e9;}
</style>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgER4dnBWOeMqirKzCOxy8K7FpAUCtsaPi92ZAPl5ZyXgidI6WVaoYMC9DojuwW4brW8wZIRfmCiT03lVBPw9YMf6fVQM1V8I7pFhLoR7q1aZB3ys9xcg8kHYkkQtuQKTX5PS2Tl5ddqwU/s1600/IMG_4423+B10+pressurized.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgER4dnBWOeMqirKzCOxy8K7FpAUCtsaPi92ZAPl5ZyXgidI6WVaoYMC9DojuwW4brW8wZIRfmCiT03lVBPw9YMf6fVQM1V8I7pFhLoR7q1aZB3ys9xcg8kHYkkQtuQKTX5PS2Tl5ddqwU/s200/IMG_4423+B10+pressurized.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYdbvGUWxP6sudWDo2vykVTOMc8V_CCb92mQuAXw0u5D64LnNiD3fvKU68OoBrRjCXpXglASBVbTZDgyOgxRm4PBEGWvuQcx03r2Ox7Bd6w_WEWwTN4LrW9nvef2ozhyiEHWAQsy50bt8/s1600/IMG_4500+TT7B2+launch.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYdbvGUWxP6sudWDo2vykVTOMc8V_CCb92mQuAXw0u5D64LnNiD3fvKU68OoBrRjCXpXglASBVbTZDgyOgxRm4PBEGWvuQcx03r2Ox7Bd6w_WEWwTN4LrW9nvef2ozhyiEHWAQsy50bt8/s200/IMG_4500+TT7B2+launch.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfQ0WaL74TD4t-izmJ2-4BI2ermYc8UysK3cqccFLDWfS_aoBSM-ADH69-KnJ_q-c2EfzjMrV5djeNKLGAHJYZHbLrXnOxPgCQdqp09HmbgVH3aC-VAJhyphenhyphencGLqE1hvwgcpvrnOTERnO9U/s1600/IMG_4490+TT7B2+tracker.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfQ0WaL74TD4t-izmJ2-4BI2ermYc8UysK3cqccFLDWfS_aoBSM-ADH69-KnJ_q-c2EfzjMrV5djeNKLGAHJYZHbLrXnOxPgCQdqp09HmbgVH3aC-VAJhyphenhyphencGLqE1hvwgcpvrnOTERnO9U/s200/IMG_4490+TT7B2+tracker.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a>
</div>
<b>Date:</b> 2019-10-01<br />
<b>Time:</b> 07:00 GMT (09:00 CEST)<br />
<b>Place:</b> Roznov pod Radhostem, CZ<br />
<b>Tracking:</b> <a href="https://aprs.fi/#!call=a%2FOK7DMT-2&timerange=604800&tail=604800">http://aprs.fi</a><br />
<br />
This is a relaunch of the <a href="https://tt7hab.blogspot.com/2019/09/the-tt7b2-flight.html">TT7B2</a> tracker that was recovered in northern Croatia by Kruno 9A3SWO a couple of weeks ago and sent back to me.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm" colspan="3">Transmissions</th>
</tr>
<tr>
<th class="tg-yw47">Type</th>
<td colspan="2" align="center">APRS</td>
</tr>
<tr>
<th class="tg-yw47">Callsign</th>
<td align="center" colspan="2">OK7DMT-2</td>
</tr>
<tr>
<th class="tg-yw47">Frequency</th>
<td class="tg-lyy6">144.39-145.57</td>
<td class="tg-yw47">MHz</td>
</tr>
<tr>
<th class="tg-yw47">Period</th>
<td class="tg-lyy6">2</td>
<td class="tg-yw47">min</td>
</tr>
<tr>
<th class="tg-yw47">Transmit Power</th>
<td class="tg-lyy6">12.5</td>
<td class="tg-yw47">mW</td>
</tr>
</tbody></table>
<br />
The packets are a combination of Base91 encoded position and custom telemetry data in the comment section of the packet. An online decoder and example packets can be found at this <a href="https://tomastt7.github.io/aprs/">link</a>. The tracker transmits on local APRS frequencies. In case of GPS failure, telemetry without position is transmitted. Packets also contain backlogged data from the past 7 days.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm" colspan="3">Flight Parameters</th>
</tr>
<tr>
<th class="tg-yw47">Lifting Gas</th>
<td align="center" colspan="2">hydrogen</td>
</tr>
<tr>
<th class="tg-yw47">Envelope Volume</th>
<td class="tg-lyy6">1.099</td>
<td class="tg-yw47">m<sup>3</sup></td>
</tr>
<tr>
<th class="tg-yw47">Envelope Mass</th>
<td class="tg-lyy6">224.0</td>
<td class="tg-yw47">g</td>
</tr>
<tr>
<th class="tg-yw47">Payload Mass</th>
<td class="tg-lyy6">19.1</td>
<td class="tg-yw47">g</td>
</tr>
<tr>
<th class="tg-yw47">Free Lift</th>
<td class="tg-lyy6">12.0</td>
<td class="tg-yw47">g</td>
</tr>
<tr>
<th class="tg-yw47">Neck Lift</th>
<td class="tg-lyy6">31.1</td>
<td class="tg-yw47">g</td>
</tr>
<tr>
<th class="tg-yw47">Initial Ascent Rate</th>
<td class="tg-lyy6">0.96</td>
<td class="tg-yw47">m/s</td>
</tr>
<tr>
<th class="tg-yw47">Expected Float Altitude</th>
<td class="tg-lyy6">13880</td>
<td class="tg-yw47">m</td>
</tr>
</tbody></table>
<br />
The balloon on this flight was an obround shaped envelope 2.35m in length (flat) from a 40μm multilayer (PE/PA/EVOH/PA/PE) film. The making of the envelope is in detail described in <a href="https://tt7hab.blogspot.com/2019/09/the-superpressure-balloons-vol-3.html">this</a> blog post. A <a href="https://tomastt7.github.io/superpressure/">calculator</a> was used to obtain the flight parameters based on previously measured envelope volume, mass and payload mass. Latest atmospheric sounding data (Poprad, 20191001 0:00Z) were used to calculate the expected float altitude.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigUuc-b9wa8WHVWAd0FCbwChyE79Z_vEhO2BaKtdNTnU4jlB5U2cUw0JnUXsad94H0ZbXLpUsFkz7jZD3c1eOWvuiZB1EXJpuuzZwMedCJX5F3fJTNgs3beyz5sjUygXaGzuxOKcvbGo8/s1600/initial+prediction+03+cusf.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigUuc-b9wa8WHVWAd0FCbwChyE79Z_vEhO2BaKtdNTnU4jlB5U2cUw0JnUXsad94H0ZbXLpUsFkz7jZD3c1eOWvuiZB1EXJpuuzZwMedCJX5F3fJTNgs3beyz5sjUygXaGzuxOKcvbGo8/s320/initial+prediction+03+cusf.jpg" width="275" height="200" data-original-width="1089" data-original-height="792" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHvdTdhrewZ3_VQ3x0-o9bak8d2OzGFwTVXX4CwoyNb3IAMoxTFgoeurz6b5RhtekETrPmMUx3X8M7_Zmhz1Bcm4nb0Jsu6Q8YbWxSCgAGFy78v0Bd0EI8VXUgftzXzLkabeDD70_CBd4/s1600/initial+prediction+03+hysplit.gif" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHvdTdhrewZ3_VQ3x0-o9bak8d2OzGFwTVXX4CwoyNb3IAMoxTFgoeurz6b5RhtekETrPmMUx3X8M7_Zmhz1Bcm4nb0Jsu6Q8YbWxSCgAGFy78v0Bd0EI8VXUgftzXzLkabeDD70_CBd4/s200/initial+prediction+03+hysplit.gif" width="161" height="200" data-original-width="1286" data-original-height="1600" /></a>
</div>
Initial ascent trajectory was modeled with <a href="http://predict.habhub.org/">CUSF</a> Landing Predictor, while the long term float predictions with <a href="https://ready.arl.noaa.gov/hypub-bin/trajtype.pl">HYSPLIT</a> Trajectory Model. The HYSPLIT prediction contains three altitude levels. One 500m below and another 500m above the expected float altitude.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijF8OvrRg0SzAJMvopW5ap_lDtusAcM4GYP_9BvBte0c8B0x1yrQ2Q42ode_ZnhsI_K-Bpfq1vPeBC7NF9KUF3xu2KRFWShlRpVTgKzT5Sf-yMRjS4DqCpQuw8_Xn4vbd5HFzUsrVr-VE/s1600/IMG_4415+TT7B2+recovered.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijF8OvrRg0SzAJMvopW5ap_lDtusAcM4GYP_9BvBte0c8B0x1yrQ2Q42ode_ZnhsI_K-Bpfq1vPeBC7NF9KUF3xu2KRFWShlRpVTgKzT5Sf-yMRjS4DqCpQuw8_Xn4vbd5HFzUsrVr-VE/s200/IMG_4415+TT7B2+recovered.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg43RrldYXWH3YBtfYb7bd8tvU7miJB4yYz6TynDx5lea6pCIbCF_-2KqlUZ-z5-vyYbmnQuLQcILGk2F6D9b0Q9G2T3pdMOW6J52LrWlZU5qXP2tJrUJdjgR3vitliTxW6EOvovA5Zi7M/s1600/IMG_4419+TT7B2+epoxy.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg43RrldYXWH3YBtfYb7bd8tvU7miJB4yYz6TynDx5lea6pCIbCF_-2KqlUZ-z5-vyYbmnQuLQcILGk2F6D9b0Q9G2T3pdMOW6J52LrWlZU5qXP2tJrUJdjgR3vitliTxW6EOvovA5Zi7M/s200/IMG_4419+TT7B2+epoxy.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4HybApZbypUTk9ayHCidKZA_AdOc-zdGp3sd26CesXtt44rzCiBrLZRi5xnfF348ZIqCZIHFU7a2R5f9uTVj_B2051shKJ5u2iJY8PtGsWGi9qzS_pLR794Agk_wsyjNl46jjveVTy-g/s1600/IMG_4438+TT7B2+tracker.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4HybApZbypUTk9ayHCidKZA_AdOc-zdGp3sd26CesXtt44rzCiBrLZRi5xnfF348ZIqCZIHFU7a2R5f9uTVj_B2051shKJ5u2iJY8PtGsWGi9qzS_pLR794Agk_wsyjNl46jjveVTy-g/s200/IMG_4438+TT7B2+tracker.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLg6RFXbCXMNM4R-YZcQ50Qjlju69bfT2u-9EKxPK-8a28eD6iSWEkyhO6Bwvpf7BVBAcgnZPRFSU59dz9e_wBlsGrNBsBL8j1Ig2xUg16BatOnXzgiJo8S1isO9ifqrQ8LdF_YVWc824/s1600/IMG_4443+TT7B2+tracker.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLg6RFXbCXMNM4R-YZcQ50Qjlju69bfT2u-9EKxPK-8a28eD6iSWEkyhO6Bwvpf7BVBAcgnZPRFSU59dz9e_wBlsGrNBsBL8j1Ig2xUg16BatOnXzgiJo8S1isO9ifqrQ8LdF_YVWc824/s200/IMG_4443+TT7B2+tracker.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgARj3IdylIn6ZwWV5TfaSCAv8HiCJCd00R6PU_9TUsj_zYZpSv7rW5OezAOKh_tcl2LFuK0ae1sgVzYLHenzW5VZvi0evM3_0FkvdYkrHeEzpnl-cg-qiP5ZOlx5IctG9eLU248Teqzcs/s1600/IMG_4453+TT7B2+tracker.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgARj3IdylIn6ZwWV5TfaSCAv8HiCJCd00R6PU_9TUsj_zYZpSv7rW5OezAOKh_tcl2LFuK0ae1sgVzYLHenzW5VZvi0evM3_0FkvdYkrHeEzpnl-cg-qiP5ZOlx5IctG9eLU248Teqzcs/s200/IMG_4453+TT7B2+tracker.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_WYm0DMDPl7Npu69xGacxl7n07-_kpMMzpS4q_KuwZhght67xhFT9arioKs-IBH5vz4BtQzlq6AX12yFlsLQwAlT4e-sy4jYfpRgHPvc3YO_1i2KzyGpeiHXtu6MYh2btfVlHg2hDMAU/s1600/IMG_4448+TT7B2+tracker+mass.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_WYm0DMDPl7Npu69xGacxl7n07-_kpMMzpS4q_KuwZhght67xhFT9arioKs-IBH5vz4BtQzlq6AX12yFlsLQwAlT4e-sy4jYfpRgHPvc3YO_1i2KzyGpeiHXtu6MYh2btfVlHg2hDMAU/s200/IMG_4448+TT7B2+tracker+mass.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a>
</div>
The design of the tracker is in detail described in <a href="https://tt7hab.blogspot.com/2018/09/the-tt7b-tracker.html">this</a> and <a href="https://tt7hab.blogspot.com/2019/03/the-tt7b-tracker-vol-2.html">this</a> blog posts. This time, the final touches consisted of securing an Energizer Ultimate Lithium AA primary battery (estimated lifetime ~60 days) to the tracker. The battery was covered in black electrical tape, and leads were soldered directly to the battery's terminals. Based on in-flight low temperature behavior of TT7B2's first flight, another layer of Glob Top epoxy was deposited on the tracker. This time, covering the whole GPS module. An initial 5 minute satellite search period was removed from the code, and the maximum duration of GPS fix reacquisition was lowered to 39 seconds.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPi2FkXmyr96EnSqcrIKrwBWAJzmVQRBQaxpgvNO7YmLi7ma9kB0BaOGNEJONPlLDiiHJmCXIl8FEBrJbNqjmyW7ikdwXFtfixO6PWmnFsXh_jNimO3VJaXuMAfDXH8oUkv8pD9VUWVlc/s1600/IMG_4445+TT7B2+tracker.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPi2FkXmyr96EnSqcrIKrwBWAJzmVQRBQaxpgvNO7YmLi7ma9kB0BaOGNEJONPlLDiiHJmCXIl8FEBrJbNqjmyW7ikdwXFtfixO6PWmnFsXh_jNimO3VJaXuMAfDXH8oUkv8pD9VUWVlc/s200/IMG_4445+TT7B2+tracker.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlPcxoxsCa4CG7N_vuC9WbbUm-Mgz8WldE2HcFfuA8Bo5HcJizTMHMwamL-qDEAHXGpy_0GaJYFLd-li088kixjCLjpBFMDK92tSBJ97RTyguaH3A1NXhA7xGuCEUPRXoDPdznK-XAEpI/s1600/IMG_4439+TT7B2+dipole+antenna.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlPcxoxsCa4CG7N_vuC9WbbUm-Mgz8WldE2HcFfuA8Bo5HcJizTMHMwamL-qDEAHXGpy_0GaJYFLd-li088kixjCLjpBFMDK92tSBJ97RTyguaH3A1NXhA7xGuCEUPRXoDPdznK-XAEpI/s200/IMG_4439+TT7B2+dipole+antenna.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjH9OrLE5_RryMdeXuk4KgJkS0rVJq2LpiTe960KUNU-Tq17k-pDK2ufBoGCM3LjxrL5g0IR29aIJ99EMAkzwY-e3AGYGszfhmLb3uFsrr7XrvIOqGYsWRUjWzkgHGR30uxyeAkPzGe2_k/s1600/IMG_4460+TT7B2+balloon+filling.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjH9OrLE5_RryMdeXuk4KgJkS0rVJq2LpiTe960KUNU-Tq17k-pDK2ufBoGCM3LjxrL5g0IR29aIJ99EMAkzwY-e3AGYGszfhmLb3uFsrr7XrvIOqGYsWRUjWzkgHGR30uxyeAkPzGe2_k/s200/IMG_4460+TT7B2+balloon+filling.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOVqwjoR723qrdamYgl7NaSiYjEB5or5trxaebV35ZfGMFwi2WT4PeL7CrY0Kpon3ir0JNzup_HZcJf97iigugV58s6VD_04Z-IwHxI4OKfILyb9kW62Xjgm1f5MtYEPnpo0cGDZtjKxE/s1600/IMG_4463+TT7B2+balloon+filling.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOVqwjoR723qrdamYgl7NaSiYjEB5or5trxaebV35ZfGMFwi2WT4PeL7CrY0Kpon3ir0JNzup_HZcJf97iigugV58s6VD_04Z-IwHxI4OKfILyb9kW62Xjgm1f5MtYEPnpo0cGDZtjKxE/s200/IMG_4463+TT7B2+balloon+filling.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqq99yocWxstWlcvaJTrUW_HOvZ3wqBymZbCNLJ8nR5_3pAfhCze38tWmsPyOcMylW5vLmZEsvs20YDkWSB4ieN03FAHOr_VHTjfNZ5ux2mA26c8O5JLdVAL5YgPk_wXmBQbqwl93lzpw/s1600/IMG_4465+TT7B2+heat+sealing+inlet.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqq99yocWxstWlcvaJTrUW_HOvZ3wqBymZbCNLJ8nR5_3pAfhCze38tWmsPyOcMylW5vLmZEsvs20YDkWSB4ieN03FAHOr_VHTjfNZ5ux2mA26c8O5JLdVAL5YgPk_wXmBQbqwl93lzpw/s200/IMG_4465+TT7B2+heat+sealing+inlet.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpl2-fDLN2Kz115r5H8FPqHb_f0a4TKsFJdkI6WL7hXhbSAV3bqJiUnaNA-TEIXGJR9MJ_MgWUKJZoxVveG0awYIPZW_u8EFMDFwdxJFDlnfAXsGWG0l_7MVHXYz2dAoycrY2dI8ZWD0U/s1600/IMG_4481+TT7B2+heat+sealed+inlet.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpl2-fDLN2Kz115r5H8FPqHb_f0a4TKsFJdkI6WL7hXhbSAV3bqJiUnaNA-TEIXGJR9MJ_MgWUKJZoxVveG0awYIPZW_u8EFMDFwdxJFDlnfAXsGWG0l_7MVHXYz2dAoycrY2dI8ZWD0U/s200/IMG_4481+TT7B2+heat+sealed+inlet.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeaZxuq23iFsEFs2B_xZmoWQgo-AJxTrtD41xsVljyQwPhmd5D_twskhVY17ypXSDF5ydWODHbcA-8ejQlzgL_mzQEfyNIiNqW4K3Alu9DjYbf-Awz-FzgAxia8wbK3sjAByJh2GDa6jI/s1600/IMG_4491+TT7B2+tracker.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeaZxuq23iFsEFs2B_xZmoWQgo-AJxTrtD41xsVljyQwPhmd5D_twskhVY17ypXSDF5ydWODHbcA-8ejQlzgL_mzQEfyNIiNqW4K3Alu9DjYbf-Awz-FzgAxia8wbK3sjAByJh2GDa6jI/s200/IMG_4491+TT7B2+tracker.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYINCJsHD2oKUl1Ev8Pqa_CwXAaSpzL_9EaVoQ24Ot_CUr6XnaOAMMkodT494HzVRLqWuAUc3jcc9c70OY3saZReAP1KnBettu2QtsdfuIbncMUAgfq0nyUTtWsOx_SovDKjtFIVhF4Wk/s1600/IMG_4493+TT7B2+tracker.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYINCJsHD2oKUl1Ev8Pqa_CwXAaSpzL_9EaVoQ24Ot_CUr6XnaOAMMkodT494HzVRLqWuAUc3jcc9c70OY3saZReAP1KnBettu2QtsdfuIbncMUAgfq0nyUTtWsOx_SovDKjtFIVhF4Wk/s200/IMG_4493+TT7B2+tracker.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDscAsmWof0gEsOfwcCQI4IB_1Jh65l7CIfZ7RW2hU4kpA0MkRz4pJ9QCdNacuf4hAkZSinvMP0TIXN8ZHJ8DWmrHP1q90NRFb-I24GpeS5S9cdrIVS7-Dm1qiupEtUqDREJuYT71YdTQ/s1600/IMG_4494+TT7B2+tracker.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDscAsmWof0gEsOfwcCQI4IB_1Jh65l7CIfZ7RW2hU4kpA0MkRz4pJ9QCdNacuf4hAkZSinvMP0TIXN8ZHJ8DWmrHP1q90NRFb-I24GpeS5S9cdrIVS7-Dm1qiupEtUqDREJuYT71YdTQ/s200/IMG_4494+TT7B2+tracker.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPPtSv1F9kla6VyqMaOjDbDFAU0uR3BXaJynD0EiKghWGp-WVviDvsbEnFnFOiAd8UMEFdyuf2r4fKPw5i3N80sYrLY52qbw6FXuxr2WASyXFr83UX2j99LldQU0MQDxzBHJh52foHwXo/s1600/IMG_4498+TT7B2+balloon.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPPtSv1F9kla6VyqMaOjDbDFAU0uR3BXaJynD0EiKghWGp-WVviDvsbEnFnFOiAd8UMEFdyuf2r4fKPw5i3N80sYrLY52qbw6FXuxr2WASyXFr83UX2j99LldQU0MQDxzBHJh52foHwXo/s200/IMG_4498+TT7B2+balloon.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiJlb-vcp2uRM3Esf9rNAyKgUcPuYvU9ctDh0Au3uzus1egGH3CKWZ329hkRAxsm_G23SDFkha0HdI9tAyZl0XhgEHfKB1qDTOJQj2koiGagKPRVrMiWDOkrkfNubBMDNyQWNudsFXSIY/s1600/IMG_4502+TT7B2+launch.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiJlb-vcp2uRM3Esf9rNAyKgUcPuYvU9ctDh0Au3uzus1egGH3CKWZ329hkRAxsm_G23SDFkha0HdI9tAyZl0XhgEHfKB1qDTOJQj2koiGagKPRVrMiWDOkrkfNubBMDNyQWNudsFXSIY/s200/IMG_4502+TT7B2+launch.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjInyhhKYy_cE4UO8lvDbUtUo4Ha_1cGL0MpytbpyRl2yIFl6gY8eAfHRRzUnNHeOgFZzXeY3Xbn8Pw8dhbGWykyGVYBDs9q4vJqRS7p71COJJUZPwkXI4ghWhcFRgZLxm6WCKjdV7bXEQ/s1600/IMG_4507+TT7B2+launch.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjInyhhKYy_cE4UO8lvDbUtUo4Ha_1cGL0MpytbpyRl2yIFl6gY8eAfHRRzUnNHeOgFZzXeY3Xbn8Pw8dhbGWykyGVYBDs9q4vJqRS7p71COJJUZPwkXI4ghWhcFRgZLxm6WCKjdV7bXEQ/s200/IMG_4507+TT7B2+launch.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1nhUWXZaMICKNrGm_mK2LashIhVUi9bsp-jauLVVAHcxx79gow3jVx6nb87G1u09gpXlAxSnQ6UN_makJEGLY5TYXMbYUjy4hpr2hBqEnyFNBaiZIxawR2OjqXb73JlcrYeRJRyINaOs/s1600/IMG_4508+TT7B2+launch.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1nhUWXZaMICKNrGm_mK2LashIhVUi9bsp-jauLVVAHcxx79gow3jVx6nb87G1u09gpXlAxSnQ6UN_makJEGLY5TYXMbYUjy4hpr2hBqEnyFNBaiZIxawR2OjqXb73JlcrYeRJRyINaOs/s200/IMG_4508+TT7B2+launch.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
In this case, the second thermistor/pressure sensor pair were not glued inside the envelope as the glue became the main suspect in the failure of the two previous flights. The gas inlet was heat sealed this time, and the sensors were left outside and shielded with a piece of reflective material to compare their measurements to the onboard unshielded sensors. As it was possible to hang the tracker further apart from the envelope now, the original antenna was replaced with a half wave dipole (element length: 2x 499mm). After the bad experience with TT7B1, this launch took place a couple hours later in the day, and the balloon and mainly hydrogen were left in the sun for a while to warm up.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLhPdeR_kFJJAOAjyaUd4hZ8eLAftOSYEzIDcVp_wV_qFnWODHkzlk-J67q7du4pVjAcosCeZ4Qx4t8UX0TPd5yqdF2D7BaJXQS8nawJolriPjDj3C_ZxmWO7zSOHgnmUsQFyqCBa4u_Q/s1600/APRS+receivers+relaunch+06.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLhPdeR_kFJJAOAjyaUd4hZ8eLAftOSYEzIDcVp_wV_qFnWODHkzlk-J67q7du4pVjAcosCeZ4Qx4t8UX0TPd5yqdF2D7BaJXQS8nawJolriPjDj3C_ZxmWO7zSOHgnmUsQFyqCBa4u_Q/s200/APRS+receivers+relaunch+06.jpg" width="200" height="141" data-original-width="1149" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7oXDgJEY1eTIQYgw2QEOjnhIF67Low-SeyCQOHqvYioOcfbrdbqK2hkphcWEF7oAY7XyQYSW926QoNEu4SA2a5FqPimNwGheefRGDhtDnJ4AKixnl-APfqWcy7f004Wdl7K6UbgiKZHs/s1600/weather+satellite+relaunch+01.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7oXDgJEY1eTIQYgw2QEOjnhIF67Low-SeyCQOHqvYioOcfbrdbqK2hkphcWEF7oAY7XyQYSW926QoNEu4SA2a5FqPimNwGheefRGDhtDnJ4AKixnl-APfqWcy7f004Wdl7K6UbgiKZHs/s200/weather+satellite+relaunch+01.jpg" width="200" height="150" data-original-width="1000" data-original-height="750" /></a>
</div>
<b>Days 1 & 2:</b> The balloon ascended at an average rate of 1.3m/s (maximum 3.0m/s) to an initial altitude of 13400m, about 500m below prediction. The balloon first flew over the countries of Slovakia, Poland and Ukraine. It was received by a large number of stations as these areas are well covered. The satellite images didn't show any thunderstorms nor any other high altitude clouds in the area.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGHl070Qr-TObeTuo7LrUQsRn49eGiH4fK-5fJXeEBpziC62zZyoEwR6yJEpGFEL8mDcNs1dwa6TspvejjS-DIGA3pycySX4w-2HxtyQIIigA0wWHFMvLc56Z8yzJwynCsinyuCIjNaw8/s1600/APRS+receivers+relaunch+10.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGHl070Qr-TObeTuo7LrUQsRn49eGiH4fK-5fJXeEBpziC62zZyoEwR6yJEpGFEL8mDcNs1dwa6TspvejjS-DIGA3pycySX4w-2HxtyQIIigA0wWHFMvLc56Z8yzJwynCsinyuCIjNaw8/s200/APRS+receivers+relaunch+10.jpg" width="200" height="141" data-original-width="1150" data-original-height="809" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMBwORde28zMpMdP1Dg88p2U6BPFWE4ZoMwIDKmJY-YshULZbSlDGgUf-kIYXc25nLia_IesG8iJ0fgrjAQCRJZ-66U4r59E37fGwwTGiTt0K4woRYzOfkmS2C5xjkxI0v3V3rEaPmusI/s1600/weather+satellite+relaunch+04.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMBwORde28zMpMdP1Dg88p2U6BPFWE4ZoMwIDKmJY-YshULZbSlDGgUf-kIYXc25nLia_IesG8iJ0fgrjAQCRJZ-66U4r59E37fGwwTGiTt0K4woRYzOfkmS2C5xjkxI0v3V3rEaPmusI/s200/weather+satellite+relaunch+04.jpg" width="200" height="150" data-original-width="1000" data-original-height="750" /></a>
</div>
After sunset the air temperature measured by the onboard thermistor fell to -63°C. As a result, the communication between the GPS module (Ublox ZOE-M8B) and the MCU began timing out. The tracker continued transmitting data packets without position for several more hours. Once it was irradiated again in the morning, the GPS module resumed operation, and the balloon was received near the Caspian Sea in Russia where it eventually entered area without APRS coverage.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4b0xKVvcS77xiQJ1dvCmv1SMNRPn7h-wb5BmSLTb3SjZvE0dt-97BOsJp1YEPuu8vPeGKg9sKCrqeMZik0hLBZ_cwEcXzpLoJ1ehyWuY1Wr2JFo3YtviTHfTmiiZ93Dk8GDpW5w_47bk/s1600/chart+TT7B2+relaunch+data+01.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4b0xKVvcS77xiQJ1dvCmv1SMNRPn7h-wb5BmSLTb3SjZvE0dt-97BOsJp1YEPuu8vPeGKg9sKCrqeMZik0hLBZ_cwEcXzpLoJ1ehyWuY1Wr2JFo3YtviTHfTmiiZ93Dk8GDpW5w_47bk/s200/chart+TT7B2+relaunch+data+01.png" width="200" height="120" data-original-width="1035" data-original-height="621" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtQloRx9uPA2_oay1_KC-OT9Sjk4ZHS4SpczVVhIl5tcWEZovjSvbkntc6hCVzl64HX-G6sLZnQLn-aoj9EYEi6DWVpJOIR3JYLrGwDo_KCK93N1fWjw5F0DKhyphenhyphentFdjBfxzuicqDJ0L7E/s1600/chart+TT7B2+relaunch+data+02.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtQloRx9uPA2_oay1_KC-OT9Sjk4ZHS4SpczVVhIl5tcWEZovjSvbkntc6hCVzl64HX-G6sLZnQLn-aoj9EYEi6DWVpJOIR3JYLrGwDo_KCK93N1fWjw5F0DKhyphenhyphentFdjBfxzuicqDJ0L7E/s200/chart+TT7B2+relaunch+data+02.png" width="200" height="120" data-original-width="1033" data-original-height="620" /></a>
</div>
The balloon held a more or less the same altitude during both days which suggests it indeed was the glue that caused the leaks on the previous two flights. Unfortunately, the balloon will most likely be stuck in a very cold air mass in the upcoming days, so it is unlikely that there will be data from the nighttime.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmVID6W-Thpz7SMBRmONoRjuvq_AnN4qUIOCpcJlF9nmat2kM5-hHIjrpSIrAW4pl9n73_1drWF1sV4ecC8zSHZYwxIWMvr7iivMY7EUV6gkYWJfOqt5hzj-sb7ZYNIsgH7oYsrx-URcA/s1600/prediction+1002+11UTC+hysplit+072+6h.gif" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmVID6W-Thpz7SMBRmONoRjuvq_AnN4qUIOCpcJlF9nmat2kM5-hHIjrpSIrAW4pl9n73_1drWF1sV4ecC8zSHZYwxIWMvr7iivMY7EUV6gkYWJfOqt5hzj-sb7ZYNIsgH7oYsrx-URcA/s200/prediction+1002+11UTC+hysplit+072+6h.gif" width="161" height="200" data-original-width="1286" data-original-height="1600" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTpS5EPGSUtCyEFzP2MOKAn6gK54Jifui3j9iPmtUXcgOrM-TFfzB3410Sww7FtI5jJWLTxf6GBSVWXmEu6SLekUK9NRz-c_lt0kMWAEDjEO7C8lPKYfKXXaTzLY27tAKYTtSs1seQHEY/s1600/weather+cloud+tops+20191003+12z.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTpS5EPGSUtCyEFzP2MOKAn6gK54Jifui3j9iPmtUXcgOrM-TFfzB3410Sww7FtI5jJWLTxf6GBSVWXmEu6SLekUK9NRz-c_lt0kMWAEDjEO7C8lPKYfKXXaTzLY27tAKYTtSs1seQHEY/s320/weather+cloud+tops+20191003+12z.jpg" width="292" height="200" data-original-width="1119" data-original-height="765" /></a>
</div>
The closest that there is a chance the tracker will be received is early Friday morning around the city of Ürümqi in western China. As for high altitude clouds on the predicted path, there could be cloud tops reaching to 12600m in central Pakistan during Thursday.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQ3F_9-kk9jql5gU9Ec0TLIDAvxWJ90DtabgtR_PFCwyzbNJeuHhaNRADybYNSklWKxfRScT5HYIk09szF_XecbZvOHIEhyehNC7r73BrsB_CuOgLO7tdFa0M7jHckkM7KKDQpfe2RMvw/s1600/weather+satellite+relaunch+07.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQ3F_9-kk9jql5gU9Ec0TLIDAvxWJ90DtabgtR_PFCwyzbNJeuHhaNRADybYNSklWKxfRScT5HYIk09szF_XecbZvOHIEhyehNC7r73BrsB_CuOgLO7tdFa0M7jHckkM7KKDQpfe2RMvw/s200/weather+satellite+relaunch+07.jpg" width="200" height="151" data-original-width="980" data-original-height="742" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGHS1wve6qKJqir1euwIE-wHepj2aPqBme5PvCBOeJwRPgSc5WrhBq1zz-1NOF_yaaIPLs4KPS4Nuk1BjYisIBzbZRSmP8BeCdwJhwrYCDTga7zH5j-_olnSE9lpLFpyoUdIbVwLRyAJM/s1600/weather+satellite+relaunch+12.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGHS1wve6qKJqir1euwIE-wHepj2aPqBme5PvCBOeJwRPgSc5WrhBq1zz-1NOF_yaaIPLs4KPS4Nuk1BjYisIBzbZRSmP8BeCdwJhwrYCDTga7zH5j-_olnSE9lpLFpyoUdIbVwLRyAJM/s200/weather+satellite+relaunch+12.jpg" width="200" height="151" data-original-width="980" data-original-height="742" /></a>
</div>
<b>Days 3-5:</b> The balloon managed to fly over the storms in northern Pakistan, but the next morning it was too far south to be received by the Ürümqi iGates. The satellite images didn't show any clouds on the way to the east coast of China.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizapBrCxL8oOE2PBAmhXv52hicID13Iowl505dwUux9yNUwcNuMX8ZLEuUHlHHLwUja5a678inWQKFTvlNht4DFnfxaAsDQ6qzVoQcL3xi_SBe7eY5EKziyArAOYL9GSDnEATH68134is/s1600/APRS+receivers+relaunch+18.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizapBrCxL8oOE2PBAmhXv52hicID13Iowl505dwUux9yNUwcNuMX8ZLEuUHlHHLwUja5a678inWQKFTvlNht4DFnfxaAsDQ6qzVoQcL3xi_SBe7eY5EKziyArAOYL9GSDnEATH68134is/s200/APRS+receivers+relaunch+18.jpg" width="200" height="141" data-original-width="1149" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiE0OdeAK2N6LvqMLVPNpD9IU1oavX8PlNq22g3y7Ruq088I-sNCcaohtCq-0Y6zYDwO3R8PnohlkPe6_7OhbXLTh0hYqTGVTK8wWnd4pCalvudgq5MB22MBWF0A8_HvXhfLyBrNH7CpTE/s1600/APRS+receivers+relaunch+22.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiE0OdeAK2N6LvqMLVPNpD9IU1oavX8PlNq22g3y7Ruq088I-sNCcaohtCq-0Y6zYDwO3R8PnohlkPe6_7OhbXLTh0hYqTGVTK8wWnd4pCalvudgq5MB22MBWF0A8_HvXhfLyBrNH7CpTE/s200/APRS+receivers+relaunch+22.jpg" width="200" height="141" data-original-width="1149" data-original-height="810" /></a>
</div>
The first packets came through during the night from Friday to Saturday a short while after sunrise in eastern China. The balloon showed up west of Beijing and continued further east towards North Korea. For the number of iGates in the area, the reception wasn't that great and it ceased completely a bit earlier than expected. Unexpectedly, the balloon showed up again several hours later approaching Japan during local night. Great APRS coverage above Hokkaido then allowed collecting a number of backlogged data points.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMa8JhjUoRLYU844iMNYtrWdR7DevYZug-kaiXrCEwzRwXZhXFjS5cnHkaONZnr0MHGpXcCP3m4HVjjHUHXnSqETczbcirwXwihzSLiTTSPsHYsn8H_ZStrouKITeuggIWWJIQf7cGn30/s1600/chart+TT7B2+relaunch+data+03.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMa8JhjUoRLYU844iMNYtrWdR7DevYZug-kaiXrCEwzRwXZhXFjS5cnHkaONZnr0MHGpXcCP3m4HVjjHUHXnSqETczbcirwXwihzSLiTTSPsHYsn8H_ZStrouKITeuggIWWJIQf7cGn30/s200/chart+TT7B2+relaunch+data+03.png" width="200" height="120" data-original-width="1033" data-original-height="621" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHlZUDk9Ao4c8RR8umGaTDY47AOZAsvGWwBX0kMqFHA-2Lu2atePSoUA-UGEuziJ2K80v4LAZ943q5lN_ZAV53YB663wUEP2noM503k7lsWXPBa0IOYDxdozKBrvOPQSByxQci9SlY0gw/s1600/chart+TT7B2+relaunch+data+04.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHlZUDk9Ao4c8RR8umGaTDY47AOZAsvGWwBX0kMqFHA-2Lu2atePSoUA-UGEuziJ2K80v4LAZ943q5lN_ZAV53YB663wUEP2noM503k7lsWXPBa0IOYDxdozKBrvOPQSByxQci9SlY0gw/s200/chart+TT7B2+relaunch+data+04.png" width="200" height="120" data-original-width="1034" data-original-height="622" /></a>
</div>
The data show the balloon held its altitude at 13400-13500m during all five days. The most recent data then provide first information about its altitude during nighttime which was about 400m lower. The collection of the latest data was possible, because the temperature of the air mass in which the balloon flew rose to above -55°C during the night as can be seen in the chart. The battery voltage can be seen maintaining the same levels so far, mainly varying with the day-night cycle.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNdUSqVeB5QsqMrblJlvEMir4blF1X6eD-DZpoqgp2sBl8n-bALBqLWsfC9wAyUp8CLSgMzW5_i3m3Eeb_2aAlLktOlZ0SLRXC4LfdI6o2Y2C2ydtH7bYEmUF-JD171gJXzFEnjqH8Muk/s1600/prediction+1004+23UTC+hysplit+120+6h.gif" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNdUSqVeB5QsqMrblJlvEMir4blF1X6eD-DZpoqgp2sBl8n-bALBqLWsfC9wAyUp8CLSgMzW5_i3m3Eeb_2aAlLktOlZ0SLRXC4LfdI6o2Y2C2ydtH7bYEmUF-JD171gJXzFEnjqH8Muk/s200/prediction+1004+23UTC+hysplit+120+6h.gif" width="161" height="200" data-original-width="1286" data-original-height="1600" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCY47wBFGSeXqVZgG7vZTHWQ8C4hK0QlTq7Ir4G5rXVltTFkRYE4BytL-0V8xoJrYWxG5Ijd92iEC7bp_4mKatGlyrnnbkheeTji_9Zgsnq4sZNZTT6Co7cLeaIKr2v0bNHd57iB_nMyY/s1600/weather+cloud+tops+20191007+00z.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCY47wBFGSeXqVZgG7vZTHWQ8C4hK0QlTq7Ir4G5rXVltTFkRYE4BytL-0V8xoJrYWxG5Ijd92iEC7bp_4mKatGlyrnnbkheeTji_9Zgsnq4sZNZTT6Co7cLeaIKr2v0bNHd57iB_nMyY/s320/weather+cloud+tops+20191007+00z.jpg" width="291" height="200" data-original-width="1113" data-original-height="764" /></a>
</div>
The balloon will spend a few upcoming days above the Pacific Ocean. The earliest the trajectory brings it to APRS receivers is expected on Thursday evening in California. A prediction shows cloud tops reaching 12.5km altitude above the Aleutian Islands when the balloon is scheduled to fly over during the night from Sunday to Monday.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvbuy8jeNze8a1nhGN7X_hieuHtbQ61Qz_2Yaegbno2TBxDHgn7aquAhdrWKMvx6DvG7L3JCSKG9L2_auBkmzCv8rc_Lbb9eCKKjP_EP5qSYtJFE8SomSvsR3zuQlruJBZ6BkySK2-mcE/s1600/weather+satellite+relaunch+23.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvbuy8jeNze8a1nhGN7X_hieuHtbQ61Qz_2Yaegbno2TBxDHgn7aquAhdrWKMvx6DvG7L3JCSKG9L2_auBkmzCv8rc_Lbb9eCKKjP_EP5qSYtJFE8SomSvsR3zuQlruJBZ6BkySK2-mcE/s200/weather+satellite+relaunch+23.jpg" width="200" height="148" data-original-width="980" data-original-height="726" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYVVUl2pz6bbgR1NIwnUfsePpkcKIOCIkZMQKz1nfXoRnM6pz7lSkscruEvqX_opsukWBXJdISJv76_QA_DfRjeEPAElgyj4XTBBNQ37wkfuchLeKUnOriMbIF86885WXgdZk46nttzSk/s1600/weather+satellite+relaunch+27.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYVVUl2pz6bbgR1NIwnUfsePpkcKIOCIkZMQKz1nfXoRnM6pz7lSkscruEvqX_opsukWBXJdISJv76_QA_DfRjeEPAElgyj4XTBBNQ37wkfuchLeKUnOriMbIF86885WXgdZk46nttzSk/s200/weather+satellite+relaunch+27.jpg" width="200" height="148" data-original-width="980" data-original-height="726" /></a>
</div>
<b>Days 6-10:</b> The balloon was received as the prediction suggested on its tenth day of flight in eastern California, north of Los Angeles. The satellite images from the 5 days above the Pacific Ocean show the weather on the balloon's path to be quite mild.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNbPSUi5zgQTcqxjNIXZfawjjAbmpmHAEhJDgZdSQipFWaZea7iZIuwHO5pgAUL-nANOksgHwv_xZC5HNm-w8xpLJGWOnl7-gshIewvaGaZRuuEwpmnM5DROFlZ_QsZ-pnk9j5mY04Y2Q/s1600/APRS+backlog+01.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNbPSUi5zgQTcqxjNIXZfawjjAbmpmHAEhJDgZdSQipFWaZea7iZIuwHO5pgAUL-nANOksgHwv_xZC5HNm-w8xpLJGWOnl7-gshIewvaGaZRuuEwpmnM5DROFlZ_QsZ-pnk9j5mY04Y2Q/s320/APRS+backlog+01.jpg" width="356" height="200" data-original-width="1439" data-original-height="808" /></a>
</div>
The balloon's trajectory during these days, reconstructed from the backlogged data, matches the Hysplit prediction. Most of the data come from daytime periods, while on the 8th of October the tracker managed to operate throughout the night as well.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7no5M0ZCOIJqQhdz3Pnd9EU9PGCSgvA0lJCMjGvla7iw4UTIqt5rKTbCro4iLbdBlej0_N3b2hF5EibRTQV4C8XWfojprhyK5s6odsjZkPy9WXVY8T2S5t4Ypdwr6OV0OwA5z_FodMA0/s1600/prediction+1010+14UTC+hysplit+072+6h.gif" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7no5M0ZCOIJqQhdz3Pnd9EU9PGCSgvA0lJCMjGvla7iw4UTIqt5rKTbCro4iLbdBlej0_N3b2hF5EibRTQV4C8XWfojprhyK5s6odsjZkPy9WXVY8T2S5t4Ypdwr6OV0OwA5z_FodMA0/s200/prediction+1010+14UTC+hysplit+072+6h.gif" width="161" height="200" data-original-width="1286" data-original-height="1600" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFVO5bt3AECTlrvK_d6xDfHN7VtHNVvNmo3_Z5NS5TNn2_jumAPtk8HXgAx370_dBuBwRNZAcjq2IsTN36_kRy5dTRe9FLzJn7ZNvJzxiM2vWnrc-taWTayIVd4In6J52e5vFRKvPRs38/s1600/weather+cloud+tops+20191011+12z.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFVO5bt3AECTlrvK_d6xDfHN7VtHNVvNmo3_Z5NS5TNn2_jumAPtk8HXgAx370_dBuBwRNZAcjq2IsTN36_kRy5dTRe9FLzJn7ZNvJzxiM2vWnrc-taWTayIVd4In6J52e5vFRKvPRs38/s320/weather+cloud+tops+20191011+12z.jpg" width="292" height="200" data-original-width="1118" data-original-height="764" /></a>
</div>
The upcoming few days will be spent in North America. The balloon should get relatively quickly to the east coast of the US before leaving for Europe from Canada's Newfoundland on Sunday. As for high altitude clouds, a prediction shows cloud tops reaching up to 13.8km right on the balloon's path at the border of Missouri and Illinois on Friday.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoH7AWmzgymuzGLTeIetJzKalXIcaBGgr1zrv7TyQlOxFe6PO3J4fLC_SlyuQLipOg3uXIt5kvrcVLqkMu_9QHQcClI-dLzJzo9BnxGaAuMynIkSBJqK_Cwk17nbMOHgLkbx3Pp1LXwu8/s1600/weather+satellite+relaunch+33.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoH7AWmzgymuzGLTeIetJzKalXIcaBGgr1zrv7TyQlOxFe6PO3J4fLC_SlyuQLipOg3uXIt5kvrcVLqkMu_9QHQcClI-dLzJzo9BnxGaAuMynIkSBJqK_Cwk17nbMOHgLkbx3Pp1LXwu8/s200/weather+satellite+relaunch+33.jpg" width="158" height="200" data-original-width="775" data-original-height="980" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4Je0WGO_2FhuSyOxPLd-OdPc-IDA37ooTaKYPJF2QrKg5XyCmvPyQ1GpbZGG8E2RMaS8J2gzkkb-__G49uJ_WaUuKiRUkYyQWXghzzGmDUw8ZxThStU8LolzIZab5L5ZJIjbKGotWbes/s1600/weather+satellite+relaunch+35.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4Je0WGO_2FhuSyOxPLd-OdPc-IDA37ooTaKYPJF2QrKg5XyCmvPyQ1GpbZGG8E2RMaS8J2gzkkb-__G49uJ_WaUuKiRUkYyQWXghzzGmDUw8ZxThStU8LolzIZab5L5ZJIjbKGotWbes/s200/weather+satellite+relaunch+35.jpg" width="158" height="200" data-original-width="775" data-original-height="980" /></a>
</div>
<b>Days 10-12:</b> The predicted storms slightly altered the balloon's trajectory, so it showed up just south of Chicago after local sunrise instead of Missouri where I expected it.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhttbfEpCKQW0bPflddDyCOgkGw48WzwqJ1-yhBbZJAcb1afQCB3Um6-kFK7ml26yKhv6-QSIL1R8sk1zZ7ai9LgIm_H5LPo6NNqHxbL6SKndyiwMaGXTAU5GyoTns469yf86o3eEYqId4/s1600/APRS+receivers+relaunch+26.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhttbfEpCKQW0bPflddDyCOgkGw48WzwqJ1-yhBbZJAcb1afQCB3Um6-kFK7ml26yKhv6-QSIL1R8sk1zZ7ai9LgIm_H5LPo6NNqHxbL6SKndyiwMaGXTAU5GyoTns469yf86o3eEYqId4/s200/APRS+receivers+relaunch+26.jpg" width="200" height="141" data-original-width="1149" data-original-height="808" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV14HCYnF38rWQ4JToUnUQZ0CU3T_gwfDSbx3sIhHAfKHLYuN4j7Xwc5L3U9gqBY5ogAeJgiCcolTExMvgXLctJo3vRn5kvFWOlL09OPpAd2VPSzWX4gef7Bc4f2mKp8POuvIlEzJwqRs/s1600/APRS+receivers+relaunch+30.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV14HCYnF38rWQ4JToUnUQZ0CU3T_gwfDSbx3sIhHAfKHLYuN4j7Xwc5L3U9gqBY5ogAeJgiCcolTExMvgXLctJo3vRn5kvFWOlL09OPpAd2VPSzWX4gef7Bc4f2mKp8POuvIlEzJwqRs/s200/APRS+receivers+relaunch+30.jpg" width="200" height="141" data-original-width="1150" data-original-height="809" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioCv3kmHgNwLvGuWtqul5u3Zm7Xw2I72cn4ecOVZ6gXm2z5Z13BQoLnI07VZAxZLrOO9rxZbODiH7qMrHv8RNFdzzVaLee8HOKOUYbv7uEIzzsxDiRmXXXekjtHtPucycvlbre4XfVqFw/s1600/APRS+receivers+relaunch+34.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioCv3kmHgNwLvGuWtqul5u3Zm7Xw2I72cn4ecOVZ6gXm2z5Z13BQoLnI07VZAxZLrOO9rxZbODiH7qMrHv8RNFdzzVaLee8HOKOUYbv7uEIzzsxDiRmXXXekjtHtPucycvlbre4XfVqFw/s200/APRS+receivers+relaunch+34.jpg" width="200" height="141" data-original-width="1150" data-original-height="809" /></a>
</div>
As the APRS coverage in the US is almost omnipresent, the tracker was received throughout the whole two days as long as the Sun was above the horizon. During the night the temperatures were too low for the tracker to stay operational. As the balloon crossed the border to Canada and its sparsely populated northern Quebec, it flew out of reception again.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0IUx2AeJu_7kaQC8Zr3sRSPcdgCd20Jzi7_Xx7Y_szq8e-fgtgFzo8mg5wHAtQQhZgfWb4Uy7dbULp0kbyU-k_FLSsj_Q_DP9r3UqzSCURkTavaEPw5AlKZkmhZawYRwz3voUPd51Bw4/s1600/chart+TT7B2+relaunch+data+05.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0IUx2AeJu_7kaQC8Zr3sRSPcdgCd20Jzi7_Xx7Y_szq8e-fgtgFzo8mg5wHAtQQhZgfWb4Uy7dbULp0kbyU-k_FLSsj_Q_DP9r3UqzSCURkTavaEPw5AlKZkmhZawYRwz3voUPd51Bw4/s200/chart+TT7B2+relaunch+data+05.png" width="200" height="120" data-original-width="1032" data-original-height="621" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0cl8TUAlZYu2x6bPST90csUWVQ0O-0UmrW0Pv0ujO-k5zNUSZJ3f7OBlbOfGFIlOGTJ3rzwNygrXBKSbF1h7TI_bdYoSojHcinqJi6dmfhIqjl-6UCNSTHdwhgAZxc-F4rooolwySeZM/s1600/chart+TT7B2+relaunch+data+06.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0cl8TUAlZYu2x6bPST90csUWVQ0O-0UmrW0Pv0ujO-k5zNUSZJ3f7OBlbOfGFIlOGTJ3rzwNygrXBKSbF1h7TI_bdYoSojHcinqJi6dmfhIqjl-6UCNSTHdwhgAZxc-F4rooolwySeZM/s200/chart+TT7B2+relaunch+data+06.png" width="200" height="120" data-original-width="1032" data-original-height="619" /></a>
</div>
With more data, the previously assumed day to night variation in altitude of around 400m was most likely due to the pressure and temperature of the air mass evolving rather than the envelope stretching and contracting. Currently it seems the variation is less than 100m. The battery voltage still holds strong.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjvuJZLobpOD3N8t-ggwz3knIYX5NAKmDaWeuFjhlp_K9YEqiN-iNpN6VTSDQwIVP12Uz7tZKXmru4TEMrtlnPTFKwOrLpAv7J6sZy97lhQ9kRWzk6Z6l7PtTQjV-o6V2ZZOsNqot63tY/s1600/prediction+1012+23UTC+hysplit+072+6h.gif" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjvuJZLobpOD3N8t-ggwz3knIYX5NAKmDaWeuFjhlp_K9YEqiN-iNpN6VTSDQwIVP12Uz7tZKXmru4TEMrtlnPTFKwOrLpAv7J6sZy97lhQ9kRWzk6Z6l7PtTQjV-o6V2ZZOsNqot63tY/s200/prediction+1012+23UTC+hysplit+072+6h.gif" width="161" height="200" data-original-width="1286" data-original-height="1600" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOBqLrIbCmH8v04eCOx5DWEUPHRi80cUvkiwOpAGlf4ki2I6UcAiXNjGDHfKIe77eMoWYAEhNEMtuuIakmlW6kKEMht-r2I0H106cAgx5UJJhLj8IyhGuLuzOAv8xQhTSmy0InxjQl3W0/s1600/weather+cloud+tops+20191014+12z.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOBqLrIbCmH8v04eCOx5DWEUPHRi80cUvkiwOpAGlf4ki2I6UcAiXNjGDHfKIe77eMoWYAEhNEMtuuIakmlW6kKEMht-r2I0H106cAgx5UJJhLj8IyhGuLuzOAv8xQhTSmy0InxjQl3W0/s320/weather+cloud+tops+20191014+12z.jpg" width="294" height="200" data-original-width="1124" data-original-height="765" /></a>
</div>
During the upcoming few days, the balloon is expected to leave Labrador and arrive in Europe. There are no adverse weather phenomena predicted over the Atlantic Ocean.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRiQeBF2D17Kq40AJKfm1KH-L-Oos_yJfnkjFDLz_HfxC8BgHnZJWH83sM0rjjmuqLatKA-zqHgxpPhs-yYq0KAVWRBirHhZchKirePjtBdanl0fpphA-iEZ5Djw5NfjoLcyPsnt7-rP8/s1600/APRS+backlog+02.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRiQeBF2D17Kq40AJKfm1KH-L-Oos_yJfnkjFDLz_HfxC8BgHnZJWH83sM0rjjmuqLatKA-zqHgxpPhs-yYq0KAVWRBirHhZchKirePjtBdanl0fpphA-iEZ5Djw5NfjoLcyPsnt7-rP8/s200/APRS+backlog+02.jpg" width="225" height="162" data-original-width="1092" data-original-height="788" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy-vLrpnPmo0-lvoSJ-4nJReJ13twSWpJ-Gbslc3UX0DmBZUIeZ1YhCD_MSRs3f5jzZnVr1TyxIzNknR6LGEjz4AeqmVnmRGIgAtEcXnzyyrfAncr27fW3ZuMaDhO-L-j8ZEDDyklMkIA/s1600/weather+satellite+relaunch+47.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy-vLrpnPmo0-lvoSJ-4nJReJ13twSWpJ-Gbslc3UX0DmBZUIeZ1YhCD_MSRs3f5jzZnVr1TyxIzNknR6LGEjz4AeqmVnmRGIgAtEcXnzyyrfAncr27fW3ZuMaDhO-L-j8ZEDDyklMkIA/s200/weather+satellite+relaunch+47.jpg" width="200" height="162" data-original-width="980" data-original-height="795" /></a>
</div>
<b>Days 13-15:</b> The balloon arrived in Europe, specifically western coast of Spain, early in the morning on Tuesday. The first received packets were without position as it came in range prior to sunrise. The trajectory above, which matches the prediction, was reconstructed from backlogged data received during the day.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXbEwUcMORdtCR1TIIRO_4vu0AbF3jMQBZlZ440aT64GGfeXnm-9YqDSwhujCubh2ULogSwHMpzwPOeOM2CU86DtxNednhMs_ZAybXFclOJNJpiZ5WnG8JyUfhZiQxBfnpaEd6MvSITG4/s1600/prediction+1015+23UTC+hysplit+072+6h.gif" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXbEwUcMORdtCR1TIIRO_4vu0AbF3jMQBZlZ440aT64GGfeXnm-9YqDSwhujCubh2ULogSwHMpzwPOeOM2CU86DtxNednhMs_ZAybXFclOJNJpiZ5WnG8JyUfhZiQxBfnpaEd6MvSITG4/s200/prediction+1015+23UTC+hysplit+072+6h.gif" width="161" height="200" data-original-width="1286" data-original-height="1600" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfX9Fei9OCdtSUPa5yvNtPhtHumPYoL8juNLEb-DjpMlaiIKS5x8jB7BV-4W5Ff5HzLMcamekV2iQlk00mmyjPBj-B0co1hxkXWepIa66NgkzSlGR2TEZMIQIvQNDdly4EAvJmz2vHcTU/s1600/weather+cloud+tops+20191016+00z+02.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfX9Fei9OCdtSUPa5yvNtPhtHumPYoL8juNLEb-DjpMlaiIKS5x8jB7BV-4W5Ff5HzLMcamekV2iQlk00mmyjPBj-B0co1hxkXWepIa66NgkzSlGR2TEZMIQIvQNDdly4EAvJmz2vHcTU/s320/weather+cloud+tops+20191016+00z+02.png" width="295" height="200" data-original-width="1127" data-original-height="765" /></a>
</div>
The balloon could possibly be received early in the morning at the coast of Algeria. If not, the next time it is predicted to be in range of receivers is on Friday above the eastern part of the Mediterranean Sea by which time it will have completed its first circumnavigation. The cloud tops are predicted to stay below 12km on the balloon's path with the most active regions being under the balloon at the time of writing.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIo7US_shUXarWNqwZl5YaOhTYDwQzr1ZBO6f57UQg1sPH3SBEJ6xyY1NLeNp9LqOajcUZetwIQ37wf6rMk2EHOrq93cHSfFTpX81NYV_ntnUpgcs0LEEiXlwTH6hSEHkxo9GoATLu6t4/s1600/APRS+receivers+relaunch+39.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIo7US_shUXarWNqwZl5YaOhTYDwQzr1ZBO6f57UQg1sPH3SBEJ6xyY1NLeNp9LqOajcUZetwIQ37wf6rMk2EHOrq93cHSfFTpX81NYV_ntnUpgcs0LEEiXlwTH6hSEHkxo9GoATLu6t4/s200/APRS+receivers+relaunch+39.jpg" width="200" height="141" data-original-width="1149" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXlRW2lzhnT0vx28nu_eEGHefrQ7n9Q-5CBNPRatlicAxovxHn0WiQUHwyU1p6Jw2aXePoJ8wTiSglwX3LcgT3rP9tLzZtOBYnTxU_89c6xyeKArormM8wL9oJfQOVwrwAT5_zQKZwaDc/s1600/APRS+receivers+relaunch+43.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXlRW2lzhnT0vx28nu_eEGHefrQ7n9Q-5CBNPRatlicAxovxHn0WiQUHwyU1p6Jw2aXePoJ8wTiSglwX3LcgT3rP9tLzZtOBYnTxU_89c6xyeKArormM8wL9oJfQOVwrwAT5_zQKZwaDc/s200/APRS+receivers+relaunch+43.jpg" width="200" height="141" data-original-width="1151" data-original-height="809" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaJdhx1pTc-NK1FhQjiQmNktEXq6m1fLgxwp5iOlfEEg9UdGaz95ZIYVWbW788wT_AoPIrLDl9Uq0OBVOBmszZHnPPyWw8f-_QfMiOAHH9CnzCOq8r5Y-vwVhtRfUkQs1CyeMAG-Q6cyU/s1600/APRS+receivers+relaunch+47.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaJdhx1pTc-NK1FhQjiQmNktEXq6m1fLgxwp5iOlfEEg9UdGaz95ZIYVWbW788wT_AoPIrLDl9Uq0OBVOBmszZHnPPyWw8f-_QfMiOAHH9CnzCOq8r5Y-vwVhtRfUkQs1CyeMAG-Q6cyU/s200/APRS+receivers+relaunch+47.jpg" width="200" height="141" data-original-width="1149" data-original-height="808" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi19SPUmSgO8kor92baMTwJm74MxkKww9qYJknobV8xulN1KLIHFYyKAtbUtiZuy30h9uhq6XnHTzmCQ_bMecrsSXa1ciXAXQbmaXnyxT6L1udwhd3X-A4BkN4HglagO1gds1d4KPbYwDE/s1600/APRS+receivers+relaunch+51.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi19SPUmSgO8kor92baMTwJm74MxkKww9qYJknobV8xulN1KLIHFYyKAtbUtiZuy30h9uhq6XnHTzmCQ_bMecrsSXa1ciXAXQbmaXnyxT6L1udwhd3X-A4BkN4HglagO1gds1d4KPbYwDE/s200/APRS+receivers+relaunch+51.jpg" width="200" height="141" data-original-width="1149" data-original-height="810" /></a>
</div>
<b>Days 15-19:</b> The balloon entered an area with very slow winds at its float altitude and didn't follow the prediction very much this time. It spent the days slowly drifting east over the Mediterranean Sea until after almost 18 days afloat and more than 36 thousand kilometers, it flew over the same meridian it had been launched from and thus completed its first circumnavigation of the Northern Hemisphere. Unfortunately, the tracker began to experience difficulties obtaining GPS fix for some unknown reason in the last few days. This results in prolonged active time and higher overall consumption shortening the tracker's potential lifespan.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_AlFh20TR_qo314CUSUBCmSMxsZGb3QSloUYPDHsCer6c4y8gB_6y9D8feObmZ8ZBw0fnDhhWDzHYqa9Ygb_Esq9IOk9Q02J7iykX3iEV5UAf73553q5M3tX0brzQ-CH1ibSKkDyoDEA/s1600/prediction+1019+11UTC+hysplit+072+6h.gif" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_AlFh20TR_qo314CUSUBCmSMxsZGb3QSloUYPDHsCer6c4y8gB_6y9D8feObmZ8ZBw0fnDhhWDzHYqa9Ygb_Esq9IOk9Q02J7iykX3iEV5UAf73553q5M3tX0brzQ-CH1ibSKkDyoDEA/s200/prediction+1019+11UTC+hysplit+072+6h.gif" width="161" height="200" data-original-width="1286" data-original-height="1600" /></a>
</div>
In the upcoming days the balloon is predicted to continue drift east still at a relatively slow pace. It should stay within the coverage of receivers for two more days before it leaves Europe for Asia.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZlIB2ww1POEnEN5L3sDPEWLKVADG0hX-J-mEF0bszOd7tQmsjaQPsaX70SbhNG7ZegsyCHZCIdmRGikLNtPZ-4cBHapAmAwWhPHqvBrkPyL90QeL-iK3WS80BnM02Ls-gJhe7B53roxY/s1600/APRS+receivers+relaunch+55.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZlIB2ww1POEnEN5L3sDPEWLKVADG0hX-J-mEF0bszOd7tQmsjaQPsaX70SbhNG7ZegsyCHZCIdmRGikLNtPZ-4cBHapAmAwWhPHqvBrkPyL90QeL-iK3WS80BnM02Ls-gJhe7B53roxY/s200/APRS+receivers+relaunch+55.jpg" width="200" height="141" data-original-width="1149" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizJyCgFmJniLqjkmGSs8FmgysccQF1qoSwCa4ds3mmQmpyzNgTKoGFBBEXKk1zjIKLEycHU7p_5GgOoPlsYHw8zVO-EATbpaiSMhXQ2lVN3_d6eY4GBBMn6NWPCzPPE5JA8rjqu_lm9RM/s1600/weather+satellite+relaunch+72.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizJyCgFmJniLqjkmGSs8FmgysccQF1qoSwCa4ds3mmQmpyzNgTKoGFBBEXKk1zjIKLEycHU7p_5GgOoPlsYHw8zVO-EATbpaiSMhXQ2lVN3_d6eY4GBBMn6NWPCzPPE5JA8rjqu_lm9RM/s200/weather+satellite+relaunch+72.jpg" width="200" height="150" data-original-width="1000" data-original-height="750" /></a>
</div>
<b>Days 19-20:</b> The balloon continued its journey over Turkey, but probably due to the mountainous character of the terrain down below and decreasing number of stations was received only the first day. The satellite images show some thunderstorms over the region during the second day, but the cloud tops prediction didn't suggest anything dangerous at the balloon's altitude.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgppqNV6qpINZGi5QR72eXFA4TiqYj4xdprkfcjW626fFvwltfAEdW_Kl0ogK1S3xzfiU9KendJJKc_qfhge8jdMVPIN2EMQgA6DQJhW52zhG039sk4aKx3quwzjl0X8TijyVxYoFuqhrI/s1600/chart+TT7B2+relaunch+data+07.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgppqNV6qpINZGi5QR72eXFA4TiqYj4xdprkfcjW626fFvwltfAEdW_Kl0ogK1S3xzfiU9KendJJKc_qfhge8jdMVPIN2EMQgA6DQJhW52zhG039sk4aKx3quwzjl0X8TijyVxYoFuqhrI/s200/chart+TT7B2+relaunch+data+07.png" width="200" height="120" data-original-width="1034" data-original-height="621" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSHF-Mx1oBvE8vD8KZJeOYQvpqln1Zvs7iTqxXbfUCQwoao1YWa0VIv_LxnhsFPxGRtoe9Mul1C-3usV9VT4UY18iO7zInLjWk2AsUQbxf0Rye6gGTmjRxDqSbeLp2-NWFwgfmrmD5HUA/s1600/chart+TT7B2+relaunch+data+09.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSHF-Mx1oBvE8vD8KZJeOYQvpqln1Zvs7iTqxXbfUCQwoao1YWa0VIv_LxnhsFPxGRtoe9Mul1C-3usV9VT4UY18iO7zInLjWk2AsUQbxf0Rye6gGTmjRxDqSbeLp2-NWFwgfmrmD5HUA/s200/chart+TT7B2+relaunch+data+09.png" width="200" height="120" data-original-width="1032" data-original-height="619" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_Sk3jJUYqFc931UwJ1xcAJynNKWCFaO5NYbtLfEe_ngHnCs16wMrFdATcUK5ZIXqcD6CMd6et7r8LBn4hpPLoQ0eSpGpas_zpO9lZ_Gmzu1tke-LogxyGMwD8QlS9A9ER_SWp2ve939g/s1600/chart+TT7B2+relaunch+data+08.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_Sk3jJUYqFc931UwJ1xcAJynNKWCFaO5NYbtLfEe_ngHnCs16wMrFdATcUK5ZIXqcD6CMd6et7r8LBn4hpPLoQ0eSpGpas_zpO9lZ_Gmzu1tke-LogxyGMwD8QlS9A9ER_SWp2ve939g/s200/chart+TT7B2+relaunch+data+08.png" width="200" height="120" data-original-width="1032" data-original-height="620" /></a>
</div>
The previously mentioned issues with GPS fix acquisition unfortunately persisted and began to show up in the battery voltage levels as can be seen in the chart above. Aside from increased power consumption, it also led to a decreased accuracy and a number of obvious erroneous position reports (altitude ~30,000m kilometers away from the last report) which were removed from the data set. The issue could possibly be related to the low temperatures as the number of failed fixes seems to be the highest during mornings and evenings. The last chart shows the reported altitude to steadily decrease by more than a kilometer at one point during the latest night (as the temperature was relatively high that night, the GPS module remained responsive). Although the pressure sensor data can't be used to verify this either, I suspect the gradual decrease in altitude was also an error of the GPS module rather than an actual descent.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2xTRVBfCFeMA_ow-VHb2s7F51BQRIMH2T3857mwoKdLlHOL9kXVCF5e9W6XnIaqbTuuu4q-zDIbZO2rczOTiFvPk5l2EFUtk3S3V13S-Y1MuArCcAEI3GmfSOmsCsddbC7xgr79rYWFA/s1600/prediction+1020+23UTC+hysplit+120.gif" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2xTRVBfCFeMA_ow-VHb2s7F51BQRIMH2T3857mwoKdLlHOL9kXVCF5e9W6XnIaqbTuuu4q-zDIbZO2rczOTiFvPk5l2EFUtk3S3V13S-Y1MuArCcAEI3GmfSOmsCsddbC7xgr79rYWFA/s200/prediction+1020+23UTC+hysplit+120.gif" width="161" height="200" data-original-width="1287" data-original-height="1600" /></a>
</div>
If the tracker remains operational, it is predicted to show up again in eastern China during the night from Thursday to Friday, or over northern Japan the following night. The cloud tops predictions for the upcoming days don't suggest any potential issues on the balloon's path.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8ziG191lzhdXx4wi7EsFTv-TYj9vFVUG0uDuJYDP7a2Hj409Pa0I2ahSxAstmlMnV7dp2V_YJxHE8uucIfTTfA0m6MicOwYsKPFWuPDEB-My1nQDZmogcOM05ANHSdZNTgkk_ooIJcCU/s1600/APRS+backlog+03.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8ziG191lzhdXx4wi7EsFTv-TYj9vFVUG0uDuJYDP7a2Hj409Pa0I2ahSxAstmlMnV7dp2V_YJxHE8uucIfTTfA0m6MicOwYsKPFWuPDEB-My1nQDZmogcOM05ANHSdZNTgkk_ooIJcCU/s200/APRS+backlog+03.jpg" width="200" height="145" data-original-width="1092" data-original-height="791" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivWrh2SBu_EGXXxi9aZpU8pvd0C7zZZwVBx9QM3zE7nyg6Z-eBTL4NRFFltXYmds8luGpgbIFWIfYNslJ1nsUK1pBMsT3SSwaZVnYIP9cf0EYFept-n9Zf0PiTdALvBQT0gnx9CL1znj0/s1600/APRS+receivers+relaunch+59.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivWrh2SBu_EGXXxi9aZpU8pvd0C7zZZwVBx9QM3zE7nyg6Z-eBTL4NRFFltXYmds8luGpgbIFWIfYNslJ1nsUK1pBMsT3SSwaZVnYIP9cf0EYFept-n9Zf0PiTdALvBQT0gnx9CL1znj0/s200/APRS+receivers+relaunch+59.jpg" width="200" height="141" data-original-width="1150" data-original-height="809" /></a>
</div>
<b>Days 21-24:</b> The balloon showed up in eastern China as predicted. No issues with the GPS fix acquisition were observed, but that may have been due to just a limited amount of packets that were received. I am not sure whether the APRS traffic in China is so high that only a fraction of packets make it through, or whether that is due to the existing receivers not being ideally positioned.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhckDrj8SQLOQlFEdhyphenhyphensIyJDyPz6Pf83qgl3P2ZgTTH5pqP4vPTsTCrexwhw2JgMw0y5BMDE2dKYeR8jVQGPLLJMKWvTUuTHQhrir9F1xrIWkxpP2BGyGYJil3vQDWzEuLiojAkDOTXxzM/s1600/prediction+1024+23UTC+hysplit+120.gif" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhckDrj8SQLOQlFEdhyphenhyphensIyJDyPz6Pf83qgl3P2ZgTTH5pqP4vPTsTCrexwhw2JgMw0y5BMDE2dKYeR8jVQGPLLJMKWvTUuTHQhrir9F1xrIWkxpP2BGyGYJil3vQDWzEuLiojAkDOTXxzM/s200/prediction+1024+23UTC+hysplit+120.gif" width="161" height="200" data-original-width="1286" data-original-height="1600" /></a>
</div>
As the winds won't take the balloon close enough to Japan this time, the next potential reception is expected to be during the night from Sunday to Monday over Alaska. Although, the actual path may take the balloon too far from either Anchorage or Fairbanks, so that the balloon may not be heard until a day later over the west coast of Canada. There are no high clouds expected on the balloon's path during its travels over the Pacific.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkFDEyt0fV-oTof3facmRamo8ZYuiOJ93vENgwkNDUqMm2DShy33eIh_fIwFGiu3h7m7Pg7-Bvz3jQGwpOlpBjsjOOD4SE6QTHC6Q1kq6uHWWPbCMhJFCtD2Xl_8U3HpK0JkILcJ94Xq4/s1600/APRS+receivers+relaunch+63.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkFDEyt0fV-oTof3facmRamo8ZYuiOJ93vENgwkNDUqMm2DShy33eIh_fIwFGiu3h7m7Pg7-Bvz3jQGwpOlpBjsjOOD4SE6QTHC6Q1kq6uHWWPbCMhJFCtD2Xl_8U3HpK0JkILcJ94Xq4/s200/APRS+receivers+relaunch+63.jpg" width="200" height="141" data-original-width="1149" data-original-height="810" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiROJRWaWwPuuUOyAYkefwMu2VOm8reLmk6cLl00iY-RUID9zmlquq2BYqppK167n5v5y1TCfW3drgCmQ-lq-Hz-UD-z7t5RfNjOqu3TQlvdplyJH9En8bI6QFzJq4-mWA6U7vJrhT3sRY/s1600/APRS+backlog+04.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiROJRWaWwPuuUOyAYkefwMu2VOm8reLmk6cLl00iY-RUID9zmlquq2BYqppK167n5v5y1TCfW3drgCmQ-lq-Hz-UD-z7t5RfNjOqu3TQlvdplyJH9En8bI6QFzJq4-mWA6U7vJrhT3sRY/s200/APRS+backlog+04.jpg" width="252" height="141" data-original-width="1439" data-original-height="808" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0kWi4fPbK902y3lgos_IW73zLpNYGrLyY6fHCU5Smj4AJ0LDjtJ4NirrGLXolbkZg1gse8cyIFr-1G5z33xH52NLxPsLRzENhZr-JxOWGj_igPtsWrzJAy4BU6CHsIfLTr6b2UI3-wgc/s1600/APRS+receivers+relaunch+67.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0kWi4fPbK902y3lgos_IW73zLpNYGrLyY6fHCU5Smj4AJ0LDjtJ4NirrGLXolbkZg1gse8cyIFr-1G5z33xH52NLxPsLRzENhZr-JxOWGj_igPtsWrzJAy4BU6CHsIfLTr6b2UI3-wgc/s200/APRS+receivers+relaunch+67.jpg" width="200" height="141" data-original-width="1150" data-original-height="809" /></a>
</div>
<b>Days 25-28:</b> Unexpectedly, the balloon showed up over Kamchatka where a few packets were received by an iGate near Petropavlovsk. As I've never seen an iGate there before, it came as a surprise. On the other hand, its path over Alaska took it too far from both Anchorage and Fairbanks, so it took it a day more to be received again this time in the northern part of British Columbia.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmbkCuS1t01WDnKjvu9T3fDWWtW2xaz0W4BF6MxELi0xcxwdywsaI-slMim0jtnLJHeiwAToxWZJTDRYPH-JH6OdqUd2PsU4aPxnhCL_bVXZ-skNVDerH3gs4hkU-7AOpWL83Rb5eG1Fg/s1600/chart+TT7B2+relaunch+data+10.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmbkCuS1t01WDnKjvu9T3fDWWtW2xaz0W4BF6MxELi0xcxwdywsaI-slMim0jtnLJHeiwAToxWZJTDRYPH-JH6OdqUd2PsU4aPxnhCL_bVXZ-skNVDerH3gs4hkU-7AOpWL83Rb5eG1Fg/s320/chart+TT7B2+relaunch+data+10.png" width="297" height="141" data-original-width="1338" data-original-height="636" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifDbu6gpp_AOVdie9cyR2YJ0wlqubVL-5axS1D3__0Nhp1CBqKymX0WqzgU5pFIG8aZiT-sxAA9PDZicMR_2JUxqlZfTrvH5-et76Jego9goWfBQkjTjfutOKg5eT6o66Ky5e4lcKrHWw/s1600/chart+TT7B2+relaunch+data+11.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifDbu6gpp_AOVdie9cyR2YJ0wlqubVL-5axS1D3__0Nhp1CBqKymX0WqzgU5pFIG8aZiT-sxAA9PDZicMR_2JUxqlZfTrvH5-et76Jego9goWfBQkjTjfutOKg5eT6o66Ky5e4lcKrHWw/s320/chart+TT7B2+relaunch+data+11.png" width="297" height="141" data-original-width="1339" data-original-height="637" /></a>
</div>
The balloon's visit to very high latitudes followed by its return south can be seen in the first slowly decreasing then again increasing altitude data during the last several days. As the individual atmospheric layers are at lower altitudes at the poles than they are at the equator, the balloon too generally floats at slightly lower altitudes when higher in terms of latitude than when flying closer to the equator.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBFTF-PqX0LOV4WzMNqRT9EkKTCtf4qIA23gxPsGizg4FQSJqW8KhMzYzkhP1Yx-s4KO6jZ_AvqWJRKpGNFfVvLky9C3zFtKgcdrRG7BPxWuPTlTwRoVjjdXPAszKraXOe63wgszv64TA/s1600/Google+Earth+polar+view+06+02.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBFTF-PqX0LOV4WzMNqRT9EkKTCtf4qIA23gxPsGizg4FQSJqW8KhMzYzkhP1Yx-s4KO6jZ_AvqWJRKpGNFfVvLky9C3zFtKgcdrRG7BPxWuPTlTwRoVjjdXPAszKraXOe63wgszv64TA/s320/Google+Earth+polar+view+06+02.jpg" width="200" height="200" data-original-width="700" data-original-height="700" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUuN5HkpOBMNVG1Z0WwP5OmzU1rlWo-7KjXnYY6sWCh33UtLcmJBssW7UAPR4uRiGCd9NKe-q0KneN6cRWBZOmf3abZl5fgOjX3tx3cDFd2wWha7O1S-oAj7AJKnpDnYcQG1iwgWYvGTE/s1600/prediction+1029+01UTC+hysplit+240.gif" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUuN5HkpOBMNVG1Z0WwP5OmzU1rlWo-7KjXnYY6sWCh33UtLcmJBssW7UAPR4uRiGCd9NKe-q0KneN6cRWBZOmf3abZl5fgOjX3tx3cDFd2wWha7O1S-oAj7AJKnpDnYcQG1iwgWYvGTE/s200/prediction+1029+01UTC+hysplit+240.gif" width="161" height="200" data-original-width="1286" data-original-height="1600" /></a>
</div>
After the tracker sent its last packet when the Sun set in western Canada, it was supposed to travel further south and show up with sunrise in Nevada. However, it never did nor the next day. Since the area over which it was supposed to travel during those two days is very well covered by receivers, something must have happened to either the balloon or the tracker during the night. It was quite unexpected, because the battery voltage data didn't show any signs of the end of the battery's life. Should the balloon defy all odds and be received again, the above is a prediction for the upcoming 10 days. Otherwise, the image on the left provides TT7B2's complete trajectory as reconstructed from all received backlogged and live data shown in polar view.<br />
<br />
<div align="center">
<iframe height="480" src="https://www.google.com/maps/d/embed?mid=1ZRNv4xKcViw87hDeP05jVUmW6WoI4ewT" width="640"></iframe><br /></div>
<br />
The map shows the balloon's trajectory completed with datapoints from received backlogs. The distance covered so far is 57,355km in 27.8 days.<br />
<br />
All the received APRS packets can be found in this text file: <a href="https://drive.google.com/file/d/1ohXdQvCwv2tYG6SCzafZZ_e5QSToM50M/view?usp=sharing">TT7B2_relaunch_packets.txt</a><br />
And all the decoded live and backlogged data can be found in this csv file: <a href="https://drive.google.com/file/d/1fh2RHKZBgl-GJYs-RE8zRjzReRQC6Lun/view?usp=sharing">TT7B2_relaunch_data.csv</a><br />TT7http://www.blogger.com/profile/11095378058232471221noreply@blogger.com3tag:blogger.com,1999:blog-7063183727921268380.post-63276702738511440812019-09-21T03:23:00.000+02:002019-09-22T01:59:43.859+02:00The TT7B1 Relaunch<style type="text/css">
.tg {border-collapse:collapse;border-spacing:0;border-color:#ccc;}
.tg td{font-family:Arial, sans-serif;font-size:12px;padding:5px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#ccc;color:#333;background-color:#fff;}
.tg th{font-family:Arial, sans-serif;font-size:12px;font-weight:normal;padding:5px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#ccc;color:#333;background-color:#f0f0f0;}
.tg .tg-amwm{font-weight:bold;text-align:center;vertical-align:top}
.tg .tg-yw47{vertical-align:top;text-align:left;}
.tg .tg-lyy6{text-align:right;vertical-align:top}
.collapsible{background-color: #eee;color: #444;cursor: pointer;padding: 8px;width: 100%;border: none;text-align: left;outline: none;font-size: 13px;transition: 0.3s;}
.panel{padding: 0 18px;max-height: 0;overflow: hidden;background-color: #f1f1f1;transition: max-height 0.2s ease-out;}
.active, .collapsible:hover{background-color: #ccc;}
.collapsible:after{content: '\002B';color: #777;font-weight: bold;float: right;margin-left: 5px;}
.active:after{content: "\2212";}
pre{display: block;font-family: monospace;white-space: pre;margin: 1em 0;tab-width: 4;}
code{background: #e9e9e9;}
</style>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4HOIusmjVgxvXyllKLIFJLNC0DubIPlvAjFXsYTDYMDxDuC7pugrSHZP7ai_7ID8w4UjNzzoeGD64EGRlQJX9XzZcRX2idLnHRfpR3V5nC15dK5pcH3eMfE8hOTBK_6N9Ca8xT_ymD4E/s1600/IMG_4396+TT7B1+balloon.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4HOIusmjVgxvXyllKLIFJLNC0DubIPlvAjFXsYTDYMDxDuC7pugrSHZP7ai_7ID8w4UjNzzoeGD64EGRlQJX9XzZcRX2idLnHRfpR3V5nC15dK5pcH3eMfE8hOTBK_6N9Ca8xT_ymD4E/s200/IMG_4396+TT7B1+balloon.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpw2ZU6JC5xMirRZfid_tlO9nRSkbriRTFn4pLvkueLxJ8N08W-7b6intA0KhUNfrKXnrxMVluS2ljgFVNsico15OqBFHeK3VhDX_7K0LSs_7MHMOkH9G06RUtW_-5NEp-UPC3AD7FSXA/s1600/IMG_4397+TT7B1+balloon.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpw2ZU6JC5xMirRZfid_tlO9nRSkbriRTFn4pLvkueLxJ8N08W-7b6intA0KhUNfrKXnrxMVluS2ljgFVNsico15OqBFHeK3VhDX_7K0LSs_7MHMOkH9G06RUtW_-5NEp-UPC3AD7FSXA/s200/IMG_4397+TT7B1+balloon.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a>
</div>
<b>Date:</b> 2019-09-21<br />
<b>Time:</b> 07:00 GMT (09:00 CEST)<br />
<b>Place:</b> Roznov pod Radhostem, CZ<br />
<b>Tracking:</b> <a href="https://aprs.fi/#!call=a%2FOK7DMT-1&timerange=604800&tail=604800">http://aprs.fi</a><br />
<br />
This is a relaunch of the <a href="https://tt7hab.blogspot.com/2019/09/the-tt7b1-flight.html">TT7B1</a> tracker that ended up in treetops about a week ago under a new envelope.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm" colspan="3">Transmissions</th>
</tr>
<tr>
<th class="tg-yw47">Type</th>
<td colspan="2" align="center">APRS</td>
</tr>
<tr>
<th class="tg-yw47">Callsign</th>
<td align="center" colspan="2">OK7DMT-1</td>
</tr>
<tr>
<th class="tg-yw47">Frequency</th>
<td class="tg-lyy6">144.39-145.57</td>
<td class="tg-yw47">MHz</td>
</tr>
<tr>
<th class="tg-yw47">Period</th>
<td class="tg-lyy6">2</td>
<td class="tg-yw47">min</td>
</tr>
<tr>
<th class="tg-yw47">Transmit Power</th>
<td class="tg-lyy6">12.5</td>
<td class="tg-yw47">mW</td>
</tr>
</tbody></table>
<br />
The packets are a combination of Base91 encoded position and custom telemetry data in the comment section of the packet. An online decoder and example packets can be found at this <a href="https://tomastt7.github.io/aprs/">link</a>. The tracker transmits on local APRS frequencies. In case of GPS failure, telemetry without position is transmitted. Packets also contain backlogged data from the past 7 days.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm" colspan="3">Flight Parameters</th>
</tr>
<tr>
<th class="tg-yw47">Lifting Gas</th>
<td align="center" colspan="2">hydrogen</td>
</tr>
<tr>
<th class="tg-yw47">Envelope Volume</th>
<td class="tg-lyy6">~0.430</td>
<td class="tg-yw47">m<sup>3</sup></td>
</tr>
<tr>
<th class="tg-yw47">Envelope Mass</th>
<td class="tg-lyy6">116.0</td>
<td class="tg-yw47">g</td>
</tr>
<tr>
<th class="tg-yw47">Payload Mass</th>
<td class="tg-lyy6">18.6</td>
<td class="tg-yw47">g</td>
</tr>
<tr>
<th class="tg-yw47">Free Lift</th>
<td class="tg-lyy6">7.2</td>
<td class="tg-yw47">g</td>
</tr>
<tr>
<th class="tg-yw47">Neck Lift</th>
<td class="tg-lyy6">25.8</td>
<td class="tg-yw47">g</td>
</tr>
<tr>
<th class="tg-yw47">Initial Ascent Rate</th>
<td class="tg-lyy6">0.90</td>
<td class="tg-yw47">m/s</td>
</tr>
<tr>
<th class="tg-yw47">Expected Float Altitude</th>
<td class="tg-lyy6">11930</td>
<td class="tg-yw47">m</td>
</tr>
</tbody></table>
<br />
The balloon on this flight was a Mylar balloon shaped envelope 1.35m in diameter (flat) from a 40μm multilayer (PE/PA/EVOH/PA/PE) film. The making of the envelope is in detail described in <a href="https://tt7hab.blogspot.com/2019/09/the-superpressure-balloons-vol-3.html">this</a> blog post. A <a href="https://tomastt7.github.io/superpressure/">calculator</a> was used to obtain the flight parameters based on previously measured envelope volume, mass and payload mass. Due to issues with the pressurizing rig and short time, the balloon volume was not measured. Since the envelope was made with the same process, a figure from the previous balloon was used. Latest atmospheric sounding data (Prostejov, 20190921 0:00Z) were used to calculate the expected float altitude.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhW1xNBDwnaurpMo3FbMDaVxjAEXK7EItwCokgunE3uJGRmkH48A1ohWiL12D3cNuhigcKJ-tjxTx_G7QKqYAz5IFbryu8l1d2DxX2Hq4IxgXb0YBknYbX9K0xeGL2tE3WxtyV_x_WxcSA/s1600/initial+prediction+04+cusf.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhW1xNBDwnaurpMo3FbMDaVxjAEXK7EItwCokgunE3uJGRmkH48A1ohWiL12D3cNuhigcKJ-tjxTx_G7QKqYAz5IFbryu8l1d2DxX2Hq4IxgXb0YBknYbX9K0xeGL2tE3WxtyV_x_WxcSA/s320/initial+prediction+04+cusf.jpg" width="274" height="200" data-original-width="1081" data-original-height="792" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtHjN_wAG841xNo4Zs7RYHR4cZXVnGoWVQZ8WsgDt2AS67hPhbBho35xTd9L_7DG7kKk5IhGzGRpnU0atQ9Pm1xZSyC7otCyCavDtZohwSaTOD0oiRuEb1mHOiiPGm2CfDE8SL26ZmaYU/s1600/initial+prediction+04+hysplit.gif" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtHjN_wAG841xNo4Zs7RYHR4cZXVnGoWVQZ8WsgDt2AS67hPhbBho35xTd9L_7DG7kKk5IhGzGRpnU0atQ9Pm1xZSyC7otCyCavDtZohwSaTOD0oiRuEb1mHOiiPGm2CfDE8SL26ZmaYU/s200/initial+prediction+04+hysplit.gif" width="161" height="200" data-original-width="1286" data-original-height="1600" /></a>
</div>
Initial ascent trajectory was modeled with <a href="http://predict.habhub.org/">CUSF</a> Landing Predictor, while the long term float predictions with <a href="https://ready.arl.noaa.gov/hypub-bin/trajtype.pl">HYSPLIT</a> Trajectory Model. The HYSPLIT prediction contains three altitude levels. One 500m below and another 500m above the expected float altitude.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEZmWaMxERTM4zVAH_TdEd9oRY1uzIs4wH53HmXT2ztDOZWInKEagJEEVhK_1v35_FFsYGkhyxM-j1QEJo8LpBtGCxWzKftjB_PmxXVvN0paBIumJ9eGP1kBvHMqz86Vs7i8azAyPQPz8/s1600/IMG_4311+additional+epoxy.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEZmWaMxERTM4zVAH_TdEd9oRY1uzIs4wH53HmXT2ztDOZWInKEagJEEVhK_1v35_FFsYGkhyxM-j1QEJo8LpBtGCxWzKftjB_PmxXVvN0paBIumJ9eGP1kBvHMqz86Vs7i8azAyPQPz8/s200/IMG_4311+additional+epoxy.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVflkjlucn1QdJ4KrIVj6ocye5mDNb7KrF7RpJwZCqTg-bjpBt_vYVaHCrIvsVZoJAwW5MtmdGcWzmqgtXhdbsbraY2untUTt_f0G1F9OEy1ZkGNkD5tOTJfikl3UMQP8IjBnIzm0KI0s/s1600/IMG_4317+TT7B1+tracker.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVflkjlucn1QdJ4KrIVj6ocye5mDNb7KrF7RpJwZCqTg-bjpBt_vYVaHCrIvsVZoJAwW5MtmdGcWzmqgtXhdbsbraY2untUTt_f0G1F9OEy1ZkGNkD5tOTJfikl3UMQP8IjBnIzm0KI0s/s200/IMG_4317+TT7B1+tracker.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxpYKZs0ANdWZfWdJiBdMc-vNVAvRy_hS03LuB5Lzc3_kvaFbRNRLMOe0YiP2cAJfQx9ECooLWuTsPHhCi3zK0pMt2oom5nwTKeKhryUvPCgo4xfDcWjl-1z5_GjOaLafa-pa7L8j2vqs/s1600/IMG_4324+TT7B1+tracker.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxpYKZs0ANdWZfWdJiBdMc-vNVAvRy_hS03LuB5Lzc3_kvaFbRNRLMOe0YiP2cAJfQx9ECooLWuTsPHhCi3zK0pMt2oom5nwTKeKhryUvPCgo4xfDcWjl-1z5_GjOaLafa-pa7L8j2vqs/s200/IMG_4324+TT7B1+tracker.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNOKkgt8hQdqogh6CsEijY0nNSRUrBX2DFJQt4HRkxXv3CSZ9DUidc4XivmT2TbwTidp-BCa4Py27gPbo_3cVPiLSX40RPAKhMMNmWWpnWQ8dTSQW8UJJ7Xla4rTETWqH2aQnCq6oDA00/s1600/IMG_4327+TT7B1+tracker.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNOKkgt8hQdqogh6CsEijY0nNSRUrBX2DFJQt4HRkxXv3CSZ9DUidc4XivmT2TbwTidp-BCa4Py27gPbo_3cVPiLSX40RPAKhMMNmWWpnWQ8dTSQW8UJJ7Xla4rTETWqH2aQnCq6oDA00/s200/IMG_4327+TT7B1+tracker.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgM91mwhqMdHlKrq0y6yTEXSxCkO8xa2_sS3ludG1sV8nu2l_yBPCJFwQEFwzvg6qZ0k2Cmdvcw5LuMhw_sWoHEARoSNRVkBmN0kRC-qMGWXXOSzVJJ2DDFOnNrbwB9s7s9M9YfAtSvd64/s1600/IMG_4345+TT7B1+tracker.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgM91mwhqMdHlKrq0y6yTEXSxCkO8xa2_sS3ludG1sV8nu2l_yBPCJFwQEFwzvg6qZ0k2Cmdvcw5LuMhw_sWoHEARoSNRVkBmN0kRC-qMGWXXOSzVJJ2DDFOnNrbwB9s7s9M9YfAtSvd64/s200/IMG_4345+TT7B1+tracker.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmrlOYIv6LKm_m-DvNDxjsfd4y6SCFp9u9yrESZpbglXxBlcVgGaEk1_HhlnSY2_gWpsy20z-cVdpwcnfrwGmQV3X11t1He2jnn0_ZxxreloPYRQENhiNLsEvRSQl2uV8gXgK5MD0iWxU/s1600/IMG_4354+TT7B1+tracker.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmrlOYIv6LKm_m-DvNDxjsfd4y6SCFp9u9yrESZpbglXxBlcVgGaEk1_HhlnSY2_gWpsy20z-cVdpwcnfrwGmQV3X11t1He2jnn0_ZxxreloPYRQENhiNLsEvRSQl2uV8gXgK5MD0iWxU/s200/IMG_4354+TT7B1+tracker.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEmQyKY5lZ2W1tEW6DUGLnNLd7ZoxATg1yHvCjC17ei-NyDKtGmO0rbGy3fFHRRry2R1yuUdLbpgoGfc5oEpFNP4wYHFZKme-kjDr-MFojrVh1ovxtSbGFANnFMkrA13HgbEtKYqr9gEM/s1600/IMG_4335+TT7B1+tracker.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEmQyKY5lZ2W1tEW6DUGLnNLd7ZoxATg1yHvCjC17ei-NyDKtGmO0rbGy3fFHRRry2R1yuUdLbpgoGfc5oEpFNP4wYHFZKme-kjDr-MFojrVh1ovxtSbGFANnFMkrA13HgbEtKYqr9gEM/s200/IMG_4335+TT7B1+tracker.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoL0Dg2r3KwNGyX_37vE97EbAXdFzOhg9P8T6IaA6aVYtrsqKXOOEPgNYU1DZmEGuwwp65vLI52iDsrUdanXk_KoNVJXTIT4FxcpS4pM24GR34xY3qhwc9cCC2mwozo2aDUrZxToiyUKs/s1600/IMG_4332+TT7B1+sensor+cable.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoL0Dg2r3KwNGyX_37vE97EbAXdFzOhg9P8T6IaA6aVYtrsqKXOOEPgNYU1DZmEGuwwp65vLI52iDsrUdanXk_KoNVJXTIT4FxcpS4pM24GR34xY3qhwc9cCC2mwozo2aDUrZxToiyUKs/s200/IMG_4332+TT7B1+sensor+cable.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCCQxb5xfGITnt6apnWlEXjnXtcbt1zWAzIDD36Wd3B20xW5OxUdMvmYmlxX2fnHeHJcG05yTx81JVYdqm3wgNwt8GxqPqlayGRfM_O-tIuudC39zbdm95PqujwrwdYExs3lHcWaViD5Y/s1600/IMG_4331+TT7B1+sensors.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCCQxb5xfGITnt6apnWlEXjnXtcbt1zWAzIDD36Wd3B20xW5OxUdMvmYmlxX2fnHeHJcG05yTx81JVYdqm3wgNwt8GxqPqlayGRfM_O-tIuudC39zbdm95PqujwrwdYExs3lHcWaViD5Y/s200/IMG_4331+TT7B1+sensors.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiThI9c2uc0u_XDmtT3wpu4-Kbc2Nk792OgXanIT_AiViAmSUGlRZh3qn54olbjPc_3Gwf3elZQ5Q6RwjbIK55lJ9bT_WFg-i9mJujTiZ52iaCybX6fF1o2A1rTSvJIlTRMlStPTStqdeg/s1600/IMG_4347+TT7B1+tracker.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiThI9c2uc0u_XDmtT3wpu4-Kbc2Nk792OgXanIT_AiViAmSUGlRZh3qn54olbjPc_3Gwf3elZQ5Q6RwjbIK55lJ9bT_WFg-i9mJujTiZ52iaCybX6fF1o2A1rTSvJIlTRMlStPTStqdeg/s200/IMG_4347+TT7B1+tracker.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhb1pUXsEI3Hbrclqzk-8KXXc7VA7HVcB3jCT7JKiMS6ViloxYzq9LLAemWXPd91w84_GbEwgBtnuja1OGUDOuTEDR05SDGpbhG4mTPDBqsA2fxe1JsT8SVAEX9BBu_EoxMZrox6dVEZVI/s1600/IMG_4313+TT7B1+mass.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhb1pUXsEI3Hbrclqzk-8KXXc7VA7HVcB3jCT7JKiMS6ViloxYzq9LLAemWXPd91w84_GbEwgBtnuja1OGUDOuTEDR05SDGpbhG4mTPDBqsA2fxe1JsT8SVAEX9BBu_EoxMZrox6dVEZVI/s200/IMG_4313+TT7B1+mass.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
The design of the tracker is in detail described in <a href="https://tt7hab.blogspot.com/2018/09/the-tt7b-tracker.html">this</a> and <a href="https://tt7hab.blogspot.com/2019/03/the-tt7b-tracker-vol-2.html">this</a> blog posts. This time, the final touches consisted of securing an Energizer Ultimate Lithium AA primary battery (estimated lifetime ~60 days) to the tracker. The battery was covered in black electrical tape, and leads were soldered directly to the battery's terminals. Based on in-flight low temperature behavior of TT7B2, another layer of Glob Top epoxy was deposited on the tracker. This time, covering the whole top side including the GPS module. An initial 5 minute satellite search period was removed from the code, and the maximum duration of GPS fix reacquisition was lowered to 37 seconds. Also, minor remnants of the previous balloon remained glued to the external sensors cable as they were impossible to remove.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEht5U2gQvNl_re090cnRNd03p243pzQ8_bvil2PquU_RDIBp87ZJ5h_v-srGRriPPsCsCZ8yP-3wuU9lObjnZobkaK6LWdM3PASkcnn5wBBXOlsjgAC5lCK6YsOg6JFbMFbONhOxSbwUiI/s1600/IMG_4376+balloon+filling.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEht5U2gQvNl_re090cnRNd03p243pzQ8_bvil2PquU_RDIBp87ZJ5h_v-srGRriPPsCsCZ8yP-3wuU9lObjnZobkaK6LWdM3PASkcnn5wBBXOlsjgAC5lCK6YsOg6JFbMFbONhOxSbwUiI/s200/IMG_4376+balloon+filling.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1frvqdBQ4B9pJJK3l1Yrw3LzT4-DKsY4-o2liC8KVz3L8_SbcEp_gpfvL3-gd1X6QP-qlarynsNQ4PoRcc9oT-EnTHZa0yLDJbiULJGyIFi1m5pYPp2sDaVpEkVoUCb9bZ6S-GT3sg7w/s1600/IMG_4382+gluing+inlet.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1frvqdBQ4B9pJJK3l1Yrw3LzT4-DKsY4-o2liC8KVz3L8_SbcEp_gpfvL3-gd1X6QP-qlarynsNQ4PoRcc9oT-EnTHZa0yLDJbiULJGyIFi1m5pYPp2sDaVpEkVoUCb9bZ6S-GT3sg7w/s200/IMG_4382+gluing+inlet.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
A pressure sensor and a thermistor were sealed inside the envelope, and the gas inlet was glued shut - this time with additional layers of film. Two thin magnet wire antenna radials were fastened to the balloon's circumferential weld. The lead connecting the battery to the tracker was soldered just before the launch.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMRvc3vNCSlKela0T86G8yaDS9gYGnJMErWqZZcxyXn2XU8V1Kl496I5tRzpVbYkD6buN81yZcRfQdGVbClBn0nYJ9XfP9EEUHabMrpKhwkm5afKBsI6uJMpieosvTCu2wRc16ePM0JOA/s1600/IMG_4398+TT7B1+balloon.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMRvc3vNCSlKela0T86G8yaDS9gYGnJMErWqZZcxyXn2XU8V1Kl496I5tRzpVbYkD6buN81yZcRfQdGVbClBn0nYJ9XfP9EEUHabMrpKhwkm5afKBsI6uJMpieosvTCu2wRc16ePM0JOA/s200/IMG_4398+TT7B1+balloon.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiV6S1OOxN8z90lz_m1imbNpc_NcqBuKxdseloTxDrowtpXMNE1T4_mI8mxsZ3OlS5q53gqEIg2QwioCpq4J_BIt6q5jzWvcaExRLG5Uz4cxPsXVND0TkvdZm7JwlbKfuNJANa0nIe1WbY/s1600/IMG_4406+TT7B1+balloon.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiV6S1OOxN8z90lz_m1imbNpc_NcqBuKxdseloTxDrowtpXMNE1T4_mI8mxsZ3OlS5q53gqEIg2QwioCpq4J_BIt6q5jzWvcaExRLG5Uz4cxPsXVND0TkvdZm7JwlbKfuNJANa0nIe1WbY/s200/IMG_4406+TT7B1+balloon.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLt_0fjI82fcyxL0Yfj81nSf0Jah25MZKvseb19lXRvFPdoQ0eWMu_go5pvoQHWH9Y_As2Tnpn5KYlk2QLig-VTWKhIxeKQBAW-mPd6qqNrfFwvXVRgglqsvlJmOhJHMZG0Mu2zLsm0jM/s1600/IMG_4410+TT7B1+launch.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLt_0fjI82fcyxL0Yfj81nSf0Jah25MZKvseb19lXRvFPdoQ0eWMu_go5pvoQHWH9Y_As2Tnpn5KYlk2QLig-VTWKhIxeKQBAW-mPd6qqNrfFwvXVRgglqsvlJmOhJHMZG0Mu2zLsm0jM/s200/IMG_4410+TT7B1+launch.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcugFuexm7PRzf4Ax7mFX8OQuWlNLSE6aa_GZB3EHgQy8fMelrRGoO38Nf54ATssrPr3syxkjMrtir4nWZn_mBnDjOSFEY7cMv7BFGrFGhrRgiqWtl9w8SNOayzyfVA0Hd8D3ZIx4WNWA/s1600/IMG_4413+TT7B1+launch.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcugFuexm7PRzf4Ax7mFX8OQuWlNLSE6aa_GZB3EHgQy8fMelrRGoO38Nf54ATssrPr3syxkjMrtir4nWZn_mBnDjOSFEY7cMv7BFGrFGhrRgiqWtl9w8SNOayzyfVA0Hd8D3ZIx4WNWA/s200/IMG_4413+TT7B1+launch.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a>
</div>
<b>Day 1:</b> The balloon ascended at an average rate of 0.9m/s (maximum 1.9m/s) to an initial altitude of 10800m, about a kilometer below expectation. The initial ascent was very slow at an average of 0.66m/s to 1000m. The previous mishap, though, didn't repeat.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHNhRr4XWWGcIB_qPqQdmneLM9ANz43cdoy4ADxkVeuoyLSBR0w5TAfNiqXxRmFm9aG0MD1iqcB4v8_81Yl58hScrX6EdNsRAgMsmr-86JHhb7Yz1kOr5A4gORB1h2g10hXcXHm78gKMg/s1600/APRS+receivers+06.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHNhRr4XWWGcIB_qPqQdmneLM9ANz43cdoy4ADxkVeuoyLSBR0w5TAfNiqXxRmFm9aG0MD1iqcB4v8_81Yl58hScrX6EdNsRAgMsmr-86JHhb7Yz1kOr5A4gORB1h2g10hXcXHm78gKMg/s200/APRS+receivers+06.jpg" width="200" height="141" data-original-width="1150" data-original-height="809" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWPBu6R_xZ9EB0iXz_kwfy9fTerS3kATO19vGvR-6D9Yu2SG0mFEiiARQdQBmgipl_w-pgWDzII6q48t7xU0Ca38LTSYqbdm5GQ5HRxfRPpTOtYWLTExN1_APQ77SDRsRr5ztUkM5AqlY/s1600/weather+satellite+01.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWPBu6R_xZ9EB0iXz_kwfy9fTerS3kATO19vGvR-6D9Yu2SG0mFEiiARQdQBmgipl_w-pgWDzII6q48t7xU0Ca38LTSYqbdm5GQ5HRxfRPpTOtYWLTExN1_APQ77SDRsRr5ztUkM5AqlY/s200/weather+satellite+01.jpg" width="200" height="150" data-original-width="1000" data-original-height="750" /></a>
</div>
The balloon flew over the countries of Slovakia, Hungary and Romania. It was received by a large number of stations as these areas are well covered. The satellite images didn't show any thunderstorms nor any other high altitude clouds in the area.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvoFsF2k6sKb6RzJv_Ta0pPOxxOqNcQfvDJRZPZcw5Nh47IssiMqz4cXd9yseT_i-dLWbK7KXMJFsGi7OTtiJEaIozbPn_4Dwfx2VKXRVLASXXUrd4W4qOPsoFiRmqTJnGZUnjmPiB-C0/s1600/chart+TT7B1+data+01.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvoFsF2k6sKb6RzJv_Ta0pPOxxOqNcQfvDJRZPZcw5Nh47IssiMqz4cXd9yseT_i-dLWbK7KXMJFsGi7OTtiJEaIozbPn_4Dwfx2VKXRVLASXXUrd4W4qOPsoFiRmqTJnGZUnjmPiB-C0/s200/chart+TT7B1+data+01.png" width="200" height="120" data-original-width="1036" data-original-height="622" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgY1FDGd02C8efm_oaeeyWJIC4EIdPKyXTinkZVMfE5J4z-DH0CyczfOUop_s9R3ap3HRIrLkMdHpXO-d3kykRppTtER0hii_SA3DwI5CcmJJwZR3GnxPdVHW4ln89nwvQD2Z2ty8KSho/s1600/chart+TT7B1+data+02.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgY1FDGd02C8efm_oaeeyWJIC4EIdPKyXTinkZVMfE5J4z-DH0CyczfOUop_s9R3ap3HRIrLkMdHpXO-d3kykRppTtER0hii_SA3DwI5CcmJJwZR3GnxPdVHW4ln89nwvQD2Z2ty8KSho/s200/chart+TT7B1+data+02.png" width="200" height="120" data-original-width="1033" data-original-height="621" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimEMH2jNNWT2satWaJuAFpIUWvs4l8ezdoQ-0_PldMNIJWv2QBE5WASNTd3QhinTs6gFcOSHTAVAzV9ysdFANPSgx4EU99gSROTx4XyhcV2iY2iuoVhHP9XhdiSj-YAPrEfEYgKgCRkZg/s1600/chart+TT7B1+data+03.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimEMH2jNNWT2satWaJuAFpIUWvs4l8ezdoQ-0_PldMNIJWv2QBE5WASNTd3QhinTs6gFcOSHTAVAzV9ysdFANPSgx4EU99gSROTx4XyhcV2iY2iuoVhHP9XhdiSj-YAPrEfEYgKgCRkZg/s200/chart+TT7B1+data+03.png" width="200" height="120" data-original-width="1035" data-original-height="622" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjr0lx6O3BfolqpcY3i_dCH3DI3ylF92jt8eBVCwUMblQ-VuJOqh-QzHvClZQ0aVgZSnJa89i5aksSHRwL5HgbTF2JYiY-oXQbSwj3eHVAt1tMU5c4ZdioF95qyFHpI2wHiROjmUuBB8Bs/s1600/chart+TT7B1+data+04.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjr0lx6O3BfolqpcY3i_dCH3DI3ylF92jt8eBVCwUMblQ-VuJOqh-QzHvClZQ0aVgZSnJa89i5aksSHRwL5HgbTF2JYiY-oXQbSwj3eHVAt1tMU5c4ZdioF95qyFHpI2wHiROjmUuBB8Bs/s200/chart+TT7B1+data+04.png" width="200" height="120" data-original-width="1034" data-original-height="622" /></a>
</div>
Having seen the <a href="https://tt7hab.blogspot.com/2019/09/the-tt7b2-flight.html">TT7B2's</a> data, it became apparent shortly after the balloon began floating that it would follow the same path and eventually descend due to hydrogen leaking from the envelope. The balloon still maintained the same altitude for hours before it started its inevitable descent at 15:00 GMT. Currently, the best guess is that the glue doesn't do a good enough job sealing the inlet given the conditions. Although, other issues arising from the manufacturing process of the envelope can't be ruled out at this point.<br />
<br />
All the received APRS packets can be found in this text file: <a href="https://drive.google.com/file/d/1W2rG_3Uk6qhpZCUsEFKCb-jFnctiyH7J/view?usp=sharing
">TT7B1_packets.txt</a><br />
And all the decoded live and backlogged data can be found in this csv file: <a href="https://drive.google.com/file/d/14pNleLuH51R3zzwQQ7i2X8vtcGZzjPcZ/view?usp=sharing
">TT7B1_data.csv</a><br />TT7http://www.blogger.com/profile/11095378058232471221noreply@blogger.com1tag:blogger.com,1999:blog-7063183727921268380.post-14938342671775393992019-09-15T03:24:00.000+02:002019-09-18T18:13:21.034+02:00The TT7B2 Flight<style type="text/css">
.tg {border-collapse:collapse;border-spacing:0;border-color:#ccc;}
.tg td{font-family:Arial, sans-serif;font-size:12px;padding:5px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#ccc;color:#333;background-color:#fff;}
.tg th{font-family:Arial, sans-serif;font-size:12px;font-weight:normal;padding:5px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#ccc;color:#333;background-color:#f0f0f0;}
.tg .tg-amwm{font-weight:bold;text-align:center;vertical-align:top}
.tg .tg-yw47{vertical-align:top;text-align:left;}
.tg .tg-lyy6{text-align:right;vertical-align:top}
.collapsible{background-color: #eee;color: #444;cursor: pointer;padding: 8px;width: 100%;border: none;text-align: left;outline: none;font-size: 13px;transition: 0.3s;}
.panel{padding: 0 18px;max-height: 0;overflow: hidden;background-color: #f1f1f1;transition: max-height 0.2s ease-out;}
.active, .collapsible:hover{background-color: #ccc;}
.collapsible:after{content: '\002B';color: #777;font-weight: bold;float: right;margin-left: 5px;}
.active:after{content: "\2212";}
pre{display: block;font-family: monospace;white-space: pre;margin: 1em 0;tab-width: 4;}
code{background: #e9e9e9;}
</style>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOPaarQcsN4bPMLGrwmbqnHR20GyUObI0eRxy4JVDgCQlPil3nNOeSvq5hfz2L_BmYOeSqkUidL20Y4qMRNTvlQvQIyJp5q9VMX74M2FeNx_88tkHZ4fKQxm7DtbgyqCeJ_QaH_sQ-PZg/s1600/IMG_4294+TT7B2+tracker.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOPaarQcsN4bPMLGrwmbqnHR20GyUObI0eRxy4JVDgCQlPil3nNOeSvq5hfz2L_BmYOeSqkUidL20Y4qMRNTvlQvQIyJp5q9VMX74M2FeNx_88tkHZ4fKQxm7DtbgyqCeJ_QaH_sQ-PZg/s200/IMG_4294+TT7B2+tracker.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXctYwUZ9XNPJ0yoy_hWsaUqkTTooXkEF0x_-VTPE-mEZPneqjdQBEr0Dfn0mLZ722w1IzckvDoCCfP6lQtPWAdz7MAnKlhdnUhr_epm3EtQlMVtfKtzn2RgHHqic28nZvQqhXIg299Vk/s1600/IMG_4303+TT7B2+launch.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXctYwUZ9XNPJ0yoy_hWsaUqkTTooXkEF0x_-VTPE-mEZPneqjdQBEr0Dfn0mLZ722w1IzckvDoCCfP6lQtPWAdz7MAnKlhdnUhr_epm3EtQlMVtfKtzn2RgHHqic28nZvQqhXIg299Vk/s200/IMG_4303+TT7B2+launch.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a>
</div>
<b>Date:</b> 2019-09-15<br />
<b>Time:</b> 07:00 GMT (09:00 CEST)<br />
<b>Place:</b> Roznov pod Radhostem, CZ<br />
<b>Tracking:</b> <a href="https://aprs.fi/#!call=a%2FOK7DMT-2&timerange=604800&tail=604800">http://aprs.fi</a><br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm" colspan="3">Transmissions</th>
</tr>
<tr>
<th class="tg-yw47">Type</th>
<td colspan="2" align="center">APRS</td>
</tr>
<tr>
<th class="tg-yw47">Callsign</th>
<td align="center" colspan="2">OK7DMT-2</td>
</tr>
<tr>
<th class="tg-yw47">Frequency</th>
<td class="tg-lyy6">144.39-145.57</td>
<td class="tg-yw47">MHz</td>
</tr>
<tr>
<th class="tg-yw47">Period</th>
<td class="tg-lyy6">2</td>
<td class="tg-yw47">min</td>
</tr>
<tr>
<th class="tg-yw47">Transmit Power</th>
<td class="tg-lyy6">12.5</td>
<td class="tg-yw47">mW</td>
</tr>
</tbody></table>
<br />
The packets are a combination of Base91 encoded position and custom telemetry data in the comment section of the packet. An online decoder and example packets can be found at this <a href="https://tomastt7.github.io/aprs/">link</a>. The tracker transmits on local APRS frequencies. In case of GPS failure, telemetry without position is transmitted. Packets also contain backlogged data from the past 7 days.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm" colspan="3">Flight Parameters</th>
</tr>
<tr>
<th class="tg-yw47">Lifting Gas</th>
<td align="center" colspan="2">hydrogen</td>
</tr>
<tr>
<th class="tg-yw47">Envelope Volume</th>
<td class="tg-lyy6">1.045</td>
<td class="tg-yw47">m<sup>3</sup></td>
</tr>
<tr>
<th class="tg-yw47">Envelope Mass</th>
<td class="tg-lyy6">224.0</td>
<td class="tg-yw47">g</td>
</tr>
<tr>
<th class="tg-yw47">Payload Mass</th>
<td class="tg-lyy6">18.5</td>
<td class="tg-yw47">g</td>
</tr>
<tr>
<th class="tg-yw47">Free Lift</th>
<td class="tg-lyy6">10.0</td>
<td class="tg-yw47">g</td>
</tr>
<tr>
<th class="tg-yw47">Neck Lift</th>
<td class="tg-lyy6">28.5</td>
<td class="tg-yw47">g</td>
</tr>
<tr>
<th class="tg-yw47">Initial Ascent Rate</th>
<td class="tg-lyy6">0.88</td>
<td class="tg-yw47">m/s</td>
</tr>
<tr>
<th class="tg-yw47">Expected Float Altitude</th>
<td class="tg-lyy6">13810</td>
<td class="tg-yw47">m</td>
</tr>
</tbody></table>
<br />
The balloon on this flight was an obround shaped envelope 2.35m in length (flat) from a 40μm multilayer (PE/PA/EVOH/PA/PE) film. The making of the envelope is in detail described in <a href="https://tt7hab.blogspot.com/2019/09/the-superpressure-balloons-vol-3.html">this</a> blog post. A <a href="https://tomastt7.github.io/superpressure/">calculator</a> was used to obtain the flight parameters based on previously measured envelope volume, mass and payload mass. Latest atmospheric sounding data (Prostejov, 20190915 0:00Z) were used to calculate the expected float altitude.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDBies7UNV4rj784YzwLyJjUo8dCohS_kzHdiKWkmNEwnhOw269HYyWoNq9OS1iMZSnXt86sEvFScywvKrl5IbvtCVETRt5aGXhFKgRm6Q_QeMhyphenhyphenQZuXG08tMHRG09lHEgeQDyR-EG510/s1600/initial+prediction+02+cusf.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDBies7UNV4rj784YzwLyJjUo8dCohS_kzHdiKWkmNEwnhOw269HYyWoNq9OS1iMZSnXt86sEvFScywvKrl5IbvtCVETRt5aGXhFKgRm6Q_QeMhyphenhyphenQZuXG08tMHRG09lHEgeQDyR-EG510/s320/initial+prediction+02+cusf.jpg" width="274" height="200" data-original-width="1083" data-original-height="792" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzYTlIesaMW2ApGX0tW2jlut5QSmZhiMizvygByHjUznjMcnVtv-MEdtmh5Tc6OBCUaoeK5ncK-JxiVzmctuH06zrSSLZ4HVGFPjOSAQZn7ZXXMILOFOZ-rZN1yMTpWJ6miommGyPncsg/s1600/initial+prediction+02+hysplit.gif" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzYTlIesaMW2ApGX0tW2jlut5QSmZhiMizvygByHjUznjMcnVtv-MEdtmh5Tc6OBCUaoeK5ncK-JxiVzmctuH06zrSSLZ4HVGFPjOSAQZn7ZXXMILOFOZ-rZN1yMTpWJ6miommGyPncsg/s200/initial+prediction+02+hysplit.gif" width="161" height="200" data-original-width="1289" data-original-height="1600" /></a>
</div>
Initial ascent trajectory was modeled with <a href="http://predict.habhub.org/">CUSF</a> Landing Predictor, while the long term float predictions with <a href="https://ready.arl.noaa.gov/hypub-bin/trajtype.pl">HYSPLIT</a> Trajectory Model. The HYSPLIT prediction contains three altitude levels. One 500m below and another 500m above the expected float altitude.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoUMY0sQVsgh5Hx7YCoilFm-lTDFkKXvjztaOLNDle92pcvWw7P-0bY5O76WA9oWN1tPttCkOTSGjYVDg3F4oEFJjjJj9CgH_zfYNYyA9NJ7oeuK0vHYwm9Vw-jfd31Jpw43_ZQfn1Xhc/s1600/IMG_4272+tinned+battery+terminal.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoUMY0sQVsgh5Hx7YCoilFm-lTDFkKXvjztaOLNDle92pcvWw7P-0bY5O76WA9oWN1tPttCkOTSGjYVDg3F4oEFJjjJj9CgH_zfYNYyA9NJ7oeuK0vHYwm9Vw-jfd31Jpw43_ZQfn1Xhc/s200/IMG_4272+tinned+battery+terminal.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9xKivNKKF5JNNBvyfUb_MHQJwddGQPYBo04zkp1m72IQw28CW3kYtYB95Kb7GFL8R05PNEYZGweIFHd7VPduOzVn6bbM63VL6aGggCOSCuhBPa-8U0AwElbGhx4X9ivDH_J9VUWFyx0A/s1600/IMG_4270+tinned+battery+terminal.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9xKivNKKF5JNNBvyfUb_MHQJwddGQPYBo04zkp1m72IQw28CW3kYtYB95Kb7GFL8R05PNEYZGweIFHd7VPduOzVn6bbM63VL6aGggCOSCuhBPa-8U0AwElbGhx4X9ivDH_J9VUWFyx0A/s200/IMG_4270+tinned+battery+terminal.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTQb6HjBLL2bErZIPDzDZm_K8n7fI-PhaJ3SEiez_GaDVew217fqYwVE9XnPpw_ua4dobC7-Q1RyO7qhRUiITtEmMK3mFgzTcCLaWG96nnePXl0PKbJHDT0Coa5-T3pQa7cN22wPX3KCM/s1600/IMG_4289+TT7B2+tracker.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTQb6HjBLL2bErZIPDzDZm_K8n7fI-PhaJ3SEiez_GaDVew217fqYwVE9XnPpw_ua4dobC7-Q1RyO7qhRUiITtEmMK3mFgzTcCLaWG96nnePXl0PKbJHDT0Coa5-T3pQa7cN22wPX3KCM/s200/IMG_4289+TT7B2+tracker.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivZ7N9qEWD0CxjSeMGFZPaTDPyI6X9jmZux-POnQqY7MZ2uhoq71Hy1DJa3vE7UdG2e5qqbSk9K5Q4C6lKjsRntjgPRjjG1dRg59TgBHoEHu_x-ZKXY9ogP_mnTnE4L8oSZ50Cx-L3G-Q/s1600/IMG_4294+TT7B2+tracker.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivZ7N9qEWD0CxjSeMGFZPaTDPyI6X9jmZux-POnQqY7MZ2uhoq71Hy1DJa3vE7UdG2e5qqbSk9K5Q4C6lKjsRntjgPRjjG1dRg59TgBHoEHu_x-ZKXY9ogP_mnTnE4L8oSZ50Cx-L3G-Q/s200/IMG_4294+TT7B2+tracker.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a>
</div>
The design of the tracker is in detail described in <a href="https://tt7hab.blogspot.com/2018/09/the-tt7b-tracker.html">this</a> and <a href="https://tt7hab.blogspot.com/2019/03/the-tt7b-tracker-vol-2.html">this</a> blog posts. The final touches consisted of securing an Energizer Ultimate Lithium AA primary battery this time (estimated lifetime ~60 days) to the tracker. The battery was covered in black electrical tape, and leads were soldered directly to the battery's terminals. For more images of an identical tracker construction, except for a smaller battery (AAA), see <a href="https://tt7hab.blogspot.com/2019/09/the-tt7b1-flight.html">TT7B1</a>.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCQanqWLZ7cg4yr5z2wJPtTQmPrFlCsGrSbZRKMDAHkvu_qvHQ0LK1HBuv0XdQ8j4xn52_7UoCnJhXpeuRWXiA8lBSxP_MJ7QrMYVK_tbAxMrsshWrQBFkTsh2QqWP46bP1B4C58n62jQ/s1600/IMG_3875+B7+1M+envelope.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCQanqWLZ7cg4yr5z2wJPtTQmPrFlCsGrSbZRKMDAHkvu_qvHQ0LK1HBuv0XdQ8j4xn52_7UoCnJhXpeuRWXiA8lBSxP_MJ7QrMYVK_tbAxMrsshWrQBFkTsh2QqWP46bP1B4C58n62jQ/s200/IMG_3875+B7+1M+envelope.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8O-1Kt15BkHZce13rtMAiotoD0VCJ_Oxy-sUpzkeOqEtYl2LvFGX3IpL9hGdWpQImccBwJm0eQ2wG1HHMh_omrhzW6UXkuqpmQFUm107zFVssNrIvQAxubSM4R7ArghsUAjpButF2w8U/s1600/IMG_4299+TT7B2+launch.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8O-1Kt15BkHZce13rtMAiotoD0VCJ_Oxy-sUpzkeOqEtYl2LvFGX3IpL9hGdWpQImccBwJm0eQ2wG1HHMh_omrhzW6UXkuqpmQFUm107zFVssNrIvQAxubSM4R7ArghsUAjpButF2w8U/s200/IMG_4299+TT7B2+launch.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFZo6mq9r27YAS5YTh1qDQC_gmJrYjbwWHUioDhzAhm0-xcoWxLaEF2KmFlocHPz8PsZzSCday8pJJQ_vK3hHdpqHUL3iVNhGEaUdDUoNi2QKPSmJI1cnsfcpoet_HeGYVZJR0EfHea3s/s1600/IMG_4302+TT7B2+launch.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFZo6mq9r27YAS5YTh1qDQC_gmJrYjbwWHUioDhzAhm0-xcoWxLaEF2KmFlocHPz8PsZzSCday8pJJQ_vK3hHdpqHUL3iVNhGEaUdDUoNi2QKPSmJI1cnsfcpoet_HeGYVZJR0EfHea3s/s200/IMG_4302+TT7B2+launch.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLe_8FAYsmuWdX01YY_QiQlMm1IL9hhl_QbbtTpGTF8vs0QNm7EIzkinND750ZVcvQDlqISdyEPvkEc_z21kPZpgTMJ1RyRvbCcA9eHxGbAr1f7CkusvZQNs0-EEsod8cipXMhefEOtJU/s1600/IMG_4305+TT7B2+launch.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLe_8FAYsmuWdX01YY_QiQlMm1IL9hhl_QbbtTpGTF8vs0QNm7EIzkinND750ZVcvQDlqISdyEPvkEc_z21kPZpgTMJ1RyRvbCcA9eHxGbAr1f7CkusvZQNs0-EEsod8cipXMhefEOtJU/s200/IMG_4305+TT7B2+launch.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a>
</div>
A pressure sensor and a thermistor were sealed inside the envelope, and the gas inlet was glued shut. Two thin magnet wire antenna radials were fastened to the balloon's circumferential weld. The lead connecting the battery to the tracker was soldered just before the launch. After the bad experience with TT7B1, this launch took place a couple hours later in the day, and the balloon and mainly hydrogen were left in the sun for a while to warm up.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFmE6dZYcleRxe9xc7gFTIY4EAegpjZ3WWhH2nwQhzSPLm9eET0s3W7ng3XhyphenhyphencdLk4TEXosuUYpGIlRBxacCyAcn06dRSDZ7_0g1RcULieP2n5BWaXcFfpEcQO_TLdocklhvBDpgFKKKU/s1600/APRS+receivers+03.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFmE6dZYcleRxe9xc7gFTIY4EAegpjZ3WWhH2nwQhzSPLm9eET0s3W7ng3XhyphenhyphencdLk4TEXosuUYpGIlRBxacCyAcn06dRSDZ7_0g1RcULieP2n5BWaXcFfpEcQO_TLdocklhvBDpgFKKKU/s200/APRS+receivers+03.jpg" width="200" height="140" data-original-width="1151" data-original-height="808" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKHloQqxkuljc1fxLIUWiRWtDe9LA8XA3OfH2gBuU9ERsBQPhhHsmLtULLM4g7R9dYoNNJxuDwvgJZkncbk7_w0_YAmuSMLBemL8GW7fkOaUGx-2SmNos9LS_19enRnFgzJOKggrX5aWc/s1600/weather+satellite+01.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKHloQqxkuljc1fxLIUWiRWtDe9LA8XA3OfH2gBuU9ERsBQPhhHsmLtULLM4g7R9dYoNNJxuDwvgJZkncbk7_w0_YAmuSMLBemL8GW7fkOaUGx-2SmNos9LS_19enRnFgzJOKggrX5aWc/s200/weather+satellite+01.jpg" width="200" height="150" data-original-width="1000" data-original-height="750" /></a>
</div>
<b>Day 1:</b> The balloon ascended at an average rate of 1.0m/s (maximum 2.3m/s) to an initial altitude of 13500m. It flew over the countries of Slovakia, Hungary, Croatia and Slovenia, and was received by a large number of stations along its way. The satellite images didn't show any thunderstorms nor any other high altitude clouds in the area.<br />
<br />
After the sunset, the temperature measured by the onboard thermistor fell down to -63°C. The GPS module was the first to experience difficulties. The average active time needed for a valid fix increased. At times, the module failed completely and most likely communication with the module timed out. The MS5607 barometric pressure sensors eventually failed as well and only returned to outputting reasonable readings after the balloon descended to warmer altitudes (warmer than -35°C). The tracker never stopped functioning completely. The MCU kept working even during the lowest ambient temperatures.<br />
<br />
After a gradual decrease in altitude to 13000m during the evening and night, at 0:50 GMT the balloon began descending at an average rate of -1.3m/s (maximum -1.9m/s) and landed in Croatia.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxDmtxfnYzKB2XAVIWx-gFyL9-5XdG21cZK-o2eckNd6k4w67tqbBGN1lxogMTFptNsRJHOf0xFnf0uu-jXMRRwquNdfCUqloIY_H0jGKl9hBdNQoTbwbF1oSnacZV_zhWjLhl-D4EE3A/s1600/chart+TT7B2+data+01.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxDmtxfnYzKB2XAVIWx-gFyL9-5XdG21cZK-o2eckNd6k4w67tqbBGN1lxogMTFptNsRJHOf0xFnf0uu-jXMRRwquNdfCUqloIY_H0jGKl9hBdNQoTbwbF1oSnacZV_zhWjLhl-D4EE3A/s200/chart+TT7B2+data+01.png" width="200" height="120" data-original-width="1032" data-original-height="619" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXhBnypNbYZ4HoNe6aSqRpa07zd21bLn8TDc50YPWuiltWSnkCTx1mayp0gIal5sLQ7JiikbC19bNd-0W9qFvpVhXpKW6A51oVon-Tahc1Tmn-uYjSfje96-TXvGqyR-x_Fl-bWkORSuw/s1600/chart+TT7B2+data+02.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXhBnypNbYZ4HoNe6aSqRpa07zd21bLn8TDc50YPWuiltWSnkCTx1mayp0gIal5sLQ7JiikbC19bNd-0W9qFvpVhXpKW6A51oVon-Tahc1Tmn-uYjSfje96-TXvGqyR-x_Fl-bWkORSuw/s200/chart+TT7B2+data+02.png" width="200" height="120" data-original-width="1033" data-original-height="621" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJeDplGVFkm6GVO9H8u6A3-4dCIIG1vMURaNMJPhAdE5cUBivzJrxCM8q7ri05JkQq7pp7GfJxi9hJTws75Ep5z_9m5F8bXoE8k7MAHcDfuHUw1BRmmh17BRwvyrYzezVGSOSUVIYIWHE/s1600/chart+TT7B2+data+03.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJeDplGVFkm6GVO9H8u6A3-4dCIIG1vMURaNMJPhAdE5cUBivzJrxCM8q7ri05JkQq7pp7GfJxi9hJTws75Ep5z_9m5F8bXoE8k7MAHcDfuHUw1BRmmh17BRwvyrYzezVGSOSUVIYIWHE/s200/chart+TT7B2+data+03.png" width="200" height="120" data-original-width="1033" data-original-height="622" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEja3JVJi7rb7lw_7a-EOjclrYI3U6MiDsRiDMHoo8NT0GDSz5Sfw_LVlrqJihRA4TwquseRRDx-8gOETRc56UDVkUPJiykOyk5iF4PkH0-OFszDBN7DpjBwDOoI7OKfF1F3E_DXvj7b1pU/s1600/chart+TT7B2+data+04.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEja3JVJi7rb7lw_7a-EOjclrYI3U6MiDsRiDMHoo8NT0GDSz5Sfw_LVlrqJihRA4TwquseRRDx-8gOETRc56UDVkUPJiykOyk5iF4PkH0-OFszDBN7DpjBwDOoI7OKfF1F3E_DXvj7b1pU/s200/chart+TT7B2+data+04.png" width="200" height="120" data-original-width="1032" data-original-height="621" /></a>
</div>
The top two charts contain data from the whole flight. The bottom two charts show data only until a point the pressure sensors began outputting nonsensical data due to extremely low temperature. In the last chart, the measured temperatures and pressures were used to calculate the resultant force acting on the balloon ($F_{lift}-F_{weight}$) if it contained the same amount of hydrogen as it was filled with. The curve shows positive values during the balloon's climb to altitude, then values around zero when it started floating. However, later the values begin to rise again, while the balloon's altitude stays the same or even decreases suggesting the envelope was leaking hydrogen which eventually resulted in the balloon's descent to ground.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrAsMzUQE5EpbsxsmE6nLOCZDaxVT9h3j1L9-m_Tz6DQO5FLTlAlq2MHTPDBz_AGLm1Ikbs0U8Gl7ZZ0zqY8anbFE71d_t-Mbni-_oYFZNpv4AvQ4bg1253CjlU97FmSkA6psQkVBP_Bo/s1600/recovery+TT7B2+9A3SWO+Kruno+01.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrAsMzUQE5EpbsxsmE6nLOCZDaxVT9h3j1L9-m_Tz6DQO5FLTlAlq2MHTPDBz_AGLm1Ikbs0U8Gl7ZZ0zqY8anbFE71d_t-Mbni-_oYFZNpv4AvQ4bg1253CjlU97FmSkA6psQkVBP_Bo/s320/recovery+TT7B2+9A3SWO+Kruno+01.jpg" width="320" height="95" data-original-width="1280" data-original-height="379" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvEX0VgAw3fKx70dYHAe_4HMeTVAXQO8fG5RJvJkDZqswRP7J8PR0PasoLLqKZvjHd1A8bhAiCDnxBkGNbRRZ8axU8ztqxDL1lCOs17nR65H-Hpwg4MHgMBduvshFaAhcyvwmma7sSrxE/s1600/recovery+TT7B2+9A3SWO+Kruno+03.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvEX0VgAw3fKx70dYHAe_4HMeTVAXQO8fG5RJvJkDZqswRP7J8PR0PasoLLqKZvjHd1A8bhAiCDnxBkGNbRRZ8axU8ztqxDL1lCOs17nR65H-Hpwg4MHgMBduvshFaAhcyvwmma7sSrxE/s200/recovery+TT7B2+9A3SWO+Kruno+03.jpg" width="150" height="200" data-original-width="960" data-original-height="1280" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGuM0r5_zHzE6tx-0Oiq-UFRVOfJKrMx7fOfiiQPAlou0p7h2lWZsB0UolVBtjH7Mc-b1SoUiufRpek-gCo9swj9BDgaizISObwEw6xxIWx6oAcsBEhUN_wgW05Jrt5RMkYLa0-h43kdw/s1600/recovery+TT7B2+9A3SWO+Kruno+04.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGuM0r5_zHzE6tx-0Oiq-UFRVOfJKrMx7fOfiiQPAlou0p7h2lWZsB0UolVBtjH7Mc-b1SoUiufRpek-gCo9swj9BDgaizISObwEw6xxIWx6oAcsBEhUN_wgW05Jrt5RMkYLa0-h43kdw/s200/recovery+TT7B2+9A3SWO+Kruno+04.jpg" width="150" height="200" data-original-width="960" data-original-height="1280" /></a>
</div>
<b>Update:</b> TT7B2 was recovered by Kruno 9A3SWO in northern Croatia near the town of Krapina lying on a field as can be seen in the images he provided. Kruno was kind enough to send me the tracker back, so I will probably re-launch it under a new envelope.<br />
<br />
All the received APRS packets can be found in this text file: <a href="https://drive.google.com/file/d/1x8MIAa66w19rlt7sZqaHuVVtuM_gI7fX/view?usp=sharing">TT7B2_packets.txt</a><br />
And all the decoded live and backlogged data can be found in this csv file: <a href="https://drive.google.com/file/d/1nPgJSbEjC-r94chwYIzBCq8xDXXXwVGu/view?usp=sharing">TT7B2_data.csv</a>
TT7http://www.blogger.com/profile/11095378058232471221noreply@blogger.com0tag:blogger.com,1999:blog-7063183727921268380.post-44353848515834697112019-09-13T04:07:00.000+02:002019-09-20T15:56:13.826+02:00The TT7B1 Flight<style type="text/css">
.tg {border-collapse:collapse;border-spacing:0;border-color:#ccc;}
.tg td{font-family:Arial, sans-serif;font-size:12px;padding:5px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#ccc;color:#333;background-color:#fff;}
.tg th{font-family:Arial, sans-serif;font-size:12px;font-weight:normal;padding:5px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#ccc;color:#333;background-color:#f0f0f0;}
.tg .tg-amwm{font-weight:bold;text-align:center;vertical-align:top}
.tg .tg-yw47{vertical-align:top;text-align:left;}
.tg .tg-lyy6{text-align:right;vertical-align:top}
.collapsible{background-color: #eee;color: #444;cursor: pointer;padding: 8px;width: 100%;border: none;text-align: left;outline: none;font-size: 13px;transition: 0.3s;}
.panel{padding: 0 18px;max-height: 0;overflow: hidden;background-color: #f1f1f1;transition: max-height 0.2s ease-out;}
.active, .collapsible:hover{background-color: #ccc;}
.collapsible:after{content: '\002B';color: #777;font-weight: bold;float: right;margin-left: 5px;}
.active:after{content: "\2212";}
pre{display: block;font-family: monospace;white-space: pre;margin: 1em 0;tab-width: 4;}
code{background: #e9e9e9;}
</style>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgV0dP_Aav-LvdYGt7iROtC29O7dSfHlD6oBgI5wv1A3abwvU6BuHocBc3KojEX_0cqUWu9Aj_Mswpg1D2J7MVGAkfk1LsTssr44y_eWq13GiQ3hgDaEryhwheMO700iOqR5tjoT6dutUI/s1600/IMG_4236+TT7B1+balloon.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgV0dP_Aav-LvdYGt7iROtC29O7dSfHlD6oBgI5wv1A3abwvU6BuHocBc3KojEX_0cqUWu9Aj_Mswpg1D2J7MVGAkfk1LsTssr44y_eWq13GiQ3hgDaEryhwheMO700iOqR5tjoT6dutUI/s200/IMG_4236+TT7B1+balloon.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeMISNVkCAqD9jrtGCCji8TUXeC-mJJadUezWYSbDWMBW84LVZcDEB186aSkjkFygQhO6nn8O2s27Uv_MR9gJc6EIgxI2U4C62Ol9zShE0gc-crjKu2dRYGP58JcFgJFdcLdQFuygB7KQ/s1600/IMG_4220+TT7B1+balloon.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeMISNVkCAqD9jrtGCCji8TUXeC-mJJadUezWYSbDWMBW84LVZcDEB186aSkjkFygQhO6nn8O2s27Uv_MR9gJc6EIgxI2U4C62Ol9zShE0gc-crjKu2dRYGP58JcFgJFdcLdQFuygB7KQ/s200/IMG_4220+TT7B1+balloon.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a>
</div>
<b>Date:</b> 2019-09-13<br />
<b>Time:</b> 05:00 GMT (07:00 CEST)<br />
<b>Place:</b> Roznov pod Radhostem, CZ<br />
<b>Tracking:</b> <a href="https://aprs.fi/#!call=a%2FOK7DMT-1&timerange=604800&tail=604800">http://aprs.fi</a><br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm" colspan="3">Transmissions</th>
</tr>
<tr>
<th class="tg-yw47">Type</th>
<td colspan="2" align="center">APRS</td>
</tr>
<tr>
<th class="tg-yw47">Callsign</th>
<td align="center" colspan="2">OK7DMT-1</td>
</tr>
<tr>
<th class="tg-yw47">Frequency</th>
<td class="tg-lyy6">144.39-145.57</td>
<td class="tg-yw47">MHz</td>
</tr>
<tr>
<th class="tg-yw47">Period</th>
<td class="tg-lyy6">2</td>
<td class="tg-yw47">min</td>
</tr>
<tr>
<th class="tg-yw47">Transmit Power</th>
<td class="tg-lyy6">12.5</td>
<td class="tg-yw47">mW</td>
</tr>
</tbody></table>
<br />
The packets are a combination of Base91 encoded position and custom telemetry data in the comment section of the packet. An online decoder and example packets can be found at this <a href="https://tomastt7.github.io/aprs/">link</a>. The tracker transmits on local APRS frequencies. In case of GPS failure, telemetry without position is transmitted. Packets also contain backlogged data from the past 7 days.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm" colspan="3">Flight Parameters</th>
</tr>
<tr>
<th class="tg-yw47">Lifting Gas</th>
<td align="center" colspan="2">hydrogen</td>
</tr>
<tr>
<th class="tg-yw47">Envelope Volume</th>
<td class="tg-lyy6">0.434</td>
<td class="tg-yw47">m<sup>3</sup></td>
</tr>
<tr>
<th class="tg-yw47">Envelope Mass</th>
<td class="tg-lyy6">116.0</td>
<td class="tg-yw47">g</td>
</tr>
<tr>
<th class="tg-yw47">Payload Mass</th>
<td class="tg-lyy6">11.0</td>
<td class="tg-yw47">g</td>
</tr>
<tr>
<th class="tg-yw47">Free Lift</th>
<td class="tg-lyy6">4.2</td>
<td class="tg-yw47">g</td>
</tr>
<tr>
<th class="tg-yw47">Neck Lift</th>
<td class="tg-lyy6">15.2</td>
<td class="tg-yw47">g</td>
</tr>
<tr>
<th class="tg-yw47">Initial Ascent Rate</th>
<td class="tg-lyy6">0.71</td>
<td class="tg-yw47">m/s</td>
</tr>
<tr>
<th class="tg-yw47">Expected Float Altitude</th>
<td class="tg-lyy6">12410</td>
<td class="tg-yw47">m</td>
</tr>
</tbody></table>
<br />
The balloon on this flight was a Mylar balloon shaped envelope 1.35m in diameter (flat) from a 40μm multilayer (PE/PA/EVOH/PA/PE) film. The making of the envelope is in detail described in <a href="https://tt7hab.blogspot.com/2019/09/the-superpressure-balloons-vol-3.html">this</a> blog post. A <a href="https://tomastt7.github.io/superpressure/">calculator</a> was used to obtain the flight parameters based on previously measured envelope volume, mass and payload mass. Latest atmospheric sounding data (Prostejov, 20190913 0:00Z) were used to calculate the expected float altitude.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhi_aeQb_8SgwQBc-iEw5OD9SDfh5Qv0DdTAfWVtPQnOjWGV03ZjNONTZNrx0vsEYWNf4-K_-JbOMeRa7fAJAa3sgi2MsB4CJRhFE3ba7DMZqDklcZ8ck0hmT0OmC2ll2EWN3hdqpe7v3I/s1600/initial+prediction+02+cusf.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhi_aeQb_8SgwQBc-iEw5OD9SDfh5Qv0DdTAfWVtPQnOjWGV03ZjNONTZNrx0vsEYWNf4-K_-JbOMeRa7fAJAa3sgi2MsB4CJRhFE3ba7DMZqDklcZ8ck0hmT0OmC2ll2EWN3hdqpe7v3I/s320/initial+prediction+02+cusf.jpg" width="274" height="200" data-original-width="1082" data-original-height="791" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKdppNsU2F1tmG9d_0yCJI0RwrCgdnFVAFFDcklkwh7H7Hm_-P8o75mcZvDFkHlBfDj3pB4kQ4235y8gQh40IoanUadqJrPGaAn9Ku79JIMepYGH0NwL-Kl2iQmUukZzw559KSn6Ahkas/s1600/initial+prediction+02+hysplit.gif" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKdppNsU2F1tmG9d_0yCJI0RwrCgdnFVAFFDcklkwh7H7Hm_-P8o75mcZvDFkHlBfDj3pB4kQ4235y8gQh40IoanUadqJrPGaAn9Ku79JIMepYGH0NwL-Kl2iQmUukZzw559KSn6Ahkas/s200/initial+prediction+02+hysplit.gif" width="161" height="200" data-original-width="1287" data-original-height="1600" /></a>
</div>
Initial ascent trajectory was modeled with <a href="http://predict.habhub.org/">CUSF</a> Landing Predictor, while the long term float predictions with <a href="https://ready.arl.noaa.gov/hypub-bin/trajtype.pl">HYSPLIT</a> Trajectory Model. The HYSPLIT prediction contains three altitude levels. One 500m below and another 500m above the expected float altitude.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9kNyfpGpTHrl-LfefW6d8-ZhGdwC2sk8vb6DExO88GKfIft8z824PwIi5u8wvJ1KbXUV0iw0O15MIrTB7KCw0lab9tZn07XnalbjS0o5wGAz4bLrzzYiL07betJvZjBxE_au-0k2_wJg/s1600/IMG_4171+TT7B1+tracker.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9kNyfpGpTHrl-LfefW6d8-ZhGdwC2sk8vb6DExO88GKfIft8z824PwIi5u8wvJ1KbXUV0iw0O15MIrTB7KCw0lab9tZn07XnalbjS0o5wGAz4bLrzzYiL07betJvZjBxE_au-0k2_wJg/s200/IMG_4171+TT7B1+tracker.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgR8VHGFzZpdqbrOOtDht2hJHs00niiJvP2dvpIpGW8TqPZOMWQ5-cXHAtaEvlG6aKeJlZox3i_gUUOCIDyju_wt1GCWIdZ-vakCjw01RX3nApJRUFI1u3QZPKiEBYVQYSC73ciyEbngtA/s1600/IMG_4177+TT7B1+tracker.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgR8VHGFzZpdqbrOOtDht2hJHs00niiJvP2dvpIpGW8TqPZOMWQ5-cXHAtaEvlG6aKeJlZox3i_gUUOCIDyju_wt1GCWIdZ-vakCjw01RX3nApJRUFI1u3QZPKiEBYVQYSC73ciyEbngtA/s200/IMG_4177+TT7B1+tracker.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOvA2_xe94-rDn51TEsmuyHt4RfcUTspOh_2dma7iOSBg3cVUMlzPJUi0DoBxG4aaMx0kesjQppVE6DVWVrqr_NVuIFVcQ-yseHXUyHHT0lCGp87ZYIMjTYRfXq6_C0CIFQ-NeazMaBXk/s1600/IMG_4185+TT7B1+tracker.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOvA2_xe94-rDn51TEsmuyHt4RfcUTspOh_2dma7iOSBg3cVUMlzPJUi0DoBxG4aaMx0kesjQppVE6DVWVrqr_NVuIFVcQ-yseHXUyHHT0lCGp87ZYIMjTYRfXq6_C0CIFQ-NeazMaBXk/s200/IMG_4185+TT7B1+tracker.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEha8QIGLYxq-Q49dh97PC9DZZIMmkAdYHe3dIzmLUIY4gsdNryY3DcQtGozYTs1Fj0ryCaEAu1V_I40mk43nhAtNgk05U4DxH5hRD04gVNELXyART13zZ21dSg0aFCaXIfu0C1QCFFshjo/s1600/IMG_4184+TT7B1+tracker.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEha8QIGLYxq-Q49dh97PC9DZZIMmkAdYHe3dIzmLUIY4gsdNryY3DcQtGozYTs1Fj0ryCaEAu1V_I40mk43nhAtNgk05U4DxH5hRD04gVNELXyART13zZ21dSg0aFCaXIfu0C1QCFFshjo/s200/IMG_4184+TT7B1+tracker.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeqBVygOfffIyUEfcQ3DFAYX2qtQo4c8Lc4GoMOpoIcMdZHQ2Cx1MgGHKSBMhWo-7Lv-0yqzgr6CewVeRn8-u7nKk1IQSWjjZQoScddHxpHlvQy9zEGIAVXdZC71pQ2AfQuToWf8icrEY/s1600/IMG_4160+TT7B1+tracker.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeqBVygOfffIyUEfcQ3DFAYX2qtQo4c8Lc4GoMOpoIcMdZHQ2Cx1MgGHKSBMhWo-7Lv-0yqzgr6CewVeRn8-u7nKk1IQSWjjZQoScddHxpHlvQy9zEGIAVXdZC71pQ2AfQuToWf8icrEY/s200/IMG_4160+TT7B1+tracker.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisxI4dirMGgDPSzwCBuA-7no-1fsJvPa68ij7SJK2oPEflwb4ewxpOBkpKddRDOkPlV0O8dZGs6dQ21IHqeF7wnz8iBGa5Wt2B-OEtVHqjDsjEoYfT_ebbCer1SxztIQi-Y7fQV0NTMzc/s1600/IMG_4142+TT7B1+mass.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisxI4dirMGgDPSzwCBuA-7no-1fsJvPa68ij7SJK2oPEflwb4ewxpOBkpKddRDOkPlV0O8dZGs6dQ21IHqeF7wnz8iBGa5Wt2B-OEtVHqjDsjEoYfT_ebbCer1SxztIQi-Y7fQV0NTMzc/s200/IMG_4142+TT7B1+mass.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
The design of the tracker is in detail described in <a href="https://tt7hab.blogspot.com/2018/09/the-tt7b-tracker.html">this</a> and <a href="https://tt7hab.blogspot.com/2019/03/the-tt7b-tracker-vol-2.html">this</a> blog posts. The final touches consisted of securing an Energizer Ultimate Lithium AAA primary battery (estimated lifetime ~22 days) to the tracker. The battery was covered in black electrical tape, and leads were soldered directly to the battery's terminals.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiE99zZt7fs4oPIbJtV6mbKWg1hhNHQR8RaKfqGu7OzymWgfgLEzKvQ-yZxQESWpAMvus_Ev7_UIxUhlfQs3VqU5cl_Qh69bQ2npgivPGDx7X38o0xcHTPs1oBGf3HFMZ0FYkiZwdeEo9o/s1600/IMG_4189+hydrogen+cylinder.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiE99zZt7fs4oPIbJtV6mbKWg1hhNHQR8RaKfqGu7OzymWgfgLEzKvQ-yZxQESWpAMvus_Ev7_UIxUhlfQs3VqU5cl_Qh69bQ2npgivPGDx7X38o0xcHTPs1oBGf3HFMZ0FYkiZwdeEo9o/s200/IMG_4189+hydrogen+cylinder.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkaUsa5iJlJGnBKA047KWIKdCmp3kxhLi1P8gEKzB05i50PAx_9QZ1GrwYFwjSIdJhvF58rxA-gwQOwQjgVLQB18s4mi5pimuvRvdB6qLo22AMC2gBIdYpKmtnMx-7mj6LM-LiSk7y2SI/s1600/IMG_4193+hydrogen+cylinder.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkaUsa5iJlJGnBKA047KWIKdCmp3kxhLi1P8gEKzB05i50PAx_9QZ1GrwYFwjSIdJhvF58rxA-gwQOwQjgVLQB18s4mi5pimuvRvdB6qLo22AMC2gBIdYpKmtnMx-7mj6LM-LiSk7y2SI/s200/IMG_4193+hydrogen+cylinder.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a>
</div>
A 10L 200atm cylinder was rented from a local supplier. It contained 1.8m<sup>3</sup> of usable gas - hydrogen. The cylinder was 100cm high, 45cm in circumference and weighted 18kg. The cost of the gas was 1921Kč (75€) plus a daily rent.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8vmkT0zRGuBSzPpTbuqHttoMt2t06aikf-2oW9vAxoair0XDCkThEW9HDn8Qo9csU0eRBkzUuZxdx3jmPmAZWal1HHrGkH8BDlVysiiO8Xvt6XQAVU_EnUKJDMWm7W4t0gTJ390a_aYI/s1600/IMG_4197+filling+balloon.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8vmkT0zRGuBSzPpTbuqHttoMt2t06aikf-2oW9vAxoair0XDCkThEW9HDn8Qo9csU0eRBkzUuZxdx3jmPmAZWal1HHrGkH8BDlVysiiO8Xvt6XQAVU_EnUKJDMWm7W4t0gTJ390a_aYI/s200/IMG_4197+filling+balloon.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiL7nUogisdT5SKpLjYwafCrFzKOLUDzeEV5x1y5xfYscU7C-IUh6ZuvZD_kHK-9T3WbWzRu855XD5TqCeTWNDKOI4UiPwRWXi4bWFEVSMYFnda8MOyhyo5OIiWZiveLmFLpfAyH7cZRLI/s1600/IMG_4203+glued+inlet.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiL7nUogisdT5SKpLjYwafCrFzKOLUDzeEV5x1y5xfYscU7C-IUh6ZuvZD_kHK-9T3WbWzRu855XD5TqCeTWNDKOI4UiPwRWXi4bWFEVSMYFnda8MOyhyo5OIiWZiveLmFLpfAyH7cZRLI/s200/IMG_4203+glued+inlet.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiafDCJxNQELeuhrnBdcBtrxSiUs_0ShyphenhyphenXc7VaSKuKtD6gbFEW-EqhrigI54uzCRAZgHHBuvLXoOa4mLvpiUGMeVmweyf1b1FEettiLrMRYOqboVL778hx5OqqEMA5ZcNA52UugODQbdjs/s1600/IMG_4227+TT7B1+tracker.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiafDCJxNQELeuhrnBdcBtrxSiUs_0ShyphenhyphenXc7VaSKuKtD6gbFEW-EqhrigI54uzCRAZgHHBuvLXoOa4mLvpiUGMeVmweyf1b1FEettiLrMRYOqboVL778hx5OqqEMA5ZcNA52UugODQbdjs/s200/IMG_4227+TT7B1+tracker.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdZVbg-HcdcS5ci0oMnbBijItbJV1utMqJjLpUEOVPNAh1nfuMix8lcl4c6xBkjoT3vqHsXA8TVfLU4MPu0RejtU-nLH3hK5E96JctwKPEniF7Ql69DuQHsVI3LBX03h_wUgOnVMHbH4A/s1600/IMG_4221+TT7B1+tracker.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdZVbg-HcdcS5ci0oMnbBijItbJV1utMqJjLpUEOVPNAh1nfuMix8lcl4c6xBkjoT3vqHsXA8TVfLU4MPu0RejtU-nLH3hK5E96JctwKPEniF7Ql69DuQHsVI3LBX03h_wUgOnVMHbH4A/s200/IMG_4221+TT7B1+tracker.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzIH1rlXOQXA4aLZLDGwn5XSfo4rFx1ZcPwWvCo-5yez0Riiz3YhJ42h8p999DDIZhXxv-JtH4hGrcrQfCUyuICsdjFCpRDYBBm3NujIGJn6eHWOYpqxYKczBNoJtaSqppa_pAAzl5M2s/s1600/IMG_4225+antenna+radial.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzIH1rlXOQXA4aLZLDGwn5XSfo4rFx1ZcPwWvCo-5yez0Riiz3YhJ42h8p999DDIZhXxv-JtH4hGrcrQfCUyuICsdjFCpRDYBBm3NujIGJn6eHWOYpqxYKczBNoJtaSqppa_pAAzl5M2s/s200/IMG_4225+antenna+radial.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
A pressure sensor and a thermistor were sealed inside the envelope, and the gas inlet was glued shut. Two thin magnet wire antenna radials were fastened to the balloon's circumferential weld. The lead connecting the battery to the tracker was soldered just before the launch.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiegYALoYMFw9qnEUT2cP2Eip_WQf14IWeAXsEV2eWUtmNJQCNNYItvCpsSe17ZHytTx97MZQzfYaczv9xb3Lap5ZbD2HKvK8VP1kYSx2GCS8CKvbO2D7tZbipetaAjssPwwUm2i8F7DLc/s1600/IMG_4240+TT7B1+launch.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiegYALoYMFw9qnEUT2cP2Eip_WQf14IWeAXsEV2eWUtmNJQCNNYItvCpsSe17ZHytTx97MZQzfYaczv9xb3Lap5ZbD2HKvK8VP1kYSx2GCS8CKvbO2D7tZbipetaAjssPwwUm2i8F7DLc/s200/IMG_4240+TT7B1+launch.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQPCEr_EcGJO8Sd9K7Q4zUPXYFcMhnSTIOidNMpL8fZucfBLVrBmWegpLA-_224MfVoNRMTgI-nL16Dtcp-IMPx_-PgDU2cymMcGdV1KUyNBmEnE0NwpSt1Y5dVcu1WqJh0LeX4wzU9hI/s1600/IMG_4244+TT7B1+launch.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQPCEr_EcGJO8Sd9K7Q4zUPXYFcMhnSTIOidNMpL8fZucfBLVrBmWegpLA-_224MfVoNRMTgI-nL16Dtcp-IMPx_-PgDU2cymMcGdV1KUyNBmEnE0NwpSt1Y5dVcu1WqJh0LeX4wzU9hI/s200/IMG_4244+TT7B1+launch.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKnerWUi-1KwjwGl66zAi2JcbCSPqcwKPJBdn2PrN-lRmEetlSznL8xAwFijfVllK_cB7odPcunWJgi7ZeYBXHTX_qw-Hy-kUGqCPp6T2Wb-56IJXe2lLv0aM4POk9NXY4Z5GjMr_V1DQ/s1600/IMG_4250+TT7B1+launch.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKnerWUi-1KwjwGl66zAi2JcbCSPqcwKPJBdn2PrN-lRmEetlSznL8xAwFijfVllK_cB7odPcunWJgi7ZeYBXHTX_qw-Hy-kUGqCPp6T2Wb-56IJXe2lLv0aM4POk9NXY4Z5GjMr_V1DQ/s200/IMG_4250+TT7B1+launch.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnto9JmiEm5Srxgn5DoDD4eotwGV5zoXa7b4JsYZoyRDR7wdgazYEFPQRphMUufNo6STb_DjNkozqX7VRlvltO37XbPwhkS-aoxJ7x2XlpxB33N7jcsj4U43C2EPOhTYG0rsFimi6sOmI/s1600/IMG_4255+TT7B1+treetops.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnto9JmiEm5Srxgn5DoDD4eotwGV5zoXa7b4JsYZoyRDR7wdgazYEFPQRphMUufNo6STb_DjNkozqX7VRlvltO37XbPwhkS-aoxJ7x2XlpxB33N7jcsj4U43C2EPOhTYG0rsFimi6sOmI/s200/IMG_4255+TT7B1+treetops.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1QQPIu619tBWYSd9tDcvzpRD6BUZ7uZplkw9dbMqIS_MZ_CkHUtxdsKA724pqyQY5XbqeN6e8r2YMmzqL24x-lxHpVKwm5Vi0-Xvk3Sseg7z1TGmTVB_eCI2EdJ9-yF0_I6AvUuSdr3M/s1600/IMG_4257+TT7B1+treetops.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1QQPIu619tBWYSd9tDcvzpRD6BUZ7uZplkw9dbMqIS_MZ_CkHUtxdsKA724pqyQY5XbqeN6e8r2YMmzqL24x-lxHpVKwm5Vi0-Xvk3Sseg7z1TGmTVB_eCI2EdJ9-yF0_I6AvUuSdr3M/s200/IMG_4257+TT7B1+treetops.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibaHEDRKK71gyqagRxrLTmJmU5ZYZKGLir_wKFstQtiQAKcXAJn_7f9FH_nrfkklpv43fdOb4PTs8sDywIyr8aBYxyT7Q8XwLET_s8JK4PcNgWd4DnQNUgZG-5nWNVT9Sh41r3Y3AMvJ4/s1600/IMG_4264+TT7B1+treetops.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibaHEDRKK71gyqagRxrLTmJmU5ZYZKGLir_wKFstQtiQAKcXAJn_7f9FH_nrfkklpv43fdOb4PTs8sDywIyr8aBYxyT7Q8XwLET_s8JK4PcNgWd4DnQNUgZG-5nWNVT9Sh41r3Y3AMvJ4/s200/IMG_4264+TT7B1+treetops.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a>
</div>
<b>Day 1:</b> After an initial ascent, the balloon continued horizontally until it eventually descended into treetops about 350m from the launch site. Not sure about the source of the problem. The actual free lift after filling the balloon and removing excess inlet was slightly above the plan at 5.1g. The same calculation method and parameters were successfully used on the TT7F flights. The only difference that comes to mind was in that the TT7F trackers were solar powered, thus the balloon and gas were exposed to direct sunlight for a period of time before launch. Contrary to that, TT7B1 was launched earlier in the morning without direct irradiation.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzBaOYOv4NLki_r95Ge_otl_oYvo_-A5xKNCR2H9XExJ9V2Z0uD_CLLxXvxBNDvBOLBYFT2c2VVc56mdcJ0HakhdCRTzIw80rmOiAXnTetQEXTsVoASOLBQVDN67dGH5jYMBbi3TjED88/s1600/APRS+receivers+02.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzBaOYOv4NLki_r95Ge_otl_oYvo_-A5xKNCR2H9XExJ9V2Z0uD_CLLxXvxBNDvBOLBYFT2c2VVc56mdcJ0HakhdCRTzIw80rmOiAXnTetQEXTsVoASOLBQVDN67dGH5jYMBbi3TjED88/s200/APRS+receivers+02.jpg" width="200" height="141" data-original-width="1149" data-original-height="808" /></a>
</div>
As the balloon didn't reach high enough altitude, the only receiver was my own iGate. The signal eventually disappeared as rising wind combined with my recovery attempts pushed the balloon deeper into the trees and broke the antenna.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCh1jPk8x9HrsC_OQKaVKHca7-0Y6Md4U_eQFgocUtUrfa34PWPK1fCmUxbuPpLJYki7l0ICDPyJ730TMEYSH-grBCvIw0cqwYHTwWm8uyeQ7a4YmlW8iNsHynQYYoU-yVGS7dpOPXayw/s1600/IMG_4275+TT7B1+recovered.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCh1jPk8x9HrsC_OQKaVKHca7-0Y6Md4U_eQFgocUtUrfa34PWPK1fCmUxbuPpLJYki7l0ICDPyJ730TMEYSH-grBCvIw0cqwYHTwWm8uyeQ7a4YmlW8iNsHynQYYoU-yVGS7dpOPXayw/s200/IMG_4275+TT7B1+recovered.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgE-LJaHQxJr8yykqaimYnnFWXwQoA9RXud3iXA5U9Y31jTSyl6NTTKtF3pmRI30AqceQsrYWDu3upgslo8NT68GUvAd1dX0UZKq0IdgNrwEpIy4MZN7tZ8I7BLVULxE6AT1uKEFNwuRxc/s1600/IMG_4279+TT7B1+recovered.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgE-LJaHQxJr8yykqaimYnnFWXwQoA9RXud3iXA5U9Y31jTSyl6NTTKtF3pmRI30AqceQsrYWDu3upgslo8NT68GUvAd1dX0UZKq0IdgNrwEpIy4MZN7tZ8I7BLVULxE6AT1uKEFNwuRxc/s200/IMG_4279+TT7B1+recovered.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrjIPQFokp_XSIx0MUY3TdX4tEJEG9g9YwyMb8z2eUjvXTLfZSjorkTNUhMAq12XQTzPOs47-bAj1BPOuWz3vEj1p_i-JOrp37cTuj2dLWZAaiU3LcZXONnsrkTylR8PRNdA9c2vz7JGo/s1600/IMG_4282+TT7B1+recovered.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrjIPQFokp_XSIx0MUY3TdX4tEJEG9g9YwyMb8z2eUjvXTLfZSjorkTNUhMAq12XQTzPOs47-bAj1BPOuWz3vEj1p_i-JOrp37cTuj2dLWZAaiU3LcZXONnsrkTylR8PRNdA9c2vz7JGo/s200/IMG_4282+TT7B1+recovered.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
<b>Update:</b> TT7B1 was recovered during the afternoon. The envelope was destroyed and the tracker roughed up during the attempt. It kept working without any issues though, so it will be restored and prepared for another flight.<br />TT7http://www.blogger.com/profile/11095378058232471221noreply@blogger.com1tag:blogger.com,1999:blog-7063183727921268380.post-16157882523801588892019-09-08T04:41:00.000+02:002019-09-08T14:12:17.229+02:00The Superpressure Balloons Vol. 3<style type="text/css">
.tg {border-collapse:collapse;border-spacing:0;border-color:#ccc;}
.tg td{font-family:Arial, sans-serif;font-size:12px;padding:5px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#ccc;color:#333;background-color:#fff;}
.tg th{font-family:Arial, sans-serif;font-size:12px;font-weight:normal;padding:5px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#ccc;color:#333;background-color:#f0f0f0;}
.tg .tg-amwm{font-weight:bold;text-align:center;vertical-align:top}
.tg .tg-yw47{vertical-align:top;text-align:left;}
.tg .tg-lyy6{text-align:right;vertical-align:top}
.collapsible{background-color: #eee;color: #444;cursor: pointer;padding: 8px;width: 100%;border: none;text-align: left;outline: none;font-size: 13px;transition: 0.3s;}
.panel{padding: 0 18px;max-height: 0;overflow: hidden;background-color: #f1f1f1;transition: max-height 0.2s ease-out;}
.active, .collapsible:hover{background-color: #ccc;}
.collapsible:after{content: '\002B';color: #777;font-weight: bold;float: right;margin-left: 5px;}
.active:after{content: "\2212";}
pre{display: block;font-family: monospace;white-space: pre;margin: 1em 0;tab-width: 4;}
code{background: #e9e9e9;}
</style>
This blog post is the third instalment of my notes on making superpressure balloons. The previous posts can be found <a href="https://tt7hab.blogspot.com/2017/04/the-superpressure-balloons.html">here</a> and <a href="https://tt7hab.blogspot.com/2017/11/the-superpressure-balloons-vol-2.html">here</a>.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th colspan="3" class="tg-amwm">TR9</th>
</tr>
<tr>
<td class="tg-yw47">layers</td>
<td colspan="2" class="tg-yw47">PE / PA / EVOH / PA / PE</td>
</tr>
<tr>
<td class="tg-yw47">width</td>
<td class="tg-lyy6">1.35</td>
<td class="tg-yw47">m</td>
</tr>
<tr>
<td class="tg-yw47">length</td>
<td class="tg-lyy6">60</td>
<td class="tg-yw47">m</td>
</tr>
<tr>
<td class="tg-yw47">thickness</td>
<td class="tg-lyy6">40</td>
<td class="tg-yw47">μm</td>
</tr>
<tr>
<td class="tg-yw47">density</td>
<td class="tg-lyy6">0.972</td>
<td class="tg-yw47">g/cm<sup>3</sup></td>
</tr>
<tr>
<td class="tg-yw47">square weight</td>
<td class="tg-lyy6">38.9</td>
<td class="tg-yw47">g/m<sup>2</sup></td>
</tr>
<tr>
<td class="tg-yw47">tensile strength (MD/TD)</td>
<td class="tg-lyy6">>30 / >26</td>
<td class="tg-yw47">MPa</td>
</tr>
<tr>
<td class="tg-yw47">elongation (MD/TD)</td>
<td class="tg-lyy6">>400 / >450</td>
<td class="tg-yw47">%</td>
</tr>
<tr>
<td class="tg-yw47">sealing temperature</td>
<td class="tg-lyy6">125-160</td>
<td class="tg-yw47">°C</td>
</tr>
<tr>
<td class="tg-yw47">price</td>
<td class="tg-lyy6">~91</td>
<td class="tg-yw47">€</td>
</tr>
</tbody></table>
<br />
After putting together a couple of new <a href="https://tt7hab.blogspot.com/2018/09/the-tt7b-tracker.html">trackers</a>, I thought I would try to make some improvements in construction of the balloons that would carry them as well. I did a fresh search for suitable material manufacturers, but to no avail, so I at least ordered a roll of slightly thinner (40μm) film from the same manufacturer as previously. Datasheet specs can be found in the table above. For anyone interested, as there have been requests, the manufacturer is Vepak, s.r.o. based in the Czech Republic and the film is called TR9.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaICsVST9KlD-aUYR5jSsGNQ7JdKqjSUhvmuaiOWGPyIE-rzhSfqTpw1KW2vzeumsOK6L6AVrxSCjQhbikD4q5KLTOtgt0vxAbvVtkuh3bnkmM2tHK0E55xi-GIqhtjjkbfYtGH4wwXgI/s1600/film+layers+04.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaICsVST9KlD-aUYR5jSsGNQ7JdKqjSUhvmuaiOWGPyIE-rzhSfqTpw1KW2vzeumsOK6L6AVrxSCjQhbikD4q5KLTOtgt0vxAbvVtkuh3bnkmM2tHK0E55xi-GIqhtjjkbfYtGH4wwXgI/s200/film+layers+04.png" width="200" height="83" data-original-width="796" data-original-height="330" /></a>
</div>
TR9 is said to be a transparent 9-layer co-extruded blown film typically used as a food packaging material. The datasheet mentions only two polyethylene (PE), two polyamide (PA) and one ethylene vinyl alcohol (EVOH) layers leaving the remaining four slots for some sort of tie or undisclosed layers. <a href="http://polymerdatabase.com/Films/Tie%20Layers.html">Literature</a> suggests ethylene acrylic acid (EAA) and anhydride modified polyethylene (AMP) as possible adhesive materials to tie the layers of PA and PE which otherwise do not bond well. The EVOH to PA bond, on the other hand, is said to not need additional adhesives. Unfortunately, the manufacturer doesn't go into any of these details, so the above illustration is only my best guess of the structure. The total film thickness is 40μm with a 10% tolerance. There is no further information about the thickness of the individual layers.<br />
<div class="separator" style="clear: both; text-align: center;"><figure>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgL7XPo4MuGilbNk0qbThV7CUte0Nfr5KOFrABR6gIS1Dkb1UalW2wJGAiE-oasTpdIHGz83NpkfJKngEhjFh9xEGP7ZjtrgavM05Gehn36hRLhqLxT60ZuNQpEd-xf8cFlAi2FfKpzdhE/s1600/coextrusion+diagram+04.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgL7XPo4MuGilbNk0qbThV7CUte0Nfr5KOFrABR6gIS1Dkb1UalW2wJGAiE-oasTpdIHGz83NpkfJKngEhjFh9xEGP7ZjtrgavM05Gehn36hRLhqLxT60ZuNQpEd-xf8cFlAi2FfKpzdhE/s200/coextrusion+diagram+04.png" width="192" height="200" data-original-width="600" data-original-height="625" /></a>
<figcaption>Image source: <a href="https://www.reifenhauser-bf.com/en">www.reifenhauser-bf.com</a></figcaption>
</figure></div>
A design of a blown film co-extruder, the machine responsible for production of these kinds of films, can be seen in the image above. Solid pellets of the raw materials are fed to separate extruders which melt the polymers and forward the melt to a main die. Inside the die, the melts from individual extruders are stacked, layer upon layer, to form the resulting film structure. The stacked melt output by the annular die is guided upwards to the top of the tower while being cooled down and blown to desired dimensions (width and thickness) by air. At the top of the tower, the solidified film is flattened and conveyed back down by a system of rollers. The edges are cut, and the resulting two continuous sheets are wound on rolls. There are a number of videos on Youtube that show different parts of the machines at work.<br />
<div class="separator" style="clear: both; text-align: center;"><figure>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxV85K_5uO7DufVOoEcbC-gs-WpYxi88GRbxN_AUlsKechBF-7VZw5vDiQ-lIBj3x0uti0EkutQT-j0bSsrLRt0fjoROuBjmaSYw-2KIJ3WPbyoMVxGArPdqkHuZjLzfoGvZPus_rUnjs/s1600/blown+film+die+03.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxV85K_5uO7DufVOoEcbC-gs-WpYxi88GRbxN_AUlsKechBF-7VZw5vDiQ-lIBj3x0uti0EkutQT-j0bSsrLRt0fjoROuBjmaSYw-2KIJ3WPbyoMVxGArPdqkHuZjLzfoGvZPus_rUnjs/s200/blown+film+die+03.jpg" width="105" height="200" data-original-width="137" data-original-height="260" /></a>
<figcaption>Image source: <a href="https://www.plamex.de/productprogram/components/blown-film-dies-/index.html">www.plamex.de</a></figcaption>
</figure></div>
The image above illustrates the flow of individual polymer melts inside a die - input from extruders at the bottom, multilayer stacked output at the top. For an interesting insight into the state of the polymer film industry, see this series of articles (<a href="https://pffc-online.com/flexpack/14434-blown-film-which-applications-are-most-suited-for-7-9-11-layers-part-1">one</a>, <a href="https://pffc-online.com/flexpack/14501-blown-film-which-applications-are-most-suited-for-7-9-11-layers-part-2">two</a> and <a href="https://www.pffc-online.com/flexpack/14617-blown-film-which-applications-are-most-suited-for-7-9-11-layers-part-3">three</a>) which goes into the older 3/5-layer lines and compares them to the more modern 7/9/11-layer films produced these days. This <a href="http://www.extrusionwiki.com/wiki/(S(3hossunygjfoonvx105dwl45))/POTM-Aug-2011.ashx">paper</a> then discusses technological concepts for production of up to 100-layer films as well as the contemporary die designs.<br />
<br />
<b>Polymers.</b> Polyethylene, polyamide and ethylene vinyl alcohol, the materials from which TR9 is extruded and blown, are synthetic polymers - large molecules in the form of long chains of a basic subunit created via <a href="https://en.wikipedia.org/wiki/Polymerization">polymerization</a>.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGNWj8wBOEtheB9AFFrSC-cYbilenLbQ6Mla_euYoenm7gPkOqJE0WnLuPqn6fvnPPkRWGxJTdlLM0s4tTx45ZpmB1n_OisDLRs0SYJosfafPrRqUfB_8jmPmSCsuHlsaiXE4fUA0z_dw/s1600/unit+polyethylene+03.PNG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGNWj8wBOEtheB9AFFrSC-cYbilenLbQ6Mla_euYoenm7gPkOqJE0WnLuPqn6fvnPPkRWGxJTdlLM0s4tTx45ZpmB1n_OisDLRs0SYJosfafPrRqUfB_8jmPmSCsuHlsaiXE4fUA0z_dw/s200/unit+polyethylene+03.PNG" width="100" height="100" data-original-width="400" data-original-height="400" /></a>
</div>
The above is a formula of a polyethylene (<a href="https://polymerdatabase.com/Films/PE%20Films.html">PE</a>) repeat unit. Polyethylene is a thermoplastic - a polymer that can be repeatedly melted and recast. As a nonpolar polymer (unpolarized molecule), it is difficult to bond to other materials such as PA and EVOH without a tie layer. Polyethylene comes in several <a href="https://en.wikipedia.org/wiki/Polyethylene#Classification">classes</a> based on its density and branching (additional chains of subunits connected to the main chain). In case of barrier films, it is typically linear low-density polyethylene (LLDPE). It has a semi-crystalline structure (35-60% crystallinity - the degree to which the molecular chains in the material are aligned versus randomly entangled chains). A layer of polyethylene is utilized for its lower melting temperature as the bonding surface between two sheets of film. During heat sealing, chains from both sheets entangle across the seal interface, while intermolecular bonds reform as the weld cools down.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg83puQnm3aJzelPX2Kcjs7HkkxFySJUoV9RCyumUsuYF_1usAu-PiZtC8yvUrXMU0J-vj_hHz07EmbVoUked3ekhs2OZNsQTlIFaFhRVSe937husUfLF5UQ90BLFhtooQMfgmbn5VZNGk/s1600/unit+polyamide+02.PNG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg83puQnm3aJzelPX2Kcjs7HkkxFySJUoV9RCyumUsuYF_1usAu-PiZtC8yvUrXMU0J-vj_hHz07EmbVoUked3ekhs2OZNsQTlIFaFhRVSe937husUfLF5UQ90BLFhtooQMfgmbn5VZNGk/s200/unit+polyamide+02.PNG" width="150" height="100" data-original-width="600" data-original-height="400" /></a>
</div>
Polyamide (PA), typically nylon <a href="https://en.wikipedia.org/wiki/Nylon_6">6</a> or <a href="https://en.wikipedia.org/wiki/Nylon_66">6,6</a> (repeat unit formula of nylon 6 above), is a symmetric and polar polymer with semi-crystalline structure (35-45% crystallinity). The polarity and molecular symmetry allow bonding between individual molecules via hydrogen bonds which contributes to strength and rigidity of the material. As a part of a multilayer film it is used for its higher strength and oxygen barrier properties. Like polyethylene, it is a thermoplastic, but melts at a higher temperature.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmY0Yy3GEpX98fsCO-zM9U3FXh6i-kJ0nS8JT_0sDOJch65eaSXUwZHnax5ANh0CniCBFmAY2zBK9dM5S55qBeuHpK-pHaAm7sr2dFh1GJvtTL_iKLuabJdM6VJzyYElSI5jKI_FKo6l8/s1600/unit+evoh+02.PNG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmY0Yy3GEpX98fsCO-zM9U3FXh6i-kJ0nS8JT_0sDOJch65eaSXUwZHnax5ANh0CniCBFmAY2zBK9dM5S55qBeuHpK-pHaAm7sr2dFh1GJvtTL_iKLuabJdM6VJzyYElSI5jKI_FKo6l8/s200/unit+evoh+02.PNG" width="150" height="100" data-original-width="600" data-original-height="400" /></a>
</div>
Ethylene vinyl alcohol (<a href="https://polymerdatabase.com/Films/EVOH%20Films.html">EVOH</a>) is a copolymer derived from two monomers - ethylene and vinyl alcohol. It is a semi-crystalline polar thermoplastic polymer. Its high degree of crystallinity (58-70%) and the percentage of ethylene content determine the material's barrier properties. Lower ethylene content leads to better barrier properties, while higher content to lower extrusion temperature. The barrier properties are the main reason for incorporating it in a multilayer film. The same barrier performance can be achieved with a much lower film thickness than in case of using other polymers. In terms of a balloon, it keeps hydrogen or helium inside and air (N<sub>2</sub>, O<sub>2</sub>) outside of the envelope at a comparatively lower mass due to the lower layer thickness.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm"></th>
<th class="tg-amwm">PE</th>
<th class="tg-amwm">PA</th>
<th class="tg-amwm">EVOH</th>
</tr>
<tr>
<td class="tg-yw47">Formula</td>
<td class="tg-lyy6">(C<sub>2</sub>H<sub>4</sub>)<sub>n</sub></td>
<td class="tg-lyy6">(C<sub>6</sub>H<sub>11</sub>NO)<sub>n</sub></td>
<td class="tg-lyy6">(C<sub>2</sub>H<sub>4</sub>O-C<sub>2</sub>H<sub>4</sub>)<sub>x</sub></td>
</tr>
<tr>
<td class="tg-yw47">T<sub>g</sub> [°C]</td>
<td class="tg-lyy6">-110</td>
<td class="tg-lyy6">60</td>
<td class="tg-lyy6">48-72</td>
</tr>
<tr>
<td class="tg-yw47">T<sub>m</sub> [°C]</td>
<td class="tg-lyy6">110-130</td>
<td class="tg-lyy6">193-260</td>
<td class="tg-lyy6">156-195</td>
</tr>
<tr>
<td class="tg-yw47">UTS [MPa]</td>
<td class="tg-lyy6">10-37</td>
<td class="tg-lyy6">48-112</td>
<td class="tg-lyy6">37-74</td>
</tr>
</tbody></table>
<br />
The table above contains basic information about the individual materials such as the glass transition temperature $T_{g}$, the melting temperature $T_{m}$, and the ultimate tensile strength $UTS$. The source of the data is <a href="http://matweb.com/">matweb.com</a>, specifically an overview of materials listed in the database under LLDPE, Nylon 6 and EVOH. It is apparent from the values that both at room temperature and temperature at flight altitude (-40°C to -70°C), the polyethylene layer of the film will operate above its glass transition temperature, while the nylon and EVOH layers will operate below theirs. The <a href="https://eng.libretexts.org/Bookshelves/Materials_Science/Supplemental_Modules_(Materials_Science)/Polymer_Chemistry/Polymer_Chemistry%3A_Transitions/Polymer_Chemistry%3A_The_Glass_Transition">glass transition</a> occurs in amorphous polymers and amorphous regions of semi-crystalline polymers. Below the glass transition temperature, the polymer chains don't have enough energy to move, they are interlocked with each other, and the material is rigid, hard and brittle. As the temperature increases above the glass transition level, the chains are able to slide past each other when a force is applied, and the overall material becomes soft and flexible.<br />
<br />
In general, polymers are long chains of repeating strongly bonded (covalent, ionic bonds) subunits. The length of the chains (degree of polymerization) through weaker intermolecular forces acting between neighboring chains and through chain <a href="https://en.wikipedia.org/wiki/Reptation">entanglement</a> influences the physical properties of the resulting material. For example, increasing chain length leads to increased strength, toughness and glass transition temperature. A factor playing a role in chain entanglement is <a href="https://en.wikipedia.org/wiki/Polymer_architecture">branching</a> of the polymer chains, a situation where other chains covalently bond to a main chain to create the polymer molecule. Long branches may again increase strength, toughness, and T<sub>g</sub>, while short asymmetric branches may reduce the ability to entangle or bond with other molecules, thus decrease the listed properties. As a polymeric material solidifies from the original melt, depending on the specific polymer and parameters such as cooling rate, it may stay in a form of irregularly entangled chains (amorphous polymer), or it may began forming regions of aligned and folded chains (semi-crystalline polymer). The degree of <a href="https://en.wikipedia.org/wiki/Crystallization_of_polymers">crystallinity</a> again influences the material properties. Higher content of crystalline regions is responsible for higher hardness and brittleness, while elasticity is the domain of amorphous polymers.<br />
<br />
When semi-crystalline polymers are subjected to tensile stress, the chains in the amorphous regions elongate, the crystalline regions rotate to align with the applied force, then with increasing stress the individual lamellae (ordered crystalline regions) begin to fragment and slip. Up to a certain point, the deformation is elastic - the piece of material returns to its original dimensions when the force tensing it is removed. Beyond that point, the deformation is plastic - permanent. Plastic deformation due to stretching of a semi-crystalline material leads to partial alignment of polymer chains in the direction of the force. The result of the alignment is an increase in strength of the material.<br />
<br />
Due to the nature of the interactions and molecular structure outlined earlier, a polymeric material is said to be <a href="https://en.wikipedia.org/wiki/Viscoelasticity">viscoelastic</a>. When it is subjected to constant stress, the material creeps - a continual increase in permanent strain even below the stress needed for plastic deformation. When the material is fixed at constant strain, it undergoes stress relaxation - an observed decrease in stress over time. As already mentioned, temperature is an important factor in all these interactions. An interesting property of viscoelastic materials associated with temperature is the <a href="https://www.ptonline.com/articles/materials-understanding-strain-rate-sensitivity-in-polymers">equivalence</a> of time and temperature. In practice, this means that a piece of material stretched at room temperature and a high strain rate will behave as if it was stretched at low temperature - it would be stronger and more brittle - or if it was stretched at a very low strain rate, it would behave as if it was stretched at a higher temperature - in other words, the material would be more ductile and elastic.<br />
<br />
One other property that relates specifically to high altitude balloon envelopes is the material's sensitivity to UV radiation. Various sources state that the intensity of UV radiation increases with altitude between 10 to 12% per 1000m. That suggests that the material is exposed to 2-3 times higher intensity at expected float altitudes (10-16km) than it is at the surface. Polyethylene is <a href="https://en.wikipedia.org/wiki/Polymer_degradation">said</a> to be - through breaking of the carbon and hydrogen bonds, and the resulting free radicals breaking the PE chains - susceptible to UV degradation which means the envelope will deteriorate over time.<br />
<br />
Assumptions/Expectations (based on general behavior of polymers):<br />
<ul>
<li>Slow and careful pressurizing of an envelope at room temperature (pre-stretching) will possibly increase the strength of the material.</li>
<li>The envelope material will be stronger at float altitude due to the low temperatures.</li>
</ul>
<br />
<b>Quality control.</b> <a href="https://en.wikipedia.org/wiki/Birefringence">Birefringent</a> properties of a mechanically stressed plastic film turned out to be a useful tool throughout the work on new balloon envelopes. <a href="https://en.wikipedia.org/wiki/Photoelasticity">Photoelastic</a> stress analysis utilizes the fact that the birefringent material has a refractive index dependent on the polarization of the light transmitted through the material, and that the size of the refractive index at each point is directly proportional to the size of the mechanical stress at that point. In combination with a source of polarized light and a polarizing filter, a color pattern which captures the instantaneous mechanical stress within the material can be displayed.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsfqZ4MkDwy_9OdqACnTGUIJ8Nm8pC5akEoSphBOr4Dx2B3fLa1sVWM_bEZ72uIrDGycTUb7R8JuQdbqYw-7mhYM4WWZNb2JTbGDfk0zeEX6oFuPxuHxAUzMnNuimesbbsBqjLrq0btkc/s1600/IMG_3282+polarized+film.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsfqZ4MkDwy_9OdqACnTGUIJ8Nm8pC5akEoSphBOr4Dx2B3fLa1sVWM_bEZ72uIrDGycTUb7R8JuQdbqYw-7mhYM4WWZNb2JTbGDfk0zeEX6oFuPxuHxAUzMnNuimesbbsBqjLrq0btkc/s200/IMG_3282+polarized+film.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjV7UQkYRgSh9jzYxXkFleQ8q5ZJFEFktsatyBnMWUHESRd8pDli-2fGa4-JE7D_w_CZBH1PyaxA_OESI3ujxjTtfbN39j0EeAQevECvt5TvvAHArnBd9qU9Oy0khUXYDsgwk3lqMGue-0/s1600/IMG_3283+polarized+film.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjV7UQkYRgSh9jzYxXkFleQ8q5ZJFEFktsatyBnMWUHESRd8pDli-2fGa4-JE7D_w_CZBH1PyaxA_OESI3ujxjTtfbN39j0EeAQevECvt5TvvAHArnBd9qU9Oy0khUXYDsgwk3lqMGue-0/s200/IMG_3283+polarized+film.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
It turned out that the film itself acts as a polarizing filter to an extent in both the machine direction (MD) and the transverse direction (TD). In the first image, the film is oriented at a roughly 45° angle to the polarization of the light source and further 45° degrees to the polarization axis of the filter which itself is perpendicular to the light source. In the second image, the film is oriented to align with the light source in the machine direction and with the filter in the transverse direction. Because of that the light is blocked except for the corner piece intentionally folded at an angle to form a transitional filter between the two perpendicular polarizations.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwf1GqH6-i2vCKEriKKVsIUIgIPuC-HYnTP-817Yy-CsSK2PzQYVfGMmE9owQtfEzvV5LQozAVxjrY_9PQ1AT8Ft363pYlnmW8jQ5ewVsUHftLi7RyclrHfCu8_Ye3nyMT0AWddmVE3iA/s1600/polarization+02.PNG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwf1GqH6-i2vCKEriKKVsIUIgIPuC-HYnTP-817Yy-CsSK2PzQYVfGMmE9owQtfEzvV5LQozAVxjrY_9PQ1AT8Ft363pYlnmW8jQ5ewVsUHftLi7RyclrHfCu8_Ye3nyMT0AWddmVE3iA/s200/polarization+02.PNG" width="200" height="150" data-original-width="400" data-original-height="300" /></a>
</div>
A schematic representation of the setup used to acquire the previous images can be seen above. The polarizations of the source light, the filter and the piece of film are all indicated. The method was utilized in the following instances:<br />
<ul>
<li>Inspecting the sheets of film for defects prior to cutting individual balloon shapes. Particularly the upper layers of a film roll are often damaged from transportation and handling.</li>
<li>Checking the individual welds after the envelope was heat sealed.</li>
<li>Highlighting material imperfections and deformations after the envelope was pre-stretched.</li>
</ul>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZna0N2VFxJmqzNOyVoXGAwji3bpfPx3kcXD-QN1gfVNX47EAm5mwziVb4F1BzsdI0Kf-2Z43ZH3aXEh0826EnHo2G3il4j62NT420ng2E8jnUvxNSQwyNBnYZadpTSLQMKGvzFbJ3jPU/s1600/IMG+polarized+film.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZna0N2VFxJmqzNOyVoXGAwji3bpfPx3kcXD-QN1gfVNX47EAm5mwziVb4F1BzsdI0Kf-2Z43ZH3aXEh0826EnHo2G3il4j62NT420ng2E8jnUvxNSQwyNBnYZadpTSLQMKGvzFbJ3jPU/s200/IMG+polarized+film.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5EZJWoPetqGasUN0aJoY3RMwbQLSHa4eeQFARY9HAnn82p57j1tWYnGd0hUqOxuM9AV3nOArcGpo_1YyGE_Lll9zB_nd8857nRgpOFjXJ95xktoJ6ZfU9qAdEQsbTrYRaPJz6kTNzhxs/s1600/IMG_3292+polarized+film.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5EZJWoPetqGasUN0aJoY3RMwbQLSHa4eeQFARY9HAnn82p57j1tWYnGd0hUqOxuM9AV3nOArcGpo_1YyGE_Lll9zB_nd8857nRgpOFjXJ95xktoJ6ZfU9qAdEQsbTrYRaPJz6kTNzhxs/s200/IMG_3292+polarized+film.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
An example of the effect is illustrated in the images above. As a rectangular piece of the film is stretched in hands, it unevenly plastically deforms impacting the local refractive indices. The images capture three degrees of increasing strain. The polarizing filter is oriented to block the polarized light source. The white light incident on the material decomposes to two orthogonal components each travelling at a velocity in accordance with its own refractive index. When exiting the material, the components recombine resulting in a new polarization (further description of the <a href="https://en.wikipedia.org/wiki/Waveplate">principle</a>). Since the effect is wavelength dependent, individual wavelengths undergo differing phase shifts between the components, hence the recombined rays suffer different degrees of extinction when they pass the polarizing filter. The result is a color pattern reflecting the degree of strain in different parts of the piece of material.<br />
<br />
<b>Heat sealing.</b> A balloon envelope first starts as two or more sheets of the film cut out to specific shapes. The separate sheets are then heat sealed together to form an airtight envelope with a gas inlet.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_axczZM3toABH3QXnCJ2g6Svj38jtRk4D8eRnZWQnUmYeM2EOMrNs4Ab-y7RsEstbCkbn796bxjvKCWRzQyBdyjXau_-Nj_tVAl-yqpSa8SZvV7BTJaIDQXEOZFoE08t_5WnuidJIO0U/s1600/IMG_3384+heat+sealer.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_axczZM3toABH3QXnCJ2g6Svj38jtRk4D8eRnZWQnUmYeM2EOMrNs4Ab-y7RsEstbCkbn796bxjvKCWRzQyBdyjXau_-Nj_tVAl-yqpSa8SZvV7BTJaIDQXEOZFoE08t_5WnuidJIO0U/s200/IMG_3384+heat+sealer.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIBPFw-pxbdZDiSY1A6arQNs1vCGTCh0FGiOpwXzHlZo2Nf5f3SjhsPfNIPjEkZywnXstq_WBRVUAeEgiZKPDsOkvPw50X4y9RZ0grOh5jmvbMRCsmaFqsunD-d9H_DDzCN_NfBCyISyM/s1600/IMG_3407+pressure+bar.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIBPFw-pxbdZDiSY1A6arQNs1vCGTCh0FGiOpwXzHlZo2Nf5f3SjhsPfNIPjEkZywnXstq_WBRVUAeEgiZKPDsOkvPw50X4y9RZ0grOh5jmvbMRCsmaFqsunD-d9H_DDzCN_NfBCyISyM/s200/IMG_3407+pressure+bar.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
The tool used in making the following examples and later on the actual balloon envelopes is a custom heat sealer described in detail in an earlier blog <a href="https://tt7hab.blogspot.com/2019/07/the-custom-heat-sealer.html">post</a>. As the shapes requiring heat sealing may be diverse, there are a few different types of welds and potential issues to be aware of.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg770DxJOqOjNUDOBSoniiToNu4kAx_bdllarx_vmDIUMjpavZ39iHifrUxOEqylku6HHbfXCVA2w8uWBq053QZV6WBaJTBe-bhjEV8HXPFEolz3UqksuLwn7G-A0iAR-T9p-U4fpdGEpw/s1600/IMG_3657+round+weld.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg770DxJOqOjNUDOBSoniiToNu4kAx_bdllarx_vmDIUMjpavZ39iHifrUxOEqylku6HHbfXCVA2w8uWBq053QZV6WBaJTBe-bhjEV8HXPFEolz3UqksuLwn7G-A0iAR-T9p-U4fpdGEpw/s200/IMG_3657+round+weld.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
Most commonly, there is a need to heat seal a circular shape along its circumference. The roundness is achieved by overlaying straight welds at a certain angle to each other. Only a part of the heating wire is typically used to make the weld. The image above illustrates the round weld. Both this image and the following images were taken through the polarization filter. The varying color spectrum between images is due to the orientation of the filter as some features are easier to highlight this way while other with the filter reoriented.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1eyyLFftB4Ts_bVFaNUuckidbZTNihT_dvjYFgMfZKFBy7ERdJqqI-u_E25IkKi-6RbFAhEYV8xAZBEQeA9HjhfpgPi68-dj09ZMZvw4WiNu8nIBvMTYc6XDnCat7iOyjMYdIZqQmxxs/s1600/IMG_3660+straight+weld.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1eyyLFftB4Ts_bVFaNUuckidbZTNihT_dvjYFgMfZKFBy7ERdJqqI-u_E25IkKi-6RbFAhEYV8xAZBEQeA9HjhfpgPi68-dj09ZMZvw4WiNu8nIBvMTYc6XDnCat7iOyjMYdIZqQmxxs/s200/IMG_3660+straight+weld.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhre00FPleTSI2GGDEiI23CcsY-Nv-uOhe-8KBuNqbSox9C6m0CdKSGU-iJzfZCKdad6B4kzNQf1T4pDX23o6VfzJdTTOo8uj0jjstpWnuuzeM8HDNza3A3z0zQn9W0zI19Zhcn_HEpCZc/s1600/IMG_3666+straight+weld.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhre00FPleTSI2GGDEiI23CcsY-Nv-uOhe-8KBuNqbSox9C6m0CdKSGU-iJzfZCKdad6B4kzNQf1T4pDX23o6VfzJdTTOo8uj0jjstpWnuuzeM8HDNza3A3z0zQn9W0zI19Zhcn_HEpCZc/s200/IMG_3666+straight+weld.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
Some balloon shapes require making long straight welds. Since the heat sealer's wire has only a limited length (345mm), a series of straight welds have to be conjoined and aligned. A slight issue arises from the fact that the film tends to melt a little too much at the ends of the pressure bar pressing the film onto the wire. Because of that, I let the welds slightly overlap to avoid concentrating the excess melting in one spot. Illustration of the phenomenon can be seen in the images above.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzMlVQxTljK7pp9tGKQAwRC4TkCy5IkMdA1fWSEma0sHh4aFSOiegI_YF6w2GDo0ukD__N9fU7HXHDL42wcf8PD0pxOVtjEJMbIp4zeqBwvoAS5eKMAGDXkcw4AlqJJ_cWGHZ-rlU4tUg/s1600/IMG_3677+corner+weld.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzMlVQxTljK7pp9tGKQAwRC4TkCy5IkMdA1fWSEma0sHh4aFSOiegI_YF6w2GDo0ukD__N9fU7HXHDL42wcf8PD0pxOVtjEJMbIp4zeqBwvoAS5eKMAGDXkcw4AlqJJ_cWGHZ-rlU4tUg/s200/IMG_3677+corner+weld.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQvhHNFL6jCQh4Z6cj3ord0vyuAbOSWl1digzr_Z73f79zHfNvKoR67Sq3wI2aDC3g70WL7K7LQ1Vp4ae9dzWj8E3PeK-3sU_uB9Pnxg_eTiYSDdKhTlNU-dYdGKrUtF-Lca5lOjvmduw/s1600/IMG_3682+corner+weld.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQvhHNFL6jCQh4Z6cj3ord0vyuAbOSWl1digzr_Z73f79zHfNvKoR67Sq3wI2aDC3g70WL7K7LQ1Vp4ae9dzWj8E3PeK-3sU_uB9Pnxg_eTiYSDdKhTlNU-dYdGKrUtF-Lca5lOjvmduw/s200/IMG_3682+corner+weld.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
The same issue is encountered when making corner welds necessary for the balloon's gas inlet. In this case, though, the melted end of the weld is exposed to the inside of the balloon and will be subjected to stress due to the envelope stretching. The welds are positioned in a way to minimize the melted area that would be exposed to the stress as can be seen in the images.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0sLkc39NbJDYC2F0Yl7MKUTXLnJ8UJLqPfEG2vMWnHptqs5aY2HChafZuahAj88ljadrqphhyphenhyphen9TCYzt-WI6q0wGj57qAYquj5awQlSPlM4IMu4cx14VAZzr2lnFcvcV0GNjOLF5ML52Y/s1600/IMG_3695+weld+end+pressure.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0sLkc39NbJDYC2F0Yl7MKUTXLnJ8UJLqPfEG2vMWnHptqs5aY2HChafZuahAj88ljadrqphhyphenhyphen9TCYzt-WI6q0wGj57qAYquj5awQlSPlM4IMu4cx14VAZzr2lnFcvcV0GNjOLF5ML52Y/s200/IMG_3695+weld+end+pressure.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
This image shows what happens when there is not enough pressure from the pressure bar at the end of a weld. The heat sealed area tends to warp creating spots with concentrated stress which can develop holes when the envelope is pressurized and the material stretched. Care must be taken when pressing the film with the pressure bar to distribute the pressure evenly.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrFJ5_XopHMxietwszhhlbinnO5XQm1f8YR9CTujVZ2Jw2vgAXfqds3XenIT2Gxxsx72wPWQ_T9Hh5ZFchqpB8Z2-PLDawQ1bngN60ys8KxXUs8dMIVIkgJiFDE3Bm89TC_r9MxOOTj08/s1600/IMG_3713+overextended+weld.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrFJ5_XopHMxietwszhhlbinnO5XQm1f8YR9CTujVZ2Jw2vgAXfqds3XenIT2Gxxsx72wPWQ_T9Hh5ZFchqpB8Z2-PLDawQ1bngN60ys8KxXUs8dMIVIkgJiFDE3Bm89TC_r9MxOOTj08/s200/IMG_3713+overextended+weld.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrlNhFaRdolltQQXq_fP6RC8eQDJA_FnysAgy_ZWTx_pl-s0J8w6n1gYLI6axCPTlyT0H_EXwweEYe5jVze-MzVpAnS_VrCWa2Yw8dupiPnzASUaRP829FBueNQOqAqZgqDB726ENFD2Y/s1600/IMG_3716+overextended+weld.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrlNhFaRdolltQQXq_fP6RC8eQDJA_FnysAgy_ZWTx_pl-s0J8w6n1gYLI6axCPTlyT0H_EXwweEYe5jVze-MzVpAnS_VrCWa2Yw8dupiPnzASUaRP829FBueNQOqAqZgqDB726ENFD2Y/s200/IMG_3716+overextended+weld.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
Another issue with the weld endings is that the heat tends to spread beyond the end of the pressure bar and partially seal the two film sheets. It is a problem, because it can result in unintentionally sealing the gas inlet as can be seen in the images above.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTD6c8ayRs81tGr7DAf9luPseLfVK3lyA095RrHEUNuyLBr30PdP8sUovJK_QheK6SQcRIac_3wOKo8sWB0SFOQZLelje21BMljZOwqMbv5JXE30YG2nqDfdzvqi40CSxciWzZwwjDdYQ/s1600/IMG_3853+proper+corner+weld.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTD6c8ayRs81tGr7DAf9luPseLfVK3lyA095RrHEUNuyLBr30PdP8sUovJK_QheK6SQcRIac_3wOKo8sWB0SFOQZLelje21BMljZOwqMbv5JXE30YG2nqDfdzvqi40CSxciWzZwwjDdYQ/s200/IMG_3853+proper+corner+weld.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7nRBKyoLb-sXzy8OvK_iXqboeNesF7Nn5wi0KLKk7gtfTn2GqMRu_4FgwJYZCAez6plJxnO1gQ2mi4NLtKkz7Pc8-NcHsof84OlLUmIVNmTlkYNpcIWMssXC3pr0gnoQ4WI435q_jgBI/s1600/IMG_3856+proper+corner+weld.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7nRBKyoLb-sXzy8OvK_iXqboeNesF7Nn5wi0KLKk7gtfTn2GqMRu_4FgwJYZCAez6plJxnO1gQ2mi4NLtKkz7Pc8-NcHsof84OlLUmIVNmTlkYNpcIWMssXC3pr0gnoQ4WI435q_jgBI/s200/IMG_3856+proper+corner+weld.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
An approach I have adopted to limit this adverse effect is to use a couple of pieces of a teflon tape (in both cases two pieces taped to each other) placed one in between the two sheets of film and the other between the film sheets and the wire as can be seen in the images above. This tends to contain the sealing to more or less where it was intended. In general, the weld endings are quite sensitive areas most prone to developing holes as the envelope is stressed and stretched if made poorly.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3CGOAhgzgKbifrcTnRk8kKDyshI9GD0mp7S5kGljbrOoLP8-cZmuah71XGnp84orOI6vPUpqeypjODg_j3_hRRdm414qUa4V5OXVQKdm8sjo5qxbIih5mQ1qNKxZl0PN76dLQZd-0obU/s1600/IMG_3858+proper+straight+weld.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3CGOAhgzgKbifrcTnRk8kKDyshI9GD0mp7S5kGljbrOoLP8-cZmuah71XGnp84orOI6vPUpqeypjODg_j3_hRRdm414qUa4V5OXVQKdm8sjo5qxbIih5mQ1qNKxZl0PN76dLQZd-0obU/s200/IMG_3858+proper+straight+weld.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRGEOVb2-vFL5V8aS4NHSzlZLACST-KNeF8DNl17qFgO8E_nuGFnzufv1C2ku_1T2VPLFnaoO7km3ONDn5Z0ULpfAAa-o8xV3a18IoHOhAEf2ushWPRZkuxUijm1IWPQuf1nAjdM_XLy8/s1600/IMG_3860+proper+straight+weld.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRGEOVb2-vFL5V8aS4NHSzlZLACST-KNeF8DNl17qFgO8E_nuGFnzufv1C2ku_1T2VPLFnaoO7km3ONDn5Z0ULpfAAa-o8xV3a18IoHOhAEf2ushWPRZkuxUijm1IWPQuf1nAjdM_XLy8/s200/IMG_3860+proper+straight+weld.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
I also use a similar approach when making the long straight welds. This time with the teflon pieces either side the pressure bar between the film sheets and the wire. Originally, the heat sealer was occasionally as far as melting the film at the very ends. It turned out that the heating wire wasn't laid on the cement-bonded particle board beneath it all the way to the end of the sealing area and as a result, it was running a bit too hot there. This also made me shorten the pressure bar by a few millimeters.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVSylfa6cRBOz1cSOFWkYhpmwdFRUhOYG-Ctn15Fj1PKw9AR4ZETrCNytMVkBJspm1kxslWJH5Zyg1g4pAIbQtUbbVBC0TYCNuoV1liMFffLj1Ncmh_ykmc5RP3x6z1jBAjCQWxbRlo6I/s1600/IMG_3740+multilayer+weld.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVSylfa6cRBOz1cSOFWkYhpmwdFRUhOYG-Ctn15Fj1PKw9AR4ZETrCNytMVkBJspm1kxslWJH5Zyg1g4pAIbQtUbbVBC0TYCNuoV1liMFffLj1Ncmh_ykmc5RP3x6z1jBAjCQWxbRlo6I/s200/IMG_3740+multilayer+weld.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
Some larger envelope designs require heat sealing more than just two sheets of film. The image above shows a weld of four sheets of film. First, two sheets were heat sealed together with one of the yellow vertical welds, then the other two sheets with the other vertical weld. Both resulting sheets were opened, laid facing each other, and heat sealed together creating the multilayer horizontal weld - yellow parts represent four layers heat sealed together, white parts standard two layers.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjP5wivhEZdDzEllh7eI8jOkXfehJZmOgjniqio5PEiOVsaHvRrliwxA-rYgz-730El5o4HeWT8Ixesn8_oVIEaP1fwSA9g4QOBLyJIpEPbPzrMxWf7oZLbCQDP0GbdTkUS1uZ7A335sCQ/s1600/IMG_3753+B3+excess.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjP5wivhEZdDzEllh7eI8jOkXfehJZmOgjniqio5PEiOVsaHvRrliwxA-rYgz-730El5o4HeWT8Ixesn8_oVIEaP1fwSA9g4QOBLyJIpEPbPzrMxWf7oZLbCQDP0GbdTkUS1uZ7A335sCQ/s200/IMG_3753+B3+excess.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
Sometimes when finishing the overall weld, there is an excess of film from one of the sheets. In such a case, the excess film is folded and heat sealed as a four-layer weld.<br />
<br />
<b>Glue.</b> The balloons I have been working on are intended for the <a href="https://tt7hab.blogspot.com/2018/09/the-tt7b-tracker.html">TT7B</a> tracker. Since part of the tracker is a pressure sensor and a thermistor that are intended to be sealed inside a balloon envelope, I had to come up with a way to accomplish this.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvaT0BYv6zu-SMCPpTJGAJbHXq7L-SxpyeKAnMNPIKymfvtUyjQZ5BI8y4xIBt5dK0DyAdZF6YGrE4rUWcQDzirUkrSO7VIcH157NCXxhYIjdMc0GSYSzvCF6gMchCCntOYLGrLs854HM/s1600/IMG_3583+PE+glue.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvaT0BYv6zu-SMCPpTJGAJbHXq7L-SxpyeKAnMNPIKymfvtUyjQZ5BI8y4xIBt5dK0DyAdZF6YGrE4rUWcQDzirUkrSO7VIcH157NCXxhYIjdMc0GSYSzvCF6gMchCCntOYLGrLs854HM/s200/IMG_3583+PE+glue.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
It is not possible to make an ordinary weld over the cable, because the cable's dimensions leave the film close to it unsealed. The other option was filling the balloon's inlet with glue. However, polyethylene is due to its non-polarity often mentioned among surfaces to which most glues don't adhere. The ones that do list PE, such as the Loctite All Plastics I used, are typically two part - a surface activator and the glue.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyCIcwNW-IM5t0uz6I7rjQjPKwRWutUALgpE0KuGz40bORzmHvxRbuaK5Gvywt3A60p2PGdOUXhnvycsgYZg0_4I8KIhKEq-4TPahAXenI0ZYnfnQZ5HFrMOlIEZd_hjyJh2cbhhbepsI/s1600/IMG_3588+inlet.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyCIcwNW-IM5t0uz6I7rjQjPKwRWutUALgpE0KuGz40bORzmHvxRbuaK5Gvywt3A60p2PGdOUXhnvycsgYZg0_4I8KIhKEq-4TPahAXenI0ZYnfnQZ5HFrMOlIEZd_hjyJh2cbhhbepsI/s200/IMG_3588+inlet.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhc8bgotEC0qnZ06OYxIXUj_P-coEDkPkYs9_V3LFYMKsm8Wvh7gV-D-xXsQH2I1OvO140WKN42THaC2H4Q2Bg4z58y-apd8aV6LXzH-3PVuAd-jxcxXY7v6YwkIkjgxR4dZPeK6UirWGI/s1600/IMG_3600+glued+inlet.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhc8bgotEC0qnZ06OYxIXUj_P-coEDkPkYs9_V3LFYMKsm8Wvh7gV-D-xXsQH2I1OvO140WKN42THaC2H4Q2Bg4z58y-apd8aV6LXzH-3PVuAd-jxcxXY7v6YwkIkjgxR4dZPeK6UirWGI/s200/IMG_3600+glued+inlet.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
This is a 20mm test inlet (it must be wide enough for the sensors to pass through) in the image on the left. The image on the right shows a cured blob of the glue sealing the inlet at the top. It is easier to discern the glue in the black and white rendition. A few drops of the glue put under pressure filled the whole space making the seam airtight.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5J18XCD56IjaKwA_YAHTINP-gZtBSKduR8Uqfu7SM-_TaUaWlJAWWBjWWLd-Wpcr0Q5uodDQpsC40eJS_34uW2IXhOeInt1vgPxdO_qTANm15OC0s4OiiHmBUeExhiCbAuXNgq0o2d68/s1600/IMG_3606+glued+inlet+wire.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5J18XCD56IjaKwA_YAHTINP-gZtBSKduR8Uqfu7SM-_TaUaWlJAWWBjWWLd-Wpcr0Q5uodDQpsC40eJS_34uW2IXhOeInt1vgPxdO_qTANm15OC0s4OiiHmBUeExhiCbAuXNgq0o2d68/s200/IMG_3606+glued+inlet+wire.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyngUahGKTpv47cJ908VKdiGfhDUKhYnnRIOpPqNhbINmivutSM7OIz6wqFQsHXdwtXJdlzm0bS53QCLyyqXmsqIuGLXYGFQRW_vaq64KU-OBgY9S2NUy816RoLWXINagpGSpfkrr4g_A/s1600/IMG_3612+glued+inlet+wire.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyngUahGKTpv47cJ908VKdiGfhDUKhYnnRIOpPqNhbINmivutSM7OIz6wqFQsHXdwtXJdlzm0bS53QCLyyqXmsqIuGLXYGFQRW_vaq64KU-OBgY9S2NUy816RoLWXINagpGSpfkrr4g_A/s200/IMG_3612+glued+inlet+wire.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
The cable is composed of 8 strands of thin magnet wire wound together. Following the same approach as previously, this time with the cable inside the inlet, had the same effect. The inlet was sealed airtight and it was impossible to pull the cable out. The polarized light, then, provides a useful means of optical control.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUJgz4-SVj-o1O0uLs1cLQFthbKMUdDKD-28EHxZ93hljfdSJ2H6a6UpiMvRuronlUAQ-ikwfbVfAXVyx8tO2f3bo7T037-PZQVkqRkROd7QjDREaMiJ3FDlWnZnpJ2H8W2f3xKRYY6oo/s1600/IMG_3629+glued+inlet+wire.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUJgz4-SVj-o1O0uLs1cLQFthbKMUdDKD-28EHxZ93hljfdSJ2H6a6UpiMvRuronlUAQ-ikwfbVfAXVyx8tO2f3bo7T037-PZQVkqRkROd7QjDREaMiJ3FDlWnZnpJ2H8W2f3xKRYY6oo/s200/IMG_3629+glued+inlet+wire.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpPqVRL6ddDT9xamRnayowpIAuGwcMaJZej9JTabXFmlkTibUY6ZdfZcKmkwgMLs6OffszHx4_a9Vbq-CxDLUSDYBdxM6WbpsVuDVjsgkysn0iOycKkU-uxA4ec6b3bstlgrQfG6ADwso/s1600/IMG_3631+glued+inlet+wire.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpPqVRL6ddDT9xamRnayowpIAuGwcMaJZej9JTabXFmlkTibUY6ZdfZcKmkwgMLs6OffszHx4_a9Vbq-CxDLUSDYBdxM6WbpsVuDVjsgkysn0iOycKkU-uxA4ec6b3bstlgrQfG6ADwso/s200/IMG_3631+glued+inlet+wire.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
These images come from a test balloon where a secondary inlet was glued airtight with a test cable inside, while a primary inlet was used to pressurize the balloon to test the seam. No leakage was registered during a 12 hour test at an inner pressure of 1800Pa. Care must be taken, so the glue doesn't creep along the wire to inside the balloon when pressed while curing as it is partially visible in the images.<br />
<br />
<b>Envelope types.</b> Since the motivation behind designing the TT7B tracker was to collect information on balloon behavior, I decided to make a few different envelope types, so there is some comparison.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDgEdHTpOdam-4sxAj6PJbmU12lH8r7gmtDhdo0yCGZF-q3I6aSiMb_oqdDVlrHccEsJdQj2e9RA3rLlJPVmBfqK9UUbdQRPhWbdHDYTgQkUH3z9WjiHuU4QOZoJ0RsjyC3m833CetT2g/s1600/schematic+envelopes+01.PNG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDgEdHTpOdam-4sxAj6PJbmU12lH8r7gmtDhdo0yCGZF-q3I6aSiMb_oqdDVlrHccEsJdQj2e9RA3rLlJPVmBfqK9UUbdQRPhWbdHDYTgQkUH3z9WjiHuU4QOZoJ0RsjyC3m833CetT2g/s320/schematic+envelopes+01.PNG" width="320" height="148" data-original-width="1300" data-original-height="600" /></a>
</div>
This is a basic schematic of the three envelope types that were made. The first type utilizes the full width of the film roll to give rise to a <a href="https://en.wikipedia.org/wiki/Mylar_balloon_(geometry)">Mylar balloon</a> shaped envelope made of two circular sheets 1.35m in diameter. The second type then just separates the two semicircles with an additional piece of rectangular sheet 1.0m in length to create a tube shaped balloon. The third type is again a Mylar balloon shaped envelope, but this time made of four semicircular sheets with an overall diameter of 2.04m.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEdsFEzQbq4H7xKUJaOX9EoCcxI2Twp-WB5L_PsPiYXLtnCbkNG7ah-2ZRi7NR0UJ2AN9g8F0jNMpVPrufC4eeAtvf1eeVL8hx_GheoTTWV5JtK6xZ1DEMFVJhZGkhrRNcjTTT1P4Y3T8/s1600/IMG_3868+B6+135+envelope.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEdsFEzQbq4H7xKUJaOX9EoCcxI2Twp-WB5L_PsPiYXLtnCbkNG7ah-2ZRi7NR0UJ2AN9g8F0jNMpVPrufC4eeAtvf1eeVL8hx_GheoTTWV5JtK6xZ1DEMFVJhZGkhrRNcjTTT1P4Y3T8/s200/IMG_3868+B6+135+envelope.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRPEmrNVl1CVbFVRPoFFihEJiSEJ6eRUBMVbwG7oSk5qrh2SO_ignWC3Uvsnu0Xh9-kulEjzjelxGx6nzH5cU9wRZEtWq6LF9oN1ghofIcuyFebtMV6582MwB-C795g4BSIhiRcnZZXe8/s1600/IMG_3875+B7+1M+envelope.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRPEmrNVl1CVbFVRPoFFihEJiSEJ6eRUBMVbwG7oSk5qrh2SO_ignWC3Uvsnu0Xh9-kulEjzjelxGx6nzH5cU9wRZEtWq6LF9oN1ghofIcuyFebtMV6582MwB-C795g4BSIhiRcnZZXe8/s200/IMG_3875+B7+1M+envelope.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7Re2T7k2TWvw7YHyszXk44EFdYxVFMb1eTfBlnyMxauLPXLS56hsStlQF67_rzwsSs7CBeeDViANVfok9zNU7dnrR7P2IbX38849UMW_EzHPfOTX8dUkIlGbLcGBkjzlpfyHqRZRlNQw/s1600/IMG_3879+B5+200+envelope.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7Re2T7k2TWvw7YHyszXk44EFdYxVFMb1eTfBlnyMxauLPXLS56hsStlQF67_rzwsSs7CBeeDViANVfok9zNU7dnrR7P2IbX38849UMW_EzHPfOTX8dUkIlGbLcGBkjzlpfyHqRZRlNQw/s200/IMG_3879+B5+200+envelope.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
These are the heat sealed envelopes prior to pre-stretching. Including the time spent cutting out the shapes, it took a couple to a few hours depending on the specific size to make one of the envelopes. The blog post detailing the custom heat sealer ended with a description of a heat sealing procedure - sealing, cooldown and idle durations to ensure consistency among individual welds. When making these envelopes, I roughly followed that procedure. In practice, arranging the next weld occasionally took a little longer at which point I compensated with a little longer sealing duration, all based on the reported wire temperature. The specific parameters moved between the following values: input of 13V (7.3-7.7V across the wire) - fixed, heat sealing duration of 10.0-12.5s, cooldown period with film under pressure of 10-12s, and the period between individual welds of 60-120s.<br />
<br />
<b>Pre-stretching.</b> The sealed envelopes undergo pre-stretching, a process of inflation and slow increase of pressure inside the envelope. A description of a programmable pre-stretching rig I built for this purpose can be found in an earlier blog <a href="https://tt7hab.blogspot.com/2019/07/the-pre-stretching-rig.html">post</a>.<br />
<br />
Reasons for pre-stretching:<br />
<ul>
<li>Verifying the strength of the welds, and that the envelope was sealed airtight. In this case, the envelope can be inflated rapidly so the high strain rate makes the material behave as if it was at a low temperature - strong and brittle.</li>
<li>Increasing the inner volume of the envelope. Larger inner volume leads to lower internal pressure caused by the same amount of gas needed to lift it which consequently decreases tensile stress within the material (despite the film becoming thinner).</li>
<li>Increasing the strength of the material by forcing polymer chain alignment within the material.</li>
<li>Releasing potential stress concentrations from the material and edges around welds. In this case and the previous two, the envelope is pressurized carefully even just held at a specific pressure level so the strain rate is very low, and the material behaves as if it was at a high temperature - elastic and yielding at low stress.</li>
</ul>
At float altitude, the balloon is permanently pressurized with the inner pressure increasing during the day and decreasing again during the night as the temperature of the gas changes with solar irradiation. The key difference between the inevitable stretching during a flight and pre-stretching is in the conditions. The ability to control the temperature, the pressure and implicitly the strain rate allows changing the material properties from strong and brittle to soft and elastic. In practice, maintaining constant pressure in an expanding envelope leads to increasing stress in the material. In other words, just keeping the envelope at a specific pressure equates to a low strain rate due to creep. The pre-stretching pressure levels must be chosen carefully. Otherwise, the creep rate at room temperature may be quite high. For example, the smallest envelope type pre-stretched at 1800Pa may expand its volume until it developes a tear in just a couple of 10s of hours.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgS5WS2Yks_MXFOkkLnOSkbHUedwpQpDSIdYCUIGmgKPcyysUjaALPj7KXsxveUsOmzh-Asl4N1GxSbEnAXVoZOcolpgRm2hhk4ot6HmruuAFpOc0Dr-IS-2hHrFdD479sqS0nBn7C09wA/s1600/IMG_3571+suspended+pre-stretching.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgS5WS2Yks_MXFOkkLnOSkbHUedwpQpDSIdYCUIGmgKPcyysUjaALPj7KXsxveUsOmzh-Asl4N1GxSbEnAXVoZOcolpgRm2hhk4ot6HmruuAFpOc0Dr-IS-2hHrFdD479sqS0nBn7C09wA/s200/IMG_3571+suspended+pre-stretching.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3-1ZLyGFjXbjfpLUXb6SMAidHKymyWSTdHsZZvUrdibfMatBpO0ZCw_1CPG3fZg95F6t_I4na9ZUoNUCQE7fKZByi3BrzZJHTqfYpwEqMsGor8KDd_nojGLYTgoF9TWBsMhDzzLrZpCY/s1600/IMG_3575+suspended+pre-stretching.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3-1ZLyGFjXbjfpLUXb6SMAidHKymyWSTdHsZZvUrdibfMatBpO0ZCw_1CPG3fZg95F6t_I4na9ZUoNUCQE7fKZByi3BrzZJHTqfYpwEqMsGor8KDd_nojGLYTgoF9TWBsMhDzzLrZpCY/s200/IMG_3575+suspended+pre-stretching.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a>
</div>
There was one other novelty since my last attempt at stretching balloons. Noticing that visible permanent deformations of the material - stretching marks - typically developed unevenly between the two sides of an envelope based on which side it was laid on the ground, the pre-stretching was done with the envelope hanged in midair this time to distribute the pressure evenly between the hemispheres.<br />
<br />
The pre-stretching leads to deformations within the material. The polarized light is ideal for inspecting the envelope and observing the artifacts that develop. The following is a summary of what I've encountered.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOfH9GD0sfcGiVJ2bsxPVCh2JUw98g1MMGb6lbQ2EbJdQL-qD2BRynnpyEghs0dvrEc9Rv345tmAuR8E6Q9SIqmpGwnynSbP0jkGGb0c1S7rDyCEWz6j8yXhhlxsTVYPQcWpuwOH_T2vg/s1600/IMG_3788+B3+weld+stretched.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOfH9GD0sfcGiVJ2bsxPVCh2JUw98g1MMGb6lbQ2EbJdQL-qD2BRynnpyEghs0dvrEc9Rv345tmAuR8E6Q9SIqmpGwnynSbP0jkGGb0c1S7rDyCEWz6j8yXhhlxsTVYPQcWpuwOH_T2vg/s200/IMG_3788+B3+weld+stretched.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3UD1fYGYIF21qT6s882EXZlhtvoTatCTJRROQVpbHXuFlc4Ab6wMEu3hD15qDFSmyQrh0QdiilaExEubBJ4uImdFOtWWF5C6GWgy4QZcIdGqZXreLX7EgXJOZFdyluXMOvNz-fsMGLcc/s1600/IMG_3790+B3+weld+stretched.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3UD1fYGYIF21qT6s882EXZlhtvoTatCTJRROQVpbHXuFlc4Ab6wMEu3hD15qDFSmyQrh0QdiilaExEubBJ4uImdFOtWWF5C6GWgy4QZcIdGqZXreLX7EgXJOZFdyluXMOvNz-fsMGLcc/s200/IMG_3790+B3+weld+stretched.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
This is a perfectly holding weld without any signs of loosening after the envelope was pre-stretched. As the shape of a pressurized envelope tends to round out, the material along the straight welds locally deforms to accommodate to the new shape.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7tEeXAieUuhm9lzkVQ0FTxcUtPQOuIZx5Aop6HKwveak00SMI0V0GKwIjFmLnH2DeDLq8Mj0p2m1pF19QgsPrQX6AMzmvwVEHWxLsXrwUZaj1lJ94yyM5Mifcjj0IMRUJkVEpfH_fTRE/s1600/IMG_3953+B5+straight+weld+defect.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7tEeXAieUuhm9lzkVQ0FTxcUtPQOuIZx5Aop6HKwveak00SMI0V0GKwIjFmLnH2DeDLq8Mj0p2m1pF19QgsPrQX6AMzmvwVEHWxLsXrwUZaj1lJ94yyM5Mifcjj0IMRUJkVEpfH_fTRE/s200/IMG_3953+B5+straight+weld+defect.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPd9rfYbcr2A2vMcwepIR9Auw141Ij7TdKv9mUW5FjbQbHTjSiijwtBvJkPVGuNzcSIq_lLHiZjyqbuDUNjL7Hih1digQAesdNWTvazlVuGml9QzfFkBWy_BQr81MZ_9k4F35d98GO_3I/s1600/IMG_4002+B5+straight+weld+defect.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPd9rfYbcr2A2vMcwepIR9Auw141Ij7TdKv9mUW5FjbQbHTjSiijwtBvJkPVGuNzcSIq_lLHiZjyqbuDUNjL7Hih1digQAesdNWTvazlVuGml9QzfFkBWy_BQr81MZ_9k4F35d98GO_3I/s200/IMG_4002+B5+straight+weld+defect.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
This, on the other hand, is a long straight weld spanning across the most stressed area on the largest envelope that opened by a couple of millimeters, and the previously heat sealed material began to stretch.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0T3cxEHzJjWyO4Qnhk0ew-Ib5wVJ2RpjpBNrwSsTjhrXw2jdl82Fnx-VHCGuePJB6pT3KFEKtmwlDl5ZISOSiY0CB0wJB7ZC3lX__PaKtO8hwC-4ygVaVkn3wSdJBFDK7eTvHEfLMIAs/s1600/IMG_3939+B5+straight+weld+rupture.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0T3cxEHzJjWyO4Qnhk0ew-Ib5wVJ2RpjpBNrwSsTjhrXw2jdl82Fnx-VHCGuePJB6pT3KFEKtmwlDl5ZISOSiY0CB0wJB7ZC3lX__PaKtO8hwC-4ygVaVkn3wSdJBFDK7eTvHEfLMIAs/s200/IMG_3939+B5+straight+weld+rupture.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglFnt3YokhtGOQAgYNB7UCxp33kYioiLU2KUm91L2ATjF7AKN9bVDu1TobxDLsLaTaiCan7MCsMklePlN5IsN4Oq9j2MO0_KBqScjpU85E29E8AxPDbALfz2OtJPsuM_8vXmS_EHp65Bo/s1600/IMG_3994+B5+straight+weld+stretched.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglFnt3YokhtGOQAgYNB7UCxp33kYioiLU2KUm91L2ATjF7AKN9bVDu1TobxDLsLaTaiCan7MCsMklePlN5IsN4Oq9j2MO0_KBqScjpU85E29E8AxPDbALfz2OtJPsuM_8vXmS_EHp65Bo/s200/IMG_3994+B5+straight+weld+stretched.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
Another defect of the long straight welds can be seen in the images above. This happens when the heat sealer melts the material too much at the ends of the heating wire. This weld still kept the balloon sealed, but its width was severely reduced.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjW5dzmaM97fqhW2GdRtKwK-qWHZC7BLn9V04AU0rBpE4AMEszQz_5WktTVfbqdhxkSx9U67djOC2dje8Iye1Rm4cXeXLlwg9LR0_dROkI5b6umQIyA9Yix7fb3XdB4VNmFKK44ofwO2_s/s1600/IMG_3970+B4+straight+weld+rupture.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjW5dzmaM97fqhW2GdRtKwK-qWHZC7BLn9V04AU0rBpE4AMEszQz_5WktTVfbqdhxkSx9U67djOC2dje8Iye1Rm4cXeXLlwg9LR0_dROkI5b6umQIyA9Yix7fb3XdB4VNmFKK44ofwO2_s/s200/IMG_3970+B4+straight+weld+rupture.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEim4cvRyYppRPkRE7_Djg9ZyVqGva4HFqt250oLMnYY5fhKfitEUj9n1J9g1fB5WLhwReeiemm_3IhMYCEe0zHo3zilxh3cmYmHgZeECvzqGf4b6915CXfujrPrSa2zRMYnstkfjwTxia0/s1600/IMG_3984+B5+straight+weld+stretched.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEim4cvRyYppRPkRE7_Djg9ZyVqGva4HFqt250oLMnYY5fhKfitEUj9n1J9g1fB5WLhwReeiemm_3IhMYCEe0zHo3zilxh3cmYmHgZeECvzqGf4b6915CXfujrPrSa2zRMYnstkfjwTxia0/s200/IMG_3984+B5+straight+weld+stretched.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
The image on the left, on the other hand, shows an extreme case of this defect where the weld eventually completely ruptured. The image on the right, then, illustrates a well-done case of conjoined straight welds.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjD5WYuD3NWa2tNtB7iYtvMb0tkVYrIcuI6-5Oe749edlbht5tPdMgvdnWuKU6-Yu3DMM4gdN5yedX4Ivkw3X-EBviyvd4lJNShuH2HnQXkXHFNwXltLvNkH8GBKuKNmHoukbLtw7ahZfo/s1600/IMG_3785+B3+inlet+stretched.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjD5WYuD3NWa2tNtB7iYtvMb0tkVYrIcuI6-5Oe749edlbht5tPdMgvdnWuKU6-Yu3DMM4gdN5yedX4Ivkw3X-EBviyvd4lJNShuH2HnQXkXHFNwXltLvNkH8GBKuKNmHoukbLtw7ahZfo/s200/IMG_3785+B3+inlet+stretched.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_-Rau47FPaQ821z36ipRjqVRhpSHqtX1YwzXYDFCfDq4XIXo2jMFG5YMAK7IBZWND0z4LnMuyEzj-hN3zTLNjzaqQ-BygVGsNGb8mow867j29tw4jAgecfEUgZrC5ZCNYa-TfqgoActA/s1600/IMG_3786+B3+inlet+stretched.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_-Rau47FPaQ821z36ipRjqVRhpSHqtX1YwzXYDFCfDq4XIXo2jMFG5YMAK7IBZWND0z4LnMuyEzj-hN3zTLNjzaqQ-BygVGsNGb8mow867j29tw4jAgecfEUgZrC5ZCNYa-TfqgoActA/s200/IMG_3786+B3+inlet+stretched.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
These images illustrate how stress is distributed around the gas inlet. Too much melting in the inner corner and the film will develop a hole as it stretches. This specific inlet is basically as best as it gets case with the heat sealer I use.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgger7UepD8ymI9zhYZx04SEx8xnR6AnM4Bl65CVMiQNwFa-I0VH_BxGWeewpv0wHE60TNBwfPYE2NnztLQiW702WABeuLzkvVzf-8UtJQ3J96GihOv78GveexiO9QKh5KoU9VFhce5tkQ/s1600/IMG_4004+B5+multilayer+weld+stretched.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgger7UepD8ymI9zhYZx04SEx8xnR6AnM4Bl65CVMiQNwFa-I0VH_BxGWeewpv0wHE60TNBwfPYE2NnztLQiW702WABeuLzkvVzf-8UtJQ3J96GihOv78GveexiO9QKh5KoU9VFhce5tkQ/s200/IMG_4004+B5+multilayer+weld+stretched.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgq4oa-hBzHdKGGYsI6UGjWRYW0_AGb-Ev2ues7gW4KXTz3dd3GRSC_nXIqY0Nt_LAQdbXxU3_FxTCbn_5zi8rjP_99vct3traCgAAZ7YwQGVKwhlwnHSCHp5x6m2nty9JryAMfzyP2QQs/s1600/IMG_3973+B3+excess+stretched.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgq4oa-hBzHdKGGYsI6UGjWRYW0_AGb-Ev2ues7gW4KXTz3dd3GRSC_nXIqY0Nt_LAQdbXxU3_FxTCbn_5zi8rjP_99vct3traCgAAZ7YwQGVKwhlwnHSCHp5x6m2nty9JryAMfzyP2QQs/s200/IMG_3973+B3+excess+stretched.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
These are the multilayer welds after pre-stretching. The four layer weld of the largest envelope on the left holding perfectly. The folded excess film on the right showing a slight loosening in the corner.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXoZQL6xUMI3rJpxeB5Hkig8wjdf24VYi8JgYIRtoEIMgOoUnLk3-9zA1RoeErkhjR3WKJQBDN1Jzr9_2W2POymXJKG5zykvj58TSLxLQiHqJuiS6vFmXbd6FomIqd6j9_TSoO29ShjAo/s1600/IMG_3642+material+texture.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXoZQL6xUMI3rJpxeB5Hkig8wjdf24VYi8JgYIRtoEIMgOoUnLk3-9zA1RoeErkhjR3WKJQBDN1Jzr9_2W2POymXJKG5zykvj58TSLxLQiHqJuiS6vFmXbd6FomIqd6j9_TSoO29ShjAo/s200/IMG_3642+material+texture.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIqpR3ua0fXFyfOBW7LGDyJeVV1Q_QhnP9zNm3teFPJhEOCcKfs5Oj0ZAczXuf_pPqE56v4DAkfR0pa7pAtjJkgZwsbuPtqn0Pn4kKzw6wcIVNSvc-HmuNviYPct_2ymPyHBAbIhS0KWY/s1600/IMG_3645+early+stretching+mark.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIqpR3ua0fXFyfOBW7LGDyJeVV1Q_QhnP9zNm3teFPJhEOCcKfs5Oj0ZAczXuf_pPqE56v4DAkfR0pa7pAtjJkgZwsbuPtqn0Pn4kKzw6wcIVNSvc-HmuNviYPct_2ymPyHBAbIhS0KWY/s200/IMG_3645+early+stretching+mark.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
These two images show deformations in the most stressed area of a Mylar shaped envelope - the center of the circular sheet; if the circumferential weld was the equator, then the areas in question would be the poles. The visible vertical lines correspond to the machine direction (MD) of the film - the direction in which it was drawn from the die and later wound on the roll. The image on the right shows an early sign of a stretching mark developing.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjN7O3MAihMOnDXwtVJv1v-N6igoi4zGGCQBK5MR0bGEqu7YWedstOjVNNfxn47U5a9vuOftP_kTS_r8yN0sxAGiv3QK5SVkRuaSzGMO8BHaZPmmnm1yVYKPeZNzBMbYwt9nNTjoU455Wc/s1600/IMG_3647+B2+stretching+marks.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjN7O3MAihMOnDXwtVJv1v-N6igoi4zGGCQBK5MR0bGEqu7YWedstOjVNNfxn47U5a9vuOftP_kTS_r8yN0sxAGiv3QK5SVkRuaSzGMO8BHaZPmmnm1yVYKPeZNzBMbYwt9nNTjoU455Wc/s200/IMG_3647+B2+stretching+marks.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNrbcdXLJ55DrSXiJ_U2EHVoHdOIJOH-E1NdBbxUUWq9Y8SL7xaKr08M1m9zX9nF_1eCeYRnldqqnl_XN7wtGiTzoceVE_3Ui2pvURMxnef4p5MMIOr5SVPsioKQpd-LGsKHfafjS292E/s1600/IMG_3764+B3+stretching+marks.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNrbcdXLJ55DrSXiJ_U2EHVoHdOIJOH-E1NdBbxUUWq9Y8SL7xaKr08M1m9zX9nF_1eCeYRnldqqnl_XN7wtGiTzoceVE_3Ui2pvURMxnef4p5MMIOr5SVPsioKQpd-LGsKHfafjS292E/s200/IMG_3764+B3+stretching+marks.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiDb5gK7hhU9cOyQtMbtvCSGHZIuiY02rlcED4AFANR4hUqS77zpgYrDavP4xTkb9ag_z6oQ1MZLn4PLVj-3T8oPsY9pyL_iBqTgfZr5lAIRuIWfRZhHlg6nr5ymo5XUvtbPdX3MgJ0RM/s1600/IMG_3775+B3+stretching+marks.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiDb5gK7hhU9cOyQtMbtvCSGHZIuiY02rlcED4AFANR4hUqS77zpgYrDavP4xTkb9ag_z6oQ1MZLn4PLVj-3T8oPsY9pyL_iBqTgfZr5lAIRuIWfRZhHlg6nr5ymo5XUvtbPdX3MgJ0RM/s200/IMG_3775+B3+stretching+marks.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a>
</div>
A few images of the previously mentioned stretching marks can be seen above. The first two images show a progression of this deformation as the envelope is stretched further. The third highlights the novel nature of the material in these areas on a slightly deflated envelope. Based on the properties of the individual layers described earlier, and the fact that the surface in these areas is different to touch, my guess is that it is the low strength polyethylene layers that ruptured. Also heat sealing a piece of film that was already stretched typically leads to very weak and prone to fail welds.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh37iMvKKAZ3gJcFEX1KUZXN8L1dzIRQZXZ10-ULG6YcrLOo_TuDqXrAzy1qUODqq258tz-9J6L-cDIAQ636f1zn0x2Vz0911oC0rn1twOOFDs4qn1km1Si_VvQiwG0GTmQi0HlcA91IrU/s1600/IMG_3801+B3+stretching+marks.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh37iMvKKAZ3gJcFEX1KUZXN8L1dzIRQZXZ10-ULG6YcrLOo_TuDqXrAzy1qUODqq258tz-9J6L-cDIAQ636f1zn0x2Vz0911oC0rn1twOOFDs4qn1km1Si_VvQiwG0GTmQi0HlcA91IrU/s200/IMG_3801+B3+stretching+marks.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYWRCljH1GqrKvxNLYsNlWZY3WmH6LAc0DaME6NLVOXhqHat_K-9XKt-rjzgAPvIwSCCGmjvuHb3WoHPxZNLF1qcxOBRRJMdP_RZZ-nTui2ZrITIjYGHHRQb44ZrE-bDoEKeNVKIaOOcg/s1600/IMG_3804+B3+stretching+marks.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYWRCljH1GqrKvxNLYsNlWZY3WmH6LAc0DaME6NLVOXhqHat_K-9XKt-rjzgAPvIwSCCGmjvuHb3WoHPxZNLF1qcxOBRRJMdP_RZZ-nTui2ZrITIjYGHHRQb44ZrE-bDoEKeNVKIaOOcg/s200/IMG_3804+B3+stretching+marks.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaFHE9DmFrEYgY-I58kxqXLP6KZCZ27yqwt1-jusHaRJ-tg221DkG6TjJIP2vHlfNHL4g-zktJxJohHz7_bzZ2x88r52SGrTCet7ex-AY2Aci8-iciWN-Xu5zv7UjMRp4ixQ1-cZ-QuaY/s1600/IMG_3539+stretching+marks.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaFHE9DmFrEYgY-I58kxqXLP6KZCZ27yqwt1-jusHaRJ-tg221DkG6TjJIP2vHlfNHL4g-zktJxJohHz7_bzZ2x88r52SGrTCet7ex-AY2Aci8-iciWN-Xu5zv7UjMRp4ixQ1-cZ-QuaY/s200/IMG_3539+stretching+marks.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCZS39b9GWHX2a5W7c4HQ73NQupA_LklRWacYwnGPfl4CKI_2CjoYXzIwLXOQ1oUTZo8OMMK9MWH4PiCgfDkP6ekYwxGoz-i-BfCTxgfiFSawraSy7acXujDYMB2WQBWnJcjfmmJpZu10/s1600/IMG_3537+stretching+marks.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCZS39b9GWHX2a5W7c4HQ73NQupA_LklRWacYwnGPfl4CKI_2CjoYXzIwLXOQ1oUTZo8OMMK9MWH4PiCgfDkP6ekYwxGoz-i-BfCTxgfiFSawraSy7acXujDYMB2WQBWnJcjfmmJpZu10/s200/IMG_3537+stretching+marks.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
These images show the stretching marks on a deflated envelope under polarized light. The first two capture two different areas on a balloon at different degrees of stretch. The envelope was cut into pieces for the bottom two images, so they show the polarized light shining through a single sheet of film hence the different colors.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0dVaeXU7gULlfYrlK_aP1_O_CEaOi8DTp9T_LvWoTwKUYAWd0CKT8VxtpSCdSglK6Ep5VD4w1bxUr-1ZxgGv97ysl0lsk1j33svQVijTd_IB4wMHnpzpufV_29fvQsjui66dsjB0KOqQ/s1600/IMG_3622+defect+early+development.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0dVaeXU7gULlfYrlK_aP1_O_CEaOi8DTp9T_LvWoTwKUYAWd0CKT8VxtpSCdSglK6Ep5VD4w1bxUr-1ZxgGv97ysl0lsk1j33svQVijTd_IB4wMHnpzpufV_29fvQsjui66dsjB0KOqQ/s200/IMG_3622+defect+early+development.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiE1yUAy3TWzZ0Q6GdZLIcWHITCp6Z7v2_qaLkt0KHXUGexZtf6BHbyfwUq5l2g1_w9ZpkNtnbHX-5BnUYK28JHErfaWnCMM07IsTE4nHx1OKcZLltkfxwVHRoYZtgoighJq1N3lMDxblo/s1600/IMG_3627+defect+early+development.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiE1yUAy3TWzZ0Q6GdZLIcWHITCp6Z7v2_qaLkt0KHXUGexZtf6BHbyfwUq5l2g1_w9ZpkNtnbHX-5BnUYK28JHErfaWnCMM07IsTE4nHx1OKcZLltkfxwVHRoYZtgoighJq1N3lMDxblo/s200/IMG_3627+defect+early+development.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
I've also encountered localized defects, as can be seen in the images above, that would eventually develop into a hole, and the envelope would fail. This, however, was only the case of the older 50μm film. I haven't come across this issue on the new 40μm film so far.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrGBBFweTetlN35Gigfedk0nMT4vppvQmOG3PU6FxAF3hvnzLU2VzbGH8EouIDf9vj5YmpwNGcYuqoG10ZBnPdAJ_0MrQmHpPjGxGsONez0-SOvVfWAoTfnbJlzp1fq09h_dbexHMEtwo/s1600/IMG_3769+B3+stretching+marks.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrGBBFweTetlN35Gigfedk0nMT4vppvQmOG3PU6FxAF3hvnzLU2VzbGH8EouIDf9vj5YmpwNGcYuqoG10ZBnPdAJ_0MrQmHpPjGxGsONez0-SOvVfWAoTfnbJlzp1fq09h_dbexHMEtwo/s200/IMG_3769+B3+stretching+marks.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNOURGXnPU4HWSiHYktT93Rs1Wpb7Y9rs6e-o8VPkMzY9zAW7E3mkuBeU4OCYS1WAlkqT2t_uuUFFXDnUtCpeNCZCwWDBgg8KSzXgan-8KwPvdAniKX9bOg0EkyLjp68bByN3d4l0Lukk/s1600/IMG_3767+B3+stretching.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNOURGXnPU4HWSiHYktT93Rs1Wpb7Y9rs6e-o8VPkMzY9zAW7E3mkuBeU4OCYS1WAlkqT2t_uuUFFXDnUtCpeNCZCwWDBgg8KSzXgan-8KwPvdAniKX9bOg0EkyLjp68bByN3d4l0Lukk/s200/IMG_3767+B3+stretching.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvgMz7kjt5Xlq5ybgnyA62kAro-7awZcFMD3PJWTT1yRIaJ5n41nsxYwFTFGm3T3z-QlugF4Z_n_To5RMwOiU8n6HhrjDsQLLKZpMQc4LxL_Fx1ZfVm2_5svk-tBfKe4_nD-l0ZE5TWRQ/s1600/IMG_3840+B4+excessive+stretching.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvgMz7kjt5Xlq5ybgnyA62kAro-7awZcFMD3PJWTT1yRIaJ5n41nsxYwFTFGm3T3z-QlugF4Z_n_To5RMwOiU8n6HhrjDsQLLKZpMQc4LxL_Fx1ZfVm2_5svk-tBfKe4_nD-l0ZE5TWRQ/s200/IMG_3840+B4+excessive+stretching.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEi3GZtUoWu0UDrw1AYAY5GtPnSSXMtQJKFg1UTRiNlRbSKmlhaIQQiF4u7k-Ny3trWpnzCkbAyXHzUAEsfyF-D0ILhFVns0QuBKYU1Kc1Aog-1C37ZQU1LKQdifjpkA5qWIGW4rPjS2g/s1600/IMG_3842+B4+excessive+stretching.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEi3GZtUoWu0UDrw1AYAY5GtPnSSXMtQJKFg1UTRiNlRbSKmlhaIQQiF4u7k-Ny3trWpnzCkbAyXHzUAEsfyF-D0ILhFVns0QuBKYU1Kc1Aog-1C37ZQU1LKQdifjpkA5qWIGW4rPjS2g/s200/IMG_3842+B4+excessive+stretching.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a>
</div>
These images illustrate cases of excessive stretching on a couple of test envelopes. The balloons developed defects such as significant stretching marks, the envelope unevenly bulging, or a long straight weld rupturing at the peak of the bulge. The first balloon was stretched to 1.36 times its original volume, the second balloon to 1.42 times its original volume.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEQOdhZLlFjYiqk3_q9ZAmhhkwae6TH6xIVOIPQK9UH6SlLZIr31hWrIUO5-nrLDNkpjSzm64Phr2HtLB5wnOV9yGLq8z03vFu_arSmWuyGBHg4c1cYG48KjcEHbHdSyikPAQ11nd2c3k/s1600/pre-stretching+01.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEQOdhZLlFjYiqk3_q9ZAmhhkwae6TH6xIVOIPQK9UH6SlLZIr31hWrIUO5-nrLDNkpjSzm64Phr2HtLB5wnOV9yGLq8z03vFu_arSmWuyGBHg4c1cYG48KjcEHbHdSyikPAQ11nd2c3k/s200/pre-stretching+01.png" width="200" height="120" data-original-width="1036" data-original-height="623" /></a>
</div>
This chart contains logged pressure data from pre-stretching of six balloon envelopes. There are always two envelopes per balloon type (circular shape 1.35m in diameter, circular shape 2.04m in diameter, and obround shape 2.35m in length). In each case, one envelope was used as a test to get some sense of how quickly and at what pressure levels the material expands. The second envelope, then, was pre-stretched more carefully with intent of using the envelope on a flight. A criterion in pre-stretching the flight envelopes was allowing them to expand mildly and without developing stretching marks. Also note that the applied pressure levels are lower than in case of the TT7F balloon <a href="https://tt7hab.blogspot.com/2017/11/the-superpressure-balloons-vol-2.html">envelopes</a>, because the material was thinner this time (40μm vs. 50μm).<br />
<br />
<b>Finished balloons.</b> Three envelopes, one per each type, were prepared for a series of upcoming flights in the end.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNZX6xwRGTWsxpluKTLpGxIWBxWyJj6o8Ou6dsiGb_xh7-Kt31m8EmbHLMuNNGGBqNlFW0jz-hibTSthvfUslU75B1l3hQqcClEtNyR0aXBV4OreteAJW1Ajfah8w3LfQZdCOhAR7XuWs/s1600/IMG_3814+making+balloons.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNZX6xwRGTWsxpluKTLpGxIWBxWyJj6o8Ou6dsiGb_xh7-Kt31m8EmbHLMuNNGGBqNlFW0jz-hibTSthvfUslU75B1l3hQqcClEtNyR0aXBV4OreteAJW1Ajfah8w3LfQZdCOhAR7XuWs/s200/IMG_3814+making+balloons.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSrNARx47sp5xvnOrQhe-41bFGHPfbEHxCbeUyxOpxLMgzA02UTO32wm03ncswpxeiWyedqcH02FnaeozLW4XFT5i9KcbocheL-stRa6ZpgNDCOC8dXZf9Zmm0qhsy3GnXTlgnnVfnJBA/s1600/IMG_3816+making+balloons.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSrNARx47sp5xvnOrQhe-41bFGHPfbEHxCbeUyxOpxLMgzA02UTO32wm03ncswpxeiWyedqcH02FnaeozLW4XFT5i9KcbocheL-stRa6ZpgNDCOC8dXZf9Zmm0qhsy3GnXTlgnnVfnJBA/s200/IMG_3816+making+balloons.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a>
</div>
These are a couple of images of the envelope making process. One balloon being stretched, another envelope being sealed, and more cut-out pieces waiting for their turn. The envelope making process in steps:<br />
<ul>
<li>Examining a sheet of material with polarized light and filter.</li>
<li>Cutting out individual shapes from the sheet for a specific envelope and heat sealing them.</li>
<li>Examining the finished welds with polarized light and filter.</li>
<li>Hanging the envelope and inflating it to couple hundred pascal to measure its volume.</li>
<li>Pre-stretching the envelope.</li>
<li>Deflating the envelope and inflating it again to measure its post-stretching volume.</li>
<li>Examining the envelope with polarized light and filter.</li>
</ul>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRHzvsPEMHfsp3eKPt33GxMZTj665tOiXWyoCMMiWcHhEEXyD8SQiSrCu64WYt7xMPUbB087x0yXzbvhNGI_JXgvsoy1J5zcK3nbHxXsX_HqJghyzHtJ1FKq8hB_YxMQqIBU-GF_uIHH8/s1600/IMG_3961+B6+stretching.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRHzvsPEMHfsp3eKPt33GxMZTj665tOiXWyoCMMiWcHhEEXyD8SQiSrCu64WYt7xMPUbB087x0yXzbvhNGI_JXgvsoy1J5zcK3nbHxXsX_HqJghyzHtJ1FKq8hB_YxMQqIBU-GF_uIHH8/s200/IMG_3961+B6+stretching.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVkB_g7TRnZ5zA4vA6RfJRGon6DYAt-zbES9V3XOZhecl5ii2lxxzjvLSJMgy9Ce2hADqFqYnLQeZ7Ee26Okx7NqlpBOZZYzPMGIzKeaXQxdch6h0ao4LuEH2VwEAYhvyXK1Alk-D5Tf4/s1600/IMG_3963+B6+stretching.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVkB_g7TRnZ5zA4vA6RfJRGon6DYAt-zbES9V3XOZhecl5ii2lxxzjvLSJMgy9Ce2hADqFqYnLQeZ7Ee26Okx7NqlpBOZZYzPMGIzKeaXQxdch6h0ao4LuEH2VwEAYhvyXK1Alk-D5Tf4/s200/IMG_3963+B6+stretching.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaZccsQ5cL47q7vV8CywqCKXz_QsnVd569Dw90vOpV5ejea3D9VcKkQJwj_6SM06Fq8Gh08Yegpdv2qqDNPx-nc79V2xqJ8D6F3ffjRPWdInG4XHuoWKStACDShPTVrEh4VAmGoTxbabw/s1600/IMG_4024+B6+stretching.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaZccsQ5cL47q7vV8CywqCKXz_QsnVd569Dw90vOpV5ejea3D9VcKkQJwj_6SM06Fq8Gh08Yegpdv2qqDNPx-nc79V2xqJ8D6F3ffjRPWdInG4XHuoWKStACDShPTVrEh4VAmGoTxbabw/s200/IMG_4024+B6+stretching.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEht0MTxlCE0LdV9Nq9zLxj6OdwnDp1PQeg6cgPg353en3E6dNK8umeFFbn1dlhMzSrpxNTotsj_Raffl_31ItPQ6UATAmD4b2x9xYF1-n7E5A04Ku139WbdTbnRmSHniOcvhsxlhDHNzkI/s1600/IMG_4023+B6+stretching.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEht0MTxlCE0LdV9Nq9zLxj6OdwnDp1PQeg6cgPg353en3E6dNK8umeFFbn1dlhMzSrpxNTotsj_Raffl_31ItPQ6UATAmD4b2x9xYF1-n7E5A04Ku139WbdTbnRmSHniOcvhsxlhDHNzkI/s200/IMG_4023+B6+stretching.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a>
</div>
The smallest 1.35m circular envelope showed no issues with the welds, nor any other artifacts. It was also the one that registered the largest volume increase prior to developing the first stretching marks.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhd9ikAw7cPYVwrLDar07GIsWXMSw0nR8lo_UW7QT0WgJozyW-GKIpCnIk8cpa1Hgf6-qW95yjUcnSAiq52j4KnNmz24oB0wqmkzbL2xh90qKeEAJtuglfZZMONVplH8nYriKjjIw58gBc/s1600/IMG_4040+B7+stretching.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhd9ikAw7cPYVwrLDar07GIsWXMSw0nR8lo_UW7QT0WgJozyW-GKIpCnIk8cpa1Hgf6-qW95yjUcnSAiq52j4KnNmz24oB0wqmkzbL2xh90qKeEAJtuglfZZMONVplH8nYriKjjIw58gBc/s200/IMG_4040+B7+stretching.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAuzHShkX2LlI6w3CYeqGB0qlLlurt2LhE_JOstVDak5ikKB1NPACQxGDu0YwPBDvdt1lfUnd0iNL0IJQ2vyMEwJZq909uip5bwkLRLqjg8NyeECo2fULDkM_1jxQ-XInLswp18Bzv8Zc/s1600/IMG_4042+B7+stretching.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAuzHShkX2LlI6w3CYeqGB0qlLlurt2LhE_JOstVDak5ikKB1NPACQxGDu0YwPBDvdt1lfUnd0iNL0IJQ2vyMEwJZq909uip5bwkLRLqjg8NyeECo2fULDkM_1jxQ-XInLswp18Bzv8Zc/s200/IMG_4042+B7+stretching.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlbMG5Gn9HPIWFdBYDv1sZJ-FEs7LNJkWUhcg-ggGBj4v1Phyphenhyphen8AyIQkes_x2d4uR-nDkj8HCK7dWAhbbOXkiJB13aInJaStp-16VphRMlykezjr3IEtYLe95YbyN1vOGZkwcgcBTe_qis/s1600/IMG_4061+B7+stretching.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlbMG5Gn9HPIWFdBYDv1sZJ-FEs7LNJkWUhcg-ggGBj4v1Phyphenhyphen8AyIQkes_x2d4uR-nDkj8HCK7dWAhbbOXkiJB13aInJaStp-16VphRMlykezjr3IEtYLe95YbyN1vOGZkwcgcBTe_qis/s200/IMG_4061+B7+stretching.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjL14gwdq5DoOYR9gzl701sdqjPArHodjD0s3FX1VPMJvH5tq2ff1bYu7JgMigiEwXJT50aW2h7pybXRCke4Hs1lp8K1o_X5HFb5s_FhDK0fxFBOMw61EGQLtrXKPjqgVBdsGBaCvHqDpc/s1600/IMG_4065+B7+stretching.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjL14gwdq5DoOYR9gzl701sdqjPArHodjD0s3FX1VPMJvH5tq2ff1bYu7JgMigiEwXJT50aW2h7pybXRCke4Hs1lp8K1o_X5HFb5s_FhDK0fxFBOMw61EGQLtrXKPjqgVBdsGBaCvHqDpc/s200/IMG_4065+B7+stretching.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a>
</div>
In case of the 2.35m obround envelope, relatively early appearance of the first stretching marks meant only a limited increase in volume compared to the test envelope. The only issue with this type of balloon occurred on the test envelope where a long straight weld ruptured after extreme stretching and bulging (discussed earlier).<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWF6zFpEgq6nz_TnXEwgklz_HR3GDBT2fw3G6emLc5MOf2wCo19wJyFhkWB58v42hSujF2zQ0_PVeSqWiCKyeLcLPaS6L6EWFXW6Hi6P67qZJ0T7UuyI-AyS1eAu8eTVfAZb6e024Sxmw/s1600/IMG_4076+B8+stretching.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWF6zFpEgq6nz_TnXEwgklz_HR3GDBT2fw3G6emLc5MOf2wCo19wJyFhkWB58v42hSujF2zQ0_PVeSqWiCKyeLcLPaS6L6EWFXW6Hi6P67qZJ0T7UuyI-AyS1eAu8eTVfAZb6e024Sxmw/s200/IMG_4076+B8+stretching.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPoICYghiPeKsHBjGOkAkMRIO36nVo_yKVin7z5E9xdWj4FCNQt2jLNF38uyp6P1OIIBD0LtADeb_WRGhRcNgVKl9YQ5TTEMp2xhYsThEvU4bxtjvwBEjJp-P3hNi1ofwFOv-KZ8fhIdE/s1600/IMG_4077+B8+stretching.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPoICYghiPeKsHBjGOkAkMRIO36nVo_yKVin7z5E9xdWj4FCNQt2jLNF38uyp6P1OIIBD0LtADeb_WRGhRcNgVKl9YQ5TTEMp2xhYsThEvU4bxtjvwBEjJp-P3hNi1ofwFOv-KZ8fhIdE/s200/IMG_4077+B8+stretching.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqXEhMVF4EIaBJmeOFJ_E8S80wIlZOdQocEuLN3xJE9JO4GM4cImS4xodiVUmPZ1zLSQ2QNow6_uNrCvYeLo4NDTO8eiEORoFmtMGSVbBaSRg2z_t3Y1WusRpBW50l-nMIurxaLo4lDZY/s1600/IMG_4105+B8+stretching.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqXEhMVF4EIaBJmeOFJ_E8S80wIlZOdQocEuLN3xJE9JO4GM4cImS4xodiVUmPZ1zLSQ2QNow6_uNrCvYeLo4NDTO8eiEORoFmtMGSVbBaSRg2z_t3Y1WusRpBW50l-nMIurxaLo4lDZY/s200/IMG_4105+B8+stretching.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYZLhZmFgotvcEYFV5wBQrO3FGEaB-njcnHlSTkNOh9ZSZK79FjeHDGjwHyhhY9qD9-kHleLXNbeQV7diODYANy5ct15UdmPn7rDT6teKP14HsQ6eBE1pNkgcWS7KP7zuwBEJ-iyNeXJY/s1600/IMG_4104+B8+stretching.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYZLhZmFgotvcEYFV5wBQrO3FGEaB-njcnHlSTkNOh9ZSZK79FjeHDGjwHyhhY9qD9-kHleLXNbeQV7diODYANy5ct15UdmPn7rDT6teKP14HsQ6eBE1pNkgcWS7KP7zuwBEJ-iyNeXJY/s200/IMG_4104+B8+stretching.JPG" width="150" height="200" data-original-width="810" data-original-height="1080" /></a>
</div>
The largest 2.04m circular envelope couldn't do without some issues with the long straight welds spanning across the area of highest stress. It also registered the least volume expansion prior to appearance of the first stretching marks.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitpRdtgIOEG8h_q4EE3Gngx6Xwya0cJ2jfOZWATvim3m_0to0Mj1aigklOuZCLs_jgV37sSF5rqvvffWuAtkeTWud5hi8MQmxciKr06cD0LjVnHB_vQVJiergOzfJxBLyY477ujSbwYbo/s1600/IMG_4109+B8+weld+partial+rupture.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitpRdtgIOEG8h_q4EE3Gngx6Xwya0cJ2jfOZWATvim3m_0to0Mj1aigklOuZCLs_jgV37sSF5rqvvffWuAtkeTWud5hi8MQmxciKr06cD0LjVnHB_vQVJiergOzfJxBLyY477ujSbwYbo/s200/IMG_4109+B8+weld+partial+rupture.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixsmtT9Ai7yjDnKd6VZFSEt0w605omhu9fMNHUKKwsRxEy5tL0TeX3zSmAbk29DyzHQxgGEEAP5Mz8HfVwyehojfRa0xK9jmgoVnDIKLULOZdf_cdH9peH-uSD4HwZFhrI_PQNErJtrWU/s1600/IMG_4110+B8+weld+partial+rupture.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixsmtT9Ai7yjDnKd6VZFSEt0w605omhu9fMNHUKKwsRxEy5tL0TeX3zSmAbk29DyzHQxgGEEAP5Mz8HfVwyehojfRa0xK9jmgoVnDIKLULOZdf_cdH9peH-uSD4HwZFhrI_PQNErJtrWU/s200/IMG_4110+B8+weld+partial+rupture.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-H37UKluvTGtDPnGUM14eTTiillFKgCi2UC61HxV7pkFwyBXNQSjhT-Yu19CwvBf-ApDs4SWbQDysDhjSCM1_GJVIqkPnCt7cubBazknq83BYXT1J6drMrotazF7CFtshdb3lPFs0yZg/s1600/IMG_4119+B8+long+straight+weld+stretched.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-H37UKluvTGtDPnGUM14eTTiillFKgCi2UC61HxV7pkFwyBXNQSjhT-Yu19CwvBf-ApDs4SWbQDysDhjSCM1_GJVIqkPnCt7cubBazknq83BYXT1J6drMrotazF7CFtshdb3lPFs0yZg/s200/IMG_4119+B8+long+straight+weld+stretched.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhU9iTufY92ZSuW4ac6r08HSZfw97HS8E8q_hCgdLNjsbs2JMyqys4wUHe_IlL17YSG2RyIEYTBh6xaxyGb99neCnywm0NsmWGxLWSLtn0qQlW3r6-bTl4xKttjb4W6G7ilor_ewVlkY9Y/s1600/IMG_4129+B8+long+straight+weld+stretched.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhU9iTufY92ZSuW4ac6r08HSZfw97HS8E8q_hCgdLNjsbs2JMyqys4wUHe_IlL17YSG2RyIEYTBh6xaxyGb99neCnywm0NsmWGxLWSLtn0qQlW3r6-bTl4xKttjb4W6G7ilor_ewVlkY9Y/s200/IMG_4129+B8+long+straight+weld+stretched.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
Despite my best efforts, the heat sealer melted the very ends of the long straight welds a little too much again. I at least bent the material in such a way that there is enough of quality welding between the inside of the balloon and the melted spots. The issue is that unlike in case of the obround envelope, the long straight weld spans across a highly stressed area on this type of envelope. Nevertheless, I intend to test flight this envelope and rely on the remaining thickness of the welds.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm">Envelope</th>
<th class="tg-amwm">V<sub>orig</sub> [m<sup>3</sup>]</th>
<th class="tg-amwm">V<sub>strch</sub> [m<sup>3</sup>]</th>
<th class="tg-amwm">Γ</th>
<th class="tg-amwm">m [kg]</th>
</tr>
<tr>
<td class="tg-yw47">1.35m circle - test</td>
<td class="tg-lyy6">0.366</td>
<td class="tg-lyy6">0.496</td>
<td class="tg-lyy6">1.36</td>
<td class="tg-lyy6">0.116</td>
</tr>
<tr>
<td class="tg-yw47">1.35m circle</td>
<td class="tg-lyy6">0.372</td>
<td class="tg-lyy6">0.434</td>
<td class="tg-lyy6">1.17</td>
<td class="tg-lyy6">0.116</td>
</tr>
<tr>
<td class="tg-yw47">2.35m obround - test</td>
<td class="tg-lyy6">0.930</td>
<td class="tg-lyy6">1.325</td>
<td class="tg-lyy6">1.42</td>
<td class="tg-lyy6">0.224</td>
</tr>
<tr>
<td class="tg-yw47">2.35m obround</td>
<td class="tg-lyy6">0.960</td>
<td class="tg-lyy6">1.045</td>
<td class="tg-lyy6">1.09</td>
<td class="tg-lyy6">0.224</td>
</tr>
<tr>
<td class="tg-yw47">2.04m circle - test</td>
<td class="tg-lyy6">1.360</td>
<td class="tg-lyy6">1.558</td>
<td class="tg-lyy6">1.15</td>
<td class="tg-lyy6">0.274</td>
</tr>
<tr>
<td class="tg-yw47">2.04m circle</td>
<td class="tg-lyy6">1.360</td>
<td class="tg-lyy6">1.497</td>
<td class="tg-lyy6">1.10</td>
<td class="tg-lyy6">0.274</td>
</tr>
</tbody></table>
<br />
A flow meter on the pre-stretching rig was used to measure the inner volume of each envelope prior to and after pre-stretching. The acquired values can be found in the table above. Each measurement represents an amount of air that was pumped in until the pressure inside began to rise. So it is possible that in flight the lifting gas will have a slightly larger volume to expand due to the material's elasticity - though decreased because of the low temperatures. On the other hand, the analog flow meter used for calibration stated accuracy of +-5%. Note the larger expansion of inner volume (by factors of 1.36, 1.42 and 1.15) in case of the test envelopes was at the cost of developing large stretching marks and even bulging. The volume expansion in case of the flight intended envelopes was much more modest. The last column, then, contains the measured mass of each envelope.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm">Envelope</th>
<th class="tg-amwm">V [m<sup>3</sup>]</th>
<th class="tg-amwm">m<sub>g</sub> [g]</th>
<th class="tg-amwm">alt [m]</th>
<th class="tg-amwm">st<sub>1</sub> [°C]</th>
<th class="tg-amwm">sp<sub>1</sub> [Pa]</th>
<th class="tg-amwm">st<sub>2</sub> [°C]</th>
<th class="tg-amwm">sp<sub>2</sub> [Pa]</th>
</tr>
<tr>
<td class="tg-yw47">1.35m circle</td>
<td class="tg-lyy6">0.434</td>
<td class="tg-lyy6">9.82</td>
<td class="tg-lyy6">11911</td>
<td class="tg-lyy6">0</td>
<td class="tg-lyy6">603</td>
<td class="tg-lyy6">16</td>
<td class="tg-lyy6">2096</td>
</tr>
<tr>
<td class="tg-yw47">2.35m obround</td>
<td class="tg-lyy6">1.045</td>
<td class="tg-lyy6">18.58</td>
<td class="tg-lyy6">13398</td>
<td class="tg-lyy6">0</td>
<td class="tg-lyy6">376</td>
<td class="tg-lyy6">16</td>
<td class="tg-lyy6">1549</td>
</tr>
<tr>
<td class="tg-yw47">2.04m circle</td>
<td class="tg-lyy6">1.497</td>
<td class="tg-lyy6">21.55</td>
<td class="tg-lyy6">14730</td>
<td class="tg-lyy6">0</td>
<td class="tg-lyy6">291</td>
<td class="tg-lyy6">16</td>
<td class="tg-lyy6">1241</td>
</tr>
</tbody></table>
<br />
The envelope volume and mass measurements allow for making some predictions of expected float altitudes and superpressure inside the balloons during float. The table above provides the results for the three envelopes lifting payloads between 7 to 18g at an initial ascent rate of 0.7m/s. A closer description of the calculations that yield the required mass of lifting gas (hydrogen) $m_{g}$ and float altitudes $alt$ can be found in the last section of this blog post. $$T_{g}=T_{air}+st$$ The thermodynamic temperature of the lifting gas $T_{g}$ varies with the day-night cycle, and the table provides two specific cases, here labeled as supertemperature $st_{1}$ and $st_{2}$, as an example. $$p_{sp}=\frac{m_{g}R_{g}T_{g}}{V_{b}}-p_{air}$$ The superpressure $sp_{1}$ and $sp_{2}$ can be arrived at by following the equation above. The first term represents the pressure of the volume $V_{b}$ of the lifting gas (here filling the whole envelope) at said temperature with $R_{g}$ being the specific gas constant (4124J/kgK for hydrogen). The second term is the air pressure $p_{air}$ at float altitude derived from the Standard Atmosphere model.<br />
<br />
<b>Preflight calculations.</b> The goal is to acquire a value of free lift $m_{fl}$ that will be used when filling the balloon, as well as the speed $v$ at which the balloon will begin its ascent, and the density of the whole system $\rho_{s}$ which will equal the air density level at which the balloon will float. First the inner volume $V_{b}$ and the mass $m_{b}$ of the envelope are measured. The tracker $m_{p}$ is weighted. Local air pressure $p_{air}$ and temperature $T_{air}$ are measured as well. The following calculations are made from a perspective of choosing the free lift for a desired ascent rate. $$\rho_{air}=\frac{p_{air}}{R_{air}T_{air}}$$ $$m_{g}=\frac{(m_{fl}+m_{b}+m_{p})p_{air}}{R_{g}T_{g}\:\rho_{air}-p_{air}}$$ Choosing $m_{fl}$, the value in kilograms that can be read from a digital scale when filling the balloon, and following the equations above yields the mass of the gas $m_{g}$ that will go inside the balloon. The air temperature $T_{air}$ here is in Kelvin, and the gas temperature $T_{g}$ is assumed to be the same as the air temperature during filling. If $T_{g}$ changes with respect to $T_{air}$ later on, the lift of the balloon increases ($T_{g}$ > $T_{air}$) or decreases ($T_{g}$ < $T_{air}$) as a result. The specific gas constants for air and the gas equal 287.05J/kgK for $R_{air}$ and 4124.0J/kgK for $R_{g}$, in this case hydrogen. $$\rho_{s}=\frac{m_{b}+m_{p}+m_{g}}{V_{b}}$$ The result of the equation above is the overall balloon, payload, gas system density. At an altitude where the system density equals the air density, the balloon will stop ascending and start floating. The latest data from atmospheric sounding (temperature and pressure at specific altitudes) can be used in combination with the already mentioned equation for calculating air density to find the current altitude of that level. Note that a fixed volume of the balloon $V_{b}$ was assumed. In reality, the gas inside the balloon may get hotter or cool down with respect to the surrounding air which will result in the envelope elastically expanding or contracting due to the additional or lack of inside pressure caused by the gas molecules. A behavior where the balloon regularly increases its altitude during the day and again decreases it when the Sun sets can be observed with some envelopes. $$V_{g}=\frac{m_{g}R_{g}T_{g}}{p_{air}}$$ $$F_{lift}=V_{g}\:\rho_{air}\:g$$ The calculation of the speed at which the balloon will ascend starts with finding the volume of the gas $V_{g}$ at given conditions. Again, $T_{g}$ is assumed to be equal to $T_{air}$. The force lifting the system up $F_{lift}$ equals to the weight of the air displaced by the volume of the gas inside the balloon. $$F_{g}=(m_{b}+m_{p}+m_{g})\:g$$ This equation yields the downward force $F_{g}$ due to the mass of the system and Earth's gravity counteracting the balloon's lift. The acceleration due to Earth's gravity $g$ used in the calculation equals to 9.81m/s<sup>2</sup>. $$\Delta F=F_{lift}-F_{g}$$ And finally the net force $\Delta F$ acting on the system is equal to the difference of the lift and the gravitational pull. $$A=\Bigl(\sqrt[\leftroot{-1}\uproot{2}\scriptstyle 3]{\frac{3V_{g}}{4\pi}}\Bigr)^{2}\pi$$ $$v=\sqrt{\frac{2\Delta F}{\rho_{air}Cd A}}$$ The net force is then used in the Drag equation to arrive at the speed $v$ the system should have in the upward direction when released. Note that the balloon here is idealized and modelled as a sphere with the drag coefficient $Cd$ of 0.47 and a cross-section $A$ derived from a volume $V_{g}$ which was assumed to be spherical.<br />
<br />
The following is a specific example illustrating one of the above balloons filled for a flight.<br />
<pre>Measured:
	V<sub>b</sub>=0.434m<sup>3</sup>, m<sub>b</sub>=0.116kg, m<sub>p</sub>=0.011kg
	p<sub>air</sub>=101325Pa, T<sub>air</sub>=288.15K
Chosen:
	m<sub>fl</sub>=0.0042kg
Calculated:
	ρ<sub>air</sub>=1.225kg/m<sup>3</sup>
	m<sub>g</sub>=0.00982kg
	ρ<sub>s</sub>=0.315kg/m<sup>3</sup>
	V<sub>g</sub>=0.115m<sup>3</sup>
	F<sub>lift</sub>=1.383N
	F<sub>g</sub>=1.342N
	ΔF=0.041N
	A=0.286m<sup>2</sup>
	v=0.71m/s
</pre>
The results suggest that to achieve an ascent rate of 0.71m/s, the balloon should be filled to a free lift of 4.2g. This configuration should start floating at an air density level of 0.315kg/m<sup>3</sup> which corresponds to 11,911m in the Standard Atmosphere model. The float altitude estimate can be made more accurate by using air density levels from the latest/closest atmospheric sounding. However, it relies on a measurement of the balloon's inner volume which can be done on ground, but will be influenced by pressure and the envelope's elasticity during the flight, and it will generally somewhat vary day to night and in the long term as the envelope creeps under constant pressure.<br />
<br />
When filling a balloon to the desired free lift, I typically tie the envelope to a specific weight which is placed on a digital scale with milligram range. I then start filling the envelope with gas while periodically pausing, taking out the filling hose, and checking the display on the scale. Once it shows the original mass of the weight has been reduced by the mass of the payload plus the free lift (11g + 4.2g in this case), the balloon is filled to the desired lift. To eliminate any disturbance to the measurement, the filling is typically done in a draftless space.<br />
<br />
A specific ascent rate is usually the factor I aim for. Too little vertical speed and the balloon may have trouble with downdrafts or other atmospheric disturbances. Too high vertical speed and the gas inside may exert too much pressure on the envelope up to the point it bursts. Aiming for rates between 0.7m/s and 1.0m/s worked in achieving float in the past.<br/>
<br />
A simple online calculator can be found on <a href="https://tomastt7.github.io/superpressure/">github</a>.<br />TT7http://www.blogger.com/profile/11095378058232471221noreply@blogger.com3tag:blogger.com,1999:blog-7063183727921268380.post-37691586835668330222019-07-31T14:02:00.001+02:002019-07-31T14:02:43.214+02:00The Custom Heat Sealer<style type="text/css">
.tg {border-collapse:collapse;border-spacing:0;border-color:#ccc;}
.tg td{font-family:Arial, sans-serif;font-size:12px;padding:5px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#ccc;color:#333;background-color:#fff;}
.tg th{font-family:Arial, sans-serif;font-size:12px;font-weight:normal;padding:5px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#ccc;color:#333;background-color:#f0f0f0;}
.tg .tg-amwm{font-weight:bold;text-align:center;vertical-align:top}
.tg .tg-yw47{vertical-align:top}
.tg .tg-lyy6{text-align:right;vertical-align:top}
</style>
In my last Superpressure Balloons blog <a href="https://tt7hab.blogspot.com/2017/11/the-superpressure-balloons-vol-2.html">post</a>, I described a basic concept of a custom heat sealer for making balloon envelopes. One that I would build based on my experience with envelopes for the TT7F flights should I have another go at it. In this blog post, I'll describe doing just that.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiphPdyIpstaOg-Sr3xVh-EltvkJbxoENW9eX5yswH9cdDC_kMqLprnYY58LdXTyIAvn-VDchzFCWO41ak6_OsYIKMsqg_sxPMcps_69icN1SY4gH0MKhaQIut7Cw2OFuVf1ROZR6FaQ4E/s1600/IMG_3394+FS-300.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiphPdyIpstaOg-Sr3xVh-EltvkJbxoENW9eX5yswH9cdDC_kMqLprnYY58LdXTyIAvn-VDchzFCWO41ak6_OsYIKMsqg_sxPMcps_69icN1SY4gH0MKhaQIut7Cw2OFuVf1ROZR6FaQ4E/s200/IMG_3394+FS-300.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV66qoaa3SXCHdtJYjxL-TFGImR6WrAmhbsiUeWm040DC682Kw5DMUkzwh62lm5j8ZxNsyTALOLPU4Wzu74PyGyKL5PvwnUNKpI1nNF138dNGyCxyZzc5Fq7hRqC8QBW3B3hMde-hDDbQ/s1600/IMG_3396+FS-300.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV66qoaa3SXCHdtJYjxL-TFGImR6WrAmhbsiUeWm040DC682Kw5DMUkzwh62lm5j8ZxNsyTALOLPU4Wzu74PyGyKL5PvwnUNKpI1nNF138dNGyCxyZzc5Fq7hRqC8QBW3B3hMde-hDDbQ/s200/IMG_3396+FS-300.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
Due to a couple of occasions where I had to open the impulse heat sealer used to make TT7F envelopes to repair it, I had the opportunity to somewhat examine what was inside, and so the design became the basis for my thinking about the to be made custom heat sealer. Another quite useful source of information was <a href="https://www.youtube.com/watch?v=g1NF04zRJ00">this</a> teardown video of a similar model by bigclivedotcom where he goes into detail about the control circuit. From what I managed to gather and measure, the input 230V went to a transformer whose primary winding had 28Ω of resistance while the secondary winding was about 0.5Ω. The heating wire connected to the secondary winding had resistance of 1.25Ω. The voltage measured across the wire during operation reached 13.1V. From this perspective the secondary winding resistance and the wire resistance were in parallel. With these numbers and a circuit simulator, I arrived at a figure of around 10.5A flowing through the wire and 138W heating it up. Additional 85W dissipated inside the transformer windings. When making the TT7F envelopes, these power figures were applied for the maximum duration of roughly 3.4s to create a weld between two sheets of a 50 micron material.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqlzoTROkSA6bsea6A_-VNMou8Uk7eFgH2oq6QS6TtGAUa_bLArQK84QfIJmnccLHGQ09qLxvZxe9nOf0TRy4Z3bbqjdRy-lq86PRpHH5cTC3dbHHidNS8-2R21pelShm_QtMogm9Btvo/s1600/IMG_3454+power+supply.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqlzoTROkSA6bsea6A_-VNMou8Uk7eFgH2oq6QS6TtGAUa_bLArQK84QfIJmnccLHGQ09qLxvZxe9nOf0TRy4Z3bbqjdRy-lq86PRpHH5cTC3dbHHidNS8-2R21pelShm_QtMogm9Btvo/s200/IMG_3454+power+supply.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_PQrbJ8j-6RB0VfDwMaJ_85e0ftzRImpn6dr_0Iy36Ao33wtFhQiKHqJptS7gITyw8TZ66sLww5zZV62De0YiHnMwwSrh2qscNBr2IL5NCtL9RG_QV6RuMNOHmZ6AXn9PrWte0yhqaAY/s1600/IMG_3455+power+supply.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_PQrbJ8j-6RB0VfDwMaJ_85e0ftzRImpn6dr_0Iy36Ao33wtFhQiKHqJptS7gITyw8TZ66sLww5zZV62De0YiHnMwwSrh2qscNBr2IL5NCtL9RG_QV6RuMNOHmZ6AXn9PrWte0yhqaAY/s200/IMG_3455+power+supply.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
One of the main requirements for the new heat sealer was a wider heating wire compared to a 4mm element in the impulse heat sealer. I managed to get a hold of a nichrome wire with a cross-section of 10mm by roughly 0.125mm. This meant that the power supply would have to be scaled for a wire with a lower resistance. Initially though, I made an inaccurate measurement which put the wire's resistance to around 0.65Ω. I then went on looking for a suitable power supply with this figure in mind. I browsed through autotransformers, as the adjustability of their output would come in handy, also classical transformers with adequate power ratings, but all these options were quite pricey. Eventually, I came across 12V LED power supplies, specifically a 250W one from the images above which wouldn't annihilate the budget. With the wrong wire resistance figure in mind, the numbers were adding up nicely, so I bought one. Later, realizing my mistake after remeasuring the wire with a more accurate 4-wire sensing technique more suitable for low resistances such as this, I had a problem. The new figure was only 0.274Ω which meant that the power supply would be out of its depth if I connected the wire directly across its terminals. I solved it by adding a 100W 0.220Ω resistor in series with the wire. The setup is thus not very efficient, but it brought the expected current draw back down to within the power supply's ratings.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm">Material</th>
<th class="tg-amwm">Dimensions [mm]</th>
<th class="tg-amwm">R [Ω]</th>
<th class="tg-amwm">P [W]</th>
<th class="tg-amwm">t [s]</th>
<th class="tg-amwm">ΔT [°C]</th>
</tr>
<tr>
<td class="tg-yw47">Kanthal</td>
<td class="tg-lyy6">320 x 4 x 0.125</td>
<td class="tg-lyy6">1.244</td>
<td class="tg-lyy6">138</td>
<td class="tg-lyy6">3.4</td>
<td class="tg-lyy6">898</td>
</tr>
<tr>
<td class="tg-yw47">Nichrome</td>
<td class="tg-lyy6">368 x 10 x 0.125</td>
<td class="tg-lyy6">0.274</td>
<td class="tg-lyy6">162</td>
<td class="tg-lyy6">9.7</td>
<td class="tg-lyy6">902</td>
</tr>
</tbody></table>
<br />
Comparing the two heat sealer designs, the impulse and the custom, I arrived at roughly 3 times longer expected sealing duration for the one I was building. The fact that the narrower wire from the bought impulse sealer was magnetic suggested it wasn't made of nichrome but rather Kanthal. $$\Delta T=\frac{P \cdot t}{m \cdot Cp}$$ As the first approximation, my reasoning was to look at the temperature the Kanthal wire would achieve given the known input power and sealing duration (ignoring any heat loss for now). Then seeing how long it would take the wider wire and the new power supply to achieve the same temperature. The results are in the table above followed by the equation used in the calculation. The density of Kanthal and nichrome is 7100kg/m<sup>3</sup> and 8400kg/m<sup>3</sup>, respectively. The specific heat capacity is 460J/kgK and 450J/kgK.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizpHiQF8zGmZKa6ukDGpRXdbPr43oshYcR5E74VUuEqReoBpM5UKn4eP9zNnlBdg-OeoTFmc31avzZDVSDmbbSnSVRH_6hyphenhyphen7HKbwM1DnrUojLZYauPrHJQXwzl134BMhT9-tJU-zQ56lU/s1600/heat+transfer+model+02.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizpHiQF8zGmZKa6ukDGpRXdbPr43oshYcR5E74VUuEqReoBpM5UKn4eP9zNnlBdg-OeoTFmc31avzZDVSDmbbSnSVRH_6hyphenhyphen7HKbwM1DnrUojLZYauPrHJQXwzl134BMhT9-tJU-zQ56lU/s200/heat+transfer+model+02.png" width="300" height="105" data-original-width="1185" data-original-height="412" /></a>
</div>
These charts depict a result of a time domain model of the nichrome wire heated up by the planned power supply. In the model, the wire is suspended horizontally in air. A detailed description of the calculations can be found in <a href="https://www.youtube.com/watch?v=QNS0LrlRHbs">this</a> video. Unlike in the video, the heat transfer coefficient of convection was arrived at by following the <a href="https://en.wikipedia.org/wiki/Heat_transfer_coefficient">Wikipedia</a> equation for horizontal plates and calculating the Prandtl, Grashof and Rayleight numbers.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBt0B7UXW0X8YcjidEuAQzsOp924elacd03pNx8JjXfAtpDzugWj3U31ki9WCl85QkynkIzYv-FGZCdrD8mhJ13pHSPYwtQMoSSwo-3-V8qRGFDgvovGk9jlLc7ae4UN1uwyn-Nynw37o/s1600/heat+transfer+07.PNG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBt0B7UXW0X8YcjidEuAQzsOp924elacd03pNx8JjXfAtpDzugWj3U31ki9WCl85QkynkIzYv-FGZCdrD8mhJ13pHSPYwtQMoSSwo-3-V8qRGFDgvovGk9jlLc7ae4UN1uwyn-Nynw37o/s200/heat+transfer+07.PNG" width="200" height="125" data-original-width="800" data-original-height="500" /></a>
</div>
Although the previous simulation suggests the wire should be able to achieve temperatures significantly above the range necessary to melt and join the surface polyethylene layers of the balloon films, it considers the wire hovering in air losing heat through convection and radiation, while in an actual heat sealer the heat is transferred mostly conductively through the surrounding materials. Above is a cross-sectional schematic of the material layers planned for the custom heat sealer. The choice of the layers was partly based on materials used in commercial heat sealers and partly reflected materials that I could easily work with. The Teflon tape and silicone profile provide non-stick surfaces for the partially molten plastic film. The chunk of a fire resistant and little thermally conductive (0.244W/mK) cement-bonded particleboard serves to thermally isolate the wire from the wooden frame of the sealer. The silicone profile and the aluminium piece then represent a pressure bar used to press on the film sheets when being sealed.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXq-d6MR0zzfcpycShQwPEUSd0nz2y-jbekj4NO46XISNMgwFrCkxRqocykJjIxLaVVBrHqr6A4nV2IqtWcVft_nnVmpsYV4Nff4k3EtUaP_RExYlIZ0UFqIIJgD0QRuYWvDxnegV1VYw/s1600/model+heat+transfer+12v+02.PNG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXq-d6MR0zzfcpycShQwPEUSd0nz2y-jbekj4NO46XISNMgwFrCkxRqocykJjIxLaVVBrHqr6A4nV2IqtWcVft_nnVmpsYV4Nff4k3EtUaP_RExYlIZ0UFqIIJgD0QRuYWvDxnegV1VYw/s200/model+heat+transfer+12v+02.PNG" width="200" height="118" data-original-width="1251" data-original-height="741" /></a>
</div>
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm">Material</th>
<th class="tg-amwm">ρ [kg/m<sup>3</sup>]</th>
<th class="tg-amwm">k [W/mK]</th>
<th class="tg-amwm">C<sub>p</sub> [J/kgK]</th>
</tr>
<tr>
<td class="tg-yw47">Film</td>
<td class="tg-lyy6">972</td>
<td class="tg-lyy6">0.302</td>
<td class="tg-lyy6">2000</td>
</tr>
<tr>
<td class="tg-yw47">Teflon tape</td>
<td class="tg-lyy6">1900</td>
<td class="tg-lyy6">0.148</td>
<td class="tg-lyy6">936</td>
</tr>
<tr>
<td class="tg-yw47">Silicone profile</td>
<td class="tg-lyy6">1160</td>
<td class="tg-lyy6">0.200</td>
<td class="tg-lyy6">1255</td>
</tr>
<tr>
<td class="tg-yw47">Cement-bonded particleboard</td>
<td class="tg-lyy6">1350</td>
<td class="tg-lyy6">0.244</td>
<td class="tg-lyy6">1880</td>
</tr>
</tbody></table>
<br />
The image above shows an output of a heat transfer model written in Python where I tried to capture the temperature increase in the film and parts of the heat sealer as the heat spreads from the wire. It is a one-dimensional model based on the <a href="https://en.wikipedia.org/wiki/Heat_equation">Heat equation</a>, and the script can be found on <a href="https://github.com/TomasTT7/Heat_Sealer/blob/master/Accessories/heat_transfer.py">Github</a>. The wire is situated at point '0.0' on the Y-axis. The simulation was stopped after 11 seconds of modelled time, at which point the temperature of the wire was 182.7°C and the temperature at the touching point of the two film sheets was at the top of the film's weldability range (125-160°C) - 157.2°C. The energy input to the wire was modelled as the power dissipated in the element of a 12V source across a load of 0.274Ω + 0.220Ω multiplied by a preset time increment. Since the film temperature reaches its target before the heat penetrates deeper into the surrounding materials, only portions of the silicone profile and cement-bonded particleboard from the schematic were modelled. $$T_{x}^{t+1}= (T_{x+1}^{t} + T_{x-1}^{t} - 2T_{x}^{t}) \frac{\alpha \Delta t}{\Delta x^{2}} + T_{x}^{t}$$ $$\alpha = \frac{\kappa}{\rho C_{p}}$$ These are the equations used to calculate the individual data points with tiny increments of $x$ ($\Delta x$ = 0.00002m) and $t$ ($\Delta t$ = 0.0005s). In general, $\frac{\alpha \Delta t}{\Delta x^{2}}$ has to be less than 0.5 to avoid oscillation of the result. Especially when modelling highly thermally conductive materials, $\Delta t$ has to be really small, or $\Delta x$ large. A derivation of a two-dimensional solution can be found in <i>Heat Sealing Fundamentals, Testing, and Numerical Modeling</i>. This document also contains a heat transfer model of a heat sealer, however, one with a fixed boundary condition without internal heat generation in the wire, so the overall calculation is a little different. Nevertheless, the authors found their model to predict temperatures off by 40% on average compared to actually measured data which is a similar finding to the error of my model as will be seen later in actual data from the sealers operation. One of the possible reasons that could explain the error is that the model assumes zero contact resistance between the adjacent layers. In reality, these boundaries aren't perfect and contribute additional thermal resistance which increases the time required to reach target temperature. Also since the model is only one-dimensional, it doesn't take into account that some portion of the heat will spread sideways.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXVBp5aJAdMhihd8Wj3TWBY_SYJWtBGdS1H0mNftb5V_7PwLn3tmGCaPDF31OxjhQQ3wBbC6hv2EcdriFG_pi9sknhZcgNvMJMFTLiMlw5_yc8gKYcMbb2HdG9yKIiHbScmCcZgbb30wo/s1600/IMG_3311+desk.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXVBp5aJAdMhihd8Wj3TWBY_SYJWtBGdS1H0mNftb5V_7PwLn3tmGCaPDF31OxjhQQ3wBbC6hv2EcdriFG_pi9sknhZcgNvMJMFTLiMlw5_yc8gKYcMbb2HdG9yKIiHbScmCcZgbb30wo/s200/IMG_3311+desk.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhG8JiQSTE_yXDYkYAYfj60s506Hcgs0DgzXhPdDdw9A3xogVWg3AyBYsAEvDDTGML9SD1hpa3VeTsLYUO1J5A4YVWjgjIkRpP6olPOlAYq1e5cgoG13ZfKIdoFi3k7xViTQDmDBG6GVlY/s1600/IMG_3314+desk.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhG8JiQSTE_yXDYkYAYfj60s506Hcgs0DgzXhPdDdw9A3xogVWg3AyBYsAEvDDTGML9SD1hpa3VeTsLYUO1J5A4YVWjgjIkRpP6olPOlAYq1e5cgoG13ZfKIdoFi3k7xViTQDmDBG6GVlY/s200/IMG_3314+desk.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
For the frame of the sealer, I chose to use wood. I had the tools and it is relatively easy to work with in home environment. The main desk is from spruce wood (490x320x18mm) while the supports were made from a beech doorsill (20mm thick). Sanding the desk with a 60 grit sandpaper first and then with a 280 grit one made the surface very smooth to touch.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjA3hGVCrJxScGYQ_yuYBjM8FwI_qvnUjiDqPGHWz1xy67fxt2KdwoN60XFYwa-QoZhM0S-SmGWHCvRPi6M3PplUF47J_j4YWOsWRylO7_7ylV4L-ScDmBX0vO8Q2bbC5t10crx_yTgs0I/s1600/IMG_3317+desk+cement-bonded+particleboard.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjA3hGVCrJxScGYQ_yuYBjM8FwI_qvnUjiDqPGHWz1xy67fxt2KdwoN60XFYwa-QoZhM0S-SmGWHCvRPi6M3PplUF47J_j4YWOsWRylO7_7ylV4L-ScDmBX0vO8Q2bbC5t10crx_yTgs0I/s200/IMG_3317+desk+cement-bonded+particleboard.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgO4pd52ejjzZ0-GqK8M0wJoM8Vb1JjrmJ67VO12EKT0QJRhPNhoJVMFycIaai0APQWcme2ZmnnbE-kNXsQwBFzHNdvEdt2Bo0f34Wu3UqGhKEucyJVYK4g55H4PhAN3Zw0smNd8pt0FGw/s1600/IMG_3320+wire+teflon+tape.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgO4pd52ejjzZ0-GqK8M0wJoM8Vb1JjrmJ67VO12EKT0QJRhPNhoJVMFycIaai0APQWcme2ZmnnbE-kNXsQwBFzHNdvEdt2Bo0f34Wu3UqGhKEucyJVYK4g55H4PhAN3Zw0smNd8pt0FGw/s200/IMG_3320+wire+teflon+tape.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
The slot in the wooden frame was fitted with a piece of the cement-bonded particleboard (20mm) to support the nichrome wire. The particleboard was overlaid with a strip of the Teflon tape so its rough surface doesn't damage the wire.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbDZD85Qi4UOqsqQWfc522Q7g41WjFvQYQz8piUr9xKv3-mfRnXz0XXmx7sC3Npgstjdp0f6uvJmlYPumxymUgthdecwMQttqGkfKGh-uWi7KGNO_7BSlPo4AACqx6ctsi5w9iMjZK_lU/s1600/IMG_3323+wire+spring+teflon+tape.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbDZD85Qi4UOqsqQWfc522Q7g41WjFvQYQz8piUr9xKv3-mfRnXz0XXmx7sC3Npgstjdp0f6uvJmlYPumxymUgthdecwMQttqGkfKGh-uWi7KGNO_7BSlPo4AACqx6ctsi5w9iMjZK_lU/s200/IMG_3323+wire+spring+teflon+tape.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtjfIWEKzzWSr-VA_P6zJnaEDmhsBUMCEfgrw3TaU18fZccgKwL9xFMpLAnuNIUldLzuVfTUY1QBbX0mzLrOCJfbeUk0-QYuVM9Zu_QAkvDHHvVnMyk7b5rWFM5UOzyGbcbXItgyt67Z8/s1600/IMG_3324+wire+teflon+tape.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtjfIWEKzzWSr-VA_P6zJnaEDmhsBUMCEfgrw3TaU18fZccgKwL9xFMpLAnuNIUldLzuVfTUY1QBbX0mzLrOCJfbeUk0-QYuVM9Zu_QAkvDHHvVnMyk7b5rWFM5UOzyGbcbXItgyt67Z8/s200/IMG_3324+wire+teflon+tape.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
Useful length of the 10mm wide nichrome wire is about 350mm while its total length is 391mm. It is anchored with two M4 bolts in the beech desk. Since the wire changes length by a few millimeters as its temperature varies between idle and sealing states, one side is suspended on a spring to allow for this variation. The leads are fastened to the wire with a couple of fork terminals.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgR5cTCDSFo9-NnAGs-R1ypjazW1Ly03XRpk8TMvyj9lXs-r5SBTNqbV9g-UDqCA8D3UtUnlRlmMgVH4QBRYJse5un6Pv4VpCtCO8xO3BG9egu_g5gC2wAthp6y4BemfIM7BoxPHfpXVPM/s1600/IMG_3329+wire+cover.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgR5cTCDSFo9-NnAGs-R1ypjazW1Ly03XRpk8TMvyj9lXs-r5SBTNqbV9g-UDqCA8D3UtUnlRlmMgVH4QBRYJse5un6Pv4VpCtCO8xO3BG9egu_g5gC2wAthp6y4BemfIM7BoxPHfpXVPM/s200/IMG_3329+wire+cover.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNdeclqrqQ0CP7LItPAoB5us4k_CQsr4vrFItFQZMTd-iVOaet_ugwHTgM2VWlFaiCq8dY3jswaLrRMTHN5DZlNPoinq7txS6BtckSLxzLhuwQmC29KhbWSoc9Jj3cA6w78S0nt66zIvI/s1600/IMG_3331+wire+cover.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNdeclqrqQ0CP7LItPAoB5us4k_CQsr4vrFItFQZMTd-iVOaet_ugwHTgM2VWlFaiCq8dY3jswaLrRMTHN5DZlNPoinq7txS6BtckSLxzLhuwQmC29KhbWSoc9Jj3cA6w78S0nt66zIvI/s200/IMG_3331+wire+cover.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKlagY-EbrPRAd6Rya5e6sJhotSarOgK6Hy-2vX4L__VGH4YhRxN0LEp5Old4cMLnd651i-4Iro73puPYF9X5HyTuH06PihCmmNP0r9YU42ssfeuWCmnsntQM5mq4_plNZwzsfC5aS33A/s1600/IMG_3333+wire+cover.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKlagY-EbrPRAd6Rya5e6sJhotSarOgK6Hy-2vX4L__VGH4YhRxN0LEp5Old4cMLnd651i-4Iro73puPYF9X5HyTuH06PihCmmNP0r9YU42ssfeuWCmnsntQM5mq4_plNZwzsfC5aS33A/s200/IMG_3333+wire+cover.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFqje-HHsDvdsrGtq2eCXjY4MjVDAMy4Pv9nB7tfq7P-UfUwor2WpIHtb1X3TfkfndZ3xQIGODT6ZnbkRNYk_d2ogKO4I-KjyerI3-hZ8fcljx_BEIypZ0NeUFT67qEmZ6gqGCWwHFRLc/s1600/IMG_3334+wire+cover.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFqje-HHsDvdsrGtq2eCXjY4MjVDAMy4Pv9nB7tfq7P-UfUwor2WpIHtb1X3TfkfndZ3xQIGODT6ZnbkRNYk_d2ogKO4I-KjyerI3-hZ8fcljx_BEIypZ0NeUFT67qEmZ6gqGCWwHFRLc/s200/IMG_3334+wire+cover.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
Since some balloon shapes require long straight welds, the wire terminals were covered with three low profile plastic cases (31x45x20mm), so they don't obstruct manipulation with the film too much. The cases were glued to 8mm tall spacers which fit onto screw-threads in the beech doorsill visible in the previous images.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnhaFi8Gr_l8Dg5g62wybgC75xKYfhvk_K8X21ygQZOivRvMZe_HHnJ-YnfrSla3s9gWI13Jmkvh1uxD_PS98QT1hsfvClY47qG5Peo51elD2BlfhtERV1xbKWQwO9t9JsMXaSbFxqyZQ/s1600/IMG_3337+teflon+tape+cover.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnhaFi8Gr_l8Dg5g62wybgC75xKYfhvk_K8X21ygQZOivRvMZe_HHnJ-YnfrSla3s9gWI13Jmkvh1uxD_PS98QT1hsfvClY47qG5Peo51elD2BlfhtERV1xbKWQwO9t9JsMXaSbFxqyZQ/s200/IMG_3337+teflon+tape+cover.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiV-K9sJexWJQXef_NqkJI-rVRb8KrxN1cMNivovI8VokTaVJzDVNaozkJL2j_b-klcTBP0rMvrAN_w6mBFcbpRnf7up0ZD4H6XLCrCweqIWX4EIibwMSZmolQEZqsr-y6f8d6_y7NWFGo/s1600/IMG_3338+teflon+tape+cover.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiV-K9sJexWJQXef_NqkJI-rVRb8KrxN1cMNivovI8VokTaVJzDVNaozkJL2j_b-klcTBP0rMvrAN_w6mBFcbpRnf7up0ZD4H6XLCrCweqIWX4EIibwMSZmolQEZqsr-y6f8d6_y7NWFGo/s200/IMG_3338+teflon+tape+cover.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
On top, the wire was covered by another strip of the Teflon tape. This is the surface that comes in touch with the plastic film during sealing. The 30mm wide tape is rated to 260°C according to the Ebay seller. Bottom side of the tape is coated with a silicone adhesive. The tape is said to be 0.18mm thick, but I am not sure whether that is a thickness of Teflon only or a combined thickness of Teflon and adhesive.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0yJ2vt2exBDP8QNpiV8Nv5hbszv21gHAY6DIbwk4MX_XdvcMS0wo6RmC4n-zhLi239tTCIn2FK0H4Oa6C4pD1idlOXZv9j6Ukmt15epXCLM9tHiUyaOs1PohNWuUKX3BZJECwl5NgH4g/s1600/IMG_3343+power+resistor+fan.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0yJ2vt2exBDP8QNpiV8Nv5hbszv21gHAY6DIbwk4MX_XdvcMS0wo6RmC4n-zhLi239tTCIn2FK0H4Oa6C4pD1idlOXZv9j6Ukmt15epXCLM9tHiUyaOs1PohNWuUKX3BZJECwl5NgH4g/s200/IMG_3343+power+resistor+fan.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5NhvgoxdgrPkrZf3okPDKkNJTyhc9XgBeX0LDVfxXzsqiU5SSXOc-i0iFLD53h-3EU8Twcc6hdE518E3w7LTt1p2V6Z8XMGWIegVkcRw8aIXByVQKxuJdi-jqMTNCchjzdiLbstRYi3Q/s1600/IMG_3346+power+resistor+fan.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5NhvgoxdgrPkrZf3okPDKkNJTyhc9XgBeX0LDVfxXzsqiU5SSXOc-i0iFLD53h-3EU8Twcc6hdE518E3w7LTt1p2V6Z8XMGWIegVkcRw8aIXByVQKxuJdi-jqMTNCchjzdiLbstRYi3Q/s200/IMG_3346+power+resistor+fan.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
These images show the 220mΩ 100W power resistor (HSC100) that had to be added in series with the nichrome wire to decrease the maximum current. For full functionality, it required a heat sink. The datasheet recommended quite a sizable one, so instead I decided to add a fan to a more reasonably sized heat sink. It is 80x78x35mm and the 12V (1W) fan (55.77m<sup>3</sup>/h) fits right onto it. The fan is connected in parallel to the main circuit and has its own switch.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_qcLACdLo9nytbZHAl0kupGbrJeyzAsHniLlkVWSecSjIexiCXSsjpgp9LVLfkbtHpy6q1ujYfQ6wedamsB5xX17tITHUahJPa8_P7fqqQttq9aPyQp9VUFggSEQO4fSt5I5s2NZS234/s1600/IMG_3349+controller.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_qcLACdLo9nytbZHAl0kupGbrJeyzAsHniLlkVWSecSjIexiCXSsjpgp9LVLfkbtHpy6q1ujYfQ6wedamsB5xX17tITHUahJPa8_P7fqqQttq9aPyQp9VUFggSEQO4fSt5I5s2NZS234/s200/IMG_3349+controller.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyEjbOWK-5WDDW4Xmh5kDC-pT5WNj1vEWjBNL06z1LUKHhrgrROCFlS0Zq5aUlaXhma8RqnZ6qmWlG0PVgBmWUsK52RJ9r0h5ir5FbxUi7yYow6VDOPKb9Khzi3j2UsP-ngce2Mm3Dllw/s1600/IMG_3354+controller.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyEjbOWK-5WDDW4Xmh5kDC-pT5WNj1vEWjBNL06z1LUKHhrgrROCFlS0Zq5aUlaXhma8RqnZ6qmWlG0PVgBmWUsK52RJ9r0h5ir5FbxUi7yYow6VDOPKb9Khzi3j2UsP-ngce2Mm3Dllw/s200/IMG_3354+controller.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
The heat sealer is controlled via three push-buttons and a small OLED display which shows the selected sealing duration, the power supply's voltage (switches to voltage across the nichrome wire when sealing), the current flowing through the wire, and the total energy dissipated in the wire. A problem I had with the commercial heat sealer was inconsistency in quality of the welds it produced as the sealer got hotter. For this reason, I wanted some sort of a feedback on individual welds from the sealer. Ideally, it would be the temperature of the wire, but affordable sensors don't have fast enough response to measure the relatively short impulses the sealer produces. So instead I opted for measurements of voltage in front of the wire and right after it, and of current flowing through the main branch. The switching and timing of the active cycle is in control of an Arduino ProMini via a low on-resistance, high drain current N-channel MOSFET (a heat sink to dissipate up to 2W is necessary). The switch on the controller board is there to isolate it from the rest of the circuit and avoid reverse loading the voltage regulator when reprogramming the Arduino.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiml7U1yFqw8U7ea_0DawEe1PvJK8IsEroX16-6CIoRdM8bnNBtvENsNiJoHacRy_-Zbh2B-K5jHrSrBPA-aSmnPhQT_MlzUuu3F3UkOJUe5PAvE6vfLEERujGsG2qFOeo_ZiSIYuxw2Ns/s1600/schematic_controller_02.PNG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiml7U1yFqw8U7ea_0DawEe1PvJK8IsEroX16-6CIoRdM8bnNBtvENsNiJoHacRy_-Zbh2B-K5jHrSrBPA-aSmnPhQT_MlzUuu3F3UkOJUe5PAvE6vfLEERujGsG2qFOeo_ZiSIYuxw2Ns/s200/schematic_controller_02.PNG" width="200" height="137" data-original-width="1020" data-original-height="700" /></a>
</div>
This is the schematic of the whole setup aside from the fan. The nichrome wire and the Arduino circuit are connected in parallel to the 12V power supply. The Arduino branch is supplied through a 5V LDO voltage regulator, the Arduino itself directly through its VCC pin. Two voltage dividers (1% tolerant resistors) bring the wire voltages down to the Arduino's range. A 30A version of an ACS712 module is in series with the wire and the power resistor, and its output is connected to the Arduino's analog input to measure the current. An LED for signaling current flowing through the high current branch is connected in parallel with the wire. The MOSFET's gate is through a current limiting resistor connected to the Arduino's digital pin 13 and also pulled to ground via another resistor to ensure the transistor switches off when the pin goes LOW.</br>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglgoaNNQy-RgSxjMR25zQ0epFh25GIi_Qsoask9PkYu9O6cBDaN_f_-1Q4EPm-GexikqBJp6v0qSmFcUw7FWrgEG3u07gOD6OLt3PI12iA_fb5khwbTULGiu-UXWjp4HENHS7ia2c6SHY/s1600/IMG_3361+finished+heat+sealer.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglgoaNNQy-RgSxjMR25zQ0epFh25GIi_Qsoask9PkYu9O6cBDaN_f_-1Q4EPm-GexikqBJp6v0qSmFcUw7FWrgEG3u07gOD6OLt3PI12iA_fb5khwbTULGiu-UXWjp4HENHS7ia2c6SHY/s200/IMG_3361+finished+heat+sealer.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYAA6VP554XNgsav9DDRVuighAr6Y_pRFN9znz2NPaWVUew8NYgjmX9YDKdm7K32HMhAPbgHWhmVQ1tQMy13kl7qm3twdHNyPtDBDndO1Yq3AOG2OZU2DnOpFBKG-7qzYkZpo8arBoeas/s1600/IMG_3362+controller.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYAA6VP554XNgsav9DDRVuighAr6Y_pRFN9znz2NPaWVUew8NYgjmX9YDKdm7K32HMhAPbgHWhmVQ1tQMy13kl7qm3twdHNyPtDBDndO1Yq3AOG2OZU2DnOpFBKG-7qzYkZpo8arBoeas/s200/IMG_3362+controller.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
The controller and the power resistor are far enough from the working area to provide some space for manipulation with the plastic films. Typically, one hand presses onto the films while the other one is free to push the rightmost push-button to start the sealing impulse. The display shows the elapsed time during the pulse and signals a default cooldown period once it is over. The firmware also doesn't allow starting another impulse before the end of the cooldown.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrTJgZb__uGsPIf4RXwRpEABwmuVyxWROmf3IqjSamvpEogCC6pWjoYmVyV8pgu6rygEy97pi_g0tXanzP0Y2qGETEqumzCZM6zn6qJQNmaSMDWMs1hbUuEQ0emde1aX3DyVvMIbabgoA/s1600/IMG_3365+heat+sealer+bottom.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrTJgZb__uGsPIf4RXwRpEABwmuVyxWROmf3IqjSamvpEogCC6pWjoYmVyV8pgu6rygEy97pi_g0tXanzP0Y2qGETEqumzCZM6zn6qJQNmaSMDWMs1hbUuEQ0emde1aX3DyVvMIbabgoA/s200/IMG_3365+heat+sealer+bottom.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4mMkMpZdLwGPPqbcqKvV5IH_uUwFlFHbBtEeGH6uEkDrxjR2RRyE050XhPm3bir5U2g4YMLPWI7Z8t-vgvd40HaTFXrXulkZJ0yyQ29NCzEb_nVLQ85VoeNUQVVGs0HP0inQvrU94-Fs/s1600/IMG_3369+controller+bottom.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4mMkMpZdLwGPPqbcqKvV5IH_uUwFlFHbBtEeGH6uEkDrxjR2RRyE050XhPm3bir5U2g4YMLPWI7Z8t-vgvd40HaTFXrXulkZJ0yyQ29NCzEb_nVLQ85VoeNUQVVGs0HP0inQvrU94-Fs/s200/IMG_3369+controller+bottom.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
Since the current flowing through the heat sealer was expected to be up to around 25A, a stranded copper wire 2.3mm in diameter (4.8mm outer diameter) in PVC insulation was chosen to carry the current. The PCB tracks were also made with excess amounts of solder to decrease their resistance. In terms of current carrying capabilities, the ACS712 module's PCB is the bottleneck of the high current branch of the circuit. Upon a closer look, the traces leading to the integrated circuit are 5mm wide, they are laid out on both sides of the PCB and connected by vias. Assuming these dimensions and 1 ounce copper thickness, their temperature could increase by about 47°C when 25A flow through them.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLTYHj0x_0fGYdj6m805vL_EZ1mNay8aJB43-kS9g-C57mmNxOvqQdmJ7a31Kwm_hNUaa2B3Wkcr-vNR5yTBAomydEMhQeso-W5Cups8-NHDhNHGeKwUJmSVcNOzHobazJqZzDUXojL9M/s1600/IMG_3377+power+supply.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLTYHj0x_0fGYdj6m805vL_EZ1mNay8aJB43-kS9g-C57mmNxOvqQdmJ7a31Kwm_hNUaa2B3Wkcr-vNR5yTBAomydEMhQeso-W5Cups8-NHDhNHGeKwUJmSVcNOzHobazJqZzDUXojL9M/s200/IMG_3377+power+supply.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFD7cJ8N3jTAANgP_ycTIQ63ZnNwT1CHJOhjyvpkVXbSpWBNnn6ryqHlDiNtpJXgc-ae5Zbjm5s9eJzCTeH3QQ3lZlSXogbmq_g6PfgOYyl0p88Rr9u5SS4j-96c2FYDhq5F92RcpbZpI/s1600/IMG_3378+power+supply.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFD7cJ8N3jTAANgP_ycTIQ63ZnNwT1CHJOhjyvpkVXbSpWBNnn6ryqHlDiNtpJXgc-ae5Zbjm5s9eJzCTeH3QQ3lZlSXogbmq_g6PfgOYyl0p88Rr9u5SS4j-96c2FYDhq5F92RcpbZpI/s200/IMG_3378+power+supply.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
As mentioned earlier, the heat sealer is supplied by an LED driver Qoltec IP20. Its voltage output can be slightly adjusted between 10.89V and 15.15V (open circuit) via a potentiometer, and it is rated at 250W. In practice, the nichrome wire and power resistor load dropped the maximum voltage to 13.5V at which point the power supply provided around 25.5A (344W).<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQlUJwL4_xuNJyYVlaSYgmF7ChwmDCUnBbp-DtKOt51dz8CtdjKotkTuyQ00BmRFmExiRWZKoRSjXBfeWdhDZw7PWAToYuEeS6bv3NLltvIszTmAU5O99r8WwzOdeTAcwxOhafnYg9k3Y/s1600/IMG_3405+pressure+bar.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQlUJwL4_xuNJyYVlaSYgmF7ChwmDCUnBbp-DtKOt51dz8CtdjKotkTuyQ00BmRFmExiRWZKoRSjXBfeWdhDZw7PWAToYuEeS6bv3NLltvIszTmAU5O99r8WwzOdeTAcwxOhafnYg9k3Y/s200/IMG_3405+pressure+bar.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgadieaLQZO4xCt09dHZJqAE2zHO2jxnZeqkedJIAWhGUJ_RgsK8tnwy2zGuOVgCYG1VgKUMjSgDoyIOWiU0i0EDlNxDkHyNDKxzNi8vBdmsgTioK2GR18IHaT8flU5djKbjhFmyO0SGuE/s1600/IMG_3400+pressure+bar.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgadieaLQZO4xCt09dHZJqAE2zHO2jxnZeqkedJIAWhGUJ_RgsK8tnwy2zGuOVgCYG1VgKUMjSgDoyIOWiU0i0EDlNxDkHyNDKxzNi8vBdmsgTioK2GR18IHaT8flU5djKbjhFmyO0SGuE/s200/IMG_3400+pressure+bar.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
Proper contact between the film sheets and the wire to facilitate the heat transfer is ensured by exerting pressure on top of the film. To do this in the custom heat sealer, a pressure bar from an aluminium and a silicone profiles was constructed. The aluminium piece is 20x20mm and 345mm in length with anodized surface. The silicone strip is the same length and 20x8mm in cross-section. The hardness of the silicone is 60Sh.A, while the maximum operating temperature for silicone rubber is typically quoted between 200°C to 250°C. To each other, they are joined with a silicone sealant. The surfaces were cleaned with isopropyl alcohol, and the anodized coating on the aluminium profile was sanded prior to applying the sealant.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZfn251PKsyPyOIGU8_3C7hyl_iCgxdYBN7hRp-gDX56UT1cXUhg6FFw367k-PU9JRTsIPUvV6Klm-2V7ys6a7PrnAy4uyu8e53GPOhZlRCrYh5UxvmtP44nbmbM2Y63wtwa4AXsFsprs/s1600/IMG_3384+heat+sealer.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZfn251PKsyPyOIGU8_3C7hyl_iCgxdYBN7hRp-gDX56UT1cXUhg6FFw367k-PU9JRTsIPUvV6Klm-2V7ys6a7PrnAy4uyu8e53GPOhZlRCrYh5UxvmtP44nbmbM2Y63wtwa4AXsFsprs/s200/IMG_3384+heat+sealer.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
This then is the finished heat sealer. The light construction and long cables allow for some mobility around a larger balloon envelope. The power supply could possibly be mounted directly on the heat sealer, but I thought it would be easier to handle and fiddle around with just the desk while keeping the 230V cord further away.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgk_HaxS_J9p6IPwibghB2pjIyOrkcAKTw0moe1NxLAiND-KrxSak4UkKHk_xj2nhX3_pcAhuigHWigvqrtklwJ_wiixII32kU2pWxqcdXJ34BL7AEZdd5CD8djMejbB2QLiSnhZPus0TI/s1600/IMG_3390+bluetooth.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgk_HaxS_J9p6IPwibghB2pjIyOrkcAKTw0moe1NxLAiND-KrxSak4UkKHk_xj2nhX3_pcAhuigHWigvqrtklwJ_wiixII32kU2pWxqcdXJ34BL7AEZdd5CD8djMejbB2QLiSnhZPus0TI/s200/IMG_3390+bluetooth.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
Aside from displaying information on the OLED display, an external Bluetooth module can be connected to the Arduino to log data periodically output by the heat sealer. The firmware provides the two measured voltages, the measured current, and calculated total energy every 20ms.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUEJU9wENi7nbJDdA5jnN2A_jNQFpQbjQWrA_9uyf2CYsGj5jEvKpsf4E_5lkvOr_BoWCmpKYX9csWZSGs0NpcmCGi8gYi8SPd2M3TVdqcTutUtDz1qPKq4n7clt1riPD5FNa1GEYoNiU/s1600/data+output+example+01.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUEJU9wENi7nbJDdA5jnN2A_jNQFpQbjQWrA_9uyf2CYsGj5jEvKpsf4E_5lkvOr_BoWCmpKYX9csWZSGs0NpcmCGi8gYi8SPd2M3TVdqcTutUtDz1qPKq4n7clt1riPD5FNa1GEYoNiU/s200/data+output+example+01.png" width="200" height="121" data-original-width="1032" data-original-height="622" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-cItDbKJb3av38iBqLzQ_fUG2D9XF3eVV7VGvFYOCK1QNeWaQ4ppIDymiOQFTche9mD8vcgAloBeclsKaW1v5IxPbPVnWlTLvWY5ytWjI6yDyqrWYqyLB8p-xftpIk3esf4eRRfpJ8Is/s1600/data+output+example+05.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-cItDbKJb3av38iBqLzQ_fUG2D9XF3eVV7VGvFYOCK1QNeWaQ4ppIDymiOQFTche9mD8vcgAloBeclsKaW1v5IxPbPVnWlTLvWY5ytWjI6yDyqrWYqyLB8p-xftpIk3esf4eRRfpJ8Is/s200/data+output+example+05.png" width="200" height="120" data-original-width="1033" data-original-height="621" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRfUvC-mvXthkh63ctJqki6PyAg6FQJyVhtNfolKAUDTbnu_auUx-F3i6vDW2QOK0RqNhbTag9EznpWeUkZ1bFbIEbtXkLqhZa7UN-lHOquq89tBAQxE9Mgne9Janrxj1Dfczw0NvXqAg/s1600/data+output+example+03.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRfUvC-mvXthkh63ctJqki6PyAg6FQJyVhtNfolKAUDTbnu_auUx-F3i6vDW2QOK0RqNhbTag9EznpWeUkZ1bFbIEbtXkLqhZa7UN-lHOquq89tBAQxE9Mgne9Janrxj1Dfczw0NvXqAg/s200/data+output+example+03.png" width="200" height="120" data-original-width="1033" data-original-height="622" /></a>
</div>
These charts are made of data output by the heat sealer during 10s of sealing at an input of 12.5V from the power supply. The progression of the two voltages and the current come from actual measurements, while the resistance, temperature, power and energy curves were calculated from the received data. The power supply's output typically drops by a half a volt when current starts flowing through the high current branch. The current and total power going to the sealer typically decrease over duration of an impulse as the wire resistance increases with its temperature. Because of this the power dissipating in just the wire stays more or less flat. The temperature calculation was based on a reference resistance of 0.280Ω at 20°C (a new value from measurements by the heat sealer itself) and the temperature coefficient of resistance of nichrome $\alpha$ = 0.0004. Note that the wire temperature/resistance can only be calculated when the heat sealer is active and current is flowing through the wire.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUUKwEGf2Id7uv0adYqFwcpnIfdC5ZDMpsMiav4Hd2OjGNodpDnND3j0ouOgrI0vNn5Nw51oXyUOY4vlGAh4JurjlQiWSySEzHT3yhaogFASlbjqefho-AhMWMpsU_3sotc-QeVrtwgz8/s1600/data+output+temperature+material+01.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUUKwEGf2Id7uv0adYqFwcpnIfdC5ZDMpsMiav4Hd2OjGNodpDnND3j0ouOgrI0vNn5Nw51oXyUOY4vlGAh4JurjlQiWSySEzHT3yhaogFASlbjqefho-AhMWMpsU_3sotc-QeVrtwgz8/s200/data+output+temperature+material+01.png" width="200" height="121" data-original-width="1036" data-original-height="625" /></a>
</div>
This chart shows the difference in the wire's temperature between a situation where the pressure bar is pressed against it and a situation where it is not. With one side of the wire exposed to air, the heat doesn't spread away from the wire as fast as it does when the silicone profile is adjacent to it. That leads to the wire heating up noticeably more.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJqkYBPuGSRYVErh7ZkOHq7mv4oeC95yJ9jt8-642sOZBFcwWrhDePwb2FmDc2yTIMrgU7z2EgWbFr898RjxoRrdONVlMkBFwpl-rcrz4hzs2zvIG6m5wGhQPV0LHpPNZt3lgy3HduEP8/s1600/IMG_3468+seal+12V+10s.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJqkYBPuGSRYVErh7ZkOHq7mv4oeC95yJ9jt8-642sOZBFcwWrhDePwb2FmDc2yTIMrgU7z2EgWbFr898RjxoRrdONVlMkBFwpl-rcrz4hzs2zvIG6m5wGhQPV0LHpPNZt3lgy3HduEP8/s200/IMG_3468+seal+12V+10s.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3-m6jOcwpfoNsUaJlmRA0nNRFPZ15UU82vafVN0Qygwkj3vwB6fMrDHGXflTM8ICKDnO-0uT4vDz4ItYWI_nVW9csLMKMh_pUe23yc6A5NvKDToPjA6ZPi6Ice-A9TyHZzTGplTqALFg/s1600/IMG_3463+seal+12V+15s.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3-m6jOcwpfoNsUaJlmRA0nNRFPZ15UU82vafVN0Qygwkj3vwB6fMrDHGXflTM8ICKDnO-0uT4vDz4ItYWI_nVW9csLMKMh_pUe23yc6A5NvKDToPjA6ZPi6Ice-A9TyHZzTGplTqALFg/s200/IMG_3463+seal+12V+15s.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTqdH17wze6inV5RG9eBMCq9B2KBouJlTfpXmyvhNDAtVcfkji8x3D8ixKDQQAc48-sPoilsUEiqW6PrquzD3ipTNQUADlOWHUf1yiMWSKJDT4lNyVc3xdqOJ0-DgjFiGpiTAEBiDvM5o/s1600/IMG_3466+seal+12V+20s.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTqdH17wze6inV5RG9eBMCq9B2KBouJlTfpXmyvhNDAtVcfkji8x3D8ixKDQQAc48-sPoilsUEiqW6PrquzD3ipTNQUADlOWHUf1yiMWSKJDT4lNyVc3xdqOJ0-DgjFiGpiTAEBiDvM5o/s200/IMG_3466+seal+12V+20s.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjChGobIYYHDepJhVwgnXjX6RlJJUz3r5w0t7bQUFPrZspqzJrxdRzAC4hnu40AyKx-jpIM6RKKEzgo6nabODHMeJrAZMl3oVZdXAPqiKfGobB8JPg4tfjvuZ6KFjqFnSYRHX2PBHGDJgQ/s1600/IMG_3474+seal+12V+30s.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjChGobIYYHDepJhVwgnXjX6RlJJUz3r5w0t7bQUFPrZspqzJrxdRzAC4hnu40AyKx-jpIM6RKKEzgo6nabODHMeJrAZMl3oVZdXAPqiKfGobB8JPg4tfjvuZ6KFjqFnSYRHX2PBHGDJgQ/s200/IMG_3474+seal+12V+30s.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
As the first test, the heat sealer was input 12.5V, and a series of welds was made with increasing seal durations. The surface temperature of the sealer was allowed to cool down below 40°C between each go (30-60°C calculated wire temperature). The material being sealed was two sheets of a 40μm PE/PA/EVOH/PA/PE film. These images show the resulting welds made with 10, 15, 20 and 30 second seal durations. Polarized light was shone through the plastic films, and the pictures were taken through a polarization filter to highlight internal deformations. After reviewing the whole series of welds, sharp color transitions at the edges typically indicated a properly made weld, while vague color transitions suggested some degree of loosening when put under tension was expected.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTrF0TBVxwRCZiHdGQRHaOgXnZDRGlltyvyoYk117JwnjUGcVhmIzGgxVYwl5PuQ0kyB4DWCXsBLKTjLrNnzhuWdbpr2eRT9F47zrjNqXn2WAr5R0xPgYALI1TvNCIk9bTxUltGQJirYg/s1600/IMG_3478+seal+12V+20s+deformation.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTrF0TBVxwRCZiHdGQRHaOgXnZDRGlltyvyoYk117JwnjUGcVhmIzGgxVYwl5PuQ0kyB4DWCXsBLKTjLrNnzhuWdbpr2eRT9F47zrjNqXn2WAr5R0xPgYALI1TvNCIk9bTxUltGQJirYg/s200/IMG_3478+seal+12V+20s+deformation.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhblENokotjGpUU1x8sAlfBqdYXsbCzsRAuYDS1wWfW-K29jpuCCrif6URLHGio9aLLoDDPsXIlDiPuDOOuR8FsUQtOACieWmD4ofHZvkZcEkKIK9eTXgNGvxu-30GqUOBHHqMe6_uJzHk/s1600/IMG_3503+seal+12V+10s+deformation.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhblENokotjGpUU1x8sAlfBqdYXsbCzsRAuYDS1wWfW-K29jpuCCrif6URLHGio9aLLoDDPsXIlDiPuDOOuR8FsUQtOACieWmD4ofHZvkZcEkKIK9eTXgNGvxu-30GqUOBHHqMe6_uJzHk/s200/IMG_3503+seal+12V+10s+deformation.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
This, in the image on the left, is the 20s weld under polarized light after it was forcefully stretched at both sides. No loosening of the joined sheets at the edges of the weld was observed. On the other hand, the image on the right shows the 10s weld loosened at the edges to a width of just 6mm. At input voltage of 12.5V (12V across the wire and 0.220Ω resistor when current flows), the welds showed no loosening of the edges at seal durations of 17s and above. That corresponds to total energies of 2290Ws and more put into the wire, and the wire reaching calculated temperatures of 305°C and above.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLUY7WlUxq-a82Ph4z1eaVpGlariayeWnaa8oYRmiR9Z2d0y1UbVPgd7nwg9dKiMhx6F3wJtL4RonEFBiXbLur78GlccPlH6sEoAdRLiAXJsTHgBVfeWjGhKF-oBCguYRbBSBjp085Xm8/s1600/data+output+temperature+duration+01.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLUY7WlUxq-a82Ph4z1eaVpGlariayeWnaa8oYRmiR9Z2d0y1UbVPgd7nwg9dKiMhx6F3wJtL4RonEFBiXbLur78GlccPlH6sEoAdRLiAXJsTHgBVfeWjGhKF-oBCguYRbBSBjp085Xm8/s200/data+output+temperature+duration+01.png" width="200" height="120" data-original-width="1034" data-original-height="622" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHj9O8aBMwxhmPzi5LIa207wGy4VfIPpde6m9RLM_-HLIBU74Dj0HK-3XMT8olI6A4Ba_M37dFpcLCsmPHATlZpSZKIDZZ6WpknW7wC1Lh3PZS4g5k34cQ5g_gzCvvkKMP345nh6SCTCk/s1600/data+output+temperature+warmup+01.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHj9O8aBMwxhmPzi5LIa207wGy4VfIPpde6m9RLM_-HLIBU74Dj0HK-3XMT8olI6A4Ba_M37dFpcLCsmPHATlZpSZKIDZZ6WpknW7wC1Lh3PZS4g5k34cQ5g_gzCvvkKMP345nh6SCTCk/s200/data+output+temperature+warmup+01.png" width="200" height="121" data-original-width="1035" data-original-height="625" /></a>
</div>
The chart on the left shows that the progression of calculated temperature was consistent between the individual welds. Also, no signs of approaching a levelled state were observed under 30s at this input power. The chart on the right then documents three consecutive 10s welds made right after power up with the heat sealer at room temperature. It is apparent that during the first weld, the temperature is noticeably lower, while the second and third welds follow a typical temperature curve. When the finished welds were put under tension, the first completely opened with little force, while the second and third both behaved as described earlier. So at least one warm-up weld should be made when starting to work with a cold machine.<br />
A note about the temperature calculation. There was no documentation regarding the wire, nor any information about the manufacturer. I concluded it was made of nichrome based on its resistance and its non-magnetic behavior. There, however, is a number of figures for nichrome's temperature coefficient of resistivity that can be found on the Internet. The value I used, 0.0004, was the most frequent one, and also produced the most reasonable results. Particularly, when comparing the initial temperatures of successive welds, and when measuring the surface temperature of the wire with a thermocouple in between individual welds. The temperature here is only the result of a calculation which is useful in comparing welds made with different settings, not an accurate measure of temperature in absolute terms.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaiEBzmVDWhnVc7wMWkdJseKhyqAOVAfDoiJNDCDtucXXQ4zHczFruA6L-PW8LFpZ_JJcBSNyxufNzZu7odVCzwCiXOiPWPIohL4LfjPJPaxrfp2nk-fxDSONlhxUd9TIKZNOFyhDT43g/s1600/data+output+temperature+voltage+02.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaiEBzmVDWhnVc7wMWkdJseKhyqAOVAfDoiJNDCDtucXXQ4zHczFruA6L-PW8LFpZ_JJcBSNyxufNzZu7odVCzwCiXOiPWPIohL4LfjPJPaxrfp2nk-fxDSONlhxUd9TIKZNOFyhDT43g/s200/data+output+temperature+voltage+02.png" width="200" height="120" data-original-width="1036" data-original-height="624" /></a>
</div>
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm">V<sub>in</sub> [V]</th>
<th class="tg-amwm">T<sub>prev</sub> [°C]</th>
<th class="tg-amwm">t<sub>cd</sub> [s]</th>
<th class="tg-amwm">T<sub>min</sub> [°C]</th>
<th class="tg-amwm">T<sub>max</sub> [°C]</th>
<th class="tg-amwm">E [Ws]</th>
<th class="tg-amwm">Weld</th>
</tr>
<tr>
<td class="tg-lyy6">11.0</td>
<td class="tg-lyy6">243</td>
<td class="tg-lyy6">90</td>
<td class="tg-lyy6">44</td>
<td class="tg-lyy6">262</td>
<td class="tg-lyy6">1821</td>
<td class="tg-yw47">few mm</td>
</tr>
<tr>
<td class="tg-lyy6">11.5</td>
<td class="tg-lyy6">262</td>
<td class="tg-lyy6">150</td>
<td class="tg-lyy6">55</td>
<td class="tg-lyy6">274</td>
<td class="tg-lyy6">1990</td>
<td class="tg-yw47">few mm</td>
</tr>
<tr>
<td class="tg-lyy6">12.0</td>
<td class="tg-lyy6">274</td>
<td class="tg-lyy6">183</td>
<td class="tg-lyy6">56</td>
<td class="tg-lyy6">286</td>
<td class="tg-lyy6">2133</td>
<td class="tg-yw47">holds</td>
</tr>
<tr>
<td class="tg-lyy6">12.5</td>
<td class="tg-lyy6">286</td>
<td class="tg-lyy6">186</td>
<td class="tg-lyy6">48</td>
<td class="tg-lyy6">316</td>
<td class="tg-lyy6">2344</td>
<td class="tg-yw47">few mm</td>
</tr>
<tr>
<td class="tg-lyy6">13.0</td>
<td class="tg-lyy6">316</td>
<td class="tg-lyy6">215</td>
<td class="tg-lyy6">56</td>
<td class="tg-lyy6">333</td>
<td class="tg-lyy6">2530</td>
<td class="tg-yw47">holds</td>
</tr>
<tr>
<td class="tg-lyy6">13.5</td>
<td class="tg-lyy6">333</td>
<td class="tg-lyy6">240</td>
<td class="tg-lyy6">71</td>
<td class="tg-lyy6">377</td>
<td class="tg-lyy6">2743</td>
<td class="tg-yw47">holds</td>
</tr>
<tr>
<td class="tg-lyy6">14.0</td>
<td class="tg-lyy6">377</td>
<td class="tg-lyy6">242</td>
<td class="tg-lyy6">62</td>
<td class="tg-lyy6">379</td>
<td class="tg-lyy6">2943</td>
<td class="tg-yw47">holds</td>
</tr>
</tbody></table>
<br />
In the next test, the sealing duration was fixed to 17 seconds, and the input voltage was varied in a half a volt increments. Increasing voltage forces more current through the nichrome wire, so it reaches higher temperatures in the same period of time. As before, the wire was allowed to cool down to calculated temperatures of 40-70°C after each go. The table above contains the details for each weld in the series such as information about the temperature from which the wire was cooling down and the time it took, then the temperature at which it started the next sealing cycle and the maximum temperature it reached. The last two columns then contain the total energy that dissipated in the wire, and whether the resulting weld held or loosened after being forcefully stretched.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYQXKz-ieSQxaMUSaiwiDiRJqGMz44YocGOnOW_4d6uacaWTS5ZFvrDBockiQvio8nUN9xVIzwGJ89eGVEneBKK5vIrYLMWDpYDsmEHzYCpWnL4vsgLWFKMtzukHQD53bU8jC8YTTjP8M/s1600/data+output+temperature+loading+01.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYQXKz-ieSQxaMUSaiwiDiRJqGMz44YocGOnOW_4d6uacaWTS5ZFvrDBockiQvio8nUN9xVIzwGJ89eGVEneBKK5vIrYLMWDpYDsmEHzYCpWnL4vsgLWFKMtzukHQD53bU8jC8YTTjP8M/s200/data+output+temperature+loading+01.png" width="200" height="120" data-original-width="1034" data-original-height="622" /></a>
</div>
Following up on the previous test, I wanted to find out what would successive sealing cycles with minimum cooldown periods in-between do to the temperature of the wire and consequently the quality of the welds. There were 8 sealing cycles (13.0V input, 15s duration) with 32 seconds on average of cooling down between cycles (out of that, the pressure bar was still exerting pressure on the film for the first 10s). As can be seen in the chart, the minimum temperatures within a cycle eventually rose quite high with such a short cooldown period. I noticed that the more expensive commercial heat sealers use metal structures and isolate the wire with only a layer of the Teflon tape. Such design helps with dissipating heat from the wire during the cooldown periods. My thoughts, on the other hand, when selecting the materials, were more about achieving sufficient temperature in short enough time with potentially not that powerful source.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtkAS2Cpq_qS-O4hkKqP4djmmx1p8-uXn2Gryk2cVjKph9aRLki6Lai8OO8j4QJW4uNK3RuDpcA1mr8XETfZmMugEr7KsdQa1d80mNCg-QPVjVYTJg2pe9XlSd2VzzUuQnvRXTMBLfkAo/s1600/IMG_3511+seal+13V+15s+1st.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtkAS2Cpq_qS-O4hkKqP4djmmx1p8-uXn2Gryk2cVjKph9aRLki6Lai8OO8j4QJW4uNK3RuDpcA1mr8XETfZmMugEr7KsdQa1d80mNCg-QPVjVYTJg2pe9XlSd2VzzUuQnvRXTMBLfkAo/s200/IMG_3511+seal+13V+15s+1st.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIhZtGKyMYQAEFhFaVjfuqV3zvaAPzN31ufIGeirM2fn_wTqeivXQ5z0w49feVssDsmmXKnLOq_Qb6Ct-q8N6DZo3D1HH81CXDvLqh1B_MLtMrm7SE2bRwdQR55muMPiDy5_JC6xXa3BQ/s1600/IMG_3516+seal+13V+15s+8th.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIhZtGKyMYQAEFhFaVjfuqV3zvaAPzN31ufIGeirM2fn_wTqeivXQ5z0w49feVssDsmmXKnLOq_Qb6Ct-q8N6DZo3D1HH81CXDvLqh1B_MLtMrm7SE2bRwdQR55muMPiDy5_JC6xXa3BQ/s200/IMG_3516+seal+13V+15s+8th.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWWYRunnXB4fvDUOke9Sm68r_8zaONVlYtzBeop6uGJBBa5vR57fMlykFIG7yC0W3vcNylkdXMOQJIK9qyy2KDvNplI1NnwfEFo_PTeZEgcu_PpbdSP38vzpQwywh5xcKx8DpG2Prn7PQ/s1600/IMG_3524+seal+13V+15s+1st+deformed.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWWYRunnXB4fvDUOke9Sm68r_8zaONVlYtzBeop6uGJBBa5vR57fMlykFIG7yC0W3vcNylkdXMOQJIK9qyy2KDvNplI1NnwfEFo_PTeZEgcu_PpbdSP38vzpQwywh5xcKx8DpG2Prn7PQ/s200/IMG_3524+seal+13V+15s+1st+deformed.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhm3EQzfn4Phc3PMs0UKSE3MKLH1cF-aYP1M1ZcRrCc1s18AHrkOC28LecTqbTMWIy3N_h2EHzItYyy2S26xftRt_9oWVpGdKBJqLd6IFrbQD6iBINI0sOXxlwJzAfDZ5ZNSrjW3Zw1d1g/s1600/IMG_3522+seal+13V+15s+8th+deformed.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhm3EQzfn4Phc3PMs0UKSE3MKLH1cF-aYP1M1ZcRrCc1s18AHrkOC28LecTqbTMWIy3N_h2EHzItYyy2S26xftRt_9oWVpGdKBJqLd6IFrbQD6iBINI0sOXxlwJzAfDZ5ZNSrjW3Zw1d1g/s200/IMG_3522+seal+13V+15s+8th+deformed.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
These images show the first and the last weld as they were made and then after they were forcefully tensed. The first weld shows some loosening of the sheets of film around the edges, while the polarized light shone through the eighth weld reveals some signs of internal melting (?) within the film. The states of welds 2nd through 7th were basically a gradual transition between the two extremes.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjR0z7o0rzRddV4W0Z2IcB7EJUC2zcVQBw3UaHR-9dEjJGHfa4JNoOFXl8GlT9Mfu_-tG9cdgsMZkFMIrwDt7tCrBIly_-TqqV8HcybxnLu6HC9M0UtHVPk7JaT16-f8ZaBujK5dRZeSk/s1600/IMG_3531+cooldown+pressure+0s20s60s.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjR0z7o0rzRddV4W0Z2IcB7EJUC2zcVQBw3UaHR-9dEjJGHfa4JNoOFXl8GlT9Mfu_-tG9cdgsMZkFMIrwDt7tCrBIly_-TqqV8HcybxnLu6HC9M0UtHVPk7JaT16-f8ZaBujK5dRZeSk/s200/IMG_3531+cooldown+pressure+0s20s60s.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgX1PsHQK8IEw0K5x2Bu2cMMOcsg-OnITNVg7P8ylwix-hnQLhB28hn6ErfyMGPg665xkLDl7dVS3AjLEb2J75Xwcv2nWyv7N5VR7npprhN8uNQFEnM3Lvi-qqBypKPntbTRAIUjj0NU0E/s1600/IMG_3535+cooldown+pressure+0s20s60s+deformed.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgX1PsHQK8IEw0K5x2Bu2cMMOcsg-OnITNVg7P8ylwix-hnQLhB28hn6ErfyMGPg665xkLDl7dVS3AjLEb2J75Xwcv2nWyv7N5VR7npprhN8uNQFEnM3Lvi-qqBypKPntbTRAIUjj0NU0E/s200/IMG_3535+cooldown+pressure+0s20s60s+deformed.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm">t<sub>p</sub> [s]</th>
<th class="tg-amwm">T<sub>prev</sub> [°C]</th>
<th class="tg-amwm">t<sub>cd</sub> [s]</th>
<th class="tg-amwm">T<sub>min</sub> [°C]</th>
<th class="tg-amwm">T<sub>max</sub> [°C]</th>
<th class="tg-amwm">E [Ws]</th>
<th class="tg-amwm">Weld</th>
</tr>
<tr>
<td class="tg-lyy6">0</td>
<td class="tg-lyy6">321</td>
<td class="tg-lyy6">180</td>
<td class="tg-lyy6">79</td>
<td class="tg-lyy6">348</td>
<td class="tg-lyy6">2560</td>
<td class="tg-yw47">holds</td>
</tr>
<tr>
<td class="tg-lyy6">5</td>
<td class="tg-lyy6">348</td>
<td class="tg-lyy6">180</td>
<td class="tg-lyy6">64</td>
<td class="tg-lyy6">355</td>
<td class="tg-lyy6">2547</td>
<td class="tg-yw47">holds</td>
</tr>
<tr>
<td class="tg-lyy6">10</td>
<td class="tg-lyy6">355</td>
<td class="tg-lyy6">180</td>
<td class="tg-lyy6">64</td>
<td class="tg-lyy6">348</td>
<td class="tg-lyy6">2548</td>
<td class="tg-yw47">holds</td>
</tr>
<tr>
<td class="tg-lyy6">15</td>
<td class="tg-lyy6">348</td>
<td class="tg-lyy6">180</td>
<td class="tg-lyy6">72</td>
<td class="tg-lyy6">348</td>
<td class="tg-lyy6">2553</td>
<td class="tg-yw47">holds</td>
</tr>
<tr>
<td class="tg-lyy6">20</td>
<td class="tg-lyy6">348</td>
<td class="tg-lyy6">180</td>
<td class="tg-lyy6">64</td>
<td class="tg-lyy6">348</td>
<td class="tg-lyy6">2538</td>
<td class="tg-yw47">holds</td>
</tr>
<tr>
<td class="tg-lyy6">25</td>
<td class="tg-lyy6">348</td>
<td class="tg-lyy6">180</td>
<td class="tg-lyy6">72</td>
<td class="tg-lyy6">355</td>
<td class="tg-lyy6">2535</td>
<td class="tg-yw47">holds</td>
</tr>
<tr>
<td class="tg-lyy6">30</td>
<td class="tg-lyy6">355</td>
<td class="tg-lyy6">180</td>
<td class="tg-lyy6">72</td>
<td class="tg-lyy6">348</td>
<td class="tg-lyy6">2535</td>
<td class="tg-yw47">holds</td>
</tr>
<tr>
<td class="tg-lyy6">60</td>
<td class="tg-lyy6">348</td>
<td class="tg-lyy6">180</td>
<td class="tg-lyy6">86</td>
<td class="tg-lyy6">364</td>
<td class="tg-lyy6">2532</td>
<td class="tg-yw47">holds</td>
</tr>
</tbody></table>
<br />
Another variable is the duration for which the film remains pressed by the pressure bar after the end of an impulse so the molten weld can cool down and solidify. In this test, eight welds were made (13.0V input, 17s impulse duration) each with longer press duration. The images above show the 0s, 20s and 60s cases. There seems to be some difference in the welds as the press duration prolongs visible under the polarized light, but no observable difference in weld strength. The welds probably cool down slower when pressed for extended periods of time, because the thick silicone profile and relatively small piece of aluminium of the pressure bar don't dissipate heat very quickly.<br />
<br />
A number of follow-up tests were done with varying input voltages, sealing durations, pressing durations and cooldown durations to come up with specific parameters that would maintain weld quality over the course of tens of welds in series. The current approach is to use an input of 13.0V, sealing duration of 10s, pressing duration of 10s and a cooldown period of 60s between impulses. There are three warm-up cycles with aforementioned parameters prior to doing actual welds if the heat sealer starts from cold. It is possible that these parameters will evolve as more data from practice is available.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcIGivtxueeT6e-dxGTjcHN5NGW_hsEU8FKgM2zex6qik2cVIjwGmV91DZqfDYuNkl3c6a8V3WJkRjWwsOEI3DtvQChJmNPBJ_aSq_sdwam1rIK4IJzj6F20f_MGQOcnlLamfGwISH3UI/s1600/IMG_3527+display.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcIGivtxueeT6e-dxGTjcHN5NGW_hsEU8FKgM2zex6qik2cVIjwGmV91DZqfDYuNkl3c6a8V3WJkRjWwsOEI3DtvQChJmNPBJ_aSq_sdwam1rIK4IJzj6F20f_MGQOcnlLamfGwISH3UI/s200/IMG_3527+display.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
The calculated wire temperature (resistance) revealed itself to be a useful measure for comparing welds made with different input voltages and impulse durations. So I eventually added information about the wire temperature to the display and to the periodic data output. A timer showing the time elapsed since the last impulse ended was also added to the display to help time the cooldown periods. The image shows the state of the display 1 minute and 21 seconds after the heat sealer finished a 17 seconds long run, dissipating 2133Ws of energy in the wire which reached a calculated temperature of 286°C. The voltage and current figures update continually, so they show the actual values in that moment.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoekDMAfQRbum7xkqVtkjilsqXntJF1-UoMfs74QrQ1jvHYve2tmGPDCZaPftO1oiW6FnIkb6NGDaL3HVYgxWuhp_7Ccv0aIM8insGGSPYwFHFod4WPpz_AUu8_iRsjh4oY0jpR9l9kYo/s1600/IMG_3549+test+balloon.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoekDMAfQRbum7xkqVtkjilsqXntJF1-UoMfs74QrQ1jvHYve2tmGPDCZaPftO1oiW6FnIkb6NGDaL3HVYgxWuhp_7Ccv0aIM8insGGSPYwFHFod4WPpz_AUu8_iRsjh4oY0jpR9l9kYo/s200/IMG_3549+test+balloon.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyQyjJk8PwPE-H0V8GwARCnUM5tuyIJlQg4qb7j9YyDzIF3lqXh79KSs0T4dbq3cof9AN4fgoIj42rZ85qaT8n6W92VvvHGdb5-jHpjonMmU_MxWnHbMzyR6YcbaMS4uCiQnxJLtUQFJU/s1600/IMG_3547+test+balloon.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyQyjJk8PwPE-H0V8GwARCnUM5tuyIJlQg4qb7j9YyDzIF3lqXh79KSs0T4dbq3cof9AN4fgoIj42rZ85qaT8n6W92VvvHGdb5-jHpjonMmU_MxWnHbMzyR6YcbaMS4uCiQnxJLtUQFJU/s200/IMG_3547+test+balloon.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
These images show the first test envelope made with the sealer. It took 24 welds in about a half an hour to seal the whole circumference. A significant time savings compared to the TT7F balloons on a same sized envelope (1.33m in diameter, 4.18m in circumference).<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4fZknFTVAHTm6jpL5PfTnfX0bujyxzoeCpFZzyeGVr93nBE-hJvdnIe5a3qGpcrYEZSsHxXA69-vflMUNoBrP5wSi1sw4PyJF0xUC_9cqkf_RYhc2V6D4qM3KOF6DoV7QXaejvTBOuwo/s1600/IMG_3554+test+balloon+weld.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4fZknFTVAHTm6jpL5PfTnfX0bujyxzoeCpFZzyeGVr93nBE-hJvdnIe5a3qGpcrYEZSsHxXA69-vflMUNoBrP5wSi1sw4PyJF0xUC_9cqkf_RYhc2V6D4qM3KOF6DoV7QXaejvTBOuwo/s200/IMG_3554+test+balloon+weld.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaBWKkfiix52ii8Es0K_CjZZIrQ_LxhewKLiG_W10y63apAXwoTnA8-X-uIIVA0SegIYS0VBLxTpHxsVx3t14wGUtxqQvGO4Vuav_LIISN8s45WUjIq78IyS3DzUeqFzmfm0wezS3LYU8/s1600/IMG_3555+test+balloon+weld.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaBWKkfiix52ii8Es0K_CjZZIrQ_LxhewKLiG_W10y63apAXwoTnA8-X-uIIVA0SegIYS0VBLxTpHxsVx3t14wGUtxqQvGO4Vuav_LIISN8s45WUjIq78IyS3DzUeqFzmfm0wezS3LYU8/s200/IMG_3555+test+balloon+weld.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHwgDaOoHwBTnIH4BdHuZ0EpeI2wDzoPWCFsUb9SDnHx0E-NRC54_yTQs_x-5vYjFUw_FHYqIZyJFTS0k0lsPprxgbsYRNR6f4dje750GZsPjhyXySHyE5-Qy0me8s457CgL-xWdds6_U/s1600/heat+sealing+method+01.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHwgDaOoHwBTnIH4BdHuZ0EpeI2wDzoPWCFsUb9SDnHx0E-NRC54_yTQs_x-5vYjFUw_FHYqIZyJFTS0k0lsPprxgbsYRNR6f4dje750GZsPjhyXySHyE5-Qy0me8s457CgL-xWdds6_U/s200/heat+sealing+method+01.png" width="200" height="121" data-original-width="1034" data-original-height="623" /></a>
</div>
This chart documents how the wire temperature evolved over the course of working on the test envelope. The heat sealing parameters described earlier maintained both the temperature at the beginning of a weld and at the end of a weld relatively stable. It can also be seen how the three warm-up welds brought the temperature up to the desired levels.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1Ab3M7TOAbcmPiH6tvpr0b_8meHjLtJG2IrWY3JeaWP44iAaVyTZvi96lsYNwYIpEGHjYDvArGCmc1Q8mIPOuidRFdB3et9oNiMa2Yf1NgIyTu-PCNSvblqEvI0XvgfZjViI1Gmamtb4/s1600/IMG_3570+test+balloon+pressurized.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1Ab3M7TOAbcmPiH6tvpr0b_8meHjLtJG2IrWY3JeaWP44iAaVyTZvi96lsYNwYIpEGHjYDvArGCmc1Q8mIPOuidRFdB3et9oNiMa2Yf1NgIyTu-PCNSvblqEvI0XvgfZjViI1Gmamtb4/s200/IMG_3570+test+balloon+pressurized.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
And here is the test envelope undergoing an inside volume measurement with the help of the <a href="https://tt7hab.blogspot.com/2019/07/the-pre-stretching-rig.html">pre-stretching rig</a> from a previous blog post. The measured volume for this envelope prior to stretching was 390 liters when filled and still at 0Pa inside pressure, and 439 liters at an inside pressure of 1300Pa.<br/>
<br />
The latest firmware for the controller can be found in a Github <a href="https://github.com/TomasTT7/Heat_Sealer">repository</a>. It's a single .ino file for the Arduino IDE and a font library for the display.<br />TT7http://www.blogger.com/profile/11095378058232471221noreply@blogger.com9tag:blogger.com,1999:blog-7063183727921268380.post-63904108534275884122019-07-16T15:13:00.001+02:002019-07-16T15:29:08.479+02:00The Pre-Stretching Rig<style>
pre{display: block;font-family: monospace;white-space: pre;margin: 1em 0;tab-width: 4;}
code{background: #e9e9e9;}
</style>
Last <a href="https://tt7hab.blogspot.com/2017/04/the-superpressure-balloons.html">time</a> I made superpressure balloons, I used a cheap pump, a pressure sensor and an Arduino hastily put together to test and pre-stretch the newly made balloon envelopes. This time, I thought I would improve upon the setup and make it a bit more solid. The following paragraphs shortly document the result.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghI3YN1T_uwrULiOk2MBfG-3RRG1XPpufbHZ6v_pwN8qw-tleos4Q61JVRmC4wUeFyFS_ebNhottw0v87fT0GBB0BqJY10ssMNYg6FAFOmonmOPNd5ejN7XZ5bckxEIJ0ibjmbUjhgGb0/s1600/IMG_3409+pre-stretching+rig.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghI3YN1T_uwrULiOk2MBfG-3RRG1XPpufbHZ6v_pwN8qw-tleos4Q61JVRmC4wUeFyFS_ebNhottw0v87fT0GBB0BqJY10ssMNYg6FAFOmonmOPNd5ejN7XZ5bckxEIJ0ibjmbUjhgGb0/s200/IMG_3409+pre-stretching+rig.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFVpldJTw1MjK_2foX37f7eXZuOvDyMt8ECJuBmfOdBOnQKAbQbfR8KoFmYmAkmVgqqvo5rpfRhEKgr6DT6PhNkj0uJEbGQsFTWhcdVPN-HmNh1DD4r0mj3hco8DXMVi1M899hUMHYz4s/s1600/IMG_3423+pre-stretching+rig.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFVpldJTw1MjK_2foX37f7eXZuOvDyMt8ECJuBmfOdBOnQKAbQbfR8KoFmYmAkmVgqqvo5rpfRhEKgr6DT6PhNkj0uJEbGQsFTWhcdVPN-HmNh1DD4r0mj3hco8DXMVi1M899hUMHYz4s/s200/IMG_3423+pre-stretching+rig.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
These are a couple of images of the finished rig. The purpose of the device is to pressurize an attached balloon in a controlled manner. To achieve this, the rig is equipped with two parallel pumps and a differential pressure sensor. This feedback loop allows either running an automatic pressurizing program, or manually controlling the pumps' output, the target pressure levels, and the rate of pressure increase. In another mode of operation, the rig can measure the amount of air flow and as a result the balloon's inner volume.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-OLCNzWJcS4KmH_HyhP71JBfFlkaAcscE6KMXiSO2pWoS0wkAucR1Zp930BPWMuUMbpPHMieDCR0SpbbIcVIGAkRY1Auz7FNPiMLjCCXwWpTTXpJOEhk69QKJhb8YnzTAs68pN3YwzzU/s1600/IMG_3415+pumps.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-OLCNzWJcS4KmH_HyhP71JBfFlkaAcscE6KMXiSO2pWoS0wkAucR1Zp930BPWMuUMbpPHMieDCR0SpbbIcVIGAkRY1Auz7FNPiMLjCCXwWpTTXpJOEhk69QKJhb8YnzTAs68pN3YwzzU/s200/IMG_3415+pumps.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
The pumps used in the setup are labeled as Mitsumi R-14 A221 found on Ebay. They can pump about 2 liters of air per minute each when running at the top of their voltage range - 7V. Their consumption at that rate is about 230mA per pump. I decided to use two in parallel, because a single pump had trouble maintaining higher pressure levels, due to its leakage, inside the larger balloons last time.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinJ8U2b5ZlpkAcTySsJl7T2UZF4TAk-7ub9RPUad7FsGXA30rklyMftsB3UQjunCBplwsvSfoWVzS-YfXURVj2uj0rkDaod-bSoEbc-cfA6tmeBhxi6OgXTD9rYlC6HgRsccbhfC2YAPI/s1600/IMG_3416+digital+flow+sensor.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinJ8U2b5ZlpkAcTySsJl7T2UZF4TAk-7ub9RPUad7FsGXA30rklyMftsB3UQjunCBplwsvSfoWVzS-YfXURVj2uj0rkDaod-bSoEbc-cfA6tmeBhxi6OgXTD9rYlC6HgRsccbhfC2YAPI/s200/IMG_3416+digital+flow+sensor.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyieRY17x3xBuxxhLcpbzM3w4Yc00rOYbXXhGlh_c0J6NkLgYrw5ZYdt38iPk-ivfcni02R8cYOs6_HAgN9WkpBHGKHPZWjvqvVIiOmBRfuSnNJctS8iHofTS7dJaIwptjvOYXduLgrjs/s1600/IMG_3417+analog+flow+sensor.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyieRY17x3xBuxxhLcpbzM3w4Yc00rOYbXXhGlh_c0J6NkLgYrw5ZYdt38iPk-ivfcni02R8cYOs6_HAgN9WkpBHGKHPZWjvqvVIiOmBRfuSnNJctS8iHofTS7dJaIwptjvOYXduLgrjs/s200/IMG_3417+analog+flow+sensor.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
Something that wasn't present in my previous setup is these two flow meters. The YF-S402 water flow meter uses a Hall effect sensor to register revolutions of a turbine blade - a teardown can be found in this <a href="https://www.youtube.com/watch?v=7WpsYvd6KPs">video</a> - and outputs a digital signal. Specifically, a square wave whose frequency corresponds to the flow rate. The meter is intended for water, however once the airflow is sufficient, it works fine with air as well. The second, analog, meter was necessary for initial calibration of the digital output. It can be found on Ebay in a number of versions.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZ01ISD5oKjzl_BNteHKhUDK0TC5vi8nVr7W9xglnjvAm_AsXK_CrDTgKtA-JnUBu2ZfjiVGKbGkNhnkQebKvxAMQW2DTAcexaCZ5OdFAhDiK7VDUNdWh649LGG-SdRp9-lR4kllLgzFA/s1600/IMG_3424+solenoid+valve.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZ01ISD5oKjzl_BNteHKhUDK0TC5vi8nVr7W9xglnjvAm_AsXK_CrDTgKtA-JnUBu2ZfjiVGKbGkNhnkQebKvxAMQW2DTAcexaCZ5OdFAhDiK7VDUNdWh649LGG-SdRp9-lR4kllLgzFA/s200/IMG_3424+solenoid+valve.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
I also added a solenoid valve which can be forced open to depressurize the balloon by delivering 5 to 6 volts to its terminals. The consumption in the open state is about 190mA, hence its operation is managed via an Arduino pin controlled NPN transistor.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8ZzEwVDA6h_nuZJQwjkq61B87yRhsThX8IkSeiq-JD16ovRXjkXOfVVauZPWASNph7lbE0ZdD-9oa39BuoFNjq-sIpAobV3TVKa2Q1XZJ1XnpT03lrAXDEiqN8aqgdZZR76TPT2k5K_M/s1600/IMG_3421+pressure+sensor.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8ZzEwVDA6h_nuZJQwjkq61B87yRhsThX8IkSeiq-JD16ovRXjkXOfVVauZPWASNph7lbE0ZdD-9oa39BuoFNjq-sIpAobV3TVKa2Q1XZJ1XnpT03lrAXDEiqN8aqgdZZR76TPT2k5K_M/s200/IMG_3421+pressure+sensor.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
The pressure inside the balloon is measured with the help of MPS20N0040D-D a differential pressure sensor whose output is amplified and sampled by an HX711 module - a 24-bit analog-to-digital converter. The datasheet states a 40kPa range for the sensor, however doesn't specify whether that is +-40kPa or +-20kPa. Either way, the expected pressure levels during envelope stretching are well within the range. A digital thermometer DS18B20 was also added to the board to provide means of temperature compensation for the pressure sensor.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtzLP9fZTZAwPCvZKqwj89w87Alj8kUcetBD5xuBJUzaUkA2JKGFkniHkvjQCdxEXCfMG8MNbRco_T1RWmAepx_LGfWs92m7zhWUROjgnivr2YnWCUPmauD3qkA7tI72yHQz0UAT7Xkjk/s1600/IMG_3410+controller.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtzLP9fZTZAwPCvZKqwj89w87Alj8kUcetBD5xuBJUzaUkA2JKGFkniHkvjQCdxEXCfMG8MNbRco_T1RWmAepx_LGfWs92m7zhWUROjgnivr2YnWCUPmauD3qkA7tI72yHQz0UAT7Xkjk/s200/IMG_3410+controller.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGn5y2JpRz8prbVCRU0sMpRpFCuiOKyxOijjZNgrKCsImpt6eV663K7FQVoyKQ0lVzLFkRgu4fMg4FRp8OgTO12McK4w7ktMQKIHvkBq1Ep3gPhQ7wyKRUNxij9M4cCaEQgNnqZuZWbLk/s1600/IMG_3412+controller.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGn5y2JpRz8prbVCRU0sMpRpFCuiOKyxOijjZNgrKCsImpt6eV663K7FQVoyKQ0lVzLFkRgu4fMg4FRp8OgTO12McK4w7ktMQKIHvkBq1Ep3gPhQ7wyKRUNxij9M4cCaEQgNnqZuZWbLk/s200/IMG_3412+controller.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
At the heart of the controller board is an Arduino ProMini. It provides a simple control interface via an OLED display and three push-buttons. The board and all individual parts aside from the pumps run at 5V provided by an external LDO. The pumps and the LDO are supplied from a 7.5V wall adapter. A PWM signal from the Arduino controls the pumps' operation via an N-channel MOSFET. An SPP-C Bluetooth 2.1 module can be utilized for current data collection (pressure, temperature, run time, airflow rate, and total air volume).<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8NyooY96XDPzAIbIq5x8VpFnMDzxB2kQLxIaafVUxEf5UoRVf3i-iRgIWzjQvOecjOxYuTgmDCINcthNabpu61aNVHZ15CUst7qh_aQogJgoy-AtyVV_xywSRSjvNlparyvQkFj8yO9I/s1600/schematic_controller_01.PNG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8NyooY96XDPzAIbIq5x8VpFnMDzxB2kQLxIaafVUxEf5UoRVf3i-iRgIWzjQvOecjOxYuTgmDCINcthNabpu61aNVHZ15CUst7qh_aQogJgoy-AtyVV_xywSRSjvNlparyvQkFj8yO9I/s200/schematic_controller_01.PNG" width="200" height="137" data-original-width="1020" data-original-height="700" /></a>
</div>
This is a schematic of how the individual parts were wired. The Arduino is supplied through its VCC pin bypassing the onboard regulator. Both transistors are protected by Schottky flyback diodes. The signal to the Bluetooth module's RX pin is brought down to 3.3V via a voltage divider to make it within tolerance of the onboard chip. The DS18B20 is operated in an external power supply mode and the data line is pulled up to VCC. The N-channel MOSFET driving the pumps was chosen to have a 0.5Ω drain to source on resistance to drop the supply voltage to within the pumps' tolerance of 7V. Both transistors have a current limiting resistor on their base/gate. On top of that, the MOSFET's gate is pulled down to GND to ensure the transistor switches off when the Arduino pin goes LOW.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBPvWOthIjyYz7q-AOFv9zfseemdWj0dh_xamRZcOteX_hQIMQdfHWvdWTq_a_Blpr1d7TBB5xRSE_8V3M1PIc3wZ9noYyHs6JyZGgwJzl1Gm_NJhc8bUYqSKSs92vbUutUnilkFvonb4/s1600/IMG_3430+display+menu.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBPvWOthIjyYz7q-AOFv9zfseemdWj0dh_xamRZcOteX_hQIMQdfHWvdWTq_a_Blpr1d7TBB5xRSE_8V3M1PIc3wZ9noYyHs6JyZGgwJzl1Gm_NJhc8bUYqSKSs92vbUutUnilkFvonb4/s200/IMG_3430+display+menu.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXj6CVDDptGpIhOXIIXRPXDLDqQggACPodz6tYUeSXSrJFAL0CDlIp1YFdBXpac2D2fmovUqm-ryadiUzgO4844JjKXYbX0JuPVwFk66Z02CGrBbyBTAjTDC1B82iG1jUXmg7JOzevZQ0/s1600/IMG_3440+display+program.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXj6CVDDptGpIhOXIIXRPXDLDqQggACPodz6tYUeSXSrJFAL0CDlIp1YFdBXpac2D2fmovUqm-ryadiUzgO4844JjKXYbX0JuPVwFk66Z02CGrBbyBTAjTDC1B82iG1jUXmg7JOzevZQ0/s200/IMG_3440+display+program.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
The initial screen allows scrolling through and selecting from a few options. The first option 'Program' launches one out of four predefined automatic programs. The image on the right shows the active program screen. The current pressure reading in top left, current temperature in top right, elapsed time since the start of the program in the middle, current target pressure level in bottom left, current pressure increase rate in bottom right, and information about which program is running in the middle. The middle push-button allows pausing/unpausing the current program, while the right push-button exits the program and returns back to the initial menu. A program constitutes an array of pairs of values which represent a target pressure level and a rate at which the level should be achieved. The array can contain several such pairs to schedule the envelope stretching as desired.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg42f88eeTd5BO6ojAUTgbPRri96S-psd57PmVURQOVXB7Ja8j7CQv4RtAB-xQREeL0arNbPzFWQD_rLsXMdU0EiuPksaU8oKvPhOsvDnBVmapfVFq28ndCU2tRstm4tnXKra2w8OFiIFY/s1600/IMG_3436+display+manual.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg42f88eeTd5BO6ojAUTgbPRri96S-psd57PmVURQOVXB7Ja8j7CQv4RtAB-xQREeL0arNbPzFWQD_rLsXMdU0EiuPksaU8oKvPhOsvDnBVmapfVFq28ndCU2tRstm4tnXKra2w8OFiIFY/s200/IMG_3436+display+manual.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsPeGvREh1Mp0yVpqnUd7LspdD4lgD1HtjLM8tJ98OCuqx8jpzZ4ymOCthvhjuCB7M2DnImvqepakjLSA5GBVocQ-RkDg2wL-oQGOPDLJB2gs1zpHqJFnnBiWGA8x-yIpkJHDcxuPQKaQ/s1600/IMG_3433+display+volume.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsPeGvREh1Mp0yVpqnUd7LspdD4lgD1HtjLM8tJ98OCuqx8jpzZ4ymOCthvhjuCB7M2DnImvqepakjLSA5GBVocQ-RkDg2wL-oQGOPDLJB2gs1zpHqJFnnBiWGA8x-yIpkJHDcxuPQKaQ/s200/IMG_3433+display+volume.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
The 'Pressure', 'Rate' and 'Valve' options all have the same screen (image on the left), but each allow setting a different variable with the push-buttons for manual control of the desired pressure levels, pressure increase rates, and the solenoid valve's open/closed state. The image on the right shows a screen of the last option selectable in the initial screen - 'Volume'. In this mode, the left and middle push-buttons provide direct control over the PWM output to the MOSFET and consequently over the voltage across the pumps. The current voltage is shown in the top left corner of the screen. The value is a result of a linear equation derived from actual measurements of the voltage versus PWM output. There isn't any real-time onboard measurement of that voltage. Below that, the screen shows the current airflow rate as measured by the YF-S402. The elapsed time and current temperature follow below. The resulting total volume of air then is shown in the right top corner, while the current pressure is in the bottom right corner.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWfCkHpKmZv-12jgjAG-UmRgRSsIFgVr3fu_gbW3mOT11lGkTt50kYqpzw5yT4XPHfORJwI-CDwoeQpYcsVis0w2YmvvJR4hTSq0j_2QzaoKh_xlFwkcmD0Duzc_LYE6ITJwP-Bgt2_nM/s1600/IMG_3443+calibration+BMP280.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWfCkHpKmZv-12jgjAG-UmRgRSsIFgVr3fu_gbW3mOT11lGkTt50kYqpzw5yT4XPHfORJwI-CDwoeQpYcsVis0w2YmvvJR4hTSq0j_2QzaoKh_xlFwkcmD0Duzc_LYE6ITJwP-Bgt2_nM/s200/IMG_3443+calibration+BMP280.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
Since the HX711, being an ADC, output only numerical values between 0 and 2^24, the numbers had to be related to actual pressure values first. Like the first time, I used BMP280, an absolute barometric pressure sensor, and pressurized a test balloon with both sensors inside. This provided me with actual pressure values and specific ADC values related to those pressure levels. First a zero offset of <b>-1290000</b> raw ADC count was derived from the data and then a scaling factor of <b>727 [count/Pa]</b>. The following equation yields the pressure value in Pascal.$$P=\frac{ADC_{count}-1290000.0}{727.0}$$As mentioned previously, the pressure sensor is sensitive to changes in ambient temperature. After collecting data from a colder and a warmer environment, the following equation was derived to compensate the raw ADC count for environmental temperature variations as measured by the DS18B20 thermometer.$$ADC_{count\;offset}=-12900.0\;(20.0-T_{DS18B20})$$Once the electronics achieve stable temperature after power-up, the compensation keeps the pressure reading typically +-15Pa around a 20°C pressure measurement when operating in a 15°C to 29°C ambient temperature range.<br />
<br />
Another source of error in the pressure measurements comes from the pumps. Depending on the voltage across the pump terminals, there is an additional positive offset in measured pressure as the airflow increases. A series of measurements led to a lookup table of corrective offsets corresponding to specific pump output levels. A finer resolution in these offsets is achieved by interpolation in the running code.<br />
<br />
Similarly, since the flow meter was built for water flow measurement, it was necessary to relate its digital output to the actual amount of airflow. As the meter outputs a square wave signal, the Arduino measures the duration of a single pulse to infer the frequency. The YF-S402's datasheet provides a divisor for the frequency which then yields the final flow rate in liters per minute. This divisor is different, however, for when air is forced through the meter. Again, a series of observations was undertaken to relate flow rate read on the analog airflow meter to specific pump outputs (PWM settings). A divisor of <b>21.1</b> was eventually arrived at which provided the most accuracy at maximum pump output.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgN-phAgLXgsefSUCQNZtGOjOGo3qFavHYq5OJvgBSRfJhiJA-KYfKVBFbL6yIgAFR9aYmM99cyWM4zW4GzfQijnaN0dpJOulGw7eccu8os2mocLo67Ng0xzAFyeaU4GoAyGF496H4bs1c/s1600/IMG_3448+raspberry+pi+zero+w+bluetooth.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgN-phAgLXgsefSUCQNZtGOjOGo3qFavHYq5OJvgBSRfJhiJA-KYfKVBFbL6yIgAFR9aYmM99cyWM4zW4GzfQijnaN0dpJOulGw7eccu8os2mocLo67Ng0xzAFyeaU4GoAyGF496H4bs1c/s200/IMG_3448+raspberry+pi+zero+w+bluetooth.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
The Bluetooth module, when paired and connected to a master device, transmits periodic updates on current sensory data. Since a pre-stretching program is expected to take 10s of hours, I decided to relay the data collection to a Raspberry Pi Zero W in a similar fashion to the <a href="https://tt7hab.blogspot.com/2019/01/the-aprs-igate.html">APRS iGate</a> from an earlier post. The Zero W, having an in-built Bluetooth interface, had to be setup for the reception first.<br />
<br />
<code>sudo bluetoothctl</code><br />
This command, provided the bluetoothctl service has been started which it on Raspbian Stretch (November 13, 2018) by default was, lists the MAC addresses of the device itself and other devices already paired with the module. It also starts its own command prompt.<br />
<br />
<code>agent on</code><br />
<code>default-agent</code><br />
<code>scan on</code><br />
Inside the prompt, these commands turn on a Bluetooth agent and start scanning for nearby Bluetooth devices listing their MAC addresses.<br />
<code>pair C2:2C:10:05:8A:4F</code><br />
<code>trust C2:2C:10:05:8A:4F</code><br />
After learning the MAC address, these two commands then pair the device to the module, and make the device trusted.<br />
<code>info C2:2C:10:05:8A:4F</code><br />
Details of a specific device, including its current Paired/Trusted/Connected states, can be displayed by typing the above command.<br />
<br />
<code>sudo nano /etc/systemd/system/dbus-org.bluez.service</code><br />
Following the advice of a few online tutorials and discussion forums, I created a serial port profile by adding a compatibility flag <code>-C</code> at the end of <code>ExecStart=/usr/lib/bluetooth/bluetoothd</code> line and inserting <code>ExecStartPost=/usr/bin/sdptool add SP</code> just below that line inside the above service.<br />
<br />
At this point it was possible to connect the Bluetooth device and stream the periodic data from the rig. To finish the objective, I wrote a simple Python <a href="https://github.com/TomasTT7/Pre-Stretching_Rig/blob/master/Accessories/btpump.py">script</a> and created a service to run it.<br />
<code>sudo nano /etc/systemd/system/btpump.service</code><br />
The content of the service file is on the following lines.
<pre>[Unit]
Description=Bluetooth_Pump
After=multi-user.target
[Service]
Type=simple
ExecStart=/usr/bin/python /home/pizero1/btpump.py
Restart=on-abort
[Install]
WantedBy=multi-user.target
</pre>
If desiring to launch the service without reboot, the systemctl daemon has to be reloaded.<br />
<code>sudo systemctl daemon-reload</code><br />
Then the service has to be enabled..<br />
<code>sudo systemctl enable btpump</code><br />
.. and started.<br />
<code>sudo systemctl start btpump</code><br />
<br />
Since the Python script expects the Bluetooth device to be there, I enable and start the service manually in the beginning and then manually stop it and disable before shutting the Pi down again.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmbhLcHtng2yzZaZky5A7gBTKHwzEJNB2RLvdHgfMjHezlbrwSVZiorrmF8MtWrLwD_CL3MQuihCrOKAKSqR4lXndxZ5V9qTQKxTEd80xJocxLuJSrW0HfuBhfYrD3QHs9ACIJqnsewo4/s1600/IMG_3446+test+balloon+stretching.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmbhLcHtng2yzZaZky5A7gBTKHwzEJNB2RLvdHgfMjHezlbrwSVZiorrmF8MtWrLwD_CL3MQuihCrOKAKSqR4lXndxZ5V9qTQKxTEd80xJocxLuJSrW0HfuBhfYrD3QHs9ACIJqnsewo4/s200/IMG_3446+test+balloon+stretching.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a>
</div>
In action, stretching a test balloon. In this case, the rig ran a program that slowly increased the inside pressure to 7kPa over the course of 10 hours. In a previous test, the inner volume of the test balloon was measured to be around 12 liters.<br />
<br />
The firmware for the controller can be found on <a href="https://github.com/TomasTT7/Pre-Stretching_Rig">github</a>.<br />TT7http://www.blogger.com/profile/11095378058232471221noreply@blogger.com4tag:blogger.com,1999:blog-7063183727921268380.post-73611193907079281932019-03-30T15:00:00.000+01:002019-04-30T19:00:04.766+02:00The TT7B Tracker Vol. 2<style type="text/css">
.tg {border-collapse:collapse;border-spacing:0;border-color:#ccc;}
.tg td{font-family:Arial, sans-serif;font-size:12px;padding:5px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#ccc;color:#333;background-color:#fff;}
.tg th{font-family:Arial, sans-serif;font-size:12px;font-weight:normal;padding:5px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#ccc;color:#333;background-color:#f0f0f0;}
.tg .tg-amwm{font-weight:bold;text-align:center;vertical-align:top}
.tg .tg-yw47{vertical-align:top;text-align:left;}
.tg .tg-lyy6{text-align:right;vertical-align:top}
.collapsible{background-color: #eee;color: #444;cursor: pointer;padding: 8px;width: 100%;border: none;text-align: left;outline: none;font-size: 13px;transition: 0.3s;}
.panel{padding: 0 18px;max-height: 0;overflow: hidden;background-color: #f1f1f1;transition: max-height 0.2s ease-out;}
.active, .collapsible:hover{background-color: #ccc;}
.collapsible:after{content: '\002B';color: #777;font-weight: bold;float: right;margin-left: 5px;}
.active:after{content: "\2212";}
pre{display: block;font-family: monospace;white-space: pre;margin: 1em 0;tab-width: 4;}
code{background: #e9e9e9;}
</style>
This is a follow-up to the previous blog <a href="http://tt7hab.blogspot.com/2018/09/the-tt7b-tracker.html">post</a> where I documented the design, construction, and basic programming of my TT7B superpressure balloon tracker which I've been working on. In this post, I intend to write up bits and pieces about coding the firmware, confronting expectations I had about the design with reality, and bringing the tracker to a flight ready state.<br />
<br />
<br />
<b>Debugging</b><br />
One of the new features I could have utilized this time, thanks to the programming SWD interface, was using the mEDBG programmer and Atmel Studio 6.2 for debugging the code as I was writing it.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1TQ9blVP-Kzn0ltYAFub_syc4JUSs0-fHsI8cqV7zeexKSeCS8lW4NWmvHxrX_StUDecodNEy8nxd4tYfbXsFnn5fMCocUEbUOTQH2c47AQBuHltvurphBq5xnQDAKlZAer5h7t_sjuA/s1600/IMG_3052+TT7B+tracker.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1TQ9blVP-Kzn0ltYAFub_syc4JUSs0-fHsI8cqV7zeexKSeCS8lW4NWmvHxrX_StUDecodNEy8nxd4tYfbXsFnn5fMCocUEbUOTQH2c47AQBuHltvurphBq5xnQDAKlZAer5h7t_sjuA/s200/IMG_3052+TT7B+tracker.JPG" width="200" height="150" data-original-width="1600" data-original-height="1200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSCFVU605aqhAvlsxhWFCISJIP8cWnTXb_WPZds0TPwZ3HY7ps19OSNLZjqeVT-LYE8IqcFYypEwaDfAFnGi7OC1qi5wxHodtFy85lVk7PnvjRCRqNFUo7qw90IKmlZvP15QNoCiPulfI/s1600/IMG_3043+debugging+setup.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSCFVU605aqhAvlsxhWFCISJIP8cWnTXb_WPZds0TPwZ3HY7ps19OSNLZjqeVT-LYE8IqcFYypEwaDfAFnGi7OC1qi5wxHodtFy85lVk7PnvjRCRqNFUo7qw90IKmlZvP15QNoCiPulfI/s200/IMG_3043+debugging+setup.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a></div>
To recapitulate, I've been using the mEDBG programmer/debugger IC on a SAMD10 Xplained Mini board (details on necessary modifications in the previous post). This non-standard approach works, but it requires a few changes in Atmel Studio's settings. To just program a custom board with the Xplained Mini programmer, one can follow the steps described in the previous blog post. But to use it for debugging custom boards as well, the project in Atmel Studio has to be created for ATSAMD10D14AM device, so the Xplained board appears among available tools. This, however, means that the whole toolchain gets setup for SAMD10 microcontroller instead of the desired SAML21. To bypass this, I did the following. First, I downloaded <i>Atmel.SAML21_DFP.1.2.120.atpack</i> package from Microchip's pack <a href="http://packs.download.atmel.com/">repository</a>, and copied the SAML21B's <i>include</i> folder to the following path in the Studio's toolchain which added some new files and overwrote several older files:<br />
<br />
<i>Atmel Toolchain\ARM GCC\Native\4.8.1443\CMSIS_Atmel\Device\ATMEL\saml21\</i><br />
<br />
This was to update all the Studio's scripts and dependencies since I was working with Atmel Studio 6.2 which originally supported only pre-production versions (A) of the target MCU while the TT7B tracker ran on SAML21E17B microcontroller. I then went on to modify these files:<br />
<br />
<i>Atmel Studio 6.2\Devices\<a href="https://drive.google.com/open?id=1Tp8k1qjRXvgdn4ncDdsPQSGFD0_9YSgS">ATSAMD10D14AM.xml</a></i><br />
<i>Atmel Toolchain\ARM GCC\Native\4.8.1443\Resources\<a href="https://drive.google.com/open?id=1IQtzIYdcZjlCjKscuF_19L4XVVNKK2Y3">SamDeviceNameToHeaderMapping.xml</a></i><br />
<i>Atmel Toolchain\ARM GCC\Native\4.8.1443\CMSIS_Atmel\Device\ATMEL\saml21\include\<a href="https://drive.google.com/open?id=1XXu4u3eFBIs3JDCu3FcHz5ByWSNtQdPr">sam.h</a></i><br />
<i>Atmel Toolchain\ARM GCC\Native\4.8.1443\CMSIS_Atmel\Device\ATMEL\saml21\include\<a href="https://drive.google.com/open?id=1sHQQsz-hyr8XPCQMfQxx-Wvyc_7BFvJT">saml21.h</a></i><br />
<br />
The links contain the already modified versions of the files for download. The bottom three files contain only small changes. Mostly just altering paths of the ATSAMD10D14AM device. The contents of the first, however, were almost entirely replaced with the contents of ATSAML21E17B.atdf file from the downloaded pack.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiohvA6NiZH08OQHaDUonlKawiqEMyVzZPZKZAvjufiDCOOfgGwFKXzjgaJ1NzMEMZmIR9GW38K3NRfo74nFO8Kc49eC0jXurZcpD1dGObeiEQThBGGiwnRGCEa-mB_iLJm7pBLoiJ4-ik/s1600/debugging+atmel+studio+modifications+03.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="624" data-original-width="751" height="165" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiohvA6NiZH08OQHaDUonlKawiqEMyVzZPZKZAvjufiDCOOfgGwFKXzjgaJ1NzMEMZmIR9GW38K3NRfo74nFO8Kc49eC0jXurZcpD1dGObeiEQThBGGiwnRGCEa-mB_iLJm7pBLoiJ4-ik/s200/debugging+atmel+studio+modifications+03.PNG" width="200" /></a></div>
As a result of these modifications, when the selected device for a new project is ATSAMD10D14AM, the Xplained board shows up among the available debugging tools. However, all the dependencies, linkerScripts and startup/system libraries loaded in the Solution Explorer are for the desired SAML21E17B microcontroller. Using a dedicated programmer such as Atmel-ICE would naturally do without these modifications.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5Kh6g8vAIDnnTraUxPVdy4lpFpDxQdyk9gO9fRx9oEhOPU5rkJrvtcx2Tr6oh0IHcnGcM6HopPnh7tEUJAz1SBC_s5s292c7I6EXrlj-x6iEVWDUwTkjuZfaYGtmEGtQQRjxsWYSSyyc/s1600/debugging+atmel+studio+oscillators+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="869" data-original-width="1439" height="120" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5Kh6g8vAIDnnTraUxPVdy4lpFpDxQdyk9gO9fRx9oEhOPU5rkJrvtcx2Tr6oh0IHcnGcM6HopPnh7tEUJAz1SBC_s5s292c7I6EXrlj-x6iEVWDUwTkjuZfaYGtmEGtQQRjxsWYSSyyc/s200/debugging+atmel+studio+oscillators+01.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimHEPsAW-lSwtVGimtDSaF-RmDieOVFLuFk1kn19FZukG09cAgNyTmK8VNO4-XokXn9Yux6AgZjbk2F6J6EfuOppm9CibwmTJGDUJJaPUZ15___CNY9XcpRQ9Cf-PaY_qjGtPxM2lRdZo/s1600/debugging+atmel+studio+oscillators+02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="869" data-original-width="1439" height="120" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimHEPsAW-lSwtVGimtDSaF-RmDieOVFLuFk1kn19FZukG09cAgNyTmK8VNO4-XokXn9Yux6AgZjbk2F6J6EfuOppm9CibwmTJGDUJJaPUZ15___CNY9XcpRQ9Cf-PaY_qjGtPxM2lRdZo/s200/debugging+atmel+studio+oscillators+02.png" width="200" /></a></div>
An illustration of what debugging allows the user to do can be seen in the screengrabs above. Here, I tested a simple piece of code to verify that functions I had written to enable/disable different oscillators and clock domains of the microcontroller worked properly. The debugging interface allows placing breakpoints (lines highlighted in red) throughout the code where the debugger stops the code execution while providing access to the current states of all registers. In case a newly written code hangs at some point, the debugger can also highlight the exact line where the code execution stopped.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm">Clock</th>
<th class="tg-amwm">I [μA]</th>
<th class="tg-amwm">V [V]</th>
<th class="tg-amwm">P [μW]</th>
</tr>
<tr>
<td class="tg-yw47">OSC16M - 4MHz</td>
<td class="tg-lyy6">279</td>
<td class="tg-lyy6">1.5</td>
<td class="tg-lyy6">419</td>
</tr>
<tr>
<td class="tg-yw47">OSC16M - 8MHz</td>
<td class="tg-lyy6">477</td>
<td class="tg-lyy6">1.5</td>
<td class="tg-lyy6">716</td>
</tr>
<tr>
<td class="tg-yw47">OSC16M - 12MHz</td>
<td class="tg-lyy6">669</td>
<td class="tg-lyy6">1.5</td>
<td class="tg-lyy6">1004</td>
</tr>
<tr>
<td class="tg-yw47">OSC16M - 16MHz</td>
<td class="tg-lyy6">834</td>
<td class="tg-lyy6">1.5</td>
<td class="tg-lyy6">1251</td>
</tr>
<tr>
<td class="tg-yw47">OSC32K - 32kHz</td>
<td class="tg-lyy6">75</td>
<td class="tg-lyy6">1.5</td>
<td class="tg-lyy6">113</td>
</tr>
<tr>
<td class="tg-yw47">XOSC32K - 32kHz</td>
<td class="tg-lyy6">74</td>
<td class="tg-lyy6">1.5</td>
<td class="tg-lyy6">111</td>
</tr>
<tr>
<td class="tg-yw47">DFLL48M - 48MHz</td>
<td class="tg-lyy6">1413</td>
<td class="tg-lyy6">1.5</td>
<td class="tg-lyy6">2120</td>
</tr>
<tr>
<td class="tg-yw47">FDPLL96M - 48MHz</td>
<td class="tg-lyy6">1414</td>
<td class="tg-lyy6">1.5</td>
<td class="tg-lyy6">2121</td>
</tr>
<tr>
<td class="tg-yw47">XOSC32K - Standby</td>
<td class="tg-lyy6">9</td>
<td class="tg-lyy6">1.5</td>
<td class="tg-lyy6">14</td>
</tr>
</tbody></table>
<br />
I used this piece of code and its variations to check a number of possible ways to clock the microcontroller. The table above summarizes the power consumption of the whole TT7B board running on the specific clock source at a specific frequency. The board was detached from the debugger and supplied from a 1.5V LDO at its battery input port during the measurements. The current flowing from the LDO to the board was measured with <a href="http://tt7hab.blogspot.com/2018/02/the-current-custom.html"><span class="st">μ</span>Current</a> in the microampere setting.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9lOIQEUSH8mfomqXRTdBrdNdOWt9g-9-6o2mM_FJ6TSd-6RDLWgecMH-_3pHcIlYG7vpxekSJHupbcmEe33rHNtNEXv-Dtmx3BJQJe5_QBTCgXObG3kZQ7RJaFaSrDtfICuUy0Ve7RWI/s1600/debugging+atmel+studio+nvm+02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="870" data-original-width="1439" height="120" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9lOIQEUSH8mfomqXRTdBrdNdOWt9g-9-6o2mM_FJ6TSd-6RDLWgecMH-_3pHcIlYG7vpxekSJHupbcmEe33rHNtNEXv-Dtmx3BJQJe5_QBTCgXObG3kZQ7RJaFaSrDtfICuUy0Ve7RWI/s200/debugging+atmel+studio+nvm+02.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCJt6pOSQOQlCfVdsEPPo2237VCouQ0SETAIbfPCOJZLw6CvjxNK-nmh4avNzPqebXKeLGm3u07nr4KQWTdbYwO9h0jNRJHX2cWn5k7_tUSc16h2mCsg1oLTxXFHQQyib2-cNfBmW3-4g/s1600/debugging+atmel+studio+sercom+gps+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="870" data-original-width="1439" height="120" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCJt6pOSQOQlCfVdsEPPo2237VCouQ0SETAIbfPCOJZLw6CvjxNK-nmh4avNzPqebXKeLGm3u07nr4KQWTdbYwO9h0jNRJHX2cWn5k7_tUSc16h2mCsg1oLTxXFHQQyib2-cNfBmW3-4g/s200/debugging+atmel+studio+sercom+gps+01.png" width="200" /></a></div>
In these instances, I used the debugger to access the current contents of chosen arrays. In the first example, I was able to verify that functions I had written to directly read (and write) the MCU's non-volatile memory (flash) worked properly. In the second case, every iteration of the FOR loop filled RX_Buff with bits and pieces of NMEA sentences transmitted by the GPS module which allowed me to confirm that the module was operating correctly and able to acquire a GPS lock.<br />
<br />
<br />
<b>Firmware</b><br />
<a href="https://github.com/TomasTT7/TT7B-Tracker/tree/master/Software">Github repository</a><br />
With the help of the debugging interface, I eventually wrote and tested a number of libraries to control various peripherals of the MCU and to provide the functionality I had envisioned in the original design. The complete firmware for TT7B tracker in its current state can be found in the link above.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjikv2HnVODwP-8EbkSV_b5VEiITs1auiWfd7L_zklStQ-j22Y1t103BRzp-d0ZXXMPrOPrE3kNof3IuY4Qb3PgbYtL2n-XC8OGsSgsOrCxkVsjRQ_JOWF8QyTj2uzbARmT-d5ODpW_LMA/s1600/firmware+l21+datasheet+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="781" data-original-width="1009" height="154" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjikv2HnVODwP-8EbkSV_b5VEiITs1auiWfd7L_zklStQ-j22Y1t103BRzp-d0ZXXMPrOPrE3kNof3IuY4Qb3PgbYtL2n-XC8OGsSgsOrCxkVsjRQ_JOWF8QyTj2uzbARmT-d5ODpW_LMA/s200/firmware+l21+datasheet+01.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSmgRVUHUE7WTXiqSMhSVh6jUr-2f7UVl4L3AbrQzQnttzx1F2hbDrv63nCzHJcYuEWEKSyc-x17PGBHw8wMoXytZganXi_rVhb9cWu_zHL0zyADW4BqcbHp2diGMkNDY3HSTdjzVpQ3Q/s1600/firmware+code+watchdog+04.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="771" data-original-width="1006" height="153" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSmgRVUHUE7WTXiqSMhSVh6jUr-2f7UVl4L3AbrQzQnttzx1F2hbDrv63nCzHJcYuEWEKSyc-x17PGBHw8wMoXytZganXi_rVhb9cWu_zHL0zyADW4BqcbHp2diGMkNDY3HSTdjzVpQ3Q/s200/firmware+code+watchdog+04.PNG" width="200" /></a></div>
The whole code was written in Atmel Studio. All the necessary information on how to make a peripheral operate properly is contained in the microcontroller's datasheet. Chapters dedicated to individual peripherals generally describe the principles of operation, outline the steps necessary to initialize the peripheral, and describe all associated registers in detail. The resulting code itself, then, is mostly sequences of register manipulations that realize the desired peripheral behavior. For example, the WatchDog library (in the screenshot above) was among the first pieces of code I had to write, because by default the microcontroller has the WatchDog timer enabled, and without either the code resetting the timer periodically, or the code disabling it at the beginning, the MCU is reset whenever the timer runs out - every few seconds.<br />
<br />
Following WatchDog, I continued in coding several core libraries such as two oscillator controllers (OSC), a generic clock controller (GCLK) and a power manager (PM) which all conduct basic MCU operation. In general, the microcontroller requires a source of a clock signal to step through and execute the programmed instructions. This is where the oscillator controllers come in allowing to choose from a number of options such as external crystals, internal oscillators, or a high speed digital frequency locked loop (DFLL48M) and a fractional digital phase locked loop (FDPLL96M). These source clock signals can then be individually prescaled and distributed to specific peripherals via the generic clock controller. The GCLK provides up to 9 generators (the main clock, MCLK, sourcing GCLK[0]) each being able to utilize a different source and supply different peripherals of choice. Running the device at frequencies higher than 12MHz requires switching it to a higher consumption Performance Level 2 (PL2) control of which, along with various sleep modes, is in the hands of the power manager.<br />
<br />
A peripheral such as an analog-to-digital converter (ADC), digital-to-analog converter (DAC), real-time counter (RTC), etc. is typically made operational by first selecting a source GCLK generator and enabling a peripheral channel (PCHCTRLx register) to provide the peripheral with a clock signal. Following that, registers in the peripheral's domain can be set up and the peripheral enabled by setting the enable bit in the peripheral's CTRLA register.<br />
<br />
A consequence of the possibility to run parts of the MCU at different frequencies manifests itself in the need to synchronize some of the peripheral's core registers with the rest of the microcontroller when written. This is in practice done by an empty while loop repeatedly checking a specific bit in the peripheral's SYNCBUSY or STATUS registers until it is cleared or set. That provides the required delay before executing further instructions.<br />
<br />
The TT7B board is divided into several domains that can be individually powered up or down as described in the tracker's design. The manipulation of the general purpose I/O pins mediating this enable/disable functionality is carried out by the I/O pin controller (PORT). In some cases, such as the ADC and DAC, a peripheral utilizes I/O pins to input or output a signal. In these instances, the control over said pins has to be given to the peripheral. This again is in competency of the I/O pin controller (PMUXEN bit in PINCFG register).<br />
<br />
<br />
<b>Transmitter</b><br />
The transmitter utilizes the digital-to-analog converter (DAC), two timer counters (TC) 0 and 4, and the inter-integrated circuit (I<sup>2</sup>C) interface mode of the serial communication interface (SERCOM) peripheral. The actual initialization routines and register configurations for the IC are then gathered in a separate library - SI5351B. Since the operation of the transmitter is a little bit more complex, it is outlined in this section.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJRTTZvS80P6qhZyGyR1_gGXtgrCo8W5AEot6JNVQfprsgUIdI8pj_Zw0ngz0C8gtsqJ7GFRfilnLsNwIekoigag0AzlONi8MePjTBY98JHHzL61BA0WyaXosZcNTK6_7ctfZsIoxg-II/s1600/IMG_2780+Si5351B+output+probe.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJRTTZvS80P6qhZyGyR1_gGXtgrCo8W5AEot6JNVQfprsgUIdI8pj_Zw0ngz0C8gtsqJ7GFRfilnLsNwIekoigag0AzlONi8MePjTBY98JHHzL61BA0WyaXosZcNTK6_7ctfZsIoxg-II/s200/IMG_2780+Si5351B+output+probe.JPG" width="200" /></a></div>
First I soldered a temporary SMA connector to the transmitter output which also served as an accessible spot for attaching a probe. The oscilloscope I used when working on the transmitter was Owon VDS1022I with 100MS/s sampling rate which somewhat limited its usefulness to frequencies up to only 10 to 25MHz.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJFI-SGEN2aCJszBR9944HK51sws_35xAlB8BVT776Wzwxe-oPbHLl9kfRyNN537wY5s_9gEPRIypCFRq7zdAlz204mIKwOgp6vQe4xyIZWVI6CB9BMmAI8ePXWA5nmzyQW6amPE80clY/s1600/owon+SI5351B+1MHz+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="778" data-original-width="1025" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJFI-SGEN2aCJszBR9944HK51sws_35xAlB8BVT776Wzwxe-oPbHLl9kfRyNN537wY5s_9gEPRIypCFRq7zdAlz204mIKwOgp6vQe4xyIZWVI6CB9BMmAI8ePXWA5nmzyQW6amPE80clY/s200/owon+SI5351B+1MHz+01.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtl5r-aal2Tf-E4oIQ96pkX_ZK7B0XnlIm3Ruzl5Pa646T-cnLZ-ivuIV87JrMQrGV9iN5yIALPPi99bYnV4osb-iKLvk-0n0WrICoLoq6htFDfrFhjxwy3fHkmgAjkIIiQ6gH961dCvg/s1600/owon+SI5351B+5MHz+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="776" data-original-width="1024" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtl5r-aal2Tf-E4oIQ96pkX_ZK7B0XnlIm3Ruzl5Pa646T-cnLZ-ivuIV87JrMQrGV9iN5yIALPPi99bYnV4osb-iKLvk-0n0WrICoLoq6htFDfrFhjxwy3fHkmgAjkIIiQ6gH961dCvg/s200/owon+SI5351B+5MHz+01.png" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjig3a35wp513Ni5HDfozrjM-v3dFDuahX-scBpQi8eXIUD2UhAoVJ3wb6LWOSwn2N0FeS_dnhhOCetpDl5LKc0tyHcNlg4vyjDWKHPkdZm1H3P3GaIROsl-8gM4FNrbHHYXdRz-q2qBCk/s1600/owon+SI5351B+10MHz+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="776" data-original-width="1025" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjig3a35wp513Ni5HDfozrjM-v3dFDuahX-scBpQi8eXIUD2UhAoVJ3wb6LWOSwn2N0FeS_dnhhOCetpDl5LKc0tyHcNlg4vyjDWKHPkdZm1H3P3GaIROsl-8gM4FNrbHHYXdRz-q2qBCk/s200/owon+SI5351B+10MHz+01.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0dhaEf4S_UlI6Afyx6jKJ9Wh3yV7SRfmMCBX07d1b7zqbk0QXlMTFD3NEWJN4oihOqE97S9EisUxTcWYBZcWBpHbPm7JjwHTj8xX5rzJkXZAbmZmR-N2bGGUYf_FPp2cKrnWXhmJ0vVM/s1600/owon+SI5351B+25MHz+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="777" data-original-width="1023" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0dhaEf4S_UlI6Afyx6jKJ9Wh3yV7SRfmMCBX07d1b7zqbk0QXlMTFD3NEWJN4oihOqE97S9EisUxTcWYBZcWBpHbPm7JjwHTj8xX5rzJkXZAbmZmR-N2bGGUYf_FPp2cKrnWXhmJ0vVM/s200/owon+SI5351B+25MHz+01.png" width="200" /></a></div>
These screengrabs show what the output signal looked like when the Si5351B was programmed to lower frequencies - specifically at 1MHz, 5MHz, 10MHz and 25MHz. The 1MHz signal was most likely deformed by the 2.2nF DC blocking capacitor forming a high-pass filter with the 50<span class="st">Ω load impedance (cut-off frequency of around 1.5MHz). The reconstruction accuracy of the</span> 25MHz signal then suffered from the oscilloscope's low sampling rate.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJf2EdQkb2UfO0SHhoIeWOgA7VXjtzKzrCDpUlD0792BPtS0NXeKZiVDQZE0egLNA7b4P5I9yDv9a00fQONohv7D5u93a1U3EOr95ack8sN6CMyXqpVW_IJeT5JMqZfp0-XHRdEQCURS0/s1600/owon+SI5351B+drive+strength+2mA+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="775" data-original-width="1023" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJf2EdQkb2UfO0SHhoIeWOgA7VXjtzKzrCDpUlD0792BPtS0NXeKZiVDQZE0egLNA7b4P5I9yDv9a00fQONohv7D5u93a1U3EOr95ack8sN6CMyXqpVW_IJeT5JMqZfp0-XHRdEQCURS0/s200/owon+SI5351B+drive+strength+2mA+01.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoY6yqXJ0XiU1nnuE-UP762rGwEtsK9HLG5rirHbbcK4UTOn9ZhyDjQnkDLJZtFugpvMu3msxgOJdb-IbyIbrfTUAA-_44luy65J-9iWyu_bI5_gO_fM0ovrF57_iWIDHABomm-2Mni-M/s1600/owon+SI5351B+drive+strength+4mA+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="775" data-original-width="1024" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoY6yqXJ0XiU1nnuE-UP762rGwEtsK9HLG5rirHbbcK4UTOn9ZhyDjQnkDLJZtFugpvMu3msxgOJdb-IbyIbrfTUAA-_44luy65J-9iWyu_bI5_gO_fM0ovrF57_iWIDHABomm-2Mni-M/s200/owon+SI5351B+drive+strength+4mA+01.png" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhM0jjDhZDXaBiYhyphenhypheni5K5EhMdM8tZjkY83DSw-flkrxvvRDM2tQJkHLWHiIXKSj6M9OBStlo6ciCWQYPe_QaqyiEDMxs2idYfNBQyABtFypS-DgGxmuioOIOp6aqIKEydIJNduC2xLivc0/s1600/owon+SI5351B+drive+strength+6mA+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="777" data-original-width="1024" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhM0jjDhZDXaBiYhyphenhypheni5K5EhMdM8tZjkY83DSw-flkrxvvRDM2tQJkHLWHiIXKSj6M9OBStlo6ciCWQYPe_QaqyiEDMxs2idYfNBQyABtFypS-DgGxmuioOIOp6aqIKEydIJNduC2xLivc0/s200/owon+SI5351B+drive+strength+6mA+01.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi40lO6kuV-TZkW-Nb5M-lAROp-fNUKmy1G8gLsSf4C4_rtIEbIgNFnMP6hyfJ_Pb4xJu0HXsZ4YXrBYMMp4b3oWLbYHooT1iww-vEn52uELR1ivNrB5TZmCj5YZ6VGiMMrzmaJFjOeh7g/s1600/owon+SI5351B+drive+strength+8mA+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="776" data-original-width="1023" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi40lO6kuV-TZkW-Nb5M-lAROp-fNUKmy1G8gLsSf4C4_rtIEbIgNFnMP6hyfJ_Pb4xJu0HXsZ4YXrBYMMp4b3oWLbYHooT1iww-vEn52uELR1ivNrB5TZmCj5YZ6VGiMMrzmaJFjOeh7g/s200/owon+SI5351B+drive+strength+8mA+01.png" width="200" /></a></div>
One of the open questions was how much RF power could the IC deliver as its advertised usage was as a clock generator not a transmitter. There were four configurable drive strength settings in the Si5351B's registers titled as 2, 4, 6 and 8mA (CLKx_IDRV[1:0]). The screengrabs above show the resulting signal amplitudes for the different drive strengths when configured to output a 10MHz signal to a 50<span class="st">Ω termination</span>. These observed amplitudes combined with the following equation were the basis for my first attempt to estimate the output power. $$P=\Bigg(\frac{V_{p-p}/2}{\sqrt{2}}\Bigg)^2/R$$ where $P$ is the output power in watts, $V_{p-p}$ is the signal's measured peak to peak voltage, and $R$ is the load impedance in ohms - in this case 50<span class="st">Ω</span>. Note that this RMS voltage calculation applies to sinusoidal wave forms while the discussed signal contains also higher frequency harmonics. The results are in the following table.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm">Drive Strength</th>
<th class="tg-amwm">Vp-p [V]</th>
<th class="tg-amwm">P [mW]</th>
<th class="tg-amwm">P [dBm]</th>
</tr>
<tr>
<td class="tg-yw47">2mA</td>
<td class="tg-lyy6">0.88</td>
<td class="tg-lyy6">1.94</td>
<td class="tg-lyy6">2.87</td>
</tr>
<tr>
<td class="tg-yw47">4mA</td>
<td class="tg-lyy6">1.64</td>
<td class="tg-lyy6">6.72</td>
<td class="tg-lyy6">8.27</td>
</tr>
<tr>
<td class="tg-yw47">6mA</td>
<td class="tg-lyy6">2.10</td>
<td class="tg-lyy6">11.02</td>
<td class="tg-lyy6">10.42</td>
</tr>
<tr>
<td class="tg-yw47">8mA</td>
<td class="tg-lyy6">2.70</td>
<td class="tg-lyy6">18.22</td>
<td class="tg-lyy6">12.61</td>
</tr>
</tbody></table>
<br />
The peak to peak voltages in the table differ from the voltages seen in the screengrabs as they varied a little in time, and I tried to use the mid values for the calculations.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJf3rdsGvqcXF8M18KMLr4ixkUYYJwNgk2rnNAOoQPN0PviM-NEaVOhW-_jArDv1ZefhIQmcu5elaH6uIqsauaUsNcYhheYPxp_znPh6ElIdBnmzjwotiYU4fG2HC_fJhekEM_qoXpgxY/s1600/IMG_2778+ad8318+output+power.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJf3rdsGvqcXF8M18KMLr4ixkUYYJwNgk2rnNAOoQPN0PviM-NEaVOhW-_jArDv1ZefhIQmcu5elaH6uIqsauaUsNcYhheYPxp_znPh6ElIdBnmzjwotiYU4fG2HC_fJhekEM_qoXpgxY/s200/IMG_2778+ad8318+output+power.JPG" width="200" /></a></div>
To confront the previous results with another method, I reached for <a href="https://tt7hab.blogspot.com/2017/01/the-antenna-tuning.html">AD8318</a> which I had used when measuring output power of my <a href="https://tt7hab.blogspot.com/2017/05/the-tt7f-v15-revision.html">TT7F</a> trackers. Transmitting a 144MHz carrier wave through a 30dB attenuator directly to its input, the RF detector output voltages corresponding to the following power levels in dBm:<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm">Drive Strength</th>
<th class="tg-amwm">P [mW]</th>
<th class="tg-amwm">P [dBm]</th>
</tr>
<tr>
<td class="tg-yw47">2mA</td>
<td class="tg-lyy6">1.48</td>
<td class="tg-lyy6">1.70</td>
</tr>
<tr>
<td class="tg-yw47">4mA</td>
<td class="tg-lyy6">5.25</td>
<td class="tg-lyy6">7.20</td>
</tr>
<tr>
<td class="tg-yw47">6mA</td>
<td class="tg-lyy6">9.33</td>
<td class="tg-lyy6">9.70</td>
</tr>
<tr>
<td class="tg-yw47">8mA</td>
<td class="tg-lyy6">12.49</td>
<td class="tg-lyy6">10.97</td>
</tr>
</tbody></table>
<br />
This time the results were lower but at least in the same ballpark. Nevertheless, I wanted to know more and did the same measurements while transmitting 1MHz, 10MHz and 100MHz carrier waves subsequently.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm">Drive Strength</th>
<th class="tg-amwm">P<sub>1</sub> [mW]</th>
<th class="tg-amwm">P<sub>1</sub> [dBm]</th>
<th class="tg-amwm">P<sub>10</sub> [mW]</th>
<th class="tg-amwm">P<sub>10</sub> [dBm]</th>
<th class="tg-amwm">P<sub>100</sub> [mW]</th>
<th class="tg-amwm">P<sub>100</sub> [dBm]</th>
</tr>
<tr>
<td class="tg-yw47">2mA</td>
<td class="tg-lyy6">0.40</td>
<td class="tg-lyy6">-3.99</td>
<td class="tg-lyy6">0.45</td>
<td class="tg-lyy6">-3.47</td>
<td class="tg-lyy6">1.32</td>
<td class="tg-lyy6">1.20</td>
</tr>
<tr>
<td class="tg-yw47">4mA</td>
<td class="tg-lyy6">0.78</td>
<td class="tg-lyy6">-1.07</td>
<td class="tg-lyy6">1.58</td>
<td class="tg-lyy6">2.00</td>
<td class="tg-lyy6">4.79</td>
<td class="tg-lyy6">6.80</td>
</tr>
<tr>
<td class="tg-yw47">6mA</td>
<td class="tg-lyy6">0.88</td>
<td class="tg-lyy6">-0.55</td>
<td class="tg-lyy6">2.57</td>
<td class="tg-lyy6">4.10</td>
<td class="tg-lyy6">9.55</td>
<td class="tg-lyy6">9.80</td>
</tr>
<tr>
<td class="tg-yw47">8mA</td>
<td class="tg-lyy6">0.92</td>
<td class="tg-lyy6">-0.38</td>
<td class="tg-lyy6">3.16</td>
<td class="tg-lyy6">5.00</td>
<td class="tg-lyy6">13.66</td>
<td class="tg-lyy6">11.35</td>
</tr>
</tbody></table>
<br />
The 100MHz results were more or less comparable to the initial 144MHz measurement, however the 1 and 10MHz carriers recorded much lower output power. Especially the 10MHz results being 6-7dB lower compared to the results produced by the first method were a bit confusing. In case of the 1MHz signal, lower output was expected due to the probable high-pass filtering mentioned earlier. Unfortunately, I don't have a high sample rate oscilloscope at hand, so I can't really probe the 144MHz signal and see how effective the designed low-pass filtering is.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCzpWq4veWrHJtPxySnTm8PC5otoAWbQpTvaf9ULzad4qPENoKwTqPh42iMr_dXIbYakJMubx0NwwlxMegG5-RTYX38jCsBIlqKD0evw3Tk-3tIUdk7zzsMdHGPOmF2XlLXrFwI5kZdns/s1600/IMG_2786+DAC+output+probe.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCzpWq4veWrHJtPxySnTm8PC5otoAWbQpTvaf9ULzad4qPENoKwTqPh42iMr_dXIbYakJMubx0NwwlxMegG5-RTYX38jCsBIlqKD0evw3Tk-3tIUdk7zzsMdHGPOmF2XlLXrFwI5kZdns/s200/IMG_2786+DAC+output+probe.JPG" width="200" /></a></div>
Having familiarized myself with the Si5351B's output, I moved on to modulating the carrier wave via the SAML21's digital-to-analog converter output fed to the Si5351B's VC pin. Throughout the time I was developing the code, I extensively used the oscilloscope to monitor the DAC's output by probing around the RC filter with a thin pin extended from the probe. A general description as well as a specific implementation of the AFSK modulation that will be discussed here can be found in my earlier blog <a href="https://tt7hab.blogspot.com/2017/02/aprs-automatic-packet-reporting-system.html">post</a> on APRS.<br />
<br />
On TT7B, the code initializes two timer counters, each for one tone - 1200Hz and 2200Hz. By running the timers at much higher frequencies, the code can step through lookup tables which contain values from 0 to 4095 that represent a single wavelength of a sine wave which are then fed to the 12-bit digital-to-analog converter. When timed right, the output of the DAC is a continuous sine wave of the desired frequency. As timing is critical, the stepping through tables and feeding the DAC is all done in the timer counter's interrupts. The interrupt managing the 1200Hz tone also takes care of the transmission's bit rate (switching between transmitting a '0' or a '1') since that is for APRS 1200bps as well.<br />
<br />
I mentioned lookup tables in plural. That is because due to pre-emphasis the 1200Hz and 2200Hz tones should differ in amplitude. A quite detailed discussion on pre- and de-emphasis in APRS transmissions can be found <a href="https://www.febo.com/packet/layer-one/transmit.html">here</a>. I decided to avoid inflating the interrupt handlers with instructions recalculating the adjustments, and instead stored two lookup tables in RAM, one for each tone.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzVahSLB5lglYBQ_2pnyhK4uHJhFaVfM_IwCiOtNex5bc2fNVJpoXw79psFAyfmKpmEaDlfo51_qKoaQOI4RcaLWh8_VEVond33oQttvONVBnVeJukZIFFTGqdnQJ_OQ6tGJ8NSsMyrHo/s1600/owon+DAC+1200Hz+08+16B.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="775" data-original-width="1022" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzVahSLB5lglYBQ_2pnyhK4uHJhFaVfM_IwCiOtNex5bc2fNVJpoXw79psFAyfmKpmEaDlfo51_qKoaQOI4RcaLWh8_VEVond33oQttvONVBnVeJukZIFFTGqdnQJ_OQ6tGJ8NSsMyrHo/s200/owon+DAC+1200Hz+08+16B.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHg71paxHAlNqU8LaUDFDbRfYy1QfimHbeyQjgq1iRJosdP-iv1x_rpSLwVKQ1caigcWHN6majLwelf26GVE-uXJSijk7e6IHjFKtHHZglKKbDGU8mHg2FKqysvF1md7wig36tmzNF-Qg/s1600/owon+DAC+1200Hz+08+16B+FFT.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="776" data-original-width="1022" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHg71paxHAlNqU8LaUDFDbRfYy1QfimHbeyQjgq1iRJosdP-iv1x_rpSLwVKQ1caigcWHN6majLwelf26GVE-uXJSijk7e6IHjFKtHHZglKKbDGU8mHg2FKqysvF1md7wig36tmzNF-Qg/s200/owon+DAC+1200Hz+08+16B+FFT.png" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYc74JoP_rY4AdaKmBzo5k0jPI_PvdKR4niF2k5RkahteM7sSDvoTRIdDUjUrqOJkWy4VwfQrKggIJOFq1Ctbw7s6mxUA_AW9AofKZ5ZcXTLwnpdTI81b5zVPAPfESV8xFkFQj1GXFLmQ/s1600/owon+DAC+2200Hz+08+16B.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="775" data-original-width="1022" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYc74JoP_rY4AdaKmBzo5k0jPI_PvdKR4niF2k5RkahteM7sSDvoTRIdDUjUrqOJkWy4VwfQrKggIJOFq1Ctbw7s6mxUA_AW9AofKZ5ZcXTLwnpdTI81b5zVPAPfESV8xFkFQj1GXFLmQ/s200/owon+DAC+2200Hz+08+16B.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgszS2pVgzc7CJp095CvzetyW38QYbKkgbT4e_B-3OektVM8zahkz8uVv9zV9tFCPJmKIjmydI2x1-PLBaqDsDiVzCXMNg0ES5bTdwmGregDbITLFIKp-HY7HyiRnJ9vnd3qtz6ExWYpdE/s1600/owon+DAC+2200Hz+08+16B+FFT.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="775" data-original-width="1022" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgszS2pVgzc7CJp095CvzetyW38QYbKkgbT4e_B-3OektVM8zahkz8uVv9zV9tFCPJmKIjmydI2x1-PLBaqDsDiVzCXMNg0ES5bTdwmGregDbITLFIKp-HY7HyiRnJ9vnd3qtz6ExWYpdE/s200/owon+DAC+2200Hz+08+16B+FFT.png" width="200" /></a></div>
These screengrabs show the two tones and their frequency content after FFT when two lookup table arrays of 16 elements each were used in their production. For some reason, the oscilloscope software temporarily reported the frequency as 2000Hz in the second FFT display, however the peak is shown correctly at 2200Hz. Note that the tones have different amplitudes, but are centered around a common mid point of 0.9V.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhR2YIEGRhri-Uc26hEVzzQNoyK2x0FjK6HJq_CFsQlQ65FeEQob-aAi7cbbOElMvKewLyKZnlcSf5sk1BobOaRnD-FbvDdNPhvtq1ASWo0jplsdBKOfCI1skv5YSHhwrJOCGghyHTTfgI/s1600/owon+DAC+1200Hz+09+32B+02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="776" data-original-width="1022" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhR2YIEGRhri-Uc26hEVzzQNoyK2x0FjK6HJq_CFsQlQ65FeEQob-aAi7cbbOElMvKewLyKZnlcSf5sk1BobOaRnD-FbvDdNPhvtq1ASWo0jplsdBKOfCI1skv5YSHhwrJOCGghyHTTfgI/s200/owon+DAC+1200Hz+09+32B+02.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMd5t_SZ_qlEh-9_dVRtp32n5YG4q6FgvC1GYTtA-obR4Ht56uBvSkD06Yow-dwFSCczBom2T547Pq4RTcgF2CBzsSeqX1bwaaUGcMjpNAi5AmLp9zKnavj0hIBrOTRjZ_7C4lo-kT_ug/s1600/owon+DAC+1200Hz+09+32B+FFT+02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="776" data-original-width="1022" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMd5t_SZ_qlEh-9_dVRtp32n5YG4q6FgvC1GYTtA-obR4Ht56uBvSkD06Yow-dwFSCczBom2T547Pq4RTcgF2CBzsSeqX1bwaaUGcMjpNAi5AmLp9zKnavj0hIBrOTRjZ_7C4lo-kT_ug/s200/owon+DAC+1200Hz+09+32B+FFT+02.png" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRBuhv3XG13p1WYcPrVMaV4vyqoTDI1P39dye-1JGMdjTtx-5gd_t1UuanSxONnKG4eEjB5GYUZIcW3lMdnwEe6D9t2DM2bzXacS1vN-jpaD7DmCzhA_F-UXcB3vrwscP3TvC5nCdRgNE/s1600/owon+DAC+2200Hz+09+32B+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="776" data-original-width="1024" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRBuhv3XG13p1WYcPrVMaV4vyqoTDI1P39dye-1JGMdjTtx-5gd_t1UuanSxONnKG4eEjB5GYUZIcW3lMdnwEe6D9t2DM2bzXacS1vN-jpaD7DmCzhA_F-UXcB3vrwscP3TvC5nCdRgNE/s200/owon+DAC+2200Hz+09+32B+01.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPOk5q2ZkuEC5Ia3dGYnETRq2oXYqT0qjuC3j3xuUdKE7Pe60anwpDnnaCiqLwp-KvBNrqqx7aSzAn9k7-T47xXNgWqKP9o7D3QgYrspnecmzayHXa2wdE6Lg9J00AWX5GFoeyR-MMq5U/s1600/owon+DAC+2200Hz+09+32B+FFT+02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="776" data-original-width="1022" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPOk5q2ZkuEC5Ia3dGYnETRq2oXYqT0qjuC3j3xuUdKE7Pe60anwpDnnaCiqLwp-KvBNrqqx7aSzAn9k7-T47xXNgWqKP9o7D3QgYrspnecmzayHXa2wdE6Lg9J00AWX5GFoeyR-MMq5U/s200/owon+DAC+2200Hz+09+32B+FFT+02.png" width="200" /></a></div>
In this case, the timers ran at a faster pace and two 32 element lookup tables were used to produce the tones. The signals look cleaner and the FFT supports that observation as well. The cost is the need to clock the microcontroller at a higher frequency.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAmGDkht7C18wyE6dnCXaW-jjlPMu8MR1PHeNjkP9Sosv541lyKevUzsoXqAlmuHjpURILAfwoSxWR6bnTn826vPt3kKUhjDL_4tQLVZZl06mYpZz-3bUIbTOV2uKJDoQFC4omxeAJl1E/s1600/owon+DAC+packet+16B+16MHz+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="776" data-original-width="1024" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAmGDkht7C18wyE6dnCXaW-jjlPMu8MR1PHeNjkP9Sosv541lyKevUzsoXqAlmuHjpURILAfwoSxWR6bnTn826vPt3kKUhjDL_4tQLVZZl06mYpZz-3bUIbTOV2uKJDoQFC4omxeAJl1E/s200/owon+DAC+packet+16B+16MHz+01.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgehcC-9Sgy3A5ImBw5OBOWOnrr49AIRjdI7a5QyGAUHSc41VqIGSwjAwXcmjnWzkbm32p38UTwLme8-nwMvAPULWXKug8Awxwet41JPzAa3QhYG1PIeK-nVaK09MUxau3CEM071w3M_u8/s1600/owon+DAC+packet+32B+25MHz+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="776" data-original-width="1023" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgehcC-9Sgy3A5ImBw5OBOWOnrr49AIRjdI7a5QyGAUHSc41VqIGSwjAwXcmjnWzkbm32p38UTwLme8-nwMvAPULWXKug8Awxwet41JPzAa3QhYG1PIeK-nVaK09MUxau3CEM071w3M_u8/s200/owon+DAC+packet+32B+25MHz+01.png" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjT3sy19W9C-iK9jq4VgSr54ABdNcjxDNIZauBE1l6QJjLUHUDf82oIQaVlyOnnqeOQZerrxlL157PODsLGa064PDUgG1L8v-evhgRbMjSY01Mk6jF3Zyyk6axL_mtIjFtSzP_Sa_QVGHY/s1600/owon+DAC+packet+16B+16MHz+FFT+02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="871" data-original-width="1439" height="120" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjT3sy19W9C-iK9jq4VgSr54ABdNcjxDNIZauBE1l6QJjLUHUDf82oIQaVlyOnnqeOQZerrxlL157PODsLGa064PDUgG1L8v-evhgRbMjSY01Mk6jF3Zyyk6axL_mtIjFtSzP_Sa_QVGHY/s200/owon+DAC+packet+16B+16MHz+FFT+02.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2WQaRhbu5UfuG2htMu37cL6hUcazWTnSN1Mfi3fW53X5U4j7KQ96trDzsuHPY6tYHWTUPSq0CVMplhTFi1FZKpEDHLzwp37WwTcjySAV2kQO87nyLqnLiRDMG2AtzDBhSeaxmOzKntTk/s1600/owon+DAC+packet+32B+25MHz+FFT+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="871" data-original-width="1439" height="120" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2WQaRhbu5UfuG2htMu37cL6hUcazWTnSN1Mfi3fW53X5U4j7KQ96trDzsuHPY6tYHWTUPSq0CVMplhTFi1FZKpEDHLzwp37WwTcjySAV2kQO87nyLqnLiRDMG2AtzDBhSeaxmOzKntTk/s200/owon+DAC+packet+32B+25MHz+FFT+01.png" width="200" /></a></div>
These are snippets of an actual APRS transmission. The one on the left generated by a 16 element lookup table and an MCU running at 16MHz, and the one on the right produced by a 32 element lookup table and the microcontroller clocked at 25MHz. Because of this modulation approach the transitions between tones are inherently phase continuous, however the differing amplitudes lead to noticeable jumps when the code goes from one lookup table to the other. The overall frequency content of the transmission seems slightly cleaner in case of the 32 element lookup table.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm"></th>
<th class="tg-amwm">Settings 1</th>
<th class="tg-amwm">Settings 2</th>
<th class="tg-amwm">Settings 3</th>
</tr>
<tr>
<td class="tg-yw47">REFCLK</td>
<td class="tg-lyy6">XOSC32K</td>
<td class="tg-lyy6">XOSC32K</td>
<td class="tg-lyy6">XOSC32K</td>
</tr>
<tr>
<td class="tg-yw47">LDR</td>
<td class="tg-lyy6">2009</td>
<td class="tg-lyy6">2009</td>
<td class="tg-lyy6">1545</td>
</tr>
<tr>
<td class="tg-yw47">LDRFRAC</td>
<td class="tg-lyy6">15</td>
<td class="tg-lyy6">15</td>
<td class="tg-lyy6">14</td>
</tr>
<tr>
<td class="tg-yw47">FDPLL96M</td>
<td class="tg-lyy6">65,894,400Hz</td>
<td class="tg-lyy6">65,894,400Hz</td>
<td class="tg-lyy6">50,688,000Hz</td>
</tr>
<tr>
<td class="tg-yw47">GCLK[0].DIV</td>
<td class="tg-lyy6">4</td>
<td class="tg-lyy6">2</td>
<td class="tg-lyy6">2</td>
</tr>
<tr>
<td class="tg-yw47">MCLK: GCLK[0]</td>
<td class="tg-lyy6">16,473,600Hz</td>
<td class="tg-lyy6">32,947,200Hz</td>
<td class="tg-lyy6">25,344,000Hz</td>
</tr>
<tr>
<td class="tg-yw47">GCLK[1].DIV</td>
<td class="tg-lyy6">16</td>
<td class="tg-lyy6">6</td>
<td class="tg-lyy6">12</td>
</tr>
<tr>
<td class="tg-yw47">DAC: GCLK[1]</td>
<td class="tg-lyy6">4,118,400Hz</td>
<td class="tg-lyy6">10,982,400Hz</td>
<td class="tg-lyy6">4,224,000Hz</td>
</tr>
<tr>
<td class="tg-yw47">TC0.COUNT</td>
<td class="tg-lyy6">858</td>
<td class="tg-lyy6">1716</td>
<td class="tg-lyy6">660</td>
</tr>
<tr>
<td class="tg-yw47">TC0 interrupt</td>
<td class="tg-lyy6">19,200Hz</td>
<td class="tg-lyy6">19,200Hz</td>
<td class="tg-lyy6">38,400Hz</td>
</tr>
<tr>
<td class="tg-yw47">TC4.COUNT</td>
<td class="tg-lyy6">468</td>
<td class="tg-lyy6">936</td>
<td class="tg-lyy6">360</td>
</tr>
<tr>
<td class="tg-yw47">TC4 interrupt</td>
<td class="tg-lyy6">35,200Hz</td>
<td class="tg-lyy6">35,200Hz</td>
<td class="tg-lyy6">70,400Hz</td>
</tr>
<tr>
<td class="tg-yw47">Lookup 1200hz</td>
<td class="tg-lyy6">16</td>
<td class="tg-lyy6">16</td>
<td class="tg-lyy6">32</td>
</tr>
<tr>
<td class="tg-yw47">Lookup 2200hz</td>
<td class="tg-lyy6">16</td>
<td class="tg-lyy6">16</td>
<td class="tg-lyy6">32</td>
</tr>
</tbody></table>
<br />
When working on the timing of the modulation, I tried a number of OSC/MCLK/TC setups out of which the three specific cases described in the table above were proven to work. The point was to find such a main clock frequency that would allow oversampling the 1200Hz and 2200Hz tones using only whole integer clock divisors and TC count values. The lower limit for main clock frequency was then determined by the length of the interrupt routines in terms of instructions. To produce the sine waves at desired frequencies, the microcontroller has to be able to execute the whole code within the two interrupts between individual timer counter's compare matches, and hence interrupt firings. For example, to produce the 2200Hz tone from a 16 element lookup table, the TC4's interrupt has to fire with a frequency of 16 * 2200Hz = 35,200Hz. That can be achieved by setting the timer to fire a compare match interrupt in 468 clock cycles provided the main clock runs at 35,200Hz * 468 = 16,473,600Hz. That at the same time means there are 468 clock cycles to execute whatever code is within the interrupt. To have the microcontroller operate at said frequency, the FDPLL96M can be setup to run at 65,894,400Hz using LDR and LDRFRAC values, representing the multiplier of a reference frequency, of 2009 and 15, respectively (equation in the datasheet). The reference itself is then set to be XOSC32K which on TT7B is a 32.768kHz TCXO. GCLK[0], which is the main clock, is set to source signal from the FDPLL96M and divides it by four. The operating frequency of the DAC (provided by GCLK[1]) is not that important. It just has to be fast enough to finish a conversion between individual lookup table steps.<br />
<br />
To make this all work, I had to use two 16-bit timer counters, one for each tone. TC0, the main timer counter, is not only responsible for generating the 1200Hz tone, but also decides which bit, or rather which tone, to transmit now by enabling/disabling TC4's compare match interrupt responsible for the 2200Hz tone. In practice, proper timing of the next interrupt is achieved by adding a respective number of counts to the timer's COMPARE register (designated as TCx.COUNT in the table above).<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm">VCXO Pull</th>
<th class="tg-amwm">0.0V</th>
<th class="tg-amwm">0.913V</th>
<th class="tg-amwm">1.826V</th>
<th class="tg-amwm">Bandwidth</th>
</tr>
<tr>
<td class="tg-yw47">30ppm</td>
<td class="tg-lyy6">-4344Hz</td>
<td class="tg-lyy6">-1918Hz</td>
<td class="tg-lyy6">507Hz</td>
<td class="tg-lyy6">4851Hz</td>
</tr>
<tr>
<td class="tg-yw47">38ppm</td>
<td class="tg-lyy6">-5502Hz</td>
<td class="tg-lyy6">-2430Hz</td>
<td class="tg-lyy6">643Hz</td>
<td class="tg-lyy6">6145Hz</td>
</tr>
<tr>
<td class="tg-yw47">40ppm</td>
<td class="tg-lyy6">-5792Hz</td>
<td class="tg-lyy6">-2558Hz</td>
<td class="tg-lyy6">677Hz</td>
<td class="tg-lyy6">6469Hz</td>
</tr>
<tr>
<td class="tg-yw47">50ppm</td>
<td class="tg-lyy6">-7240Hz</td>
<td class="tg-lyy6">-3197Hz</td>
<td class="tg-lyy6">846Hz</td>
<td class="tg-lyy6">8086Hz</td>
</tr>
<tr>
<td class="tg-yw47">240ppm</td>
<td class="tg-lyy6">-34752Hz</td>
<td class="tg-lyy6">-15346Hz</td>
<td class="tg-lyy6">4060Hz</td>
<td class="tg-lyy6">38812Hz</td>
</tr>
</tbody></table>
<br />
Si5351B allows setting the degree to which voltage present on its VC pin pulls the output frequency in parts-per-million. The selectable settings range from +-30ppm to +-240ppm. Since on TT7B the Si5351B operates at 3.3V (3.27V when measured on the actual board), and the microcontroller's DAC outputs voltages in range of 0V to 1.8V only (1.826V when measured on the board), just a portion of the pullable range will be available. Additionally, the midpoint of the modulation will be offset in frequency due to this as well. The table above shows calculated offsets from a programmed carrier frequency of 144.8MHz at a specific pull setting and DAC output voltages. I made a choice of 38 ppm pull for the actual transmissions which was based on desired peak deviation of 3.0kHz of the 2200Hz tone and 1.65kHz of the 1200Hz tone. More details on the peak deviations in APRS transmissions again in the previously link <a href="https://www.febo.com/packet/layer-one/transmit.html">article</a>. The 2200Hz lookup table ranges in values from 0 to 4095 (12-bit DAC) while the 1200Hz lookup table is appropriately scaled. When devising the offset for the programmed frequency, I had to take into account not only the value at 0.913V from the table above, but also include additional fixed offset which originated in the fact that this specific TT7B board was equipped with a VCXO version of the TCXO and its voltage control pin was tied to ground. According to the datasheet, that should pull its output frequency by -5ppm which would at 144.8MHz add further 724Hz to the total offset.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm">Area</th>
<th class="tg-amwm">F [MHz]</th>
<th class="tg-amwm">F<sub>VCO</sub> [MHz]</th>
<th class="tg-amwm">Offset [Hz]</th>
</tr>
<tr>
<td class="tg-yw47">North America</td>
<td class="tg-lyy6">144.390</td>
<td class="tg-lyy6">866.340</td>
<td class="tg-lyy6">-3920</td>
</tr>
<tr>
<td class="tg-yw47">New Zealand</td>
<td class="tg-lyy6">144.575</td>
<td class="tg-lyy6">867.450</td>
<td class="tg-lyy6">-3890</td>
</tr>
<tr>
<td class="tg-yw47">S. Korea</td>
<td class="tg-lyy6">144.620</td>
<td class="tg-lyy6">867.720</td>
<td class="tg-lyy6">-3880</td>
</tr>
<tr>
<td class="tg-yw47">China</td>
<td class="tg-lyy6">144.640</td>
<td class="tg-lyy6">867.840</td>
<td class="tg-lyy6">-3880</td>
</tr>
<tr>
<td class="tg-yw47">Japan</td>
<td class="tg-lyy6">144.660</td>
<td class="tg-lyy6">867.960</td>
<td class="tg-lyy6">-3885</td>
</tr>
<tr>
<td class="tg-yw47">Europe, Russia</td>
<td class="tg-lyy6">144.800</td>
<td class="tg-lyy6">868.800</td>
<td class="tg-lyy6">-3855</td>
</tr>
<tr>
<td class="tg-yw47">Argentina, Uruguay</td>
<td class="tg-lyy6">144.930</td>
<td class="tg-lyy6">869.580</td>
<td class="tg-lyy6">-3940</td>
</tr>
<tr>
<td class="tg-yw47">Venezuela</td>
<td class="tg-lyy6">145.010</td>
<td class="tg-lyy6">870.060</td>
<td class="tg-lyy6">-3920</td>
</tr>
<tr>
<td class="tg-yw47">Australia</td>
<td class="tg-lyy6">145.175</td>
<td class="tg-lyy6">871.050</td>
<td class="tg-lyy6">-3990</td>
</tr>
<tr>
<td class="tg-yw47">Thailand</td>
<td class="tg-lyy6">145.525</td>
<td class="tg-lyy6">873.150</td>
<td class="tg-lyy6">-3910</td>
</tr>
<tr>
<td class="tg-yw47">Brazil</td>
<td class="tg-lyy6">145.570</td>
<td class="tg-lyy6">873.420</td>
<td class="tg-lyy6">-3910</td>
</tr>
</tbody></table>
<br />
Prior to each transmission, the Si5351B is programmed to a specific frequency. For the sake of simplicity, the code focuses on programming the VCO frequency which is then always divided by an integer divider of 6 to get the desired output. This approach works fine for all 2m band APRS frequencies, but for any output below 100MHz the code would have to be modified. The last column in the table contains actual measured offsets of midpoints of modulation at individual APRS frequencies. They are several hundred hertz larger than the previously calculated values and slightly differ frequency to frequency. Since the differences aren't that large, a fixed offset of 3900Hz is automatically added when a new frequency is programmed to the Si5351B.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGVmsqXK88p3HDyZL7NdPz20wkJjnRy2m_VDM8-gx3qtnSu6KVTcyre42FVgZ2zLwdvxcPTvZ0vk8gmRD0qStxmZNbTwoY6lLC7QJ5Y_xOgqcweuDe39QZqmcTTN1D6S2vdUPAYxTiD60/s1600/IMG_2793+RTL-SDR+transmission+recording.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGVmsqXK88p3HDyZL7NdPz20wkJjnRy2m_VDM8-gx3qtnSu6KVTcyre42FVgZ2zLwdvxcPTvZ0vk8gmRD0qStxmZNbTwoY6lLC7QJ5Y_xOgqcweuDe39QZqmcTTN1D6S2vdUPAYxTiD60/s200/IMG_2793+RTL-SDR+transmission+recording.JPG" width="200" /></a></div>
Since my oscilloscope tops out way below the APRS frequencies, I transmitted a couple of test packets directly to an RTL-SDR input through a 30dB attenuator, and recorded the demodulated audio with SDR#. The following screengrabs show the recordings in Audacity.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMtIe80EAgNE6vB82AaQz_piWrJANb0wMD1JMdAiClhrfLXxdeYzIvvaSJ_-RBV88DcMa1i6WMWOtQ_WuIfRVm_zjsQbne1j5lHG7IqczyzeQk2PyAEAAMq8N1zo4PAqoSlLe5zxpVWfw/s1600/audacity+packet+16B+16MHz+Si_38+direct+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="871" data-original-width="1439" height="120" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMtIe80EAgNE6vB82AaQz_piWrJANb0wMD1JMdAiClhrfLXxdeYzIvvaSJ_-RBV88DcMa1i6WMWOtQ_WuIfRVm_zjsQbne1j5lHG7IqczyzeQk2PyAEAAMq8N1zo4PAqoSlLe5zxpVWfw/s200/audacity+packet+16B+16MHz+Si_38+direct+01.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiD6SOIPzU9BNJrtQZzjy9d0WFRusIM7yCst4AmcGnZOOhTvPNex1oaUYBZKsDi5d_UQazY82TCkEbDsLQh-GF2EwwXiG8VaWalmf_9IavbppjzLNs3v1S4qkwVoFc-eeD4pQhgPaUvna0/s1600/audacity+packet+32B+25MHz+Si_38+direct+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="870" data-original-width="1439" height="120" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiD6SOIPzU9BNJrtQZzjy9d0WFRusIM7yCst4AmcGnZOOhTvPNex1oaUYBZKsDi5d_UQazY82TCkEbDsLQh-GF2EwwXiG8VaWalmf_9IavbppjzLNs3v1S4qkwVoFc-eeD4pQhgPaUvna0/s200/audacity+packet+32B+25MHz+Si_38+direct+01.png" width="200" /></a></div>
The frequency analysis of a couple of test packets shows much cleaner spectrums than in case of my previous APRS transmissions from <a href="https://tt7hab.blogspot.com/2017/02/aprs-automatic-packet-reporting-system.html">TT7F</a> which tried to replicate the AFSK modulation in two different ways. First using conveniently timed GFSK modulation, second a much less refined lookup table approach. Here on TT7B, there seems to be very little difference comparing the 16 element lookup table on the left to the 32 element lookup table on the right.<br />
<br />
<div align="center">
<audio controls="">
<source src="http://docs.google.com/uc?export=open&id=1xltKJBJJTgND_y7ToBvI9xdY2LZ8UUcJ" type="audio/wav"></source>
Your browser does not support the audio tag.
</audio>
</div>
<br />
<div align="center">
<audio controls="">
<source src="http://docs.google.com/uc?export=open&id=15bbGAOUTvo1480V0TQF3guTk-M23MCuT" type="audio/wav"></source>
Your browser does not support the audio tag.
</audio>
</div>
<br />
These are the actual recordings, the 16 element table with main clock at 16MHz at the top, and the 32 element table running at 25MHz at the bottom. Both .wav files can be downloaded here: <a href="https://drive.google.com/file/d/1xltKJBJJTgND_y7ToBvI9xdY2LZ8UUcJ/view?usp=sharing">16 element</a> and here: <a href="https://drive.google.com/file/d/15bbGAOUTvo1480V0TQF3guTk-M23MCuT/view?usp=sharing">32 element</a>.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh01KhITvk1iahFvMAZ3JUZv0nnh1HDSRL0GjmFlYIGfpuNoSAnkw9SlGXxZow6mZigE0fGT9-f-IX3AFDIT8jVd7_Q8AIrjTyIg687CfiLGM_tOwTfrII4FrSJPfFFfo3cS3YZAhn2ins/s1600/direwolf+packet+32B+25MHz+Si_38+direct+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="335" data-original-width="667" height="100" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh01KhITvk1iahFvMAZ3JUZv0nnh1HDSRL0GjmFlYIGfpuNoSAnkw9SlGXxZow6mZigE0fGT9-f-IX3AFDIT8jVd7_Q8AIrjTyIg687CfiLGM_tOwTfrII4FrSJPfFFfo3cS3YZAhn2ins/s200/direwolf+packet+32B+25MHz+Si_38+direct+01.png" width="200" /></a></div>
DireWolf decodes the test packet without bit corrections, reports an adequate audio level ratio between the tones (11 - 1200hz, 18 - 2200Hz), and manages to decode the packet with six out of nine decoders which correspond to gains for the 2200Hz tone of -6.0dB to +5.3dB as more in detail described in the DireWolf's documentation.<br />
<br />
<br />
<b>Encoding</b><br />
As mentioned previously, the task of the tracker is to deliver back as much information about the balloon itself and its surrounding conditions as possible. For that, the tracker will use the worldwide APRS network of iGates and digipeaters. Although the APRS protocol supports sending telemetry along positional information and can even graph the data, the amount of data is limited. To send all the data I wanted, I decided to define my own packet structure, use the APRS network to only collect the data packets, and do the decoding manually. The position of the balloon will still be plotted online on a map such as <a href="https://aprs.fi/">aprs.fi</a>, but all the telemetry data will be reported encoded in the comment section of the APRS packet.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm">!/5LD\S*,yON2WYm%=,)ZiLx,f:-D33ZM0!<QU</th>
</tr>
</tbody></table>
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm">!/5LD\S*,yON2WYm%=,)ZiLx,f:-D33ZM0!<QU5N^JS%<z!(Z/'T$r7U@#]KRj1F(!9T,wQ7,8Z</th>
</tr>
</tbody></table>
<br />
An example of the packet TT7B will be sending can be seen above. The first is a shorter packet containing only current information, while the second is a full length packet containing current information and an additional backlog of data acquired previously during the flight. This is used to provide information about the balloon's whereabouts for when it was outside of reception range. The shorter packet is 38 bytes long plus additional 39 bytes of flags, paths and crc. The full length packet is 75 bytes plus again the additional 39 bytes. It takes 513ms in total to transmit the 77 bytes of the shorter packet, and 760ms to transmit the 114 byte packet.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm">Byte</th>
<th class="tg-amwm">Symbol</th>
<th class="tg-amwm">Description</th>
<th class="tg-amwm">Decoded</th>
</tr>
<tr>
<td class="tg-yw47">0</td>
<td class="tg-amwm">!</td>
<td class="tg-yw47">Data Type Identifier</td>
<td class="tg-lyy6"></td>
</tr>
<tr>
<td class="tg-yw47">1</td>
<td class="tg-amwm">/</td>
<td class="tg-yw47">Symbol Table Identifier</td>
<td class="tg-lyy6"></td>
</tr>
<tr>
<td class="tg-yw47">2:5</td>
<td class="tg-amwm">5LD\</td>
<td class="tg-yw47">Latitude</td>
<td class="tg-lyy6">49.49148°</td>
</tr>
<tr>
<td class="tg-yw47">6:9</td>
<td class="tg-amwm">S*,y</td>
<td class="tg-yw47">Longitude</td>
<td class="tg-lyy6">18.22311°</td>
</tr>
<tr>
<td class="tg-yw47">10</td>
<td class="tg-amwm">O</td>
<td class="tg-yw47">Symbol Code (Balloon)</td>
<td class="tg-lyy6"></td>
</tr>
<tr>
<td class="tg-yw47">11:12</td>
<td class="tg-amwm">N2</td>
<td class="tg-yw47">Altitude (coarse)</td>
<td class="tg-lyy6">1127.42m</td>
</tr>
<tr>
<td class="tg-yw47">13</td>
<td class="tg-amwm">W</td>
<td class="tg-yw47">Compression Type Identifier</td>
<td class="tg-lyy6"></td>
</tr>
</tbody></table>
<br />
The first 14 bytes of the packet constitute a standardized compressed position report as described in APRS Protocol Reference 1.0.1. Latitude and longitude can be decoded using these equations: $$Latitude=90-((c_1-33)\times 91^3+(c_2-33)\times 91^2+(c_3-33)\times 91+(c_4-33))/380926$$ $$Longitude=-180+((c_1-33)\times 91^3+(c_2-33)\times 91^2+(c_3-33)\times 91+(c_4-33))/190463$$ where $c_{1..4}$ represent individual chars $5LD\setminus$ for latitude and $S*,y$ for longitude. Following the same char representation, altitude in meters can be decoded using this equation: $$Altitude=1.002^{(c_1-33)\times 91+(c_2-33)}/3.28084$$ The compression and decompression introduce some amount of error in the original values. In case of latitude, the resolution can be down to 29cm, while in case of longitude down to 59cm which corresponds to higher accuracy then most GPS modules can achieve. However in case of altitude, the potential error increases with the altitude itself. At 12,000m it can be up to 24m, at 40,000m it can be up to 80m. For this reason, there is additional correction data transmitted among the data in the remainder of the packet to report altitude data within 1m of the measured value. Note that these errors originate purely in the compression process and do not say anything about the accuracy of the positional fix itself.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm">Byte</th>
<th class="tg-amwm">Symbol</th>
<th class="tg-amwm">Description</th>
<th class="tg-amwm">Decoded</th>
</tr>
<tr>
<td class="tg-yw47">14:15</td>
<td class="tg-amwm">Ym</td>
<td class="tg-yw47">Temperature MCU</td>
<td class="tg-lyy6">23.44°C</td>
</tr>
<tr>
<td class="tg-yw47">16:17</td>
<td class="tg-amwm">%=</td>
<td class="tg-yw47">Temperature THERMISTOR_1</td>
<td class="tg-lyy6">23.74°C</td>
</tr>
<tr>
<td class="tg-yw47">18:19</td>
<td class="tg-amwm">,)</td>
<td class="tg-yw47">Temperature THERMISTOR_2</td>
<td class="tg-lyy6">0.01°C</td>
</tr>
<tr>
<td class="tg-yw47">20:21</td>
<td class="tg-amwm">Zi</td>
<td class="tg-yw47">Temperature MS5607_1</td>
<td class="tg-lyy6">25.18°C</td>
</tr>
<tr>
<td class="tg-yw47">22:23</td>
<td class="tg-amwm">Lx</td>
<td class="tg-yw47">Temperature MS5607_2</td>
<td class="tg-lyy6">0.00°C</td>
</tr>
<tr>
<td class="tg-yw47">24:26</td>
<td class="tg-amwm">,f:</td>
<td class="tg-yw47">Pressure MS5607_1</td>
<td class="tg-lyy6">97395Pa</td>
</tr>
<tr>
<td class="tg-yw47">27:29</td>
<td class="tg-amwm">-D3</td>
<td class="tg-yw47">Pressure MS5607_2</td>
<td class="tg-lyy6">102575Pa</td>
</tr>
<tr>
<td class="tg-yw47">30:31</td>
<td class="tg-amwm">3Z</td>
<td class="tg-yw47">Battery Voltage</td>
<td class="tg-lyy6">1.512V</td>
</tr>
<tr>
<td class="tg-yw47">32:33</td>
<td class="tg-amwm">M0</td>
<td class="tg-yw47">Ambient Light</td>
<td class="tg-lyy6">22.10lux</td>
</tr>
<tr>
<td class="tg-yw47">34:37</td>
<td class="tg-amwm">!<QU</td>
<td class="tg-yw47">Altitude (offset: 0-99m), Satellites, Active Time, Last Reset</td>
<td class="tg-lyy6"></td>
</tr>
</tbody></table>
<br />
This portion of the packet contains the current telemetry data. All individual data points in some form utilize Base91 encoding to transform their original value to an ASCII character representation that is transmittable via APRS. The thermistor one and two temperatures, and battery voltage are all raw ADC readings (0-4095) Base91 encoded into two ASCII characters. The following equation is common to all of them: $$ADC_{raw}=(c_1-33)\cdot 91+(c_2-33)$$ After acquiring the raw ADC values, the calculations differ. To get the temperature measured by a thermistor in °C, first calculate the voltage the raw ADC value represents. This voltage is across the thermistor itself in a voltage divider setup and allows to calculate the thermistor's resistance. The resistance then plugs into a Steinhart-Hart equation where $R_2$ is the resistance at temperature $T_{therm}$. The coefficients $a$, $b$ and $c$ were determined earlier for this specific thermistor. $$V_{R2}=\frac{ADC_{raw}}{4095}\cdot 1.826V$$ $$R_{2}=\frac{V_{R2} \cdot 49900\Omega}{1.826V - V_{R2}}$$ $$T_{therm}=\frac{1}{0.00128424+0.00023629\cdot ln(R_{2})+0.0000000928\cdot ln(R_{2})^3}-273.15$$ The battery voltage in volts can be calculated by following this equation. The factor of 2 comes from the fact that the measurement is done after a voltage divider. $$V_{batt}=\frac{ADC_{raw}}{4095}\cdot 1.826V\cdot 2$$ The MCU and the two MS5607 temperature readings follow the same decoding process. First decode the Base91 encoded value $n$. Then subtract an offset of 4000 from $n$ and divide the result by 50 to get the actual temperature in °C. $$n=(c_1-33)\cdot 91+(c_2-33)$$ $$T=\frac{n-4000}{50}$$ In case of the two pressure values, all that needs to be done is to decode the three Base91 encoded characters. The result is a pressure value in Pa. $$P=(c_1-33)\cdot 91^2+(c_2-33)\cdot 91+(c_3-33)$$ The ambient light readings produced by the sensor can span from 0.0072 to 120,000lux. To preserve resolution at even the very low end of the range and not waste too many characters in transmitting these values, I decided to utilize a similar approach as is used in the original APRS format to compressed altitude. The consequential decrease in resolution at the higher end of the range of possible values doesn't matter that much here. The following equations result in an illuminance reading in lux. $$n=(c_1-33)\cdot 91+(c_2-33)$$ $$E_v=\frac{10^{n\cdot log(1.002)}}{139}$$ The last four characters of this section of the packet encode a few different values together. First decode the Base91 encoding to a single number. $$n=(c_1-33)\cdot 91^3 + (c_2-33)\cdot 91^2+(c_3-33)\cdot 91+(c_4-33)$$ Last Reset is a number between 0 and 5 corresponding to the source of the last reset as reported by the microcontroller in register RCAUSE. The sources are: 0 - NONE no reset source; 1 - POR power on reset; 2 - BOD brown out detector; 3 - EXT external; 4 - WDT watchdog timer; 5 - SYS system reset. To get the value use the following equation. $$reset=n\; mod\; 6$$ Active Time is the time measured by the onboard Real-Time Counter between waking up from standby mode to construction of the APRS packet, so the actual transmission of 0.5-0.7s is excluded. The point of this measurement is to get information on the time to first fix of the GPS module. The resolution is 0.1s. $$t=\bigg(\bigg\lfloor\frac{n}{6}\bigg\rfloor\; mod\;1000\bigg)/10$$ The next value to extract is the number of satellites used in the GPS positional fix. To get the number follow this equation. $$sats=\bigg(\bigg\lfloor\frac{n}{6\cdot 1000}\bigg\rfloor\; mod\;17\bigg)$$ As mentioned earlier, the compression and decompression used when transmitting altitude data introduces an error. To compensate for this error, Altitude Offset is added to Altitude Coarse rounded down to nearest integer. The following equation reveals how to arrive at the value. $$alt=\bigg\lfloor\frac{n}{6\cdot 1000\cdot 17}\bigg\rfloor$$ In this example <b>!<QU</b> decodes as: Last Reset = 1; Active Time = 0.1s; Satellites = 4; Altitude Offset = 2m which when added to Altitude Coarse gives an altitude of 1129m reported by the GPS module. This collective encoding is used in a couple of instances in the following backlog section as well.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm">Byte</th>
<th class="tg-amwm">Symbol</th>
<th class="tg-amwm">Description</th>
<th class="tg-amwm">Decoded</th>
</tr>
<tr>
<td class="tg-yw47">38:41</td>
<td class="tg-amwm">5N^J</td>
<td class="tg-yw47">Backlog: Latitude</td>
<td class="tg-lyy6">49.44184°</td>
</tr>
<tr>
<td class="tg-yw47">42:45</td>
<td class="tg-amwm">S%<z</td>
<td class="tg-yw47">Backlog: Longitude</td>
<td class="tg-lyy6">18.01337°</td>
</tr>
<tr>
<td class="tg-yw47">46:49</td>
<td class="tg-amwm">!(Z/</td>
<td class="tg-yw47">Backlog: Altitude (precise: 0-50,000m), Satellites, Last Reset</td>
<td class="tg-lyy6"></td>
</tr>
<tr>
<td class="tg-yw47">50:54</td>
<td class="tg-amwm">'T$r7</td>
<td class="tg-yw47">Backlog: Year, Month, Day, Hour, Minute, Active Time</td>
<td class="tg-lyy6"></td>
</tr>
<tr>
<td class="tg-yw47">55:56</td>
<td class="tg-amwm">U@</td>
<td class="tg-yw47">Backlog: Temperature MCU</td>
<td class="tg-lyy6">15.26°C</td>
</tr>
<tr>
<td class="tg-yw47">57:58</td>
<td class="tg-amwm">#]</td>
<td class="tg-yw47">Backlog: Temperature THERMISTOR_1</td>
<td class="tg-lyy6">35.99°C</td>
</tr>
<tr>
<td class="tg-yw47">59:60</td>
<td class="tg-amwm">KR</td>
<td class="tg-yw47">Backlog: Temperature THERMISTOR_2</td>
<td class="tg-lyy6">-62.65°C</td>
</tr>
<tr>
<td class="tg-yw47">61:62</td>
<td class="tg-amwm">j1</td>
<td class="tg-yw47">Backlog: Temperature MS5607_1</td>
<td class="tg-lyy6">53.18°C</td>
</tr>
<tr>
<td class="tg-yw47">63:64</td>
<td class="tg-amwm">F(</td>
<td class="tg-yw47">Backlog: Temperature MS5607_2</td>
<td class="tg-lyy6">-12.52°C</td>
</tr>
<tr>
<td class="tg-yw47">65:67</td>
<td class="tg-amwm">!9T</td>
<td class="tg-yw47">Backlog: Pressure MS5607_1</td>
<td class="tg-lyy6">2235Pa</td>
</tr>
<tr>
<td class="tg-yw47">68:70</td>
<td class="tg-amwm">,wQ</td>
<td class="tg-yw47">Backlog: Pressure MS5607_2</td>
<td class="tg-lyy6">98965Pa</td>
</tr>
<tr>
<td class="tg-yw47">71:72</td>
<td class="tg-amwm">7,</td>
<td class="tg-yw47">Backlog: Battery Voltage</td>
<td class="tg-lyy6">1.795V</td>
</tr>
<tr>
<td class="tg-yw47">73:74</td>
<td class="tg-amwm">8Z</td>
<td class="tg-yw47">Backlog: Ambient Light</td>
<td class="tg-lyy6">0.5279lux</td>
</tr>
</tbody></table>
<br />
This last portion of the APRS packet contains the optional backlog. Most of the data such as latitude, longitude, MCU, thermistor and MS5607 temperatures, MS5607 pressure, battery voltage, and ambient light are encoded in the same way as in the current data section. The bytes 46 to 49 collectively represent encoded altitude (this time without encoding error), the number of satellites and information about the last reset source. The process once again starts with decoding the Base91 representation. $$n=(c_1-33)\cdot 91^3 + (c_2-33)\cdot 91^2+(c_3-33)\cdot 91+(c_4-33)$$ Extracting the Last Reset value follows the same steps as previously. $$reset=n\; mod\; 6$$ Getting the number of Satellites is slightly different to previously. $$sats=\bigg(\bigg\lfloor\frac{n}{6}\bigg\rfloor\; mod\;17\bigg)$$ And the precise Altitude is arrived at by following this equation. $$alt=\bigg\lfloor\frac{n}{6\cdot 17}\bigg\rfloor$$ In this example <b>!(Z/</b> decodes as: Last Reset = 0; Satellites = 5; Altitude Precise = 619m.<br />
<br />
The remaining bytes 50 to 54 collectively represent encoded year, month, day, hour, minute and active time of the backlogged telemetry. Since there are five Base91 encoded bytes this time, the first step is slightly different. $$n=(c_1-33)\cdot 91^4+(c_2-33)\cdot 91^3+(c_3-33)\cdot 91^2+(c_4-33)\cdot 91+(c_5-33)$$ First the Active Time is extracted in this way. $$t=\frac{n\; mod\; 1000}{10}$$ Followed by the Minute. $$min=\bigg(\bigg\lfloor\frac{n}{1000}\bigg\rfloor\; mod\;60\bigg)$$ Then the Hour. $$hour=\bigg(\bigg\lfloor\frac{n}{1000\cdot 60}\bigg\rfloor\; mod\;24\bigg)$$ And the Day. $$day=\bigg(\bigg\lfloor\frac{n}{1000\cdot 60\cdot 24}\bigg\rfloor\; mod\;31\bigg)+1$$ The Month. $$month=\bigg(\bigg\lfloor\frac{n}{1000\cdot 60\cdot 24\cdot 31}\bigg\rfloor\; mod\;12\bigg)+1$$ And lastly the Year. $$year=\bigg\lfloor\frac{n}{1000\cdot 60\cdot 24\cdot 31\cdot 12}\bigg\rfloor +2018$$ In this specific example <b>'T$r7</b> decodes as: Active Time = 12.3s; Minute = 34; Hour = 10; Day = 3; Month = 11; Year = 2018.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgod3fsOhyphenhyphenUIJVc-K8rOQPk3FptF0M6_fHMoMFTEOn8fJBQ_MfU7FIH7QGrLt9jb3nWGn2uPC2MGCCqyCZtvw4ijYCylOsf75GM3ln87iQhR2uJTsvxqef70jnUGJql6dRM0UDjBQz3Fnw/s1600/aprs_decoder_gui+03.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="853" data-original-width="503" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgod3fsOhyphenhyphenUIJVc-K8rOQPk3FptF0M6_fHMoMFTEOn8fJBQ_MfU7FIH7QGrLt9jb3nWGn2uPC2MGCCqyCZtvw4ijYCylOsf75GM3ln87iQhR2uJTsvxqef70jnUGJql6dRM0UDjBQz3Fnw/s200/aprs_decoder_gui+03.png" width="117" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZZP8gUFOd6uI0suFFBT3sLTprZkHNC_IHeehFwjWLs03V73LtYDMqSNZ3Qf3JXrtzZhHd9ag_fqWhG7xBTj9YWSUmAiywKZI_uOqDF0Bq3ec4Mi0_nRS4HLJPx-0oLDzs0-dKArxciMU/s1600/aprs_decoder_gui+04.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="854" data-original-width="503" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZZP8gUFOd6uI0suFFBT3sLTprZkHNC_IHeehFwjWLs03V73LtYDMqSNZ3Qf3JXrtzZhHd9ag_fqWhG7xBTj9YWSUmAiywKZI_uOqDF0Bq3ec4Mi0_nRS4HLJPx-0oLDzs0-dKArxciMU/s200/aprs_decoder_gui+04.png" width="117" /></a></div>
I've written a few Python scripts to help with the decoding. First is a GUI for quickly decoding a single packet as shown in the screengrabs above. Then a piece of code that grabs and parses packets collected at aprs.fi. And lastly a decoder that takes the packets grabbed from aprs.fi and decodes them to a .csv file. All can be found in the <a href="https://github.com/TomasTT7/TT7B-Tracker/tree/master/Accessories">Accessories</a> folder in TT7B's main Github repository.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg45pXRo3zTVVrdeyj_zkPuCgYH6depFKcmVU0agPROUOTgNzHz7_jQr6E731qXM_qXbfdAjuIBclcozFKEX35hb_oQ-Glo4Hc3yOfG3WAhUJNgtBrVjYBI_RQdzBSnTYWRgrfulUPdgpQ/s1600/backlog+algorithm+02.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="420" data-original-width="674" height="124" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg45pXRo3zTVVrdeyj_zkPuCgYH6depFKcmVU0agPROUOTgNzHz7_jQr6E731qXM_qXbfdAjuIBclcozFKEX35hb_oQ-Glo4Hc3yOfG3WAhUJNgtBrVjYBI_RQdzBSnTYWRgrfulUPdgpQ/s200/backlog+algorithm+02.PNG" width="200" /></a></div>
Every nth instance of the current positional and telemetry data is stored in the microcontroller's non-volatile memory (NVM) which retains this information even in case of a power down or a reset. The memory, which also contains the main code instructions, is organized into 64 byte pages. In case of SAML21E17, that is 131,072 bytes in 2048 pages. Since the code I've written for the tracker took up less than 50% of the overall memory, it left me with the other half for potential data storage. In the end, I decided to use 512 pages from the last quarter of the memory to each hold one backlog. The targeted part of memory must be erased prior to writing in it. The NVM Controller erases by whole rows which each contains four pages. Each row can then be written four times - every page once. When constructing an APRS packet, the microcontroller checks an address in the backlog allocated memory, and if it finds an already written log, it appends it to the packet. The way in which it chooses a backlog to transmit is according to a Van Der Corput Sequence (another inspiration from the <a href="http://www.bristol-seds.co.uk/flights.html">UBSEDS</a> flights). The chart above illustrates this sequence after 16, 64, and 128 transmissions. Contrary to a simple ascending/descending sequence, it quickly provides an overview of the whole extent of the backlog, and then evenly fills in the blanks with additional transmissions.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkZTUroTPQZZO5dOlp3CJBlTp_ShA4n4Effl0TF4mNhyphenhyphenqZNPxCOlliDaYaslqeCHtF7sLwlAWOYn79z3iqp6MJqAIaoRjOfB3_soPxN6QzUEoJxC2-15b0v4STAVYNasR82eLOPQaYg08/s1600/backlog+algorithm+05.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="379" data-original-width="474" height="159" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkZTUroTPQZZO5dOlp3CJBlTp_ShA4n4Effl0TF4mNhyphenhyphenqZNPxCOlliDaYaslqeCHtF7sLwlAWOYn79z3iqp6MJqAIaoRjOfB3_soPxN6QzUEoJxC2-15b0v4STAVYNasR82eLOPQaYg08/s200/backlog+algorithm+05.png" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
The scattered nature of the Van Der Corput sequence is illustrated in the chart above. In case a log is stored every 20 minutes, the 512 individual logs contain data from the past 7.1 days. If all logs are written and a new transmission cycle begins, the sequence first transmits a 7.1 days old log from page 0 of the backlog, in the next transmission jumps to a log 3.5 days old from page 256, then 5.3 days old log from page 128 and so on. The chart then further illustrates first 60 transmissions. Assuming a transmission every 2 minutes, the whole backlog gets transmitted in 17.1 hours. When all 512 backlog pages are written, the algorithm wraps around and starts rewriting the oldest logs. A pointer to which page should a backlog be written next is also stored in the NVM memory and updated after every added log. Occasionally, a packet without a backlog is transmitted even after all addresses in NVM are populated with logs. This is because the microcontroller can erase only a whole row in the memory which corresponds to 4 pages, so sometimes the transmit sequence arrives at a page that has been recently erased and not repopulated again yet. According to the datasheet, a page write operation takes 2.5ms, and an erase row operation 6ms. The minimum cycling endurance (write and erase operation) is stated to be 25,000 cycles which translates to 347 days for the most often written pointer page.<br />
<br />
<br />
<b>GPS</b><br />
Since the GPS module is the most power hungry individual part on the tracker, the main goal was to find the right compromise between power consumption and positional accuracy of its measurements. The ZOE-M8B's datasheet states a horizontal position accuracy of 2.5m when the receiver is in Continuous mode, 3.0m when in Super-E Performance mode, and 3.5m in Super-E Power Save mode for positional solutions based on signals from the GPS constellation alone. The module can also utilize the GLONASS, BeiDou and Galileo GNSS systems, or their combination with less accuracy (according to the datasheet values) and more power consumed. The accuracy is stated in Circular Error Probable (CEP) figures specified over a 24 hour period with the receiver being locked on to 6 or more satellites at signal levels of -130dBm. The Continuous mode figure, for example, means that 50% of position measurements over the specified period were somewhere within a circle 2.5m in radius centered at the real position, while the remaining 50% lay an unspecified distance outside that circle. The datasheet didn't provide any figures on vertical accuracy.<br />
<br />
It should be noted that these figures were achieved with ideal conditions as specified. Real life positional measurements are often scattered around a bit more depending on the actual environment. The typically mentioned sources of error are inaccuracies in satellite clock and orbit, deviations of the real conditions from the receiver's ionospheric and tropospheric models, the receiver measuring reflected signals instead of direct signals (multipath), or the actual geometry of the satellite constellation (often expressed as various Dilution Of Precision (DOP) values). The <i>Essentials of Satellite Navigation</i> document, which can be found on u-blox's <a href="https://www.u-blox.com/sites/default/files/gps_compendiumgps-x-02007.pdf">website</a>, discusses the matter in more detail and is a useful source of information on GPS operation in general. In case of doing accuracy tests in real life environments, the multipath error and the actual geometry of satellites used in the solution will most likely be the main variables compared to the ideal conditions case.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmMaCeG05kTRZjn0ysQsGjO425vEBqWaSf_zq5mamZd6v-ffN3rWJPFGCxHcVPybulTkp1bnEMHcqyFPyvfZLNFWzfallGEjOvkJ1W6T2RMy4efhO_GCUv4_Va0bMcUM1Fdkia3wU4KV4/s1600/IMG_2812+gps+tests.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmMaCeG05kTRZjn0ysQsGjO425vEBqWaSf_zq5mamZd6v-ffN3rWJPFGCxHcVPybulTkp1bnEMHcqyFPyvfZLNFWzfallGEjOvkJ1W6T2RMy4efhO_GCUv4_Va0bMcUM1Fdkia3wU4KV4/s200/IMG_2812+gps+tests.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgi29i5iaNI2t8Odx7l0nh9IWDXFefsG2HHzc12HcQyHGh_C38zYkjpX1Vdz6DVqjCQ8xRa_kJUdxr0V3COAoJEg5GwmGYcGY3BFXkO6Q0h_kYRD5UxAfNBUD7OcLJ1KL32UWY_9corgSY/s1600/IMG_2830+gps+tests.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgi29i5iaNI2t8Odx7l0nh9IWDXFefsG2HHzc12HcQyHGh_C38zYkjpX1Vdz6DVqjCQ8xRa_kJUdxr0V3COAoJEg5GwmGYcGY3BFXkO6Q0h_kYRD5UxAfNBUD7OcLJ1KL32UWY_9corgSY/s200/IMG_2830+gps+tests.JPG" width="150" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbRHp8y3t14-nGuNoAXYNquCbkn_xsPSmJUnj8C0or1gNO2reDB3ln8ce2na14NsvWyxziTxay0-x9b2luFeL-oZHEUrM4uQf7LslvRzi1HGecc6GqI6NKpxiS3bDxDj0APdOO0kAr0nQ/s1600/IMG_2831+gps+tests.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbRHp8y3t14-nGuNoAXYNquCbkn_xsPSmJUnj8C0or1gNO2reDB3ln8ce2na14NsvWyxziTxay0-x9b2luFeL-oZHEUrM4uQf7LslvRzi1HGecc6GqI6NKpxiS3bDxDj0APdOO0kAr0nQ/s200/IMG_2831+gps+tests.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQEC1FwgzfnV24-Oa0_lOu3w5EV7xx7kaSgWT-3zLSztdhYEbdqzBJrMBjGfsPSIMTkbaA8G-GzlBfYrTGFMhwMSxrHrp-0UiTEURDEssxdSpWpISsuqX0tda-2fTiQY7gvEBvrVbUUNk/s1600/IMG_2832+gps+tests.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQEC1FwgzfnV24-Oa0_lOu3w5EV7xx7kaSgWT-3zLSztdhYEbdqzBJrMBjGfsPSIMTkbaA8G-GzlBfYrTGFMhwMSxrHrp-0UiTEURDEssxdSpWpISsuqX0tda-2fTiQY7gvEBvrVbUUNk/s200/IMG_2832+gps+tests.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmgFlYA21SFxObpb7ram1ht1YjQ07CJ2BeM50GpXTK4GjHmG7kxM1ymKHi1rxlH-oaQPrqvbp0xvvfJnZicBJYK6Tcp1Qa-QsfrvYHPFO-bvzkhIvy4wMZV_Z_kKt9WB_xM7_IkCd9cV4/s1600/IMG_2835+gps+tests.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmgFlYA21SFxObpb7ram1ht1YjQ07CJ2BeM50GpXTK4GjHmG7kxM1ymKHi1rxlH-oaQPrqvbp0xvvfJnZicBJYK6Tcp1Qa-QsfrvYHPFO-bvzkhIvy4wMZV_Z_kKt9WB_xM7_IkCd9cV4/s200/IMG_2835+gps+tests.JPG" width="150" /></a></div>
The tests that collected data with TT7B on the GPS module's accuracy that follow were done in my garden where the tracker had a reasonable view of the sky, though as the photographs document not all the way to the horizon. The nearby trees could have possibly contributed to signal reflections as well.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5fap1PNQncANSTaE2h2imFAARgDso4Tywgsfv4BCBH05t4C2PWpkBdhBQI5TKvzYM29rlCEczgwzmsEBgThC1V6XVsD_SDTL67M176wSAS53quQNyki_ru-HuF1-6xJDbxsk84i-YSPo/s1600/Figure_1_2018-11-28_6+default+always.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="660" data-original-width="702" height="187" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5fap1PNQncANSTaE2h2imFAARgDso4Tywgsfv4BCBH05t4C2PWpkBdhBQI5TKvzYM29rlCEczgwzmsEBgThC1V6XVsD_SDTL67M176wSAS53quQNyki_ru-HuF1-6xJDbxsk84i-YSPo/s200/Figure_1_2018-11-28_6+default+always.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwrZpipE6YISRgRKPoM_w2E34YFLpPEZQfoEdIQVUb43s0CpUdvow1veH-FAuBdbTUvtGfjIi-uu6VgeOdpNm6s2KEl0uCySdYJlme6r-hICTcf1yPbDQudCvNtKhfr4CPwJLJbK2SXFI/s1600/Figure_2_2018-12-09_11+gps+always.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="660" data-original-width="702" height="187" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwrZpipE6YISRgRKPoM_w2E34YFLpPEZQfoEdIQVUb43s0CpUdvow1veH-FAuBdbTUvtGfjIi-uu6VgeOdpNm6s2KEl0uCySdYJlme6r-hICTcf1yPbDQudCvNtKhfr4CPwJLJbK2SXFI/s200/Figure_2_2018-12-09_11+gps+always.png" width="200" /></a></div>
The first plot shows the u-blox module in the default Super-E Performance mode receiving signals from the GPS and GLONASS constellations. The tracker repeatedly polled the UBX-NAV-PVT message until it returned a solution with a valid fix (gnssFixOk flag) and 4 or more satellites. It then proceeded to transmit an APRS packet, wait 2 seconds, and repeat the cycle again. The GPS module was continually supplied in the first four tests. In each test, I had the tracker collect data like this for an hour. In an attempt to minimize the number of variables, the tests were done one a day, always starting at the time the GPS satellites were in the same position in the sky. The orbits of the GPS constellation are such that the positions of the satellites above one place repeat once per sidereal day, every 23 hours and 56 minutes. Other variables such as ionosperic and tropospheric delays, satellite ephemeris and clock errors, though, remained. The second plot shows the module in a higher consumption Continuous mode receiving only GPS satellites. The white dot designates the average position.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0TsoP72wBqQr-D22yF9_isW8zN5_mac3eJ1v6m6P8OVXhrQEAjKikCMGX5SjfNMmD-c3XY4TsKkei_iPqPWRDjpIYqW7kbOnhv3h31qXGm9jdBcFIIiizS7ghcf1f7bGX0sWq0TSyrPk/s1600/Figure_3_2018-11-29_13+gps+glonass+galileo+always.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="660" data-original-width="702" height="187" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0TsoP72wBqQr-D22yF9_isW8zN5_mac3eJ1v6m6P8OVXhrQEAjKikCMGX5SjfNMmD-c3XY4TsKkei_iPqPWRDjpIYqW7kbOnhv3h31qXGm9jdBcFIIiizS7ghcf1f7bGX0sWq0TSyrPk/s200/Figure_3_2018-11-29_13+gps+glonass+galileo+always.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhD4fhYDk2ZnPsKFYLuJ-Z-Pod17HduuzSO7o5hZ-f5vEM0Obzx0wo1LQ17ldKBwFk8R8gI4pIHCAG7pAnBzaH63Q-QdiZqWOOcI502uEC5D2DcgzLCZpLnSe1J25eFCygqFT2ZyDiPKuc/s1600/Figure_4_2018-11-17_12+gps+sbas+always.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="660" data-original-width="702" height="187" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhD4fhYDk2ZnPsKFYLuJ-Z-Pod17HduuzSO7o5hZ-f5vEM0Obzx0wo1LQ17ldKBwFk8R8gI4pIHCAG7pAnBzaH63Q-QdiZqWOOcI502uEC5D2DcgzLCZpLnSe1J25eFCygqFT2ZyDiPKuc/s200/Figure_4_2018-11-17_12+gps+sbas+always.png" width="200" /></a></div>
In the third plot, the module was set to the Continuous mode (UBX-CFG-RXM message) again, and configured to receive GPS, GLONASS, and Galileo satellites (UBX-CFG-GNSS message). The resulting plot, however, is most likely composed of measurements on the GPS satellite signals only as further discussed later. The fourth plot then shows the module in the Continuous mode receiving GPS and SBAS satellites. The red dots denote GPS only solutions, while the blue dots solutions with applied corrections after the module locked on to an SBAS satellite (diffSoln flag in UBX-NAV-PVT).<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlm47NoonB-enQf7oPxegWYM4lFueYY5Aq78V_7o5_UXIw6S6Q5wvSs43E2prg7scr6FUwx0UPXyLgA4n4bsiKf3i0e8ZjoPqG3E2q3Zhhu2AuDHw6U2TF5G6iXvoXiKDQU-OxTFvOsFM/s1600/Figure_5_2018-12-05_17+gps+4sat+standby.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="660" data-original-width="702" height="187" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlm47NoonB-enQf7oPxegWYM4lFueYY5Aq78V_7o5_UXIw6S6Q5wvSs43E2prg7scr6FUwx0UPXyLgA4n4bsiKf3i0e8ZjoPqG3E2q3Zhhu2AuDHw6U2TF5G6iXvoXiKDQU-OxTFvOsFM/s200/Figure_5_2018-12-05_17+gps+4sat+standby.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg60U1TKY3w8QQL_2305NaaJLn4l1Ys-7D2yGjYbnnjWwgu3MAzOf2kqKyiCpoL4MG0WYrRRV9MAaxUU9r9bBD-Ij6Jt_9kwP7xfu2BPMhbu3evDKPrLorJ_Mvf_E_imyYtD7phHUAgAqs/s1600/Figure_6_2018-12-06_18+gps+6sat+standby.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="660" data-original-width="702" height="187" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg60U1TKY3w8QQL_2305NaaJLn4l1Ys-7D2yGjYbnnjWwgu3MAzOf2kqKyiCpoL4MG0WYrRRV9MAaxUU9r9bBD-Ij6Jt_9kwP7xfu2BPMhbu3evDKPrLorJ_Mvf_E_imyYtD7phHUAgAqs/s200/Figure_6_2018-12-06_18+gps+6sat+standby.png" width="200" /></a></div>
In the following plots, the u-blox module is no longer supplied continually, but the power switch to the module is turned off, and the MCU is commanded to low power standby mode during the 2 second wait period. As a result, the module is forced to undergo a hot start and re-lock on to the satellites in view. The module retains information about the current time and satellite positions during the power-off period, because its battery-backed memory and RTC clock are continually supplied through V<sub>BCKP</sub>. According to the datasheet, the minimum signal levels for hot starting the module are 17.0dBHz in case of the GPS satellites. Although, the datasheet values for sensitivity are said to be 'demonstrated with a good external LNA'. Aside from the conditions just described, the module in the fifth plot was in the Continuous mode receiving GPS satellites and required a solution with at least four satellites and a valid lock. In case of the sixth plot, the settings only differed in requiring at least 6 satellites in a solution.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_Nc88q1ZuoATXFWMiLLrjixc32520E7nVbt7oK99eDzJR_PAc1G3DcWLpXw_-hlGNLX0NJb1faVAN74e3NXMAG58V7wHFKbQC8WXFAGEAEGVnNBcwi6vWJk4J3i8z0j2qB7Gd0wWt6S0/s1600/Figure_7_2018-12-02_19+gps+6sat+4hz+standby.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="660" data-original-width="702" height="187" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_Nc88q1ZuoATXFWMiLLrjixc32520E7nVbt7oK99eDzJR_PAc1G3DcWLpXw_-hlGNLX0NJb1faVAN74e3NXMAG58V7wHFKbQC8WXFAGEAEGVnNBcwi6vWJk4J3i8z0j2qB7Gd0wWt6S0/s200/Figure_7_2018-12-02_19+gps+6sat+4hz+standby.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzEN0XiiyTW9__b-Ho5Q5U58cBfMBnE-I7PipA1SVtOe-thEHESD4Me7HSzV9uHjCEIefwPjAC4rgZ_un8-CtfYxQkkgsV5msM1i5pjLTjiL4u1xodo5_ZrEad9irfxUW-d29Oc91OGm4/s1600/Figure_8_2018-12-08_20+gps+7sat+4hz+standby.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="660" data-original-width="702" height="187" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzEN0XiiyTW9__b-Ho5Q5U58cBfMBnE-I7PipA1SVtOe-thEHESD4Me7HSzV9uHjCEIefwPjAC4rgZ_un8-CtfYxQkkgsV5msM1i5pjLTjiL4u1xodo5_ZrEad9irfxUW-d29Oc91OGm4/s200/Figure_8_2018-12-08_20+gps+7sat+4hz+standby.png" width="200" /></a></div>
With the seventh plot, the module was set up the same way as previously, except now it calculated and output a new solution every 250ms (default rate is 1Hz, 2Hz during acquisition, configurable via UBX-CFG-RATE). Setting a higher navigation rate is said to improve accuracy in Super-E mode. I couldn't, however, find any information about a potential impact on accuracy nor the time to first fix during hot starts for when the module is in Continuous mode. At a minimum, though, the 4Hz rate should shorten the time by 0 to 750ms depending on when inside a second the receiver obtains the first valid solution. The eighth plot shows the module in Continuous mode receiving GPS satellites and outputting solutions at a 4Hz rate, this time requiring 7 satellites for a valid solution.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm">Settings</th>
<th class="tg-amwm">3D<sub>med</sub></th>
<th class="tg-amwm">3D<sub>avg</sub></th>
<th class="tg-amwm">3D<sub>max</sub></th>
<th class="tg-amwm">H<sub>med</sub></th>
<th class="tg-amwm">H<sub>avg</sub></th>
<th class="tg-amwm">H<sub>max</sub></th>
<th class="tg-amwm">V<sub>med</sub></th>
<th class="tg-amwm">V<sub>avg</sub></th>
<th class="tg-amwm">V<sub>max</sub></th>
</tr>
<tr>
<td class="tg-yw47">Super-E, GPS, GLONASS</td>
<td class="tg-lyy6">11.9m</td>
<td class="tg-lyy6">14.4m</td>
<td class="tg-lyy6">53.9m</td>
<td class="tg-lyy6">7.8m</td>
<td class="tg-lyy6">9.0m</td>
<td class="tg-lyy6">37.7m</td>
<td class="tg-lyy6">7.3m</td>
<td class="tg-lyy6">10.0m</td>
<td class="tg-lyy6">47.3m</td>
</tr>
<tr>
<td class="tg-yw47">Continuous, GPS</td>
<td class="tg-lyy6">6.6m</td>
<td class="tg-lyy6">7.4m</td>
<td class="tg-lyy6">27.7m</td>
<td class="tg-lyy6">3.1m</td>
<td class="tg-lyy6">3.7m</td>
<td class="tg-lyy6">16.9m</td>
<td class="tg-lyy6">5.4m</td>
<td class="tg-lyy6">5.9m</td>
<td class="tg-lyy6">24.4m</td>
</tr>
<tr>
<td class="tg-yw47">Continuous, GPS, GLONASS, Galileo</td>
<td class="tg-lyy6">7.8m</td>
<td class="tg-lyy6">9.3m</td>
<td class="tg-lyy6">38.0m</td>
<td class="tg-lyy6">4.8m</td>
<td class="tg-lyy6">5.3m</td>
<td class="tg-lyy6">25.3m</td>
<td class="tg-lyy6">5.6m</td>
<td class="tg-lyy6">7.0m</td>
<td class="tg-lyy6">33.6m</td>
</tr>
<tr>
<td class="tg-yw47">Continuous, GPS, SBAS</td>
<td class="tg-lyy6">4.6m</td>
<td class="tg-lyy6">5.1m</td>
<td class="tg-lyy6">29.5m</td>
<td class="tg-lyy6">2.6m</td>
<td class="tg-lyy6">2.8m</td>
<td class="tg-lyy6">11.9m</td>
<td class="tg-lyy6">3.2m</td>
<td class="tg-lyy6">3.8m</td>
<td class="tg-lyy6">27.2m</td>
</tr>
<tr>
<td class="tg-yw47">Continuous, GPS, 4 sats, standby</td>
<td class="tg-lyy6">27.5m</td>
<td class="tg-lyy6">33.2m</td>
<td class="tg-lyy6">294.3m</td>
<td class="tg-lyy6">17.6m</td>
<td class="tg-lyy6">22.6m</td>
<td class="tg-lyy6">226.5m</td>
<td class="tg-lyy6">14.2m</td>
<td class="tg-lyy6">20.5m</td>
<td class="tg-lyy6">187.8m</td>
</tr>
<tr>
<td class="tg-yw47">Continuous, GPS, 6 sats, standby</td>
<td class="tg-lyy6">23.3m</td>
<td class="tg-lyy6">28.0m</td>
<td class="tg-lyy6">113.8m</td>
<td class="tg-lyy6">12.2m</td>
<td class="tg-lyy6">14.4m</td>
<td class="tg-lyy6">72.6m</td>
<td class="tg-lyy6">16.3m</td>
<td class="tg-lyy6">22.0m</td>
<td class="tg-lyy6">109.3m</td>
</tr>
<tr>
<td class="tg-yw47">Continuous, GPS, 6 sats, 4Hz, standby</td>
<td class="tg-lyy6">17.6m</td>
<td class="tg-lyy6">20.1m</td>
<td class="tg-lyy6">91.0m</td>
<td class="tg-lyy6">9.4m</td>
<td class="tg-lyy6">10.5m</td>
<td class="tg-lyy6">43.2m</td>
<td class="tg-lyy6">12.3m</td>
<td class="tg-lyy6">15.5m</td>
<td class="tg-lyy6">83.3m</td>
</tr>
<tr>
<td class="tg-yw47">Continuous, GPS, 7 sats, 4Hz, standby</td>
<td class="tg-lyy6">18.6m</td>
<td class="tg-lyy6">21.4m</td>
<td class="tg-lyy6">67.2m</td>
<td class="tg-lyy6">9.9m</td>
<td class="tg-lyy6">11.2m</td>
<td class="tg-lyy6">45.0m</td>
<td class="tg-lyy6">13.1m</td>
<td class="tg-lyy6">16.6m</td>
<td class="tg-lyy6">62.1m</td>
</tr>
</tbody></table>
<br />
This table summarizes the previous data in actual numbers. The median, average and maximum deviations in three-dimensions, horizontally and vertically are referenced to the average position of the dataset (marked by the white dot). Immediately, it is apparent that when the u-blox module is supplied continually and thus allowed to track and acquire satellites without interruptions, the accuracy is much better. The Super-E mode, which is a module controlled power saving operation, results in higher deviations than when the module runs full power in Continuous mode. Concerning GLONASS, Galileo and BeiDou, there is a further discussion on these constellations a little later. Having the module receive SBAS satellites improves the accuracy slightly, it is, however, unusable for discontinuous supply operation where the time to first valid fix is critical as the SBAS satellites require longer times to get incorporated in the positional solutions. When the module is regularly brought in and out of hardware backup mode by cutting and restoring the main supply, it every time undergoes a hot start during which it has to re-lock onto satellites. Provided the backup period is short enough (less than 4 hours), and the module is able to track time with an external RTC, it can use the time and previously acquired orbital data now stored in its battery backed RAM to quickly search much smaller frequency/timeshift space and re-synchronize with the known satellite signals. The table shows that waiting for a solution based on more satellite signals increases accuracy, though, it for some reason doesn't come close to accuracy of a continually supplied receiver.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8hMB8vezQkQmKcKwUIQFtM4b5593WShxQSTgNuvpxFZdx9XwNb9U_YUmlgTR7Q2XH8mDjthpcLwFjRgOqWe59A_JVilZaRTAbRiOdsh4nc3tjmhyphenhyphendhlBcaJV30RaSu-g3KGcDFAHMYic/s1600/gnss+active+times+04.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="588" data-original-width="778" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8hMB8vezQkQmKcKwUIQFtM4b5593WShxQSTgNuvpxFZdx9XwNb9U_YUmlgTR7Q2XH8mDjthpcLwFjRgOqWe59A_JVilZaRTAbRiOdsh4nc3tjmhyphenhyphendhlBcaJV30RaSu-g3KGcDFAHMYic/s200/gnss+active+times+04.PNG" width="200" /></a></div>
During the tests, I had the MCU measure the time between powering the u-blox module up and the module returning a valid solution according to my requirements. This duration was then transmitted in each APRS packet. The collected values for individual datasets are plotted in the chart above. From the data, it seems that increasing the navigation rate to 4Hz had the largest impact on shortening the active time. The number of satellites, on the other hand, didn't seem to impact active time that much, so its advantage lies mainly in increasing accuracy. Occasional prolonged active times are expected in this manual power saving approach as the module will eventually need to update the ephemerides of individual satellites, or search for a new one when a tracked satellite disappears below horizon, by decoding currently transmitted navigation messages which takes additional time (18-36s for a GPS satellite's ephemeris). The minimum recorded active time of 1.6s, on the other hand, shows that when the receiver has all ephemerides fresh and tracks strong signals from a sufficient number of satellites, it can produce a valid solution in a very short time. Given the tests were done on the ground in an unideal environment, I would expect the average active time to further decrease when the tracker is at altitude hanging underneath a balloon.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDTKS4nJpQQsREFTOK0ZpEN5dfsul6SYigbCHYNx2DYul4sn-V7t0uteW436MToIAq0s5PwCjNS4zyT85l_K3Z0_O2lmVNM2ljHQt0RGtW1A3mNtybLiB9AS4z8rCsJl3Fq0v26ENdRns/s1600/gnss+powerup+accuracy+02_02.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="526" data-original-width="1387" height="75" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDTKS4nJpQQsREFTOK0ZpEN5dfsul6SYigbCHYNx2DYul4sn-V7t0uteW436MToIAq0s5PwCjNS4zyT85l_K3Z0_O2lmVNM2ljHQt0RGtW1A3mNtybLiB9AS4z8rCsJl3Fq0v26ENdRns/s200/gnss+powerup+accuracy+02_02.PNG" width="200" /></a></div>
In an attempt to look closer at the difference in accuracy of the continually powered versus controlled power supply datasets, I did another test where I had the u-blox module receiving only GPS signals and doing measurements at a 10Hz rate. The MCU would repeatedly poll UBX-NAV-PVT until it returned a solution based on 7 satellites (numSV) with a valid fix (gnssFixOk). It would then transmit an APRS packet, wait for 2 seconds, and repeat the cycle again. Overall, one complete
cycle typically took 3 seconds. The MCU would count the cycles and after each 30th cycle, it would cut the main power supply to the u-blox module, after 2 seconds it would restore it, and it would continue in the poll-transmit-wait cycle once again. The chart above then shows the median, average and maximum deviations with respect to the average position of the whole dataset for specific durations since the u-blox module was brought back from the hardware backup state (no main supply, 1.8V at V<sub>BCKP</sub>). The data show that indeed the first valid solutions after a hot start deviate more from the actual position and that the deviations decrease longer the module is continually powered. Waiting for a specific number of satellites in a navigation solution alone is then not in itself sufficient to achieve the same average accuracy as with a
continually powered module.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm">GNSS</th>
<th class="tg-amwm">Earth [dBW]</th>
<th class="tg-amwm">C/N0 [dBHz]</th>
<th class="tg-amwm">Cold [dBHz]</th>
<th class="tg-amwm">Hot [dBHz]</th>
<th class="tg-amwm">Track [dBHz]</th>
</tr>
<tr>
<td class="tg-yw47">GPS</td>
<td class="tg-lyy6">-158.5</td>
<td class="tg-lyy6">45.5</td>
<td class="tg-lyy6">26.0</td>
<td class="tg-lyy6">17.0</td>
<td class="tg-lyy6">8.0</td>
</tr>
<tr>
<td class="tg-yw47">GLONASS</td>
<td class="tg-lyy6">-161.0</td>
<td class="tg-lyy6">43.0</td>
<td class="tg-lyy6">30.0</td>
<td class="tg-lyy6">20.0</td>
<td class="tg-lyy6">8.0</td>
</tr>
<tr>
<td class="tg-yw47">BeiDou</td>
<td class="tg-lyy6">-163.0</td>
<td class="tg-lyy6">41.0</td>
<td class="tg-lyy6">31.0</td>
<td class="tg-lyy6">19.0</td>
<td class="tg-lyy6">14.0</td>
</tr>
<tr>
<td class="tg-yw47">Galileo</td>
<td class="tg-lyy6">-157.0</td>
<td class="tg-lyy6">47.0</td>
<td class="tg-lyy6">36.0</td>
<td class="tg-lyy6">23.0</td>
<td class="tg-lyy6">15.0</td>
</tr>
</tbody></table>
<br />
By changing the settings in the UBX-CFG-GNSS message, I also tested GLONASS only, Galileo only, and BeiDou only reception. However, neither setting managed to get a valid fix in under 20 minutes. After a more detailed examination, I found that the UBX-NAV-SAT message never reported any GLONASS, Galileo, nor BeiDou satellites with 'acquired signal', only a few flagged as 'searching signal'. A web-based GNSS constellation viewer was showing plenty of satellites in the sky during that time. The table above summarizes minimum signal power levels in dBW expected at the surface of Earth for individual systems and corresponding Carrier to Noise ratios (C/N0) in dBHz at noise power density of -204dBW/Hz. The latter three columns then contain minimum signal levels needed during a receiver cold start, hot start, and tracking phases derived from the receiver's sensitivity values for continuous mode stated in the datasheet. Although, signal levels too close to the minimum values will lead to longer acquisition times as the probability of an error in decoding the navigation message increases. Values in the range of 32 to 36dBHz are typically mentioned for a reliable GPS navigation data acquisition. It is apparent from the table that the ZOE-M8B receiver is most suited for the GPS signals, while the other systems require better signal conditions. It is thus possible that the design of the PCB with a simple ceramic chip antenna on TT7B is not sufficient for the other constellations. At least not in the environment where I tested it.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidYvTjRQ9xRvjsKFGKYecfAA2LHYVlwtZ5pUyakAQe9RyHuTNQOyhk5J49G71EckjnV39zexXPa4yfa3rfSRYmpT73KlfB7f0zeLV3bfrm1MKNg5at1F5TUZd47lBDMyGWp-dvalHRBDc/s1600/IMG_2857+gps+antenna.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidYvTjRQ9xRvjsKFGKYecfAA2LHYVlwtZ5pUyakAQe9RyHuTNQOyhk5J49G71EckjnV39zexXPa4yfa3rfSRYmpT73KlfB7f0zeLV3bfrm1MKNg5at1F5TUZd47lBDMyGWp-dvalHRBDc/s200/IMG_2857+gps+antenna.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDNRvjovDBGlb1kKWGySJlMZ9jQkzGNJ0ITcu-BcEV-1Un7JtzOOFtchgcYnyBotqJ0n-UrspYOruelOr6KkWTBcAy1DhUOw6v2b1TpOpvT-iLuJhsE3EJ7RVZGc-gM_RdWYc1YiBHuy0/s1600/IMG_2858+gps+antenna.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDNRvjovDBGlb1kKWGySJlMZ9jQkzGNJ0ITcu-BcEV-1Un7JtzOOFtchgcYnyBotqJ0n-UrspYOruelOr6KkWTBcAy1DhUOw6v2b1TpOpvT-iLuJhsE3EJ7RVZGc-gM_RdWYc1YiBHuy0/s200/IMG_2858+gps+antenna.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjR60T8NrwnhvBYFOOsG_RYcafbmymIZRvl071TopBG8jE4TCZ1tQyIE8ezEnlYsOG5VNrSlPV9Pi1Ucaci106LF4UwLqMNncNGt2mQEv2Xjsn1w4w_V5iBG7Rd0j9DitH5WkUxc-Vh1hE/s1600/gps+antenna+gain+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="316" data-original-width="662" height="95" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjR60T8NrwnhvBYFOOsG_RYcafbmymIZRvl071TopBG8jE4TCZ1tQyIE8ezEnlYsOG5VNrSlPV9Pi1Ucaci106LF4UwLqMNncNGt2mQEv2Xjsn1w4w_V5iBG7Rd0j9DitH5WkUxc-Vh1hE/s200/gps+antenna+gain+01.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlQ9bgWn87IJL3GGoocrIWkWvsAxYfDLzCRLy1Fmh_bAAQ-xnAhYRMmhN2XtEFPo3RjeZDWHVWG8s3dZVb6jNIvWCq82igv0ym8oK-oRTpabO0KvBzVHc6MQKmvCqlRJOAFYDezDVyaeM/s1600/gps+antenna+gain+02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="312" data-original-width="664" height="93" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlQ9bgWn87IJL3GGoocrIWkWvsAxYfDLzCRLy1Fmh_bAAQ-xnAhYRMmhN2XtEFPo3RjeZDWHVWG8s3dZVb6jNIvWCq82igv0ym8oK-oRTpabO0KvBzVHc6MQKmvCqlRJOAFYDezDVyaeM/s200/gps+antenna+gain+02.png" width="200" /></a></div>
The W3011A antenna is stated to be intended for the GPS L1 band centered on 1575.42MHz. Although, the ground clearance area was designed according to specification in the datasheet, the typical performance was characterized on a 80x37mm test board which is a bit larger than the dimensions of TT7B. Due to all the traces and its shape, the tracker board won't most likely work as too good a ground plane for the chip antenna either. Nevertheless, in principle the antenna's radiation pattern when oriented as in the images above should resemble a vertical dipole's pattern with the gain more or less evenly distributed towards the horizon - the XY plane in the diagram above taken from the datasheet. A further hindrance to the GLONASS and BeiDou signals could be the fact that their frequency ranges are at the edges of the antenna's specification. Although, that wouldn't explain the lack of signals from the Galileo system as it is centered on the same frequency as GPS.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8TvdXNDUyOTQ1xwZg0jE8R4VSzwbUNFGw9cs2ZN3xQbdJVwio2iky12PkJzlfcaeEo1GybOXI1GSsmYsQwYBtLM63ceUNLq0eXzhrUbd3lAt0jXwGhS2njrqGypA8jSxAV8smQK-FEdA/s1600/gnss+signal+strengths+02.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="678" data-original-width="828" height="163" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8TvdXNDUyOTQ1xwZg0jE8R4VSzwbUNFGw9cs2ZN3xQbdJVwio2iky12PkJzlfcaeEo1GybOXI1GSsmYsQwYBtLM63ceUNLq0eXzhrUbd3lAt0jXwGhS2njrqGypA8jSxAV8smQK-FEdA/s200/gnss+signal+strengths+02.PNG" width="200" /></a></div>
The chart above is an example of satellite signal strengths in dBHz as reported by the UBX-NAV-SAT message (C/N0 carrier to noise ratio) right after the module produced a valid solution. Each curve shows the number of satellites at the time within a specific signal strength range. The black curve then corresponds to the number of satellites used in producing the navigation solution as reported in UBX-NAV-PVT message (numSV). The three datasets were obtained during the previous hour long tests. Specifically, the top data come from when the module was being manually powered on and off, receiving only the GPS constellation, and requiring 4 satellites for a valid solution. The middle dataset was the same setup but requiring 7 satellites and running at a 4Hz rate. During the bottom dataset, the module operated continually without any power down periods, while it was receiving only the GPS constellation. No signal strength above 40dBHz was ever recorded with this antenna setup in this environment in any of the power modes.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqC4I3mnqFYgi21pqKKzPJ6lrLx_mHxLeWjz6rlxdUgRKzENYCAFmr8w3tBB0tgB5IouR69QSq5qMxR9F-H2qiTe42QZJflRri8B34D6fe8TsnJFpdiz-AtkPGuCtwPXWNcCWQKG6x_hY/s1600/gnss+consumption+tracking+02+2.PNG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqC4I3mnqFYgi21pqKKzPJ6lrLx_mHxLeWjz6rlxdUgRKzENYCAFmr8w3tBB0tgB5IouR69QSq5qMxR9F-H2qiTe42QZJflRri8B34D6fe8TsnJFpdiz-AtkPGuCtwPXWNcCWQKG6x_hY/s200/gnss+consumption+tracking+02+2.PNG" width="200" height="98" data-original-width="1267" data-original-height="621" /></a></div>
These charts show current consumption measurements of the TT7B tracker for when the u-blox module transitioned to tracking state after initial satellite acquisition. In case of the top left chart depicting the default Super-E Performance mode, the module transitioned to power-optimized tracking state. The measurements almost entirely represent consumption of the u-blox module. The only simultaneously powered IC on the board was the MCU with its consumption of about 230<span class="st">μ</span>A at 1.826V. The step between two data points was 12ms. The average consumption of the Super-E mode was 13.4mA. The remaining three charts show the module in the Continuous mode receiving only GPS satellites, and differ in the measurement rate. The average consumption for the 1Hz, 4Hz, and 10Hz case was 30.9mA, 33.7mA, and 34.4mA, respectively. Based on the data, there seemed to be regular temporary increase in consumption every 10 seconds.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8A0WDZApB_B7CpzKgxAHmCr3DBZYrS4RndYBX3pm-lMNYHlxBTGS6GH9ORfAjBbzxQM3tP9IqPPuXjmc-lCrh6G6A3X0NC94i_33e_m9ssYKuGAUkadg3D4WmgBcyYK-aQGaH1w-HsWg/s1600/gnss+consumption+on_off+02_02+2.PNG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8A0WDZApB_B7CpzKgxAHmCr3DBZYrS4RndYBX3pm-lMNYHlxBTGS6GH9ORfAjBbzxQM3tP9IqPPuXjmc-lCrh6G6A3X0NC94i_33e_m9ssYKuGAUkadg3D4WmgBcyYK-aQGaH1w-HsWg/s200/gnss+consumption+on_off+02_02+2.PNG" width="200" height="118" data-original-width="1079" data-original-height="635" /></a></div>
This is what the current consumption profile looks like when the main power supply to the u-blox module is controlled externally. In both examples, the module had previously acquired ephemerides from a sufficient number of satellites, had produced a valid navigation solution, and had been set to hardware backup mode by removing its main power supply. The charts then show the moments the main power supply was restored and the MCU started to poll UBX-NAV-PVT message. Once a valid solution with a required number of satellites was obtained, the main power supply was removed again. During the first half a second the module does some initialization during which the datasheet suggests to wait before attempting UART communication. Following that, the module re-locks onto the known satellites. I am guessing that that is what was happening during the quick succession of peaks in consumption. In the first example, the module then started producing quick spikes in consumption in 1 second intervals corresponding to the 1Hz measurement rate. In the second example, the module first produced 2 current spikes per second suggesting it had to transition to the acquisition state before it could switch to the 1Hz tracking state as well. In the first case, it took the module 5 seconds of active time to produce a valid solution at a 32.5mA average consumption, while in the second it was 8 seconds at 35.3mA.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzGE_BH5p3KS4iBMAQ1ZGqEs_iTgtawIMBYY-Vcy-aYsICgQvRtPMMY9R745A53-PU3hvW3VYmNmgUr6_5GYXRNzK390-jp37CzjqmLd0CzjTRNKoPXf4NR9qaAeyGd0nNczIkkdXcWhQ/s1600/gnss+consumption+acquisition+02.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzGE_BH5p3KS4iBMAQ1ZGqEs_iTgtawIMBYY-Vcy-aYsICgQvRtPMMY9R745A53-PU3hvW3VYmNmgUr6_5GYXRNzK390-jp37CzjqmLd0CzjTRNKoPXf4NR9qaAeyGd0nNczIkkdXcWhQ/s200/gnss+consumption+acquisition+02.png" width="200" height="98" data-original-width="1135" data-original-height="556" /></a></div>
When the module is configured to receive signals from GLONASS, or BeiDou constellations alongside GPS or Galileo, the consumption increases, because the module has to power up a second RF front-end as the satellites transmit in different frequency bands. The chart above shows the module's current consumption during the first 18 seconds after power-up. In one case (blue line), the module was set to receive only GPS satellites. In the other case (red line), it was set to receive the GPS, GLONASS and Galileo constellations concurrently. The average consumption during this acquisition phase was 38.8mA versus 47.9mA.<br />
<br />
In short, the previous findings can be summarized as less power consumed, less accurate measurements. Given the tracker will be battery powered and accuracy approaching the datasheet values comes only with prolonged active times, saving power will be prioritized at the cost of larger average deviations in the reported positions. Thus, I don't expect to be able to follow subtle variations in altitude very closely that could in principle be linked to variations in temperature and pressure measured be the other sensors. The actual control of the module will constitute having it receive only GPS satellites (and QZSS satellites as recommended in the datasheet), setting the measurement rate to 10Hz to shorten the active time, externally controlling the main power supply thus forcing the module to hardware backup mode, and switching the module to the Continuous mode to leave it in acquisition or tracking states during wake-up periods.<br />
<br />
In terms of the code, the functions to enable or disable the main power supply to the u-blox module can be found in the PORT library operating the I/O Pin Controller. The communication between the MCU and the module is serviced by functions in another SERCOM library this time dedicated to the Universal Synchronous and Asynchronous Receiver and Transmitter (USART). The default baud rate the module expects is 9600 which can be increased to 115200 baud, for example. This shortens the transmission time of a 100 byte UBX-NAV-PVT message from 104ms to less than 9ms. All functions written to modify various settings, poll desired messages, and parse the received responses can be found in the ZOE_M8B library.<br />
<br />
A centimeter positional accuracy is possible with GPS, however, it belongs to the scope of more advanced and expensive technologies. Differential GNSS (DGNSS, DGPS) techniques achieve higher accuracy by having a stationary reference receiver calculate and transmit corrections for the signals from individual satellites. These are then received and applied to measurements by mobile receivers. This approach is, however, limited by the required proximity to the reference station. Real Time Kinematics (RTK) further increases accuracy by employing carrier phase measurements on top of the base station-rover setup as opposed to just measurements of the slower pseudorandom code's chips. The NEO-M8P module by u-blox is one example that supports this functionality. Another technique that increases accuracy is employed in dual band receivers such as the ZED-F9P. These modules are able to correct for the ionosperic delay by receiving two different frequency signals from one satellite (L1C/A and L2C for example), and from the measured difference in arrival time correct the error caused by the ionosphere. In case of ZOE-M8B and TT7B, it is realistic to expect accuracy in ranges as detailed in the tests above, or potentially slightly improved by the unobstructed view of sky at altitude and the lack of multipath error under a balloon.<br />
<br />
<br />
<b>External Sensors</b><br />
The MCU's temperature sensor, the ambient light sensor (VEML6030), and one pressure/temperature sensor (MS5607) were already populated on the tracker after reflow. The remaining sensors - the onboard thermistor, the external thermistor, and the external pressure/temperature sensor - had to be added separately.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiCZi0VaxW3OAP43C_Z3_6hxqk-NRCZ5g8SKM1dIopF9B4gZWKQUaG997G6ZX_PiosedUgiw5Pjia2dkr0KzXXvjd1Gi1L1rhFf_vZrKhyphenhyphen_Z0Nv69dzr_lS8Ozbh13ww1nnKQxIuVICzQ/s1600/IMG_2765+tracker+thermistor+sma.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiCZi0VaxW3OAP43C_Z3_6hxqk-NRCZ5g8SKM1dIopF9B4gZWKQUaG997G6ZX_PiosedUgiw5Pjia2dkr0KzXXvjd1Gi1L1rhFf_vZrKhyphenhyphen_Z0Nv69dzr_lS8Ozbh13ww1nnKQxIuVICzQ/s200/IMG_2765+tracker+thermistor+sma.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmPA60RRl-namgIoU2puwj5VydcDo28Fek7fT_gf1cUS4xGkUjSVAmOucXS1Eu4tk_tBf3O9LsKLxtYYPNJDi4TrwVf2TLIPH8EWTXQmQ_1vVw-UnkN97KQ8y3kWjVEjfaO6mzSSFokn4/s1600/IMG_2771+tracker+thermistor.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmPA60RRl-namgIoU2puwj5VydcDo28Fek7fT_gf1cUS4xGkUjSVAmOucXS1Eu4tk_tBf3O9LsKLxtYYPNJDi4TrwVf2TLIPH8EWTXQmQ_1vVw-UnkN97KQ8y3kWjVEjfaO6mzSSFokn4/s200/IMG_2771+tracker+thermistor.JPG" width="200" /></a></div>
The onboard thermistor's thin leads fit inside two larger vias right next to the MCU. Thanks to their length, the bead itself can be up to 50 mm away from the board. The purpose of this thermistor is to measure the ambient air temperature. <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0eThKxUACCMZHkLMAYF30qllM-Mw1BqLEn5XVBRVcmLt25cQ3uAI9G8NLe229tk27-bVMompZl8QKRjZ5UezuEEUr30FkDo9LqMsH9TKUIqY059lfk6PgWxuD0pZtxiGRm3HOniH_4Eo/s1600/IMG_2799+ms5607+external.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0eThKxUACCMZHkLMAYF30qllM-Mw1BqLEn5XVBRVcmLt25cQ3uAI9G8NLe229tk27-bVMompZl8QKRjZ5UezuEEUr30FkDo9LqMsH9TKUIqY059lfk6PgWxuD0pZtxiGRm3HOniH_4Eo/s200/IMG_2799+ms5607+external.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjbkVAyESdQARLv2lPDK32FHsKDB_hkvRJqsNZfzV22nocEBLaIcbCEsQuT1VxQE8Ux8CJ4BiKw4dntyxYjPRRV36fQfHC8dreu43GO79LtpDb5AugEds_s9wkgagcVFeEwubxcIc-qi0/s1600/IMG_2806+ms5607+external.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjbkVAyESdQARLv2lPDK32FHsKDB_hkvRJqsNZfzV22nocEBLaIcbCEsQuT1VxQE8Ux8CJ4BiKw4dntyxYjPRRV36fQfHC8dreu43GO79LtpDb5AugEds_s9wkgagcVFeEwubxcIc-qi0/s200/IMG_2806+ms5607+external.JPG" width="200" /></a></div>
The external pressure sensor, intended to be inside a balloon, required some fine tip soldering. First, a 0402 100nF decoupling capacitor had to be soldered between VDD and GND pins. Then six 0.118mm magnet wire strands were soldered to individual pins. <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWt69fYKxZG40_Vox7TyBqZ9Xb4DZhV8nt_kawy_yr4LqP2rtroPwtJSE63KDJ5p6G5m3FjxdmYcj5cEpybJPptopkRaDUUxwY7Su5WirPyM4Nmm_fbd_UDxmC_WShOEAUWpoZosM_264/s1600/IMG_2916+twisted+pair.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWt69fYKxZG40_Vox7TyBqZ9Xb4DZhV8nt_kawy_yr4LqP2rtroPwtJSE63KDJ5p6G5m3FjxdmYcj5cEpybJPptopkRaDUUxwY7Su5WirPyM4Nmm_fbd_UDxmC_WShOEAUWpoZosM_264/s200/IMG_2916+twisted+pair.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglE4EBBnLdEPbE0a2x8HbTiyPMtERIusSA_spch-S9v2cD8dqso78czIw8i2aAfbv1QlnYdR4ZtX-nLB6fXm81UiGfQEWfNufrCeDRA-Wc7s6TYKCv3imeQVuZOV4lEKPXgO8qx-tkAx8/s1600/IMG_2935+twisted+pairs.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglE4EBBnLdEPbE0a2x8HbTiyPMtERIusSA_spch-S9v2cD8dqso78czIw8i2aAfbv1QlnYdR4ZtX-nLB6fXm81UiGfQEWfNufrCeDRA-Wc7s6TYKCv3imeQVuZOV4lEKPXgO8qx-tkAx8/s200/IMG_2935+twisted+pairs.JPG" width="200" /></a></div>
Similarly, two strands were soldered to the external thermistor's shortened leads. All these wires were first twisted in pairs, then the pairs themselves were twisted together to form a single strand that would extend to inside a balloon. The twisted nature of the two thermistor's wires should limit any potential interference to the analog measurement from the neighboring SPI lines. Alternatively, the software may ensure the SPI interface is idle during a measurement on the thermistor.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFuvmHxvuOSMYuLpA5Cc84ck5lkeA8zYYm5ZaQbBLDRrcPr0LAcRp1D3qGKxcg-oheG9e5rM0ygtupac30C2v3VPevXgzMhU243PNaVCaD4U0ScK2IKoWoBdEZ5_AsyKA_lzaAsf9YSy4/s1600/IMG_2923+external+sensors+attached.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFuvmHxvuOSMYuLpA5Cc84ck5lkeA8zYYm5ZaQbBLDRrcPr0LAcRp1D3qGKxcg-oheG9e5rM0ygtupac30C2v3VPevXgzMhU243PNaVCaD4U0ScK2IKoWoBdEZ5_AsyKA_lzaAsf9YSy4/s200/IMG_2923+external+sensors+attached.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTFSJeo2cMmpxIUtiRV8n6uF6rX1CCWbt9YuK3NN6p7uVjnJj5Zu3-yJ3ndBCr1Qxc2ztXryN04fzRHzmF8vpjgWXH2ENO13iwThbOUBGuK3Up7_pJOllV24WPx4tbrqbttNAT8G-bohY/s1600/IMG_2932+tracker+external+sensors.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTFSJeo2cMmpxIUtiRV8n6uF6rX1CCWbt9YuK3NN6p7uVjnJj5Zu3-yJ3ndBCr1Qxc2ztXryN04fzRHzmF8vpjgWXH2ENO13iwThbOUBGuK3Up7_pJOllV24WPx4tbrqbttNAT8G-bohY/s200/IMG_2932+tracker+external+sensors.JPG" width="200" /></a></div>
The individual wires were soldered to their respective pads on the backside of the tracker. The magnet wire is coated in a layer of polymeric insulation which is removed by the heat of a soldering iron when being soldered to the pad.<br />
<br />
Based on the performance of my previous superpressure balloons, the tracker is expected to operate at altitudes between 10,000 to 13,000 meters. This range corresponds to 264 to 165hPa pressure and -50.0 to -56.5°C temperature levels according to the Standard Atmosphere model. A cursory review of <a href="http://weather.uwyo.edu/upperair/sounding.html">historical data</a> from atmospheric soundings suggests that ambient air temperature could in reality easily range from -40 to -72°C (January and August 2018 extremes), while a pressure level ascends and descends within roughly a 1000m range throughout a year. These specific values come only from my closest weather station in Prostejov, CZ. If the whole world, all seasons of the year, and all weather patterns were taken into account, the stated ranges could further expand.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm">Sensor</th>
<th class="tg-amwm">Min</th>
<th class="tg-amwm">Max</th>
<th class="tg-amwm">Resolution</th>
<th class="tg-amwm">Accuracy</th>
<th class="tg-amwm">Unit</th>
<th class="tg-amwm">Note</th>
</tr>
<tr>
<td class="tg-yw47">MCU</td>
<td class="tg-lyy6">-40.0</td>
<td class="tg-lyy6">+85.0</td>
<td class="tg-lyy6">0.12</td>
<td class="tg-lyy6">-8/+9</td>
<td class="tg-yw47">°C</td>
<td class="tg-yw47">T > 0°C</td>
</tr>
<tr>
<td class="tg-yw47"></td>
<td class="tg-lyy6"></td>
<td class="tg-lyy6"></td>
<td class="tg-lyy6"></td>
<td class="tg-lyy6">-12/+14</td>
<td class="tg-yw47">°C</td>
<td class="tg-yw47">T < 0°C</td>
</tr>
<tr>
<td class="tg-yw47">Thermistor</td>
<td class="tg-lyy6">-80.0</td>
<td class="tg-lyy6">+150.0</td>
<td class="tg-lyy6"><0.1</td>
<td class="tg-lyy6">-1/+1</td>
<td class="tg-yw47">°C</td>
<td class="tg-yw47">0 to +70°C (acc.), -70 to +34°C (res.)</td>
</tr>
<tr>
<td class="tg-yw47">MS5607_T</td>
<td class="tg-lyy6">-40.0</td>
<td class="tg-lyy6">+85.0</td>
<td class="tg-lyy6">0.002</td>
<td class="tg-lyy6">-2/+2</td>
<td class="tg-yw47">°C</td>
<td class="tg-yw47">-20 to 85°C</td>
</tr>
<tr>
<td class="tg-yw47"></td>
<td class="tg-lyy6"></td>
<td class="tg-lyy6"></td>
<td class="tg-lyy6"></td>
<td class="tg-lyy6">-4/+4</td>
<td class="tg-yw47">°C</td>
<td class="tg-yw47">-40 to 85°C</td>
</tr>
<tr>
<td class="tg-yw47">MS5607_P</td>
<td class="tg-lyy6">30,000</td>
<td class="tg-lyy6">110,000</td>
<td class="tg-lyy6">2.4</td>
<td class="tg-lyy6">-200/+200</td>
<td class="tg-yw47">Pa</td>
<td class="tg-yw47">0 to +50°C and 300 to 1100hPa</td>
</tr>
<tr>
<td class="tg-yw47"></td>
<td class="tg-lyy6">30,000</td>
<td class="tg-lyy6">110,000</td>
<td class="tg-lyy6">2.4</td>
<td class="tg-lyy6">-350/+350</td>
<td class="tg-yw47">Pa</td>
<td class="tg-yw47">-20 to +85°C and 300 to 1100hPa</td>
</tr>
<tr>
<td class="tg-yw47"></td>
<td class="tg-lyy6">1,000</td>
<td class="tg-lyy6">120,000</td>
<td class="tg-lyy6">2.4</td>
<td class="tg-lyy6"></td>
<td class="tg-yw47">Pa</td>
<td class="tg-yw47">Linear Range of ADC</td>
</tr>
<tr>
<td class="tg-yw47">VEML6030</td>
<td class="tg-lyy6">0.0072</td>
<td class="tg-lyy6">120,000</td>
<td class="tg-lyy6">0.0036</td>
<td class="tg-lyy6"></td>
<td class="tg-yw47">lx</td>
<td class="tg-yw47">0.0036 to 236lx (max. res.)</td>
</tr>
<tr>
<td class="tg-yw47"></td>
<td class="tg-lyy6"></td>
<td class="tg-lyy6"></td>
<td class="tg-lyy6">1.8432</td>
<td class="tg-lyy6"></td>
<td class="tg-yw47">lx</td>
<td class="tg-yw47">1.8432 to 120,000lx (min. res.)</td>
</tr>
</tbody></table>
<br />
This table summarizes available parameters of individual sensors as stated in their datasheets. The MCU's internal temperature sensor is the least accurate, and it is included just out of interest and for comparison to its more accurate companions. There weren't any details about the type of the sensor in SAML21's datasheet. Internal temperature sensors in other microcontrollers that I could find some information about typically utilize a diode or a pair of transistors with different junction areas to produce a temperature dependent voltage (<a href="https://en.wikipedia.org/wiki/Silicon_bandgap_temperature_sensor">Wikipedia description</a>) which is then sampled by the MCU's ADC. On SAML21, the temperature sensor output is wired to ADC's input channel 24. The code side of things slightly differs from normal ADC sampling mainly in setting the MCU and ADC to specific clock speeds, sampling time and reference - all detailed in Table 46-34 in the datasheet. The calculation of actual temperature (also detailed in the datasheet) then requires accessing and utilizing the sensor's factory calibration data stored at a specific address in the microcontroller's NVM Temperature Log Row.<br />
<br />
The PX502J2 thermistor's datasheet states accuracy of +-1°C but only for a 0 to +70°C range. There isn't any further information about the rest of the operating range. The datasheet provides a resistance vs. temperature table of values spanning from -55 to +150°C which served to derive Steinhart-Hart coefficients to be used in calculating the actual temperature from the raw ADC measurement. The resulting curve of the Steinhart-Hart equation which approximates the relationship between resistance and temperature deviates by -0.14 to +0.07°C in a +50 to +150°C range and only by -0.0068 to 0.0005°C in a -55 to +50°C range at most from the table values, while it further extends to the advertized lower extreme of the operating range at -80°C. Another potential source of error could come from the tolerance of the voltage divider's R1 resistor of which the thermistor is a part. Assuming the 0.5% R1 was at the edge of its tolerance range, this would introduce a 0.055°C error at -80°C, a 0.1°C error at 0°C and a 0.22°C error at +150°C compared to a precise 49900Ω resistor. The resolution of the measurement the setup provides stays better than 0.1°C in a -70 to +34°C range with a maximum resolution of 0.02°C at around -24°C. Aside from a function enabling power to the sensor circuit, all code can be found in the ADC library. When the ADC is enabled, factory calibration values for the ADC's linearity and bias are fetched from an address in the MCU's NVM Software Calibration Area and forwarded to respective registers. The same voltage is used to supply the thermistor circuit and provide reference to the ADC (VDDANA) thus eliminating any potential error arising from unstable supply. It is possible to setup the ADC to automatically average a number of 12-bit measurements, or oversample and decimate the measurements to obtain a 16-bit result. The 1.4μs time constant of the ADC input should be taken into account when selecting the ADC clock frequency with a measurement taking up 13 clock cycles.<br />
<br />
The MS5607 sensor module, as the datasheet says, includes a piezo-resistive pressure sensor and a 24-bit ADC with factory calibrated coefficients. More details about the structure of the module and how exactly temperature impacts the pressure measurement can be found in <a href="https://www.te.com/commerce/DocumentDelivery/DDEController?Action=srchrtrv&DocNm=Temp_Compensation_MEAS_Pressure_Sensors&DocType=SS&DocLang=EN">this</a> document - <i>'Temperature Compensation for MEAS Pressure Sensors'</i>. The module provides a 24-bit digital value representing an uncompensated analog output of the sensor and another 24-bit value representing the temperature of the sensor. Both values along with the factory calibrated coefficients are necessary for computing the actual pressure and temperature in Pascal and degree Celsius. The accuracy of the temperature measurement is stated to be +-4°C over the whole operating range and +-2°C within a -20 to +85°C range provided the result is compensated for the sensor's non-linearity at temperatures below +20°C (the 2nd order compensation is described in the datasheet). My code also automatically offsets the result by -0.38°C to compensate for the supply voltage error as illustrated in respective chart at the end of the datasheet. The pressure measurement accuracy is stated to be +-350Pa but only between 300hPa to 1100hPa pressure levels within a -20 to +85°C range. Lower pressure levels down to 10hPa are said to be within the linear range of the ADC, but without any stated accuracy. A 2nd order compensation for temperatures below +20°C and additional compensation below -15°C must be included as well. Likewise, the pressure result is automatically offset by +190Pa to compensate for the voltage supply error. The calculations require the factory calibrated coefficients which are always polled from the module's PROM at tracker start-up. All the code can be found in the SPI and MS5607 libraries.<br />
<br />
The ambient light sensor (VEML6030) is able to convert light intensities between 0.0072lx and 120klx to a digital value. The specific resolution and range of the sensor are dependent on selected gain and integration time. The communication with the sensor is carried out via I<sup>2</sup>C interface which allows sending commands to activate/shut down the sensor, set gain and integration time, request measurement data, etc. The respective code can be found in the I<sup>2</sup>C and VEML6030 libraries. The datasheet suggests starting with low gain and short integration time to cover the whole 120klx range followed by another higher gain/longer integration time measurement should the light intensity be too low. The downside of low light intensity and higher resolution measurements is an increase in active time and consumption of the sensor due to the longer integration time. To get a light intensity value in lux, the microcontroller multiplies the acquired raw measurement by a factor corresponding to a specific gain and integration time setting. For measurements above 1klx the code implements a compensation in accordance with the datasheet to correct for the sensor's non-linearity.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm">Sensor</th>
<th class="tg-amwm">Min</th>
<th class="tg-amwm">Max</th>
<th class="tg-amwm">Resolution</th>
<th class="tg-amwm">Unit</th>
</tr>
<tr>
<td class="tg-yw47">MCU</td>
<td class="tg-lyy6">-80.0</td>
<td class="tg-lyy6">+85.6</td>
<td class="tg-lyy6">0.12</td>
<td class="tg-lyy6">°C</td>
</tr>
<tr>
<td class="tg-yw47">Thermistor</td>
<td class="tg-lyy6">0</td>
<td class="tg-lyy6">4095</td>
<td class="tg-lyy6">1</td>
<td class="tg-lyy6">ADC</td>
</tr>
<tr>
<td class="tg-yw47">MS5607_T</td>
<td class="tg-lyy6">-80.0</td>
<td class="tg-lyy6">+85.6</td>
<td class="tg-lyy6">0.02</td>
<td class="tg-lyy6">°C</td>
</tr>
<tr>
<td class="tg-yw47">MS5607_P</td>
<td class="tg-lyy6">0</td>
<td class="tg-lyy6">753,570</td>
<td class="tg-lyy6">1</td>
<td class="tg-lyy6">Pa</td>
</tr>
<tr>
<td class="tg-yw47">VEML6030</td>
<td class="tg-lyy6">0.0072</td>
<td class="tg-lyy6">110,083</td>
<td class="tg-lyy6">0.0288-219</td>
<td class="tg-lyy6">lx</td>
</tr>
<tr>
<td class="tg-yw47">Battery Voltage</td>
<td class="tg-lyy6">0</td>
<td class="tg-lyy6">4095</td>
<td class="tg-lyy6">1</td>
<td class="tg-lyy6">ADC</td>
</tr>
</tbody></table>
<br />
This table summarizes the form of data, the ranges of values, and the resolution the tracker actually transmits encoded in the APRS packet. Although the lower limit of the MCU's operating range is -40°C, should the ADC output lower values during a temperature measurement, the encoding can handle temperatures down to -80°C. The 0.12°C resolution of the transmitted values is due to the sensor's resolution. The 0.12°C value is also the maximum error due to averaging and rounding in the calculation.<br />
<br />
In case of the two thermistors, the tracker transmits the raw 12-bit ADC output, and leaves the calculation to the receiver. Hence the parameters described in the previous table apply.<br />
<br />
Similarly to the MCU's case, should the MS5607 report a temperature below its operating range, the encoding can handle values between -80.0°C and +85.6°C. The sensor's resolution of 0.02°C is the same as the resolution of the encoding. The maximum error due to rounding during on-board calculations and packet encoding/decoding is also 0.02°C. Pressure values beyond the operating range can also be transmitted. The packet encoding covers a 0 to 753,570Pa range. The sensor's quoted resolution is 2.4Pa while the encoding manages 1Pa resolution. Typical error due to rounding in calculations is around 1Pa.<br />
<br />
In case of the ambient light sensor, the encoding was designed to cover almost the whole range stated by the datasheet. As described previously, this leads to decreasing resolution as the measured value increases. While the sensor itself produces measurements between 0 to 1887lx with a 0.0288lx resolution and between 0 to 120klx with a 1.8lx resolution, the encoding imposes its own resolution of 0.002lx at around 1lx measurements, 0.2lx at 100lx, 20lx at 10klx, all the way to 219lx resolution at the maximum value of 110,083lx. Due to the nature of the encoding, the minimum reported value by the tracker is 0.0072lx.<br />
<br />
Just like in case of the thermistor, the battery voltage measurement is transmitted as the raw 12-bit ADC output. A follow-up calculation of the actual voltage at the receiver's side provides a 0.9mV resolution.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrX4z49Rj4spQTCAsdIopTm8ZEiY87PmmVRgrcbcem6mvUfNojG2nL2_3QZIYmBcybL034M7gihS_GZRhsInGUfuZwf159b3INba8U5Mujhp9X1vfmAOXbHMs6aTror1CbKUNulN8VVIg/s1600/IMG_2951+initial+sensor+testing.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrX4z49Rj4spQTCAsdIopTm8ZEiY87PmmVRgrcbcem6mvUfNojG2nL2_3QZIYmBcybL034M7gihS_GZRhsInGUfuZwf159b3INba8U5Mujhp9X1vfmAOXbHMs6aTror1CbKUNulN8VVIg/s200/IMG_2951+initial+sensor+testing.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieWkpt9IVi9vqtl2dv4PPEr7UmYjjPHKfC2rQzGE3tRwNXp74BI4g10JJkLpjHj1QiKR_RsCXIYwBfzVjc68gAksWpFfDSopCqe39kAwKSNmOKa9ydmpksak98us5vIunureXy0zDAucw/s1600/IMG_3056+initial+sensor+testing.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieWkpt9IVi9vqtl2dv4PPEr7UmYjjPHKfC2rQzGE3tRwNXp74BI4g10JJkLpjHj1QiKR_RsCXIYwBfzVjc68gAksWpFfDSopCqe39kAwKSNmOKa9ydmpksak98us5vIunureXy0zDAucw/s200/IMG_3056+initial+sensor+testing.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a></div>
The two photos above show the setup during the sensor tests I did. The tracker supplied by a stable 1.5V LDO regulator typically mounted on a tripod or a small third hand.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqtPYttJQPb5BKLwS2hXJwdU1eiNMMlfvnAvi_xg3uY-0BRB2IWk318w7QE0OPKmcjorQEf_LS2WaPFepDitqElOOIhNeDkhmuwJbR0ek0Q7tD206DTYvSJlYemPgnMkqZpbU4j9s5Hdo/s1600/sensors+basement+stable+temp+01+no_avg.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqtPYttJQPb5BKLwS2hXJwdU1eiNMMlfvnAvi_xg3uY-0BRB2IWk318w7QE0OPKmcjorQEf_LS2WaPFepDitqElOOIhNeDkhmuwJbR0ek0Q7tD206DTYvSJlYemPgnMkqZpbU4j9s5Hdo/s200/sensors+basement+stable+temp+01+no_avg.png" width="200" height="120" data-original-width="1034" data-original-height="619" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIeSXjOCva8-mk1gdofSIwKJcn3gJ9NTO0CE8jO5t_BjN9Em19_-O56oU2ZJ0xCuithN2uJqxQXFJlhC3MIU-YfYwrKqoCFWznF53HiAoy8rv0FNbZJGfGLckmGFgNkT5HPxZOeKvx3oM/s1600/sensors+basement+stable+temp+02+avg.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIeSXjOCva8-mk1gdofSIwKJcn3gJ9NTO0CE8jO5t_BjN9Em19_-O56oU2ZJ0xCuithN2uJqxQXFJlhC3MIU-YfYwrKqoCFWznF53HiAoy8rv0FNbZJGfGLckmGFgNkT5HPxZOeKvx3oM/s200/sensors+basement+stable+temp+02+avg.png" width="200" height="120" data-original-width="1034" data-original-height="620" /></a></div>
First, I left the tracker transmitting measurements every 2s in a windowless storage room in my basement - the most stable environment I had at hand. In the chart on the left, the tracker took only single measurements and ADC readings. In the chart on the right on the other hand, the tracker set up the ADC to produce readings based on 64 averaged successive samples in case of the thermistor measurements where one sample takes 13 ADC clock cycles leading to 64 x 13 = 832 cycles of a 2MHz ADC clock - 0.4ms per ADC reading. Similarly, the MCU temperature is also an average of 64 samples, however this time the ADC was setup to take single samples, and the tracker looped over the ADC reading request 64 times. That meant the total time was prolonged by additional instructions. Regardless, the resulting reading still represented measurements attained within a few milliseconds. The MS5607 temperature readings were in both tests just single measurement requests. It is apparent that the thermistor and MS5607 measurements are quite stable with mutual offsets. The largest beneficiary of the averaging is then the MCU temperature measurement where originally successive samples varied by as much as 5°C while after averaging by only about 1°C.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjr9MoJlcBYbFndWet6Qs5BQVIGw83pGskL9C1CkpjnF444BHOtKRrJ7Qp2kNEmOW3HXjrmKeWI2XBasYC_ROjpEljj9z3WVJSbiish3gXZut-FhyphenhyphenSdhcp1rMMRtxzkD8lpjwzONnF2Ooo/s1600/sensors+basement+stable+pressure+01.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjr9MoJlcBYbFndWet6Qs5BQVIGw83pGskL9C1CkpjnF444BHOtKRrJ7Qp2kNEmOW3HXjrmKeWI2XBasYC_ROjpEljj9z3WVJSbiish3gXZut-FhyphenhyphenSdhcp1rMMRtxzkD8lpjwzONnF2Ooo/s200/sensors+basement+stable+pressure+01.png" width="200" height="120" data-original-width="1035" data-original-height="622" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOxFISEXKN6N9lOiUeZ-MsWYGAogbIAAxBnaFQs5KsVUa6NjeHXp9cNEj4QdQiquHUnVOyZ_HyHXZ2Jw6YZznixj9y6YkXtfTRHE99jdbIhDMyyz1oUAzA9iDamFfLZExVNyjNf-Irkis/s1600/sensors+basement+stable+pressure+02.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOxFISEXKN6N9lOiUeZ-MsWYGAogbIAAxBnaFQs5KsVUa6NjeHXp9cNEj4QdQiquHUnVOyZ_HyHXZ2Jw6YZznixj9y6YkXtfTRHE99jdbIhDMyyz1oUAzA9iDamFfLZExVNyjNf-Irkis/s200/sensors+basement+stable+pressure+02.png" width="200" height="120" data-original-width="1034" data-original-height="621" /></a></div>
These two charts show the pressure measurements taken during the previous tests. The two MS5607s were commanded to produce single measurements without any averaging. Similarly to the temperature measurements, there was a stable offset between the two modules. This side by side comparison nicely illustrates the magnitude of single module inaccuracies versus actual pressure fluctuations.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbKUDF8YRk0A7bSxnGHG1IogzWxDRYTB6TRk_Kx1g2-I_tQROqZmNpSjDTumXzqFYD2V2xheWOHAXdP2V1RfEEx2lVLPoVvnX65QlNIM0l_pzm7XSswSkh8DQx4L1MrJ8TuEWtpBQad3o/s1600/sensors+same_level+03+temperature.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbKUDF8YRk0A7bSxnGHG1IogzWxDRYTB6TRk_Kx1g2-I_tQROqZmNpSjDTumXzqFYD2V2xheWOHAXdP2V1RfEEx2lVLPoVvnX65QlNIM0l_pzm7XSswSkh8DQx4L1MrJ8TuEWtpBQad3o/s200/sensors+same_level+03+temperature.png" width="200" height="120" data-original-width="1032" data-original-height="620" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7EFZEnqob28veHQu60buPvY7rjwxBHtbR4LkWQFwevhTY9IAucA6czQ6A8DBH3lpi83EN6IPAimhnPs-9i0sq6_p3wCDHqJHuT1SRv2s1LgoxCf4MN1heEYlSvhfTmCQYAEWwzf4Lxwg/s1600/sensors+same_level+03+pressure.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7EFZEnqob28veHQu60buPvY7rjwxBHtbR4LkWQFwevhTY9IAucA6czQ6A8DBH3lpi83EN6IPAimhnPs-9i0sq6_p3wCDHqJHuT1SRv2s1LgoxCf4MN1heEYlSvhfTmCQYAEWwzf4Lxwg/s200/sensors+same_level+03+pressure.png" width="200" height="120" data-original-width="1032" data-original-height="620" /></a></div>
In the next test I did, I used the low winter temperatures to learn about the dynamic performance of individual sensors. The tracker was first kept inside for about 10 minutes, then taken out to face the cold environment before being brought back inside. All the time at the same altitude - important to avoid compromising pressure measurements. It is apparent from the data that the MCU and the onboard MS5607, both being soldered to the PCB, carry some thermal inertia compared to the other sensors which react very quickly to environmental changes. The PCB soldered MS5607 also seems to maintain its roughly 2°C offset from its sibling. The pressure readings then reveal how the measurement is impacted by the module's temperature. It is also worth noting that the resulting offset is larger in the external MS5607.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKnPozXGN-OV3ffFVzEwvWDkQABPzE9aX_q7behqEUGACll4YVf25X9Zp5UCuUGvLawRyVO24EbE8P_adFHUBiETzagrfswfK36x5jpsAHCyJ12XZp-ugBYk61GzX_cBTiCQ1kbc4LJ6Q/s1600/MS5607+datasheet+chart+02.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKnPozXGN-OV3ffFVzEwvWDkQABPzE9aX_q7behqEUGACll4YVf25X9Zp5UCuUGvLawRyVO24EbE8P_adFHUBiETzagrfswfK36x5jpsAHCyJ12XZp-ugBYk61GzX_cBTiCQ1kbc4LJ6Q/s200/MS5607+datasheet+chart+02.png" width="200" height="122" data-original-width="1074" data-original-height="655" /></a></div>
The MS5607 module's datasheet provides a chart outlining the typical error in pressure measurement due to temperature over the operating range at three different pressure levels.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7wvnlVzh7-Yzi-aEGKt806I-9OBgx0iD-wHTLyhCS4ykYMHG9flVEB29iaU3Bx2lww2FMtM7jt6ijJt-9aIzZyyp1QHmrbrJKfBOh46QWfuKENFamo6CNdQmDsP48KNSnb8ExEZSQXmA/s1600/sensors+compilation+MS5607_1.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7wvnlVzh7-Yzi-aEGKt806I-9OBgx0iD-wHTLyhCS4ykYMHG9flVEB29iaU3Bx2lww2FMtM7jt6ijJt-9aIzZyyp1QHmrbrJKfBOh46QWfuKENFamo6CNdQmDsP48KNSnb8ExEZSQXmA/s200/sensors+compilation+MS5607_1.png" width="200" height="150" data-original-width="828" data-original-height="620" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifBNuweMymG69dovjn3LGY4ZGxqd2NplZB2Dpt_ZihKFTTIXUNZkrAaiHOHxrME4zpzZ0worXWQZxaLTH3qSJMH94ai8szXzQ8843XBNN5LrOAMXemKCsL7eMm53Yp2wqvQV8m2CO7dyg/s1600/sensors+compilation+MS5607_2.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifBNuweMymG69dovjn3LGY4ZGxqd2NplZB2Dpt_ZihKFTTIXUNZkrAaiHOHxrME4zpzZ0worXWQZxaLTH3qSJMH94ai8szXzQ8843XBNN5LrOAMXemKCsL7eMm53Yp2wqvQV8m2CO7dyg/s200/sensors+compilation+MS5607_2.png" width="200" height="150" data-original-width="828" data-original-height="620" /></a></div>
These two charts, left for the onboard MS5607 and right for the external module, represent pressure offset with respect to temperature data as measured by the module collected during several tests - individual runs are differentiated by color. The offsets were calculated with respect to current pressure measured at around 20°C. During the tests, the tracker was either moved to a colder environment or warmed up. In other words, the charts show a portion of the same information for the two specific sensors on the TT7B tracker as shows the previous graph from the datasheet. Unfortunately, the lowest temperature at which I could test was only around -14°C. Some of the spread and variability in the data between individual runs and also within a single run is due to specifying the reference pressure and due to the fact that the actual absolute pressure slowly changed over the duration of a single test. Nevertheless, the trend is apparent. At room and higher temperatures the pressure measurements exhibit relatively small drift, while at temperatures down to -14°C, the pressure measurement is offset by up to -280Pa.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdQoUIRBb5JGZsSh5nzYFzlB8NRLl4hC_0xGpSeZs-2c1U0pU_DrEN9aRuoP100onofJzoOU7JTuUlJl4bG4KfE7eUTSEsHuE0RKEdqGXYxaxFwE9fDtJZlp_peWm6tH3bTADk6sbNzdc/s1600/IMG_3095+vacuum+chamber+tracker.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdQoUIRBb5JGZsSh5nzYFzlB8NRLl4hC_0xGpSeZs-2c1U0pU_DrEN9aRuoP100onofJzoOU7JTuUlJl4bG4KfE7eUTSEsHuE0RKEdqGXYxaxFwE9fDtJZlp_peWm6tH3bTADk6sbNzdc/s200/IMG_3095+vacuum+chamber+tracker.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a></div>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPTqg5de_GN0vlmG4VqDst5axjfrlrBVK5JkdBHs9a3PR6qwbWoPhMihYqpXysyv6yL7A8y3Eek2Ssy9pc2I0gC86taI425Vu0Wd_A-kPwCdcC9EQOhqmST1PWo-2O1M1pXF5LaDyMxNw/s1600/sensors+vacuum+pressure+01.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPTqg5de_GN0vlmG4VqDst5axjfrlrBVK5JkdBHs9a3PR6qwbWoPhMihYqpXysyv6yL7A8y3Eek2Ssy9pc2I0gC86taI425Vu0Wd_A-kPwCdcC9EQOhqmST1PWo-2O1M1pXF5LaDyMxNw/s200/sensors+vacuum+pressure+01.png" width="200" height="120" data-original-width="1033" data-original-height="619" /></a></div>
Another point of interest for me was stability of the offset in pressure measurements between the two modules with respect to absolute pressure levels since the tracker was expected to operate at much higher altitudes. To examine that, I put the tracker inside a simple <a href="https://tt7hab.blogspot.com/2019/02/the-vacuum-chamber.html">vacuum chamber</a>, and had it collect data at different pressure levels. The chart above shows the test starting at about 250hPa held for around 15 minutes. The test then continued by increasing the pressure level in steps all the way to ambient pressure. The green curve represents the offset of the external MS5607 with respect to measurements done by the onboard MS5607. As can be seen, it remained constant at around -110Pa throughout the test. The rapid spike during the initial pressure decrease could be due to the onboard MS5607 being closer to the air vent. The whole test was done at constant temperature - the onboard MS5607 measured 24°C and the external 22°C.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNJb5gIZ17SELbaxodK2YkQzmQT5wLmc0Jn6lYNce-ry2jln-fdv_HAibVhFaght9FcQ6AkZT9dF0pNFAL9Xs6FHEfLCR1Pb7X_brjXe2hHoLRFjs8W5PVqDOsq9c-iotPCteDFlyIFgU/s1600/sensors+sunlight+pressure+01.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNJb5gIZ17SELbaxodK2YkQzmQT5wLmc0Jn6lYNce-ry2jln-fdv_HAibVhFaght9FcQ6AkZT9dF0pNFAL9Xs6FHEfLCR1Pb7X_brjXe2hHoLRFjs8W5PVqDOsq9c-iotPCteDFlyIFgU/s200/sensors+sunlight+pressure+01.png" width="200" height="120" data-original-width="1034" data-original-height="622" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUW3haAZ9VQJls5X0V-QzhproreSympEzF1OUnVizqt79TJQAd0yfG3sGAJvo0byjvqEuGJn7oS1wAmzSwezT7ba1aYeersbHN_OOLczsQbF6WlXhZWmXSYMf1tzu5FxeZBdd3hhqW5OQ/s1600/sensors+sunlight+voltage+01.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUW3haAZ9VQJls5X0V-QzhproreSympEzF1OUnVizqt79TJQAd0yfG3sGAJvo0byjvqEuGJn7oS1wAmzSwezT7ba1aYeersbHN_OOLczsQbF6WlXhZWmXSYMf1tzu5FxeZBdd3hhqW5OQ/s200/sensors+sunlight+voltage+01.png" width="200" height="120" data-original-width="1034" data-original-height="622" /></a></div>
Because it was winter time, the weather was mostly cloudy, and I did most of the tests after sunset, I didn't at first notice a quite severe problem with the tracker. The two charts above capture a situation where the tracker was powered up inside, then after three minutes it was brought out into direct sunlight for about five minutes before being brought back inside. As can be seen, the moment the tracker was exposed to the Sun, the pressure readings went mad. The second chart containing measurements from the ambient light sensor revealed that the instant light intensity correlated with disruptions to the tracker's main 1.8V voltage. The progression of VCC was arrived at by using the battery voltage measurements with the knowledge that the tracker was supplied by a stable 1.5V regulator. In other words, since the measured voltage was constant, differing ADC output implied variation in the reference voltage - the main 1.8V supply. This led to a realization that both the boost converters reacted wildly to direct sunlight by changing their output voltage. A fact confirmed by a separate multimeter measurement as well.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5TQRfamniH7E73SVTEJVD5a6UqOZLgwLlFltq0o3mwJh6_0NoJQNWDShpHVVAI07fbYAvoa14qiPKf8EgnfB9jh2ujOutN9yHfMg9l4iq18fvD70FjfVf7vyTfc245qI_EDRiPeAjT8s/s1600/IMG_3125+EPO-41+epoxy+encapsulation+compound.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5TQRfamniH7E73SVTEJVD5a6UqOZLgwLlFltq0o3mwJh6_0NoJQNWDShpHVVAI07fbYAvoa14qiPKf8EgnfB9jh2ujOutN9yHfMg9l4iq18fvD70FjfVf7vyTfc245qI_EDRiPeAjT8s/s200/IMG_3125+EPO-41+epoxy+encapsulation+compound.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a></div>
I spent some time examining the behavior, trying different ways to shield various parts of the tracker, rereading datasheets, even measuring the feedback resistors whether they weren't light sensitive. In the end, I came across an application note by Silicon Labs that finally shed some light on the issue. <i>AN0878: Methods of Reducing Light Sensitivity in CSP Packages</i> provided me with some insight into how the boost converter's tiny package (WCSP Wafer-level Chip-Scale Package) differed from those that I was more accustomed to. Apparently, in case of the larger ICs in, for example, QFN packages, the silicon die is completely encapsulated in opaque epoxy and hermetically sealed from the environment. On the other hand, the CSP packages in an attempt to minimize the size of the IC more or less expose the die to its surroundings. This may result in incident light increasing the photocurrent in light sensitive parts of the IC. My guess is that in case of the TPS61099s, the direct sunlight interfered with the internal voltage reference which caused the boost converters to output higher and varying voltage. To eliminate this effect, the application note suggested casting the IC in a Glop Top epoxy compound.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjw3wND031MR8WUBlC3wViRZdAif1F-k1-8DnwBPHtrvpHcrE5NYywkhRI0QUSATBA4dm-UjjPfL5A5if1CfFXpVn7fRt_5VK6Iz_RqVKJjCriregBYOHwItcQVZ1RIdT2eQ2sNs2iYy2I/s1600/IMG_3169+epoxy+encapsulation.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjw3wND031MR8WUBlC3wViRZdAif1F-k1-8DnwBPHtrvpHcrE5NYywkhRI0QUSATBA4dm-UjjPfL5A5if1CfFXpVn7fRt_5VK6Iz_RqVKJjCriregBYOHwItcQVZ1RIdT2eQ2sNs2iYy2I/s200/IMG_3169+epoxy+encapsulation.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBLMdrGqZ83zhZyObIAP5e6zEvm-uMW0Uc0TVAgIEPvdmwLHSWWwG37O6XYuxLPuIK3SPE8JfUsnK8HUTtthpVebEB9SZeBYoBFkht-krov4nepw7Rim3QRmSmm0KIexiGeHi3O2aFRb4/s1600/IMG_3167+epoxy+encapsulation.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBLMdrGqZ83zhZyObIAP5e6zEvm-uMW0Uc0TVAgIEPvdmwLHSWWwG37O6XYuxLPuIK3SPE8JfUsnK8HUTtthpVebEB9SZeBYoBFkht-krov4nepw7Rim3QRmSmm0KIexiGeHi3O2aFRb4/s200/IMG_3167+epoxy+encapsulation.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a></div>
I ordered a two part black epoxy encapsulation compound from a local seller called EPO-41. And after mixing the resin with the hardener in a more or less 4:1 ratio, I deposited a few drops of the mixture on and around both of the two boost converters and the SiT1552 TCXO which was also in a CSP package. Then after it was left to cure for over 24 hours, it was ready for further testing.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTU-EPC3S0-QKFMCmOYKYcxvQf6mqeI_MJ3Icwznr0Br49imdSLivccDiY3fLzwLqVClZlyyciRAD1U_rjc7VSrDibe3TSCt4KhLAw7QCPCfNdjWItjbcBH4UOxPNX337TYWXEY1hi2nk/s1600/IMG_3213+MS5607_1+black+tape+shield.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTU-EPC3S0-QKFMCmOYKYcxvQf6mqeI_MJ3Icwznr0Br49imdSLivccDiY3fLzwLqVClZlyyciRAD1U_rjc7VSrDibe3TSCt4KhLAw7QCPCfNdjWItjbcBH4UOxPNX337TYWXEY1hi2nk/s200/IMG_3213+MS5607_1+black+tape+shield.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCUZtgMK44JtPEd3Rh0JeiJb9rNaXpsV_o7p_JQ9izMM84XDL8huKQ27cvYnnsHKV4Nb_54D8gjYkf1UFq7iK6uAyO7VK5q2jJBqtFdWyjKE7iceoUtsmCvGMMKlT-Xr39rVSwrFstezI/s1600/IMG_3203+MS5607_2+black+tape+shield.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCUZtgMK44JtPEd3Rh0JeiJb9rNaXpsV_o7p_JQ9izMM84XDL8huKQ27cvYnnsHKV4Nb_54D8gjYkf1UFq7iK6uAyO7VK5q2jJBqtFdWyjKE7iceoUtsmCvGMMKlT-Xr39rVSwrFstezI/s200/IMG_3203+MS5607_2+black+tape+shield.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a></div>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhO1ZmgPLAgkuoHRdswA8khFdQqr8k__aaAkw0tOzc_G5GujYdNlAofy3pPFyC6e9xxmDsVExJ__QEgbNM6QMLBRejT2TCH_ha4rZJCmSg1jHsdO6Znfl36MsK7H1kOulKOuZSyB9L2k28/s1600/sensors+sunlight+shield+pressure+01.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhO1ZmgPLAgkuoHRdswA8khFdQqr8k__aaAkw0tOzc_G5GujYdNlAofy3pPFyC6e9xxmDsVExJ__QEgbNM6QMLBRejT2TCH_ha4rZJCmSg1jHsdO6Znfl36MsK7H1kOulKOuZSyB9L2k28/s200/sensors+sunlight+shield+pressure+01.png" width="200" height="120" data-original-width="1032" data-original-height="620" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYmA7Bb_efsXlrfuWrTkLJSbDvjTwde_zzr3XK0n5z7JFzdsOoF5EigoT88c0Ew3ysbuPyR1H-5v5XgA4nqfx4PNFHusACXluCarf0_K_eTY6d3jqT5kTl65zYMq0c-KzWEDCOouuiwgU/s1600/sensors+sunlight+shield+voltage+01.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYmA7Bb_efsXlrfuWrTkLJSbDvjTwde_zzr3XK0n5z7JFzdsOoF5EigoT88c0Ew3ysbuPyR1H-5v5XgA4nqfx4PNFHusACXluCarf0_K_eTY6d3jqT5kTl65zYMq0c-KzWEDCOouuiwgU/s200/sensors+sunlight+shield+voltage+01.png" width="200" height="120" data-original-width="1033" data-original-height="620" /></a></div>
What I found out was that the voltage indeed became much more stable - a 10-15mV increase in direct sunlight (100klx). However, the pressure measurements were still misbehaving. After a few more tests, it became obvious that the pressure sensors themselves were sensitive to direct sunlight, though the datasheet did not mention anything on this topic. The issue seems to be related to two circular openings in the top metal enclosure. When shielded by a piece of black tape as in the images above, the sensors returned to normal behavior. The tape in both cases was not attached to the sensor itself, but rather arched over the sensor. The two charts then show the measured pressures, ambient light intensity and main 1.8V voltage during the test. The initial drop in pressure at around 7 minutes and eventual rise towards the end of the dataset were due to temperature as the tracker was brought outside and then back inside. At about 24 minutes into the test, the tracker was turned to face 90° away from the Sun. This decreased the temperature of the board and the onboard sensor by a few degrees, and let some sunlight inside the shield of the external sensor as it was no longer facing the Sun directly. Both of these effects can be seen in the pressure data and lower ambient light measurements.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWfYliP5fP45m6z_lvJzsCAN89Ts1Osy7RmRJa6UJAPq2fcCi5IQYoQ2wLA9nXcOh80_wqaiIWZuD7wqkH30L_O1EjwqdhQKbejy2lg58T9rmm_aNpWoFHic_H1Vp5JgFJ2KNED3sRpBo/s1600/IMG_3148+thermistor+shield.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWfYliP5fP45m6z_lvJzsCAN89Ts1Osy7RmRJa6UJAPq2fcCi5IQYoQ2wLA9nXcOh80_wqaiIWZuD7wqkH30L_O1EjwqdhQKbejy2lg58T9rmm_aNpWoFHic_H1Vp5JgFJ2KNED3sRpBo/s200/IMG_3148+thermistor+shield.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7t6m8O0LJCElT3C2hOVoTTkBx_Wb0KUOEjQLf9Al4uChSKpYI541VI3R4CrIYRndp_QcPSDjNCPEjg3g2BRVio6TE1FI0lBb6VJe5Lf0tlPymOR9ddIO7bxGltWm9Wk-UKKFnKSMWFcY/s1600/IMG_3155+thermistor+shield.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7t6m8O0LJCElT3C2hOVoTTkBx_Wb0KUOEjQLf9Al4uChSKpYI541VI3R4CrIYRndp_QcPSDjNCPEjg3g2BRVio6TE1FI0lBb6VJe5Lf0tlPymOR9ddIO7bxGltWm9Wk-UKKFnKSMWFcY/s200/IMG_3155+thermistor+shield.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a></div>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBV5vbZTnG_-Yh6GqeeN3ni9uruY-zbldGeJddww2miKk5N9yOah-Z1NGG9dukK9okGOoRVpgjgcnDwmpVWGvS65TNXcoFXEaWOtWPJc431O1_5QN2ESzxeXPmg_NtQZPVU04jkW4MxXU/s1600/sensors+thermistor+shield+05.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBV5vbZTnG_-Yh6GqeeN3ni9uruY-zbldGeJddww2miKk5N9yOah-Z1NGG9dukK9okGOoRVpgjgcnDwmpVWGvS65TNXcoFXEaWOtWPJc431O1_5QN2ESzxeXPmg_NtQZPVU04jkW4MxXU/s200/sensors+thermistor+shield+05.png" width="200" height="120" data-original-width="1034" data-original-height="622" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYuL4zZJOwXJZ5nRYGyVjfImjjWDsdgKaffWgSjyGwtPy_6kwepBx8OZLxVZ65OpPVhd-unhEgcs7njt8IQO7ob4-4UyEGuwxIFiJl3OtwLQMh43f4oMBMslcgCgf1m9mAnsY83b3jYlg/s1600/sensors+thermistor+shield+04.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYuL4zZJOwXJZ5nRYGyVjfImjjWDsdgKaffWgSjyGwtPy_6kwepBx8OZLxVZ65OpPVhd-unhEgcs7njt8IQO7ob4-4UyEGuwxIFiJl3OtwLQMh43f4oMBMslcgCgf1m9mAnsY83b3jYlg/s200/sensors+thermistor+shield+04.png" width="200" height="120" data-original-width="1032" data-original-height="620" /></a></div>
In one of the photos by UBSEDS, I saw them using a roll of paper to shield a thermistor from direct sunlight. I thought this to be a reasonable idea and tried the same on TT7B. However, actual tests with one thermistor shielded and the other one left exposed showed the shield introducing more volatility to the measurements. The two charts above are the result of subtracting data from the external thermistor from the onboard thermistor data. In the first case, both thermistors were exposed to direct sunlight, while in the second case the onboard thermistor was shielded. The data show, beside the increased volatility, that during the day the shielded thermistor measured typically higher temperatures, while after sunset it reported lower temperatures than its exposed counterpart.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8CSj9klphuiu3XwibZ-FBb2eAMPMTxyz0mWUzYvqUseCL2A86HPF2OHEuldMYIvytcjeE0TqWxHRWhLKEE9N2BgHv9JWH8jMSM7bEPHDMaHpKhGkNHa8RtzetWHYZR0lJJy5jLbRS_kc/s1600/sensors+thermistor+shield+07.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8CSj9klphuiu3XwibZ-FBb2eAMPMTxyz0mWUzYvqUseCL2A86HPF2OHEuldMYIvytcjeE0TqWxHRWhLKEE9N2BgHv9JWH8jMSM7bEPHDMaHpKhGkNHa8RtzetWHYZR0lJJy5jLbRS_kc/s200/sensors+thermistor+shield+07.png" width="200" height="120" data-original-width="1031" data-original-height="618" /></a></div>
Following tests in different conditions, specifically behind a window in a roofed portion of a terrace, suggested the volatility could have been due to freely flowing wind in the original tests. The chart above shows the difference between the shielded onboard thermistor and the unshielded external thermistor when there was very little air circulation. The deviation peaked at around 2°C higher measurements from the external sensor. In the end, I decided to not use the shields and accept the potential 2 degree deviation of absolute temperature during peak irradiance.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCO36LC9s8X7e5ajUBpLYd3v_GjwMAwI8UDYZsJnHqZGUfeeGyxzvLHs4uG95Xm6ztp5vg1M-MsnYHUvrJ8hY8keppx0aLY3SuRWV2xwR6Bne2wVGK5EtjRfPApCjsdS_kfhLpJ5jtY7U/s1600/IMG_3229+pressurizing+test.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCO36LC9s8X7e5ajUBpLYd3v_GjwMAwI8UDYZsJnHqZGUfeeGyxzvLHs4uG95Xm6ztp5vg1M-MsnYHUvrJ8hY8keppx0aLY3SuRWV2xwR6Bne2wVGK5EtjRfPApCjsdS_kfhLpJ5jtY7U/s200/IMG_3229+pressurizing+test.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNZjDjmhHMPdu3TyoVN0_VuEMMcryGqDe3SCYCBs1H7xAxqHqhDWil43cEmttl8EuQxWknwLTdmqBnRLaYPSC2MgibF2MHSu2sI8amuHLbx42pA7GYwbQRY8d25xvmkggspUVrCLRdux8/s1600/IMG_3235+pressurizing+test.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNZjDjmhHMPdu3TyoVN0_VuEMMcryGqDe3SCYCBs1H7xAxqHqhDWil43cEmttl8EuQxWknwLTdmqBnRLaYPSC2MgibF2MHSu2sI8amuHLbx42pA7GYwbQRY8d25xvmkggspUVrCLRdux8/s200/IMG_3235+pressurizing+test.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a></div>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi66ftmRVL63x1zaP8A7XTBa74yBM9uWrOtjH22iqtnWGPV_7bR2tRbYSz-4oO9ylAauE6FJ44o0yopmNnry618nVm6efe6tRD3xUwpHzgz_c5bf01lyzgGaM6IbUh8xybABpHh5Q2uxa0/s1600/sensors+pressurizing+01.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi66ftmRVL63x1zaP8A7XTBa74yBM9uWrOtjH22iqtnWGPV_7bR2tRbYSz-4oO9ylAauE6FJ44o0yopmNnry618nVm6efe6tRD3xUwpHzgz_c5bf01lyzgGaM6IbUh8xybABpHh5Q2uxa0/s200/sensors+pressurizing+01.png" width="200" height="120" data-original-width="1033" data-original-height="621" /></a></div>
The main purpose of all the sensors on TT7B is to measure differential pressure and temperature between the environment and conditions inside the balloon throughout the day. I tested this by sealing the external sensors inside an improvised balloon as can be seen in the images above, and pressurizing it with a pump. The resulting chart then illustrates the data I am after. The pressure plot is affected by the temperature dependent offset between the two sensors discussed earlier.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSt_zsK6Kbt3wF22y0ToGKrQGJfar-koQI84BY8vqqItf85vGPd6Tu8XZM4PDNJcrtvBNNuIvKaWpZMK_JQEtUrV97SF_i_SjI4P_ACHcLL8tJS1q89Y5HObghSQ4JdOjmkFGOWSiFsUM/s1600/IMG_2914+testing+light+sensor.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSt_zsK6Kbt3wF22y0ToGKrQGJfar-koQI84BY8vqqItf85vGPd6Tu8XZM4PDNJcrtvBNNuIvKaWpZMK_JQEtUrV97SF_i_SjI4P_ACHcLL8tJS1q89Y5HObghSQ4JdOjmkFGOWSiFsUM/s200/IMG_2914+testing+light+sensor.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMmJCsWhIDQyqgaNNf7HOkCXAEV9nItAcXqHgSNKAFE8rh57LAPT54jICA0G3mBi5zFBU88vcJCIxbRMSRJ80oXB5wgjEbBb_7M5mLSGKLFV-6VhiqbO5_Zy08nLLVBaufagGBWWDbcZk/s1600/IMG_2908+testing+light+sensor.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMmJCsWhIDQyqgaNNf7HOkCXAEV9nItAcXqHgSNKAFE8rh57LAPT54jICA0G3mBi5zFBU88vcJCIxbRMSRJ80oXB5wgjEbBb_7M5mLSGKLFV-6VhiqbO5_Zy08nLLVBaufagGBWWDbcZk/s200/IMG_2908+testing+light+sensor.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgL_0raNm9-1d5PRtVyVDi2IXmSbFdWaDAPWrAdwhXcq-Zl-pOT1r9kidoI_FmlZttBb5K0O7KWKUgWr9IT0FwcRU0d1EbgC6Fne6UWPEj7r6zQYVXAQkP1rRp89BmGDQDF-b7LfCe45CE/s1600/test+ambient+light+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="333" data-original-width="676" height="98" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgL_0raNm9-1d5PRtVyVDi2IXmSbFdWaDAPWrAdwhXcq-Zl-pOT1r9kidoI_FmlZttBb5K0O7KWKUgWr9IT0FwcRU0d1EbgC6Fne6UWPEj7r6zQYVXAQkP1rRp89BmGDQDF-b7LfCe45CE/s200/test+ambient+light+01.png" width="200" /></a></div>
To test the ambient light sensor and the code I've written for it, I did the following. The two images above show a 4.5W LED powered by a bench power supply right above the VEML6030 sensor. I had the tracker transmit packets in two second intervals which I used to increase the voltage across the LED by 20mV each time from 6.5V to 8.3V. After reaching 8.3V, I began decreasing the voltage by 50mV back down to 6.5V at which point the LED stopped outputting light. The chart then shows the measured values. The actual sensor tops out at 120klux, the encoding, however, tops out a little short of that at 110,083lux. As discussed earlier, the code has the sensor measure the light intensity with low gain (1/8) and short integration time (25ms) first to cover the whole range. If the result is below 37lux, the code has the sensor do another measurement with a longer integration time (100ms) and higher gain (2) to provide a better resolution at these low light levels. I found that in situations where the sensor is powered down between measurements or when changing the settings, it requires at least two full measurements to get reliable results. That means the code has to wait at least twice the set integration time before reading the result. This increases the time the sensor has to be powered to 55ms at high light intensities and to 260ms (55 + 205) at low light intensities. The red line in the chart representing the measured Active Time demonstrates this. Note that Active Time has resolution of 0.1s and the measurements are rounded down, and that the tracker was doing measurements with other sensors as well during that period. To provide a few examples, I typically saw values around 50lux in a room illuminated by a single 100W light-bulb, values in the range of a couple of kilolux when outside during a cloudy day, and intensities in tens o klux under direct sunlight.<br />
<br />
Although, I couldn't match the environmental conditions the tracker was expected to encounter, the aim of this section and of the performed tests was to at least learn something about the behavior of the sensors and the general trends they exhibit at varying conditions.<br />
<br />
<br />
<b>Geofencing</b><br />
As an APRS tracker flies around the Earth, it has to change the transmit frequency to a frequency at which local stations listen for packets. These frequencies vary area to area. A previous blog <a href="https://tt7hab.blogspot.com/2017/02/aprs-automatic-packet-reporting-system.html">post</a> on APRS shows a map according to which my TT7F trackers operated. I decided to revise the last frequency plan and came up with the following.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPEoNKusVbWEWhTzTCXGjvyKm2F4Vby7P-JfOBtur1-rcXcpSF2PailN6WWqNTVZ5AwNuO2TvseiWPvZPvXVNnRXXWBC9lTPrloMs39QcKEILm7vxxbE_sBpfAoNXIHnwhH5DV-lqXgnQ/s1600/world+map+aprs+freq+01.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPEoNKusVbWEWhTzTCXGjvyKm2F4Vby7P-JfOBtur1-rcXcpSF2PailN6WWqNTVZ5AwNuO2TvseiWPvZPvXVNnRXXWBC9lTPrloMs39QcKEILm7vxxbE_sBpfAoNXIHnwhH5DV-lqXgnQ/s200/world+map+aprs+freq+01.png" width="200" height="93" data-original-width="1357" data-original-height="628" /></a></div>
This map represents stations that remained on the <a href="https://aprs.fi">aprs.fi</a> map when it was filtered only for iGates as of February, 2019. The dots on the map don't highlight individual stations, but rather spots around which reception can be expected. The states where concentration of receivers is dense are filled completely. The coloring then signifies different frequencies.<br />
<ul>
<li>144.390MHz - Canada, Chile, Colombia, Indonesia, Malaysia, Central America, Thailand, USA</li>
<li>144.575MHz - New Zealand</li>
<li>144.620MHz - South Korea</li>
<li>144.640MHz - China</li>
<li>144.660MHz - Japan</li>
<li>144.800MHz - Europe, Russia, South Africa</li>
<li>144.930MHz - Argentina, Uruguay</li>
<li>145.175MHz - Australia</li>
<li>145.570MHz - Brazil</li>
</ul>
Various websites listing APRS frequencies for individual countries can be found on the Internet. I used these as a basis, combined with observations from my TT7F flights, to devise a frequency map for TT7B. However, I also looked closer into descriptions of specific iGates to decide on the frequency in some of the regions. For example, Thailand is often said to operate on 145.525MHz, but most of the iGates in the database mention 144.390MHz in their descriptions. Similar situation occurs with some of the countries in Central America.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPwKwTEqkgvv9cs4ZAv3JI3Ydpv5kNjtS_Rt66JOVDvPtOapln6QkqEOjau-hsjH8XUxSlFQp2kDismvqghJkRLM5vk3wwxrZocgLKI1KoBwEXnkcbWmdTS1MKmGF2o_NMGk83bsndyJI/s1600/world+map+aprs+freq+02.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPwKwTEqkgvv9cs4ZAv3JI3Ydpv5kNjtS_Rt66JOVDvPtOapln6QkqEOjau-hsjH8XUxSlFQp2kDismvqghJkRLM5vk3wwxrZocgLKI1KoBwEXnkcbWmdTS1MKmGF2o_NMGk83bsndyJI/s200/world+map+aprs+freq+02.png" width="200" height="93" data-original-width="1357" data-original-height="628" /></a></div>
This map highlights the decision making the tracker does prior to transmitting a packet after a positional solution was obtained from the GNSS module. The software calculates whether it is above or below certain latitudes and east or west of certain longitudes to determine a sector around the Earth. It then either assigns a default frequency for said sector, or uses a function to test whether the current coordinates lie within a polygon outlining a specific region. The regions were designed to take into account the radio horizon of a balloon flying at around 15km in altitude which is about 500km.<br />
<br />
<br />
<b>Reset Supervisor</b><br />
The mishap with the TPS3831 supply voltage monitor on the first TT7B board I built mentioned in the previous blog post where it was lifted by too much solder paste during reflow offered me an opportunity to compare the behavior of a TT7B board without the reset supervisor to a board with it.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTpIshCEBCF_FEEClL78Iu3zXr7oNzQCX1TGjIKY3058O6eyCfkQU4bjydjP0GdMhTv_HATrR2vxCuwB4IMNBA2pk9xtjq4JdPr7B4fUq1avX0wJjSBKhvDBsL9AsbN5bSq-iAOY32dDo/s1600/voltage+battery+input+01.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTpIshCEBCF_FEEClL78Iu3zXr7oNzQCX1TGjIKY3058O6eyCfkQU4bjydjP0GdMhTv_HATrR2vxCuwB4IMNBA2pk9xtjq4JdPr7B4fUq1avX0wJjSBKhvDBsL9AsbN5bSq-iAOY32dDo/s200/voltage+battery+input+01.png" width="200" height="120" data-original-width="1033" data-original-height="621" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnerRktxsZMRmLROFSVHfLbSip86HGwJcgsubc8oUoN8rfLq6nuqgmHjygH0x1OsyDnib0STNNNfpSgPn5p_KHiWxKeSSVPOFHL5H_3GqeXdgfjaWTwfYZmk4rC8YYZWlhLA3hEcRoeB8/s1600/voltage+battery+input+02.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnerRktxsZMRmLROFSVHfLbSip86HGwJcgsubc8oUoN8rfLq6nuqgmHjygH0x1OsyDnib0STNNNfpSgPn5p_KHiWxKeSSVPOFHL5H_3GqeXdgfjaWTwfYZmk4rC8YYZWlhLA3hEcRoeB8/s200/voltage+battery+input+02.png" width="200" height="120" data-original-width="1034" data-original-height="620" /></a></div>
Instead of the usual 1.5V regulator, I powered the boards from a bench power supply and varied the input voltage with a resolution of 10mV. The trackers were set up to transmit a telemetry packet every 2 seconds. The charts above then show the input voltage measured by TT7B's ADC from all transmitted packets. That implies that where there is a horizontal line in the chart, the tracker stopped working as I brought the input voltage too low. The chart on the left shows a test with initial firmware where I swept the whole range of possible Energizer Ultimate Lithium voltages (1.85V down to roughly 0.9V) and continued decreasing it until the tracker stopped operating. Around 0.7V the behavior began to be unreliable with a number of resets. In reaction to that, I added a condition at the beginning of the MCU's firmware to stay in a low power loop until the ADC measures an input voltage above 0.75V. The resulting behavior can be seen in the chart on the right. Another reason for this condition was that previously the tracker was continually entering high current operation followed by a reset at the unstably low voltages. That should be now avoided in case the battery gets too cold and its voltage collapses. To answer the original question, the behavior of both trackers was in this test identical. I didn't manage to lock the MCU at any point as was the worry and the reason for including the MCU supervisor in the first place. It doesn't necessarily mean, however, that the MCU with this power supply can't lock at different circumstances.<br />
<br />
<br />
<b>Flight Code</b><br />
With the main blocks of TT7B addressed above, this section will focus on the <code>main()</code> function of the tracker's firmware. The following code snippets can be expanded to reveal the discussed part of the code. Full TT7B firmware can be found on <a href="https://github.com/TomasTT7/TT7B-Tracker/tree/master/Software">Github</a>. Individual functions are organized in respective libraries based on their purpose and name. For example, the declaration of <code>ADC_enable()</code> is located in <code>L21_ADC.h</code> and its definition in <code>L21_ADC.c</code>.<br />
<br />
<button class="collapsible">Code Snippet</button>
<div class="panel"><pre>/* Initialization */
SystemInit();
WatchDog_enable(0x0B);
uint8_t last_reset = RSTC_get_reset_source();
SysTick_delay_init();
/* Initialize BOD33 */
SUPC_BOD33_disable();
SUPC_BOD33_set_level(1);
SUPC_BOD33_enable();
/* Initialize RTC */
OSC_enable_XOSC32K();
RTC_mode0_enable(0x0B, 2764800);
RTC_mode0_set_count(0);</pre></div>
<br />
By default, the microcontroller starts executing instructions at a frequency of 4MHz provided to the Main Clock (MCLK) by an internal oscillator (OSC16M). As a part of the initialization section, WatchDog timer is enabled with a 16 second period, the external TCXO (SiT1552) is enabled, and a Real Time Counter (RTC) with a period of 31.25ms, sourced from the TCXO, is enabled as well. I also had to decrease the trigger level of a Brown-Out Detector (BOD33) to about 1.55V. Otherwise, the tracker was experiencing random BOD resets since the 1.8V main power supply was quite close to the default BOD level.<br />
<br />
<button class="collapsible">Code Snippet</button>
<div class="panel"><pre>/* XOSC32K */
GCLK_x_enable(0, 5, 1, 0, 0);
SysTick_CLK = 32768;
/* Minimum Battery Voltage */
while(batt_V_raw < 841)
{
ADC_enable(0, 5, 1, 6, 4, 0);
batt_V_raw = ADC_sample_channel_x(0x07);
ADC_disable();
SysTick_delay_s(1);
/* WatchDog Reset */
WatchDog_reset();
}
/* OSC16M */
GCLK_x_enable(0, 6, 0, 0, 0);
SysTick_CLK = 4000000;</pre></div>
<br />
Based on findings in the previous Reset Supervisor section, a test for a minimum battery voltage level (0.75V) was included after each power-up or reset. Over the course of the test, the Main Clock is sourced from the 32kHz TCXO (XOSC32K) to minimize power consumption.<br />
<br />
<button class="collapsible">Code Snippet</button>
<div class="panel"><pre>/* Initialize Sensors */
PORT_switch_enable(2);
/* MS5607 Calibrations and Measurements */
SERCOM_SPI_enable();
MS5607_cmd_Reset(1, 0);
MS5607_cmd_Reset(2, 0);
SysTick_delay_ms(5);
MS5607_cmd_PROMread(1);
MS5607_cmd_PROMread(2);
MS5607_cmd_Convert(1, 0x48);
SysTick_delay_ms(10);
uint32_t MS1_pres_raw = MS5607_cmd_ADCread(1);
MS5607_cmd_Convert(1, 0x58);
SysTick_delay_ms(10);
uint32_t MS1_temp_raw = MS5607_cmd_ADCread(1);
MS5607_cmd_Convert(2, 0x48);
SysTick_delay_ms(10);
uint32_t MS2_pres_raw = MS5607_cmd_ADCread(2);
MS5607_cmd_Convert(2, 0x58);
SysTick_delay_ms(10);
uint32_t MS2_temp_raw = MS5607_cmd_ADCread(2);
SERCOM_SPI_disable();
/* ADC Measurements */
ADC_enable(0, 5, 1, 6, 4, 0);
batt_V_raw = ADC_sample_channel_x(0x07);
uint16_t therm1_raw = ADC_sample_channel_x(0x12);
uint16_t therm2_raw = ADC_sample_channel_x(0x13);
ADC_disable();
/* Sensors - Power-Down */
PORT_switch_disable(2);</pre></div>
<br />
An initial setup of the sensors circuit is performed. Power to the circuit is delivered at the beginning and stopped at the end of this block of code. Communication with the two MS5607s is established via SPI interface running at 2MHz (MCLK / 2). After an initial reset of the modules, the MCU requests and stores calibration values from each sensor. A series of commands initiating pressure and temperature conversions at highest resolution and consequent data acquisition follows. The time it takes to do the MS5607 measurements is enough for the ADC channel input capacitors to charge, so the MCU's ADC is enabled running at 2MHz, referenced to VDDANA, and producing 64 times averaged results. SPI, ADC and the whole sensors circuit are then disabled and powered down.<br />
<br />
<button class="collapsible">Code Snippet</button>
<div class="panel"><pre>/* Initialize VEML6030 */
PORT_switch_enable(3);
PORT_switch_enable(4);
SERCOM_I2C_enable(4000000, 90000);
VEML6030_disable();
SysTick_delay_ms(50);
SERCOM_I2C_disable();
PORT_switch_disable(4);
PORT_switch_disable(3);
</pre></div>
<br />
The light sensor is initialized by powering the 3.3V circuit and the I<sup>2</sup>C voltage lever translator. The I<sup>2</sup>C interface is set up at 90kHz, and a disable command is sent to the sensor for now. The whole circuit is then powered down again.<br />
<br />
<button class="collapsible">Code Snippet</button>
<div class="panel"><pre>/* Initialize GPS */
PORT_switch_enable(1);
SERCOM_USART_enable(4000000, 9600);
ZOE_M8B_send_message((uint8_t*) 0xFF, 1);
SysTick_delay_ms(500);
ZOE_M8B_set_port(3);
SysTick_delay_ms(1500);
SERCOM_USART_disable();
SERCOM_USART_enable(4000000, 115200);
clear_buffer(GPS_buffer, 110);
ack = ZOE_M8B_get_port(GPS_buffer, 230000);
uint32_t baud_val = (GPS_buffer[16] << 16) | (GPS_buffer[15] << 8) | GPS_buffer[14];
if(ack != 1 || baud_val != 115200)
{
baud_val = 9600;
SERCOM_USART_disable();
SERCOM_USART_enable(4000000, baud_val);
}
/* WatchDog Reset */
WatchDog_reset();
ack = ZOE_M8B_power_saving(0);
ack = ZOE_M8B_set_GNSS_system(1);
ack = ZOE_M8B_set_update_rate(3);
ack = ZOE_M8B_set_dynamic_model(6);
ack = ZOE_M8B_save_current_configuration();
while(1)
{
/* WatchDog Reset */
WatchDog_reset();
clear_buffer(GPS_buffer, 110);
checksum = ZOE_M8B_get_solution(GPS_buffer, 230000);
if(checksum == 1)
{
ZOE_M8B_parse_solution(GPS_buffer, &year, &month, &day, &hour,
&min, &sec, &valid, &fixType, &gnssFixOK, &psmState,
&numSV, &lon, &lat, &hMSL, &hAcc, &vAcc, &pDOP);
if((valid & 0x04) == 0x04 || (valid & 0x03) == 0x03) valid_time = 1;
else valid_time = 0;
if(gnssFixOK && valid_time && numSV >= 7) break;
}
RTC_current = RTC_get_current_count();
if(RTC_current > 9600) break;
}
SERCOM_USART_disable();
PORT_switch_disable(1);</pre></div>
<br />
Next in line is initialization of the GNSS module. First, power must be enabled to the u-blox circuit. Then the USART interface is configured at the default 9600 baud rate, and a byte is sent to the module to wake it up. A short delay is needed before it is ready to respond to commands. The intention is to shorten the transmission time and run the USART communication at 115200 baud. This requires changing the input/output port settings which also disables the default periodic NMEA output. In case this is just an MCU reset and the GNSS module has already been configured, a delay of more than a second is necessary here, because when the module receives a large number of bytes in a second at a wrong baud rate, it disables the communication for the rest of that second. After that a series of commands selecting Continuous mode, GPS and QZSS only reception, 10Hz output frequency and Airborne dynamic model is sent to the module. The new configuration is saved so it can be restored on return from hardware backup. A 5 minute loop to allow the module to acquire satellite ephemerides is then entered. In case a valid fix and a solution from at least 7 satellites is acquired, the loop is escaped earlier. In the end, power to the circuit is disabled, and the module enters hardware backup mode. That concludes initialization. The following code snippets capture the course of events within the main loop.<br />
<br />
<button class="collapsible">Code Snippet</button>
<div class="panel"><pre>/* Main Loop */
while(1)
{
/* Counter Update */
count++;
/* WatchDog Reset */
WatchDog_reset();
/* GPS - Wake Up */
PORT_switch_enable(1);
SERCOM_USART_enable(4000000, baud_val);
ZOE_M8B_send_message((uint8_t*) 0xFF, 1);
SERCOM_USART_disable();
/* Sensors - Power-Up */
PORT_switch_enable(2);
/* MS5607 */
SERCOM_SPI_enable();
MS5607_cmd_Reset(1, 0);
MS5607_cmd_Reset(2, 0);
SysTick_delay_ms(5);
MS5607_cmd_Convert(1, 0x48);
SysTick_delay_ms(10);
MS1_pres_raw = MS5607_cmd_ADCread(1);
MS5607_cmd_Convert(1, 0x58);
SysTick_delay_ms(10);
MS1_temp_raw = MS5607_cmd_ADCread(1);
MS5607_cmd_Convert(2, 0x48);
SysTick_delay_ms(10);
MS2_pres_raw = MS5607_cmd_ADCread(2);
MS5607_cmd_Convert(2, 0x58);
SysTick_delay_ms(10);
MS2_temp_raw = MS5607_cmd_ADCread(2);
SERCOM_SPI_disable();
/* ADC Averaged */
ADC_enable(0, 5, 1, 6, 4, 0);
batt_V_raw = ADC_sample_channel_x(0x07);
therm1_raw = ADC_sample_channel_x(0x12);
therm2_raw = ADC_sample_channel_x(0x13);
ADC_disable();
/* Sensors - Power-Down */
PORT_switch_disable(2);
/* MS5607 - Results */
float MS1_pres, MS1_temp, MS2_pres, MS2_temp;
MS5607_calculate_results(1, MS1_pres_raw, MS1_temp_raw, &MS1_pres, &MS1_temp);
MS5607_calculate_results(2, MS2_pres_raw, MS2_temp_raw, &MS2_pres, &MS2_temp);
/* WatchDog Reset */
WatchDog_reset();
</pre></div>
<br />
The u-blox circuit is powered up again at the beginning of the main loop and left alone for a while to regain a positional fix. Meanwhile, the sensors circuit is powered up as well, and pressure and temperature readings are obtained from the MS5607 modules and ADC channels. After the circuit is powered down again, the MCU calculates the actual compensated pressure and temperature values.<br />
<br />
<button class="collapsible">Code Snippet</button>
<div class="panel"><pre> /* MCU Temperature Sensor */
uint32_t average_n = 64
uint32_t raw_collected = 0;
NVM_wait_states(3);
PM_set_performance_level(2, 0);
OSC_enable_DFLL48M_open();
GCLK_x_enable(0, 7, 15, 0, 0);
SysTick_CLK = 3200000;
SUPC_temperature_sensor(1);
ADC_enable(0, 0, 0, 0, 0, 63);
for(uint32_t i = 0; i < average_n; i++)
{
raw_collected += ADC_sample_channel_x(0x18);
}
uint16_t temp_sensor_raw = raw_collected / average_n;
ADC_disable();
SUPC_temperature_sensor(0);
float MCU_temp = ADC_temperature_mcu(temp_sensor_raw);
/* OSC16M */
GCLK_x_enable(0, 6, 0, 0, 0);
SysTick_CLK = 4000000;
OSC_disable_DFLL48M();
PM_set_performance_level(0, 0);
NVM_wait_states(0);
/* WatchDog Reset */
WatchDog_reset();
</pre></div>
<br />
The MCU's internal temperature sensor is sampled at specific settings detailed in the datasheet. The 48MHz Frequency Locked Loop (DFLL48M) is enabled which requires increasing the number of wait states when reading the Non-Volatile Memory and setting the MCU in Performance Level 2 first. GCLK[0] then divides the source signal to generate a 3.2MHz Main Clock. The temperature sensor and an internal voltage reference (INTREF) are enabled, and a series of ADC readings are averaged. After disabling the peripherals, the MCU calculates the actual result in degrees Celsius and returns back to the default 4MHz operation.<br />
<br />
<button class="collapsible">Code Snippet</button>
<div class="panel"><pre> /* VEML6030 */
PORT_switch_enable(3);
PORT_switch_enable(4);
SERCOM_I2C_enable(4000000, 90000);
VEML6030_enable(0b10, 0b1100);
SysTick_delay_ms(55);
uint16_t light_raw = VEML6030_get_measurement_result();
float ambient_light = VEML6030_calculate_lux(light_raw, 0b10, 0b1100);
if(light_raw < 20)
{
VEML6030_enable(0b01, 0b0000);
SysTick_delay_ms(205);
light_raw = VEML6030_get_measurement_result();
ambient_light = VEML6030_calculate_lux(light_raw, 0b01, 0b0000);
}
VEML6030_disable();
SERCOM_I2C_disable();
PORT_switch_disable(4);
PORT_switch_disable(3);
/* WatchDog Reset */
WatchDog_reset();
</pre></div>
<br />
The light sensor, after powering the 3.3V circuit up again, is first set up to take a low gain (1/8) short integration time (25ms) measurement. In case the result is below 37 lux, a follow-up measurement at a higher gain (2) and longer integration time (100ms) is undertaken before powering the circuit down again. The delay between enabling the sensor and reading a result is twice the integration time to ensure accurate measurements.<br />
<br />
<button class="collapsible">Code Snippet</button>
<div class="panel"><pre> /* GPS - Get Data */
SERCOM_USART_enable(4000000, baud_val);
while(1)
{
clear_buffer(GPS_buffer, 110);
checksum = ZOE_M8B_get_dynamic_model(GPS_buffer, 16000);
tout--;
if(!tout || checksum == 1) break;
}
if(tout)
{
/* Dynamic Model Check */
uint8_t dynamic_model = 0;
ZOE_M8B_parse_dynamic_model(GPS_buffer, &dynamic_model);
if(dynamic_model != 6)
{
clear_buffer(GPS_buffer, 110);
ack = ZOE_M8B_set_dynamic_model(6);
}
/* Data Acquisition */
while(1)
{
/* WatchDog Reset */
WatchDog_reset();
attempts++;
clear_buffer(GPS_buffer, 110);
checksum = ZOE_M8B_get_solution(GPS_buffer, 230000);
if(checksum == 1)
{
ZOE_M8B_parse_solution(GPS_buffer, &year, &month, &day,
&hour, &min, &sec, &valid, &fixType, &gnssFixOK,
&psmState, &numSV, &lon, &lat, &hMSL, &hAcc, &vAcc,
&pDOP);
if((valid & 0x04) == 0x04 || (valid & 0x03) == 0x03) valid_time = 1;
else valid_time = 0;
if(gnssFixOK && valid_time && numSV >= 5) break;
}
if(attempts > 600)
{
noGPS = 1;
reinit++;
break;
}
}
ack = ZOE_M8B_save_current_configuration();
}
else
{
noGPS = 1;
reinit++;
}
if(!noGPS) reinit = 0;
SERCOM_USART_disable();
PORT_switch_disable(1);
</pre></div>
<br />
After sensor data acquisition is finished, the code returns to the GNSS module. In case the module hasn't fully initialized after waking up yet, there is a timeout protected loop polling UBX-CFG-NAV5. After that the code checks whether the Dynamic Model is still set to Airborne and proceeds to poll the navigation message. The acquisition of positional data is limited to 60s (600 messages at 10Hz). The module either manages to produce a valid solution of at least 5 satellites, or proceeds without current positional data this time. After that, power to the u-blox circuit is shut down.<br />
<br />
<button class="collapsible">Code Snippet</button>
<div class="panel"><pre> /* Active Time */
RTC_current = RTC_get_current_count();
active_time = (uint16_t)((float)RTC_current * 0.3125);
if(active_time > 999) active_time = 999;
/* Backlog */
if((count % 10) == 0 && !noGPS)
{
uint8_t bck_buffer[37];
APRS_backlog_encode(bck_buffer, lat, lon, (uint16_t)hMSL, MCU_temp, therm1_raw,
therm2_raw, MS1_temp, MS2_temp, (uint32_t)MS1_pres, (uint32_t)MS2_pres,
year, month, day, hour, min, batt_V_raw, ambient_light, numSV,
active_time, last_reset);
APRS_backlog_store(bck_buffer, 37);
}
/* APRS Packet */
n = APRS_packet(aprs_buffer, (uint8_t *)"OK7DMT", 1, lat, lon, (uint16_t)hMSL, MCU_temp,
therm1_raw, therm2_raw, MS1_temp, MS2_temp, (uint32_t)MS1_pres, (uint32_t)MS2_pres,
batt_V_raw, ambient_light, numSV, active_time, last_reset, &backlog_index, noGPS);
APRS_prepare_bitstream(aprs_buffer, n);
/* WatchDog Reset */
WatchDog_reset();
</pre></div>
<br />
The MCU collects the last piece of information which is the elapsed time since the beginning of the loop to this moment expressed in tenths of a second. In case this is the tenth or a multiple of tenth iteration of the main loop (every ~20 minutes) and positional data were acquired this time, the current data are encoded and stored in the flash memory for a later use as another backlog. Then an APRS packet is constructed. In case positional data weren't acquired this time, the packet is constructed with a default null position <code>!0000.00N\\00000.00W.</code> instead. In the end a bit-stuffed NRZI bitstream is prepared based on the packet.<br />
<br />
<button class="collapsible">Code Snippet</button>
<div class="panel"><pre> /* GeoFenced Frequency */
uint32_t tx_frequency = GEOFENCE_frequency(lat, lon);
/* APRS Transmission */
if(tx_frequency > 144000000 && tx_frequency < 146000000)
{
/* FDPLL96M */
NVM_wait_states(3);
PM_set_performance_level(2, 0);
OSC_enable_FDPLL96M(0, 0, 1545, 14);
GCLK_x_enable(0, 8, 2, 0, 0);
SysTick_CLK = 25344000;
/* SI5351B & DAC */
PORT_switch_enable(3);
PORT_switch_enable(4);
SERCOM_I2C_enable(25344000, 90000);
SI5351B_init();
SI5351B_frequency(tx_frequency, 38);
GCLK_x_enable(2, 8, 12, 0, 0);
DAC_enable(1, 1);
SI5351B_enable_output();
TC0_enable(0x00, 660, 1);
TC4_enable(0x00, 360, 0);
TC0_transmission();
TC4_disable();
TC0_disable();
SI5351B_disable_output();
DAC_disable();
SI5351B_deinit();
SERCOM_I2C_disable();
PORT_switch_disable(4);
PORT_switch_disable(3);
/* XOSC32K */
GCLK_x_enable(0, 5, 1, 0, 0);
SysTick_CLK = 32768;
OSC_disable_FDPLL96M();
PM_set_performance_level(0, 0);
NVM_wait_states(0);
}
else
{
/* XOSC32K */
GCLK_x_enable(0, 5, 1, 0, 0);
SysTick_CLK = 32768;
}
/* WatchDog Reset */
WatchDog_reset();
</pre></div>
<br />
The information about current latitude and longitude is used to determine the proper transmit frequency according to a defined geofence. In case a valid frequency is obtained the code proceeds to run the Phase Locked Loop (FDPLL96M) at 50MHz and provide a precise 25MHz MCLK to generate the AFSK modulation. The 3.3V circuit is enabled and Si5351B initialized. The DAC and Timer Counter peripherals then carry out the transmission. After it is finished and all active peripherals disabled again, the MCU configures the Main Clock to run from the low power 32kHz TCXO.<br />
<br />
<button class="collapsible">Code Snippet</button>
<div class="panel"><pre> /* Sleep */
for(uint8_t i = 0; i < 12; i++)
{
RTC_mode0_update_compare(320);
PM_set_sleepmode(4, 0, 0, 0, 0, 0);
PM_sleep();
/* WatchDog Reset */
WatchDog_reset();
}
/* Wake-Up */
GCLK_x_enable(0, 6, 0, 0, 0);
SysTick_CLK = 4000000;
/* Force Reset Check */
if(reinit >= 5) RSTC_system_reset_request();
RTC_mode0_set_count(0);
}
</pre></div>
<br />
Since the WatchDog can't be disabled in Standby mode, a for loop to repeat a specific number of 10 second Standby periods followed by a reset of the WatchDog Timer is used to maintain the MCU in a low power mode for 2 minutes. Upon a wake-up, 4MHz operation is reinstated and the Real Time Counter is reset. In case there have been 5 or more consecutive failures to acquire current position, the MCU forces a System Reset Request so the GNSS module can be reinitialized. Otherwise, the main loop proceeds to the next iteration.<br />
<br />
<br />
<b>Consumption</b><br />
This section addresses current consumption of the tracker programmed with the described firmware. The data was collected by an Arduino MEGA's ADC input sampling the output of a <a href="https://tt7hab.blogspot.com/2018/02/the-current-custom.html">μCurrent</a> which measured the current flowing between a 1.5V Voltage Regulator and the tracker's battery input.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkS2R0Q3l6wi7V4C3_NtUPEQbY_Aa1zLOJB2JTADfJEkJSWo0SxCxpFBoghYYuFxKmLJqbGKDhcLCXNkZMHNPNjq0B2Ds24ZHMnNxfmvcUj3t3Iu_P1vQQsQNmcf8XGslsWs283ZEkcJY/s1600/consumption+4+5ms+01.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkS2R0Q3l6wi7V4C3_NtUPEQbY_Aa1zLOJB2JTADfJEkJSWo0SxCxpFBoghYYuFxKmLJqbGKDhcLCXNkZMHNPNjq0B2Ds24ZHMnNxfmvcUj3t3Iu_P1vQQsQNmcf8XGslsWs283ZEkcJY/s200/consumption+4+5ms+01.png" width="200" height="120" data-original-width="1031" data-original-height="619" /></a></div>
This chart shows the consumption during a period of activity upon the tracker's return from the 2 minute standby operation with a 5ms resolution. As the firmware dictates, the tracker first does all the sensor measurements which are then followed by little over 2 seconds of positional fix acquisition. The consumption then drops again after a half a second of packet transmission.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbs7aDorOEFCt-IEPxxk-YJNffwCaeRe8BMENVpLgQDB6KYPM2E8aSnO50aGoAaIqzKtDgNtM9hhIeHPvfH0Bg2-m06WGwYRdJ3VNhCCGC8Bcg5W4s1vhnpGVFT5jVX-vmi-7ZPkRG_Rg/s1600/consumption+4+1ms+01+2.PNG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbs7aDorOEFCt-IEPxxk-YJNffwCaeRe8BMENVpLgQDB6KYPM2E8aSnO50aGoAaIqzKtDgNtM9hhIeHPvfH0Bg2-m06WGwYRdJ3VNhCCGC8Bcg5W4s1vhnpGVFT5jVX-vmi-7ZPkRG_Rg/s200/consumption+4+1ms+01+2.PNG" width="200" height="120" data-original-width="1032" data-original-height="620" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLKW186gKIsxKtgTK_lRvb_2EBWSvn7MGEzaFxnD8aA_2KYIG9WUX1g3oj34t_h5SolLy6GgNRGPMYMb2u6v7S9OKOhPYOYE6JKhxkRuV7eqmrs7sUtGaQJsAIqECyfHSjrb11uW1AcCg/s1600/consumption+4+1ms+02+2.PNG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLKW186gKIsxKtgTK_lRvb_2EBWSvn7MGEzaFxnD8aA_2KYIG9WUX1g3oj34t_h5SolLy6GgNRGPMYMb2u6v7S9OKOhPYOYE6JKhxkRuV7eqmrs7sUtGaQJsAIqECyfHSjrb11uW1AcCg/s200/consumption+4+1ms+02+2.PNG" width="200" height="120" data-original-width="1033" data-original-height="619" /></a></div>
These two charts show the beginning and the end of another active period sampled with a 1ms resolution. Individual phases of the firmware execution can be clearly seen in the consumption. A roughly 60ms long period of sensor measurements with initial stages of u-blox initialization is followed by about 270ms of low light measurement. The significant peak in consumption is due to the whole 3.3V circuit including Si5351B being powered. After that the consumption comprises only positional fix acquisition. In the end, power to the u-blox module is cut and a roughly 500ms period of packet transmission precedes a 2 minute low power standby operation. Note that the chart shows a 1.5V output of an external regulator, while the ICs on the tracker operate at 1.8V and 3.3V. So for example the averaged 85.6mA current draw during packet transmission translates to more expected 39mA at 3.3V. Similarly, when evaluating consumption of the u-blox module, the values should be adjusted to 1.8V representation. Also note that the consumption during packet transmission is dependent on the actual antenna attached to the RF output. Here it was a 50Ω termination. In other measurements, a single quarter wavelength long wire was at the output, and the average current decreased to around 22.3mA (3.3V).<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3FoZh-aDLD9qXK1c0e3yYib2ahIJ43TkZd9lSRGMkxmvdVO-Deth34Uevg8pv8gjhmHcMqyvFapa9yWNG2Uf1dQkRCQXYQc04_4WXrq0K4tR_dCFN6HtueLbjaVpLbRPzk2RK_UPP4fk/s1600/IMG_3254+gps+sky+view.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3FoZh-aDLD9qXK1c0e3yYib2ahIJ43TkZd9lSRGMkxmvdVO-Deth34Uevg8pv8gjhmHcMqyvFapa9yWNG2Uf1dQkRCQXYQc04_4WXrq0K4tR_dCFN6HtueLbjaVpLbRPzk2RK_UPP4fk/s200/IMG_3254+gps+sky+view.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_iBQMTHcUEFY08zaCzkH7eljnbJqZYeQPV-pRzPr0cq94KJb2-fBVnniUfKuKGziN89KquT_-F7mIXjznEHzZy2tKqz4rsHQ5ie8-wLVgwQIXRbW7cHBhFZH986FKaijGxlrGJPQT0aE/s1600/gnss+active+times+comparison+01.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_iBQMTHcUEFY08zaCzkH7eljnbJqZYeQPV-pRzPr0cq94KJb2-fBVnniUfKuKGziN89KquT_-F7mIXjznEHzZy2tKqz4rsHQ5ie8-wLVgwQIXRbW7cHBhFZH986FKaijGxlrGJPQT0aE/s200/gnss+active+times+comparison+01.png" width="200" height="141" data-original-width="878" data-original-height="618" /></a></div>
The most variable factor in evaluating the overall consumption is the duration it takes the u-blox module to produce a valid positional solution. Whether it is due to poor signal conditions or one of the previously utilized satellites setting below the horizon, the active time is sometimes longer than a couple of seconds. The chart above shows the tracker's operation during two 8 hour periods. In the latter case, the tracker was placed inside a roofed terrace with obstructed view of sky by the rest of the house. While in the first case, I put the tracker on the top of the roof to try to get a better estimate of the necessary active times. A significant improvement from an average of 10.1s to 4.1s is clearly visible in the data.<br />
<div class="separator" style="clear: both; text-align: center;">
<br />
<table class="tg" style="display: inline-block;">
<tbody>
<tr>
<th class="tg-amwm">AVERAGE</th>
<th class="tg-amwm">t [s]</th>
<th class="tg-amwm">I [mA]</th>
<th class="tg-amwm">P<sub>f</sub> [mW]</th>
</tr>
<tr>
<td class="tg-yw47">Sensors (1.8V)</td>
<td class="tg-lyy6">0.060</td>
<td class="tg-lyy6">23.1</td>
<td class="tg-lyy6">0.017</td>
</tr>
<tr>
<td class="tg-yw47">Sensors (3.3V)</td>
<td class="tg-lyy6">0.164</td>
<td class="tg-lyy6">125.5</td>
<td class="tg-lyy6">0.247</td>
</tr>
<tr>
<td class="tg-yw47">u-blox only</td>
<td class="tg-lyy6">4.1</td>
<td class="tg-lyy6">47.6</td>
<td class="tg-lyy6">2.340</td>
</tr>
<tr>
<td class="tg-yw47">Transmission</td>
<td class="tg-lyy6">0.775</td>
<td class="tg-lyy6">65.0</td>
<td class="tg-lyy6">0.604</td>
</tr>
<tr>
<td class="tg-yw47">Standby</td>
<td class="tg-lyy6">120.0</td>
<td class="tg-lyy6">0.005</td>
<td class="tg-lyy6">0.007</td>
</tr>
</tbody></table>
<table class="tg" style="display: inline-block;">
<tbody>
<tr>
<th class="tg-amwm">POOR</th>
<th class="tg-amwm">t [s]</th>
<th class="tg-amwm">I [mA]</th>
<th class="tg-amwm">P<sub>f</sub> [mW]</th>
</tr>
<tr>
<td class="tg-yw47">Sensors (1.8V)</td>
<td class="tg-lyy6">0.060</td>
<td class="tg-lyy6">23.1</td>
<td class="tg-lyy6">0.016</td>
</tr>
<tr>
<td class="tg-yw47">Sensors (3.3V)</td>
<td class="tg-lyy6">0.270</td>
<td class="tg-lyy6">125.9</td>
<td class="tg-lyy6">0.389</td>
</tr>
<tr>
<td class="tg-yw47">u-blox only</td>
<td class="tg-lyy6">10.1</td>
<td class="tg-lyy6">50.0</td>
<td class="tg-lyy6">5.773</td>
</tr>
<tr>
<td class="tg-yw47">Transmission</td>
<td class="tg-lyy6">0.775</td>
<td class="tg-lyy6">85.6</td>
<td class="tg-lyy6">0.758</td>
</tr>
<tr>
<td class="tg-yw47">Standby</td>
<td class="tg-lyy6">120.0</td>
<td class="tg-lyy6">0.005</td>
<td class="tg-lyy6">0.007</td>
</tr>
</tbody></table>
</div>
<br />
These two tables summarize the previously highlighted stages of current consumption in two possible scenarios. The first operates with average durations of individual stages and average current draw. The second illustrates poor signal conditions combined with current draw maxima that were measured. The fourth column of each table represents a power consumption contribution to the total of the specific stage adjusted for its duration in the whole cycle. The sum of these is the tracker's average power consumption in milliwatts. All listed current values are as measured at 1.5V. It is apparent from the table that the largest contributor to overall consumption is the GNSS position acquisition.<br />
<div class="separator" style="clear: both; text-align: center;">
<br />
<table class="tg" style="display: inline-block;">
<tbody>
<tr>
<th class="tg-amwm">C<sub>AAA</sub> [Ah]</th>
<th class="tg-amwm">V [V]</th>
<th class="tg-amwm">E [Wh]</th>
</tr>
<tr>
<td class="tg-lyy6">1.25</td>
<td class="tg-lyy6">1.5</td>
<td class="tg-lyy6">1.875</td>
</tr>
</tbody></table>
</div>
<br />
The datasheet of Energizer Ultimate Lithium AAA battery (L92) shows its capacity to be around 1.25Ah and states a 1.5V nominal voltage. Using these values yields 1.875Wh of total energy available in the battery.<br />
<div class="separator" style="clear: both; text-align: center;">
<br />
<table class="tg" style="display: inline-block;">
<tbody>
<tr>
<th class="tg-amwm">P<sub>t</sub> [mW]</th>
<th class="tg-amwm">Eff. [%]</th>
<th class="tg-amwm">t [day]</th>
</tr>
<tr>
<td class="tg-lyy6">3.214</td>
<td class="tg-lyy6">94</td>
<td class="tg-lyy6">22.8</td>
</tr>
</tbody></table>
<table class="tg" style="display: inline-block;">
<tbody>
<tr>
<th class="tg-amwm">P<sub>t</sub> [mW]</th>
<th class="tg-amwm">Eff. [%]</th>
<th class="tg-amwm">t [day]</th>
</tr>
<tr>
<td class="tg-lyy6">6.943</td>
<td class="tg-lyy6">80</td>
<td class="tg-lyy6">9.0</td>
</tr>
</tbody></table>
</div>
<br />
These two tables take the total average power consumption of the two scenarios above and provide an estimate of how long the tracker could operate on a single AAA battery taking into account efficiency of the power transfer across the temperature range (datasheet stated internal resistance ranges from 0.14Ω to 0.9Ω). Using the average scenario, the TT7B tracker could potentially last up to 22 days. The second case could then potentially last up to 9 days. The longevity of a tracker running from a primary cell can be mainly improved by prolonging the low power standby period, or by designing the GNSS module's RF input properly and maximizing received signal strength along with ensuring omnidirectionality of the antenna setup.<br />
<br />
<br />
<b>TX Antenna</b><br />
Since long distance transmission wasn't necessary throughout development, just an unmatched short wire antenna was used for convenience. In flight, the tracker will utilize the following antenna.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTV4sTmZ3UlXv3XaR40ElNZlI-YnuTFAfqEZ_Jz0cgBh6iDoAKiAIh1027Xst7EnHEymmIm78Ggg6jj2EGQYg1tF85GR3xFtJsLOFQlpJ5T6zyAGkMTGfY6HcqE1PNV9wvo5i9TK6mgKg/s1600/balloon+system+02.PNG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTV4sTmZ3UlXv3XaR40ElNZlI-YnuTFAfqEZ_Jz0cgBh6iDoAKiAIh1027Xst7EnHEymmIm78Ggg6jj2EGQYg1tF85GR3xFtJsLOFQlpJ5T6zyAGkMTGfY6HcqE1PNV9wvo5i9TK6mgKg/s200/balloon+system+02.PNG" width="175" height="200" data-original-width="305" data-original-height="349" /></a></div>
Since the external sensors extend to inside the balloon, the tracker has to be close, so a half-wave dipole isn't feasible. A ground plane antenna begs the question: how to construct a light-weight ground plane that maintains its shape? After verifying the idea in 4nec2, I decided to go with just two ground elements that would be fastened to the balloon's seam.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHZD6kyRYkAFoq__xu6xy3PNzRvL-Ba4IcQT_FYvrC5p6nnvjcT0qiA7VVZ50btRi6bTUsqvdAlEFUtuXH-vtK0P3hcokUgj3c5amMA0YDpsculzp1QhcPJvlVYIFc1VfI-NWJwu5Tkus/s1600/antenna+gp+radiation+pattern+145mhz+02.PNG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHZD6kyRYkAFoq__xu6xy3PNzRvL-Ba4IcQT_FYvrC5p6nnvjcT0qiA7VVZ50btRi6bTUsqvdAlEFUtuXH-vtK0P3hcokUgj3c5amMA0YDpsculzp1QhcPJvlVYIFc1VfI-NWJwu5Tkus/s200/antenna+gp+radiation+pattern+145mhz+02.PNG" width="200" height="68" data-original-width="1600" data-original-height="546" /></a></div>
The basic structure and radiation pattern of the antenna can be seen in the image above. The model comprises the main vertical element 517mm in length and two ground elements made of 5 wires each. With length of 103.5mm per wire and a specific angle between individual wires, the structure imitates two ground plane elements 517mm in length each hanging along the balloon's seam. The 517mm element length corresponds to one quarter of a 145MHz wave. Initially, the antenna was modeled in free space made of material with zero resistivity. With the ground elements at a total angle of 22.9°, the feedpoint impedance was 36Ω+j8.75Ω resulting in an SWR of 1.47 at 145MHz. The bandwidth of this antenna considered as SWR<2:1 was 6.3MHz, while the peak gain was 1.8dBi.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbLgV88bxzvwAgHJVbzC4bQ7uD_sgmXxrtOjBxb3t0glk-swGtAfrElyYOGUi_yXXab5F1f5cCYV3HDSe7IBHHW11BHt6vU7y9I3-Wzli-X6MNw-4FJyxowzaryTfcqEdW60C4wRXqOKE/s1600/antenna+gp+balloon+diameter+91+02.PNG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbLgV88bxzvwAgHJVbzC4bQ7uD_sgmXxrtOjBxb3t0glk-swGtAfrElyYOGUi_yXXab5F1f5cCYV3HDSe7IBHHW11BHt6vU7y9I3-Wzli-X6MNw-4FJyxowzaryTfcqEdW60C4wRXqOKE/s200/antenna+gp+balloon+diameter+91+02.PNG" width="200" height="84" data-original-width="1348" data-original-height="567" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKO8gJ-HC0vCPEf3pXGE1hxDZmwCDtmd6egjYDY5RQfzNaF4RKkXluhUoTI0KA68o_vYOOGGhQqjEfJfROQzt2I-vlhhimrIcZ_wPgxFSXNVygELmhq0Wt6YvEACgsTcbYNJtL-T59zmc/s1600/antenna+gp+balloon+diameter+155+02.PNG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKO8gJ-HC0vCPEf3pXGE1hxDZmwCDtmd6egjYDY5RQfzNaF4RKkXluhUoTI0KA68o_vYOOGGhQqjEfJfROQzt2I-vlhhimrIcZ_wPgxFSXNVygELmhq0Wt6YvEACgsTcbYNJtL-T59zmc/s200/antenna+gp+balloon+diameter+155+02.PNG" width="200" height="84" data-original-width="1348" data-original-height="567" /></a></div>
One variable that influences the SWR of a ground plane antenna, specifically the feedpoint impedance, is the angle at which the ground elements are positioned with respect to the driven element. The angle values indicated here are referenced to a direction perpendicular to the driven element. In this specific case, the angle is determined by the diameter of the balloon. The two images above show an antenna hung underneath a balloon 0.91m in diameter (39.1°) and 1.55m in diameter (22.9°). The larger angle on a smaller balloon leads to an increase in feedpoint impedance to 44.5Ω+j12.65Ω which represents a better match to the feedline's 50Ω purely resistive impedance (SWR 1.34). It also decreases the antenna's resonant frequency (when feedpoint impedance is purely resistive) from 143.9MHz to 143.4MHz.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm">Material</th>
<th class="tg-amwm">ρ [nΩm]</th>
<th class="tg-amwm">μ<sub>r</sub></th>
<th class="tg-amwm">δ [μm]</th>
<th class="tg-amwm">R<sub>c</sub> [Ω]</th>
<th class="tg-amwm">Eff. [%]</th>
</tr>
<tr>
<td class="tg-yw47">Copper</td>
<td class="tg-lyy6">16.8</td>
<td class="tg-lyy6">1.0</td>
<td class="tg-lyy6">5.4</td>
<td class="tg-lyy6">2.7</td>
<td class="tg-lyy6">93.1</td>
</tr>
<tr>
<td class="tg-yw47">Brass</td>
<td class="tg-lyy6">70.0</td>
<td class="tg-lyy6">1.0</td>
<td class="tg-lyy6">11.1</td>
<td class="tg-lyy6">4.1</td>
<td class="tg-lyy6">89.8</td>
</tr>
<tr>
<td class="tg-yw47">Carbon Steel</td>
<td class="tg-lyy6">143.0</td>
<td class="tg-lyy6">100.0</td>
<td class="tg-lyy6">1.6</td>
<td class="tg-lyy6">38.9</td>
<td class="tg-lyy6">48.1</td>
</tr>
<tr>
<td class="tg-yw47">Stainless Steel</td>
<td class="tg-lyy6">690.0</td>
<td class="tg-lyy6">1.0</td>
<td class="tg-lyy6">34.7</td>
<td class="tg-lyy6">11.2</td>
<td class="tg-lyy6">76.2</td>
</tr>
</tbody></table>
<br />
Another variable that affects the antenna's performance is the material from which it is made. Since it is desirable the antenna weighs as little as possible, thin guitar strings have become popular source of antenna material on many trackers. A thin enameled magnet wire has also been frequently utilized particularly on HF frequencies. The guitar strings I've managed to get hold of are labeled as Bronze Wound .008p (0.2mm in diameter), High Carbon Steel (0.25mm) and Plain Steel .013p (0.33mm). The manufacturer doesn't share any more details on inner composition of the strings. Other sources suggest that underneath the winding there is typically a high carbon steel core in case of the wound strings. Although, there was no information on the thickness of the individual layers. The table above compares the antenna's performance when the driven element (0.2mm in diameter) is constructed from different materials. The two ground elements are in all cases modeled as copper wires 0.1mm in diameter to represent the magnet wire. The first column contains the material's resistivity $\rho$, the second relative magnetic permeability $\mu_{r}$, then the resulting skin depth $\delta$ at 145MHz, the conductor resistance $R_{c}$ of the whole antenna, and finally the resulting antenna efficiency assuming a 36Ω radiation resistance. The resistivity and permeability values in case of the steels should be taken only as an example, since in case of steel, there is a large variety of specific alloys with differing properties. It is apparent that the performance is deteriorated the most by materials with high magnetic permeability which is not a good news for the guitar strings I have, because all responded to a magnet when tested. On the other hand, both the Bronze Wound and Plain Steel guitar strings were verified to work sufficiently as antenna materials on my previous TT7F flights, or rather neither caused a noticeable reduction in transmission range at respective output powers. Similarly, the enameled copper magnet wire was proven to work as an antenna on TT7F6W which transmitted on both APRS and WSPR frequencies. Since the guitar strings were very thin (0.2mm) and the thickness of the bronze winding is unknown, it is unclear whether skin effect kept the currents in the low loss bronze layer, or the core material simply doesn't deteriorate the performance that much.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOwmUAlHnvCga7vf2uddcS8N3PevrwKx64LNgmXEEQzLumhTEjcJggUhZ6rwMhCFsNs7OF1WI2AvoNki1PNnApvXcxXg5HoT7SYZbIwGTVQ3A82Cf4zd6ZZVex7FMZiT3ELOYDKChiVsE/s1600/antenna+gp+final+02.PNG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOwmUAlHnvCga7vf2uddcS8N3PevrwKx64LNgmXEEQzLumhTEjcJggUhZ6rwMhCFsNs7OF1WI2AvoNki1PNnApvXcxXg5HoT7SYZbIwGTVQ3A82Cf4zd6ZZVex7FMZiT3ELOYDKChiVsE/s200/antenna+gp+final+02.PNG" width="200" height="82" data-original-width="1327" data-original-height="547" /></a></div>
Given all the variables discussed above, I decided to design the actual antenna with the following dimensions. The driven element from the Bronze Wound guitar string 509mm in length (k factor=0.985), and the two ground elements from the copper magnet wire 509mm in length each. An antenna structure with these dimensions modeled in 4NEC2 using its inbuilt loads (Copper 17.2nΩm and Stainless Steel 719.4nΩm to at least approximate the driven element) yielded a feedpoint impedance of 46Ω+j0.38Ω with 1.09 SWR at 145MHz, a bandwidth of 8.5MHz, an antenna efficiency of 75.2% and a peak gain of 0.53dBi.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDsIYDLgrZf9K1dftHTmyjWgigonngfmRik5kWO2cW-aurclWUqDawlsTK2WLJ0v0hFjPvGq0-AbwcW4gwoNNVbuBnvtkCG3HgGcucDweXLsoML_eQTX56uY_Aube9aCLxjHpl_VW93BA/s1600/IMG_3272+aprs+reception+test.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDsIYDLgrZf9K1dftHTmyjWgigonngfmRik5kWO2cW-aurclWUqDawlsTK2WLJ0v0hFjPvGq0-AbwcW4gwoNNVbuBnvtkCG3HgGcucDweXLsoML_eQTX56uY_Aube9aCLxjHpl_VW93BA/s200/IMG_3272+aprs+reception+test.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAaA8pHAA0OapuEfGcsWJh5XGxwZrfOnx3EeNd5XpN6GJGk83LdzXK7KiMpOEo72jwpCdhyphenhypheno9enAMSD01foEVntQge51nS5urnNpPA0oEkKeTACD96UTlYKtwzaX10sLeprCC80PZabqE/s1600/aprs+test+01.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAaA8pHAA0OapuEfGcsWJh5XGxwZrfOnx3EeNd5XpN6GJGk83LdzXK7KiMpOEo72jwpCdhyphenhypheno9enAMSD01foEVntQge51nS5urnNpPA0oEkKeTACD96UTlYKtwzaX10sLeprCC80PZabqE/s200/aprs+test+01.jpg" width="199" height="200" data-original-width="784" data-original-height="788" /></a></div>
Long distance transmission was tested with just the driven element without the two ground elements for convenience reasons. In this form and placement, the antenna uses the PCB and probably the external sensor's ground wire instead. It also interacts with the physical ground and has possibly significantly worse SWR. Despite that, all the low power packets were received by an iGate located 16km away from where I was. Although, I had to climb a hillside to get a good line-of-sight.<br />
<br />
<br />
<b>Final Performance Test</b><br />
Once all the individual parts described in the previous paragraphs were finished, it was time to see how the tracker performed on its own.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYqqwrh6jrBtXnwMurFd0Yg8lIN9isrfIRUxV3fRqEj6z2fsfu0dqzWP5asxoloZTj4hf6xybznp_mRtMXEwRe2oN1DVhSLSS3setwSpkohXdBBHgVQOc8KSQD0xRnpzRJWPpb3v0DC10/s1600/IMG_3246+final+test.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYqqwrh6jrBtXnwMurFd0Yg8lIN9isrfIRUxV3fRqEj6z2fsfu0dqzWP5asxoloZTj4hf6xybznp_mRtMXEwRe2oN1DVhSLSS3setwSpkohXdBBHgVQOc8KSQD0xRnpzRJWPpb3v0DC10/s200/IMG_3246+final+test.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJtiRpIMqYGfAonL50XLxOKmX13tKMhq3s5xdHOTarETU947MxGeHdDgp8roaF7IP-xFiiIK13R_Xz66ZOaA01y6QGm5ljclgPkiSCBbCu3qOJZSydurtZm-a-EgqYg3V-7tMDhXkA4KY/s1600/IMG_3247+final+test.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJtiRpIMqYGfAonL50XLxOKmX13tKMhq3s5xdHOTarETU947MxGeHdDgp8roaF7IP-xFiiIK13R_Xz66ZOaA01y6QGm5ljclgPkiSCBbCu3qOJZSydurtZm-a-EgqYg3V-7tMDhXkA4KY/s200/IMG_3247+final+test.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a></div>
The tracker was placed in a roofed portion of a terrace to shield it from the weather and left powered on for the following three days, while the <a href="https://tt7hab.blogspot.com/2019/01/the-aprs-igate.html">iGate</a> collected the transmitted packets. The positioning of the tracker, though, had a negative impact on the GPS reception as the house somewhat impaired the satellite signals.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6_VbxaESsLkRjK3YsU2GPSnQ_NTnByCoboYiPXe1vJEkkOdWTlGjUklO1XU7l-6I4Y4x_WQDLakS0Vxa4QnD4jiFyt9G-Xdt4_dDH4KYkmuyu5e5cH7LFgcBfiS_GamxHvGipb2M-eJk/s1600/final+test+01+temperature+01.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6_VbxaESsLkRjK3YsU2GPSnQ_NTnByCoboYiPXe1vJEkkOdWTlGjUklO1XU7l-6I4Y4x_WQDLakS0Vxa4QnD4jiFyt9G-Xdt4_dDH4KYkmuyu5e5cH7LFgcBfiS_GamxHvGipb2M-eJk/s200/final+test+01+temperature+01.png" width="200" height="120" data-original-width="1032" data-original-height="621" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGbNuG_ABqVDaicvuhvPr_3A4FjmCGnKqgaHZu0JA5dAd3mZDSvEIgdjX0MKr99JpLOPoa8nIQ-45SWiSll3JHUWGT7glIZ_Y2CNJ3jfY53Bzhr5uigZL5bK-xYy_lhrnn_PqQGWDtsAw/s1600/final+test+01+temperature+difference+01.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGbNuG_ABqVDaicvuhvPr_3A4FjmCGnKqgaHZu0JA5dAd3mZDSvEIgdjX0MKr99JpLOPoa8nIQ-45SWiSll3JHUWGT7glIZ_Y2CNJ3jfY53Bzhr5uigZL5bK-xYy_lhrnn_PqQGWDtsAw/s200/final+test+01+temperature+difference+01.png" width="200" height="120" data-original-width="1032" data-original-height="620" /></a></div>
The tracker stood by the window facing south, so it was exposed to direct irradiance when the clouds parted. The deviation between the two unshielded thermistors was less than 1°C most of the time with an occasional spike to 1.5-2.0°C. The temperature deviation between the two MS5607 modules was probably due to the uneven shielding and PCB heating a little more noticeable and the occasional spike more prominent (7°C). The enclosed environment also meant the measured temperature was relatively stable without too much air circulation.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEge76EY-7k29dqGYf_pmB4OPgzOPiIMTzjxCHtcHGhRGzv1-WvjveJnYTmj9_7Xlu2z2esMyRCgPFXaFSl88RfhVlic0XpodEpvVqQBoPCh9QojnTLUb06nsvI_4_ukpq3bBzYl6-TcVVI/s1600/final+test+01+pressure+01.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEge76EY-7k29dqGYf_pmB4OPgzOPiIMTzjxCHtcHGhRGzv1-WvjveJnYTmj9_7Xlu2z2esMyRCgPFXaFSl88RfhVlic0XpodEpvVqQBoPCh9QojnTLUb06nsvI_4_ukpq3bBzYl6-TcVVI/s200/final+test+01+pressure+01.png" width="200" height="120" data-original-width="1032" data-original-height="620" /></a></div>
As can be seen in the chart above, the pressure sensors maintained more or less the same pressure offset from each other throughout the whole test uninfluenced by the varying temperature. As for the absolute accuracy, there wasn't any calibrated pressure sensor to compare the results to, but there also weren't any apparent spikes in the data correlating to the modules' temperatures.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1yZEr0xSX6ZnrUTMNWWe7w7XUjVLRexpmlfgz9MRr1AKmCIghdolel_yC8PkhU78xHPpeU6Tw1f9NkRNwJkd6H69juRYzrhp6LDKJV_apPeCQka8h2zRRwvvjQLieVcc7aj6rQGh7uls/s1600/final+test+01+light+battery+01.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1yZEr0xSX6ZnrUTMNWWe7w7XUjVLRexpmlfgz9MRr1AKmCIghdolel_yC8PkhU78xHPpeU6Tw1f9NkRNwJkd6H69juRYzrhp6LDKJV_apPeCQka8h2zRRwvvjQLieVcc7aj6rQGh7uls/s200/final+test+01+light+battery+01.png" width="200" height="120" data-original-width="1031" data-original-height="619" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8RL7jRqhLw9VeDqbYxUqoFI4bG23w7dx9efJgbG2IW1GvwxMH3itv0P-5DBmyZwgq2JN7ML-MQmaSdbHMiz4VozXyGgl161yuVsJk63xqOMCitITm8GZsx7lfEE6xL7UiHK6PxIIg9MI/s1600/final+test+01+time+satellites+01.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8RL7jRqhLw9VeDqbYxUqoFI4bG23w7dx9efJgbG2IW1GvwxMH3itv0P-5DBmyZwgq2JN7ML-MQmaSdbHMiz4VozXyGgl161yuVsJk63xqOMCitITm8GZsx7lfEE6xL7UiHK6PxIIg9MI/s200/final+test+01+time+satellites+01.png" width="200" height="120" data-original-width="1031" data-original-height="618" /></a></div>
The ambient light curve in the chart above complements the temperature data in providing an evidence of semi-cloudy skies during the first two days and a complete cloud cover on the third (note the logarithmic scale). The battery voltage ADC channel once again measured the stable 1.5V regulator output and showed a slight error (9mV) during peak solar irradiance of the main boost converter in accordance with previous findings. The second chart shows that in most cases the positional solution was resolved based on signals from 5 GPS satellites while in a few instances the module utilized up to 8 satellites. The recorded active times then averaged 9.4s due to the unideal placement of the tracker. On several occasions during the same time of day (similar geometry of the satellite constellation), the tracker even failed to acquire a valid fix in under the timeout of 60s.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEho2rJMEz5as83YEeQufe7zfP8j_nxZGuJE7Ypj5UE9P9QOna0ELUNVtmhF1_ifdCIKbDGVKRyx2uLhTQ1de8J-_cUtyubhoXMQOXUutCkV4ODAGUyUbbI8d1mdwT0ycD4caHm1eeI-QQA/s1600/Figure_1+avg+2019-03-17_05+final.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEho2rJMEz5as83YEeQufe7zfP8j_nxZGuJE7Ypj5UE9P9QOna0ELUNVtmhF1_ifdCIKbDGVKRyx2uLhTQ1de8J-_cUtyubhoXMQOXUutCkV4ODAGUyUbbI8d1mdwT0ycD4caHm1eeI-QQA/s200/Figure_1+avg+2019-03-17_05+final.jpg" width="200" height="144" data-original-width="909" data-original-height="655" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7RHG9Qum-Tq5KkZQPnpvcksutgftgYQFgYRZeNb9Ejqw9vgbcCvqLsleDcV2HrY0GOoaF4tNNY-tyIBcSOhFziG5CzeelSqz_EAhC8RhRxpbXm0zjqKomTyLfzJcuiTiXwBXWiDETXoQ/s1600/final+test+01+altitude+01.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7RHG9Qum-Tq5KkZQPnpvcksutgftgYQFgYRZeNb9Ejqw9vgbcCvqLsleDcV2HrY0GOoaF4tNNY-tyIBcSOhFziG5CzeelSqz_EAhC8RhRxpbXm0zjqKomTyLfzJcuiTiXwBXWiDETXoQ/s200/final+test+01+altitude+01.png" width="200" height="120" data-original-width="1031" data-original-height="618" /></a></div>
The obstructed view of sky influenced the accuracy of the positional solutions as well as documented by the above plot and altitude chart. The average deviation from the real position in three dimensions was 34.1m compared to 26.7m for when the tracker was on the roof. There was also a couple of instances where the deviation, horizontal or vertical, surpassed 400m. But again, the performance is much better when the tracker has unobstructed view of sky.<br />
<br />
<br />
<b>Conclusion</b><br />
At this point the tracker is firmware-wise and hardware-wise ready for a flight that would assess its performance in the actual environment it was intended for. All the necessary information to build a TT7B tracker including the firmware, PCB schematic and board design can be found in this blog post, the previous <a href="https://tt7hab.blogspot.com/2018/09/the-tt7b-tracker.html">post</a> and the <a href="https://github.com/TomasTT7/TT7B-Tracker">Github</a> repository.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTGHyCfsBoVhXLfjI1VdGiJt0dC7UJceM84tmF3nNdncQ0YGNaATek1bTzduIqY8ZOqJ4X16ps-x9iHe42kw1TqKljhP3bBPDK_R0jJDjWLkgndadrd6iEFUTARd0fdEBiSEgkKDm0GrU/s1600/IMG_3263+TT7B+tracker+mass.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTGHyCfsBoVhXLfjI1VdGiJt0dC7UJceM84tmF3nNdncQ0YGNaATek1bTzduIqY8ZOqJ4X16ps-x9iHe42kw1TqKljhP3bBPDK_R0jJDjWLkgndadrd6iEFUTARd0fdEBiSEgkKDm0GrU/s200/IMG_3263+TT7B+tracker+mass.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-b-9ejLPK0e8as-5s6ZcHqZFnHeCKiC0cP4DGeTXx7S19dSastcbRkW0f80hd7uwYsOkt-8uinW6nehQ73fSdhe5amK53i3bz4PkdfiKGlauh4BPVT2krGqk9FMhTiJAb6HIv18uGm7Q/s1600/IMG_3266+TT7B+tracker+mass.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-b-9ejLPK0e8as-5s6ZcHqZFnHeCKiC0cP4DGeTXx7S19dSastcbRkW0f80hd7uwYsOkt-8uinW6nehQ73fSdhe5amK53i3bz4PkdfiKGlauh4BPVT2krGqk9FMhTiJAb6HIv18uGm7Q/s200/IMG_3266+TT7B+tracker+mass.JPG" width="200" height="150" data-original-width="1080" data-original-height="810" /></a></div>
The finished tracker without the two magnet wire ground plane elements (a couple tenths of a gram each) weighs around 2.5g. With a AAA Energizer Ultimate Lithium the total reaches about 10.2g. Assuming a potential insulation and a couple of wires/contacts to attach the battery to the board, the final mass could be around 12-13g.<br />
<br />
<br />
<b>Notes</b><br />
While I was working on the firmware, I put together a second tracker as the soldering paste I had was approaching its expiration date.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg54K4J90SFqw0uaK8r0Ad9wVFQgWKYan_5Aclj72AErIs88g8erqfPmf38sLL5sRvlCRHj3S4Ufo2aGhrSFxF8ytMUJTxDodLg4hyBYxAd6Ssi1lEcK_qiJgKSm8YeINU3PKVN_AALpR8/s1600/IMG_2874+TT7B_2+solder+paste+print_small.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg54K4J90SFqw0uaK8r0Ad9wVFQgWKYan_5Aclj72AErIs88g8erqfPmf38sLL5sRvlCRHj3S4Ufo2aGhrSFxF8ytMUJTxDodLg4hyBYxAd6Ssi1lEcK_qiJgKSm8YeINU3PKVN_AALpR8/s200/IMG_2874+TT7B_2+solder+paste+print_small.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVCtg8AtfQW6epf344KzF9hq6JNh_p100CFzHApjIcVX1GiLj65p5j-jut_YexWQDaJbN-8StT02RdYBPUKALYvIZANvi3qERhYWnILmarKCq8usWUYeowhaVqxaiPjPfesQ9OkPrpCyE/s1600/IMG_2881+TT7B_2+components+arranged_small.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVCtg8AtfQW6epf344KzF9hq6JNh_p100CFzHApjIcVX1GiLj65p5j-jut_YexWQDaJbN-8StT02RdYBPUKALYvIZANvi3qERhYWnILmarKCq8usWUYeowhaVqxaiPjPfesQ9OkPrpCyE/s200/IMG_2881+TT7B_2+components+arranged_small.JPG" width="200" /></a></div>
This time, probably due to its old age, the paste was drier and printed much better without spilling around and creating undesired solder joints.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzgYMNEx6ylHEaOF1VMkgSwnML-1b4mmC19MlacZ8kSPRCl0lcuQYJsPTOy4WX2YFAzza6XGhqric6hS081Nqx0AcfFKhWHY_iOHo_Nw4X0kiONrKvh9ieIgYhwK_ujFpuRkesh1hZoRE/s1600/IMG_2888+TT7B_2+reflown+tracker_small.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzgYMNEx6ylHEaOF1VMkgSwnML-1b4mmC19MlacZ8kSPRCl0lcuQYJsPTOy4WX2YFAzza6XGhqric6hS081Nqx0AcfFKhWHY_iOHo_Nw4X0kiONrKvh9ieIgYhwK_ujFpuRkesh1hZoRE/s200/IMG_2888+TT7B_2+reflown+tracker_small.JPG" width="200" /></a></div>
I did have to, however, fiddle with the 3.3V regulator and a heat gun this time before it worked properly. I think I may have created a solder joint prior to reflow when placing the regulator on top of the printed paste a bit too harshly, because the battery voltage was originally leaking to the 3.3V circuit when it was disabled.<br />
<br />
<b>Note:</b> In the end, I desoldered the TPS3831 supply voltage monitor from the second tracker as well. The reason was that the relatively high threshold voltage (1.628V-1.695V) kept causing too many unnecessary external resets particularly at lower temperatures resulting in gaps in the backlog. A lower threshold model such as TPS3831E16 (1.482-1.543V) should be tested.<br />
<script>
var coll = document.getElementsByClassName("collapsible");
var i;
for (i = 0; i < coll.length; i++) {
coll[i].addEventListener("click", function() {
this.classList.toggle("active");
var panel = this.nextElementSibling;
if (panel.style.maxHeight) {
panel.style.maxHeight = null;
} else {
panel.style.maxHeight = panel.scrollHeight + "px";
}
});
}
</script>TT7http://www.blogger.com/profile/11095378058232471221noreply@blogger.com8tag:blogger.com,1999:blog-7063183727921268380.post-87578812169088806942019-02-03T19:38:00.002+01:002019-02-03T19:38:25.876+01:00The Vacuum Chamber<style type="text/css">
.tg {border-collapse:collapse;border-spacing:0;border-color:#ccc;}
.tg td{font-family:Arial, sans-serif;font-size:12px;padding:5px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#ccc;color:#333;background-color:#fff;}
.tg th{font-family:Arial, sans-serif;font-size:12px;font-weight:normal;padding:5px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#ccc;color:#333;background-color:#f0f0f0;}
.tg .tg-amwm{font-weight:bold;text-align:center;vertical-align:top}
.tg .tg-yw47{vertical-align:top}
.tg .tg-lyy6{text-align:right;vertical-align:top}
</style>
Further work on <a href="https://tt7hab.blogspot.com/2018/09/the-tt7b-tracker.html">TT7B</a> eventually led me to testing sensors with which the tracker was equipped. While the current winter period provided a number of natural test environments for sub-zero temperatures, pressure at ground level stays more or less the same, relatively speaking. The idea of checking how the two sensors intended to measure ambient and gas pressures perform, though, kept entertaining my mind. Several Youtube videos and some time on Ebay later, I decided to build a cheap simple vacuum chamber.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEie6CM9gvU9rTZD-yvmElkeCbp-ZfV8WM-DuHLoiDhTsxZbTBZ5icSMdngw_Iw7g-HGuSXL-G_lwuF0lxqbPPysAWDhKJA3s9oqZRfbwE5kQMaZwbbRsG04HIamoGDp51DpOEFFs4pYZrw/s1600/IMG_3028+gauge+and+valves.JPG" imageanchor="1"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEie6CM9gvU9rTZD-yvmElkeCbp-ZfV8WM-DuHLoiDhTsxZbTBZ5icSMdngw_Iw7g-HGuSXL-G_lwuF0lxqbPPysAWDhKJA3s9oqZRfbwE5kQMaZwbbRsG04HIamoGDp51DpOEFFs4pYZrw/s200/IMG_3028+gauge+and+valves.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8EjALFbDVKLTBSqg8BX4TmUYRvhLYUugoy8F4DqTaVMdjl_a_TIniu87BmxmQSrDyPF_bM4vA3LPjIJMWK0hJc4KbskJdva7biQA5e96PY8g30yPvRWrdd_RMuQsvdVpELReU5yv_tzA/s1600/IMG_3031+vacuum+pump.JPG" imageanchor="1"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8EjALFbDVKLTBSqg8BX4TmUYRvhLYUugoy8F4DqTaVMdjl_a_TIniu87BmxmQSrDyPF_bM4vA3LPjIJMWK0hJc4KbskJdva7biQA5e96PY8g30yPvRWrdd_RMuQsvdVpELReU5yv_tzA/s200/IMG_3031+vacuum+pump.JPG" width="200" /></a></div>
Having seen a number of homebrew designs, the vacuum pump was typically the most expensive part of the setup. I decided to go with a small pump advertised on Ebay as VN-C3 sold for about €22 which was specified to be able to achieve -80kPa at 10l/min. That would give me pressure levels of around 200hPa which in Earth's atmosphere correspond to altitudes of about 12km. Ebay also lists the pump's more expensive cousin VN-C4 specified to -85kPa. The two valves, also from Ebay, were chosen to fit the same tubing as the pump's inlet - 6mm inner diameter. The vacuum gauge was included just to quickly provide rough information about the conditions inside.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTHnutZs4eNamGAIbkUCc7Ray4V-s30hrYDcNSnJedX8G0nzn-p0NJRFPLYDzWSyI2r7NwFIvuQBggWl0lPKdqj_YEJGJH1RoW0gOsOVX5oGqgfk1lpAgZ3QdITXDJHx-dy053hAQYVSg/s1600/IMG_3018+glass+jar.JPG" imageanchor="1"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTHnutZs4eNamGAIbkUCc7Ray4V-s30hrYDcNSnJedX8G0nzn-p0NJRFPLYDzWSyI2r7NwFIvuQBggWl0lPKdqj_YEJGJH1RoW0gOsOVX5oGqgfk1lpAgZ3QdITXDJHx-dy053hAQYVSg/s200/IMG_3018+glass+jar.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-aikt5KKR3p0oNQxFyKqDnUsZC5xMzjwCAT0CPZVeJig1B9K4w1aGqCjYOxghGpfv151sQ4icU3LBSjyzK9uWbYj8s0_bKZmQOlCtPrMyLq8a60Z_h2NQ5y48YNaG9k4q5bF24Iy7fcw/s1600/IMG_3036+materials.JPG" imageanchor="1"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-aikt5KKR3p0oNQxFyKqDnUsZC5xMzjwCAT0CPZVeJig1B9K4w1aGqCjYOxghGpfv151sQ4icU3LBSjyzK9uWbYj8s0_bKZmQOlCtPrMyLq8a60Z_h2NQ5y48YNaG9k4q5bF24Iy7fcw/s200/IMG_3036+materials.JPG" width="150" /></a></div>
Since the objective was to test TT7B, I looked for such a 'chamber' part of the setup that would fit inside itself a whole tracker. The choice, eventually, fell on a 4.25l glass jar generally sold for food preservation. It was 273mm tall and 158mm in diameter. A 100mm screw lid fit the opening at the top.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDhhSxleDGmDD0o60ZFDXk_bc6ERl3W2q-asWkKf_BWs1WSv6wdvWgvlWwT0JwERvH-ZyuYNdfuA2i9K4-sw9sF_XYvNdSVhzL_Pcrf9uOGAHA9DMjLBqCMBloWK-4BBYq-9pC950gz0Q/s1600/IMG_3061+lid+with+gauge+and+valves.JPG" imageanchor="1"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDhhSxleDGmDD0o60ZFDXk_bc6ERl3W2q-asWkKf_BWs1WSv6wdvWgvlWwT0JwERvH-ZyuYNdfuA2i9K4-sw9sF_XYvNdSVhzL_Pcrf9uOGAHA9DMjLBqCMBloWK-4BBYq-9pC950gz0Q/s200/IMG_3061+lid+with+gauge+and+valves.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyH05M61vkZA0eWztWkKdhDAdlIk2WTHjAmL_R5xbzNeBG_1JClCS2-GtsiPDYf71jSBsHu3Th189aj5NUDgrbRhr8uhyphenhypheni8sEol-MuYsnQKpq0Te1WVyLqV8HFa5k1OvL5qBRXnKnpZZ0/s1600/IMG_3065+lid+with+gauge+and+valves.JPG" imageanchor="1"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyH05M61vkZA0eWztWkKdhDAdlIk2WTHjAmL_R5xbzNeBG_1JClCS2-GtsiPDYf71jSBsHu3Th189aj5NUDgrbRhr8uhyphenhypheni8sEol-MuYsnQKpq0Te1WVyLqV8HFa5k1OvL5qBRXnKnpZZ0/s200/IMG_3065+lid+with+gauge+and+valves.JPG" width="200" /></a></div>
The idea was to drill three holes through the lid and fixate the two valves and the gauge in with a silicone sealant. Prior to applying the sealant, I filed the metal surface off the lid and the component a bit to help with adhesion. It is not the most robust solution, but it serves its purpose when handled carefully.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlFCWQFqEmpvMwuUBIjRWaG-5fTw7uSXaF3ym85c1WOQm_ffYYZJlZW7OqDhQhGknzKePgnDbYGseloKDb1RSU7uLheDvpa9qs6xdPGSJwmXkP9uSm1yTNALsH_gMeupR5LCRkjS8WoUI/s1600/IMG_3068+vacuum+chamber.JPG" imageanchor="1"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlFCWQFqEmpvMwuUBIjRWaG-5fTw7uSXaF3ym85c1WOQm_ffYYZJlZW7OqDhQhGknzKePgnDbYGseloKDb1RSU7uLheDvpa9qs6xdPGSJwmXkP9uSm1yTNALsH_gMeupR5LCRkjS8WoUI/s200/IMG_3068+vacuum+chamber.JPG" width="150" /></a></div>
The reason for two valves was to be able to allow air in the chamber without the need to disconnect the pump. The chamber can also be sealed once the air is sucked out, and the pump can be disconnected, while the chamber maintains the low pressure.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxmMyHCHlxUB5VRNhnuWqHlMIYUP1A-WQXjDyBt158wD1CjSR8MCsmF1PJgVMamW5ekBjCVmTANiGiTMBBofPahMZpWqlJoQ6dAgb1526xaQOU_BGdrRPErutSRTan86KgnJI8qC0bn_U/s1600/IMG_3073+vacuum+chamber+complete.JPG" imageanchor="1"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxmMyHCHlxUB5VRNhnuWqHlMIYUP1A-WQXjDyBt158wD1CjSR8MCsmF1PJgVMamW5ekBjCVmTANiGiTMBBofPahMZpWqlJoQ6dAgb1526xaQOU_BGdrRPErutSRTan86KgnJI8qC0bn_U/s200/IMG_3073+vacuum+chamber+complete.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjT6klhY1aEk_ymVVDOeRlOLaB3fdcELjHHFQeluGrRc5adUvOf60HsB3SzdH2d7brOUXOknfxu0Ty4i3nTo7ZSIhqMTcr1jYNMV77KZ75pFpXCRlCzsLuUpN4Ib61R1DdH7uNA5Q6eTwA/s1600/IMG_3082+pump+diode.JPG" imageanchor="1"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjT6klhY1aEk_ymVVDOeRlOLaB3fdcELjHHFQeluGrRc5adUvOf60HsB3SzdH2d7brOUXOknfxu0Ty4i3nTo7ZSIhqMTcr1jYNMV77KZ75pFpXCRlCzsLuUpN4Ib61R1DdH7uNA5Q6eTwA/s200/IMG_3082+pump+diode.JPG" width="200" /></a></div>
This is the complete setup. The 12V DC pump is powered and controlled via a bench power supply. The only thing I added was a Schottky flyback diode across the pump's terminals to take care of the inductive kickback when the supply is switched off. When a low pressure level is attained and the supply is turned off, the pump is able to maintain the pressure level even without sealing the valve.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhacTRgzT2zmY_u7f9uYkH_igKkgZnCScl0pzEKbIve6J-gi2a3jujzkyiOG9E5g_-EyH2sNHMAEhrnP4vVIhQYBGqENX_NdenrOsbTJS8sPgK1ttdGhRULAzbyn3xuWHuY581fvlIGzDo/s1600/IMG_3084+tracker+test.JPG" imageanchor="1"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhacTRgzT2zmY_u7f9uYkH_igKkgZnCScl0pzEKbIve6J-gi2a3jujzkyiOG9E5g_-EyH2sNHMAEhrnP4vVIhQYBGqENX_NdenrOsbTJS8sPgK1ttdGhRULAzbyn3xuWHuY581fvlIGzDo/s200/IMG_3084+tracker+test.JPG" width="200" /></a></div>
For a test run, I put TT7B equipped with two pressure sensors inside the chamber. The tracker fits in with a temporary wire antenna that can be bent. The data were transmitted in a form of an APRS packet every 2 seconds and received locally with my <a href="https://tt7hab.blogspot.com/2019/01/the-aprs-igate.html">iGate</a>.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5-N5IwMUTBZ9xbn6GQOKbZRF81m1IoB8YftXJ27-xtvmHZeNlRJvvssZe3FDTA5XT1dyqCSGb8uVDBwwVkT0oluBJGbcU79HjsMdvsmDEn1HkN6GPTGWemfqcKLPtA94hRbz80GS2Bws/s1600/IMG_3092+tracker+test.JPG" imageanchor="1"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5-N5IwMUTBZ9xbn6GQOKbZRF81m1IoB8YftXJ27-xtvmHZeNlRJvvssZe3FDTA5XT1dyqCSGb8uVDBwwVkT0oluBJGbcU79HjsMdvsmDEn1HkN6GPTGWemfqcKLPtA94hRbz80GS2Bws/s200/IMG_3092+tracker+test.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDZxdPhdL6h51iLtiLsIx_-IeDwlXsD3qi-rBPk7n7D1i-3_gJ2D4izj2ioSNARoF0GadEuIROrRhRFfcX6_yxRfu71XJLLFOhn5tGRXX2JgDCjs6JW80xOy9GoPDcqe0Ppzo7t0W868Q/s1600/IMG_3095+tracker+test.JPG" imageanchor="1"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDZxdPhdL6h51iLtiLsIx_-IeDwlXsD3qi-rBPk7n7D1i-3_gJ2D4izj2ioSNARoF0GadEuIROrRhRFfcX6_yxRfu71XJLLFOhn5tGRXX2JgDCjs6JW80xOy9GoPDcqe0Ppzo7t0W868Q/s200/IMG_3095+tracker+test.JPG" width="200" /></a></div>
The mechanical gauge eventually settled at -0.07MPa. After that I stopped the pump and left the chamber intact for about 10 minutes before slightly opening the second valve.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhg8FQHwri1UfClLLeOZJymVHXChjKDG2YHnCs0Mh7DhBT8Ke02R6_5HbgviJANH8D4942cU00RaEMqkujXgXL6zI6tDfjW-g2vWg-uNHYm1T3Qw2u1afCJ_7ofSnVAR-CdHGokpcYrp1A/s1600/test+pressure+measurement+01.png" imageanchor="1"><img border="0" data-original-height="620" data-original-width="1032" height="120" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhg8FQHwri1UfClLLeOZJymVHXChjKDG2YHnCs0Mh7DhBT8Ke02R6_5HbgviJANH8D4942cU00RaEMqkujXgXL6zI6tDfjW-g2vWg-uNHYm1T3Qw2u1afCJ_7ofSnVAR-CdHGokpcYrp1A/s200/test+pressure+measurement+01.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSrHDOUhmUhJ1yrwBMSLvl_yU-ARiMc4nP1ySZSEbKunO6CKrGq3taurllHiCFh3s2UErOBqUmk5r5v1wjrVyCqOZza5I0mK4ckdgA-70hyphenhyphen6JCsx5cTu58BaeLxc5RcingmjrnahTHEOM/s1600/standard+atmosphere+pressure+01.png" imageanchor="1"><img border="0" data-original-height="620" data-original-width="1032" height="120" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSrHDOUhmUhJ1yrwBMSLvl_yU-ARiMc4nP1ySZSEbKunO6CKrGq3taurllHiCFh3s2UErOBqUmk5r5v1wjrVyCqOZza5I0mK4ckdgA-70hyphenhyphen6JCsx5cTu58BaeLxc5RcingmjrnahTHEOM/s200/standard+atmosphere+pressure+01.png" width="200" /></a></div>
The received data can be seen in the chart on the left. From initial pressure of 95300Pa the pump took the insides of the chamber down to 18800Pa in about 5 minutes. Without closing the main valve, the pressure held by the powered off pump crept up by 450Pa in the roughly 10 minute period. The chart on the right then shows pressure vs. altitude according to the International Standard Atmosphere model. The model puts the 200hPa level achievable with this chamber to an altitude of 11.8km. More or less the expected float altitude of a potential flight.<br />
<div class="separator" style="clear: both; text-align: center;">
<br />
<table class="tg" style="display: inline-block;">
<tbody>
<tr>
<th class="tg-amwm" colspan="4">Prostejov: 49.46° 17.13°</th>
</tr>
<tr>
<td class="tg-yw47"></td>
<td class="tg-lyy6">min [m]</td>
<td class="tg-lyy6">max [m]</td>
<td class="tg-lyy6">diff [m]</td>
</tr>
<tr>
<td class="tg-yw47">200hPa</td>
<td class="tg-lyy6">11240</td>
<td class="tg-lyy6">12320</td>
<td class="tg-lyy6">1080</td>
</tr>
<tr>
<td class="tg-yw47">1000hPa</td>
<td class="tg-lyy6">-41</td>
<td class="tg-lyy6">328</td>
<td class="tg-lyy6">369</td>
</tr>
</tbody></table>
<table class="tg" style="display: inline-block;">
<tbody>
<tr>
<th class="tg-amwm" colspan="4">Brownsville, TX: 25.93° -97.48°</th>
</tr>
<tr>
<td class="tg-yw47"></td>
<td class="tg-lyy6">min [m]</td>
<td class="tg-lyy6">max [m]</td>
<td class="tg-lyy6">diff [m]</td>
</tr>
<tr>
<td class="tg-yw47">200hPa</td>
<td class="tg-lyy6">12010</td>
<td class="tg-lyy6">12520</td>
<td class="tg-lyy6">510</td>
</tr>
<tr>
<td class="tg-yw47">1000hPa</td>
<td class="tg-lyy6">23</td>
<td class="tg-lyy6">281</td>
<td class="tg-lyy6">258</td>
</tr>
</tbody></table>
</div>
<br />
To accompany the standard atmosphere model with some real data, I went through a year worth of data from two weather stations that do regular atmospheric soundings, and wrote down the extremes for a 200hPa level and a 1000hPa level - roughly sea level. The first station is quite close to where I am and launches balloons from a latitude of 49.5° in the Northern Hemisphere. The extremes of 2018 for the 200hPa level were roughly 1000m apart. As the second station, I chose Brownsville in Texas which is much closer to the equator at a latitude of 26°. There, the yearly extremes were only about 500m apart with the maximum a couple hundred meters higher than here in the Czech Republic.<br />TT7http://www.blogger.com/profile/11095378058232471221noreply@blogger.com4tag:blogger.com,1999:blog-7063183727921268380.post-65697313836490005582019-01-25T23:59:00.000+01:002019-01-26T02:25:58.693+01:00The APRS iGate<style>
pre{display: block;font-family: monospace;white-space: pre;margin: 1em 0;tab-width: 4;}
code{background: #e9e9e9;}
</style>
While working on <a href="https://tt7hab.blogspot.com/2018/09/the-tt7b-tracker.html">TT7B</a>, I found a need to do long term tests of the GPS module, the temperature and pressure sensors, and overall tracker operation. These were typically carried out by transmitting APRS packets with the desired information. The need to run the SDR software to receive the packets, though, kept taking its toll on my PC's performance, so eventually I began contemplating offloading the reception to something dedicated to the task. The solution I liked the most constituted running the software defined radio and the respective demodulating/decoding software on a Raspberry Pi.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLpxLn4zJGJbSZBl3ge1MhIVcLxfN8pjUQqubgXZMU0rySOOGJDgQ-rW0dLQ5zPG_B4YrV7jhQ-9dFW0gNMDXRBRBlCP6k6bU0Iw-4I1OilFG9mlkaRWP2KAu9PJ3NdCd5R5azGurG3Sw/s1600/IMG_2972+raspberry+pi+zero+w+sd+card.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLpxLn4zJGJbSZBl3ge1MhIVcLxfN8pjUQqubgXZMU0rySOOGJDgQ-rW0dLQ5zPG_B4YrV7jhQ-9dFW0gNMDXRBRBlCP6k6bU0Iw-4I1OilFG9mlkaRWP2KAu9PJ3NdCd5R5azGurG3Sw/s200/IMG_2972+raspberry+pi+zero+w+sd+card.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3tT_ohyphenhyphen-pOUWuHrFDa3BL1VxKY0uENKGrJ9cT6EsYHe3znZb2xiBlmHQCtYfDLrOqxndCWrovQ9XhDUHzsPjGGg7ZsJie_x4TwwdwWf82NCO3foLnBoyL_65EbdP36kM_VsEvrB_S2GQ/s1600/IMG_2978+rtl-sdr+dongle.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3tT_ohyphenhyphen-pOUWuHrFDa3BL1VxKY0uENKGrJ9cT6EsYHe3znZb2xiBlmHQCtYfDLrOqxndCWrovQ9XhDUHzsPjGGg7ZsJie_x4TwwdwWf82NCO3foLnBoyL_65EbdP36kM_VsEvrB_S2GQ/s200/IMG_2978+rtl-sdr+dongle.JPG" width="200" /></a></div>
The model I opted for was the smallest and least power hungry board from the family - the Raspberry Pi Zero W. It was crucial to choose the W version, which came with in-built Wi-Fi and Bluetooth interfaces, because I intended to operate the Pi 'headless'. Meaning without a monitor, mouse, or keyboard, but accessing it remotely via Secure Shell (SSH), or Virtual Network Computing (VNC). On the radio side of things, I utilized the RTL-SDR Blog V.3 dongle that has been part of all my previous receiving setups.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilnuorJ8qLTzRnPH6Av9yhOtYJa6soMHmnkjTwcFDtwfOmp9C2bN-7bLoBclp0cj8A5REgdby73NZhucMsvmBuqm9hMSduq8zvFtRTWme9S_uyEl8RhfP2i8xOX_tkakyeT2saf7UFC6U/s1600/IMG_2983+iGate+portable+setup.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilnuorJ8qLTzRnPH6Av9yhOtYJa6soMHmnkjTwcFDtwfOmp9C2bN-7bLoBclp0cj8A5REgdby73NZhucMsvmBuqm9hMSduq8zvFtRTWme9S_uyEl8RhfP2i8xOX_tkakyeT2saf7UFC6U/s200/IMG_2983+iGate+portable+setup.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyb7nupBDql2jT8iBD5YE2KXR2553vXibhJXeehnANcpAkqlwJsNPaE2363gB-neUXNhChwwAL4CMVnJfn8eW7RnhWDTroV-pCdu2lsLcb1OiGHMV188VqIQ-YshRn6NF7EEhI8j7QiXQ/s1600/IMG_2986+iGate+stationary+setup.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyb7nupBDql2jT8iBD5YE2KXR2553vXibhJXeehnANcpAkqlwJsNPaE2363gB-neUXNhChwwAL4CMVnJfn8eW7RnhWDTroV-pCdu2lsLcb1OiGHMV188VqIQ-YshRn6NF7EEhI8j7QiXQ/s200/IMG_2986+iGate+stationary+setup.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
Aside from the Pi, an SD card, the RTL-SDR dongle, and a male micro B to female type A USB adapter cord, I needed only a 5V power source. That introduced two possibilities. Either a portable version supplied by a 5Ah power bank, or a stationary setup fed by a 5V wall adapter. The choice depends on the circumstances of the specific test I intend to do.<br />
<br />
I had a basic idea of how this setup was supposed to work from back when I read the Direwolf <a href="https://github.com/wb2osz/direwolf/tree/master/doc">documentation</a> which included a couple of PDFs detailing running the software on a Raspberry Pi. But a more recent Google search on the topic produced a very neatly done summary of the necessary steps to make the iGate work by Keith G6NHU. In the beginning, I followed his initial <a href="http://qso365.co.uk/2017/02/a-guide-to-setting-up-an-aprs-receive-only-igate-using-a-raspberry-pi-and-an-rtl-sdr-dongle/">post</a> to do the basic installations, but as Raspbian was released in a new version (Stretch) since the time of the writing, the later stages slightly differ. Some of the newer steps are outlined in Keith's follow-up <a href="http://qso365.co.uk/2018/04/updated-guide-to-setting-up-an-aprs-rx-only-igate-using-a-raspberry-pi-rtl-sdr-dongle-and-a-pre-built-image/">post</a>. Since there are some differences, I will detail the steps I had to do to make my setup work in the following paragraphs.<br />
<br />
I started by downloading Raspbian Stretch with desktop and recommended software (1.8GB) released on November 13, 2018 from raspberrypi.org download page. The unzipped file grew to a 5.3GB image which was then flashed using Win32DiskImager (version 0.9) on to the formatted 16GB SD card.<br />
<br />
With the SD card still plugged in my PC, I accessed the drive, now called 'boot', with a file manager and created two additional files there which would serve to provide the Pi with necessary information about my local Wi-Fi network and enable SSH access.<br />
<pre>country=CZ
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
	ssid="network_name"
	psk="network_password"
	key_mgmt=WPA-PSK
}
</pre>
The first file was called <code>wpa_supplicant.conf</code> and contained information in the format above. In my case 'country' being 'CZ' for the Wi-Fi frequency bands allocated in the Czech Republic, 'ssid' for the name of my WiFi network, and 'psk' for the password to my network. The second file was empty and called <code>ssh</code> without any extension.<br />
<br />
Now for the following instructions, I plugged the SD card in the Raspberry Pi and provided it with a 5V power supply. After the initial boot sequence, the Pi, under the default hostname <code>raspberrypi</code>, showed up in my Wi-Fi router's client list with a newly assigned local IP address, specifically <code>192.168.0.137</code>. At this point I installed PuTTY (version 0.7) on my PC which is a terminal emulator that can establish an SSH connection between the Pi and a Windows running PC.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1gGEwEbI0OfnEg_zjrLSL99-EBuv2lxKsUduSXFPCNI1f_ABtCw00n9fgJ8-fpAyLw9y3nLznznPJPvs80PJwvq0tOPF1n5rL7o-nhN9E4j9c6wtrCUEYc3V7LpN5nA3K_DUoRA1ui6E/s1600/ssh+login+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="419" data-original-width="667" height="125" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1gGEwEbI0OfnEg_zjrLSL99-EBuv2lxKsUduSXFPCNI1f_ABtCw00n9fgJ8-fpAyLw9y3nLznznPJPvs80PJwvq0tOPF1n5rL7o-nhN9E4j9c6wtrCUEYc3V7LpN5nA3K_DUoRA1ui6E/s200/ssh+login+01.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicrsy97e8_i2-2NYXegMDIvO-H_lTC41_iuOcg5kX9H05aStCx7kRoNvHZB6nTb2gWR4Oyde4sQXujRR0UbtIbpEEESjr4Us8RdiCdNbfLvwS0VAF86g0B_m6_1dvErXAga7aXN_TMRz0/s1600/ssh+raspi-config+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="418" data-original-width="665" height="125" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicrsy97e8_i2-2NYXegMDIvO-H_lTC41_iuOcg5kX9H05aStCx7kRoNvHZB6nTb2gWR4Oyde4sQXujRR0UbtIbpEEESjr4Us8RdiCdNbfLvwS0VAF86g0B_m6_1dvErXAga7aXN_TMRz0/s200/ssh+raspi-config+01.png" width="200" /></a></div>
After having PuTTY open a connection to the IP address obtained from my router, the Raspberry Pi asked for a default login which was <code>pi</code> and a default password which was <code>raspberry</code>. These defaults should be modified following typing this command in the terminal:<br />
<code>sudo raspi-config</code><br />
The command brought up a menu that can be seen in the image above where I changed the password, the default hostname (in my case to <code>pizero1</code>), expanded the filesystem on the SD card, in boot options selected <code>Desktop/CLI</code> and then <code>Desktop Autologin</code>, and also enabled VNC in case I wanted to see the Pi's desktop as well instead of just the terminal.<br />
<br />
Following that I created a new user which would be used in the remainder of instructions. This also automatically created <code>/home/pizero1/</code> folder which would contain the upcoming installations and data.<br />
<code>sudo adduser pizero1</code><br />
To utilize the new user fully, it had to be added to a group of users with superuser access which was done with the following command.<br />
<code>sudo visudo</code><br />
And adding the following line <code>pizero1 ALL=(ALL) ALL</code> below the original pi user.<br />
<br />
Prior to moving on to installing software for the receiver, I updated the currently installed packages to their latest versions since some time had passed since the operating system was released.<br />
<code>sudo apt-get update</code><br />
<code>sudo apt-get dist-upgrade</code><br />
This step in the end took quite a while before the Pi downloaded and installed all the packages. About 10-20 minutes.<br />
<br />
The Direwolf documentation mentions issues with Pulseaudio and suggests removing it if it is installed.<br />
<code>sudo apt-get remove --purge pulseaudio</code><br />
<code>sudo apt-get autoremove</code><br />
<code>rm -rf /home/pi/.pulse</code><br />
<br />
In case the system requires a reboot at any point.<br />
<code>sudo reboot now</code><br />
<br />
Instead of Pulseaudio, Direwolf uses libasound2-dev package.<br />
<code>sudo apt-get install libasound2-dev</code><br />
<br />
The installation of Direwolf itself started with navigating to the user's home directory and cloning the current repository from Github (version 1.5 in my case).<br />
<code>cd ~</code><br />
<code>git clone https://www.github.com/wb2osz/direwolf</code><br />
<code>cd ~/direwolf</code><br />
<code>make</code><br />
<code>sudo make install</code><br />
<code>make install-rpi</code><br />
<code>make install-conf</code><br />
<br />
This was followed by installation of the software for the RTL-SDR dongle.<br />
<code>cd ~</code><br />
<code>sudo apt-get install cmake build-essential libusb-1.0-0-dev</code><br />
<code>git clone git://git.osmocom.org/rtl-sdr.git</code><br />
<code>cd rtl-sdr</code><br />
<code>mkdir build</code><br />
<code>cd build</code><br />
<code>cmake ../ -DINSTALL_UDEV_RULES=ON -DDETACH_KERNEL_DRIVER=ON</code><br />
<code>make</code><br />
<code>sudo make install</code><br />
<code>sudo ldconfig</code><br />
<br />
Now after returning back to the user's home directory.<br />
<code>cd ~</code><br />
I could see that Direwolf had placed a generic <code>direwolf.conf</code> file there which the running instance bases its behaviour on. For example, if the file specifies a directory or a file for a log, Direwolf saves every decoded packet to a log file. If login, password and server are specified, Direwolf uploads received packets to the Internet database. Since I intended to use the Pi sometimes as an iGate and sometimes just for logging data locally, I made two copies of the original config file and modified them accordingly.<br />
<code>cp direwolf.conf /home/pizero1/dw_offline.conf</code><br />
<code>cp direwolf.conf /home/pizero1/dw_igate.conf</code><br />
<br />
For the data logging usage, the only two modifications in <code>dw_offline.conf</code> were an added line at the end of the file specifying the directory and file for the packet log, and a line enabling Data Carrier Detect (DCD) signal on the Pi's GPIO21 to blink an LED whenever Direwolf detects a packet.<br />
<code>DCD GPIO 21</code><br />
<code>LOGFILE /home/pizero1/dw_offline.log</code><br />
<br />
In case of the iGating setup, the modifications in <code>dw_igate.conf</code> consisted of the same additions as previously, but also a few more lines specifying the receiving station's callsign, the European APRS server to upload the packets, and a beacon message of the receiving station itself (both latitude and longitude in the example below belong on the same line). The password for a specific callsign can be obtained at this <a href="http://apps.magicbug.co.uk/passcode/">link</a>. Most of these lines were already present in the config file but commented out.<br />
<code>MYCALL OK9STS</code><br />
<code>DCD GPIO 21</code><br />
<code>IGSERVER euro.aprs2.net</code><br />
<code>IGLOGIN OK9STS 20905</code><br />
<code>PBEACON sendto=IG delay=0:30 every=60:00 symbol="igate" overlay=R lat=49^28.14N long=018^09.05E</code><br />
<code>LOGFILE /home/pizero1/dw_igate.log</code><br />
<br />
To allow the DCD blinking LED functionality, the user has to be a part of gpio group, so Direwolf is granted access to the Pi's pins.<br />
<code>sudo adduser pizero1 gpio</code><br />
<br />
The idea behind this setup is that whenever the Pi is powered up, it boots up and automatically runs the receiving software, so it can start demodulating and decoding packets without any intervention from the user. To achieve this, I had to setup a systemd service for rtl_fm and Direwolf. The original description of this approach comes from <a href="https://groups.yahoo.com/neo/groups/direwolf_packet/conversations/messages/2629?guccounter=1">this</a> post by Josh VK2HFF. I started by creating a file with the following contents.<br />
<code>sudo nano /etc/systemd/system/direwolf.service</code><br />
<pre>[Unit]
Description=Direwolf service
After=sound.target
[Service]
User=root
ExecStart=/usr/local/bin/dw.sh
Restart=always
[Install]
WantedBy=multi-user.target
DefaultInstance=1
</pre>
After that I created another file, which was the process the service starts in ExecStart, with the following contents.<br />
<code>sudo nano /usr/local/bin/dw.sh</code><br />
<pre>#!/bin/sh
PATH=/bin:/usr/bin:/usr/local/bin
unset LANG
rtl_fm -f 144.80M - | direwolf -c /home/pizero1/dw_igate.conf -r 24000 -D 1 -
</pre>
The process is a shell script with a command to run the demodulator rtl_fm at a center frequency of 144.8MHz and pipe the output to the decoder's input - Direwolf. In this case, Direwolf uses the dw_igate.conf file to set up its behaviour. Also the script file had to be made executable.<br />
<code>sudo chmod +x /usr/local/bin/dw.sh</code><br />
<br />
At this point, all that remained was to enable the service to always start at boot.<br />
<code>sudo systemctl enable direwolf</code><br />
Starting at boot can also be disabled by:<br />
<code>sudo systemctl disable direwolf</code><br />
Or to immediately start or stop the enabled service:<br />
<code>sudo systemctl start direwolf</code><br />
<code>sudo systemctl stop direwolf</code><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGTvwygMnNSLWhMt45yjHw9MTDRtmyB6SnRmSWY0negxqJFt6vjy30YFOPTEXeWjq72XT041ViYlSVtZlr7D291F6jNZQVz2SxmUmdpIMPnQw-lixDEK7X-67oYHdAiUaCyfTqVkSAWkg/s1600/ssh+direwolf+service+status+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="419" data-original-width="666" height="125" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGTvwygMnNSLWhMt45yjHw9MTDRtmyB6SnRmSWY0negxqJFt6vjy30YFOPTEXeWjq72XT041ViYlSVtZlr7D291F6jNZQVz2SxmUmdpIMPnQw-lixDEK7X-67oYHdAiUaCyfTqVkSAWkg/s200/ssh+direwolf+service+status+01.png" width="200" /></a></div>
Status of the service along with the latest output can be displayed by typing:<br />
<code>sudo systemctl status direwolf</code><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidEc4Tj68cxm0JtHfijKsrIp__FJzdq8w2MY5bIyFermIQ_2Zp1h9luVEp_qQ4thnONgHf3dqDyB_S5ft80nSj0h4LL2WYZzIxEBKp5JOV5Dm-tOubYQriin74RiqBhAFh4SkCoV4al9s/s1600/ssh+journalctl+02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="418" data-original-width="665" height="125" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidEc4Tj68cxm0JtHfijKsrIp__FJzdq8w2MY5bIyFermIQ_2Zp1h9luVEp_qQ4thnONgHf3dqDyB_S5ft80nSj0h4LL2WYZzIxEBKp5JOV5Dm-tOubYQriin74RiqBhAFh4SkCoV4al9s/s200/ssh+journalctl+02.png" width="200" /></a></div>
There is also the possibility to view Direwolf's live output in the terminal by typing:<br />
<code>sudo journalctl -o cat -af -u direwolf</code><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDbGZKwYn4XuB_6kzsxjRN_Hsc0axBZ4YzpVPj2oYQOPFgI3npJE7moieapglTXNcFMlYpGCPjgePoFbf86PL4PbKAjUJjnBFYuCmernYstJBPwa_IVYyuzYOtN-vzafdYlpq_qFDgjK0/s1600/aprsfi+igate+04.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="789" data-original-width="1041" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDbGZKwYn4XuB_6kzsxjRN_Hsc0axBZ4YzpVPj2oYQOPFgI3npJE7moieapglTXNcFMlYpGCPjgePoFbf86PL4PbKAjUJjnBFYuCmernYstJBPwa_IVYyuzYOtN-vzafdYlpq_qFDgjK0/s200/aprsfi+igate+04.png" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0LjE5JEuf-rpV9husV9BUfrEYEm_zv-NJFbHengiSp0BuwjSfTuYoXOXff4U-WjtXp2CVU0bNMYfPWJIhY7N18aHXJgza7E7wGXK2EaFPJxDsjbeuWeiZnyucOdZ_nG7tkJO5HWU-auw/s1600/aprsfi+igate+06.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="221" data-original-width="1041" height="41" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0LjE5JEuf-rpV9husV9BUfrEYEm_zv-NJFbHengiSp0BuwjSfTuYoXOXff4U-WjtXp2CVU0bNMYfPWJIhY7N18aHXJgza7E7wGXK2EaFPJxDsjbeuWeiZnyucOdZ_nG7tkJO5HWU-auw/s200/aprsfi+igate+06.PNG" width="200" /></a></div>
Here is the station shown on <a href="https://aprs.fi/">aprs.fi</a>, and the uploaded raw packets can be found there as well. The transmitter in this case doesn't show up on the map, because it didn't send its position. This all for the iGating setup. The remaining paragraphs focus on data logging.<br />
<br />
The data logging setup without uploading the packets to the Internet required a few more steps. First, I switched the config file based on which Direwolf sets itself up.<br />
<code>sudo nano /usr/local/bin/dw.sh</code><br />
<pre>rtl_fm -f 144.80M - | direwolf -c /home/pizero1/dw_offline.conf -r 24000 -D 1 -
</pre>
Back when I ran RTL-SDR and Direwolf on my PC, I had trouble with Direwolf's inbuilt packet logging occasionally dropping characters in my non-standard packets. I solved that by using <code>kissutil.exe</code>, normally distributed with Direwolf, which used to save each raw packet in a separate file on the disk. For the Raspberry Pi, however, I decided to write my own script that would connect to the Direwolf's KISS output instead of kissutil, and would store and parse the raw packets in a way I wanted.<br />
<br />
<code>Kiss.py</code> simply connects to <code>localhost</code> at port <code>8001</code> which is opened by Direwolf, and which is where Direwolf communicates via the KISS protocol. The script simply waits for data sent by Direwolf which when Direwolf successfully decodes are the raw packets, then parses the data, attaches a timestamp, and saves the result on a new line in <code>kiss.log</code>. The script can be found <a href="https://github.com/TomasTT7/TT7B-Tracker/blob/master/Accessories/kiss.py">here</a>.<br />
<br />
First, I copied the written python script to the Raspberry Pi. Since I was on a Windows PC, I had to use <code>pscp.exe</code> which comes with PuTTY. In Windows command line, I navigated to the directory where <code>kiss.py</code> was storred and ran the following command:<br />
<code>"C:\Program Files\PuTTY\pscp.exe" kiss.py pizero1@192.168.0.137:</code><br />
After logging into the Pi again, I made the python script, which was now in the user's home directory, executable.<br />
<code>sudo chmod +x kiss.py</code><br />
The other thing I had to do to make this work was modifying <code>dw.sh</code> to run the python script as well.<br />
<code>sudo nano /usr/local/bin/dw.sh</code><br />
<pre>#!/bin/sh
PATH=/bin:/usr/bin:/usr/local/bin
unset LANG
sleep 5 && python /home/pizero1/kiss.py &
rtl_fm -f 144.80M - | direwolf -c /home/pizero1/dw_offline.conf -r 24000 -D 1 -
</pre>
This way the script executes the 5s sleep command followed by running kiss.py in parallel to rtl_fm and Direwolf. The 5s period is there to allow Direwolf to start and open the 8001 port first.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUKJi28cGQnvCtdpIErJY4ByjQrivKLvtljxprolsoDsctQ_LWQKSFoqInCQLeNJqU-zcB6hEwbG6dQnAiMw45qOVw-SY5FUSZQj1PerVmzmfbRVyo-eAUYNCIWY-m8IrzuBa0e5uq3ME/s1600/ssh+nano+dw_offline_log+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="419" data-original-width="667" height="125" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUKJi28cGQnvCtdpIErJY4ByjQrivKLvtljxprolsoDsctQ_LWQKSFoqInCQLeNJqU-zcB6hEwbG6dQnAiMw45qOVw-SY5FUSZQj1PerVmzmfbRVyo-eAUYNCIWY-m8IrzuBa0e5uq3ME/s200/ssh+nano+dw_offline_log+01.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsHmibd5VI_j3rQ2019wFde2RIlepvJFcAPa4eNC2x6neT-aD3qdq1gFmttpROjgnBdnjfYi5CqM96VT-Sej8OHupqxuRYnSPHWhDp_Gs4EEnMtfagewFAC1dlb2XzLqikOyH0JtZ0_sE/s1600/ssh+nano+kiss_log+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="419" data-original-width="667" height="125" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsHmibd5VI_j3rQ2019wFde2RIlepvJFcAPa4eNC2x6neT-aD3qdq1gFmttpROjgnBdnjfYi5CqM96VT-Sej8OHupqxuRYnSPHWhDp_Gs4EEnMtfagewFAC1dlb2XzLqikOyH0JtZ0_sE/s200/ssh+nano+kiss_log+01.png" width="200" /></a></div>
The result can be seen in the screengrabs above. On the left, the original log file produced by Direwolf upon receiving some packets. And on the right, <code>kiss.log</code> with the formatted packets created by <code>kiss.py</code>.<br />
<br />
To copy the log file to PC, or any other file for that matter, I again used PuTTY from the Windows command line:<br />
<code>"C:\Program Files\PuTTY\pscp.exe" pizero1@192.168.0.137:kiss.log F:\</code><br />
And to delete an old log file from the Pi's terminal:<br />
<code>rm /home/pizero1/kiss.log</code><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1WrAkH7zM2PPeLcBIPG8dU3SJzDURTRuQ8NV4owYbB_fqQcWkgoWjE8XoH-DnP0on3BIc3V2z3Q_eADjCqfmO4AILMWUa6TujqRkHKS0cIhTaxNsSRPJdZ2JzVMswWmUt7EMvIVaVa2A/s1600/IMG_3001+stationary+iGate.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1WrAkH7zM2PPeLcBIPG8dU3SJzDURTRuQ8NV4owYbB_fqQcWkgoWjE8XoH-DnP0on3BIc3V2z3Q_eADjCqfmO4AILMWUa6TujqRkHKS0cIhTaxNsSRPJdZ2JzVMswWmUt7EMvIVaVa2A/s200/IMG_3001+stationary+iGate.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkNPaXcS5RJKdG2k8L5bQc8oXZUkjmEorl14Flgsj4b85CUN0AyZvLVtmv0qkTvBquIIcjVd9IZ5uKQWnFl64m01lLhcTeiukj4ARmvZ33nq6V3mV8XZ9jrbXA092iutUCj0PZSMCExgg/s1600/IMG_3008+iGate+LED.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkNPaXcS5RJKdG2k8L5bQc8oXZUkjmEorl14Flgsj4b85CUN0AyZvLVtmv0qkTvBquIIcjVd9IZ5uKQWnFl64m01lLhcTeiukj4ARmvZ33nq6V3mV8XZ9jrbXA092iutUCj0PZSMCExgg/s200/IMG_3008+iGate+LED.JPG" width="150" /></a></div>
Since the primary purpose behind building the iGate was local data logging and testing, I didn't really bother with setting it up properly as one would in case of a permanent installation serving the whole area. It rather usually sits somewhere nearby a wall power socket with a simple wire in place of an antenna which is perfectly sufficient for the intended task.<br />
<br />
I also added an LED with a 330Ω resistor between the Pi's GPIO21 and ground to utilize the Direwolf's Data Carrier Detect (DCD) signal to blink whenever there is a received packet. A quick check that the transmitter still works especially useful in multiple day testing.<br />
<br />
When idle with the demodulating/decoding software shut down, the consumption of the setup was 174mA (0.87W) compared to a stand-alone Raspberry Pi's 110mA (0.55W). When receiving, the consumption rose to around 450mA (2.25W) with minima at 412mA (2.06W) and maxima at 503mA (2.52W). The boot time was typically around 70s.TT7http://www.blogger.com/profile/11095378058232471221noreply@blogger.com0tag:blogger.com,1999:blog-7063183727921268380.post-79857084909660943812018-09-07T03:25:00.000+02:002018-09-12T13:23:26.770+02:00The TT7B Tracker<style type="text/css">
.tg {border-collapse:collapse;border-spacing:0;border-color:#ccc;}
.tg td{font-family:Arial, sans-serif;font-size:12px;padding:5px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#ccc;color:#333;background-color:#fff;}
.tg th{font-family:Arial, sans-serif;font-size:12px;font-weight:normal;padding:5px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#ccc;color:#333;background-color:#f0f0f0;}
.tg .tg-amwm{font-weight:bold;text-align:center;vertical-align:top}
.tg .tg-yw47{vertical-align:top}
.tg .tg-lyy6{text-align:right;vertical-align:top}
</style>
After all the TT7F flights sent their last messages and descended back to ground somewhere around the world, I thought about what interested me the most at that point. The answer was that I wanted to know more about their fate. What led to their departures and whether there was something that could have been done better. In light of that, I decided to make a data oriented tracker designed to collect and deliver as much data on the balloon's behaviour as possible. This blog post is intended to document the whole process - the planning, designing and manufacturing of TT7B (B stands for balloon) superpressure balloon tracker. The basic ideas were:<br />
<ul>
<li>powered by a single AAA primary cell to provide overnight operation</li>
<li>developed around low power components allowing 1.8V operating voltage</li>
<li>equipped with temperature and pressure sensors to report on conditions inside and outside of the balloon</li>
<li>sufficient amount of non-volatile memory for extended backlogging</li>
<li>only geofenced APRS transmissions</li>
<li>low duty cycle to extend the battery life</li>
<li>minimum mass to not add too much to the fixed mass of the primary cell</li>
</ul>
The APRS transmissions are short enough not to waste too much power. The coverage around the world is sufficiently predictable to further save power by limiting the transmissions to areas with active receivers only. The backlogging will fill in the data for when the tracker is out of reach should the balloon survive to the next receiver hotspot. The data might provide insight into the balloon's behaviour during its ascent, the day-night cycle, and potentially its descent as well.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVXzBWd2algWfP6aUZQ0-g8AKTMSQuGv693FR5CZsQp0PtXPA2J_N9J7HuqXUrsipOXHL4d7vEq27xt8v7cKxNkZwrKJNewyRKWEeBO9gWLV5VJD63iqRnv38sMdwiUpX9KmsxE-KSx2k/s1600/mouser+parts+04.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="748" data-original-width="1064" height="140" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVXzBWd2algWfP6aUZQ0-g8AKTMSQuGv693FR5CZsQp0PtXPA2J_N9J7HuqXUrsipOXHL4d7vEq27xt8v7cKxNkZwrKJNewyRKWEeBO9gWLV5VJD63iqRnv38sMdwiUpX9KmsxE-KSx2k/s200/mouser+parts+04.jpg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhc0xZfKMwKqdSBYN10krttIBqDFl7ReMOfhAkFiPh5lwmV_dKtjGHs7vOZu40qel7vPVbeSGUqaatSgyJlr_ZDCziP_Rvuptcm02yRmGNFyyCq0-NMjSd0HfDbZlrcwZI1yLd9SpGi45M/s1600/mouser+parts+02.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="750" data-original-width="1066" height="140" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhc0xZfKMwKqdSBYN10krttIBqDFl7ReMOfhAkFiPh5lwmV_dKtjGHs7vOZu40qel7vPVbeSGUqaatSgyJlr_ZDCziP_Rvuptcm02yRmGNFyyCq0-NMjSd0HfDbZlrcwZI1yLd9SpGi45M/s200/mouser+parts+02.jpg" width="200" /></a></div>
There is an enormous number of ICs, passive components, sensors and so on available on the market. I usually use the online catalogues of large distributors like Mouser or Farnell to search through all the different options. They often provide a lot of the information at hand including the cost, and simplify the search for what one is after.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBpmm2eubeFDk-uEPA9oDvfo8McVPqiPLfsx3ZXB_bx_syL_U30VbRFqBPHCglMjq8em7CUf_5S8ifuvTOF9BliK2Kopx1tkK1HO4mPje8zIDQPuajpzOUNXiJG0ASief1mNXgubtdc74/s1600/datasheet+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="764" data-original-width="1082" height="140" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBpmm2eubeFDk-uEPA9oDvfo8McVPqiPLfsx3ZXB_bx_syL_U30VbRFqBPHCglMjq8em7CUf_5S8ifuvTOF9BliK2Kopx1tkK1HO4mPje8zIDQPuajpzOUNXiJG0ASief1mNXgubtdc74/s200/datasheet+01.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6JTBqQhgEOJanN5i-1jfLwbsPf0N7QGR93jJBgRKJBlQDUghlC8MJhGUHQwtkh9OUu1flw3mItjCE8Dtut4CiEsN60b-OX4Itokx1woIJNJEQbuZoK21vXuVz_nXI4v92y1Lp5nz9Qrs/s1600/datasheet+03.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="765" data-original-width="1081" height="141" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6JTBqQhgEOJanN5i-1jfLwbsPf0N7QGR93jJBgRKJBlQDUghlC8MJhGUHQwtkh9OUu1flw3mItjCE8Dtut4CiEsN60b-OX4Itokx1woIJNJEQbuZoK21vXuVz_nXI4v92y1Lp5nz9Qrs/s200/datasheet+03.png" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2gDq4OHWMmpfMD_tQd8kD9MIRRNmy3QD2PalFaYzkoIsT6QcPHSfUzDGAJRFVO4tXSM2SZIoOM3NB7hcJMWgkEgAd5GSAZ7wf3VvIfoTQOis0HxzQ5LZz1PXHqckhk7v6lf_o0W6EgW8/s1600/datasheet+04.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="748" data-original-width="1081" height="138" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2gDq4OHWMmpfMD_tQd8kD9MIRRNmy3QD2PalFaYzkoIsT6QcPHSfUzDGAJRFVO4tXSM2SZIoOM3NB7hcJMWgkEgAd5GSAZ7wf3VvIfoTQOis0HxzQ5LZz1PXHqckhk7v6lf_o0W6EgW8/s200/datasheet+04.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjk-eXbynnMZbypD07QtqLuSnzzK7V-anPkXKztmIUa_yJGMlQ6KyL2qqcyJAknRDR2BFeXuFy0TP6l9z4rbTwV77417S2EEg6y2AGnM7Bpp_hkmjHlycCBlhoMoVQ9q8oQNCbXawz7vaI/s1600/datasheet+05.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="765" data-original-width="1081" height="141" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjk-eXbynnMZbypD07QtqLuSnzzK7V-anPkXKztmIUa_yJGMlQ6KyL2qqcyJAknRDR2BFeXuFy0TP6l9z4rbTwV77417S2EEg6y2AGnM7Bpp_hkmjHlycCBlhoMoVQ9q8oQNCbXawz7vaI/s200/datasheet+05.png" width="200" /></a></div>
Most of the information, though, can be found in a component's datasheet. These often tens or hundreds of pages long documents are usually linked to from the catalogues. If not, a quick google search will most likely fetch it among the top results. These pdf files then contain detailed specification of the component, requirements on basic wiring, examples of application, recommended PCB mounting, etc. With the basic concept in mind, I started choosing individual parts and outlining a schematic.<br />
<br />
<br />
<b>Microcontroller</b><br />
The microcontroller is the main middleman that needs to be equipped to be able to interface with all the other parts. It is also the component that will run continuously, hence its consumption is a factor to be taken into account. Due to its low power performance and my familiarity with the Atmel/Microchip environment, the 32 pin Cortex M0+ SAML21E series of MCUs was chosen to be in the middle of the tracker. There are a few pin compatible variants: E15, E16, E17 and E18 which differ in SRAM and flash memory sizes. The 128kB flash and 32kB SRAM version, E17, seems like the best compromise between its cost and memory size for my objective. Its datasheet provides a basic check list on what needs to be done to make a custom implementation work. The schematics and user guide of SAML21 Xplained Pro evaluation board are a useful source of information as well.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyqsP-ZvX9oUo8-elhTWJBdt2_JOqPKvlXGfBWA7-t7mq_CKNNRwb-_S69DdWDtg-DkjdlchyI04ud1FlnamVwXYa5QXDcjvpOrtYU8iuu_B05jo-33BVyHM0r6FncJZozHAlHrfldzuY/s1600/schematic+mcu+power+supply+02.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="629" data-original-width="909" height="138" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyqsP-ZvX9oUo8-elhTWJBdt2_JOqPKvlXGfBWA7-t7mq_CKNNRwb-_S69DdWDtg-DkjdlchyI04ud1FlnamVwXYa5QXDcjvpOrtYU8iuu_B05jo-33BVyHM0r6FncJZozHAlHrfldzuY/s200/schematic+mcu+power+supply+02.PNG" width="200" /></a></div>
Starting with the power supply, VDDIN and VDDANA are supplied with 1.8V. Both require a 10µF decoupling capacitor at the input and a 100nF capacitor as close to the pin as possible for filtering high frequency noise in the power supply. VDDANA serving as an analog reference is further filtered with a ferrite bead (BLM15PX471SZ1D - Z=470Ω (at 100MHz), Rdc=0.65Ω, Imax=1A). The MCU is equipped with an internal regulator for its core. The regulator can be run in Low Power mode in case of standby and either a Linear or a more efficient Switching mode when active. The Switching mode, however, requires a large inductor between VSW and VDDCORE pins. I've chosen the simpler Linear implementation for the tracker with only two external decoupling capacitors (1µF and 100nF) at VDDCORE leaving the Switching mode regulator output VSW unconnected.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4aUSWqc57ORHXAKHIJzl_oU8M4cWQAA_YBa9bc3e4HG23pKF9v7NzpTIJYBJix4IYT29722t34t8kyE4TRsvrcH86C7vJ_By4fx_YRLmynPXiK_FOkoippC5wYriV6bikYbCS2YEWC5I/s1600/schematic+mcu+clock+02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="460" data-original-width="783" height="116" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4aUSWqc57ORHXAKHIJzl_oU8M4cWQAA_YBa9bc3e4HG23pKF9v7NzpTIJYBJix4IYT29722t34t8kyE4TRsvrcH86C7vJ_By4fx_YRLmynPXiK_FOkoippC5wYriV6bikYbCS2YEWC5I/s200/schematic+mcu+clock+02.png" width="200" /></a></div>
A post by Bristol SEDS on their <a href="http://www.bristol-seds.co.uk/hab/flight/2016/01/20/ubseds13.html">UBSEDS13</a> tracker informed me about the existence of very low power 32.768kHz TCXOs that can be used to provide a clock signal to a microcontroller. This temperature stable signal then serves either directly or as the basis for the MCU's internal clock generators which provide higher frequency programmable clocks to individual domains. There are a few versions of the SiT1552 TCXO differing in their output. I've chosen the LVCMOS version that is specced as minimum high at 90% of VDD, maximum low at 10% of VDD with 48-52% duty cycle which is in compliance with the XOSC32K Digital Clock Characteristic in the MCU's datasheet. The clock signal is fed to XIN32 pin while XOUT32 is left unconnected. The datasheet also recommends leaving PA02 and PA03 as 'static' as possible, so they won't be utilized in the design. The other crystal input pins XIN and XOUT are used as general I/O pins. The TCXO will be powered continually with expected ~1.5µA. The consumption of the MCU itself depends on a number of factors and settings. According to the datasheet it typically moves around 60-95µA/MHz in active mode and down to 1.2µA in standby mode.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKQRDBUdAVhTL5BEsPY6JqUKZWFmy-X6FV1P1A_LrZDzA0yDr9_RIqI-zBsG2BG-nPFtjsMGf5xiGR2EYqxt16xvrTQqrpERy5un2-6_sRatn4i-Pmy6JMw3Vt36q3OvK0eY4DnNGo-sw/s1600/schematic+mcu+interfaces+02.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="634" data-original-width="659" height="191" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKQRDBUdAVhTL5BEsPY6JqUKZWFmy-X6FV1P1A_LrZDzA0yDr9_RIqI-zBsG2BG-nPFtjsMGf5xiGR2EYqxt16xvrTQqrpERy5un2-6_sRatn4i-Pmy6JMw3Vt36q3OvK0eY4DnNGo-sw/s200/schematic+mcu+interfaces+02.PNG" width="200" /></a></div>
The tracker will utilize all three serial interfaces. UART for communication with a GPS module, I<sup>2</sup>C for a link to a transmitter and an ambient light sensor, and SPI to command two pressure sensors. There are six instances of SERCOM peripheral in the MCU and each can be configured to support one of the interface modes. There are four pads per SERCOM instance multiplexed with general purpose pins all around the IC. Each interface allows some degree of freedom in choosing which signal will be present on which pad. I've selected the pins as can be seen in the illustration above taking into account the eventual layout of the board. I<sup>2</sup>C's SDA and SCL signals are on pads 0 and 1, respectively, of SERCOM 0 or 2. SPI's MISO, MOSI and SCLK on pads 1, 2 and 3 of SERCOM 1 or 3. The two chip select (slave select) pins have to be controlled manually, and as such are placed on general purpose pins PA14 and PA15. UART's RX and TX signals are then on pads 1 and 2 of SERCOM 3 or 5.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfmC8ut628UfQSsdGEBPYdxFOX8PepKxU4olHkMr7L5OfOAkzxhrM3AYjeJKDJOeh2MWyaD_ccTFC814VJy8AzSXSUeQ1XN01jkLw-rfSVcYZXcl5ogEu-n81FC1obxitULRdrFdo2mgs/s1600/schematic+mcu+dac+adc+02.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="412" data-original-width="560" height="146" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfmC8ut628UfQSsdGEBPYdxFOX8PepKxU4olHkMr7L5OfOAkzxhrM3AYjeJKDJOeh2MWyaD_ccTFC814VJy8AzSXSUeQ1XN01jkLw-rfSVcYZXcl5ogEu-n81FC1obxitULRdrFdo2mgs/s200/schematic+mcu+dac+adc+02.PNG" width="200" /></a></div>
Three ADC inputs and one DAC output had to be allocated among the remaining pins. Both the ADC and DAC peripherals provide 12-bit resolution and employ the filtered VDDANA voltage as their reference. The DAC is used to modulate a transmitter's signal while the three ADC inputs read voltages across two thermistors (18, 19) and the main battery voltage (7).<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibK2Uzuxp4fjG1hKQBqm_0I34tl3Jf_QfLUF4_qgEP22pHGp3mS-IBKe_KlY9AwM49xR6xA4P7lSthHD_4KryOEicVE3Kw5SMHBkU5FRyFl3hYmxUrbPaiBpjEOEMxfw8wFjpnlo4SVAg/s1600/schematic+mcu+enable+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="534" data-original-width="959" height="111" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibK2Uzuxp4fjG1hKQBqm_0I34tl3Jf_QfLUF4_qgEP22pHGp3mS-IBKe_KlY9AwM49xR6xA4P7lSthHD_4KryOEicVE3Kw5SMHBkU5FRyFl3hYmxUrbPaiBpjEOEMxfw8wFjpnlo4SVAg/s200/schematic+mcu+enable+01.png" width="200" /></a></div>
Four more general purpose pins are utilized in the design. Three of them enabling and disabling two load switches and a 3.3V regulator. Each line is pulled down to avoid unintentional triggering by a floating pin. The last pin is used to power one side of a voltage level translator. According to the datasheet, all standard function pins are by default tri-stated after reset (high impedance state).<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIxUqgSAaVVP-KQy5lVP1azqO3qgaktuF_0FoHMa5wAy0LfQDUUyE89A1qI5ZDIdkzB9M9iQESGNzTia-WaKvJXkb2oGbzoJaYV7cf-OGnJOh4AKDNCkAxn3_A9rSCWjgedH_vVg0dBnM/s1600/schematic+programming+interface+02.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="438" data-original-width="606" height="144" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIxUqgSAaVVP-KQy5lVP1azqO3qgaktuF_0FoHMa5wAy0LfQDUUyE89A1qI5ZDIdkzB9M9iQESGNzTia-WaKvJXkb2oGbzoJaYV7cf-OGnJOh4AKDNCkAxn3_A9rSCWjgedH_vVg0dBnM/s200/schematic+programming+interface+02.PNG" width="200" /></a></div>
Programming of the MCU is carried out by Serial Wire Debug (SWD) interface which uses SWCLK and SWDIO lines located on pins PA30 and PA31, respectively. According to the datasheet, a 1kΩ pull-up resistor on the SWCLK line is critical for reliable operation. Completing the programming interface is VTref a line for sensing the target voltage, ground GND, and an access to the MCU's RESET pin which is internally pulled up.<br />
<br />
<br />
<b>MCU Supervisor</b><br />
In a discussion on <a href="http://webchat.freenode.net/?channels=highaltitude">#highaltitude</a> (IRC channel), Alan Adamson (HIRFW-6) has mentioned an issue with some of the Cortex-M0/M0+ microcontrollers. Apparently, in a situation where the MCU starts up on a voltage that is ramping up too slowly or is noisy, as it could be in solar powered trackers, the IC might lock and require an external reset. This behaviour got me thinking about potential situations that may occur when TT7B is afloat. Although, the lithium primary cells (like Energizer Ultimate Lithium) are better able to withstand the low temperatures in upper troposphere/lower stratosphere than ordinary lithium polymer batteries, it may still be too much for them or some of the components at some point during nighttime. An eventual start-up could suffer from this issue. For this reason, I decided to follow Alan Adamson's solution, and used an MCU supervisor.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvIL3jA99PINPqvec7Ghi7JP252EHi0jiVxPdovqepMu9BH5SgDARU4UrtHa30CJC18MDKCZ5nzNVcgOkJtrO55lVcU8k95KuqlSy63O2rwdv9OZyi4g4uM35GgGT61bf6E-b2Zewe7T8/s1600/schematic+supervisor+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="438" data-original-width="813" height="107" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvIL3jA99PINPqvec7Ghi7JP252EHi0jiVxPdovqepMu9BH5SgDARU4UrtHa30CJC18MDKCZ5nzNVcgOkJtrO55lVcU8k95KuqlSy63O2rwdv9OZyi4g4uM35GgGT61bf6E-b2Zewe7T8/s200/schematic+supervisor+01.png" width="200" /></a></div>
The IC oversees the supply voltage and holds the MCU in reset as long as the voltage is below a set reference. I have chosen TPS3839G18 supply voltage monitor with 1.67V threshold (min. 1.628V, typ. 1.67V, max. 1.695V) to connect to the MCU's RESET line and its power supply as in the illustration above. Maxim Integrated's <i>APP589</i> suggests choosing the threshold to be less than the lowest power supply output voltage which in this case is a resistor set output of TPS61099 to 1.802V +-1%, and to be more than the MCU's minimum operating voltage which for SAML21E is 1.62V. According to the datasheet, the push-pull reset output sinks the line to ground whenever VDD drops below the threshold and keeps it low until 200ms after the supply voltage rises above the threshold plus 17mV hysteresis. The IC operates down to 0.6V under which the state of the RESET pin is undefined. The consumption of the device is stated to be around 150nA, however, when reset is asserted there will be current flowing through SAML21's internal pull-up on the RESET line to ground. The datasheet doesn't explicitly state the value of a reset pin pull-up, only a value for general purpose pin pull-ups of 20-60kΩ. And possibly, since the output is push-pull, if it differs from the voltage the SAML21's reset is pulled to, there could be additional current flowing from TPS3839 to the MCU.<br />
<br />
<br />
<b>Power Supply</b><br />
Although the intention was to run the board at 1.8V, a final choice of a transmitter forced me to reconsider the design. A single AAA battery provides power to a 1.8V boost converter which continually feeds the MCU and two controllable load switches. The switches enable/disable power to a GPS circuit and a sensor circuit. A second boost converter controllable by the MCU supplies a couple of higher voltage components with 3.3V whenever enabled.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2q0mR0DLGD2L29AtOJO129RxlmTWX3NVaMgRmJxmwCFELZatypEkn3teByd3IUfV1_SfBJKL4UUiQwI7kbGhcHH8B5bfU8p3_Gd3n2RO4WZWG8uaPwY8OCywLDH4gDeYiSLKAZcNVaqQ/s1600/schematic+power+supply+02.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="631" data-original-width="761" height="165" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2q0mR0DLGD2L29AtOJO129RxlmTWX3NVaMgRmJxmwCFELZatypEkn3teByd3IUfV1_SfBJKL4UUiQwI7kbGhcHH8B5bfU8p3_Gd3n2RO4WZWG8uaPwY8OCywLDH4gDeYiSLKAZcNVaqQ/s200/schematic+power+supply+02.PNG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYWUPRt5mNxuTEwJ6gzEQzT58hsex-EL8K5g4dOg4ZvOLxlqMjsfZHRKWhSWokiuXyKyeiwhHH329kZjDizGOThoJ6Awc3mcUh-_-0MzuaOpIRnn299P3BIiCc6T2gHAOiFI6PxLyghG0/s1600/schematic+power+supply+04.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="633" data-original-width="745" height="169" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYWUPRt5mNxuTEwJ6gzEQzT58hsex-EL8K5g4dOg4ZvOLxlqMjsfZHRKWhSWokiuXyKyeiwhHH329kZjDizGOThoJ6Awc3mcUh-_-0MzuaOpIRnn299P3BIiCc6T2gHAOiFI6PxLyghG0/s200/schematic+power+supply+04.PNG" width="200" /></a></div>
The boost converters of choice are a couple of TPS61099s with adjustable outputs. The open circuit voltage of a brand new Energizer Ultimate Lithium can be measured around 1.85V while from past experience the last readings showed around 0.9V before tracker shutdown. That suits the boost converter's input range of 0.7-5.5V. The output voltage is then set by a voltage divider from VOUT to FB pin. A 1.5MΩ and 1.87MΩ divider of resistors with 1% tolerance should lead to an output voltage between 1.786V and 1.818V. The current continually leaking to ground will be about 0.54μA. In case of the controllable boost converter, a 1.5MΩ and 649kΩ divider leads to an output between 3.265V and 3.358V with 1.56μA leakage current. The inductors for each voltage level were chosen based on datasheet recommendations (MLP2520W1R0MT0S1 for 1.8V, VLS201610CX-2R2M for 3.3V). The shutdown current of the converter is stated to be 1.6μA at maximum. The two load switches are MIC9407 and state a maximum of 1μA shutdown current each.<br />
<br />
<br />
<b>I<sup>2</sup>C Level Translator</b><br />
The intention to use one voltage level among a portion of the components and another among the rest demands to somehow level shift the communication between ICs operating at different voltage levels. Specifically, the MCU's 1.8V I<sup>2</sup>C lines will have to interface with 3.3V lines of a transmitter and a light sensor. Because of a small packaging and the I<sup>2</sup>C pull-ups integration inside the IC, FXMAR2102 a 2-bit voltage translator was chosen to do the level shifting. The datasheets of the transmitter and the sensor state the only requirement on the value of the pull-up resistors to be more than 1kΩ. The voltage translator integrates 10kΩ resistors on all four lines which should at worst put a limit on the maximum operational frequency of the I<sup>2</sup>C interface.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGYzoFjR7eCF9qLfO9CUXKWttA20e56I85hxl_IOAdeLjrxOX0Ii9eefIh78pXjvjVBkTLMs0VLJ4MY-T2L-GSQRgkz6oO4pAE6xbKt2yy1Nsp3elyHf7QY-GnE2XKQquguN4_iMVF00A/s1600/schematic+level+shifter+03.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="591" data-original-width="1070" height="110" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGYzoFjR7eCF9qLfO9CUXKWttA20e56I85hxl_IOAdeLjrxOX0Ii9eefIh78pXjvjVBkTLMs0VLJ4MY-T2L-GSQRgkz6oO4pAE6xbKt2yy1Nsp3elyHf7QY-GnE2XKQquguN4_iMVF00A/s200/schematic+level+shifter+03.png" width="200" /></a></div>
The basic wiring is outlined in the schematic above. The 3.3V supply comes from the main 3.3V branch when the TPS61099 is enabled by the microcontroller. As for the 1.8V supply, the level translator should require about 0.36mA for the two I<sup>2</sup>C lines plus <10μA in supply and leakage currents which is within what a SAML21's digital pin can provide - the datasheet states maximum output current of 3mA from High sink pins and 1.5mA from Normal and Backup pins (with output drive strength bit DRVSTR=1). This will allow switching off the 1.8V supply as well when not needed.<br />
<br />
<br />
<b>Transmitter</b><br />
The imitation of AFSK modulation I did on <a href="http://tt7hab.blogspot.com/2017/02/aprs-automatic-packet-reporting-system.html">TT7F</a> was complicated and the result wasn't ideal. When I started thinking about how to transmit the APRS packets this time, I first tried experimenting with AX5243 which had an inbuilt support of AFSK, but ultimately, I wasn't successful. The other option I considered was Si4063 fed with a voltage controlled oscillator. This approach came to an end as I couldn't find a suitable and affordable VCXO. In the end, I came across Michael Hojnowski's blog <a href="http://hojoham.blogspot.com/2017/07/afsk-modulation-experiments-part-1.html">post</a> where he pointed out that the B variant of Si5351 can be controlled with external voltage. In other words, a preset frequency output can be pulled up and down by a varying input voltage on the VC pin. Basically what I wanted to do with the VCXO and Si4063.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5BbQzoMWaxmy83Hr3Z2iOYoAZMJ4nS-cZM6PhwJMS_EXxtnV6xEOQb63O4uEEA-Xkf4VH48WFhY6AEGDzJd5QcglWyzYhYt2EwMRixj92HCsRuAo4i1lSRGzPu0pu7BunA-k_OK2GfKU/s1600/illustration+transmitter+03.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="469" data-original-width="1137" height="162" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5BbQzoMWaxmy83Hr3Z2iOYoAZMJ4nS-cZM6PhwJMS_EXxtnV6xEOQb63O4uEEA-Xkf4VH48WFhY6AEGDzJd5QcglWyzYhYt2EwMRixj92HCsRuAo4i1lSRGzPu0pu7BunA-k_OK2GfKU/s400/illustration+transmitter+03.PNG" width="400" /></a></div>
The illustration above shows the main components and their role in the overall setup. The MCU generates a 1200Hz or 2200Hz sine wave on its digital-to-analog output pin corresponding to individual bits of an APRS message. This is fed to the Si5351B's VC pin and modulates the preset 144.8MHz frequency the IC outputs. To generate the output signal, Si5351B needs a reference clock signal which is supplied by a 26MHz TCXO. The final waveform is passed through a filter and a DC blocking capacitor before it's fed to an antenna.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbtoTe_-bj5PR6iv1VuIkvJv2M0XtdmACU4PJ0Z4I51VpvXGWhm1voHTgI6eK_DueOwhZ7v5BRU7lm1iEJO3vBsXFM3phNrw1j5zMdtrnfcrYjATeTJ-jHVlE8Wx0lSGnX8MHeSkxjoLY/s1600/filter+schematic+02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="743" data-original-width="1434" height="103" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbtoTe_-bj5PR6iv1VuIkvJv2M0XtdmACU4PJ0Z4I51VpvXGWhm1voHTgI6eK_DueOwhZ7v5BRU7lm1iEJO3vBsXFM3phNrw1j5zMdtrnfcrYjATeTJ-jHVlE8Wx0lSGnX8MHeSkxjoLY/s200/filter+schematic+02.png" width="200" /></a></div>
The Si5351's output is a square wave at low frequencies. At higher frequencies, it seems to loose the perfect square shape and becomes more of a sine wave. The APRS frequencies are located between 144MHz and 146MHz. A 3rd-order Chebyshev low pass filter is used to clean the output off the higher frequency components. I took advice from Silicon Labs' <i>AN648</i> application note and obtained the component values computed for a frequency 1.6 times the intended frequency of operation (232MHz for 145MHz). The online tool I used was <a href="http://www.wa4dsy.net/filter/filterdesign.html">this</a> one. The Pi network comprises of a 56nH inductor (LQW15AN56NG00D) and two 20pF capacitors (GJM1555C1H200FB01D). The components were chosen with the help of Murata's online <a href="http://ds.murata.co.jp/software/simsurfing/simsurfing.swf?relativepath=./&locale=en-us&kind=">tool</a> while taking into account their tolerances, self resonant frequencies and equivalent series resistances at the frequencies of interest. A 2.2nF DC blocking capacitor (GCM155R72A222KA37) was also picked based on recommendations to use such a value that presents an impedance of at most 1% (0.5Ω) of the circuit impedance (50Ω) at the frequency of operation. The circuit including the parasitic inductances, capacitances and resistances of the components was then modelled in LTspice.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRApFg5YnI9RoCy63cQRsqhcC3h9XQpH-bqp8TtM5TdqzqVXU1u-3aP1upCTVEBf7x30dqGUvbYlTFKwWSOHECTv-D4W4M03EU9giKUuEmWfHphdrZkcnlidrVaCULPtsDOiVGqqbIg_4/s1600/filter+response+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="743" data-original-width="1435" height="103" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRApFg5YnI9RoCy63cQRsqhcC3h9XQpH-bqp8TtM5TdqzqVXU1u-3aP1upCTVEBf7x30dqGUvbYlTFKwWSOHECTv-D4W4M03EU9giKUuEmWfHphdrZkcnlidrVaCULPtsDOiVGqqbIg_4/s200/filter+response+01.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9io8G0POXLhosIP0_cvJ6q97-iu0uWk1jzpdvYVOR_xBRQArAORyrZWV-Ox0xwrrWwKV43EcxP97xOD1lJBHTR7HZY-p5xU7nIRWHxKOOXtGZdu0ggly-OrRaVCZ_WFu62nAL1HVSglQ/s1600/filter+fft+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="743" data-original-width="1435" height="103" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9io8G0POXLhosIP0_cvJ6q97-iu0uWk1jzpdvYVOR_xBRQArAORyrZWV-Ox0xwrrWwKV43EcxP97xOD1lJBHTR7HZY-p5xU7nIRWHxKOOXtGZdu0ggly-OrRaVCZ_WFu62nAL1HVSglQ/s200/filter+fft+01.png" width="200" /></a></div>
The resulting response of the filter shows 144-146MHz to be still in the flat portion of the pass band. A 145MHz pulsed signal was fed to the circuit for the FFT analysis which shows the extent of attenuation of the higher harmonic frequencies. I've had some troubles making these SMD filters work previously. They usually attenuated the output too much. In this case, should the output signal be too weak, the filter can be omitted and the inductor replaced with a 0Ω resistor.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmrV-QLr2U_UXdmKeKviTHhIFuWpdUlYW6gxEAmaVmZBlXlSz-BloN4LDAWLOYWWJnlSaTN-LpeKEQDE0XpgGIkDuulc0C_WAgERH-Odd_ek52ORvb470cqRCzyGa57gdfcJ0Cte1Ctn0/s1600/schematic+transmitter+02.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="663" data-original-width="1048" height="126" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmrV-QLr2U_UXdmKeKviTHhIFuWpdUlYW6gxEAmaVmZBlXlSz-BloN4LDAWLOYWWJnlSaTN-LpeKEQDE0XpgGIkDuulc0C_WAgERH-Odd_ek52ORvb470cqRCzyGa57gdfcJ0Cte1Ctn0/s200/schematic+transmitter+02.PNG" width="200" /></a></div>
This simplified schematic shows the manner in which the Si5351B is wired. Since it requires minimum supply voltage of 2.5V, I decided to utilize a temporary 3.3V circuit controlled by enabling and disabling another TPS61099 boost converter. The 3.3V power supply also allows the Si5351B to provide more power at its output. A complication that arises from this arrangement is the need to level shift the I<sup>2</sup>C communication between the microcontroller (1.8V) and the transmitter (3.3V) - details described above. The CLK5 pin which comes under VDDOC power supply was chosen to be the RF output for its physical orientation with respect to the rest of the pins that needed to be wired. The XA pin is fed an AC coupled 0.8Vp-p clipped sine wave signal from a 26MHz TCXO (CTS 520L15IA26M0000). The oscillator I can get hold of is unfortunately a +-5ppm VCXO version which means I might need to offset the Si5351B's frequency in software by about 725hz since I am tying the voltage control pin to ground. The Si5351B's datasheet shows a 1Vp-p signal fed through a capacitor to the XA pin and states the maxima for this pin to be -0.5V to 1.3V. There, however, have been some commercial boards feeding a 3.3V HCMOS output to the pin and apparently working without any known issues. The current consumption stated in the datasheets is 22mA core supply plus 2.2mA per active output for Si5351B, and 2.5mA for the TCXO. I don't have a SAML21 nor an Si5351B at hand right now, so I am including the RC filter footprint on the DAC line in case it's needed and to provide an easier access for a probe. Should it not be needed, the resistor pads can be populated with a 0Ω resistor. $$f_{c}=\frac{1}{2\pi RC}$$ $$X_{c}=\frac{1}{2\pi fC}\qquad\qquad Z=\sqrt{R^2+X_{c}^2}$$ If I understood the information and the working principles correctly, SAML21's DAC requires load of more than 5kΩ. The Si5351B's datasheet only states an input current of 30μA at the VC pin which I interpreted as an input impedance of ~80-110kΩ (2.5-3.3V). Choosing $R$ to be 1kΩ and $C$ to be 18nF, the 1.2kHz and 2.2kHz signals $f$ generated by the DAC see an impedance $Z$ of 7.4kΩ and 4.1kΩ, respectively, going into the filter. The cutoff frequency $f_{c}$ of such filter is then 8.842kHz. Modelling this filter feeding a 100kΩ load in LTspice produced attenuation of 0.16dB at 1.2kHz, 0.34dB at 2.2kHz, and 41dB at 1MHz.<br />
<br />
<br />
<b>GPS</b><br />
The GPS module is an area which could save a lot of power if implemented properly. I experimented with all sorts of power saving modes on the previous tracker, but ultimately the consumption always stayed in range of milliamps. This time, I looked over the whole range of GNSS receivers u-blox had on offer and eventually came across the ZOE-M8 series. Particularly the G and B models which are meant for 1.8V power supply. With an integrated TCXO, LNA and SAW filter, the IC needs only an external RTC crystal and two power supplies to, according to the datasheet, be able to retain previously acquired GPS time and satellite trajectories while in hardware backup mode consuming only 15μA of current. The ZOE-M8B model is designed for low power operation and at power up defaults to 'Super-E' mode. The envisioned operation would look like this: upon first power up, the module runs acquisition engine (~34.5mA) and searches for satellites. Once it acquires enough information, it switches to tracking engine (~7.3mA), outputs a valid positional fix and is brought to the hardware backup mode (~15μA). After a delay, it is switched on again and having retained all necessary information shortly runs the tracking engine, outputs another fix and is powered off again. From time to time as information from individual satellites expires, the receiver instead of the tracking engine enters acquisition and updates itself about the state of the GPS constellation in view.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEcbkOR2qhkYHBQrlWRyOYlhBewOj7lEkKc64uf5Ank2f-QbXoVX3vIwMc7YrJW1WeEMSvrB-q3h0ShMVYtY291Kd6bNLWwtMrFf1s7-xzBfVumvGvGJax-LXBHQ-8zBd_pq3NCctpHDU/s1600/schematic+gps+03.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="522" data-original-width="978" height="106" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEcbkOR2qhkYHBQrlWRyOYlhBewOj7lEkKc64uf5Ank2f-QbXoVX3vIwMc7YrJW1WeEMSvrB-q3h0ShMVYtY291Kd6bNLWwtMrFf1s7-xzBfVumvGvGJax-LXBHQ-8zBd_pq3NCctpHDU/s200/schematic+gps+03.png" width="200" /></a></div>
Most of the information here was sourced from <i>ZOE-M8B System Integration Manual</i> which can be found on u-blox's website along with other documents. To utilize the hardware backup mode, the VCC pins are provided with 1.8V from a controllable load switch (MIC9407). The backup power supply (V_BCK), which takes over powering the IC when the VCC supply shuts down, is connected to the main continual 1.8V power supply on the board. I left myself an option to connect the backup power supply either straight to the main always on 1.8V line, or in case I wanted to cut the receiver off completely to the 1.8V line controlled by the load switch. The decision has to be made prior to soldering a 0Ω resistor in one or another position. Since this board was shaping up to be quite small, I didn't want to have a 4.6cm long wire antenna getting in the way. Instead, I decided to use a small omnidirectional chip antenna (W3011A) which only required to increase the size of the final PCB a little. Communication between the MCU and the receiver takes place using the two line UART interface. The chosen 32kHz RTC crystal is CM8V-T1A recommended by the datasheet.<br />
<br />
<br />
<b>Sensors</b><br />
The data I wanted the tracker to collect are centered around the balloon and its behaviour. The most interesting aspects to me are the superpressure and the supertemperature levels inside the balloon. Thus two pressure sensors and two thermistors are part of the setup. One thermistor-pressure sensor pair for the ambient conditions and the other to be sealed inside the balloon. An ambient light sensor was added to complement the data set with basic information on the current phase of the local day-night cycle. The tracker will also measure the battery voltage while the pressure sensors could potentially provide more temperature readings. Although their range is limited to -40°C. The microcontroller is equipped with an integrated temperature sensor as well. The data sent back will of course be completed with GPS coordinates and altitude above mean sea level.<br />
<br />
<b>Sensors - Thermistor</b><br />
The ADC of the microcontroller has a 12-bit resolution which at 1.8V power supply means that the smallest step is: 1.8V / 4095 = 0.44mV. The temperature range the thermistor will mostly be exposed to is expected to be, aside from the initial launch, all well below 0°C, possibly falling to -60°C even -70°C should the tracker manage to stay operational at those temperatures. An NTC thermistor (resistance decreases as temperature increases) PX502J2 with resistance of 5kΩ at 25°C was chosen based on these parameters.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnhyqSqu7Cjah8bFhvdhtmBuyqxdXBeNMdstCH_AAyrQPXQUkXlCGIix8yURCpasyO090rEGAkAJaGyPcCytfvuc_olGrOWNkaglksJ4OJ3eOvbcbhNakiqr_kfcSJWRSqPc1xqjPnEXI/s1600/thermistor+resistance+temperature+curve+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="512" data-original-width="780" height="131" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnhyqSqu7Cjah8bFhvdhtmBuyqxdXBeNMdstCH_AAyrQPXQUkXlCGIix8yURCpasyO090rEGAkAJaGyPcCytfvuc_olGrOWNkaglksJ4OJ3eOvbcbhNakiqr_kfcSJWRSqPc1xqjPnEXI/s200/thermistor+resistance+temperature+curve+01.png" width="200" /></a></div>
The thermistor is rated from -80°C to 150°C, however, the datasheet provides the resistance-temperature curve to only -55°C. It does, on the other hand, state a β parameter of 3892K which according to <a href="https://en.wikipedia.org/wiki/Thermistor">Wikipedia</a> can be used to approximate the relationship with the following equation: $$\frac{1}{T}=\frac{1}{T_{0}}+\frac{1}{\beta}\;\ln{\left(\frac{R}{R_{0}}\right)}$$ where $R_{0}$ is the resistance at $T_{0}=298.15K$, and $T$ the temperature at resistance $R$. When plotted, however, the temperature at -55°C deviates from the datasheet value by 2.7°C. Thus the more complicated approach of solving for the Steinhart-Hart coefficients (described on Wikipedia) was used, and values of a=1.28x10<sup>-3</sup>, b=2.36x10<sup>-4</sup> and c=9.27x10<sup>-8</sup> were derived from the datasheet curve. $$\frac{1}{T} = a + b \; ln(R) + c \; (ln(R))^3$$ The Steinhart-Hart equation where $R$ is the resistance at temperature $T$ will be used in the tracker's code. The plotted curve can be compared to the β parameter equation in the chart above. At -80°C the values deviated by 4.85°C.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwfbZgj6MEqKruc3unYxlo2VGAiYX_syZoVw2LcYXcq-h0vBjSZbmgqx6q0xRS5bUkZt1xfg7eLgZa9hQa0x-6NKokKb_SEGSCG4veMqj2HiX7SAcgLXVCzBiYPYPizesrDU0GxeoD5t8/s1600/thermistor+range+sensitivity+02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="513" data-original-width="781" height="131" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwfbZgj6MEqKruc3unYxlo2VGAiYX_syZoVw2LcYXcq-h0vBjSZbmgqx6q0xRS5bUkZt1xfg7eLgZa9hQa0x-6NKokKb_SEGSCG4veMqj2HiX7SAcgLXVCzBiYPYPizesrDU0GxeoD5t8/s200/thermistor+range+sensitivity+02.png" width="200" /></a></div>
When the thermistor is connected in place of R2 in a voltage divider circuit, the value of R1 decides where in the temperature range the peak sensitivity of the circuit lies. The choice of 49.9kΩ R1 puts the peak at around -25°C with more than 5 ADC steps per 1°C within -80°C to +50°C range.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpK4gxFfRNv5w6pppAwPBWNjUOQUFOCQgxSbwFBYG1NnWUn_AJF6RIF9r4kSBgih5_S9BVHSxlOLUZxp-a6LIJeOokQR96OyovcJ1bsakB2FGZIWelEsIPDaBVt0UwGkzXiIEsj5amtPc/s1600/schematic+thermistor+04.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="561" data-original-width="784" height="142" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpK4gxFfRNv5w6pppAwPBWNjUOQUFOCQgxSbwFBYG1NnWUn_AJF6RIF9r4kSBgih5_S9BVHSxlOLUZxp-a6LIJeOokQR96OyovcJ1bsakB2FGZIWelEsIPDaBVt0UwGkzXiIEsj5amtPc/s200/schematic+thermistor+04.PNG" width="200" /></a></div>
The circuit is illustrated in the schematic above. A load switch (MIC94070) controlled by the microcontroller powers a whole branch of 1.8V sensors when the tracker wakes up from a power saving state, otherwise the power is cut off. The thermistor's resistance ranges from 93Ω at +150°C to 3.7MΩ at -80°C which combined with R<sub>1</sub> leads to 0.5μA to 36μA current flowing through the circuit keeping the power dissipated in the thermistor well below its datasheet stated 1mW/°C dissipation constant thus avoiding any significant self-heating. The varying temperature, however, impacts the divider's output impedance as seen by the ADC. A 15nF capacitor was placed across the thermistor for situations when the impedance approaches 50kΩ to provide a source for the ADC without dropping the measured voltage. Aside from modelling the circuit in LTspice, a formula C<sub>sample</sub> * 2<sup>ADC bit</sup> = C<sub>1</sub> (3.2pF * 4096 = 13.1nF) was used to choose the size of the capacitor, C<sub>sample</sub> being the ADC's sampling capacitor. The time constant of the RC circuit then ranges from 1.4μs to 738μs putting a minimum delay of 3.7ms (5τ equalling to 99.3% charge on the capacitor) between powering the circuit and taking the measurement. The accuracy of the thermistor is stated to be +-1.0°C.<br />
<br />
<b>Sensors - Barometric Pressure</b><br />
The tracker is expected to operate at altitudes above 10km. Because of that, MS5607 absolute pressure sensor with its extended range of 10hPa to 1200hPa (~31km ceiling) was chosen to provide the pressure readings from inside the balloon and of the surface of the PCB outside the balloon. The accuracy of the pressure measurements is stated to be +-3.5hPa with maximum resolution of 2.4Pa. The sensor can also provide temperature measurements with absolute accuracy of +-4.0°C in -40°C to 85°C range with maximum resolution of 0.002°C.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBFO_mFqMXyM4z9laJiw5lh7Z2jCtp9mPfcDeYB8rwDHbxU6hrqVCGIgplsHa4fqn1wzJiejNkejxoR2MP6MC644bhezBI6hw3WKcwwYN3a0coZ51Qf7KQP4HSUQ07ptV1MvW2e2zhoKc/s1600/schematic+pressure+03.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="658" data-original-width="1109" height="118" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBFO_mFqMXyM4z9laJiw5lh7Z2jCtp9mPfcDeYB8rwDHbxU6hrqVCGIgplsHa4fqn1wzJiejNkejxoR2MP6MC644bhezBI6hw3WKcwwYN3a0coZ51Qf7KQP4HSUQ07ptV1MvW2e2zhoKc/s200/schematic+pressure+03.PNG" width="200" /></a></div>
Both IC's will be powered through the same controllable load switch as the two thermistors and require a 100nF capacitor as close to the Vdd pin as possible. The SPI interface was chosen to establish the communication between the MCU and the sensors. The other option on offer was I<sup>2</sup>C interface which on this tracker is level shifted and used to communicate with the transmitter. The conversion time with highest oversampling setting is stated to be 8.22ms at 1.4mA current consumption. $$dT=D2-C5 \times 2^{8}$$ $$OFF=C2 \times 2^{17}+(C4 \times dT) \; / \; 2^{6}$$ $$SENS=C1 \times 2^{16}+(C3 \times dT)\; / \; 2^{7}$$ Each sensor is factory calibrated and contains six coefficients (C1 to C6) stored in its non-volatile memory which must be read and used to compensate the pressure and temperature measurements. The full computation is rather lengthy and starts with calculating dT, OFF and SENS from the raw temperature output D2. $$TEMP=2000+dT \times C6 \; / \; 2^{23}$$ The datasheet states that to achieve accuracy over the temperature range, it is necessary to correct the temperature calculation (TEMP), the offset (OFF) and the sensitivity at actual temperature (SENS) by a second order correction factor: $$T2=dT^{2} \; / \; 2^{31}$$ $$OFF2=61(TEMP-2000)^{2}/ \; 2^{4}$$ $$SENS2=2(TEMP-2000)^{2}$$ For measurements where TEMP is less than 20°C. $$OFF2=OFF2+15(TEMP+1500)^{2}$$ $$SENS2=SENS2+8(TEMP+1500)^{2}$$ And further compensation for where TEMP is less than -15°C. $$TEMP=TEMP-T2$$ $$OFF=OFF-OFF2$$ $$SENS=SENS-SENS2$$ The compensated OFF and SENS values are then used to calculate the final pressure (P) from the raw pressure value (D1): $$P=(D1\times SENS \; / \; 2^{21}-OFF) \; / \; 2^{15}$$ The datasheet also provides charts for what I understand is a typical offset error caused by specific supply voltage choice. In case of 1.8V power supply, the temperature error is shown to be +0.38°C and the pressure error -2hPa.<br />
<br />
<b>Sensors - Ambient Light</b><br />
I couldn't find a sensor that would operate at 1.8V and provide sufficient range for direct sunlight measurements. In the end, VEML6030 with 3.3V operating voltage was chosen to be part of the Si5351B circuit with which it would share the level shifted I<sup>2</sup>C lines as well. This will add between 30ms to 110ms, depending on chosen integration time of the sensor, to the time the 3.3V boost converter is switched on.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUNiN4ko4kS95gE6pcHTxv-LAtwC3uz5XhMEBIKfQFmMdpZSlxj_pv3ktiIGfX7RHhK_ZdwTCHdOT9i-9ehEaL_CAP8PcXQvwJmxcvR2gBNOkC-4b8NzXVdQcZeVnifrWbGgP0la8bgdk/s1600/schematic+light+02.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="602" data-original-width="1065" height="112" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUNiN4ko4kS95gE6pcHTxv-LAtwC3uz5XhMEBIKfQFmMdpZSlxj_pv3ktiIGfX7RHhK_ZdwTCHdOT9i-9ehEaL_CAP8PcXQvwJmxcvR2gBNOkC-4b8NzXVdQcZeVnifrWbGgP0la8bgdk/s200/schematic+light+02.PNG" width="200" /></a></div>
The sensor itself is sensitive to 'close to human eye' spectrum and allows measuring ambient light from 0 to 120,000lux with resolution of 1.84lux. At 100ms integration time the current consumption is stated to be 45μA. $$y=6.0135 \times 10^{-13}x^{4}-9.3924 \times 10^{-9}x^{3}+8.1488 \times 10^{-5}x^{2}+1.0023x$$ As per application note: <i>Designing the VEML6030 Into an Application</i>, the readings above 1,000lux will be corrected in software for the sensor's non-linearity using the equation above.<br />
<br />
<b>Sensors - Battery Voltage</b><br />
Unlike the previous sensors, the battery voltage measuring circuit is continuously connected to the battery making it necessary to limit the current leaking through this path. Thus two 1MΩ resistors were chosen to form a voltage divider keeping the current between 0.45μA and 0.95μA. The resulting high source impedance (0.5MΩ) for the ADC meant that a 15nF capacitor was placed across the input again to provide a pool for the ADC's sampling capacitor (3.2pF) to tap into without dropping the measured voltage.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqGJe5rpPvSug8JSRnWDtp-A_IPI52nxU27A2K4CZvxpxXv64K62-iWbd0k00edlFjR2JQDapZtiQaOdpiLsVfLbSRlPBRA5jvG5jSgejhFIg0W99I3le9h5LMhwWgkz70QGWIfFifsnA/s1600/schematic+voltage+divider+05.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="532" data-original-width="783" height="135" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqGJe5rpPvSug8JSRnWDtp-A_IPI52nxU27A2K4CZvxpxXv64K62-iWbd0k00edlFjR2JQDapZtiQaOdpiLsVfLbSRlPBRA5jvG5jSgejhFIg0W99I3le9h5LMhwWgkz70QGWIfFifsnA/s200/schematic+voltage+divider+05.PNG" width="200" /></a></div>
Since the measured voltage is connected continuously and by its nature fast changes aren't expected, the time constant (7.5ms) of the capacitor-resistors pair can be ignored. Figures on the order of gigaohms for insulation resistance of MLCC capacitors can be found which puts the additional leakage current through the capacitor to nano/picoamps. The 0.5% tolerance resistors alone should provide accuracy to a few millivolts. However, the actual readings will depend on the overall noise of the setup.<br />
<br />
<br />
<b>ESD Protection</b><br />
While I was reading through some old #highaltitude <a href="http://habhub.org/zeusbot/">logs</a>, I came across mentions of ESD presence on high altitude balloon trackers. Apparently, charge can due to air friction build up on an antenna endangering the RF input/output. Since at floating altitudes there is little to no humidity in the surrounding air, the charge can't effectively dissipate.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgy_hNlsBxqHBSAaDvSbZOwebQEDiW8LoAxMx68aNCcC6wNKzJOfWHBuDAi5eF6Dnv5eBdXlzABo7SYX2v6uSsahC-Xd9suKgADBWt3LZOjPTbngmC5hD5VOZn6JGeGl2KSDnzQDFTiUxg/s1600/schematic+esd+gps+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="609" data-original-width="960" height="126" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgy_hNlsBxqHBSAaDvSbZOwebQEDiW8LoAxMx68aNCcC6wNKzJOfWHBuDAi5eF6Dnv5eBdXlzABo7SYX2v6uSsahC-Xd9suKgADBWt3LZOjPTbngmC5hD5VOZn6JGeGl2KSDnzQDFTiUxg/s200/schematic+esd+gps+01.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjv2FNbwDag16Eo5cekkbh5pKcDWF_xdpAhyTISqQ3vo4t78d-_z7ZxGIi0Y72fZnfgxPteuT5aHu6typt0-qR6QwR1t17J08e7Fpb2o9Snt7maeZ2NP_mveUlODofzgZC0IZRgJcn_Q0I/s1600/schematic+esd+transmitter+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="636" data-original-width="985" height="128" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjv2FNbwDag16Eo5cekkbh5pKcDWF_xdpAhyTISqQ3vo4t78d-_z7ZxGIi0Y72fZnfgxPteuT5aHu6typt0-qR6QwR1t17J08e7Fpb2o9Snt7maeZ2NP_mveUlODofzgZC0IZRgJcn_Q0I/s200/schematic+esd+transmitter+01.png" width="200" /></a></div>
After looking into the subject more closely, I decided to add some protection. Namely, an ESD diode at the GPS module's RF input and a static bleeder resistor at the transmitter's antenna input. The ZOE-M8B's integration manual recommends to add a low capacitance (0.5pF) ESD9R3.3S diode as in the illustration above. While in case of the Si5351B's output, I decided to connect a 1MΩ resistor between the antenna's input and PCB ground to avoid detuning the low pass filter with any additional capacitance. The measures are intended to safely dissipate any ordinary charge build-up on the lines. They are not meant to protect against a storm. The balloon wouldn't most likely survive such encounter anyway.<br />
<br />
<br />
<b>Accessory Circuitry</b><br />
Since there was some spare space on the PCB around the tracker as I went on to design it, I decided to add a snap-off piece with a couple of additional components to help with programming of the finished device. They are a 1.8V to 3.3V level shifter for the SWDIO and SWCLK lines, plus a current limited reset line on one side. And a 1.5V LDO to run the tracker from a LiPo battery during testing on the other side. This snap-off board is not part of the tracker itself and can be left out from the design.<br />
<br />
<br />
<b>Schematic</b><br />
The actual schematic was drawn in the free version of Autodesk's EAGLE software which allows designing two layer boards of up to 80cm<sup>2</sup>. So far, I have done all my designs in EAGLE.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdCeOS1cCGR5GlxHc9RaF8AVpWTdPhIYMy3FL3qGBGAFUJZGDfywZbDp_MN-yAS7e6KqPjrHSGnA2uXWru3jiWYC3pHwPXuIMIi9tY4c5WPYtiaxZVjDjXSkJrB1SpXzVaEoOJBwOK_7c/s1600/eagle+schematic+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="870" data-original-width="1439" height="120" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdCeOS1cCGR5GlxHc9RaF8AVpWTdPhIYMy3FL3qGBGAFUJZGDfywZbDp_MN-yAS7e6KqPjrHSGnA2uXWru3jiWYC3pHwPXuIMIi9tY4c5WPYtiaxZVjDjXSkJrB1SpXzVaEoOJBwOK_7c/s200/eagle+schematic+01.png" width="200" /></a></div>
For illustration, this is the main schematic window. I usually try to split the design into logical blocks to keep it easy to orient in. The SHOW tool is quite helpful in highlighting same signal traces as can be seen in the screen above. Properly naming and labelling signals that connect to parts in different blocks helps too.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiE6N-GkmqYYt4nvf7VJwszl5rEJF0ZkZVrYtu8rS_WtPOL8yLNuzXGbNonaXXE8lgIT5L_DSl7zE9TEvMNMkrD74c6fciFhxXSnHbX9En7J5rxLfSU_-7B7ZAAhzsZXJig_b3hXBEoZgM/s1600/eagle+schematic+full+04.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="908" data-original-width="1600" height="113" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiE6N-GkmqYYt4nvf7VJwszl5rEJF0ZkZVrYtu8rS_WtPOL8yLNuzXGbNonaXXE8lgIT5L_DSl7zE9TEvMNMkrD74c6fciFhxXSnHbX9En7J5rxLfSU_-7B7ZAAhzsZXJig_b3hXBEoZgM/s200/eagle+schematic+full+04.png" width="200" /></a></div>
This is the complete schematic of the tracker exported to a high resolution png file. It captures all the previously described circuits in their full and final form. This schematic then serves as the basis for the actual board design which can be entered by clicking 'Generate/switch to board' icon in the menu bar at the top.<br />
<br />
<br />
<b>Estimated Consumption</b><br />
At this point, I will summarize the design's expected consumption using the maximum values provided by the datasheets. Later, these results will be confronted with actual measurements once the tracker is finished. The envisioned operation of the tracker is divided into four stages. Standby where the MCU is in its low power mode, and components that can be shut down are shut down. Active 1.8V corresponds to acquiring GPS positional fix and measurements from 1.8V sensors. Active 3.3V summarizes acquisition of ambient light measurement. And Transmitting maps the consumption during a 0.8s long transmission of an APRS packet. Each stage is complemented by an estimated duration.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm"></th>
<th class="tg-amwm">t [s]</th>
<th class="tg-amwm">TPS61099</th>
<th class="tg-amwm">SAML21</th>
<th class="tg-amwm">TCXO</th>
<th class="tg-amwm">TPS3839</th>
<th class="tg-amwm">Vbatt</th>
</tr>
<tr>
<td class="tg-yw47">Transmitting</td>
<td class="tg-lyy6">0.8</td>
<td class="tg-lyy6">3.1μA</td>
<td class="tg-lyy6">1.47mA</td>
<td class="tg-lyy6">1.5μA</td>
<td class="tg-lyy6">0.15μA</td>
<td class="tg-lyy6">0.95μA</td>
</tr>
<tr>
<td class="tg-yw47">Active 3.3V</td>
<td class="tg-lyy6">0.1</td>
<td class="tg-lyy6">3.1μA</td>
<td class="tg-lyy6">356μA</td>
<td class="tg-lyy6">1.5μA</td>
<td class="tg-lyy6">0.15μA</td>
<td class="tg-lyy6">0.95μA</td>
</tr>
<tr>
<td class="tg-yw47">Active 1.8V</td>
<td class="tg-lyy6">3.0</td>
<td class="tg-lyy6">3.1μA</td>
<td class="tg-lyy6">356μA</td>
<td class="tg-lyy6">1.5μA</td>
<td class="tg-lyy6">0.15μA</td>
<td class="tg-lyy6">0.95μA</td>
</tr>
<tr>
<td class="tg-yw47">Standby</td>
<td class="tg-lyy6">90.0</td>
<td class="tg-lyy6">3.1μA</td>
<td class="tg-lyy6">1.5μA</td>
<td class="tg-lyy6">1.5μA</td>
<td class="tg-lyy6">0.15μA</td>
<td class="tg-lyy6">0.95μA</td>
</tr>
</tbody></table>
<br />
First a summary of components that run continuously such as the main 1.8V boost converter, the MCU and its TCXO, the MCU supervisor, and the battery voltage divider. The MCU's consumption differs based on its state and operating frequency. Here it is at 4MHz in both active modes and at 12MHz with active DAC peripheral while transmitting.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm"></th>
<th class="tg-amwm">t [s]</th>
<th class="tg-amwm">MIC9407</th>
<th class="tg-amwm">ZOE-M8B</th>
<th class="tg-amwm">MIC9407</th>
<th class="tg-amwm">Vtherm</th>
<th class="tg-amwm">Vtherm</th>
<th class="tg-amwm">MS5607</th>
<th class="tg-amwm">MS5607</th>
</tr>
<tr>
<td class="tg-yw47">Transmitting</td>
<td class="tg-lyy6">0.8</td>
<td class="tg-lyy6">1.0μA</td>
<td class="tg-lyy6">15.0μA</td>
<td class="tg-lyy6">1.0μA</td>
<td class="tg-lyy6">0</td>
<td class="tg-lyy6">0</td>
<td class="tg-lyy6">0</td>
<td class="tg-lyy6">0</td>
</tr>
<tr>
<td class="tg-yw47">Active 3.3V</td>
<td class="tg-lyy6">0.1</td>
<td class="tg-lyy6">1.0μA</td>
<td class="tg-lyy6">15.0μA</td>
<td class="tg-lyy6">1.0μA</td>
<td class="tg-lyy6">0</td>
<td class="tg-lyy6">0</td>
<td class="tg-lyy6">0</td>
<td class="tg-lyy6">0</td>
</tr>
<tr>
<td class="tg-yw47">Active 1.8V</td>
<td class="tg-lyy6">3.0</td>
<td class="tg-lyy6">9.0μA</td>
<td class="tg-lyy6">34.5mA</td>
<td class="tg-lyy6">9.0μA</td>
<td class="tg-lyy6">36.0μA</td>
<td class="tg-lyy6">36.0μA</td>
<td class="tg-lyy6">1.4mA</td>
<td class="tg-lyy6">1.4mA</td>
</tr>
<tr>
<td class="tg-yw47">Standby</td>
<td class="tg-lyy6">90.0</td>
<td class="tg-lyy6">1.0μA</td>
<td class="tg-lyy6">15.0μA</td>
<td class="tg-lyy6">1.0μA</td>
<td class="tg-lyy6">0</td>
<td class="tg-lyy6">0</td>
<td class="tg-lyy6">0</td>
<td class="tg-lyy6">0</td>
</tr>
</tbody></table>
<br />
This table contains components which are part of the two 1.8V circuits controlled by the two load switches. I've used the datasheet's 34.5mA current consumption of the Acquisition engine for the ZOE-M8B GPS module assuming the worst case scenario that the module has to run full power on every wake-up. In reality the consumption should mostly be the Tracking engine's 7.3mA. The duration of this stage is an estimate dictated by the GPS module based on my previous tracker that used MAX-M8Q to acquire positional fixes.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm"></th>
<th class="tg-amwm">t [s]</th>
<th class="tg-amwm">TPS61099</th>
<th class="tg-amwm">SI5351B</th>
<th class="tg-amwm">TCXO</th>
<th class="tg-amwm">FXMAR.</th>
<th class="tg-amwm">VEML6030</th>
</tr>
<tr>
<td class="tg-yw47">Transmitting</td>
<td class="tg-lyy6">0.8</td>
<td class="tg-lyy6">4.1μA</td>
<td class="tg-lyy6">40.6mA</td>
<td class="tg-lyy6">2.5mA</td>
<td class="tg-lyy6">370μA</td>
<td class="tg-lyy6">0.5μA</td>
</tr>
<tr>
<td class="tg-yw47">Active 3.3V</td>
<td class="tg-lyy6">0.1</td>
<td class="tg-lyy6">4.1μA</td>
<td class="tg-lyy6">35.0mA</td>
<td class="tg-lyy6">2.5mA</td>
<td class="tg-lyy6">370μA</td>
<td class="tg-lyy6">45.0μA</td>
</tr>
<tr>
<td class="tg-yw47">Active 1.8V</td>
<td class="tg-lyy6">3.0</td>
<td class="tg-lyy6">1.6μA</td>
<td class="tg-lyy6">0</td>
<td class="tg-lyy6">0</td>
<td class="tg-lyy6">0</td>
<td class="tg-lyy6">0</td>
</tr>
<tr>
<td class="tg-yw47">Standby</td>
<td class="tg-lyy6">90.0</td>
<td class="tg-lyy6">1.6μA</td>
<td class="tg-lyy6">0</td>
<td class="tg-lyy6">0</td>
<td class="tg-lyy6">0</td>
<td class="tg-lyy6">0</td>
</tr>
</tbody></table>
<br />
The components supplied by the controllable 3.3V boost converter are summarized in this table. The ambient light sensor takes 100ms to take a measurement during which the whole circuit is powered (Active 3.3V). Later, it can be shut down, and the actual packet transmission can take place (Transmitting). During Active 1.8V and Standby stages the whole 3.3V circuit is powered down and the only consumption should come from the boost converter's shutdown current.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm"></th>
<th class="tg-amwm">t [s]</th>
<th class="tg-amwm">Effic.(1.8)</th>
<th class="tg-amwm">Effic.(3.3)</th>
<th class="tg-amwm">Total(1.8)</th>
<th class="tg-amwm">Total(3.3)</th>
<th class="tg-amwm">Total PWR</th>
</tr>
<tr>
<td class="tg-yw47">Transmitting</td>
<td class="tg-lyy6">0.8</td>
<td class="tg-lyy6">91%</td>
<td class="tg-lyy6">88%</td>
<td class="tg-lyy6">1.5mA</td>
<td class="tg-lyy6">43.5mA</td>
<td class="tg-lyy6">166.0mW</td>
</tr>
<tr>
<td class="tg-yw47">Active 3.3V</td>
<td class="tg-lyy6">0.1</td>
<td class="tg-lyy6">91%</td>
<td class="tg-lyy6">88%</td>
<td class="tg-lyy6">379.0μA</td>
<td class="tg-lyy6">37.9mA</td>
<td class="tg-lyy6">143.0mW</td>
</tr>
<tr>
<td class="tg-yw47">Active 1.8V</td>
<td class="tg-lyy6">3.0</td>
<td class="tg-lyy6">92%</td>
<td class="tg-lyy6">70%</td>
<td class="tg-lyy6">37.8mA</td>
<td class="tg-lyy6">2.0μA</td>
<td class="tg-lyy6">73.9mW</td>
</tr>
<tr>
<td class="tg-yw47">Standby</td>
<td class="tg-lyy6">90.0</td>
<td class="tg-lyy6">80%</td>
<td class="tg-lyy6">70%</td>
<td class="tg-lyy6">24.0μA</td>
<td class="tg-lyy6">2.0μA</td>
<td class="tg-lyy6">62.0μW</td>
</tr>
</tbody></table>
<br />
The efficiency values come from TPS61099's datasheet and were derived from corresponding charts. The following columns summarize the total current consumption in 1.8V and 3.3V sections during different stages of operation while the last column shows the total estimated power consumption. Taking into account the durations of individual stages, the values presented above yield a 3.99mW average power consumption. The AAA Energizer Ultimate Lithium battery holds about 1.875Wh of electrical energy (1.25Ah * 1.5V). One such cell could power the tracker for 19.6 days. Increasing the delay between active states from 90s to 120s would see the duration rise to 25.7 days. In case of transmission every 3 minutes, 37.8 days could be achieved.<br />
<br />
<br />
<b>PCB Design</b><br />
Once a schematic is finished, and EAGLE is switched to the Board window, the shape of the actual PCB can be outlined, the components arranged, and all the traces connecting them drawn, so an actual board design can be sent to a manufacturer.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_Y0YKIRaQfdneCrm9WMRPWHZnNkSoSlLlhQbmpgf_x8-7yYn7XzLEb7MiO29j983hPCCUC2UyTCVIrJzpankoj8-rOggHrlOHwCg1NwelifkN36kNFzV3vdRkgL2Q9Vxs_z6gJJazAE0/s1600/eagle+board+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="870" data-original-width="1439" height="120" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_Y0YKIRaQfdneCrm9WMRPWHZnNkSoSlLlhQbmpgf_x8-7yYn7XzLEb7MiO29j983hPCCUC2UyTCVIrJzpankoj8-rOggHrlOHwCg1NwelifkN36kNFzV3vdRkgL2Q9Vxs_z6gJJazAE0/s200/eagle+board+01.png" width="200" /></a></div>
This is what the work area in EAGLE looks like. All the parts from the schematic with their respective connections highlighted are laid down next to an outlined shape of a board. The free version of EAGLE allows placing components and routing traces on the Top (red) and Bottom (blue) layers of a PCB. Doing more complex designs (4 or more layered, larger boards) requires paying a subscription fee for higher versions of the software.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmnYe4VCXs7MiBbr1FBEU_9dIIEcyUqZCoZppyDxF-0kSOhL8Sg70zL4ZTTySbmfujv5iSp8eZfT43HCCfl49nuqqhiXILIvB0Eo7eUbXvpgu_IL_ruIlVzYVp13gj5da0DJ06HpxH-18/s1600/oshpark+specs+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="763" data-original-width="1063" height="143" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmnYe4VCXs7MiBbr1FBEU_9dIIEcyUqZCoZppyDxF-0kSOhL8Sg70zL4ZTTySbmfujv5iSp8eZfT43HCCfl49nuqqhiXILIvB0Eo7eUbXvpgu_IL_ruIlVzYVp13gj5da0DJ06HpxH-18/s200/oshpark+specs+01.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjozN-y97A8uOj9bGdhtGJrGW371FyZf6SrTdJV6aZSbffmjy3FfUk0yHRLg4o7ZYB9Ppl4rlv0iQlsy0mPOjs1Gztiw1w0dHMDsxBqrfzdfmj-gbAhCWXsf122Btgdvi9TAkQTtDk63t8/s1600/oshpark+specs+02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="764" data-original-width="1064" height="143" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjozN-y97A8uOj9bGdhtGJrGW371FyZf6SrTdJV6aZSbffmjy3FfUk0yHRLg4o7ZYB9Ppl4rlv0iQlsy0mPOjs1Gztiw1w0dHMDsxBqrfzdfmj-gbAhCWXsf122Btgdvi9TAkQTtDk63t8/s200/oshpark+specs+02.png" width="200" /></a></div>
There are limitations to how thin a trace or small a distance between traces a manufacturer can make. These design rules are usually summarized on the manufacturer's website. I've been using OSH Park to have my boards made for some time now and intend to order this board from them as well. Hence the specifications from the screen above are respected in the design described in the following paragraphs. Aside from the design rules, there are additional documents in the OSH Park Docs section that may shed light on some of the terms and help with the design.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgssjaopru7glDMdOg9qxVDqFQL5cDzdMXNEkp2QFQoaDFbKuMuiX-7tE2086RlvvCNGOQBDR07X95fgqjKexsZm3HcF-Yk1KxUS73T3VgqNFYrttPh5QrtW5LZqrvrRPVbb4CvKKCnMEc/s1600/eagle+footprint+04.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="870" data-original-width="1439" height="120" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgssjaopru7glDMdOg9qxVDqFQL5cDzdMXNEkp2QFQoaDFbKuMuiX-7tE2086RlvvCNGOQBDR07X95fgqjKexsZm3HcF-Yk1KxUS73T3VgqNFYrttPh5QrtW5LZqrvrRPVbb4CvKKCnMEc/s200/eagle+footprint+04.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEij4Ll6xgF3bBspJxIprhVFpDorzkZEgoZIO_GNHkMb4OTr6mJtxeRS9o1vWcG-RODrO93kPP08U6N81puNTQHAgicv-CZ_cahrN3VOTD7o-7GmEaZi5SRZymtxvya9n2O3kplGk502hZ8/s1600/eagle+footprint+05.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="870" data-original-width="1439" height="120" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEij4Ll6xgF3bBspJxIprhVFpDorzkZEgoZIO_GNHkMb4OTr6mJtxeRS9o1vWcG-RODrO93kPP08U6N81puNTQHAgicv-CZ_cahrN3VOTD7o-7GmEaZi5SRZymtxvya9n2O3kplGk502hZ8/s200/eagle+footprint+05.png" width="200" /></a></div>
EAGLE is distributed with numerous libraries which contain individual components stored in terms of a Symbol and a Package. A Symbol, as seen in the image on the left, belongs on a schematic and lets the user wire individual connections between the component and other parts. A package, in the image on the right, then specifies the precise dimensions of copper plating, openings in solder mask, or drawings on silkscreen, and goes on the actual board. The in-built libraries don't contain all imaginable components, so I usually design the symbols and packages myself following recommendations from the component's datasheet.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvw_DwYY900MdZ2zxFdGmhB_mVt1A1tnkp7nLZVtzGRtGg_DO2-suVs4zbrLa0bnKTrMbV55qiHV7krbaW2n45o7-K6uQjh57htqfQf4X70OcXhpbMYj62bZkEG6sv7GWqwq2IBWUqNnE/s1600/oshpark+real+pcb+01+schematic+02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="672" data-original-width="1066" height="125" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvw_DwYY900MdZ2zxFdGmhB_mVt1A1tnkp7nLZVtzGRtGg_DO2-suVs4zbrLa0bnKTrMbV55qiHV7krbaW2n45o7-K6uQjh57htqfQf4X70OcXhpbMYj62bZkEG6sv7GWqwq2IBWUqNnE/s200/oshpark+real+pcb+01+schematic+02.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiquPrsJ97413LQtasMOs1t9Bp4Vh8TkjQ_CJjQAqws7Dx9Nv0hb2P3bPxsFk4jDV6LnDmUjQCeKNQj4cKX2tCFEdkuOZ6OFpgYqQf02mpT8nx_IUHz-BQidgqmKsq0ZDnZlh46s7v5uXI/s1600/oshpark+real+pcb+01.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="594" data-original-width="927" height="128" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiquPrsJ97413LQtasMOs1t9Bp4Vh8TkjQ_CJjQAqws7Dx9Nv0hb2P3bPxsFk4jDV6LnDmUjQCeKNQj4cKX2tCFEdkuOZ6OFpgYqQf02mpT8nx_IUHz-BQidgqmKsq0ZDnZlh46s7v5uXI/s200/oshpark+real+pcb+01.JPG" width="200" /></a></div>
Since this tracker hosts a number of ICs in quite tiny and high pitched packages, some of them might be at odds with the manufacturer's limits. To illustrate what I mean, this is a comparison of a design and an actual board containing a few 0402 packages for small resistors and capacitors, and two tiny voltage regulators in an X2SON package (1x1mm). The board works, but it seems that for example by choosing the trace widths to the X2SON package more carefully, the manufacturer might find it easier to make the copper pads more uniform.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGgewJ1eiE7fltpx3TZwQEAvCX1sojqOnv1v-Hn7wrJINIBcdartIblSKUjPaaiMMnZPfJ_fT2aM3rCC1fu3bzP385OyBTMDckz6RSflE6jg44yopqtbX7srH4dHsU-CZdn_GSe6Ejjng/s1600/eagle+package+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="380" data-original-width="388" height="195" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGgewJ1eiE7fltpx3TZwQEAvCX1sojqOnv1v-Hn7wrJINIBcdartIblSKUjPaaiMMnZPfJ_fT2aM3rCC1fu3bzP385OyBTMDckz6RSflE6jg44yopqtbX7srH4dHsU-CZdn_GSe6Ejjng/s200/eagle+package+01.png" width="200" /></a></div>
Once I have the PCBs and components, I intend to use my <a href="http://tt7hab.blogspot.com/2018/06/the-reflow-oven.html">reflow oven</a> to solder them together. To do it properly, I will be ordering a stencil which allows depositing precise amounts of solder paste to each pad on the board. The stencil can be designed in EAGLE as well by including the Cream layer in package designs as can be seen in the image above. This is a portion of the MCU's package where the red areas represent the copper layer (Top layer), the hatched areas outside the copper pads correspond to openings in a protective solder resist (tStop layer) which covers the naked copper layer on a finished PCB. While the hatched areas inside the copper pads outline openings in the stencil (tCream layer).<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0-hQluNP6cFHzcdUsQWooiNL3uZt3EEhoiEPugWz28TMwom508FUfdswHqqwgNjJIgOeheuYpnoVEnOw1sFLpcb0KJi8Y_w5xR9w8s_ddnwTFcm0VfmsdJVxf38oI5FO6Foqctew7o40/s1600/stencil+illustration+01.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="432" data-original-width="911" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0-hQluNP6cFHzcdUsQWooiNL3uZt3EEhoiEPugWz28TMwom508FUfdswHqqwgNjJIgOeheuYpnoVEnOw1sFLpcb0KJi8Y_w5xR9w8s_ddnwTFcm0VfmsdJVxf38oI5FO6Foqctew7o40/s320/stencil+illustration+01.PNG" width="320" /></a></div>
My intention is to order from OSH Stencils who offer stainless steel stencils in 3-8mil (76, 102, 127, 152, 178 and 203µm) thicknesses with minimum aperture size of 25.4µm and a minimum laser spot size of 17.8µm. Aside from these limits there are some guidelines on choosing the stencil thickness and soldering paste type based on the packages being soldered. I've sourced the information from Indium Corporation's <i>Powder Choice Stencil Design Guidelines</i> document. The aim of these guidelines is to ensure the soldering paste gets deposited on the PCB and doesn't stay inside the stencil. $$Area\;Ratio=\frac{D}{4t}\qquad\qquad Area\;Ratio=\frac{LW}{2t(L+W)}$$ To achieve that, an aperture in the stencil should have the $Area\;Ratio$ larger than 0.66. The ratio is the area of the aperture opening divided by the area of the aperture walls. Soldering pastes on the market differ in grain size, in other words, how small the largest particles are. The guideline states to choose such a paste that 4-5 particles can fit across the aperture. Calculating these values for all components on the tracker, a Type 3 paste (25-45µm particle size) could be used with a 76µm stencil.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmoaAzRBnmj7x8HBLOKfRqs77z0gNkLmQJ1HtO85A89BPzHGdTuNHZwSP5JRgExlAKDvOIATatcxZ0ixyMBhMLerkkOHN36NNLN6W9QvvFg-wxI03h4k5qrNQ62wk-hJ_DCKjWFfVVTOw/s1600/stencil+footprint+03.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="592" data-original-width="714" height="165" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmoaAzRBnmj7x8HBLOKfRqs77z0gNkLmQJ1HtO85A89BPzHGdTuNHZwSP5JRgExlAKDvOIATatcxZ0ixyMBhMLerkkOHN36NNLN6W9QvvFg-wxI03h4k5qrNQ62wk-hJ_DCKjWFfVVTOw/s200/stencil+footprint+03.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1qchZiibAq8rEvdoscl_tCnBb4lacXTfvu3Nc6bLkEzP4Dh70EPTfZp8ssh0VXc9qglh1pMfR6nP_MRuevPPM1buZ_gulqDdkVarOixsIfAjYl3u3P5nEY6bFoP_1of3McLcSuIlT3Rs/s1600/stencil+footprint+04.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="591" data-original-width="704" height="167" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1qchZiibAq8rEvdoscl_tCnBb4lacXTfvu3Nc6bLkEzP4Dh70EPTfZp8ssh0VXc9qglh1pMfR6nP_MRuevPPM1buZ_gulqDdkVarOixsIfAjYl3u3P5nEY6bFoP_1of3McLcSuIlT3Rs/s200/stencil+footprint+04.png" width="200" /></a></div>
Provided the whole content of an aperture gets deposited on a PCB, the volume of the paste equates to the aperture area times the stencil thickness. What I couldn't find addressed anywhere was whether there is a minimum required volume of solder paste for a proper solder joint. Because the difference in volume between different thicknesses may be significant. Anyway, when drawing the packages, I mostly followed recommendations from datasheets if present. If not, I applied a suggestion from NXP's <i>AN1902</i> application note to make the stencil openings a minimum of 25µm smaller than the copper pads. In a couple of cases, I thought OSH Park may have problems reproducing small circular pads and solder mask openings, so I diverged from the recommended shape and made them more squarish.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCtcFQtRVg2DSK7isWSwLkE3supWQ-uavORq6seT7PTTqHgcG0GLlT2uyl2u7G_6H-fuBwza1YnI5ZXrcpRcbo93hRZfkzcL3Nbe7amnPqkaZAGWf57z6-ETN7NR33DgQWDUN8M2-mPEs/s1600/pcb+footprint+FXMAR2102+02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="591" data-original-width="874" height="135" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCtcFQtRVg2DSK7isWSwLkE3supWQ-uavORq6seT7PTTqHgcG0GLlT2uyl2u7G_6H-fuBwza1YnI5ZXrcpRcbo93hRZfkzcL3Nbe7amnPqkaZAGWf57z6-ETN7NR33DgQWDUN8M2-mPEs/s200/pcb+footprint+FXMAR2102+02.png" width="200" /></a></div>
A finished PCB is covered with a solder mask. This polymeric layer has openings around each pad and helps with avoiding solder bridging between adjacent pads. In some cases, however, the distance between individual pads is quite small. OSH Park, for example, requires 102µm minimum thickness of a solder mask web. Otherwise, the board is manufactured without it between the pads that are too close. On the other hand, OSH Park also recommends to expand the mask around pads by 51µm to account for fabrication tolerances - the mask may be shifted a little to a side. In a few instances, such as the FXMAR2102 above, the pads were too close, so I had to decrease the expansion to only 25µm to ensure the mask gets printed between them as well. This means that in case the mask is shifted, it may cover a little bit of the pad.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj914S8ifQ1C0TGNVoPgzUEdgg8nxtzCxTjkbLtZ4wgevG2-MqFDgHEzw1CVV1mSbCkCIDIsFmylMyI1N0fbZopZJ0cQislGk9vwaHXAFdpnO7ErGOlsCxNHN5q-bxGlXf-uploqZXjdJU/s1600/pcb+ground+plane+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="420" data-original-width="554" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj914S8ifQ1C0TGNVoPgzUEdgg8nxtzCxTjkbLtZ4wgevG2-MqFDgHEzw1CVV1mSbCkCIDIsFmylMyI1N0fbZopZJ0cQislGk9vwaHXAFdpnO7ErGOlsCxNHN5q-bxGlXf-uploqZXjdJU/s200/pcb+ground+plane+01.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNHD54vg6zLGMZEqGpxZhwyMU7iUE25c2mOtac1LZUTWK3LCvo-hEPvUrUuPZ4AJ9_ZS5vQEggi47d9qaX9OfmkDWClm0j8uSKgDo9DX_vJmZ_DJPxT9x6Xz6Ncyn8iv9GJ66ffbOb4_A/s1600/pcb+ground+plane+02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="421" data-original-width="552" height="152" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNHD54vg6zLGMZEqGpxZhwyMU7iUE25c2mOtac1LZUTWK3LCvo-hEPvUrUuPZ4AJ9_ZS5vQEggi47d9qaX9OfmkDWClm0j8uSKgDo9DX_vJmZ_DJPxT9x6Xz6Ncyn8iv9GJ66ffbOb4_A/s200/pcb+ground+plane+02.png" width="200" /></a></div>
In the actual design, I use ground planes on both sides of the board to serve as the return path for currents from individual components - as opposed to wiring each ground connection separately. The top plane gets fractionated by the components and most of the traces a lot while I try to limit the number of traces splitting the bottom plane. In EAGLE, ground planes are created by drawing a polygon around the board outline and assigning it to the GND signal as in the images above.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDQzTvJufBC2ZD58RFibYdjoQueCX9ngBYrPu6aFYF9WvseZ322ueUrabUoRRy8ehENhJCqpsfZwpHbIrWeqS7ujMxtvXQD2D6H-HvLtZm95pifBKohcLLZVLgDEtD4-E1A7EOKPkFq5Q/s1600/pcb+arrangement+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="703" data-original-width="644" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDQzTvJufBC2ZD58RFibYdjoQueCX9ngBYrPu6aFYF9WvseZ322ueUrabUoRRy8ehENhJCqpsfZwpHbIrWeqS7ujMxtvXQD2D6H-HvLtZm95pifBKohcLLZVLgDEtD4-E1A7EOKPkFq5Q/s200/pcb+arrangement+01.png" width="183" /></a></div>
At the beginning, I arranged the components inside a basic board outline according to what made sense for its intended use. A tracker generally hangs underneath a balloon, so the transmitter was placed at the bottom of the board where an antenna extending down from the tracker can be attached close to the IC. The microcontroller having the most connections to the rest of the components was placed roughly in the middle. It was oriented to make the traces to the respective peripherals as short as possible. A programming tab extended to the left of the MCU. This expanded space was also used for the GPS chip antenna's rather large clearance area which put the GPS module to the left top corner. The power supplies were focused to the right side of the board. Since I intended to extend a couple of external sensors to the balloon itself using wires, the sensor circuits including pads for the wire connections were placed in the top right corner.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaT7z-YIJ-R16I7ckT5UEho9gbCETkbc0omwnfXBKptbxZePYjEQ9BCdUGmCLW1yqVnHBDqChyXfDJBwzBZrT4axGoj7E2hdU8SugBBOnVnbjD5hKxSEmiaItROHxG2XpDTMYWCJTgN_E/s1600/pcb+datasheet+TP61099+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="377" data-original-width="684" height="110" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaT7z-YIJ-R16I7ckT5UEho9gbCETkbc0omwnfXBKptbxZePYjEQ9BCdUGmCLW1yqVnHBDqChyXfDJBwzBZrT4axGoj7E2hdU8SugBBOnVnbjD5hKxSEmiaItROHxG2XpDTMYWCJTgN_E/s200/pcb+datasheet+TP61099+01.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSkUfBwnu8KrNSGx7GuTv_SlRZgaEO3EfgG5Km9yTcMxAyCxlDL-Yt4cK_8V0B2YGdjkd9tJrDADVBzJaH85NJSoJf673rKh4fUm0eJnqx58yF194_jCd_AoJs5_js7FLfv9jmp5w7-Ho/s1600/pcb+boost+TPS61099+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="383" data-original-width="714" height="106" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSkUfBwnu8KrNSGx7GuTv_SlRZgaEO3EfgG5Km9yTcMxAyCxlDL-Yt4cK_8V0B2YGdjkd9tJrDADVBzJaH85NJSoJf673rKh4fUm0eJnqx58yF194_jCd_AoJs5_js7FLfv9jmp5w7-Ho/s200/pcb+boost+TPS61099+01.png" width="200" /></a></div>
Once I had a basic idea of where individual components would be, I began the actual routing. Some datasheets or application notes provide an example layout for the component. This, for example, is the boost converter TPS61099 as laid out in figure 29 of the datasheet in the image on the left and an actual layout I did on the tracker inspired by the example shown in the image on the right.<br />
<br />
Mostly though, datasheets provide only rough guidelines such as <i>'a 100nF ceramic capacitor must be placed as close as possible to the Vdd pin'</i> and leave the layout up to the designer. That opens up a wide variety of ways to connect the components to each other. An actual trace on a pcb has some resistance, capacitance and inductance depending on its dimensions, dimensions of the pcb and the signal's return path (more <a href="http://design.iconnect007.com/index.php/article/62513/what-is-trace-impedance-and-why-do-we-care/62516/?skin=design">details</a>). There are calculators and software to model or approximate specific situations, but aside from a couple of special traces - carrying RF (more on that later), I got by with a much simplified approach of using the thinnest trace width OSH Park could manufacture for data lines, while widening the power carrying traces to decrease their impedance.<br />
<br />
Another aspect I tried to keep in mind was that the frequency of a signal determines the path current will take when returning through the ground plane. A DC signal will return via a path of the least resistance which is typically the physically shortest path on a ground plane. On the other hand, an AC signal will follow the path of the least impedance which means that the returning current in the ground plane will try to follow the path of the trace on the top layer. A visualization of these principles can be found <a href="https://incompliancemag.com/article/alternative-paths-of-the-return-current/">here</a>. In case the path is blocked and the return current is forced away from the top layer trace, the circuit encloses a larger loop area which increases the induction of the path, the loop radiates more power, the carried signal is more susceptible to interfering signals, and as a result of uncontrolled currents flowing around, the ground plane may be at different potentials - an explanation of ground bounce phenomenon <a href="http://www.analog.com/en/analog-dialogue/articles/reducing-ground-bounce-in-dc-to-dc-converters.html">here</a>. What this all meant in the design itself was that I tried to ensure there were, if possible, straight paths for the return currents on the ground plane. In the end however, the lack of space became the dominant factor and splitting the bottom ground plane and extending the return paths became necessary. It most likely won't lead to any catastrophic failures, but it may mean increased noise in the system and analog measurements. Passing EMC regulations for commercial production with this design is also unlikely. In the end, even TT7F didn't take these actualities into account and managed to serve its purpose.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgaERnypa9idZB4rXd-7fLq4ri4R8xXXMIBHwfi2ULEiUpnNOCQXfMV4g93KNzSYJELH6R6lInBY2d-spnBmlVV4v4zjpqC2BcHQpeQooetvFY92yUVE1qWROGSTQ4wWmfd4OaO3j0FI4/s1600/pcb+current+return+paths+02.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="567" data-original-width="749" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgaERnypa9idZB4rXd-7fLq4ri4R8xXXMIBHwfi2ULEiUpnNOCQXfMV4g93KNzSYJELH6R6lInBY2d-spnBmlVV4v4zjpqC2BcHQpeQooetvFY92yUVE1qWROGSTQ4wWmfd4OaO3j0FI4/s200/pcb+current+return+paths+02.PNG" width="200" /></a></div>
To illustrate what was mentioned in the previous paragraph, this is a part of the board with the microcontroller's VDDANA supply and the main 1.8V boost converter. According to <a href="https://www.maximintegrated.com/en/app-notes/index.mvp/id/5450">this</a> Maxim Integrated's document, the MCU's immediate high frequency current demand is satisfied by the nearby 100nF bypass capacitor (the current flow marked by the green arrows) since the source of the power supply may be too far to provide the current without dropping the voltage. The other current loop (blue) then serves to supply the low frequency or DC currents. As can be seen in the image, the returning DC current (dark blue) can't flow in straight line and has to find a way around the trace cutting the ground plane.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzO0nR3NF1EeZrny0lYST5TWgCTu9W31QSjp3GvkSoBl8zwsZ8FlpkYaCmidkeI3IVRa1lx5mtc2i2bG9pydiXeOVEwxt2YGin8pY3_wDszTipruYcH12SwN74obSvVdVBpjJXlMOX54k/s1600/pcb+power+supply+batt+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="704" data-original-width="496" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzO0nR3NF1EeZrny0lYST5TWgCTu9W31QSjp3GvkSoBl8zwsZ8FlpkYaCmidkeI3IVRa1lx5mtc2i2bG9pydiXeOVEwxt2YGin8pY3_wDszTipruYcH12SwN74obSvVdVBpjJXlMOX54k/s200/pcb+power+supply+batt+01.png" width="140" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiswgi59faSYy-ptkPfyUyRU3aH9g4Wt_mW1YdiAi15yQ579oL-A3Y2CnA6urhvSF5StQKyFS5dKonus2me7cWOiXLbt5aE0UudZmIXODECqdtKDbRkUcZNzOyU3nC8ZLc-D42W_WlbJdQ/s1600/pcb+power+supply+18v+02.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="704" data-original-width="497" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiswgi59faSYy-ptkPfyUyRU3aH9g4Wt_mW1YdiAi15yQ579oL-A3Y2CnA6urhvSF5StQKyFS5dKonus2me7cWOiXLbt5aE0UudZmIXODECqdtKDbRkUcZNzOyU3nC8ZLc-D42W_WlbJdQ/s200/pcb+power+supply+18v+02.PNG" width="140" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqmJXl8EPsowBV5CeJ7w-Dx4T1rRO1PKK1DMpCRRQJa-23keRjeIgkyLMqH4zbva5jUECFVjHZYttX48rF3he7EEBSm7Kkbc-B9nbH1XUD7J7OrYnzED30AuyuSHNZjH8xGls48Dhsa98/s1600/pcb+power+supply+33v+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="704" data-original-width="500" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqmJXl8EPsowBV5CeJ7w-Dx4T1rRO1PKK1DMpCRRQJa-23keRjeIgkyLMqH4zbva5jUECFVjHZYttX48rF3he7EEBSm7Kkbc-B9nbH1XUD7J7OrYnzED30AuyuSHNZjH8xGls48Dhsa98/s200/pcb+power+supply+33v+01.png" width="141" /></a></div>
These three images highlight the power supply wiring as carried out in the design. The image on the left shows the battery input at the top right side close to the main 1.8V boost converter. A separate pad right next to the battery input pad allows soldering on jumper leads for manually turning the tracker on and off. A wide trace delivering the battery input to the 3.3V boost converter in the right bottom corner runs along the edge of the board as does a parallel path on the ground plane. An uncovered ground pad underneath the second converter serves as a connection to the battery's negative terminal. The middle image shows the main 1.8V power supply with both of its load switches. All components on the line have their 100nF decoupling capacitors quite close to their respective VCC and GND pins, but the ground return path back to the source converter is much less ideal, usually cut by a few traces along the way. Something similar could be written about the 3.3V power supply in the image on the right. Although the ground plane is much less cut in this case, and the furthest reaching 3.3V arm won't most likely carry much current since it supplies three unused outputs of the Si5351B.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjknWL87l9qOfzoyLBdf7VHm3fyiVRcW80s1K-1Zals4oPwvJgyT9949MJNZLO075ac2QH6Yu58LbJnKhztqUNEfSAcsPh7_qJfwnJXnep-jkSZYDv9wpm33mxFW-yrXxbVVM9vPnCFJcw/s1600/pcb+gps+antenna+02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="280" data-original-width="300" height="186" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjknWL87l9qOfzoyLBdf7VHm3fyiVRcW80s1K-1Zals4oPwvJgyT9949MJNZLO075ac2QH6Yu58LbJnKhztqUNEfSAcsPh7_qJfwnJXnep-jkSZYDv9wpm33mxFW-yrXxbVVM9vPnCFJcw/s200/pcb+gps+antenna+02.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8nuLpnpvcxy3_jIynaKwRRR12l_Y73qLAOns4TVNf9Mb5IZeC3DLJrP-FqSADWLMysmIUQW_EeCpuQEELmp5IrqJvelNAdudT6rqGxp2XuWTrbQHIXuk0Ml8lolW2_rQOfmauRaEXhzk/s1600/pcb+gps+antenna+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="271" data-original-width="278" height="194" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8nuLpnpvcxy3_jIynaKwRRR12l_Y73qLAOns4TVNf9Mb5IZeC3DLJrP-FqSADWLMysmIUQW_EeCpuQEELmp5IrqJvelNAdudT6rqGxp2XuWTrbQHIXuk0Ml8lolW2_rQOfmauRaEXhzk/s200/pcb+gps+antenna+01.png" width="200" /></a></div>
The GPS ceramic chip antenna itself is quite small (3.2 x 1.6 x 1.1mm), but the recommended layout (in the image on the left) requires a 4.00x6.25mm clearance area without any metal. I decided to achieve that by extending the board by a 6x8mm piece of material in the top left corner. Otherwise, I tried to follow the datasheet's layout.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfK_H6FZBlQQdqPVTX1fnOdnSKia5c6Vq-5bO30qLVLL6fw6mi70tvLAYsYOStjhSaf3V5b-p8v34dtdlTvYVDWBsdkCrA-mWN6jLhsuAlXiR-HSRyuhp3Kl3qtd8y_iGKn0HqCN-wCCM/s1600/pcb+gps+backup+supply+03.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="570" data-original-width="575" height="198" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfK_H6FZBlQQdqPVTX1fnOdnSKia5c6Vq-5bO30qLVLL6fw6mi70tvLAYsYOStjhSaf3V5b-p8v34dtdlTvYVDWBsdkCrA-mWN6jLhsuAlXiR-HSRyuhp3Kl3qtd8y_iGKn0HqCN-wCCM/s200/pcb+gps+backup+supply+03.PNG" width="200" /></a></div>
As mentioned in the schematic section, I left myself an option to choose how I supply the GPS module's backup circuitry. The decision is made when soldering a 0<span class="st">Ω resistor to</span> R15 which is a two way package connecting the backup power supply pin to either the same load switch controlled 1.8V supply as the rest of the IC, or the the main always active 1.8V power supply. The former option cuts the GPS module completely off while the latter option (shown in the image above) supplies the backup circuitry when the load switch is turned off.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguoJTtTLj-D_r2QTccqxoFRahlaRpK6UWcreeN6ABVvK1cWD3fglhEwRVF2Qk65FEKlkjP3L9WEqW-NOMJhCTm0ar73KRb4CC9Iv_BxOJsktBjv0i02DvwzZ1RKIVjrtl6mF_3AkeUY7U/s1600/pcb+external+sensors+02.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="476" data-original-width="624" height="152" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguoJTtTLj-D_r2QTccqxoFRahlaRpK6UWcreeN6ABVvK1cWD3fglhEwRVF2Qk65FEKlkjP3L9WEqW-NOMJhCTm0ar73KRb4CC9Iv_BxOJsktBjv0i02DvwzZ1RKIVjrtl6mF_3AkeUY7U/s200/pcb+external+sensors+02.PNG" width="200" /></a></div>
The top right corner of the PCB hosts the on-board pressure sensor, while the bottom layer provides six 2x1mm pads for soldering wires to the external pressure sensor (pad description in the image above). The leads of the on-board thermistor can be pushed through two larger unmasked vias (drill diameter 0.3302mm) and soldered directly to the board. The thermistor bead can extend up to 45mm from the PCB. Two 2x1mm pads for soldering wires to the external thermistor are located next to the vias on the bottom layer. The image also shows the positive battery input terminal located right next to an isolated pad which can be used for an on/off jumper.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmb9BeZeCIFnGLXE71ejxYEMAfrtROzF-4stALSbxzXK3L09VaLqnujAN7Xepwre4JgyqUAJ1_fNYPCRgwVruSXO3z6cxdvhWcZoar1dwYOlgW6FMdx_il7y_WxoGglL5_YbVVWwZQp8g/s1600/illustration+waveguide+04.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="294" data-original-width="547" height="106" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmb9BeZeCIFnGLXE71ejxYEMAfrtROzF-4stALSbxzXK3L09VaLqnujAN7Xepwre4JgyqUAJ1_fNYPCRgwVruSXO3z6cxdvhWcZoar1dwYOlgW6FMdx_il7y_WxoGglL5_YbVVWwZQp8g/s200/illustration+waveguide+04.PNG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3PDrzayQUiMaSqE9j-7c1ED6_UJOgLsBF1bqlVAgdLI1q1c_06dkaVZFhxe96YuSxxt5q-gN-3ZW1_-QVY3OdXaInoMXYoFI4llSVt0OhMg64MeqiMjp9PNS7NYvFHrSXkkE_lKeHcb4/s1600/pcb+coplanar+waveguide+02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="492" data-original-width="469" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3PDrzayQUiMaSqE9j-7c1ED6_UJOgLsBF1bqlVAgdLI1q1c_06dkaVZFhxe96YuSxxt5q-gN-3ZW1_-QVY3OdXaInoMXYoFI4llSVt0OhMg64MeqiMjp9PNS7NYvFHrSXkkE_lKeHcb4/s200/pcb+coplanar+waveguide+02.png" width="190" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixumBLGq_z-zDyRaG7lBkQ6wyZOtNP1fMpM7JXOV9Dvb0BbazSXJgi0Ppxg3rrlR6RekpAHxQ2-DZiFom_rrBHWwi5cF_uo_57_NyOyHQSPzuNfi4Vvb54QcFiej7v98B9o3LxY-siqQc/s1600/pcb+coplanar+waveguide+04.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="492" data-original-width="378" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixumBLGq_z-zDyRaG7lBkQ6wyZOtNP1fMpM7JXOV9Dvb0BbazSXJgi0Ppxg3rrlR6RekpAHxQ2-DZiFom_rrBHWwi5cF_uo_57_NyOyHQSPzuNfi4Vvb54QcFiej7v98B9o3LxY-siqQc/s200/pcb+coplanar+waveguide+04.PNG" width="153" /></a></div>
The traces carrying RF signals to the GPS receiver and from the transmitter output were designed to match to a 50Ω impedance. The transmission line type is called grounded coplanar waveguide and is illustrated in the image above. <a href="http://wcalc.sourceforge.net/cgi-bin/coplanar.cgi">This</a> online calculator was used to arrive at 0.791mm trace width with 0.1524mm gaps between the adjacent ground planes and the signal trace. The calculation further assumed a 0.8mm thick PCB, 70µm copper layer thickness and relative dielectric constant of 4.6. Vias connecting the top and bottom ground planes were placed along the signal trace to provide path to return currents induced on the top layer (according to Maxim Integrated's <i>General Layout Guidelines for RF and Mixed-Signal PCBs</i>). Where a gradual bend was not possible, a mitered right-angle bend was designed according to an equation in the same document.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQq7WsvDMcD0sC3rniZWyFrbq9qXS6SpaFFJi_7vykMruXjgPjYeVuOssCkj8uwsf9hRLz5AfFiup3XQ_XrdQ-wXPvZ23JoeOZe-hNuLw035BQqXFESR_uFIkroWcrrt1SG7786qlWpM0/s1600/pcb+separated+ground+planes+02.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="682" data-original-width="944" height="144" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQq7WsvDMcD0sC3rniZWyFrbq9qXS6SpaFFJi_7vykMruXjgPjYeVuOssCkj8uwsf9hRLz5AfFiup3XQ_XrdQ-wXPvZ23JoeOZe-hNuLw035BQqXFESR_uFIkroWcrrt1SG7786qlWpM0/s200/pcb+separated+ground+planes+02.PNG" width="200" /></a></div>
Because of the proximity of the 3.3V boost converter to the transmitting antenna, I thought it may be better to separate their grounds. A 1mm gap in ground planes on both sides of the PCB encloses the boost converter currents separating them from the antenna pads and the filtering network. If I try to visualize the currents at play, maybe the vias surrounding the two blocks would do the job anyway. I also can't recall seeing any other designs doing it this way. Anyway, this is how the design was carried out. The image also shows the TCXO surrounded by ground vias to contain its high frequency currents. Although, the level translator's DC return path may lead right underneath the oscillator.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRN0_FvZN9KLXrBePiC_AU22wHQSpsO2aXTVHDN2gE9fzCsaFOe4us4MUU-1ZljM4-YhAQBo_yS_1qob2srQ7yI4p036I5QYDPgwfKgVfFuuhm6MqP6Lntds90m5_DEx3cPo8LY78ywno/s1600/pcb+programming+tab+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="289" data-original-width="417" height="138" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRN0_FvZN9KLXrBePiC_AU22wHQSpsO2aXTVHDN2gE9fzCsaFOe4us4MUU-1ZljM4-YhAQBo_yS_1qob2srQ7yI4p036I5QYDPgwfKgVfFuuhm6MqP6Lntds90m5_DEx3cPo8LY78ywno/s200/pcb+programming+tab+01.png" width="200" /></a></div>
The programming tab contains five signals for a SWD programmer/debugger ordered as described in the image above. The VTref signal (target voltage sense) is connected to the MCU's VDD pin - 1.8V. The form of the connector was inspired by <a href="https://github.com/turingbirds/con-pcb-slot">this</a> approach. The 1mm pitched pads were designed to mate with a cut (5 pins) PCI Express connector. Alternatively, leads can be soldered directly to the tab. Before launching the tracker, the tab can be snapped off along the thinner section demarcated by the line of holes in the material.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAwxq1yUvxjQkdq_UIXMRUIqV6JucRXIdF4AzlKdIgsvBWO-gy_jmP1AbcMcD3_x6AMD02qwLSqeDPNo9sUXJK5mPsCbz5Wbd_osSGRa9BtG1U1Yopnv4Uhh3ThL5UrclDzqsfxZZRx74/s1600/pcb+snap-off+tabs+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="580" data-original-width="257" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAwxq1yUvxjQkdq_UIXMRUIqV6JucRXIdF4AzlKdIgsvBWO-gy_jmP1AbcMcD3_x6AMD02qwLSqeDPNo9sUXJK5mPsCbz5Wbd_osSGRa9BtG1U1Yopnv4Uhh3ThL5UrclDzqsfxZZRx74/s200/pcb+snap-off+tabs+01.png" width="88" /></a></div>
As mentioned previously, the GPS antenna clearance area expanded the board to the left by a few millimeters. I decided to utilize the space that arose and added another snap-off piece which carried another level translator at the top and a 1.5V LDO at the bottom. Originally, there was only a 1mm wide slot between the tabs. However, it occurred to me I should have asked OSH Park about the size of the tool they use to mill the board outline. The response was that they typically use a mill end that is 1.73mm in diameter, and recommend slots of at least this width. But they also have a 1mm mill end available so that 'should' work. Nevertheless, since it wasn't constraining my design that much, I widened the slots to 2mm.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXEmZyUUxAS4-SrYtyoeFe5XJTYewiBDkmd1QPm_4QaALuCkZJ2bM5sCKsKPZkosMcD4tnE9eMGrVf-gPh1OeTJpeousIy4izwLBsP6y8Fh_fV1nie6cwAlzWsDht3p7GtaEB85O8lypQ/s1600/eagle+board+05.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="704" data-original-width="511" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXEmZyUUxAS4-SrYtyoeFe5XJTYewiBDkmd1QPm_4QaALuCkZJ2bM5sCKsKPZkosMcD4tnE9eMGrVf-gPh1OeTJpeousIy4izwLBsP6y8Fh_fV1nie6cwAlzWsDht3p7GtaEB85O8lypQ/s200/eagle+board+05.png" width="144" /></a></div>
This is the finished board design. The yellow lines (tDocu layer) typically outline the actual dimensions of the package for information purposes and won't be part of the manufactured board. Aside from the accessory snap-off tab, all components are located on the top layer. I didn't put too many markings on the silkscreen layers (tPlace, bPlace) to let the board look cleaner, at least to my eyes. Usually just labelling the first pin to help orienting the component. So if anyone intends to build this tracker, they will have to know the board when populating it. The description here is quite extensive, I think.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhr23PJvB8jBFQv7NoK0fJhb9PGPCLq0DjzbDoM3A7J3cKx2weNP98DmvWjt2klp0ru7fvnSC0XlN39DAKFw_-9UD32xHRNSxU6uI7hblV3crLoe6pNbAcjIYCf5mP6yfQqvGuv5ltWRiQ/s1600/gif+oshpark+pcb+top.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="671" data-original-width="395" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhr23PJvB8jBFQv7NoK0fJhb9PGPCLq0DjzbDoM3A7J3cKx2weNP98DmvWjt2klp0ru7fvnSC0XlN39DAKFw_-9UD32xHRNSxU6uI7hblV3crLoe6pNbAcjIYCf5mP6yfQqvGuv5ltWRiQ/s200/gif+oshpark+pcb+top.gif" width="116" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivLNSO7AFCXjad5J4pyElTKxYy3aXWPd-EWPlHQOq9nrdieegJ6v8nUNKRNuy3BkRa0HF58C_-fIsp_z_IxeYBErp6p-E8xEECoNYAQ13sFUoPoYEX9zf92ZcUytru7vG40KeKlC6TXm4/s1600/gif+oshpark+pcb+bottom.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="671" data-original-width="395" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivLNSO7AFCXjad5J4pyElTKxYy3aXWPd-EWPlHQOq9nrdieegJ6v8nUNKRNuy3BkRa0HF58C_-fIsp_z_IxeYBErp6p-E8xEECoNYAQ13sFUoPoYEX9zf92ZcUytru7vG40KeKlC6TXm4/s200/gif+oshpark+pcb+bottom.gif" width="117" /></a></div>
This is an evolution of the design for illustration. Starting with a basic idea and initial component arrangement, I went on wiring the components from the transmitter and the 3.3V boost converter at the bottom to the components along the right side of the board (top view), finishing with the microcontroller. The GPS module and antenna were fixed in their position quite early into the design as well. I had to expand the board a little along the way as it became clearer that some bits may be hard to fit. Individual images were rendered by OSH Park upon uploading the design to their website.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhM7aYy5KkytfptJ2eWn8pEzdvRvX7slBoI-7YUFrnOhsGGUs9G1rwpkqpr9Z9FCPUDlGqQh7PDLy_I-hw4atiA7AIxaDsUiUo4_AC4wia0-8ZbYx5kVEGftbrAFx66v9iacH_Dp2_xzQo/s1600/finished+board+06.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="500" data-original-width="294" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhM7aYy5KkytfptJ2eWn8pEzdvRvX7slBoI-7YUFrnOhsGGUs9G1rwpkqpr9Z9FCPUDlGqQh7PDLy_I-hw4atiA7AIxaDsUiUo4_AC4wia0-8ZbYx5kVEGftbrAFx66v9iacH_Dp2_xzQo/s200/finished+board+06.png" width="117" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiL3Sz22wdIGcpcKaT_9f984cnEVrLwmYPMxMWT93IR27wIbzt9Kk-EJ9HXY-yhDKn0QTh8on5lAajcFMjEVnY0PJJ4BIWZ9doBDY8Ad5fNjTPqfB1Hlijy9UvmxecGWt3cVBsQ6-LLuM/s1600/finished+board+07.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="500" data-original-width="294" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiL3Sz22wdIGcpcKaT_9f984cnEVrLwmYPMxMWT93IR27wIbzt9Kk-EJ9HXY-yhDKn0QTh8on5lAajcFMjEVnY0PJJ4BIWZ9doBDY8Ad5fNjTPqfB1Hlijy9UvmxecGWt3cVBsQ6-LLuM/s200/finished+board+07.png" width="117" /></a></div>
These are also images by OSH Park of the finished board that capture individual copper pours. It's apparent that the bottom ground plane ended up quite scarred by traces. Some of the return currents, especially between the pressure sensor and the MCU, will be forced quite a distance from their forward flowing counterparts.<br />
<br />
<br />
<b>Ordering</b><br />
At this point, it was time to send the design to a manufacturer, order components and everything else needed for assembling the boards. It turned out that most of the orders would be placed with US based companies - OSH Park for the boards, OSH Stencils for the stencil, and Mouser for the components. Despite being on the other side of the world, it currently is the most cost and availability effective solution for me. Although, it does mean a bit longer delivery times.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEF-SkNKn8ssWbJtek5CHwFZzxznxmJcWSelZ5qiaWerA3_jQbE1d98N7bcX5qa6W55XmJhB-Jf4exsOLnmkpXuX1UNVA-364sjEcOU9-MNeWzRXX3bD5KGk3GOcjLMgGmUjPhALKtbuM/s1600/oshpark+order+02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="764" data-original-width="1054" height="144" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEF-SkNKn8ssWbJtek5CHwFZzxznxmJcWSelZ5qiaWerA3_jQbE1d98N7bcX5qa6W55XmJhB-Jf4exsOLnmkpXuX1UNVA-364sjEcOU9-MNeWzRXX3bD5KGk3GOcjLMgGmUjPhALKtbuM/s200/oshpark+order+02.png" width="200" /></a></div>
Ordering the boards is easy. It requires only uploading the design (.brd file) to the OSH Park website, filling in the mailing address, and paying with a credit card. The cost depends on the dimensions of the board - calculated as the smallest rectangle encompassing the design. I opted for the 2oz copper with 0.8mm FR4 thickness service for \$5.25 per three boards - the PCBs were 20 x 34mm. And I chose the free International First Class shipping without tracking. The boards took 14 days to deliver to the Czech Republic. Out of that, 9 days were spent on the fabrication according to OSH Park.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfxktFy1wszx2-O2ApVA4Vjmeuhe_Yvtv8T4sNMp-3hBIZgeOaGJsr1NLIdU44Ekvu31mAM-ua5Dub-suBUZ4_3WXkCOv9CeRIixmmruqJYlRlJTs0YoWs0aThLaTJRsnkiQJuRI0hjzo/s1600/eagle+stencil+02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="699" data-original-width="537" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfxktFy1wszx2-O2ApVA4Vjmeuhe_Yvtv8T4sNMp-3hBIZgeOaGJsr1NLIdU44Ekvu31mAM-ua5Dub-suBUZ4_3WXkCOv9CeRIixmmruqJYlRlJTs0YoWs0aThLaTJRsnkiQJuRI0hjzo/s200/eagle+stencil+02.png" width="153" /></a></div>
This is a screenshot of EAGLE showing only the tCream layer which serves as the basis for manufacturing a stencil. All the outlined areas demark spots where soldering paste should be deposited on the boards when populating the tracker with components.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkmlTAoqTnRnKZ1kQJhrnoJTYjuQB1Zc-D_u0LVTvh0_p0TJNwgInnS4COnkJpdvIppdi8sVQ-61rWFcdH1-JcVl9wkXkqACDX6dY3SO3Auk-k6FYK7dxWaQIEBO096iFpOhlKmU1Ji20/s1600/oshstencils+order+04.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="764" data-original-width="1078" height="141" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkmlTAoqTnRnKZ1kQJhrnoJTYjuQB1Zc-D_u0LVTvh0_p0TJNwgInnS4COnkJpdvIppdi8sVQ-61rWFcdH1-JcVl9wkXkqACDX6dY3SO3Auk-k6FYK7dxWaQIEBO096iFpOhlKmU1Ji20/s200/oshstencils+order+04.png" width="200" /></a></div>
Ordering the stencil is similar to ordering the PCBs. After uploading the .brd file to OSH Stencils' website, choosing the material, stencil thickness and dimensions, the site calculates the cost. Payments can be made via a credit card. I chose a 76μm (3mil) thick stainless steel stencil 57 by 68mm in dimensions. For that I paid the minimum order of \$10 plus \$7.93 for shipping to the Czech Republic with USPS (International First Class with tracking). The stencil was shipped the next day and delivered after 26 days since ordering.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_WTQ4XRJdLk7KNYbgcNi0pEjiXaL9nebVoKiOBrVM6uLktHRjCABe87XjukwmW2i3O-zD5x2JPc__QP_L2WRX2KDMOp5ui60ErLG2-6q6M6ImYPljEPZ7fqDalEFR-NLBaYGljdQyoPY/s1600/mouser+order+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="765" data-original-width="1061" height="143" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_WTQ4XRJdLk7KNYbgcNi0pEjiXaL9nebVoKiOBrVM6uLktHRjCABe87XjukwmW2i3O-zD5x2JPc__QP_L2WRX2KDMOp5ui60ErLG2-6q6M6ImYPljEPZ7fqDalEFR-NLBaYGljdQyoPY/s200/mouser+order+01.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhG2tfekeoO2yv4rYpa26dqaGaIH_1qJT6JFly0uJmTkqvNqcWokP6tn_2sfw1NGTZ59YuWYGf3LWPeWWXKGm3h87agjsVRmZJvj1X556oGKhgf2kZwP2qeS6JI0h80gxzhdBGse-8bGfk/s1600/fedex+mauser+02.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="730" data-original-width="1100" height="132" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhG2tfekeoO2yv4rYpa26dqaGaIH_1qJT6JFly0uJmTkqvNqcWokP6tn_2sfw1NGTZ59YuWYGf3LWPeWWXKGm3h87agjsVRmZJvj1X556oGKhgf2kZwP2qeS6JI0h80gxzhdBGse-8bGfk/s200/fedex+mauser+02.jpg" width="200" /></a></div>
As I mentioned, I use the big distributors' online catalogues to choose and look for components. To my knowledge, it is also the easiest way of obtaining the more specialized parts in the Czech Republic. For this project, I ordered almost all components from Mouser. The one exception was the u-blox ZOE-M8B module which I got from a local distributor. If the price of an order is above €50, Mouser ships the package with Fedex without any additional payment for the delivery. Fedex provides tracking, so occasionally the parcel can be followed on its route. Here it is arriving in Europe. It was delivered from Mansfield, Texas to Roznov pod Radhostem in the Czech Republic in 5 days 10 hours.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-amwm">#</th>
<th class="tg-amwm">Part Number</th>
<th class="tg-amwm">€</th>
<th class="tg-amwm">#</th>
<th class="tg-amwm">Part Number</th>
<th class="tg-amwm">€</th>
<th class="tg-amwm">#</th>
<th class="tg-amwm">Part Number</th>
<th class="tg-amwm">€</th>
</tr>
<tr>
<td class="tg-amwm">U1</td>
<td class="tg-yw47">SAML21E17B-MUT</td>
<td class="tg-lyy6">3.33</td>
<td class="tg-amwm">R1</td>
<td class="tg-yw47">SFR01MZPF1504</td>
<td class="tg-lyy6">0.081</td>
<td class="tg-amwm">C6</td>
<td class="tg-yw47">GRM155R60J106ME15D</td>
<td class="tg-lyy6">0.177</td>
</tr>
<tr>
<td class="tg-amwm">U2</td>
<td class="tg-yw47">ZOE-M8B</td>
<td class="tg-lyy6">11.64</td>
<td class="tg-amwm">R2</td>
<td class="tg-yw47">SFR01MZPF1504</td>
<td class="tg-lyy6">0.081</td>
<td class="tg-amwm">C7</td>
<td class="tg-yw47">GCM155R72A222KA37D</td>
<td class="tg-lyy6">0.069</td>
</tr>
<tr>
<td class="tg-amwm">U3</td>
<td class="tg-yw47">FXMAR2102UMX-F106</td>
<td class="tg-lyy6">0.47</td>
<td class="tg-amwm">R3</td>
<td class="tg-yw47">CRCW04021M87FKED</td>
<td class="tg-lyy6">0.045</td>
<td class="tg-amwm">C8</td>
<td class="tg-yw47">CC0402JRX7R6BB104</td>
<td class="tg-lyy6">0.011</td>
</tr>
<tr>
<td class="tg-amwm">U4</td>
<td class="tg-yw47">520L15IA26M0000</td>
<td class="tg-lyy6">3.38</td>
<td class="tg-amwm">R4</td>
<td class="tg-yw47">RC0402FR-131KL</td>
<td class="tg-lyy6">0.011</td>
<td class="tg-amwm">C9</td>
<td class="tg-yw47">CC0402JRX7R6BB104</td>
<td class="tg-lyy6">0.011</td>
</tr>
<tr>
<td class="tg-amwm">U5</td>
<td class="tg-yw47">CM8V-T1A-32.768kHz-7</td>
<td class="tg-lyy6">0.77</td>
<td class="tg-amwm">R5</td>
<td class="tg-yw47">RC0402FR-07649KL</td>
<td class="tg-lyy6">0.011</td>
<td class="tg-amwm">C10</td>
<td class="tg-yw47">GRM155R71E183JA61D</td>
<td class="tg-lyy6">0.103</td>
</tr>
<tr>
<td class="tg-amwm">U6</td>
<td class="tg-yw47">MIC94070YMTTR</td>
<td class="tg-lyy6">0.48</td>
<td class="tg-amwm">R6</td>
<td class="tg-yw47">ERJ-2RKD1004X</td>
<td class="tg-lyy6">0.053</td>
<td class="tg-amwm">C11</td>
<td class="tg-yw47">GRM155R60J106ME15D</td>
<td class="tg-lyy6">0.177</td>
</tr>
<tr>
<td class="tg-amwm">U7</td>
<td class="tg-yw47">MS560702BA03-50</td>
<td class="tg-lyy6">2.75</td>
<td class="tg-amwm">R7</td>
<td class="tg-yw47">ERJ-2RKD1004X</td>
<td class="tg-lyy6">0.053</td>
<td class="tg-amwm">C12</td>
<td class="tg-yw47">CC0402JRX7R6BB104</td>
<td class="tg-lyy6">0.011</td>
</tr>
<tr>
<td class="tg-amwm">U8</td>
<td class="tg-yw47">LSF0102DCUR</td>
<td class="tg-lyy6">0.61</td>
<td class="tg-amwm">R8</td>
<td class="tg-yw47">RR0510P-4992-D</td>
<td class="tg-lyy6">0.040</td>
<td class="tg-amwm">C13</td>
<td class="tg-yw47">CGA2B2X5R1E153K050BA</td>
<td class="tg-lyy6">0.024</td>
</tr>
<tr>
<td class="tg-amwm">U9</td>
<td class="tg-yw47">NCV8114ASN150T1G</td>
<td class="tg-lyy6">0.39</td>
<td class="tg-amwm">R9</td>
<td class="tg-yw47">RR0510P-4992-D</td>
<td class="tg-lyy6">0.040</td>
<td class="tg-amwm">C14</td>
<td class="tg-yw47">CGA2B2X5R1E153K050BA</td>
<td class="tg-lyy6">0.024</td>
</tr>
<tr>
<td class="tg-amwm">U10</td>
<td class="tg-yw47">W3011A</td>
<td class="tg-lyy6">1.71</td>
<td class="tg-amwm">R10</td>
<td class="tg-yw47">RC0402FR-131KL</td>
<td class="tg-lyy6">0.011</td>
<td class="tg-amwm">C15</td>
<td class="tg-yw47">CGA2B2X5R1E153K050BA</td>
<td class="tg-lyy6">0.024</td>
</tr>
<tr>
<td class="tg-amwm">U11</td>
<td class="tg-yw47">SI5351B-B-GM</td>
<td class="tg-lyy6">2.74</td>
<td class="tg-amwm">R11</td>
<td class="tg-yw47">ASC0402-100KFT10</td>
<td class="tg-lyy6">0.024</td>
<td class="tg-amwm">C16</td>
<td class="tg-yw47">CC0402JRX7R6BB104</td>
<td class="tg-lyy6">0.011</td>
</tr>
<tr>
<td class="tg-amwm">U12</td>
<td class="tg-yw47">TPS3839G18DQNR</td>
<td class="tg-lyy6">0.65</td>
<td class="tg-amwm">R12</td>
<td class="tg-yw47">ASC0402-100KFT10</td>
<td class="tg-lyy6">0.024</td>
<td class="tg-amwm">C17</td>
<td class="tg-yw47">CC0402JRX7R6BB104</td>
<td class="tg-lyy6">0.011</td>
</tr>
<tr>
<td class="tg-amwm">U13</td>
<td class="tg-yw47">MIC94070YMTTR</td>
<td class="tg-lyy6">0.48</td>
<td class="tg-amwm">R13</td>
<td class="tg-yw47">ASC0402-100KFT10</td>
<td class="tg-lyy6">0.024</td>
<td class="tg-amwm">C18</td>
<td class="tg-yw47">CC0402JRX7R6BB104</td>
<td class="tg-lyy6">0.011</td>
</tr>
<tr>
<td class="tg-amwm">U14</td>
<td class="tg-yw47">SIT1552AI-JE-DCC-32.7</td>
<td class="tg-lyy6">2.20</td>
<td class="tg-amwm">R14</td>
<td class="tg-yw47">RC0402FR-074K7L</td>
<td class="tg-lyy6">0.010</td>
<td class="tg-amwm">C19</td>
<td class="tg-yw47">C1005X7S0G105M050BC</td>
<td class="tg-lyy6">0.057</td>
</tr>
<tr>
<td class="tg-amwm">U15</td>
<td class="tg-yw47">VEML6030</td>
<td class="tg-lyy6">1.96</td>
<td class="tg-amwm">R15</td>
<td class="tg-yw47">AC0402JR-070RL</td>
<td class="tg-lyy6">0.013</td>
<td class="tg-amwm">C20</td>
<td class="tg-yw47">GRM155R60J106ME15D</td>
<td class="tg-lyy6">0.177</td>
</tr>
<tr>
<td class="tg-amwm">U16</td>
<td class="tg-yw47">TPS61099YFFR</td>
<td class="tg-lyy6">1.55</td>
<td class="tg-amwm">R16</td>
<td class="tg-yw47">RC0402FR-074K7L</td>
<td class="tg-lyy6">0.010</td>
<td class="tg-amwm">C21</td>
<td class="tg-yw47">CC0402JRX7R6BB104</td>
<td class="tg-lyy6">0.011</td>
</tr>
<tr>
<td class="tg-amwm">U17</td>
<td class="tg-yw47">TPS61099YFFR</td>
<td class="tg-lyy6">1.55</td>
<td class="tg-amwm">R17</td>
<td class="tg-yw47">RC0402FR-074K7L</td>
<td class="tg-lyy6">0.010</td>
<td class="tg-amwm">C22</td>
<td class="tg-yw47">CC0402JRX7R6BB104</td>
<td class="tg-lyy6">0.011</td>
</tr>
<tr>
<td class="tg-amwm">U18</td>
<td class="tg-yw47">MS560702BA03-50</td>
<td class="tg-lyy6">2.75</td>
<td class="tg-amwm">R18</td>
<td class="tg-yw47">RC0402FR-074K7L</td>
<td class="tg-lyy6">0.010</td>
<td class="tg-amwm">C23</td>
<td class="tg-yw47">C1005X7S0G105M050BC</td>
<td class="tg-lyy6">0.057</td>
</tr>
<tr>
<td class="tg-amwm">T1</td>
<td class="tg-yw47">PX502J2</td>
<td class="tg-lyy6">2.08</td>
<td class="tg-amwm">R19</td>
<td class="tg-yw47">ERJ-2RKF39R0X</td>
<td class="tg-lyy6">0.022</td>
<td class="tg-amwm">C24</td>
<td class="tg-yw47">C1005X7S0G105M050BC</td>
<td class="tg-lyy6">0.057</td>
</tr>
<tr>
<td class="tg-amwm">T2</td>
<td class="tg-yw47">PX502J2</td>
<td class="tg-lyy6">2.08</td>
<td class="tg-amwm">R20</td>
<td class="tg-yw47">CR0402-JW-204GLF</td>
<td class="tg-lyy6">0.011</td>
<td class="tg-amwm">C28</td>
<td class="tg-yw47">GRM155R60J106ME15D</td>
<td class="tg-lyy6">0.177</td>
</tr>
<tr>
<td class="tg-amwm">D1</td>
<td class="tg-yw47">ESD9R3.3ST5G</td>
<td class="tg-lyy6">0.55</td>
<td class="tg-amwm">R21</td>
<td class="tg-yw47">ERJ-2RKD1004X</td>
<td class="tg-lyy6">0.053</td>
<td class="tg-amwm">C29</td>
<td class="tg-yw47">GJM1555C1H200FB01D</td>
<td class="tg-lyy6">0.167</td>
</tr>
<tr>
<td class="tg-amwm">L1</td>
<td class="tg-yw47">LQW15AN56NG00D</td>
<td class="tg-lyy6">0.20</td>
<td class="tg-amwm">C1</td>
<td class="tg-yw47">CC0402JRX7R6BB104</td>
<td class="tg-lyy6">0.011</td>
<td class="tg-amwm">C30</td>
<td class="tg-yw47">GJM1555C1H200FB01D</td>
<td class="tg-lyy6">0.167</td>
</tr>
<tr>
<td class="tg-amwm">L2</td>
<td class="tg-yw47">BLM15PX471SZ1D</td>
<td class="tg-lyy6">0.17</td>
<td class="tg-amwm">C2</td>
<td class="tg-yw47">CC0402JRX7R6BB104</td>
<td class="tg-lyy6">0.011</td>
<td class="tg-amwm">C31</td>
<td class="tg-yw47">CC0402JRX7R6BB104</td>
<td class="tg-lyy6">0.011</td>
</tr>
<tr>
<td class="tg-amwm">L4</td>
<td class="tg-yw47">VLS201610CX-2R2M</td>
<td class="tg-lyy6">0.45</td>
<td class="tg-amwm">C3</td>
<td class="tg-yw47">CC0402JRX7R6BB104</td>
<td class="tg-lyy6">0.011</td>
<td class="tg-amwm">C32</td>
<td class="tg-yw47">GRM188R60J226MEA0D</td>
<td class="tg-lyy6">0.299</td>
</tr>
<tr>
<td class="tg-amwm">L5</td>
<td class="tg-yw47">MLP2520W1R0MT0S1</td>
<td class="tg-lyy6">0.45</td>
<td class="tg-amwm">C4</td>
<td class="tg-yw47">CC0402JRX7R6BB104</td>
<td class="tg-lyy6">0.011</td>
<td class="tg-amwm">C33</td>
<td class="tg-yw47">GRM188R60J226MEA0D</td>
<td class="tg-lyy6">0.299</td>
</tr>
<tr>
<td class="tg-amwm">PCB</td>
<td class="tg-yw47">20x34x0.8mm</td>
<td class="tg-lyy6">1.53</td>
<td class="tg-amwm">C5</td>
<td class="tg-yw47">CC0402JRX7R6BB104</td>
<td class="tg-lyy6">0.011</td>
<td class="tg-amwm">BAT</td>
<td class="tg-yw47">ENERGIZER L92</td>
<td class="tg-lyy6">1.950</td>
</tr>
</tbody></table>
<br />
These are all the components necessary to build the tracker. The marking corresponds to the marking as used in the EAGLE schematic. A number of components, especially the capacitors and resistors, can be replaced with alternatives. These components are simply the ones I ordered mostly from Mouser, hence the prices I paid for them are included. The total cost per one tracker taking into account only the components is about €52 (stencil, soldering paste, etc. not included).<br />
<br />
<br />
<b>Assembly</b><br />
Once all the packages had arrived, it was time to check everything up and prepare for the reflow process. This was going to be my first proper attempt reflow soldering and straight away on a quite expensive board. For that reason, I intended to do a couple of tests before I dived in with the full assembly.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEge8U3yMf1eHS-ZkuMzVslQg_rKK0BqmGroioblgqU8SLfeYc-Rv6yMLSWg5LxQZQHyzwTUMaNqS0SN2DEFheEkj0XW_ViphgnKYirdnSUV-3V3-xFMUMWSaK23uShwIAzROt-B6pwc6Xc/s1600/IMG_2511+mouser+components.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEge8U3yMf1eHS-ZkuMzVslQg_rKK0BqmGroioblgqU8SLfeYc-Rv6yMLSWg5LxQZQHyzwTUMaNqS0SN2DEFheEkj0XW_ViphgnKYirdnSUV-3V3-xFMUMWSaK23uShwIAzROt-B6pwc6Xc/s200/IMG_2511+mouser+components.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3eortbCciKCL0Ts_sOSeJtLtUmLSlEIvWruZrhoAp-TdImRNWZJxg16o7bS-VdTwfiKzeFhV96OH8BELg_-2_06V_jDBwbYHu6HugtceFDeT4bXJ-tVBU2Et3GqxJcJgmobp1SY7I9Gg/s1600/IMG_2533+oshpark+pcbs.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3eortbCciKCL0Ts_sOSeJtLtUmLSlEIvWruZrhoAp-TdImRNWZJxg16o7bS-VdTwfiKzeFhV96OH8BELg_-2_06V_jDBwbYHu6HugtceFDeT4bXJ-tVBU2Et3GqxJcJgmobp1SY7I9Gg/s200/IMG_2533+oshpark+pcbs.JPG" width="200" /></a></div>
All components were packed separately in anti-static or dissipative packaging depending on the needs of the specific part. I've noticed that on a few occasions whomever handled the order had added a couple more units of the component than was ordered. The circuit boards usually arrive in a somewhat rough state and bits and pieces at the edges need to be filed off.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqThQopXsYEn_mDOjZT-MgYS9Xw1cUbjoN9rYDtigc1FNYxYtMxgxQ3CY8EMMuPUjLDW5gQgovUlyECqlAwua6EtXDMVw3RYpjIMrj0ptRWIhwGXa1dcO1bO5iiq95EmhCpWxIHqm-_l4/s1600/IMG_2559+oshstencils+stencil.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqThQopXsYEn_mDOjZT-MgYS9Xw1cUbjoN9rYDtigc1FNYxYtMxgxQ3CY8EMMuPUjLDW5gQgovUlyECqlAwua6EtXDMVw3RYpjIMrj0ptRWIhwGXa1dcO1bO5iiq95EmhCpWxIHqm-_l4/s200/IMG_2559+oshstencils+stencil.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMOdKzQI_ogCQTbuw0Jiw_i8l0V5YSfqwY8FbyVnbyb7IsoKCShyphenhyphenHy90qJ-D_Bp13x70tOoODyp9s517dCbrTliFPRnVv44-1QqcuRvYyGm-7EQU4llKqVK7d-FXuxDHfMGFkGJfkzn3o/s1600/IMG_2542+soldering+paste.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMOdKzQI_ogCQTbuw0Jiw_i8l0V5YSfqwY8FbyVnbyb7IsoKCShyphenhyphenHy90qJ-D_Bp13x70tOoODyp9s517dCbrTliFPRnVv44-1QqcuRvYyGm-7EQU4llKqVK7d-FXuxDHfMGFkGJfkzn3o/s200/IMG_2542+soldering+paste.JPG" width="200" /></a></div>
The stencil arrived in a solid board envelope with a plastic credit card shaped solder paste spreader and a couple of stickers. I had to order the soldering paste from a local seller, because a lot of the mainly chemical stuff that Mouser have on offer is not shipped to the Czech Republic - due to some transport regulations, perhaps? The paste I got was a syringe of a no-clean leaded Sn62Pb36Ag2 based Type 3 (25-45µm particles) soldering paste labelled as ESN62PB36AG with a melting temperature of 179°C.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFhAKKqjE7uqjcyNRdC99zG_Csi9sAVRseapwb05r8JUvDvjcNWax-HOEdU6g1wDnzvYGkHc_M5SoJAJQYT1mIzx_VmAl3_3fvsD_1pGX8sYVBDF5kSupdbIHcVrx_WvwzkWkqrp0uQEs/s1600/IMG_2547+TT7B+pcb.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFhAKKqjE7uqjcyNRdC99zG_Csi9sAVRseapwb05r8JUvDvjcNWax-HOEdU6g1wDnzvYGkHc_M5SoJAJQYT1mIzx_VmAl3_3fvsD_1pGX8sYVBDF5kSupdbIHcVrx_WvwzkWkqrp0uQEs/s200/IMG_2547+TT7B+pcb.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkLQnuyoFL45ykZP9PJh-0ikGB0zF3xITI52hBav57OD-RQhklM7JFAhbPf9UH8galvfBY5ZRV_9l5qYSLkO3sdDngpiFfVsVKRyUxmCMiGZK68RMShYp081HmzqQAQ_BWJhJQ5O9M7WA/s1600/IMG_2551+TT7B+pcb+detail.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1129" data-original-width="1270" height="177" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkLQnuyoFL45ykZP9PJh-0ikGB0zF3xITI52hBav57OD-RQhklM7JFAhbPf9UH8galvfBY5ZRV_9l5qYSLkO3sdDngpiFfVsVKRyUxmCMiGZK68RMShYp081HmzqQAQ_BWJhJQ5O9M7WA/s200/IMG_2551+TT7B+pcb+detail.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGiDhVs1KHdO1__mhDCI6lfWsfBxyoF8BtK3A8qq6nqa41Q229zQ3AtGKcakkrh3xBk0KECA2wBEyp0r5XDU5LHbNk4r3qHlhaF-0jBYkcEtYG9-KmaZlPyvEJbCxtH7Ah46xS9KroGQY/s1600/IMG_2550+TT7B+pcb+detail.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1126" data-original-width="1270" height="176" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGiDhVs1KHdO1__mhDCI6lfWsfBxyoF8BtK3A8qq6nqa41Q229zQ3AtGKcakkrh3xBk0KECA2wBEyp0r5XDU5LHbNk4r3qHlhaF-0jBYkcEtYG9-KmaZlPyvEJbCxtH7Ah46xS9KroGQY/s200/IMG_2550+TT7B+pcb+detail.JPG" width="200" /></a></div>
Here are a few detailed photos of the actual boards. Even the smallest pads seem both visually and electrically ok. A closer look at the X2SON package (TPS3831) suggests that, indeed, widening of the tracks leading to pads results in a much more uniform shape of the actual copper pours.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxq_-XYqDPk-KT1MTyhr-jAfnwBiu-WbDPROX4FdvTiQcIEQZzPy6sZUW1cmazOZwsapiF5OQ4GuxhNDZLTTSHR1WC0iYj5xEoIOdScXdrwv0WFcoWaYBgZGHtCcH0tCYm30f8AYDZ2NY/s1600/IMG_2556+TT7B+oven+test.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxq_-XYqDPk-KT1MTyhr-jAfnwBiu-WbDPROX4FdvTiQcIEQZzPy6sZUW1cmazOZwsapiF5OQ4GuxhNDZLTTSHR1WC0iYj5xEoIOdScXdrwv0WFcoWaYBgZGHtCcH0tCYm30f8AYDZ2NY/s200/IMG_2556+TT7B+oven+test.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7C4SEJ1UpXLG-PhC8vDPLUpv0pzGPNMVaynKLIX4GvhEYBoklvEzJJ_tqhlYlEZYLSpSUjFmkg9J0B4bUn30MJM-fy6eyuHbtMR9pqjZM1Tv5JLiUhoSO7tCLiKk1OJcGcgyJqdHsznE/s1600/reflow+temperature+chart+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="553" data-original-width="825" height="133" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7C4SEJ1UpXLG-PhC8vDPLUpv0pzGPNMVaynKLIX4GvhEYBoklvEzJJ_tqhlYlEZYLSpSUjFmkg9J0B4bUn30MJM-fy6eyuHbtMR9pqjZM1Tv5JLiUhoSO7tCLiKk1OJcGcgyJqdHsznE/s200/reflow+temperature+chart+01.png" width="200" /></a></div>
Since the PCBs were much thinner than those I had already tested in my <a href="http://tt7hab.blogspot.com/2018/06/the-reflow-oven.html">reflow oven</a>, I wanted to know what that would mean for TT7B boards in terms of temperature. Similarly to the tests I did when constructing the oven, I taped the thermocouple to one of the boards, placed the board on top of two spacers, and ran a profile for leaded pastes (more details on testing the oven in the link above). The TT7B board has half the volume of the small PCB from previous tests. Unsurprisingly, it heats up faster and peaks at 233°C which is still safely within the limits.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMCCGuwbXzBSFmufED5YT-3OLaqF7XdzSBkgfpLvAVLQbXUdPkU0yxIorxSM5nKBk0ayxDbdvtbLJlwFZMf2r8ZfpW5pOl17-fJxCDXnY4BNzhdBQC0bzMjaGRJpy2v0itwR_0AjIXdLs/s1600/JEDEC+J-STD-020C+reflow+profile.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="368" data-original-width="621" height="118" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMCCGuwbXzBSFmufED5YT-3OLaqF7XdzSBkgfpLvAVLQbXUdPkU0yxIorxSM5nKBk0ayxDbdvtbLJlwFZMf2r8ZfpW5pOl17-fJxCDXnY4BNzhdBQC0bzMjaGRJpy2v0itwR_0AjIXdLs/s200/JEDEC+J-STD-020C+reflow+profile.png" width="200" /></a></div>
Speaking of limits, the maxima and recommended soldering conditions are usually described in a components datasheet. In case of components populated on TT7B, most of them simply reference <i>JEDEC J-STD-020C</i> standard which provides specific boundaries on the temperature levels, ramp-up/down rates, and durations of individual phases of a reflow profile (further details about the illustration above can be found in the document itself). Some of the more sensitive parts then mention additional restrictions such as the peak temperature must not exceed 255°C in case of ZOE-M8B, or the MS5607 should be soldered with 62%Sn36%Pb2%Ag paste rather than 63%Sn37%Pb. All in all, the temperature profile for leaded soldering pastes programmed in my reflow oven should adhere to these limits.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRADoITzQK1bL0fqdrJjsuQ5ZGKK0sOVsR7wA15aRb5BsYsO81KcXfcNWJIlZasDsWmaI45AvMsnaHvnbzIVWsJI-sO7a3EqsBhG7-_s8T-oP_qDVvBnJl8P_co4lHk7c52s67AZplmb4/s1600/IMG_2568+stencil.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRADoITzQK1bL0fqdrJjsuQ5ZGKK0sOVsR7wA15aRb5BsYsO81KcXfcNWJIlZasDsWmaI45AvMsnaHvnbzIVWsJI-sO7a3EqsBhG7-_s8T-oP_qDVvBnJl8P_co4lHk7c52s67AZplmb4/s200/IMG_2568+stencil.JPG" width="200" /></a></div>
A more detailed look at the stencil. Despite knowing the dimensions, only after I had the stencil in my hands, it pointed out to me how tiny some of the apertures were. It was, though, nice to see that even the tiniest holes were precise in shape.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv-fwairjabYp6a-uXYJMqUjKpUkihfzd-YEW3DIJpydNGemdC06iE_vnTd9SjYiU0lvJ5S6J0lNmcrja2fk2dI8btxdZlin-wXNg1A-oMXEvZFBl0FjsdTHUt162n-T8wh72vtfnzOmk/s1600/IMG_2578+soldering+paste+deposition.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv-fwairjabYp6a-uXYJMqUjKpUkihfzd-YEW3DIJpydNGemdC06iE_vnTd9SjYiU0lvJ5S6J0lNmcrja2fk2dI8btxdZlin-wXNg1A-oMXEvZFBl0FjsdTHUt162n-T8wh72vtfnzOmk/s200/IMG_2578+soldering+paste+deposition.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEix_xuxajQCOKn2Am2oY0NmS2RHgxEyUsfVXEGzs1pJkJkvFCYtuDPJhDY1gEF9bMUxbMYx80zOcHqJbJc8765XNK7_ULCE2QXywnS3g8BLvttmyHbkQ6SYWKNy4pbW_MAMNMPutjR9cDw/s1600/IMG_2583+soldering+paste+deposition.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEix_xuxajQCOKn2Am2oY0NmS2RHgxEyUsfVXEGzs1pJkJkvFCYtuDPJhDY1gEF9bMUxbMYx80zOcHqJbJc8765XNK7_ULCE2QXywnS3g8BLvttmyHbkQ6SYWKNy4pbW_MAMNMPutjR9cDw/s200/IMG_2583+soldering+paste+deposition.JPG" width="200" /></a></div>
Before depositing the soldering paste, I used old spare PCBs and a masking tape to fix the TT7B board in place - an approach one can see in many tutorials and Youtube videos. One slight adjustment I had to make was to bolster the board with another one, because the TT7B was 0.8mm thick while the surrounding PCBs were thicker - 1.6mm. This helped the stencil, after it was aligned and secured in place, to abut against the board without excessive hogging or sagging when pressed.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinN6HOOzRpsM75Rj_I65f7ctWLHCyJK58Hy81DxUuCFpa8K6uTf-n_PkXTelejwO_5hxMCylvTzBtlc4ftRqZDUCCVJkhx-J5VP4i5tT-LS1EZWVv7XcZqh8i4vxIFEhaVEWw2EAVhGrE/s1600/IMG_2598+soldering+paste+deposition.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinN6HOOzRpsM75Rj_I65f7ctWLHCyJK58Hy81DxUuCFpa8K6uTf-n_PkXTelejwO_5hxMCylvTzBtlc4ftRqZDUCCVJkhx-J5VP4i5tT-LS1EZWVv7XcZqh8i4vxIFEhaVEWw2EAVhGrE/s200/IMG_2598+soldering+paste+deposition.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjj3SmPIUIgLJJN27RVwOqkhIEjs0zTMMsUBgj8HPgreZHrPEoU8VN1JV7IrEUodVId1yLwXwSW2QXSDyqt0mXb2Ovte2UB7J6lv3U7StJUkgTq78C1kMd43cFU2Zf9b2R9zJ4lSc12Y_M/s1600/IMG_2647+printed+soldering+paste.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjj3SmPIUIgLJJN27RVwOqkhIEjs0zTMMsUBgj8HPgreZHrPEoU8VN1JV7IrEUodVId1yLwXwSW2QXSDyqt0mXb2Ovte2UB7J6lv3U7StJUkgTq78C1kMd43cFU2Zf9b2R9zJ4lSc12Y_M/s200/IMG_2647+printed+soldering+paste.JPG" width="200" /></a></div>
The soldering paste is stored in a fridge and should be left to warm up to room temperature prior to depositing it on the board. I also emptied the syringe to a small plastic container where it could be properly stirred. Typically, I deposited a bit of paste in a line along the left side of the apertures. Then squeegeed it across the apertures left to right holding the credit card spreader at a low angle pressing against the stencil. Holding the spreader perpendicular to the stencil and doing the same clears the excess paste off the stencil. In case some of the apertures didn't get filled the first time, I used the excess paste and squeegeed over them again. This in principle sounds easy and a number of Youtube videos suggest it is, however my experience was much less ideal. I don't know whether it was because of the paste I used, incongruousness of my approach, or difficultness of the design, but usually portions of the board were printed nicely while the rest was too liquidy meaning the individual deposits didn't hold shape and spilt into each other. This started a repeated cycle of cleaning the PCB, stencil and spreader with isopropyl alcohol, realigning the stencil, squeegeeing the paste in another attempt, removing the stencil and finding a poor result once again, wiping the excess paste and storing it for future use. In the end, somewhere between the 10th and 15th attempt, the paste printed in such a way that I was willing to risk it and go through with the rest of the process. The image above shows the state of the paste I actually used to reflow the board. The liquid paste is apparent especially at the SAML21 and Si5351B footprints.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqHXZurB7Eu4mwSDcChTF9U4Ehv-7SHZZH0sFkDJ9Tzv9F4Ky88wOfOMb3-yoMTRbA84Zlzj-I834YJMMKE63xw1JukmI7ncgtS_ATDgEyMjVAEihdGzq4hMIniq1l1gF5Af6OlkXspTI/s1600/IMG_2654+placed+components.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqHXZurB7Eu4mwSDcChTF9U4Ehv-7SHZZH0sFkDJ9Tzv9F4Ky88wOfOMb3-yoMTRbA84Zlzj-I834YJMMKE63xw1JukmI7ncgtS_ATDgEyMjVAEihdGzq4hMIniq1l1gF5Af6OlkXspTI/s200/IMG_2654+placed+components.JPG" width="200" /></a></div>
The datasheet states that 'the paste doesn't lose its physical and chemical properties even after being left for 20 hours on the PCB'. This turned out to be handy, because it took me about two hours to place and orient all the components. I did it with a pair of anti-static tweezers and a wooden tooth-pick for the more delicate aligning.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8ha_RqZ1BXPQSbCqOByagGdJm_rOtv4KFKHJK7u5gbLUpRHYWYHefuKtFRWePgylg5ZbRvDeGlxjCnR9Jx9-Pan6LSZH1r2gMPV977T3F23BcyfkuNcaavtWC-NHM_yrnWbFVKS1vT5Q/s1600/IMG_2664+reflow.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8ha_RqZ1BXPQSbCqOByagGdJm_rOtv4KFKHJK7u5gbLUpRHYWYHefuKtFRWePgylg5ZbRvDeGlxjCnR9Jx9-Pan6LSZH1r2gMPV977T3F23BcyfkuNcaavtWC-NHM_yrnWbFVKS1vT5Q/s200/IMG_2664+reflow.JPG" width="200" /></a></div>
In contrast to the previous steps, the actual reflow took a little over five minutes and was quite uneventful. I used the same profile for leaded pastes as in the test conducted earlier, and the board was laid on top of two spacers to thermally decouple it from the large aluminium plate.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg98eew-AtSnk133lv07g5ztGy_BlYZcwyj8Bv-qzFn0m7y8DtpclxZwNAC6WmTta7UU3qKM2vifz23lVVxgmIWvk5TY8FlXKIAeVYlqTOLQ9ozz-zea3P0Xy_oOTdxzL_OzrrM2pJ5VwA/s1600/IMG_2672+finished+pcb+large.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg98eew-AtSnk133lv07g5ztGy_BlYZcwyj8Bv-qzFn0m7y8DtpclxZwNAC6WmTta7UU3qKM2vifz23lVVxgmIWvk5TY8FlXKIAeVYlqTOLQ9ozz-zea3P0Xy_oOTdxzL_OzrrM2pJ5VwA/s200/IMG_2672+finished+pcb+large.JPG" width="200" /></a></div>
This is a higher resolution image of the finished board. There is some soldering paste residue visible on the larger pads which probably escaped the repeated cleaning after each attempt to print the paste with the stencil. It doesn't, though, seem to actually corrupt any connections on the board. A few of the smaller components ended up aligned a little crooked, but all the big ones stayed nice in place. <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8UuLUC9ITCWGXiv0NxZJtCFOkGN5NkAaUPwSHLo1zVJo1D1vJw3pVsVNIZStKLsevjbxbkxnFrZIYmWioQB9PHbLeyf7fzMUYfjiEsTaabDnk8lCooteqc1i6ivdPFTW5YWOEm-MNuAQ/s1600/IMG_2676+reflown+solder+detail.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="625" data-original-width="625" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8UuLUC9ITCWGXiv0NxZJtCFOkGN5NkAaUPwSHLo1zVJo1D1vJw3pVsVNIZStKLsevjbxbkxnFrZIYmWioQB9PHbLeyf7fzMUYfjiEsTaabDnk8lCooteqc1i6ivdPFTW5YWOEm-MNuAQ/s200/IMG_2676+reflown+solder+detail.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTXV8f7E5-oEQX36Emj7hOeGeEBkRoOwPqYaH5kRxBBDSTB6bX4n-mLgb-D6oRz6F-rGuQiv3Thh9qwGnv3xIb7KqSgaxzCILheJIJgkvzMUjZXP-ruMaYf3L4NctfHUAQCNZJTA75ev4/s1600/IMG_2677+reflown+solder+detail.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="625" data-original-width="625" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTXV8f7E5-oEQX36Emj7hOeGeEBkRoOwPqYaH5kRxBBDSTB6bX4n-mLgb-D6oRz6F-rGuQiv3Thh9qwGnv3xIb7KqSgaxzCILheJIJgkvzMUjZXP-ruMaYf3L4NctfHUAQCNZJTA75ev4/s200/IMG_2677+reflown+solder+detail.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAHBmyaKguLTkWrYHn0YkAQkah3yBkrF6HClxxOZshzeqzbBVKW4d9Jn6AOW5_ZLANVD87cMqpTGcuy7yH5Ye12PXnhXKJVE7j9jsxqXF95yPtXv6JmnH8ZINcSZTs3rNcwUghqcGHl-Q/s1600/IMG_2679+reflown+solder+detail.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="625" data-original-width="625" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAHBmyaKguLTkWrYHn0YkAQkah3yBkrF6HClxxOZshzeqzbBVKW4d9Jn6AOW5_ZLANVD87cMqpTGcuy7yH5Ye12PXnhXKJVE7j9jsxqXF95yPtXv6JmnH8ZINcSZTs3rNcwUghqcGHl-Q/s200/IMG_2679+reflown+solder+detail.JPG" width="200" /></a></div>
These are a few close-ups of some of the reflown solder joints. I was pleased to see the two large QFN packages (SAML21, Si5351B), which had the paste printed a bit liquidy, to form nice connections without any bridging all around the package.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh22t5WN6tscqA4DeP6pq5xZx4uK97iJ7J6bu76MWRwdLDD1WtBPGuknGgJZTSito_V-qWuS7KENMo92kIIAGbSuAOfPIdhdeM0Sumgx239Q97uoxPKZFf-8cH5CMiSil9MiFRN3m-9DWY/s1600/IMG_2698+initial+check.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh22t5WN6tscqA4DeP6pq5xZx4uK97iJ7J6bu76MWRwdLDD1WtBPGuknGgJZTSito_V-qWuS7KENMo92kIIAGbSuAOfPIdhdeM0Sumgx239Q97uoxPKZFf-8cH5CMiSil9MiFRN3m-9DWY/s200/IMG_2698+initial+check.JPG" width="200" /></a></div>
The very first powered check I did on the board was using the accessory 1.5V regulator to power the tracker, and measuring the input current. It was in the realm of a couple hundred microamps which seemed presumable and ruled out any shorts. I then proceeded to check a few voltages around the board and found the MCU's reset line at only 0.7V. A closer inspection revealed the TPS3839 MCU supervisor hadn't reflown properly. In the image of the board with the printed solder paste, it can be seen that the paste in this footprint was also too liquidy which caused it to accumulate at one corner of the IC lifting it up and failing to create a proper connection. I intended to correct this with a hot air gun, but unfortunately as I tapped the IC to help it settle, I managed to took it off completely. Instead of making the situation possibly even worse, I decided to leave this tracker without the supervisor for the time being, potentially trying to solder it back at some point later. After this, the main voltage on the board was measured at 1.826V, the reset line at 1.754V, and the current flowing from the 1.5V regulator at 182<span class="st">μ</span>A (measured with <a href="http://tt7hab.blogspot.com/2018/02/the-current-custom.html"><span class="st">μCurrent</span></a>).<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_IFZkHUgNPlwULe-QmieJGSDOV8ndg0-qDb03PYa_09hyphenhyphen_9XrMm7c8EuNeXHmq8qh-pEOIpNvIP6anAaF7aevq_S03LY_m71Npwm1yd288CMG6oeSr6DOa96jPjdUqhC2Iw3cC0rREbk/s1600/IMG_2684+tracker+mass+05.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_IFZkHUgNPlwULe-QmieJGSDOV8ndg0-qDb03PYa_09hyphenhyphen_9XrMm7c8EuNeXHmq8qh-pEOIpNvIP6anAaF7aevq_S03LY_m71Npwm1yd288CMG6oeSr6DOa96jPjdUqhC2Iw3cC0rREbk/s200/IMG_2684+tracker+mass+05.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbhrITD9gWE_TMUmVovNF-cC2-XjkSxgILyhdmWrrGj2DpPmO-thU2ogldaxUTyL1HMthJEdC4cMkPohvqi85sLyGpUXyOJaOp_6Wd685Mdw-5ngJShPholCCP29UbvryeDn34Y04iSio/s1600/IMG_2682+size+comparison.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbhrITD9gWE_TMUmVovNF-cC2-XjkSxgILyhdmWrrGj2DpPmO-thU2ogldaxUTyL1HMthJEdC4cMkPohvqi85sLyGpUXyOJaOp_6Wd685Mdw-5ngJShPholCCP29UbvryeDn34Y04iSio/s200/IMG_2682+size+comparison.JPG" width="200" /></a></div>
The mass of the populated tracker without the accessory tab is 1.56g (1.76g with the tab). Some extra mass is expected when the external sensors and an antenna are attached. The image on the right then shows a size comparison between my previous tracker TT7F, the TT7B, and a AAA Energizer Ultimate Lithium battery.<br />
<br />
<br />
<b>Programming</b><br />
In the past, I got used to simple means of programming a microcontroller such as needing just a USB cable when programming Arduinos and the SAM3S on my TT7F, or using another Arduino to program a stand-alone ATmega328p. This time as I learnt, I would have to do the programming via SWD interface, and for that I would need an external programmer/debugger. I wasn't too keen on buying an expensive programmer (such as Atmel-ICE) to do just a couple of boards. The problem was that I couldn't find any low cost (Ebay clones) devices which could program Atmel/Microchip ICs - there were plenty for ST microcontrollers. The solution I went with in the end was hinted at in a few discussion forum posts. Apparently, a number of Atmel's evaluation boards were equipped with an additional IC which served as an external programmer/debugger that could be exploited. The following paragraphs describe how I do the programming. Anyone in possession of Atmel-ICE or a comparable device needs to just connect appropriate signals to the programming tab and program the tracker the usual way.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHiVyBjxnggI_wtcQZ_0WAnrjPBNjL7l4yKhvgKhOtjd_CZUTI_JZFfn13tf1TBG1osBr-f1GH91Mfgg91-KjbKjoH9L21m9kLMjuuIRJD23ue69OSdWYWVMjNizH9dEaizvQANmhyphenhyphenoxU/s1600/IMG_2525+SAMD10+Xplained.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHiVyBjxnggI_wtcQZ_0WAnrjPBNjL7l4yKhvgKhOtjd_CZUTI_JZFfn13tf1TBG1osBr-f1GH91Mfgg91-KjbKjoH9L21m9kLMjuuIRJD23ue69OSdWYWVMjNizH9dEaizvQANmhyphenhyphenoxU/s200/IMG_2525+SAMD10+Xplained.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz5l9uP1B3-TvT7EY293Cn560A0yIl417nqeVYt7iu0pRR7l7ADcpQgPVhueyYSvwD1s0_EFgmTxmR2-RcRYsibNN48-BfEkWZaAfKoFbmPxBpC2-LqZ4RxHrR0G7IdYL69b9vvLU0Bz4/s1600/IMG_2517+PCI+Express+connector.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz5l9uP1B3-TvT7EY293Cn560A0yIl417nqeVYt7iu0pRR7l7ADcpQgPVhueyYSvwD1s0_EFgmTxmR2-RcRYsibNN48-BfEkWZaAfKoFbmPxBpC2-LqZ4RxHrR0G7IdYL69b9vvLU0Bz4/s200/IMG_2517+PCI+Express+connector.JPG" width="200" /></a></div>
I chose the cheapest option that I could find which was a SAMD10-Xplained-Mini evaluation board for €10.37. Aside from the SAMD10 microcontroller the board is populated with an ATmega32U4 with a USB interface flashed with firmware that allows it to access the target MCU via the SWD interface. This embedded debugger (mEDBG) was what I intended to use. To connect to TT7B, I would utilize a modified PCI Express connector to mate with the programming tab as mentioned previously.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaElPtCwJwUvoiJLzrr4i8i0R1gpf89_ba6sK4j20yWTVdnZHHSi2Pabg0s708ay-yKESC1D09CHbrIQWdAK9DnAxE21BzQpOJQzHVZwcohYkdJ9PfF0CCdMuYrNrUywI1Ae3Vdf2NpN4/s1600/programmer+atsamd10+schematic+04.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="435" data-original-width="498" height="174" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaElPtCwJwUvoiJLzrr4i8i0R1gpf89_ba6sK4j20yWTVdnZHHSi2Pabg0s708ay-yKESC1D09CHbrIQWdAK9DnAxE21BzQpOJQzHVZwcohYkdJ9PfF0CCdMuYrNrUywI1Ae3Vdf2NpN4/s200/programmer+atsamd10+schematic+04.PNG" width="200" /></a></div>
Since the SWD interface was connected between the two ICs, there were a couple of modifications that had to be done. The original image from above comes from <i>SAM D10 Xplained Mini Design Documentation</i> which also contains a detailed schematic. After a little bit of study, I decided to desolder three SMD resistors outlined in the blue rectangles (R110, R111 and R112) and bring out the signals to three nearby pins (upper green rectangle). This broke the connections between the ICs on the SWDIO, SWCLK and TARGET_RESET lines. The three pins then provide direct access to the signals on mEDBG's side. In case I still wanted to use the SAMD10 for something, I could externally re-connect the lines to the two pins in the bottom green rectangle and a reset pin which is part of the SPI interface (at the bottom of the board not shown).<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAy1rV1DKWi_b1s40JZNSdhYhb2pnuYJTkaEl02u4BspUpds9lOF5xOvtnbb-26XxCDDrdtjmEzyWw44Gj1s9xaZazNfNEfhRvlKiXcia_yXS4iQQ8-wheKoNdbxFMqIiuShW8tbGWRxA/s1600/IMG_2744+SAMD10+Xplained+modified.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAy1rV1DKWi_b1s40JZNSdhYhb2pnuYJTkaEl02u4BspUpds9lOF5xOvtnbb-26XxCDDrdtjmEzyWw44Gj1s9xaZazNfNEfhRvlKiXcia_yXS4iQQ8-wheKoNdbxFMqIiuShW8tbGWRxA/s200/IMG_2744+SAMD10+Xplained+modified.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghnWllpChnQrQ2yBaGcrJ6KHPZhD9UjeQ5s9gmc0WAOb6R5eGgmdpC8zN_ZWlABmYWutJh7JmKnmGD7IkirdjSfQuBaR7eeVusfaHAVf3M8bb_k7oXFdGfhWcwbQlbCwtO0JVY-0HjSRg/s1600/IMG_2704+SAMD10+Xplained+modified.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghnWllpChnQrQ2yBaGcrJ6KHPZhD9UjeQ5s9gmc0WAOb6R5eGgmdpC8zN_ZWlABmYWutJh7JmKnmGD7IkirdjSfQuBaR7eeVusfaHAVf3M8bb_k7oXFdGfhWcwbQlbCwtO0JVY-0HjSRg/s200/IMG_2704+SAMD10+Xplained+modified.JPG" width="200" /></a></div>
These photos capture the modifications I did on the board. After actually acquiring the board and some probing on the SWD lines, I found that the Target_Reset line wasn't just an open drain output, but once the mEDBG performed a reset, the line stayed at 3.3V. This meant that I would have to somehow level shift it as well. In the end, the solution I came up with required a PNP transistor and a resistor (more on that below). I also added a pin for external connection which is pulled up to 3.3V by a 3.3k<span class="st">Ω</span> resistor. This was to pull the Target_Reset line to Vcc, because the original pull-up was on the SAMD10's side of the disconnected programming interface. Due to this the Target_Reset line was low at power-up and required the first mEDBG reset to get and stay high. The RST and GND pins on the left side of the board then allow, when shorted, to force a manual reset of the target IC (the SAML21 in this case).<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSet-XbIZmJi9oPZHl9iDnyQKqAcBog63pF4rVGq_vkuDkPEZuiKx0LgCUFrRVtmdOL0RWA7SRAlRpyMmQPcdHkctx7gSBxPb4HacfrDM7gv-qEzytLyUgrVgqX0lFar3vLib3xkbtxsk/s1600/programmer+reset+schematic+02.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="460" data-original-width="686" height="133" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSet-XbIZmJi9oPZHl9iDnyQKqAcBog63pF4rVGq_vkuDkPEZuiKx0LgCUFrRVtmdOL0RWA7SRAlRpyMmQPcdHkctx7gSBxPb4HacfrDM7gv-qEzytLyUgrVgqX0lFar3vLib3xkbtxsk/s200/programmer+reset+schematic+02.PNG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOPP9pfmik6lzEkOEuJ-uUhX9YFWgGxGLRluLOgp_AutJ3wHFnx8VHDi59TiTy6xD26I7iKDFTfqFoEhyphenhyphenWtvWStuiRpCHCjwjtR-Boli_uXAKjSwxR0KUiuEWV_0h_ZGZ2pqmHuLu6nrA/s1600/programmer+owon+reset+02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="777" data-original-width="1024" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOPP9pfmik6lzEkOEuJ-uUhX9YFWgGxGLRluLOgp_AutJ3wHFnx8VHDi59TiTy6xD26I7iKDFTfqFoEhyphenhyphenWtvWStuiRpCHCjwjtR-Boli_uXAKjSwxR0KUiuEWV_0h_ZGZ2pqmHuLu6nrA/s200/programmer+owon+reset+02.png" width="200" /></a></div>
This solution for level shifting the Target_Reset line required the least number of components which was why it was chosen. The cost of this setup is that the PNP transistor doesn't bring the SAML21's Reset line (which is internally pulled up to Vcc) all the way to ground, but leaves it at about 0.67V for the period of the reset pulse - see the screenshot above (yellow - mEDBG's Target_Reset, red - SAML21's Reset). The SAML21's input High minimum threshold is stated to be 0.7*Vdd which equates to 1.26V, so it should be fine.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTsTua8s6JX5a2d7J37WP1bu1eRQd8UtefxHjWPnp5JtDq5ncTElWrEH04mAvPJU-5YFvPtUgkD_IBsMrQFRn7sV9TCHVk7lBp0rfQ41zUc2PWHqoKD-u0lWvxvqD-5ZcvShVU5qXbjaU/s1600/IMG_2730+accessory+level+shifter.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTsTua8s6JX5a2d7J37WP1bu1eRQd8UtefxHjWPnp5JtDq5ncTElWrEH04mAvPJU-5YFvPtUgkD_IBsMrQFRn7sV9TCHVk7lBp0rfQ41zUc2PWHqoKD-u0lWvxvqD-5ZcvShVU5qXbjaU/s200/IMG_2730+accessory+level+shifter.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3luLF2qdAkvj4XGfzREWActj696PhxwjZUvPEgApmU-NKgYMHxWp3dbHXefrw0d4UNMJGcIVpjvdE48ZFH_U4KUcXQKuj_zf77tV3uS169P2c1STYZOdfOrawozm-t7FcWfF7Z2XvtG4/s1600/IMG_2724+programming+connector.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3luLF2qdAkvj4XGfzREWActj696PhxwjZUvPEgApmU-NKgYMHxWp3dbHXefrw0d4UNMJGcIVpjvdE48ZFH_U4KUcXQKuj_zf77tV3uS169P2c1STYZOdfOrawozm-t7FcWfF7Z2XvtG4/s200/IMG_2724+programming+connector.JPG" width="200" /></a></div>
Another important piece is the accessory level shifter used on the SWDIO and SWCLK lines to translate the programmer board's 3.3V signals to TT7B's 1.8V, and vice versa. The SWCLK signal is only one way and driven by the mEDBG IC, so the pull-ups aren't populated - there already is a 1kΩ pull-up on the actual TT7B board as required by the datasheet. The SWDIO line, though, is bi-directional and the nature of the level shifter IC requires a pull-up on either side of the line - these are populated on the accessory board. In case of the PCI Express connector, it turned out that if I cut it where the 7 pin part separated from the 11 pin part, the smaller piece fitted precisely on the programming tab squeezing between the tab and the GPS antenna.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQLyFaABhD5jze8l88niigo8LtEArO719QegBBgNozOzreNg8FGIq7bQ0MHo3-hnqQ36OdtEb-6L4DcexgL4jFIhBFWU83nVMO8IBvEiPzv60HVRrdzy6idVlxeY_GCOL-qhZ9Hb-YdGo/s1600/IMG_2719+programming+connector+board.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQLyFaABhD5jze8l88niigo8LtEArO719QegBBgNozOzreNg8FGIq7bQ0MHo3-hnqQ36OdtEb-6L4DcexgL4jFIhBFWU83nVMO8IBvEiPzv60HVRrdzy6idVlxeY_GCOL-qhZ9Hb-YdGo/s200/IMG_2719+programming+connector+board.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0YZDF9tQcmtFnUDyZDhWSKrFi8Tx68rr7sDnvmB-Om0o3OaFK-L_hiUv56c5AQA9FcEU4ot8WpJriwvz-zd29xaA05-fldX5XfrdabM5vzVpLndslw0W36VXAjo2cfw6BOAFC7opkeMk/s1600/IMG_2715+programming+connector+board.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0YZDF9tQcmtFnUDyZDhWSKrFi8Tx68rr7sDnvmB-Om0o3OaFK-L_hiUv56c5AQA9FcEU4ot8WpJriwvz-zd29xaA05-fldX5XfrdabM5vzVpLndslw0W36VXAjo2cfw6BOAFC7opkeMk/s200/IMG_2715+programming+connector+board.JPG" width="200" /></a></div>
The TT7B board, however, was too thin, so I had to pad the insides of the connector with a few pieces of cut and straightened heat-shrink tube. After that the programming tab slid in precisely
where the contacts were. The signals were brought out at the back side of the connector where I soldered five pins for respective wires fitted with crimp sockets.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXvki2J9lVz5-4F-53LdoGq4nZI-XG8EmrBMLnbEGG3lA4_SEKgQOzNy6-PEEo5K6m8x6TNFcDW4Dwk-cnXarK9G2h-TYCsqmWC4hY7Ki38ihHqlG6k3VRtPk0nZDmdpaoBwtOQJ_jg68/s1600/IMG_2749+programming+setup.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXvki2J9lVz5-4F-53LdoGq4nZI-XG8EmrBMLnbEGG3lA4_SEKgQOzNy6-PEEo5K6m8x6TNFcDW4Dwk-cnXarK9G2h-TYCsqmWC4hY7Ki38ihHqlG6k3VRtPk0nZDmdpaoBwtOQJ_jg68/s200/IMG_2749+programming+setup.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgY8Lh_5dm0Kqp2Ma4qohIFKrPFUlNb3f5RfJSELMGNOv7oTK7TwKm2H1DNvKGKIQY-ZmOPq-BMwc0_EqkLVDC3Szn0k54VSAtJuLPjlNjbMNqYH_tt1St0r-KaVUzPAXjoFnj0v4vDQBw/s1600/IMG_2725+accessory+power+supply.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgY8Lh_5dm0Kqp2Ma4qohIFKrPFUlNb3f5RfJSELMGNOv7oTK7TwKm2H1DNvKGKIQY-ZmOPq-BMwc0_EqkLVDC3Szn0k54VSAtJuLPjlNjbMNqYH_tt1St0r-KaVUzPAXjoFnj0v4vDQBw/s200/IMG_2725+accessory+power+supply.JPG" width="200" /></a></div>
This is then what the whole hardware train looks like when programming the TT7B tracker. The target is powered from the accessory 1.5V regulator and a LiPo battery. The connector is slid on the programming tab extending the 1.8V (red), SWCLK (blue), SWDIO (green) and GND (black) signals to the accessory level shifter. The same signals from the high side of the level shifter then lead to respective pins on the programmer board. The RESET signal (white) connects directly to the emitter of the PNP transistor on the board. The SAMD10 Xplained board then connects to a PC via a USB interface. When I probed the connector side signals with the target board disconnected and the programmer board powered, the voltages appearing on the signal lines lacked the reference voltage and were around 2.4V. Because of this, when I program the tracker, I first power the TT7B board and then the programmer. Although doing it this way, the PNP transistor pulls the SAML21's Reset line down to 0.67V and holds the MCU in reset until the programmer is powered as well and 3.3V appear on the Target_Reset line.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFcEsM2P3iQMqcwJMR8wsBiW3I-SpXNV2FQ28Y3gXQvCYl898co83U6EUZ6BKoRQ-JyzwDsfeEaXJ8S5VrZz9fHDNb-3grah-8nUTXLyYorD2dwCcIduRRFCv8RICrvqPPxWXuQ8E8MqE/s1600/programming+illustration+swd+01.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="449" data-original-width="875" height="205" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFcEsM2P3iQMqcwJMR8wsBiW3I-SpXNV2FQ28Y3gXQvCYl898co83U6EUZ6BKoRQ-JyzwDsfeEaXJ8S5VrZz9fHDNb-3grah-8nUTXLyYorD2dwCcIduRRFCv8RICrvqPPxWXuQ8E8MqE/s400/programming+illustration+swd+01.PNG" width="400" /></a></div>
This is an illustration to summarize the SWD interface in one place. The Target_Reset signal originates in the mEDBG's PD4 and PE6 pins which are most likely push-pull outputs. The signal connects to the base of a PNP transistor which switches on when the base goes low. When switched off (base is high) the SAML21's Reset signal is pulled high by an internal pull-up. The SWCLK clock signal is generated by the mEDBG's PB1 pin. The LSF0102 is a switch which conducts when either of the sides (An or Bn) is low, and presents high impedance when both sides are high. Since the SWCLK signal is unidirectional, the mEDBG's side is driven by a push-pull output while the SAML21's side requires a pull-up for when the switch is high impedance. The SWDIO signal is bi-directional, and as such the mEDBG's PB2 pin and SAML21's SWDIO pin alternate between being push-pull outputs and high impedance inputs. Because of that, both sides require a pull-up resistor.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiL8sWgxU5BT3MKh93cXf4FOsw6oPLJ56a3dlSL-bGGbz4dShxIGA0CrMA0fgA0YwjnlYhOrIA20yBnFk1tubQjUyemY3z6rNAF15C3ETsLW4xUpsYYBj8jkZrVJtVXjfF60dMwI_O5scY/s1600/programming+atmel+studio+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="869" data-original-width="1439" height="120" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiL8sWgxU5BT3MKh93cXf4FOsw6oPLJ56a3dlSL-bGGbz4dShxIGA0CrMA0fgA0YwjnlYhOrIA20yBnFk1tubQjUyemY3z6rNAF15C3ETsLW4xUpsYYBj8jkZrVJtVXjfF60dMwI_O5scY/s200/programming+atmel+studio+01.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghGP1g9mjb44_DsNC47cmP5Tmf1GNksdUsHIO2V9NN4ud8Csg7u-OxrRroUD4sIgjyuUo2MKlOtCRZWdJaRizEIlcWwFfluKw4Wtfh871KKQc1olLTO8UqagaSoM0iywHwSVHO1Qu8Fpw/s1600/programming+atmel+studio+02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="870" data-original-width="1439" height="120" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghGP1g9mjb44_DsNC47cmP5Tmf1GNksdUsHIO2V9NN4ud8Csg7u-OxrRroUD4sIgjyuUo2MKlOtCRZWdJaRizEIlcWwFfluKw4Wtfh871KKQc1olLTO8UqagaSoM0iywHwSVHO1Qu8Fpw/s200/programming+atmel+studio+02.png" width="200" /></a></div>
When the programmer board with TT7B is connected to the PC, Atmel Studio 6.2, which is what I use to write code and program the device, recognizes the Xplained Mini evaluation board. Upon clicking on Device Programming in the Tools menu, the Tool selection offers the recognized mEDBG, however the Device selection is fixed to the expected ATSAMD10D14AM microcontroller. An attempt to read the target device signature then pops up an info window about an unexpected device signature 0x1081021A (signature of SAML21E17B), and the software doesn't establish a connection to the MCU. To get round this, I modified the ATSAMD10D14AM.xml file located in 'devices' subdirectory of the main Atmel Studio installation. The modification consisted of replacing the content of the file with contents of ATSAML21E17A.xml file located in the same subdirectory. However, since TT7B is populated with a B version of the IC while the A version is 'Engineering Samples Only' according to the datasheet, I had to change the device name to ATSAML21E17B and the signature to 0x1081021A in a couple of places inside the file. After that the software was able to establish communication with the target, read the flash memory, read fuses, program the device, etc.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibW3_26MHF7B3BN3V2ztiOXCiFqisai3PNNkel70WdiLoyVfGENJbUkZ7f58tdnjusxQw_9EWP7I-iLQpnYwfcN12m2pVoiQLXTFJhW0T3KCubqMAGwpiA8BaJD-8sfHQtW1dY-aYhTNU/s1600/programming+atmel+studio+03.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="869" data-original-width="1439" height="120" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibW3_26MHF7B3BN3V2ztiOXCiFqisai3PNNkel70WdiLoyVfGENJbUkZ7f58tdnjusxQw_9EWP7I-iLQpnYwfcN12m2pVoiQLXTFJhW0T3KCubqMAGwpiA8BaJD-8sfHQtW1dY-aYhTNU/s200/programming+atmel+studio+03.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWsefbXFVurEZrdbCVBb9mtX0QXlJMGqV5LurPXCqAbswdQ-DbL0ZJMOtATCX8TEwvya1iupc6ht3GqLujKJxVxFR04-WVkU815IVTakslgcmsGIKbmvgo6i_CTNTzht7Thnu0fQZuv1E/s1600/programming+atmel+studio+04.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="869" data-original-width="1439" height="120" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWsefbXFVurEZrdbCVBb9mtX0QXlJMGqV5LurPXCqAbswdQ-DbL0ZJMOtATCX8TEwvya1iupc6ht3GqLujKJxVxFR04-WVkU815IVTakslgcmsGIKbmvgo6i_CTNTzht7Thnu0fQZuv1E/s200/programming+atmel+studio+04.png" width="200" /></a></div>
To program the target device, I select the 'Memories' tab, fill in the path to the compiled .hex file, and click 'Program'. The programmer then erases the target's flash memory, reprograms it with the desired code, and verifies the written content. In this case, it was a simple piece of code to verify the process and check the tracker's basic functionality. One by one, the code enabled the two load switches for a period of time while I measured the trackers consumption and voltages at respective points. The tracker passed this test successfully, so I can begin writing the firmware. More on that perhaps in a future blog post.<br />
<br />
<br />
<b>Downloads</b><br />
For anyone interested in using any of the stuff described in this blog post, here are the Eagle schematic and board files, the Bill Of Materials, the modified XML file for Atmel Studio, and a link to a Github repository of this project.<br />
<br />
TT7B's <a href="https://drive.google.com/open?id=1K-6OJkOnJ2ETVa0qd_GpsPdeMUF6mte7">schematic</a> from Eagle.<br />
TT7B's <a href="https://drive.google.com/open?id=19321h66D_UiLotN9xO5k4AtZm30yMMEs">board</a> design from Eagle.<br />
TT7B's <a href="https://drive.google.com/open?id=1Gd9ChRE4NMxaULwZAVQLrM2f7zdZxF99">BOM</a> export from Eagle.<br />
Modified <a href="https://drive.google.com/file/d/14-SC3KE17oVPZD0tJS4MgP-Nn4e51Fp0/view?usp=sharing">ATSAMD10D14AM.xml</a> for Atmel Studio.<br />
Github <a href="https://github.com/TomasTT7/TT7B-Tracker">repository</a> link.TT7http://www.blogger.com/profile/11095378058232471221noreply@blogger.com3tag:blogger.com,1999:blog-7063183727921268380.post-19861908594375748612018-06-07T16:46:00.000+02:002018-09-08T03:25:57.258+02:00The Reflow OvenSo far, I have been soldering all my tracker boards and other PCBs by hand with either a soldering iron or a hot air station. This often led to repeatedly reheating the same boards and ICs as I usually did them in parts. That most likely wasn't an ideal practice as some of the solder joints liquefied and solidified again and again at uncontrolled conditions. I suspect it could have contributed to some of the tracker failures I have experienced. Having that in mind, I began coming across videos and tutorials on people modifying ordinary toaster ovens to homemade reflow soldering equipment. Here is just one <a href="http://www.whizoo.com/reflowoven">example</a> from which I've sourced a lot of useful information. A Google or a Youtube search will bring up many more. Eventually, I began putting together my own reflow oven and this blog post now documents the process.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwco0UxuPJayUFq_aUJZ2hSwE9zBKSx85fS60DL52ISjPCI2ZLUKbw1esjbzhc77wEiSKCfuI6hPjxDKMxdq3t4uBSJ0MwMQ5qO5DrzSFBAu-eKlfo_R9icS7vDfZ_RsSH3NyLpZrfxp8/s1600/IMG_2245+oven+box.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwco0UxuPJayUFq_aUJZ2hSwE9zBKSx85fS60DL52ISjPCI2ZLUKbw1esjbzhc77wEiSKCfuI6hPjxDKMxdq3t4uBSJ0MwMQ5qO5DrzSFBAu-eKlfo_R9icS7vDfZ_RsSH3NyLpZrfxp8/s200/IMG_2245+oven+box.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqZ-zPVpatRekirGL6sziQTlLlHlb5yF4xjj7MG80aQSyVRdC6K-1MZeZrke2Y2cuf06p45DahyphenhyphenICv_rF6r3dfKHF8z39yFU90haHYPUH6MhEFm_r-z77e0-qIo3GvxjqEqdj7jD9DiQ4/s1600/IMG_2249+oven+front.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqZ-zPVpatRekirGL6sziQTlLlHlb5yF4xjj7MG80aQSyVRdC6K-1MZeZrke2Y2cuf06p45DahyphenhyphenICv_rF6r3dfKHF8z39yFU90haHYPUH6MhEFm_r-z77e0-qIo3GvxjqEqdj7jD9DiQ4/s200/IMG_2249+oven+front.JPG" width="200" /></a></div>
Armed with recommendations from the mentioned tutorials, I looked for the smallest cheapest oven equipped with quartz heating elements as these should have been better suited for rapid temperature changes. My choice fell on Tristar OV-1431 which was advertised as a 9 liter 800W toaster oven. The inner dimensions were 250 by 215 with 162 millimeters in height.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXWnZQS-CH9itj0iougbrDSoflhvyQIELhUn7z3NwxFNo0qFvXfbF8tVFhUInsbeuPNdmVNPq-XQgZApJlnUCmDAU-kwTTege0Dwqe9rmhAdov0QwSe54bF1jevK3ZjaVdLo_qyzMYIEw/s1600/IMG_2255+oven+side+vents.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXWnZQS-CH9itj0iougbrDSoflhvyQIELhUn7z3NwxFNo0qFvXfbF8tVFhUInsbeuPNdmVNPq-XQgZApJlnUCmDAU-kwTTege0Dwqe9rmhAdov0QwSe54bF1jevK3ZjaVdLo_qyzMYIEw/s200/IMG_2255+oven+side+vents.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOWdTpQvWb8oHLnfU-qyst3RPmqaipXaofGn6ZaAKcG86-YFXJiam4Ypf0gcJo9sMmKlrqfflp5pa_nGlR3T_ku6HxCNQrhmT_Fz5Yv8yC7_X3gFoRNauvuY1hUUZD09Z20G9d9f2Zyq4/s1600/IMG_2265+oven+heating+elements.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOWdTpQvWb8oHLnfU-qyst3RPmqaipXaofGn6ZaAKcG86-YFXJiam4Ypf0gcJo9sMmKlrqfflp5pa_nGlR3T_ku6HxCNQrhmT_Fz5Yv8yC7_X3gFoRNauvuY1hUUZD09Z20G9d9f2Zyq4/s200/IMG_2265+oven+heating+elements.JPG" width="200" /></a></div>
Inside the chassis was a heating chamber with two quartz heating elements. One at the top and one at the bottom. Then on the right side was a separate space housing the control mechanism which was going to be replaced.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1UcAtA_7cPRg4NKhxRuCj4TN6KRoJRe4puQiCR5NTqGNIDPbbR07A_2Bycw4U22gJRMGUTTAeDHzinZk1h4oogaM2USepoLlj6aMabiu6X2h6sBXdXiPiGYOVPmlRWyfuR9Zz14S2gZA/s1600/IMG_2259+oven+back.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1UcAtA_7cPRg4NKhxRuCj4TN6KRoJRe4puQiCR5NTqGNIDPbbR07A_2Bycw4U22gJRMGUTTAeDHzinZk1h4oogaM2USepoLlj6aMabiu6X2h6sBXdXiPiGYOVPmlRWyfuR9Zz14S2gZA/s200/IMG_2259+oven+back.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiffglKWJEiJbMqS7IPNq8LUT6sR2n-SRjz1beoyiRCGoYiDqAl8cSCAauQnKwb4p7f2A8xRzB4-28SrFAFIgbPstoNbPoTrWy-O6DWzsa2e5CLcxwU6MzQFFZUD-uykrMvAIS4B2FYMC0/s1600/IMG_2264+oven+bottom.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiffglKWJEiJbMqS7IPNq8LUT6sR2n-SRjz1beoyiRCGoYiDqAl8cSCAauQnKwb4p7f2A8xRzB4-28SrFAFIgbPstoNbPoTrWy-O6DWzsa2e5CLcxwU6MzQFFZUD-uykrMvAIS4B2FYMC0/s200/IMG_2264+oven+bottom.JPG" width="200" /></a></div>
At the back side of the oven, only a thin metal plate separated the heating chamber from the outside environment leaving no space for any additional inner insulation. The whole bottom metal plate of the oven then could be opened (probably for cleaning if used in its intended purpose). In any case, it led to openings along the whole circumference for heat to escape.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhT69TZ1iOBvx8dh3Ien_toL5d6DuNykeNXBUThJWIpgS-VPno2C_UYH9rAbEvTmfTT5Mby2nffc0Pp2Cmv6pK0WG6_vxy04dsy7L_UErJ1rgCpFA4DiqXQf9U3L9cOiI7w-W3ZEglVcBA/s1600/IMG_2280+oven+first+burning.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhT69TZ1iOBvx8dh3Ien_toL5d6DuNykeNXBUThJWIpgS-VPno2C_UYH9rAbEvTmfTT5Mby2nffc0Pp2Cmv6pK0WG6_vxy04dsy7L_UErJ1rgCpFA4DiqXQf9U3L9cOiI7w-W3ZEglVcBA/s200/IMG_2280+oven+first+burning.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTbZNKzK9wnmDFThfHkB1fQ0ffMBdBqUzxZWe13gmN5V5fN_CrF5-_sRRD3TRjcrBad7er3C97PkZLbwppu0ulXiGHWDCijOMi97jpR1EmdxR71xdTNwhLcCYRmx9nROUoIbza9YkF-Ss/s1600/IMG_2281+oven+first+burning.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTbZNKzK9wnmDFThfHkB1fQ0ffMBdBqUzxZWe13gmN5V5fN_CrF5-_sRRD3TRjcrBad7er3C97PkZLbwppu0ulXiGHWDCijOMi97jpR1EmdxR71xdTNwhLcCYRmx9nROUoIbza9YkF-Ss/s200/IMG_2281+oven+first+burning.JPG" width="200" /></a></div>
These are a couple of images from the first time I turned the unmodified oven on. As can be seen, the heating elements operate at high enough temperature to partially radiate in the visible portion of the electromagnetic spectrum. The oven's documentation, perhaps unsurprisingly, doesn't say anything about the type or properties of the heating elements. Upon a closer look they consist of a thin coiled wire which as a result operates at higher temperatures than the thick metal elements found in other types of ovens. The coil itself is housed in a quartz glass tube which is predominantly transparent to the emitted infrared radiation.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJXGWh1HHLlzctGb1PeQ9vai7E9c2nNtAv8VH3fVKhezSt4YAxP4puBa8auw-YPF7MvfKocR7SLT0Z4RSC8mNL_6AFKiWaeE7BppMlj8jABlPPHFhve00Fn2YBoMYlq4HprUx91QP4mQ4/s1600/IMG_2242+grid+solid+plate.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJXGWh1HHLlzctGb1PeQ9vai7E9c2nNtAv8VH3fVKhezSt4YAxP4puBa8auw-YPF7MvfKocR7SLT0Z4RSC8mNL_6AFKiWaeE7BppMlj8jABlPPHFhve00Fn2YBoMYlq4HprUx91QP4mQ4/s200/IMG_2242+grid+solid+plate.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZ1_z0GKDUJcTpiBQWQHQaee5KyZA1Vm4UEjon2096XIdI35qGg71jtENTinCO76xpszprgE4PsQHmnz2gMQ6SqK4SvT2hyphenhyphenAn_Bk05o4hCHTk6xN28eqK0z8BVWWFzPX0tltoKyqSyjFk/s1600/IMG_2272+oven+solid+plate.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZ1_z0GKDUJcTpiBQWQHQaee5KyZA1Vm4UEjon2096XIdI35qGg71jtENTinCO76xpszprgE4PsQHmnz2gMQ6SqK4SvT2hyphenhyphenAn_Bk05o4hCHTk6xN28eqK0z8BVWWFzPX0tltoKyqSyjFk/s200/IMG_2272+oven+solid+plate.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
The original grid was replaced with a solid aluminium plate to distribute the heat under a PCB more evenly. I recall seeing stripes burned onto a board were it was touching the grid from one of the tutorials I've seen. Ideally, the plate should be able to provide sufficient support while being as thin as possible so it doesn't take too much time to heat itself. The dimensions I managed to obtain were 256 by 210 millimeters in 1mm thickness. Although judging on its strength, it could have been thinner.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMJHWF5DDGFo7nhUsY0Do0CySbQmPerZd__xA3jWC-Sz4SrjA_Xm6vzdiGVQKbyk1h3k-0Bz2Yh01fDlZXILSstqJtv0Kv2e-TZCBeyIp0bbc_YPsAAU2ISHhHxksVQdhKc2jfMJQgbG8/s1600/IMG_2285+first+temp+measurement.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMJHWF5DDGFo7nhUsY0Do0CySbQmPerZd__xA3jWC-Sz4SrjA_Xm6vzdiGVQKbyk1h3k-0Bz2Yh01fDlZXILSstqJtv0Kv2e-TZCBeyIp0bbc_YPsAAU2ISHhHxksVQdhKc2jfMJQgbG8/s200/IMG_2285+first+temp+measurement.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCyMJfFPe9g8o4W-10S1XgCgkGQMZEaRwPP42VEz2xTvINNnYHk7J9Amjc5dNxevP7lh-33Qs_AJxbIr6HojD7LiNirlxr9FdBJn02KvHkl8qWZKHHDmjoI64n0CiwZE2gJMWRB0_Gq24/s1600/IMG_2288+first+temp+measurement.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCyMJfFPe9g8o4W-10S1XgCgkGQMZEaRwPP42VEz2xTvINNnYHk7J9Amjc5dNxevP7lh-33Qs_AJxbIr6HojD7LiNirlxr9FdBJn02KvHkl8qWZKHHDmjoI64n0CiwZE2gJMWRB0_Gq24/s200/IMG_2288+first+temp+measurement.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTQay7xn32h50NugQLqvF3aSv9cOid6OoYBZepx9T7a0i56L4lXVS-rNUs7B0tCRCkI3GL8el7y2QBhNP69aeq9WD3G4oxUZ5Yh_njU0frsC5Luqas3oBZYdGddjNeZSv3YY2VeRiYxvc/s1600/IMG_2293+second+temp+measurement.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTQay7xn32h50NugQLqvF3aSv9cOid6OoYBZepx9T7a0i56L4lXVS-rNUs7B0tCRCkI3GL8el7y2QBhNP69aeq9WD3G4oxUZ5Yh_njU0frsC5Luqas3oBZYdGddjNeZSv3YY2VeRiYxvc/s200/IMG_2293+second+temp+measurement.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjki5QQj_p4wkvJaQfpNqb616xLheuzRtcmabQLpHkQJSeZ0F7UWyZmilL402qsa1LeCQNSIfF1C0fmh3LwKb51fmgBU_5wD7qfCUdE8Ud2-rOvEHynr6AJIfnqCOs9ek8hzNIj6YbVNTc/s1600/IMG_2295+third+temp+measurement.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjki5QQj_p4wkvJaQfpNqb616xLheuzRtcmabQLpHkQJSeZ0F7UWyZmilL402qsa1LeCQNSIfF1C0fmh3LwKb51fmgBU_5wD7qfCUdE8Ud2-rOvEHynr6AJIfnqCOs9ek8hzNIj6YbVNTc/s200/IMG_2295+third+temp+measurement.JPG" width="200" /></a></div>
Having familiarized myself with the oven, I wanted to get an idea of what it could do. I used a thermocouple and an Arduino to log the temperature readings during three different runs. First I left the thermocouple hover in mid air inside the heating chamber without the aluminium plate. On the second run, the thermocouple was taped to the plate with a Kapton tape. And lastly, I pushed the thermocouple through one of the side vents to see how hot it got inside the side space.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiT_Z0EcfaqfjSmcOO5WSx7Ct2By33t0Oaxif_ujWYMGp-boJvy_AFye6S4B8gUyQC1fOxD_VOVkP6ONvOsn1PNsnKndQV-OqMrSyzsrOWd8I9ejZLJqE0U_Yt0ooil5ekpQLJ0IMxFipc/s1600/temp+chart-composite+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="478" data-original-width="778" height="122" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiT_Z0EcfaqfjSmcOO5WSx7Ct2By33t0Oaxif_ujWYMGp-boJvy_AFye6S4B8gUyQC1fOxD_VOVkP6ONvOsn1PNsnKndQV-OqMrSyzsrOWd8I9ejZLJqE0U_Yt0ooil5ekpQLJ0IMxFipc/s200/temp+chart-composite+01.png" width="200" /></a></div>
These were the results. In all three cases, I set the oven to full power, left it running until the temperature stabilized, and let it cool down with the glass door closed. The oven's highest setting was 230°C. As evidenced by the second measurement (red), that indeed was where the inside temperature stabilized after an initial overshoot before the built-in thermostat intervened. The first measurement (blue), where the thermocouple hovered in mid air, was probably influenced by direct absorption of the radiated heat by the thermocouple probe as the temperature first overshot to about 285°C then stabilized at only about 205°C with the heating element's duty cycle now much lower. Lastly, the air temperature in the shielded side space reached an uncomfortable 82°C.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOD76-cc3snWi9nKuoHagWw9Wb51AmPb1kZqQwZ0iQ0saL05Akt6EDj1cYgfK2ONSOKVhndMtR_eoNRdcJ-XsWY6d8Qmse2dFI1HV7vYCbnn_hDjcTyIHYPMGaClHsjty0p6DCfUmWJhs/s1600/IMG_2304+oven+stripped+top.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOD76-cc3snWi9nKuoHagWw9Wb51AmPb1kZqQwZ0iQ0saL05Akt6EDj1cYgfK2ONSOKVhndMtR_eoNRdcJ-XsWY6d8Qmse2dFI1HV7vYCbnn_hDjcTyIHYPMGaClHsjty0p6DCfUmWJhs/s200/IMG_2304+oven+stripped+top.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhmFdzknxJcgiStA4U63Sbk78PaNtegavPHRrBga_e219kS1FwFxXSdT1iQcs7r6xjZOzU6ZHK2SA4hFF2MrUBQ1mvabR_sSu3sTPk4iKwOWz-qwEwRIs1JonpHneDghVyQEjLSt2-WnU/s1600/IMG_2310+oven+stripped+bottom.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhmFdzknxJcgiStA4U63Sbk78PaNtegavPHRrBga_e219kS1FwFxXSdT1iQcs7r6xjZOzU6ZHK2SA4hFF2MrUBQ1mvabR_sSu3sTPk4iKwOWz-qwEwRIs1JonpHneDghVyQEjLSt2-WnU/s200/IMG_2310+oven+stripped+bottom.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
After that, it was time to take off the main cover and examine the inner wiring. A good sign was that there seemed to be enough space for additional insulation to go in between the cover and three sides of the heating chamber.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifZ-uldmwmP5tJE4qpPfyW9zu4JjcjyAjOkl0yKyuTtk58EiIxOhyphenhyphenDtKnFazMhfiXgmh_poaH81A5R5Nqp8teyvGSiX5fAWItQHMvg2-zSZIu4fkZzY6uEhwC0IWyxgDdtrewrI1JSuOE/s1600/IMG_2305+oven+stripped+side.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifZ-uldmwmP5tJE4qpPfyW9zu4JjcjyAjOkl0yKyuTtk58EiIxOhyphenhyphenDtKnFazMhfiXgmh_poaH81A5R5Nqp8teyvGSiX5fAWItQHMvg2-zSZIu4fkZzY6uEhwC0IWyxgDdtrewrI1JSuOE/s200/IMG_2305+oven+stripped+side.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8lEWKLl_Q2GJ9MMMK8cKejWNvZm9h8bEWFx9Hftb7cS_7FTEjHOLlDMWf0ItWj4GHQaw4Mkaxim6Q8XiQTUpvUsy8ZTv4HEYPxdjiOXPImIyNXYUJG0wtUe4IdekWWOoZrnf8ZkuK_GQ/s1600/IMG_2314+oven+stripped+side.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8lEWKLl_Q2GJ9MMMK8cKejWNvZm9h8bEWFx9Hftb7cS_7FTEjHOLlDMWf0ItWj4GHQaw4Mkaxim6Q8XiQTUpvUsy8ZTv4HEYPxdjiOXPImIyNXYUJG0wtUe4IdekWWOoZrnf8ZkuK_GQ/s200/IMG_2314+oven+stripped+side.JPG" width="200" /></a></div>
Since this was a very basic oven, the control mechanism constituted of only a timer (bottom) and a thermostat (top). As for the wiring, the protective earth (green/yellow) from the power cord was screwed down to the oven's chassis. Contrary to convention, 230V was measured between the blue wire and the earth connection while the brown wire was at 0V to earth. Thus the live wire first fed the bottom heating element, then connected the two elements in series on the other side of the oven, and returned through the upper element to the thermostat's terminal. From the thermostat's second terminal, it continued to one of the timer's terminals, and finally returned to the brown (neutral in this oven) power cord wire via a second terminal. Both the timer and the thermostat worked as two circuit breakers in series.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjou8uSWbgtjlCJz5eYHHZkND1AJFZr9qvS_hOhcnPseNYLMAAb54YIhFSqulKJqs0uNtzj2BhBFVgnBsTS6QEycwxLSRezpAJPIeaqrQlc-2HBiO9MACUB88bga8eRWjY7UkdAosdREJY/s1600/IMG_2312+oven+stripped+controller.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjou8uSWbgtjlCJz5eYHHZkND1AJFZr9qvS_hOhcnPseNYLMAAb54YIhFSqulKJqs0uNtzj2BhBFVgnBsTS6QEycwxLSRezpAJPIeaqrQlc-2HBiO9MACUB88bga8eRWjY7UkdAosdREJY/s200/IMG_2312+oven+stripped+controller.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4tWc8FVh6H1DsuEWJopJHDKbHWfi5qaJB5-dIprr6W_58Kve5pAYCLB2F7-_vZDyRLGXYv8w7s6HWzG_NMFZYcySUlCUd-0PPM0K4I0k514nbUXmFMa_m3_mgDSCew7MEGi7Rpz41LLM/s1600/IMG_2307+oven+stripped+side.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4tWc8FVh6H1DsuEWJopJHDKbHWfi5qaJB5-dIprr6W_58Kve5pAYCLB2F7-_vZDyRLGXYv8w7s6HWzG_NMFZYcySUlCUd-0PPM0K4I0k514nbUXmFMa_m3_mgDSCew7MEGi7Rpz41LLM/s200/IMG_2307+oven+stripped+side.JPG" width="150" /></a></div>
A control light, signalling the oven's operation, was wired to the mains line as well. It was fed via a black wire crimped to the power cord's blue wire and completed the circuit via another black wire to the timer's live terminal.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZRyiklw35f_3yU5A1_ZfQaMvu16w6WhDChz1JcEUSP5hDIf_M4VslEKk7JFyGz1xThWrUDRGMExfXwwelUXrnY1bS9Go7fZsuBz5ew0EHtfeo5y2dBo662dyYJUwh208F2LJdlXdw-pU/s1600/IMG_2299+oven+gaps+inside+chamber.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZRyiklw35f_3yU5A1_ZfQaMvu16w6WhDChz1JcEUSP5hDIf_M4VslEKk7JFyGz1xThWrUDRGMExfXwwelUXrnY1bS9Go7fZsuBz5ew0EHtfeo5y2dBo662dyYJUwh208F2LJdlXdw-pU/s200/IMG_2299+oven+gaps+inside+chamber.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilCPWlN_wLc5_nYy9xrJbsurOlmU9BfD8-viGDhYf4aXEFl9v2rP1cSn_cuzYF0gjDVfS7Oo6qiPjehx9J4oLlb97e6ywkgqopJBfUUQ4WY_hyphenhyphenP_iPOU50ofeRzR0GpDHrPW2d_Cti5OU/s1600/IMG_2301+oven+gaps+inside+chamber.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilCPWlN_wLc5_nYy9xrJbsurOlmU9BfD8-viGDhYf4aXEFl9v2rP1cSn_cuzYF0gjDVfS7Oo6qiPjehx9J4oLlb97e6ywkgqopJBfUUQ4WY_hyphenhyphenP_iPOU50ofeRzR0GpDHrPW2d_Cti5OU/s200/IMG_2301+oven+gaps+inside+chamber.JPG" width="200" /></a></div>
A closer look at the heating chamber revealed a number of gaps and holes in the bottom panel and in between all the walls. Sealing them and further insulating the chamber would result in less power wasted on heating the outside environment and it would speed up the temperature growth inside the oven as well.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjX-ynQDU6s9DH_E5cIaMKwMIFzztcG7JtLvqK3Kz6N05DeB72ShSDIv0S4YetYRXHDJ9uyEiWV5HDFLpyCcIzV4Cg7AdoMnZcItrPQDoe0YhYVDd8EffBdwZY_xQBZrp0vmf2ipu9n0TA/s1600/IMG_2316+oven+insulation.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjX-ynQDU6s9DH_E5cIaMKwMIFzztcG7JtLvqK3Kz6N05DeB72ShSDIv0S4YetYRXHDJ9uyEiWV5HDFLpyCcIzV4Cg7AdoMnZcItrPQDoe0YhYVDd8EffBdwZY_xQBZrp0vmf2ipu9n0TA/s200/IMG_2316+oven+insulation.JPG" width="200" /></a></div>
Having an idea of what others have used in the task, I ordered a high temperature (1200°C) stove sealant, a fiberglass blanket (1050°C), an aluminium reflective tape (350°C), and an adhesive gasket (600°C) for the glass door. All of this can be found in shops specialized in building/selling stoves, garden grills and their accessories. <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWeg3JnjfPPJJ7562uU-wceNwlqYk9aAryL9bNBKs2Z_QrjM_i8sFgEbaKR8pydIBaLnt6ntShTeBk4OLnO7C9YdOMh3honqCsKAAR1c6aLgexZv0oGMAFFZ1sEzHrzJ8S3Gtg5ZKrX-o/s1600/IMG_2321+stove+sealant.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWeg3JnjfPPJJ7562uU-wceNwlqYk9aAryL9bNBKs2Z_QrjM_i8sFgEbaKR8pydIBaLnt6ntShTeBk4OLnO7C9YdOMh3honqCsKAAR1c6aLgexZv0oGMAFFZ1sEzHrzJ8S3Gtg5ZKrX-o/s200/IMG_2321+stove+sealant.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx3F_zQ4gpnvQm9WCUukzqrDRVe-ErmFpUjlQdg-gatXRoc1PT-a-zxxGzk3I69YPW0SwqoKZgFKeboMCNDNj1ZMWRUgMBgyLFdJkPXuaajKfNE-n8lpP7rA3uGMT7OSLEgjHKQVG48lA/s1600/IMG_2324+stove+sealant.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx3F_zQ4gpnvQm9WCUukzqrDRVe-ErmFpUjlQdg-gatXRoc1PT-a-zxxGzk3I69YPW0SwqoKZgFKeboMCNDNj1ZMWRUgMBgyLFdJkPXuaajKfNE-n8lpP7rA3uGMT7OSLEgjHKQVG48lA/s200/IMG_2324+stove+sealant.JPG" width="150" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpBZ-pY91cJ9tM2bfcatr3KwEfv2-kurWCtnERG-bIr0T21o0oEyPED_v7q8LLWY36B2wQd-8S5i4OAnrzL7odVoCXXassdpxSp1O0BaqgyLlbUzZI6dQDHVDUdFmo5TYGsacAPmCilUo/s1600/IMG_2323+stove+sealant.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpBZ-pY91cJ9tM2bfcatr3KwEfv2-kurWCtnERG-bIr0T21o0oEyPED_v7q8LLWY36B2wQd-8S5i4OAnrzL7odVoCXXassdpxSp1O0BaqgyLlbUzZI6dQDHVDUdFmo5TYGsacAPmCilUo/s200/IMG_2323+stove+sealant.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcr4HCA5CRnzq0Ca2OSakyPz262WjHyz2ia8i6UTreiqLhV-hntvDqXvHEXukImVgFNxa25mPq0rhyphenhyphenIY7PXcG6dIXFx-Prrnw4WxxOybJGvdt_1GK_W8IN0vf7mkuNYW951Olp151CfyM/s1600/IMG_2328+stove+sealant.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcr4HCA5CRnzq0Ca2OSakyPz262WjHyz2ia8i6UTreiqLhV-hntvDqXvHEXukImVgFNxa25mPq0rhyphenhyphenIY7PXcG6dIXFx-Prrnw4WxxOybJGvdt_1GK_W8IN0vf7mkuNYW951Olp151CfyM/s200/IMG_2328+stove+sealant.JPG" width="200" /></a></div>
As mentioned, there was quite a lot of holes and gaps all around the heating chamber. These were first all filled with the high temperature stove sealant. Since the gaps were generally quite wide and hence the layer of the sealant quite thick, it was left to harden for about 4 days. Maneuvering with the sealant tube inside the chamber was problematic, so the seams were done mainly from outside.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0WnwYcMNamb3ypSHo0iWJuEsiweLVe_Zl3a0PYJ0N0DkIsu1WuOS6ZkslHD-EZj90Cz_tWqNkWOICA4SJh8eaRdZz4n4CGj4-3ha0zJQIwqsvcpQEJkny7h8SHYBodPW9HlWVB8JdAQk/s1600/IMG_2331+oven+aluminium+tape.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0WnwYcMNamb3ypSHo0iWJuEsiweLVe_Zl3a0PYJ0N0DkIsu1WuOS6ZkslHD-EZj90Cz_tWqNkWOICA4SJh8eaRdZz4n4CGj4-3ha0zJQIwqsvcpQEJkny7h8SHYBodPW9HlWVB8JdAQk/s200/IMG_2331+oven+aluminium+tape.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOjo7xKRqbI68nPE0n1vkbgPfJy35jn3P13Khg4r2tLXRvDTsOsD1V6vcpf1_Io-rMt7QPFShibAfxrJvixPgCNhN9hS7VL4lM5fpkTPcFDog6i0WaPvuLH0J5VlW06d2y5THReL0qgsE/s1600/IMG_2332+oven+aluminium+tape.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOjo7xKRqbI68nPE0n1vkbgPfJy35jn3P13Khg4r2tLXRvDTsOsD1V6vcpf1_Io-rMt7QPFShibAfxrJvixPgCNhN9hS7VL4lM5fpkTPcFDog6i0WaPvuLH0J5VlW06d2y5THReL0qgsE/s200/IMG_2332+oven+aluminium+tape.JPG" width="200" /></a></div>
To limit the amount of heat escaping through the glass door, most of it but a small window was taped over with the aluminium tape. The reflective surface decreases heat absorption by the glass and transmission through to the outside environment.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0WYnq5xNxaTdiaNRe1QbBHG9CzQKsritaekTmdqEbl2ymEh2aSi0q3bskfQ_EcoZFIYoohADJchomVzGcAEMqE260-yqhbgqu8fsFdf-R_6BeTpmf2N5rHMTE6uBaweC3CXk_RNVX2aM/s1600/IMG_2278+oven+glass+door+gap.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0WYnq5xNxaTdiaNRe1QbBHG9CzQKsritaekTmdqEbl2ymEh2aSi0q3bskfQ_EcoZFIYoohADJchomVzGcAEMqE260-yqhbgqu8fsFdf-R_6BeTpmf2N5rHMTE6uBaweC3CXk_RNVX2aM/s200/IMG_2278+oven+glass+door+gap.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHad9Cr7Ysy0W4D_cFBH1TDy3vk3Z-DnbDs9NQnqnyYgY8bwFrtDidxIvEO1amdS-_PGnJ_m78y_hC40F3CYMouSyQhiRXczPudM_yaXGm5Y77dJM7MxVp1kCL4PnKUt2KTC55uPT8Ip4/s1600/IMG_2270+oven+glass+door+gap.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHad9Cr7Ysy0W4D_cFBH1TDy3vk3Z-DnbDs9NQnqnyYgY8bwFrtDidxIvEO1amdS-_PGnJ_m78y_hC40F3CYMouSyQhiRXczPudM_yaXGm5Y77dJM7MxVp1kCL4PnKUt2KTC55uPT8Ip4/s200/IMG_2270+oven+glass+door+gap.JPG" width="150" /></a></div>
Unfortunately, there were visible gaps all around the glass door as well.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6NDkvQ3uIa4tMPt9O9Gv2Y6S2K9UrNITTn6EbckB0Mj0eL5P2vrgEnaHQPgtBZCTC0hVSaaFjDcS91DG2vRk_Gg-YU-UytZ0Z9o6EzuPL39i5AsA7carlpVYarlqDBnb2su5OXKlZ9QE/s1600/IMG_2334+oven+door+gasket.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6NDkvQ3uIa4tMPt9O9Gv2Y6S2K9UrNITTn6EbckB0Mj0eL5P2vrgEnaHQPgtBZCTC0hVSaaFjDcS91DG2vRk_Gg-YU-UytZ0Z9o6EzuPL39i5AsA7carlpVYarlqDBnb2su5OXKlZ9QE/s200/IMG_2334+oven+door+gasket.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWtKwpSNYARvdrV98e7l3fdcAJysGnnyhxnCdC-uqi2DnFKv2N_Yulqb4Jno6C1sSYiNRHz9kLXVyJRTSvVKkbfpjDekpeyZ_lEZFz2yXNV2SDoLL761oWlrYQ9roh37vy9P1AG2-DsM8/s1600/IMG_2336+oven+door+gasket.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWtKwpSNYARvdrV98e7l3fdcAJysGnnyhxnCdC-uqi2DnFKv2N_Yulqb4Jno6C1sSYiNRHz9kLXVyJRTSvVKkbfpjDekpeyZ_lEZFz2yXNV2SDoLL761oWlrYQ9roh37vy9P1AG2-DsM8/s200/IMG_2336+oven+door+gasket.JPG" width="150" /></a></div>
It took a while to find the best arrangement for the adhesive gasket so it didn't leave any chinks anywhere, but eventually the door seemed better insulated.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi73cbPsASf6Bz5xTJAeueCdxd71BEVomPpnW9vu_GtuMW3PjxEOHT49kF9wD07sOJ3Eqew_fbBBXatkRLPdy8CBTKMKHdsm4WdkZy5r7ELb9NJD57ZiND8kyeAU6FsLb6yFYvjYuEf3G0/s1600/IMG_2339+oven+fiberglass+blanket.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi73cbPsASf6Bz5xTJAeueCdxd71BEVomPpnW9vu_GtuMW3PjxEOHT49kF9wD07sOJ3Eqew_fbBBXatkRLPdy8CBTKMKHdsm4WdkZy5r7ELb9NJD57ZiND8kyeAU6FsLb6yFYvjYuEf3G0/s200/IMG_2339+oven+fiberglass+blanket.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaLWaHdSouJxccZDGlXrKr0j5g_N4VzG3NoFKzyax3BSmINI9SxjZ-dm2K65T5WI563yZCYo_S8PLEp0k5BdUpiDp5W7nPL7AC0uG3Mdg-pdNsvIgttwVPTS1vutmRyuVcUTXljzT0LuA/s1600/IMG_2341+oven+fiberglass+blanket.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaLWaHdSouJxccZDGlXrKr0j5g_N4VzG3NoFKzyax3BSmINI9SxjZ-dm2K65T5WI563yZCYo_S8PLEp0k5BdUpiDp5W7nPL7AC0uG3Mdg-pdNsvIgttwVPTS1vutmRyuVcUTXljzT0LuA/s200/IMG_2341+oven+fiberglass+blanket.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhylipGEEMkqnG8Zw7_al-suLazxRQCpIEjb4jJX0dFN2KqaY_qMM364tw61PAzjD912qwwEB20dq39l2vEexBEGcc4NDx1-0Afh_SENmm8TQJfK9E0qCJNE32_YaJNUCBmE8M9AjXRiq8/s1600/IMG_2345+oven+fiberglass+blanket.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhylipGEEMkqnG8Zw7_al-suLazxRQCpIEjb4jJX0dFN2KqaY_qMM364tw61PAzjD912qwwEB20dq39l2vEexBEGcc4NDx1-0Afh_SENmm8TQJfK9E0qCJNE32_YaJNUCBmE8M9AjXRiq8/s200/IMG_2345+oven+fiberglass+blanket.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj77ljdmU0FUNEhpK-NyBclZfOoMDP2kolzm1cqlR8zaLMDR3PYKuW9joSpGSrvdnrkI-Vc6W6F7qyCn_pGFw70K-L0j_Z35BmR1aj_rnIQOqMJV86ZZzV1LLIO8iXUjQqVczb2KPLCc6c/s1600/IMG_2349+oven+insulation.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj77ljdmU0FUNEhpK-NyBclZfOoMDP2kolzm1cqlR8zaLMDR3PYKuW9joSpGSrvdnrkI-Vc6W6F7qyCn_pGFw70K-L0j_Z35BmR1aj_rnIQOqMJV86ZZzV1LLIO8iXUjQqVczb2KPLCc6c/s200/IMG_2349+oven+insulation.JPG" width="200" /></a></div>
Majority of the insulation was conveyed by the fiberglass blanket. The 13mm thickness just fitted into the main cover. It was wrapped around the chamber from three sides in one piece. The heating element's terminals were simply pierced through the blanket without any hassle.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTdRLM-TcjnAgrTQmmxh3zszX6Aae2hbyrAYNflVljV1mKDrm1tgcitUEcLkrsRIgSLs3AbaRnhVWc1CY4cAEEVyFxY9w9hGtxoHniLMU1LlF8xPJwT_v9Rrw9svyvPnX6I1dUtNjlIyg/s1600/IMG_2355+ninth+temp+measurement.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTdRLM-TcjnAgrTQmmxh3zszX6Aae2hbyrAYNflVljV1mKDrm1tgcitUEcLkrsRIgSLs3AbaRnhVWc1CY4cAEEVyFxY9w9hGtxoHniLMU1LlF8xPJwT_v9Rrw9svyvPnX6I1dUtNjlIyg/s200/IMG_2355+ninth+temp+measurement.JPG" width="200" /></a></div>
With the insulation done, I repeated the same temperature measurements and added a couple more. The oven and its surroundings were noticeably cooler than when it ran in its original condition.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPkEkd_Bd_XsDX2ELlvXP2mWT6L3S2huqcWWYKEBWKp76N2PneYkkKI_QoQFv0KpqVPGYo_1btZDed886PsqgyuW0emOQXewyRPsgbs8UNT-E8KNov32eW3mS29IdYzw2ZU5vFXjAz0xk/s1600/temp+chart-free+air+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="478" data-original-width="779" height="122" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPkEkd_Bd_XsDX2ELlvXP2mWT6L3S2huqcWWYKEBWKp76N2PneYkkKI_QoQFv0KpqVPGYo_1btZDed886PsqgyuW0emOQXewyRPsgbs8UNT-E8KNov32eW3mS29IdYzw2ZU5vFXjAz0xk/s200/temp+chart-free+air+01.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqMCeJUzIFEQP4RO-6eG7WqHTTS5jmZirOBfp6aWE-YHhj8iJ-brsor9e4_9ZEIYKxj11W_acpxtCCld9Nooj7Yn4nkT7uzaex84710DpRp-E2B3N4fR-IT2329T9tMkrm5RyqjqJO198/s1600/temp+chart-free+air+plate+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="476" data-original-width="777" height="122" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqMCeJUzIFEQP4RO-6eG7WqHTTS5jmZirOBfp6aWE-YHhj8iJ-brsor9e4_9ZEIYKxj11W_acpxtCCld9Nooj7Yn4nkT7uzaex84710DpRp-E2B3N4fR-IT2329T9tMkrm5RyqjqJO198/s200/temp+chart-free+air+plate+01.png" width="200" /></a></div>
The first chart compares the situation with the thermocouple in mid air. This time the oven was manually switched off when the readings reached 300°C, because the thermostat, due to the insulation, no longer responded properly. As can be seen, the temperature rise was sharper, and the previous maximum was reached two minutes earlier. The second chart shows how the temperature progression changed when the aluminium plate was put in and separated the thermocouple from direct radiation of the bottom element. Contrary to the previous situation, the door was fully opened right after the readings hit 300°C. The much delayed peak suggests that the thermocouple in this configuration is largely influenced by direct absorption, and the readings don't necessarily reflect the air temperature.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaPB6JVP3NGV-l0oWyq5G_kaMOmoqp03kCPH8ENNTYdW1G5PadmOwEPZ5lPFNRVvX6I2D1MFSHJxhxYrmiuC7snNgfMcvT-kvUo3hbvm71j8WkMyI0c8w037SNELwF4utp_uxjFKDAWsQ/s1600/temp+chart-al+plate+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="479" data-original-width="780" height="121" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaPB6JVP3NGV-l0oWyq5G_kaMOmoqp03kCPH8ENNTYdW1G5PadmOwEPZ5lPFNRVvX6I2D1MFSHJxhxYrmiuC7snNgfMcvT-kvUo3hbvm71j8WkMyI0c8w037SNELwF4utp_uxjFKDAWsQ/s200/temp+chart-al+plate+01.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgx83n5MG11vHIrx32whX6uMonKh8Ks6fpXQ64TEltCq_N3I_QzJKeaH_zKDJ3TWuv06J2MSnXNJqtZuO_eBGMwjJOcdBubvlDzjzzB8cyg-KwLOrgCKGKZy4nc7CK7IrQ69vyqqzv2vA/s1600/temp+chart-al+plate+kapton+alu+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="476" data-original-width="777" height="122" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgx83n5MG11vHIrx32whX6uMonKh8Ks6fpXQ64TEltCq_N3I_QzJKeaH_zKDJ3TWuv06J2MSnXNJqtZuO_eBGMwjJOcdBubvlDzjzzB8cyg-KwLOrgCKGKZy4nc7CK7IrQ69vyqqzv2vA/s200/temp+chart-al+plate+kapton+alu+01.png" width="200" /></a></div>
In this case, the first chart compares the situation with the thermocouple taped to the plate with Kapton tape. This time the power was shut and door opened when the readings hit 260°C. Again, the rate of temperature increase was higher. The second chart compares the same situation to one where a piece of the reflective aluminium tape was used to secure the thermocouple. The results suggest that using Kapton tape, the thermocouple still absorbed some radiation directly and skewed the temperature readings.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFRuYHx5AZz77EdbcsYLa2zIsO3abuWQ2nNzPHZSrGEvUwKtjCBfeDaKtAI9xzXWCajz4gEXoAo_hS48GlO36DoxxHLD5ho0qgQQxMI_e26sDliqcogTi1SC6FoqcjEchOOCyftHHawfE/s1600/temp+chart-side+space+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="477" data-original-width="777" height="122" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFRuYHx5AZz77EdbcsYLa2zIsO3abuWQ2nNzPHZSrGEvUwKtjCBfeDaKtAI9xzXWCajz4gEXoAo_hS48GlO36DoxxHLD5ho0qgQQxMI_e26sDliqcogTi1SC6FoqcjEchOOCyftHHawfE/s200/temp+chart-side+space+01.png" width="200" /></a></div>
Since the side space was intended to house the replacement electronics, and its 80°C operating temperature in the original oven was at the limits of some of the components, the situation after insulating the oven was of significant interest. This time the power was cut when the temperature readings stabilized. As can be seen, the maximum air temperature decreased by some twenty degrees and the peak was hit after about seven minutes.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKnIKyWznbjX0UirEmZTrrHbVJURTwCf7999dI5WC4AQhL2DvEKGj62LzkJ40so1aAWSKtjq8SJ_e56WaVajRn-YB0VWLlG772krFhdlljske0diU1X0xZsAFv-_5Iy6ORXIG4mozoUKo/s1600/IMG_2357+tenth+temp+measurement.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKnIKyWznbjX0UirEmZTrrHbVJURTwCf7999dI5WC4AQhL2DvEKGj62LzkJ40so1aAWSKtjq8SJ_e56WaVajRn-YB0VWLlG772krFhdlljske0diU1X0xZsAFv-_5Iy6ORXIG4mozoUKo/s200/IMG_2357+tenth+temp+measurement.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2IjEiCp92jMpQAeFws6ynlhZj6rUKDIuD2WuNERBp03FJz0AS0J6Wo-ujck1VurlVqKpEnxPEUzzMmhSjgwSWR0Y2SDxCT8WaJk-P2hT4s-MOeJ96GObdVPFgrYKOy51JIERomnsepSM/s1600/IMG_2362+eleventh+temp+measurement.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2IjEiCp92jMpQAeFws6ynlhZj6rUKDIuD2WuNERBp03FJz0AS0J6Wo-ujck1VurlVqKpEnxPEUzzMmhSjgwSWR0Y2SDxCT8WaJk-P2hT4s-MOeJ96GObdVPFgrYKOy51JIERomnsepSM/s200/IMG_2362+eleventh+temp+measurement.JPG" width="200" /></a></div>
Out of interest, I did a couple of measurements with the thermocouple taped to a ground pad on a 1.6mm PCB. Again, Kapton tape and aluminium tape were used in separate runs. The board was placed in the middle of the plate.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEho1nfaXf5C6LQTRB4wt90l0MQWBDhetiNL5_iXy-8Kn4wu_Mif_yvbgyKhBGU-osjW-WzNN8BYZeflyhiJc0e1Efgbh9xPzKWfkwKOirogpQj-PB-2fk0UGJEbcVkIeEDHaKsScHEHoz0/s1600/IMG_2358+tenth+temp+measurement.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEho1nfaXf5C6LQTRB4wt90l0MQWBDhetiNL5_iXy-8Kn4wu_Mif_yvbgyKhBGU-osjW-WzNN8BYZeflyhiJc0e1Efgbh9xPzKWfkwKOirogpQj-PB-2fk0UGJEbcVkIeEDHaKsScHEHoz0/s200/IMG_2358+tenth+temp+measurement.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgi1ScyJ8688LK4Z14kr3o_bybQbnMaAa607nSZIFcJ6pPY7XEpJi4Uo9XkOlyZql7yuFkz_-YJnOlVFLRkTtwfPDTRH5vI39UOBbZDO39KK1tb4KvfukmMygK3y8PPfMPMsUN1e9oQIZc/s1600/temp+chart-pcb+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="477" data-original-width="779" height="121" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgi1ScyJ8688LK4Z14kr3o_bybQbnMaAa607nSZIFcJ6pPY7XEpJi4Uo9XkOlyZql7yuFkz_-YJnOlVFLRkTtwfPDTRH5vI39UOBbZDO39KK1tb4KvfukmMygK3y8PPfMPMsUN1e9oQIZc/s200/temp+chart-pcb+01.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirAJHdJjrI1jXHBEvt1qULkID4piToSELooOFMnBci5JwamMnbGUowx5POjXA5VSPTVbHaopCDBVUf_ynjHIyN7VqpSMIRs1Wi7IGJPNvlYlAcHYVCWoZ7anQjYdRnHE8fMH0EHRj4OTM/s1600/temp+chart-plate+pcb+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="476" data-original-width="777" height="122" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirAJHdJjrI1jXHBEvt1qULkID4piToSELooOFMnBci5JwamMnbGUowx5POjXA5VSPTVbHaopCDBVUf_ynjHIyN7VqpSMIRs1Wi7IGJPNvlYlAcHYVCWoZ7anQjYdRnHE8fMH0EHRj4OTM/s200/temp+chart-plate+pcb+01.png" width="200" /></a></div>
Unsurprisingly, the Kapton tape readings showed a higher temperature increase rate. The second chart then compares the situation when the thermocouple was taped to the aluminium plate to the run with the PCB measurement. Even though the plate was physically much larger, the resulting curves are very similar and differ only by less then a 30 second delay.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEja-s5ZwgvAlI8ZYBhtyqrECLw-dkzTEEyJeVhu1-O8xQx9ArYei9_rt9V3303fLir4_8cVFqUgUGvBRYi3MnUac8P23VVYtZZ6_Vmk2AcJEZLU3U8GnT71aJBBLHl9WK13DK8zsMwt17k/s1600/IMG_2364+oven+alu+tape+inside.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEja-s5ZwgvAlI8ZYBhtyqrECLw-dkzTEEyJeVhu1-O8xQx9ArYei9_rt9V3303fLir4_8cVFqUgUGvBRYi3MnUac8P23VVYtZZ6_Vmk2AcJEZLU3U8GnT71aJBBLHl9WK13DK8zsMwt17k/s200/IMG_2364+oven+alu+tape+inside.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOLvAOvR3sW81cIhV9oBlMRMgRcPbqP5glkQACIsSSZ2BJOk-aigT2Abq-F6KK07NyUGiydDJmln-p55VCoKjpl65RTC-alfy3k7yaeyiV2ViiL-raDi9Z94DcWuTMwH-gQ41qx-a97mw/s1600/IMG_2369+oven+alu+tape+inside.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOLvAOvR3sW81cIhV9oBlMRMgRcPbqP5glkQACIsSSZ2BJOk-aigT2Abq-F6KK07NyUGiydDJmln-p55VCoKjpl65RTC-alfy3k7yaeyiV2ViiL-raDi9Z94DcWuTMwH-gQ41qx-a97mw/s200/IMG_2369+oven+alu+tape+inside.JPG" width="200" /></a></div>
Since the aluminium tape covering the door had survived several runs without any signs of peeling, it was used to further limit absorption by the chamber's walls. Although it was kept some distance away from the heating elements. A couple of the reflow oven tutorials mentioned similar tapes catching fire when placed too close.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAxXeIr0bd9hG_kFyAOJ85VXDb43Lk-aOST5Tau8IjCg-G-oZF7tO6BAKNmy58xLfM9wzyN_mWcvLXTCBTTTqP8rMr24I5kl3qED3jqE-2w3-laSdvP5Uy5LXai0yqU_slbv4k7kFyoHQ/s1600/IMG_2371+oven+dc+fan.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAxXeIr0bd9hG_kFyAOJ85VXDb43Lk-aOST5Tau8IjCg-G-oZF7tO6BAKNmy58xLfM9wzyN_mWcvLXTCBTTTqP8rMr24I5kl3qED3jqE-2w3-laSdvP5Uy5LXai0yqU_slbv4k7kFyoHQ/s200/IMG_2371+oven+dc+fan.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwrsckq6UD7GVjO8y-gF-35aWSNFyucIGEU15KymJjDBWd3qR-qtVcMJ9DAK8kCDPOvH93W9uZKyVzOj0Xgh3bszRTRTU0I9VHvKeG-T_eIcxsD0DD542__iIxcWVaO5EOoSCTce90-iI/s1600/temp+chart-side+space+fan+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="478" data-original-width="779" height="122" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwrsckq6UD7GVjO8y-gF-35aWSNFyucIGEU15KymJjDBWd3qR-qtVcMJ9DAK8kCDPOvH93W9uZKyVzOj0Xgh3bszRTRTU0I9VHvKeG-T_eIcxsD0DD542__iIxcWVaO5EOoSCTce90-iI/s200/temp+chart-side+space+fan+01.png" width="200" /></a></div>
To further decrease the operating temperature in the side space, a small 5V fan was attached to the air vents in the rear wall of the oven. The chart then shows a comparison of the measured temperature profiles with and without the fan. Contrary to the first two measurements, in this instance, the power to the heating elements was cut after 5 minutes. The fan seemed to decrease the air temperature by further 10°C. Note that this profile was taken while the fan was partially obstructed by the air vents themselves. In the final layout, the air vents were removed.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPAyaGV55WdEw6KIqeryO7vEA2XFvn7SJD-e4gE4bUs8mTCtkdEdiy_Rw1ZAoWwLB-jjG0y68m8XA_cOfHZUzp4O37vvlgr30csLwKqcGVoBFCJ8hF9Vo_l60Wb-gI38618U6CvwO96ZE/s1600/IMG_2380+oven+thermostat+timer.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPAyaGV55WdEw6KIqeryO7vEA2XFvn7SJD-e4gE4bUs8mTCtkdEdiy_Rw1ZAoWwLB-jjG0y68m8XA_cOfHZUzp4O37vvlgr30csLwKqcGVoBFCJ8hF9Vo_l60Wb-gI38618U6CvwO96ZE/s200/IMG_2380+oven+thermostat+timer.JPG" width="200" /></a></div>
With a little bit of force, the control knobs could be taken off uncovering access to a few screws which then allowed dismounting the timer (in the image on the left) and the thermostat (right) completely. Both of them used 6.3mm flat terminals with a lock, so the wires could be taken off easily as well. The timer was a simple mechanical switch which used a spring and a set of gears to delay breaking of the circuit after it was wound up. The thermostat, as I understood it, used two metals of different coefficient of thermal expansion in its construction. The more expansive piece of metal detached from its less expansive counterpart breaking the circuit when it reached target temperature. Judging by the arrangement of the thermostat in the oven, it responded to the heat delivered to it by conduction in the front panel and temperature of the air in the side space. This relationship was broken by the added insulation.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-GnKDmlvHXDL9TCN3piFG8CRuSvj9XCXzV5dV5DXxvua0_2J0NlP0IVQWeNeAVpC-bbCEEWfo3D6s4p8Ae9fQSUcc2zBUaqhyg1eiOlBIdDhWkJSDp0pGGZs5jOtb3ixoWeAvPfxUae0/s1600/IMG_2381+stripped+oven+wires.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-GnKDmlvHXDL9TCN3piFG8CRuSvj9XCXzV5dV5DXxvua0_2J0NlP0IVQWeNeAVpC-bbCEEWfo3D6s4p8Ae9fQSUcc2zBUaqhyg1eiOlBIdDhWkJSDp0pGGZs5jOtb3ixoWeAvPfxUae0/s200/IMG_2381+stripped+oven+wires.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUhJvb46czDJrWd4HZtPI6ABinh4Z9YFTPEbQP1qZlTVYZ6Sf21WmLmPBFeafDacCE09EzS-RotQZzmpe77kfoWz4axonNgchhnxvIm9yCdwiWWpOue_lYQOrdO9SnpVNBIS6ZNu6C_Nc/s1600/IMG_2393+oven+drilled+holes.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUhJvb46czDJrWd4HZtPI6ABinh4Z9YFTPEbQP1qZlTVYZ6Sf21WmLmPBFeafDacCE09EzS-RotQZzmpe77kfoWz4axonNgchhnxvIm9yCdwiWWpOue_lYQOrdO9SnpVNBIS6ZNu6C_Nc/s200/IMG_2393+oven+drilled+holes.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUETU-nEDpyt7lZsULHvStmwCrZqGGDoyMf0fYSHvCiQtqdVuq4-8Qz0PXXMzO07wNCyjUczfujnovZxTWP8JkN52iLVpLGQf7y1swz-fiJE6nydBbkVCa_im3wM-mZPMhaAqtC4YMORA/s1600/IMG_2409+oven+drilled+holes.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUETU-nEDpyt7lZsULHvStmwCrZqGGDoyMf0fYSHvCiQtqdVuq4-8Qz0PXXMzO07wNCyjUczfujnovZxTWP8JkN52iLVpLGQf7y1swz-fiJE6nydBbkVCa_im3wM-mZPMhaAqtC4YMORA/s200/IMG_2409+oven+drilled+holes.JPG" width="150" /></a></div>
These are a few photos from preparations of the side space for the replacement controls. As luck would have it, the connections to and between the thermostat and
the timer meant that I would only have to replace two connectors on the
existing wires (high temperature resistant) and could use them in the new
setup. A large air vent for the fan and a few holes for a 5V power supply were drilled in the back wall. Mounts and openings for a controller in the front panel, and holes in the floor for a solid state relay as well. Missing from these images is one more hole in the side wall of the heating chamber for the thermocouple probe. <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLcFzRzCwSb7gsmn2NiKC-LkJFjV1KY6RooAAFtt_VWSwTk5T5121yM4kOo29dlpLBKtCSSpyILd5CEEtkbZr4jzsLey7oitkagDHCDi_nQDY30wEMlCpdr3N_dgBCGoudSZqA9RZ3xeU/s1600/mains+schematic+03.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="675" data-original-width="965" height="139" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLcFzRzCwSb7gsmn2NiKC-LkJFjV1KY6RooAAFtt_VWSwTk5T5121yM4kOo29dlpLBKtCSSpyILd5CEEtkbZr4jzsLey7oitkagDHCDi_nQDY30wEMlCpdr3N_dgBCGoudSZqA9RZ3xeU/s200/mains+schematic+03.PNG" width="200" /></a></div>
This is a schematic of the mains circuitry that replaced the original one. The mains electricity in the Czech Republic is 230V at 50Hz AC. The resistance of the upper heating element was measured to be 37Ω while the bottom element showed 29Ω. The elements are wired in series which means the current passing through the circuit is 3.5A. A 25A zero crossing solid state relay (SSR) operated by a low voltage controller switches the mains branch with the elements on and off. A parallel mains branch feeds a 5V DC power supply unit which provides power to the controller and the fan. The protective earth wire is screwed down to the oven's chassis.<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIV2Z9-DuMJBD-dxmYXEUzzrjNepPKlMbMxrBXxzSQpGV5cFNvQq3yKv6WOLQP4kstz-BH1N5SWy-EwstCdWXdECxdo_TQ4SJ2Lg6uqPSYAZmsjWRczy0pWjZSWnU_esAtoQRAtXR9SPk/s1600/IMG_2385+oven+ssr+holder.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIV2Z9-DuMJBD-dxmYXEUzzrjNepPKlMbMxrBXxzSQpGV5cFNvQq3yKv6WOLQP4kstz-BH1N5SWy-EwstCdWXdECxdo_TQ4SJ2Lg6uqPSYAZmsjWRczy0pWjZSWnU_esAtoQRAtXR9SPk/s200/IMG_2385+oven+ssr+holder.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifFkrfOMATyvClLxW_cPhEZrT3Fg3Ofh2ibG-ty1hF-0DrcpRb0KT3x0bM0Vw83NMT-1q_nwyyPiN-pRTGDwNwhl_5gR6vCngyYLDf80TPdbYEdw9ShouCIY8hC62PYcmK5pVUQAUgHwQ/s1600/IMG_2389+oven+ssr+holder.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifFkrfOMATyvClLxW_cPhEZrT3Fg3Ofh2ibG-ty1hF-0DrcpRb0KT3x0bM0Vw83NMT-1q_nwyyPiN-pRTGDwNwhl_5gR6vCngyYLDf80TPdbYEdw9ShouCIY8hC62PYcmK5pVUQAUgHwQ/s200/IMG_2389+oven+ssr+holder.JPG" width="200" /></a></div>
A 120 by 55 millimeter aluminium plate 1mm in thickness was bent a few times to form a mount for the SSR. The relay was smeared with a thermally conductive paste in the area of contact. Contrary to the label, the DC input voltage limits of the SSR are 3-32V according to the datasheet allowing a 3.3V Arduino ProMini to control it.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHDYw0QJl174onqLR7x2ntywZnQh3oJczG_7DdplrWhDsKMKs804lupsncoDsqVqWWFNvjNeXHbVFO1sjljMeOVXR9hT9XUk5f5ngtUA3xy6TTfeTuWERCRCFVKBzSYm_7xdPKdFUi6Vo/s1600/IMG_2395+crimping+wires+connectors.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHDYw0QJl174onqLR7x2ntywZnQh3oJczG_7DdplrWhDsKMKs804lupsncoDsqVqWWFNvjNeXHbVFO1sjljMeOVXR9hT9XUk5f5ngtUA3xy6TTfeTuWERCRCFVKBzSYm_7xdPKdFUi6Vo/s200/IMG_2395+crimping+wires+connectors.JPG" width="200" /></a></div>
As mentioned, the mains wiring was done with the original cables and a couple new round terminals for the 5V power supply unit. The low voltage wiring used fork terminal and butt splice connectors all secured with a crimping tool.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiOZRaVIhqgmxYLqJrYf_irCiKv0GM2qwG7eFaXQYImDXfW7nGj671_o3GZ3r-PgtQjQzgGY7eqCk7AFwkIoxES6NZ6hxpig92LdWh2lxcT7R4tmgmKxEvm6ThyG6QXgGXvRM9mKj0-6o/s1600/IMG_2373+oven+5v+power+supply.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiOZRaVIhqgmxYLqJrYf_irCiKv0GM2qwG7eFaXQYImDXfW7nGj671_o3GZ3r-PgtQjQzgGY7eqCk7AFwkIoxES6NZ6hxpig92LdWh2lxcT7R4tmgmKxEvm6ThyG6QXgGXvRM9mKj0-6o/s200/IMG_2373+oven+5v+power+supply.JPG" width="200" /></a></div>
Usage of these wall pluggable power supply units to provide power to the low voltage circuits in the other reflow oven build guides seemed like a simple and elegant solution to me, so I followed the same approach. The choice fell on a 5V 1A model which would easily power the controller and the fan.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjInFpn31sn5pD3zz_kP1Z2giNBGbErx42Eo26mXfILIxcSkCuLpK2UMzA_8xL5rtl0htXNzkSa1R8KmTyJtHd-sy81oL6NCXOzyEMUNpue0ceYmY9YCYucEL5oAbvlM35mkYeHJAsdt8E/s1600/controller+schematic+03.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="675" data-original-width="965" height="139" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjInFpn31sn5pD3zz_kP1Z2giNBGbErx42Eo26mXfILIxcSkCuLpK2UMzA_8xL5rtl0htXNzkSa1R8KmTyJtHd-sy81oL6NCXOzyEMUNpue0ceYmY9YCYucEL5oAbvlM35mkYeHJAsdt8E/s200/controller+schematic+03.PNG" width="200" /></a></div>
This is a schematic of the low voltage controller. It was built around a 3.3V Arduino ProMini and it is powered by the 5V unit via the RAW pin. The microcontroller interfaces with a MAX31855 module (SPI), an OLED display (I<sup>2</sup>C), and the SSR (pin D7). Two buttons allow changing settings and starting or halting the reflow process. An LED and a buzzer provide visual and audible notifications. The controller, just like the fan, starts operating the moment the oven's power cord is plugged in the wall power supply.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfNOnW063uXmOLdWxTHgCL4_6ZgalxTYzR_bSkNXKhC26j3HGCBXLn0BOGSfLzuM1i9sfyJs6Ya8FKTfCo9IUSyHHD3Ohb_-0J5HrcwL9kqit6fsxKk89xOjcrqJHDOvmUj45p2thpCoc/s1600/IMG_2195+thermocouple.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfNOnW063uXmOLdWxTHgCL4_6ZgalxTYzR_bSkNXKhC26j3HGCBXLn0BOGSfLzuM1i9sfyJs6Ya8FKTfCo9IUSyHHD3Ohb_-0J5HrcwL9kqit6fsxKk89xOjcrqJHDOvmUj45p2thpCoc/s200/IMG_2195+thermocouple.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4DBjmAeM3liiEF_sc5QLZXp2hNR6ntlWAfvoH8o7ImOVKUn3sa7aVFqWg2kHn35Doquh9Sjze1e_DB521W1KqO_h6rSM9l4Oum6jzMdawu7BkPkVrVY9reyxKzWPu_HoCUT0BxROm_RE/s1600/IMG_2198+thermocouple.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4DBjmAeM3liiEF_sc5QLZXp2hNR6ntlWAfvoH8o7ImOVKUn3sa7aVFqWg2kHn35Doquh9Sjze1e_DB521W1KqO_h6rSM9l4Oum6jzMdawu7BkPkVrVY9reyxKzWPu_HoCUT0BxROm_RE/s200/IMG_2198+thermocouple.JPG" width="200" /></a></div>
The MAX31855 is a thermocouple-to-digital converter with an inbuilt cold junction compensation. In terms of the oven, the module and hence the cold junction are placed in the side space while the thermocouple probe measures inside the heating chamber. Both temperatures are displayed on the OLED screen. This specific module is intended for K-type thermocouples. The wire provided with the module can measure between -73°C and 482°C.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcX3A1rhzZzcrLoRWJswvTVBClO_8deqsmsZUYSpcHqvdztaxQKwmV1UJwE1igAk-SdRwuyWZcsI-KXA3wkVwE6ZS9Gxdv0WFHKx1sur9Z8OTpJtvx_WK0ijogYoKBzgceyTvrQUCegXY/s1600/IMG_2396+oven+controller.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcX3A1rhzZzcrLoRWJswvTVBClO_8deqsmsZUYSpcHqvdztaxQKwmV1UJwE1igAk-SdRwuyWZcsI-KXA3wkVwE6ZS9Gxdv0WFHKx1sur9Z8OTpJtvx_WK0ijogYoKBzgceyTvrQUCegXY/s200/IMG_2396+oven+controller.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPuGi1EYU3bTibKvrCG9ccZcc4_pFY52mmr3OhtYTZXbF6BGmAd_1K16jYJf4VeMHVr-nxxpVvVVxZ3BqudvLKgiHSz0AzofH3_37Y7p9ITFYGVo-YIyp6JG3evnDClXMGVajvP76ZOWI/s1600/IMG_2403+oven+controller.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPuGi1EYU3bTibKvrCG9ccZcc4_pFY52mmr3OhtYTZXbF6BGmAd_1K16jYJf4VeMHVr-nxxpVvVVxZ3BqudvLKgiHSz0AzofH3_37Y7p9ITFYGVo-YIyp6JG3evnDClXMGVajvP76ZOWI/s200/IMG_2403+oven+controller.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLHCKMKiYZwFzsuoIwHiRpZ_tXOW4T_4GEz8GYq5tGSsLV9vyriMlNLW5dDJfxbNlNaf_oF98OjIMSvyG7TlVi5o7sNjpU5vjf2Ys6Eddvj3hKWFLPYew_np6gtuJGFBdKcs_AoY-TJRg/s1600/IMG_2397+oven+controller.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLHCKMKiYZwFzsuoIwHiRpZ_tXOW4T_4GEz8GYq5tGSsLV9vyriMlNLW5dDJfxbNlNaf_oF98OjIMSvyG7TlVi5o7sNjpU5vjf2Ys6Eddvj3hKWFLPYew_np6gtuJGFBdKcs_AoY-TJRg/s200/IMG_2397+oven+controller.JPG" width="150" /></a></div>
The layout and wiring of the finished controller can be seen in the images above. The exposed Arduino allows connecting to a PC and can be easily reprogrammed. The box itself fits onto the oven's front panel.<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjC9hQonseGkexXacNMDeUKT0UrxXOsEo3tu5hkaYuFMHPGYXxAd6qeOo8wJHS2v5LM2aWyUci9ajfjRqxc59c-emVv9yVtCrOEC3RfAHKQ_Usp0meo_tGJZ_AGRj5XakLP33sn7iQ9YdY/s1600/IMG_2428+oven+electronics.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjC9hQonseGkexXacNMDeUKT0UrxXOsEo3tu5hkaYuFMHPGYXxAd6qeOo8wJHS2v5LM2aWyUci9ajfjRqxc59c-emVv9yVtCrOEC3RfAHKQ_Usp0meo_tGJZ_AGRj5XakLP33sn7iQ9YdY/s200/IMG_2428+oven+electronics.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0Bi9DXYDkxF9TOeR7094cI4e9KlUezV2w9ehftvolr40kqs8j8O1B_FhtAb1qJ4JYKXuhTu_kP1OxOMZKgBOS5PCHLqT7R7MBJn9cjX0Sl12rALfijSEIqhdL0uFUmrqVhapYFb8CU28/s1600/IMG_2425+oven+electronics.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0Bi9DXYDkxF9TOeR7094cI4e9KlUezV2w9ehftvolr40kqs8j8O1B_FhtAb1qJ4JYKXuhTu_kP1OxOMZKgBOS5PCHLqT7R7MBJn9cjX0Sl12rALfijSEIqhdL0uFUmrqVhapYFb8CU28/s200/IMG_2425+oven+electronics.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgF98ZxmNl7GEhhP8YI1zueYmis-jYzB_BgALw9N5yeDDZQp4BnSoRyCORpCkVY5HLYOu0gIuV94cAi-TIFc_s3VBhrguuJ1BOtbKGzdRI1hN52GlILZmm4XgEWYf6ggKWjUgR39XAXMC0/s1600/IMG_2421+oven+electronics.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgF98ZxmNl7GEhhP8YI1zueYmis-jYzB_BgALw9N5yeDDZQp4BnSoRyCORpCkVY5HLYOu0gIuV94cAi-TIFc_s3VBhrguuJ1BOtbKGzdRI1hN52GlILZmm4XgEWYf6ggKWjUgR39XAXMC0/s200/IMG_2421+oven+electronics.JPG" width="150" /></a></div>
These images document the final arrangement of the individual parts. The 5V power supply unit was secured to the back wall with the help of a few cable ties. The fan, the SSR and the controller were all screwed down in place.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkqOBIM1rELObelXpfI6ermoVjo6-XouM_SKNXzfHfogKZN7CZdHOhNd9Q2DMK7des0UggQXJ3dfBOHWrIFQgA9QCIBP6B1S6Fo-n-Qgg4GoIFhvTlHr3O7j3WEAb2a0vs99E9x80m_fU/s1600/IMG_2416+oven+electronics.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkqOBIM1rELObelXpfI6ermoVjo6-XouM_SKNXzfHfogKZN7CZdHOhNd9Q2DMK7des0UggQXJ3dfBOHWrIFQgA9QCIBP6B1S6Fo-n-Qgg4GoIFhvTlHr3O7j3WEAb2a0vs99E9x80m_fU/s200/IMG_2416+oven+electronics.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzs0rjPtkf4D8At8_ciZZrmqHEoCsqkMR6VuYHAbNRSOR3N4KonI_cX3rBwZ8nzTiJjfvtB6JZCe6GKcuVdQv2b3LuirMI-epUi8nRXtUA4xJS48R7cOj6he8AUtUtkzn0mwFt7mChPzU/s1600/IMG_2417+oven+electronics.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzs0rjPtkf4D8At8_ciZZrmqHEoCsqkMR6VuYHAbNRSOR3N4KonI_cX3rBwZ8nzTiJjfvtB6JZCe6GKcuVdQv2b3LuirMI-epUi8nRXtUA4xJS48R7cOj6he8AUtUtkzn0mwFt7mChPzU/s200/IMG_2417+oven+electronics.JPG" width="200" /></a></div>
The thermocouple probe was anchored in place with the high temperature sealant from the inside of the heating chamber. And finally, the uninsulated 6.3mm terminals were covered with a see-through heat-shrink tubing.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7eaTIASDrblq8YinLrctYvr_RgOjaPQgfCXnUenLG_PIiyxImXsFaTifU8-3REOJZ79NfbC8_Q2ZoQg4HytbTs_2DMhFIyZoAenJKpJs8pgfpTBTWO0GOhFLPSwUwDiqCHIvwllFJvyg/s1600/IMG_2442+oven+finished.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7eaTIASDrblq8YinLrctYvr_RgOjaPQgfCXnUenLG_PIiyxImXsFaTifU8-3REOJZ79NfbC8_Q2ZoQg4HytbTs_2DMhFIyZoAenJKpJs8pgfpTBTWO0GOhFLPSwUwDiqCHIvwllFJvyg/s200/IMG_2442+oven+finished.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifpoYduw9gqI94JEWna0p1Jzi5Eg1LfnhdXqRXXroB-mWEbvpvl0f7qMD9Ns38jRck13zbbWrDK4AXyd-6QGbO5o8-Qvu7o7tvW3LY0DXZaChEBkQywT41T03MNZBqnq9waSANqss3YNc/s1600/IMG_2439+oven+finished.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifpoYduw9gqI94JEWna0p1Jzi5Eg1LfnhdXqRXXroB-mWEbvpvl0f7qMD9Ns38jRck13zbbWrDK4AXyd-6QGbO5o8-Qvu7o7tvW3LY0DXZaChEBkQywT41T03MNZBqnq9waSANqss3YNc/s200/IMG_2439+oven+finished.JPG" width="200" /></a></div>
This is what the finished oven looks like with the main cover back on.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2zJs2_0xLxQKtHO-E-ZSyeqjqmA5NHd8vevmKuk5G3FAchoblLrEbi56ahLXt9hNsV2xh2-gkMgVRX-X0H10P5YYof0VZclZ1iRlRO5VANQn-pTTDvz3gLmpmnTweNslnRkA5R9xKskw/s1600/IMG_2444+oven+finished.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2zJs2_0xLxQKtHO-E-ZSyeqjqmA5NHd8vevmKuk5G3FAchoblLrEbi56ahLXt9hNsV2xh2-gkMgVRX-X0H10P5YYof0VZclZ1iRlRO5VANQn-pTTDvz3gLmpmnTweNslnRkA5R9xKskw/s200/IMG_2444+oven+finished.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggn7rZvVNtQ_F53wQEMvZYqOS7M-UP28XHXt4ZzcadqtbhehaJ_5XY5VKGjqtcUPBZ2Lep7h9MA_JdRI7xNQMe48NJrYSCE41Hx9DXWujKv_jmSxN17qfdldQ4oie5r6hA9QQZ6blxbG4/s1600/IMG_2448+oven+finished.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggn7rZvVNtQ_F53wQEMvZYqOS7M-UP28XHXt4ZzcadqtbhehaJ_5XY5VKGjqtcUPBZ2Lep7h9MA_JdRI7xNQMe48NJrYSCE41Hx9DXWujKv_jmSxN17qfdldQ4oie5r6hA9QQZ6blxbG4/s200/IMG_2448+oven+finished.JPG" width="150" /></a></div>
And a couple of detailed shots of the controller in the front and the fan in the back.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRxcvPZZEcQs1GT-PnfOPIw7rvNbwi6FYMPN9C5k2HXxjrKjdYvq9sh74CDlfxkp7_QOZwstyec0FmydTkuPC9YLZ3l3wuyBM3DGJmkxLQFB9xOFzh4tsbxyNdDR6maLfOu_H-M_bnSoA/s1600/chart-profile+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="492" data-original-width="726" height="135" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRxcvPZZEcQs1GT-PnfOPIw7rvNbwi6FYMPN9C5k2HXxjrKjdYvq9sh74CDlfxkp7_QOZwstyec0FmydTkuPC9YLZ3l3wuyBM3DGJmkxLQFB9xOFzh4tsbxyNdDR6maLfOu_H-M_bnSoA/s200/chart-profile+01.png" width="200" /></a></div>
The goal of the modifications was to help the oven to replicate a temperature profile required to safely reflow SMD components on a PCB. These profiles, or at least some of the limits, can be found in datasheets of individual parts and specifications of soldering pastes. The ones I came across usually referenced IPC/JEDEC J-STD-020E as the standard they complied with. The chart above shows the minimum and maximum profile length and shape that follow the specification. My intention was to make the oven perform somewhere between the two boundaries. As is apparent from the peak temperature, this is a profile for a lead based soldering paste (Sn63 Pb37) with a lower melting temperature (183°C) than it is in case of the lead-free pastes (217°C with peak profile temperatures around 250°C).<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFzZSecCbxh-ok6Iz7R3JovGdaxTwSfiQheyr24VcGaiz7KTtZ1FYaupBuD5xpO4P53YNcGtx72-9eP4ExY25tU6XZ4GEpXWtVCzeZlf5TCBdz8aqFr5CKndmqmihMCqWdtiia7_AcItY/s1600/IMG_2450+oven+bluetooth.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFzZSecCbxh-ok6Iz7R3JovGdaxTwSfiQheyr24VcGaiz7KTtZ1FYaupBuD5xpO4P53YNcGtx72-9eP4ExY25tU6XZ4GEpXWtVCzeZlf5TCBdz8aqFr5CKndmqmihMCqWdtiia7_AcItY/s200/IMG_2450+oven+bluetooth.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyg2F5DJ2MB7XKNTt6uY5HZgx3nUHbA8yNywU2ghwHRGrj2i0l6cxivDqR-zWQ8BuV_Y_FOpbZ7W8EFwUFbOFL-6XBLSGl6Xu6QoUajRLgLsmaGbfhN470YPAuodDMCBSLPUzarvRwsxA/s1600/IMG_2460+pid+testing.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyg2F5DJ2MB7XKNTt6uY5HZgx3nUHbA8yNywU2ghwHRGrj2i0l6cxivDqR-zWQ8BuV_Y_FOpbZ7W8EFwUFbOFL-6XBLSGl6Xu6QoUajRLgLsmaGbfhN470YPAuodDMCBSLPUzarvRwsxA/s200/IMG_2460+pid+testing.JPG" width="150" /></a></div>
To help with developing the oven's controller, the Arduino was connected to an SPP-C Bluetooth module which periodically transmitted tracked data. The current time as measured by the Arduino, the thermocouple temperature, the cold-junction temperature, the deviation of the thermocouple temperature to the desired temperature, the proportional, integral and derivative components of a PID controller, and so on. Some of the information was accessible through the OLED display as well.<br />
<br />
The code I came up with was based around a 25ms interrupt routine running in the background. The SSR required crossing a zero voltage level to switch its state which with a 50Hz power supply put a limit of 10ms on how quickly it could break or close the heating element circuit. When the red button was pressed, the Arduino started regular 250ms cycles (every tenth interrupt) at the start of which it measured the thermocouple temperature and decided on a duty cycle for the remainder of the 250ms period. Since the interrupt was set to fire every 25ms, the duty cycle could be chosen in 10% increments.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1uyTRq6rrbnm84J2mOddnX-xLLo2AO6-pDIFvpgfyUkq0uCh-zL29eAcxMnhrTWQA2KhLs9xzL4-7SrF5-VSR6uaBj02FWgZmaGbvWtRsnZsjD6Dge6hlE8m96zl5FYNfQSU087Fx3Jw/s1600/chart-duty+cycle+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="495" data-original-width="729" height="135" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1uyTRq6rrbnm84J2mOddnX-xLLo2AO6-pDIFvpgfyUkq0uCh-zL29eAcxMnhrTWQA2KhLs9xzL4-7SrF5-VSR6uaBj02FWgZmaGbvWtRsnZsjD6Dge6hlE8m96zl5FYNfQSU087Fx3Jw/s200/chart-duty+cycle+01.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGqUoiyX4TXsrGS0Egjbb1jM_I34ZGzcHLBhWSl1y9UsLkxDC4PiuIxb5n-OBTJVrJqTzOsYGpL7uRmRX9-UShKrvPUjnajJhPwKcETfILFlIQrRgGK6DqMUKUu6T5wPVQLIY1YYh3VXo/s1600/IMG_2455+shielded+thermocouple.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGqUoiyX4TXsrGS0Egjbb1jM_I34ZGzcHLBhWSl1y9UsLkxDC4PiuIxb5n-OBTJVrJqTzOsYGpL7uRmRX9-UShKrvPUjnajJhPwKcETfILFlIQrRgGK6DqMUKUu6T5wPVQLIY1YYh3VXo/s200/IMG_2455+shielded+thermocouple.JPG" width="200" /></a></div>
First of all, I carried out fixed duty cycle measurements to get an idea of what the oven could do. The solid lines represent situations where the thermocouple was freely hovering above the aluminium plate. While taping the probe to the plate (alu tape) is documented by the respective dashed lines. I also tried shielding the tip of the thermocouple with a roll of the aluminium tape, but it had little impact on the measurements.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmGMSZUyqU8XN6kDmaSmNe4M62TV-BHQdUGPTSA65u6VQYegTpsuklutUgkC2Ms7HEM9QrMk5aZT2mo3DMTDd0tRGoiFpoo3-svYGTqYyVWuxkbXbJAFB4GOGCA7s8lTUFs45DSlScD7w/s1600/chart-pid+02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="496" data-original-width="726" height="136" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmGMSZUyqU8XN6kDmaSmNe4M62TV-BHQdUGPTSA65u6VQYegTpsuklutUgkC2Ms7HEM9QrMk5aZT2mo3DMTDd0tRGoiFpoo3-svYGTqYyVWuxkbXbJAFB4GOGCA7s8lTUFs45DSlScD7w/s200/chart-pid+02.png" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
As the first attempt to control the temperature profile, I wrote a simple PID algorithm. A very nice explanation of a basic PID code can be found at this <a href="http://brettbeauregard.com/blog/2011/04/improving-the-beginners-pid-introduction/">link</a>. In practice, it meant that the interrupt routine wouldn't assign a fixed duty cycle in the regular 250ms cycles, but would rather compute the proportional, integral and derivative portions based on a setpoint temperature, multiply them with respective terms (Kp, Ki, Kd), and arrive at the desired duty cycle in this way. The chart above illustrates one specific setting of the terms (Kp=0.5, Ki=0.05, Kd=0.0) in two configurations. First, with the thermocouple in free air and second, coupled to the aluminium plate. From the data and further attempts, it became apparent that the oven wasn't powerful enough to allow the controller to do too much, and that there was possibly a simpler approach to reproducing the desired profile. <br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRklor_FmE6FihwJ4tt2Kh4TLv8ZZ4P5B5ffBPLZNrpsugV6ewg-VFOezv3x0L2_gfB9NVOjueLm_-9QjQOWmYn71T8QX8hc6ancW9wRgRZzlPXM9b-zld4agJhWSHoMvPnTYXmWBhbzg/s1600/chart-temp+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="496" data-original-width="931" height="106" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRklor_FmE6FihwJ4tt2Kh4TLv8ZZ4P5B5ffBPLZNrpsugV6ewg-VFOezv3x0L2_gfB9NVOjueLm_-9QjQOWmYn71T8QX8hc6ancW9wRgRZzlPXM9b-zld4agJhWSHoMvPnTYXmWBhbzg/s200/chart-temp+01.png" width="200" /></a></div>
Seeing that to approach the desired temperature progression, the oven had to often work at 100% duty cycle, I came up with a simpler method which divided the process into several zones with their own duty cycles. The chart above illustrates one specific zone/duty cycle setting with the thermocouple in free air, taped to the plate, and taped to a small PCB which was supported in corners by four other PCBs to avoid touching the plate directly. Upon pressing the start button, the oven entered a Warm-up zone where it ran at 100% duty cycle until it reached 50°C. Then switched to a Preheating zone and continued at 100% duty cycle to 150°C. A Soaking zone with 60% duty cycle followed all the way to 180°C. Then a Ramp-up zone at 100% duty cycle again, and finally, after reaching 225°C, a Reflow zone with 30% duty cycle lasting 15 seconds. After that the elements were shut down and the glass door was opened. All temperature levels and duty cycles can be easily changed in the code if needed.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGzDcnSxOr9yXwU16Cq1Lul1OKJW1au0GWMSDGo1tRZRm0BfsVURyLkYEIBy4kRx5XBSQgmJreRT7hyPGt560-lMgjb7XsffWO3jfYyTU1LON0HUYW4YkGemTRqAx5SS5TKNK3iUNyW2c/s1600/IMG_2472+pcb+spacers.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGzDcnSxOr9yXwU16Cq1Lul1OKJW1au0GWMSDGo1tRZRm0BfsVURyLkYEIBy4kRx5XBSQgmJreRT7hyPGt560-lMgjb7XsffWO3jfYyTU1LON0HUYW4YkGemTRqAx5SS5TKNK3iUNyW2c/s200/IMG_2472+pcb+spacers.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQAfqb-Bz5WyPSY-yNuiBITem20Ddpy_hhiugxtHu4KqM5XkF9GpALW3dfOq5qljsxX71uDeD6ahVDxRp_legfFcGJV3_LWAC5Usm0m_9mUOSNTnDvGLLnZmNKiDwGPAZ_TfonHyjbVpg/s1600/IMG_2466+pcb+spacers.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQAfqb-Bz5WyPSY-yNuiBITem20Ddpy_hhiugxtHu4KqM5XkF9GpALW3dfOq5qljsxX71uDeD6ahVDxRp_legfFcGJV3_LWAC5Usm0m_9mUOSNTnDvGLLnZmNKiDwGPAZ_TfonHyjbVpg/s200/IMG_2466+pcb+spacers.JPG" width="200" /></a></div>
As can be seen from the previous data, the process is strongly dependent on where the temperature is measured. The aluminium plate is quite thermally massive, and when a PCB is laid directly on it, it conducts heat away from the PCB. A possible way to limit this thermal coupling is using a less conductive material to support the PCB above the plate. As the images above document, I tried four smaller boards while minimizing the contact between them and the target PCB.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiV5pS1efKQeBJG99HbDdFazVLWxdBOYjDD4VuL4th1v2eJp6C539SmU6TqDErCdvdu84fROuKCOgmjAmIjCFICoVkglz-mwPansDzTSAhpNU_VdITYzFARbjofSeZWF-lwgzQ29EcEEuI/s1600/IMG_2474+mcu+coupled.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiV5pS1efKQeBJG99HbDdFazVLWxdBOYjDD4VuL4th1v2eJp6C539SmU6TqDErCdvdu84fROuKCOgmjAmIjCFICoVkglz-mwPansDzTSAhpNU_VdITYzFARbjofSeZWF-lwgzQ29EcEEuI/s200/IMG_2474+mcu+coupled.JPG" width="200" /></a></div>
One of the tutorials also mentioned that in case of a joint control of the bottom and the top element, in other words lacking the ability to control the elements' duty cycles separately, the parts on top of the PCB could be overheating due to uneven direct absorption while the PCB itself is still approaching the target temperatures. To test this, I taped the thermocouple probe to an MCU on an old PCB as in the image above.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEil-n7NmVU68EkHoot8bkvIOFK193WKVpVrpEi916E_yw9frWkuUL-TbNJkJBp6Fqrie-T7_ql9JKeI4fuYGNElKLvx1kn5iFxLAxcxBj9i2y40CK8jUlbJ3UrtGLzA2uMgmus7vQ2IapY/s1600/chart-hunred+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="492" data-original-width="726" height="135" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEil-n7NmVU68EkHoot8bkvIOFK193WKVpVrpEi916E_yw9frWkuUL-TbNJkJBp6Fqrie-T7_ql9JKeI4fuYGNElKLvx1kn5iFxLAxcxBj9i2y40CK8jUlbJ3UrtGLzA2uMgmus7vQ2IapY/s200/chart-hunred+01.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgijZY34LACsyfhYhqVtt2PPVCS6rexkW41iQmgMRStXC2qMdrSGSiQ2UW01ImU_jeFxgRkW-A7gz03Pw7sPH2GLoixt6kNGrS59rJhTb5qWMYAaxjc-pu2WnVG_Rl3YAc0u-ZSi8pPVOg/s1600/IMG_2480+larger+pcb+spacers.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgijZY34LACsyfhYhqVtt2PPVCS6rexkW41iQmgMRStXC2qMdrSGSiQ2UW01ImU_jeFxgRkW-A7gz03Pw7sPH2GLoixt6kNGrS59rJhTb5qWMYAaxjc-pu2WnVG_Rl3YAc0u-ZSi8pPVOg/s200/IMG_2480+larger+pcb+spacers.JPG" width="200" /></a></div>
This chart is a comparison of different placing of the thermocouple probe. The measurements were all done with the oven running at 100% duty cycle. The naked probe free air situation (blue) is very similar to shielding the probe with a roll of the aluminium tape (purple) - also hovering in free air. The yellow and red curves show a significant difference between a smaller PCB (30x22x1.6mm) and a larger one (70x30x1.6mm) with uncovered ground plane, both supported in corners by four other boards. In case of the larger PCB, the temperature progression approached the one of the aluminium plate itself (brown). The temperature of an MCU (green) soldered to the larger PCB then suggests that, in deed, there was uneven heating between the board's ground plane and the component which settled at a 30°C difference.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEin5Ft9LPg-vPrj8j0EQVgAPFf6vXVq78OvSz5Nrwag99mCkvXy6rnd_QQ8WwsorqEVlhofWVxXlX1cRlBubZebiolJzwlZ3szIx3ZSqeUnxoysN9b5LTtFlcc2942sGPTaI2XnvsdiI-A/s1600/chart-time+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="493" data-original-width="727" height="135" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEin5Ft9LPg-vPrj8j0EQVgAPFf6vXVq78OvSz5Nrwag99mCkvXy6rnd_QQ8WwsorqEVlhofWVxXlX1cRlBubZebiolJzwlZ3szIx3ZSqeUnxoysN9b5LTtFlcc2942sGPTaI2XnvsdiI-A/s200/chart-time+01.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEtiZZJJCBZbGwJKXgpF0DZAO8e5robGLBVi02uJJOG0Q5MqyzZtYFRxlGgAzsWMgY0MQrUjbgFZU-iH_2F1nKOjYp1eENtrpwJ8SgmmAZxHUPHPt_AQ_UBkTMQy3SZFsLyQwFxkoPy-s/s1600/chart-time+02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="493" data-original-width="727" height="135" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEtiZZJJCBZbGwJKXgpF0DZAO8e5robGLBVi02uJJOG0Q5MqyzZtYFRxlGgAzsWMgY0MQrUjbgFZU-iH_2F1nKOjYp1eENtrpwJ8SgmmAZxHUPHPt_AQ_UBkTMQy3SZFsLyQwFxkoPy-s/s200/chart-time+02.png" width="200" /></a></div>
To eliminate the impact of thermocouple placing, I eventually moved on to temperature independent time and duty cycle based control. The previously acquired data served as the basis for choosing the new settings. In the first case (chart on the left) once the temperature rises above 50°C, the oven runs at a 100% duty cycle for the next 70 seconds (Preheating), then reduces the duty cycle to 50% for another 100 seconds (Soaking), the next 60 second period heats up the chamber at a 100% duty cycle again (Ramp-up), and the peak lasts for 15 seconds at a 30% duty cycle. After that, the glass door is opened and the heating elements switched off (Cooling). In the second case (chart on the right), the Preheating phase is prolonged to 80 seconds and the Soaking phase to 150 seconds with its duty cycle increased to 60%. The charts then illustrate what impact this control has on the free air, small PCB (supported by other boards), large PCB (also supported), MCU and plate temperatures. In the second chart the measured MCU temperature peaked at 262°C which may be just above the absolute limit I've seen a number of microcontrollers to have in their datasheets.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBn5-IAmFpzt1CbsQNqREC0I-LsHmy1FqfMEWWXmPdkQPvoR6G4mxhSinvtL-z2DgIx9XrixQx71lPQNG9XwzrqZqvcruftaS2nY3dC-DzIJACAUbWHregaZWYyXjqgMp3D7mVUZ8s0RU/s1600/IMG_2481+first+reflow.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBn5-IAmFpzt1CbsQNqREC0I-LsHmy1FqfMEWWXmPdkQPvoR6G4mxhSinvtL-z2DgIx9XrixQx71lPQNG9XwzrqZqvcruftaS2nY3dC-DzIJACAUbWHregaZWYyXjqgMp3D7mVUZ8s0RU/s200/IMG_2481+first+reflow.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4C8fiBFva3_Ivh_vi7Hj3jo7TQs5KDqtKpMhYsrdFTCcmJxki1WDV9NhHTbo_YZRGkzn6_564UfaUw2M5Y23lk2fXy98NZ1lYSA4ao-xWDoaECLTvElAP3OZwnmab-NsSJF4e_NjdYt8/s1600/IMG_2487+first+reflow.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4C8fiBFva3_Ivh_vi7Hj3jo7TQs5KDqtKpMhYsrdFTCcmJxki1WDV9NhHTbo_YZRGkzn6_564UfaUw2M5Y23lk2fXy98NZ1lYSA4ao-xWDoaECLTvElAP3OZwnmab-NsSJF4e_NjdYt8/s200/IMG_2487+first+reflow.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilj0CCSVQRdlfKdeTABk3v5wdqFVusVkEk_kRaYAtCp8DdNIeCk_AwaUw60hSuH5-CiryhkdiGYbe9n1bJ3Wmeiq_RL_yvwQszn3VkGIEkAElrrreRcpObuKtm-ZVmu6uYDfQEjGlYD38/s1600/IMG_2484+first+reflow.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilj0CCSVQRdlfKdeTABk3v5wdqFVusVkEk_kRaYAtCp8DdNIeCk_AwaUw60hSuH5-CiryhkdiGYbe9n1bJ3Wmeiq_RL_yvwQszn3VkGIEkAElrrreRcpObuKtm-ZVmu6uYDfQEjGlYD38/s200/IMG_2484+first+reflow.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7wrkTacJ59iCwQU2vMjrZAkBYVq6yUTgQA0BYujC9hRb4BvGiXOBhcRrgLcFNVXCo91bvxBJLllXpbLJXUaHW9DHDMEEv28_tpEIxF-Ugca-GYQAR_xkFFUphiqPlCL8cQZtftj0pih4/s1600/IMG_2485+first+reflow.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7wrkTacJ59iCwQU2vMjrZAkBYVq6yUTgQA0BYujC9hRb4BvGiXOBhcRrgLcFNVXCo91bvxBJLllXpbLJXUaHW9DHDMEEv28_tpEIxF-Ugca-GYQAR_xkFFUphiqPlCL8cQZtftj0pih4/s200/IMG_2485+first+reflow.JPG" width="200" /></a></div>
Backed by the latest data, I finally did the first actual soldering test. A small 1.6mm thick board with a few components and loosely applied leaded paste was used. The paste was actually a year past its expiration date. Nevertheless, the shorter time based profile managed to reflow the components just fine as visible in the image above.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTF00HqnTtBP6WCI81Wb6mVFNFVye67__743KBv6POIG82P40Iow8hp5o5RXLdUDKgDxoqfod0fnTWN7uQ5birwb5SAtJ0nlmEgAEU9ztrjtc1hmnB6bfz9-0zU2lfaGFutGwBNUzJs9k/s1600/IMG_2493+final+test.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTF00HqnTtBP6WCI81Wb6mVFNFVye67__743KBv6POIG82P40Iow8hp5o5RXLdUDKgDxoqfod0fnTWN7uQ5birwb5SAtJ0nlmEgAEU9ztrjtc1hmnB6bfz9-0zU2lfaGFutGwBNUzJs9k/s200/IMG_2493+final+test.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHIM-rsY-bHo3y_sgiLDNNoMZONhK66dOL3RQFvgjGHL0TIg9LQFg6NTNMIRwap84HI4p0L51JpakgBgYLE4qr5v9ZuYxZjiUBVhiF0FPf0aRXwmxlcyPzFJm8ueUq6NeixJ3oQVW4ZpA/s1600/IMG_2495+final+test.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHIM-rsY-bHo3y_sgiLDNNoMZONhK66dOL3RQFvgjGHL0TIg9LQFg6NTNMIRwap84HI4p0L51JpakgBgYLE4qr5v9ZuYxZjiUBVhiF0FPf0aRXwmxlcyPzFJm8ueUq6NeixJ3oQVW4ZpA/s200/IMG_2495+final+test.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgL71roEE5ki_wH7qO8KFj3_XJ2lHXfbm1Qyx6jEvVnsWW9FrSHXwGLTWJHQpC9B1U_shVIzQmZa5EEj8ZTqawy9XiM0Z-X1JRENN4VwXzDuu3RCyKMcGkLVOi0u0D43cljMrAycYVMDj8/s1600/IMG_2498+final+test.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgL71roEE5ki_wH7qO8KFj3_XJ2lHXfbm1Qyx6jEvVnsWW9FrSHXwGLTWJHQpC9B1U_shVIzQmZa5EEj8ZTqawy9XiM0Z-X1JRENN4VwXzDuu3RCyKMcGkLVOi0u0D43cljMrAycYVMDj8/s200/IMG_2498+final+test.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyT0nvUSP_y4V7RxroKZa6jZIoDIJSzM9Jegw4KSdW6AeCp2j9DNV_E2bl4ZCyiS8x4fI-ma4VvWMovtez7Z48PAEQ8nZfdihDUZciPDdAPDIE-UCmG8Hgoeh7FAAFsI9xAsRYmdvBwUQ/s1600/IMG_2499+final+test.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyT0nvUSP_y4V7RxroKZa6jZIoDIJSzM9Jegw4KSdW6AeCp2j9DNV_E2bl4ZCyiS8x4fI-ma4VvWMovtez7Z48PAEQ8nZfdihDUZciPDdAPDIE-UCmG8Hgoeh7FAAFsI9xAsRYmdvBwUQ/s200/IMG_2499+final+test.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFxGLUWsl2m77syW-zf4xzdRogm7ktI3C6Hi-a9m7oEjUUf9bjhJgB6x-x17DEFD-cr5j5ime5lMtujKFzf1oNEjuQS-CSIjDz4Dl9fSHAgKCi0Ln1LJtoByelTVBSWqDXVR8eJ1l6ML8/s1600/IMG_2501+final+test.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFxGLUWsl2m77syW-zf4xzdRogm7ktI3C6Hi-a9m7oEjUUf9bjhJgB6x-x17DEFD-cr5j5ime5lMtujKFzf1oNEjuQS-CSIjDz4Dl9fSHAgKCi0Ln1LJtoByelTVBSWqDXVR8eJ1l6ML8/s200/IMG_2501+final+test.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1L-U2V0Md5m2788Gdzr-r988G9IAk72UhcRObHCtm8iIiHM8JyZDf7ef59RnTmtCJmRS8UsG7ZvJgu2MPW0gPcIArCVeMiCKFnRCibREQlPpGsf61dtUsoVse7RjvkZOdJKQ7kD-FGs4/s1600/IMG_2502+final+test.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1L-U2V0Md5m2788Gdzr-r988G9IAk72UhcRObHCtm8iIiHM8JyZDf7ef59RnTmtCJmRS8UsG7ZvJgu2MPW0gPcIArCVeMiCKFnRCibREQlPpGsf61dtUsoVse7RjvkZOdJKQ7kD-FGs4/s200/IMG_2502+final+test.JPG" width="200" /></a></div>
Following that, I did a final test to see whether the area of the plate was heated evenly. Five identical PCBs, this time 1mm in thickness, were distributed in the middle and in all four corners. Without a stencil the paste was smeared over the pads somewhat leisurely which could possibly explain why one of the resistors from the far left corner had reflown a little crooked. Otherwise, the result seemed satisfactory.<br />
<br />
I imagine that ideal profile settings may vary a little depending on the actual PCB and components being reflown. Doing a couple of test before reflowing a new type of board may be a good idea. <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvgoDrNfwJXjucwYqnW-3zF7GW5ZHAWu1tX-nJuZ4UHlwsbY1PPwbbS35lZToLYxez1Kk8HnEwXRnhftSGhH1fMY-zqWeDf6RYjCa_bosv5-LCdrKRaowuGY-p2lgNwRwR4J0v_kZ2wQI/s1600/chart-time+dc+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="414" data-original-width="624" height="132" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvgoDrNfwJXjucwYqnW-3zF7GW5ZHAWu1tX-nJuZ4UHlwsbY1PPwbbS35lZToLYxez1Kk8HnEwXRnhftSGhH1fMY-zqWeDf6RYjCa_bosv5-LCdrKRaowuGY-p2lgNwRwR4J0v_kZ2wQI/s200/chart-time+dc+01.png" width="200" /></a></div>
Looking at the consumption, the controller (20mA at 5V) and the fan (185mA at 5V) run continuously when the oven is plugged in the mains supply, but represent the much smaller portion in comparison to the heating elements (3.47A at 230V). Factoring in the duty cycle of the shorter time based profile, the oven consumes 49.9Wh of electrical energy per one run.<br />
<style type="text/css">
.tg {border-collapse:collapse;border-spacing:0;border-color:#ccc;}
.tg td{font-family:Arial, sans-serif;font-size:12px;padding:5px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#ccc;color:#333;background-color:#fff;}
.tg th{font-family:Arial, sans-serif;font-size:12px;font-weight:normal;padding:5px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#ccc;color:#333;background-color:#f0f0f0;}
.tg .tg-lyy6{text-align:right;vertical-align:top}
.tg .tg-yw47{vertical-align:top}
</style>
<br />
<table align="center" class="tg">
<tbody>
<tr>
<td class="tg-yw47">Tristar OV-1431</td>
<td class="tg-lyy6">27.2</td>
<td class="tg-yw47">MAX31855 thermcpl.</td>
<td class="tg-lyy6">23.4</td>
</tr>
<tr>
<td class="tg-yw47">Fiberglass Blanket</td>
<td class="tg-lyy6">7.4</td>
<td class="tg-yw47">SSR-2528ZD3</td>
<td class="tg-lyy6">10.2</td>
</tr>
<tr>
<td class="tg-yw47">Stove Sealant</td>
<td class="tg-lyy6">4.7</td>
<td class="tg-yw47">5V Power Supply</td>
<td class="tg-lyy6">4.3</td>
</tr>
<tr>
<td class="tg-yw47">Aluminium Tape</td>
<td class="tg-lyy6">5.5</td>
<td class="tg-yw47">5V Fan</td>
<td class="tg-lyy6">2.6</td>
</tr>
<tr>
<td class="tg-yw47">Gasket</td>
<td class="tg-lyy6">1.4</td>
<td class="tg-yw47">OLED Display</td>
<td class="tg-lyy6">2.3</td>
</tr>
<tr>
<td class="tg-yw47">Aluminium Plate</td>
<td class="tg-lyy6">3.1</td>
<td class="tg-yw47">Arduino ProMini</td>
<td class="tg-lyy6">1.7</td>
</tr>
<tr>
<td class="tg-yw47">Aluminium Mount</td>
<td class="tg-lyy6">0.4</td>
<td class="tg-yw47">Buzzer, LED, Resistors</td>
<td class="tg-lyy6">0.6</td>
</tr>
<tr>
<td class="tg-yw47">Nuts, Screws</td>
<td class="tg-lyy6">2.0</td>
<td class="tg-yw47">Box w/ universal PCB</td>
<td class="tg-lyy6">2.3</td>
</tr>
<tr>
<td class="tg-yw47">Thermal Paste</td>
<td class="tg-lyy6">1.1</td>
<td class="tg-yw47">Heat-Shrink Tubing</td>
<td class="tg-lyy6">1.5</td>
</tr>
<tr>
<td class="tg-yw47">Shipping</td>
<td class="tg-lyy6">10.5</td>
<td class="tg-yw47">Crimp Connectors</td>
<td class="tg-lyy6">3.8</td>
</tr>
<tr>
<td class="tg-yw47"></td>
<td class="tg-yw47"></td>
<td class="tg-yw47">Total</td>
<td class="tg-lyy6">€116.0</td>
</tr>
</tbody></table>
<br />
Finally, the bill of components and materials is summarized in the table above (all costs are in Euros). Almost everything was sourced locally in the Czech Republic. Only the OLED display and the Arduino were ordered on Ebay.<br />
<br />
The Arduino script running the oven can be found on github: <a href="https://github.com/TomasTT7/Reflow_Oven/blob/master/ProMini_Reflow_Oven.ino">ProMini_Reflow_Oven.ino</a>TT7http://www.blogger.com/profile/11095378058232471221noreply@blogger.com4tag:blogger.com,1999:blog-7063183727921268380.post-46958690044078249412018-04-30T13:48:00.000+02:002018-09-08T03:26:59.118+02:00The LoRa SSDVA year ago, I wrote a blog <a href="http://tt7hab.blogspot.com/2017/03/ssdv-slow-scan-digital-video.html">post</a> about transmitting small SSDV images over a relatively slow RTTY link. Already back then, I was aware of the limitations and that there were solutions with better image quality and higher transmission speeds. Particularly, <a href="http://www.daveakerman.com/">Dave Akerman's</a> approach developed around small accessible LoRa modules raised my interest. I ordered a pair, a new camera, and started experimenting. This blog post now summarizes what I eventually came up with.<br />
<br />
<br />
<b>LoRa - Long Range</b><br />
LoRa is a name for a patented modulation scheme present in Semtech's transceiver ICs and a variety of ready-made modules. Although, there have been successful attempts to demodulate and decode LoRa transmissions with a software defined radio and an extra module for GNU Radio, I am not aware of it being implemented into any of the widespread SDR applications so far. So the surest way of doing something with LoRa, for now, is having two modules. <br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
In principle, all that needs to be done to establish a simple link is interconnecting the LoRa module with a microcontroller via an SPI interface, configuring the transmit frequency and specific modulation parameters, and then simply feeding the module packets of data. The IC does all the encoding and modulating on its own. On the receiving side, a microcontroller configures another LoRa module with the same parameters, switches it to RX Continuous mode, and either waits for an interrupt signalling a received packet, or repeatedly polls for RxDone flag which signals the same. In more complex scenarios, the receiving module can mostly sleep and receive only at certain times. Or the two modules can be time synchronized to allow two-way communication switching between receive and transmit modes of operation.<br />
<br />
<b>Parameters.</b> The modulation parameters mentioned previously determine the signal's 'appearance' in the frequency spectrum and affect the transmission's potential range, its bit rate and interference resilience. They are spreading factor, modulation bandwidth and error coding rate. Spreading factor determines how many bits are encoded into each transmitted symbol (6 to 12). Higher values slow down the data rate and increase range. Bandwidth sets the amount of occupied spectrum by the modulation. It ranges from 7.8kHz to 500kHz with higher bandwidths increasing the data rate. And finally, error coding rate represents the amount of additional data sent with each packet to perform forward error correction at the receiver. The selectable data overhead ratio ranges from 1.25 (4/5) to 2.00 (4/8). In this case, larger the overhead, more corrupt bits the algorithm can correct. There is also an option to select between explicit and implicit header mode which decides whether the transmitted packet includes information about its length, its FEC rate, and whether it includes a CRC or not. Transmissions with spreading factor 6, for example, always require the use of implicit header mode.<br />
<style type="text/css">
.tg {border-collapse:collapse;border-spacing:0;border-color:#ccc;}
.tg td{font-family:Arial, sans-serif;font-size:12px;padding:5px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#ccc;color:#333;background-color:#fff;}
.tg th{font-family:Arial, sans-serif;font-size:12px;font-weight:normal;padding:5px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#ccc;color:#333;background-color:#f0f0f0;}
.tg .tg-lzy6{text-align:right;vertical-align:top;width:16.6%}
.tg .tg-9zbo{font-weight:bold;vertical-align:top;width:16.6%}
.tg .tg-azwm{font-weight:bold;text-align:center;vertical-align:top;width:16.6%}
.tg .tg-yz4l{vertical-align:top;width:16.6%}
.tg .tg-lzy7{text-align:right;vertical-align:top;width:20.0%}
.tg .tg-9zbp{font-weight:bold;vertical-align:top;width:20.0%}
.tg .tg-azwn{font-weight:bold;text-align:center;vertical-align:top;width:20.0%}
.tg .tg-yz42{vertical-align:top;width:20.0%}
.tg .tg-lzy8{text-align:right;vertical-align:top;width:10.0%}
.tg .tg-9zbq{font-weight:bold;vertical-align:top;width:10.0%}
.tg .tg-azwo{font-weight:bold;text-align:center;vertical-align:top;width:10.0%}
.tg .tg-yz43{vertical-align:top;width:10.0%}
</style>
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-9zbo">Mode</th>
<th class="tg-9zbo">Header</th>
<th class="tg-9zbo">BW [kHz]</th>
<th class="tg-9zbo">ECR</th>
<th class="tg-9zbo">SF</th>
<th class="tg-9zbo">BR [bps]</th>
</tr>
<tr>
<td class="tg-azwm">0</td>
<td class="tg-yz4l">explicit</td>
<td class="tg-lzy6">20.8</td>
<td class="tg-lzy6">4/8</td>
<td class="tg-lzy6">11</td>
<td class="tg-lzy6">43</td>
</tr>
<tr>
<td class="tg-azwm">1</td>
<td class="tg-yz4l">implicit</td>
<td class="tg-lzy6">20.8</td>
<td class="tg-lzy6">4/5</td>
<td class="tg-lzy6">6</td>
<td class="tg-lzy6">1476</td>
</tr>
<tr>
<td class="tg-azwm">2</td>
<td class="tg-yz4l">explicit</td>
<td class="tg-lzy6">62.5</td>
<td class="tg-lzy6">4/8</td>
<td class="tg-lzy6">8</td>
<td class="tg-lzy6">915</td>
</tr>
<tr>
<td class="tg-azwm">3</td>
<td class="tg-yz4l">explicit</td>
<td class="tg-lzy6">250.0</td>
<td class="tg-lzy6">4/6</td>
<td class="tg-lzy6">7</td>
<td class="tg-lzy6">8509</td>
</tr>
<tr>
<td class="tg-azwm">4</td>
<td class="tg-yz4l">implicit</td>
<td class="tg-lzy6">250.0</td>
<td class="tg-lzy6">4/5</td>
<td class="tg-lzy6">6</td>
<td class="tg-lzy6">17738</td>
</tr>
<tr>
<td class="tg-azwm">5</td>
<td class="tg-yz4l">explicit</td>
<td class="tg-lzy6">41.7</td>
<td class="tg-lzy6">4/8</td>
<td class="tg-lzy6">11</td>
<td class="tg-lzy6">104</td>
</tr>
<tr>
<td class="tg-azwm">6</td>
<td class="tg-yz4l">implicit</td>
<td class="tg-lzy6">41.7</td>
<td class="tg-lzy6">4/5</td>
<td class="tg-lzy6">6</td>
<td class="tg-lzy6">2959</td>
</tr>
<tr>
<td class="tg-azwm">7</td>
<td class="tg-yz4l">explicit</td>
<td class="tg-lzy6">20.8</td>
<td class="tg-lzy6">4/5</td>
<td class="tg-lzy6">7</td>
<td class="tg-lzy6">841</td>
</tr>
<tr>
<td class="tg-azwm">8</td>
<td class="tg-yz4l">implicit</td>
<td class="tg-lzy6">62.5</td>
<td class="tg-lzy6">4/5</td>
<td class="tg-lzy6">6</td>
<td class="tg-lzy6">4435</td>
</tr>
<tr>
<td class="tg-azwm">9</td>
<td class="tg-yz4l">implicit</td>
<td class="tg-lzy6">500.0</td>
<td class="tg-lzy6">4/5</td>
<td class="tg-lzy6">6</td>
<td class="tg-lzy6">35476</td>
</tr>
</tbody></table>
<br />
Since there already was a widespread LoRa based system for high altitude ballooning in the form of Dave Akerman's PITS, I adopted the nine 'LoRa modes' already in use, so my transmitters would be compatible. I added Mode 9 on top of that for testing the highest data rate configuration LoRa provides. The table above summarizes the parameters of individual modes and provides a calculation of an effective bit rate. The equations can be found in the IC's datasheet, and the bit rate value is valid for a 255 byte packet (one SSDV packet for example). Since this is not actual bit rate, but a value derived from time on air of such packet divided by the size of only the payload data, the effective bit rate decreases with less data sent by the user. For example, when transmitting only a 50 byte packet (short UKHAS style telemetry string) in Mode 4 the effective bit rate decreases from 17738 to 14302 bps.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkeLoifUIpVyubYKkhlCNFLhYBHTf2uXwD9WUwyR6OpQipfDm4HX91_6ldst_CEOa3yyvtMvDogsk_KXKvhF_LgADIbQInJaCiOAGJAIVgyVuphd31Cwx_jfsKIf7jsey6qdqjcraUTKs/s1600/SDRsharp+LoRa+Mode+0+03.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="383" data-original-width="319" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkeLoifUIpVyubYKkhlCNFLhYBHTf2uXwD9WUwyR6OpQipfDm4HX91_6ldst_CEOa3yyvtMvDogsk_KXKvhF_LgADIbQInJaCiOAGJAIVgyVuphd31Cwx_jfsKIf7jsey6qdqjcraUTKs/s200/SDRsharp+LoRa+Mode+0+03.jpg" width="166" /></a></div>
<b>Modulation.</b> To provide some visual aid, the above is a screen grab of a Mode 0 packet in SDRsharp's waterfall (horizontal axis represents frequency, vertical axis time). The signal is comprised of a series of up-chirps and down-chirps all within the selected bandwidth. Data is then represented by instantaneous changes in frequency between individual chirps. All of this including the whole demodulation and decoding process is brilliantly described in <a href="https://www.youtube.com/watch?v=NoquBA7IMNc">this</a> presentation by Matt Knight.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUI5CJSQ4nHN-Sybnn9_RzXLdTTY4a2N96oDhuoL2Ufme1SSj4Q3YiAhVsZh842WmWllel_Pn4Ypuu6hF7tHgc834266y_1GiS8gfeQujMjTBfVQn-CeHa8oRbjrjPflOKKN2IYtoFhyphenhyphenY/s1600/SDRsharp+bandwidth+20kHz.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="415" data-original-width="1115" height="74" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUI5CJSQ4nHN-Sybnn9_RzXLdTTY4a2N96oDhuoL2Ufme1SSj4Q3YiAhVsZh842WmWllel_Pn4Ypuu6hF7tHgc834266y_1GiS8gfeQujMjTBfVQn-CeHa8oRbjrjPflOKKN2IYtoFhyphenhyphenY/s200/SDRsharp+bandwidth+20kHz.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgef_P10scqlrt_O86z2lSefJb6gaqBv_3iWzkA-Vqq76n-Ra-TQXW8LBjGLN_AT8wafU1CX72_-8f-Zgjyqg7dySFTsvH1Sgpblsn1BNxPwIyRjcFR2b2Sdw8Z1x69r9JLmx7sX-t9TFM/s1600/SDRsharp+bandwidth+41kHz.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="415" data-original-width="1115" height="74" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgef_P10scqlrt_O86z2lSefJb6gaqBv_3iWzkA-Vqq76n-Ra-TQXW8LBjGLN_AT8wafU1CX72_-8f-Zgjyqg7dySFTsvH1Sgpblsn1BNxPwIyRjcFR2b2Sdw8Z1x69r9JLmx7sX-t9TFM/s200/SDRsharp+bandwidth+41kHz.png" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgp2JSO_z5f-UxKW5J_c8t1PEXcpQAXFfp6033C4kKO_sXwEdneowv4rqPg79ilFEhWfBiDmN-CzP1cUu-Rc_LpFtHqg_T1GIxFmCP1_Wnoscti0nNdRpUczfsV1B-v3cUYSlsxo99RLgw/s1600/SDRsharp+bandwidth+62kHz.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="416" data-original-width="1114" height="74" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgp2JSO_z5f-UxKW5J_c8t1PEXcpQAXFfp6033C4kKO_sXwEdneowv4rqPg79ilFEhWfBiDmN-CzP1cUu-Rc_LpFtHqg_T1GIxFmCP1_Wnoscti0nNdRpUczfsV1B-v3cUYSlsxo99RLgw/s200/SDRsharp+bandwidth+62kHz.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEij6TZTazn79UDdsY48iB_x3-BqafshUgZyC7-BPK26dcHRGu9YZZCdnA0VDLUDfICwFGaGxmm9qIntyBN_SaVAwyeX1TQFNOdJhsxHvE3Z8Wtl6wa80Oyq3IOImPXPCnKT9RQO7yjfjsg/s1600/SDRsharp+bandwidth+250kHz.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="415" data-original-width="1115" height="74" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEij6TZTazn79UDdsY48iB_x3-BqafshUgZyC7-BPK26dcHRGu9YZZCdnA0VDLUDfICwFGaGxmm9qIntyBN_SaVAwyeX1TQFNOdJhsxHvE3Z8Wtl6wa80Oyq3IOImPXPCnKT9RQO7yjfjsg/s200/SDRsharp+bandwidth+250kHz.png" width="200" /></a></div>
This is what a LoRa transmission looks like in SDRsharp's spectrum analyzer screen. Left to right: 20.8kHz, 41.7kHz, 62.5kHz and 250kHz bandwidth. The signal level decreases as the energy is spread across a wider bandwidth.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg70nRvo98Z5CspLq7oKMJCGs8MHWfOpkQ8H8En4hoylz35EFhA9jr_-LddkofwvwU0AomsrgUtf-7vNzQ_LPaRvYhHUCRqd0acYwDbO5STh3oPGriNuCt_ve-5UpEXOsF-UWDvl0rvFGk/s1600/SDRsharp+LoRa+Modes+03.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="765" data-original-width="1080" height="141" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg70nRvo98Z5CspLq7oKMJCGs8MHWfOpkQ8H8En4hoylz35EFhA9jr_-LddkofwvwU0AomsrgUtf-7vNzQ_LPaRvYhHUCRqd0acYwDbO5STh3oPGriNuCt_ve-5UpEXOsF-UWDvl0rvFGk/s200/SDRsharp+LoRa+Modes+03.png" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
To better imagine the difference between individual modes, in other words the parameters, this is a screen grab from SDRsharp's waterfall again capturing the same 57 byte packet transmitted by all ten modes in succession with 250ms gaps in between transmissions. From the bottom up: the slowest Mode 0, then Mode 1, all the way to a very fast and quite faint Mode 9. Note the varying bandwidths and on air times.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi61DR0TIlD_YPOUEJ2X9aDD5rK9wV1T1369uZpphwjRq4LsFc-6-Qnzsu4-Z2HuPVc25pfKm3q7eW6F85anbZqHxTFa7o5Semq-9Iac6YsM9GvzHRCUvc1iOs1iWsDTlfHNFPfX5J3IRM/s1600/IMG_0671+LoRa+RFM96.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi61DR0TIlD_YPOUEJ2X9aDD5rK9wV1T1369uZpphwjRq4LsFc-6-Qnzsu4-Z2HuPVc25pfKm3q7eW6F85anbZqHxTFa7o5Semq-9Iac6YsM9GvzHRCUvc1iOs1iWsDTlfHNFPfX5J3IRM/s200/IMG_0671+LoRa+RFM96.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1Fe3E09GmTJAJKIKiimz5xZJJTjsknytTzxM_Li3jTBkoRWNmpl5vCpYJn9i22EmQ2I4RAgLMC9sUAeBWH-9iXFaArlHpNSXFZb80Ytvuqd1FFpvgnzZdDu9Xai44A8_ZeHQ90EHkMkk/s1600/IMG_1385+RFM96+and+AX5243+soldered.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1Fe3E09GmTJAJKIKiimz5xZJJTjsknytTzxM_Li3jTBkoRWNmpl5vCpYJn9i22EmQ2I4RAgLMC9sUAeBWH-9iXFaArlHpNSXFZb80Ytvuqd1FFpvgnzZdDu9Xai44A8_ZeHQ90EHkMkk/s200/IMG_1385+RFM96+and+AX5243+soldered.JPG" width="200" /></a></div>
<b>Hardware.</b> The modules I opted for were HopeRF's RFM96 intended for the 434MHz band, ordered on Ebay. Comparing Semtech's and HopeRF's datasheets, it seems that the modules simply use the Semtech's SX127x ICs while mainly providing the external filtering and impedance matching for a specific frequency band. I also designed simple adapter boards which now host my modules. At the time, I was experimenting with AX5243 transceivers as well, so there is its layout on the backside of the board. The output of the two transceivers is handled by a BGS12SN6 RF switch (LoRa being the default output). For anyone interested in a closer look: <a href="https://drive.google.com/file/d/1BFm1uEKIq-P20pz3EHSV0RxCIk7ZtnSf/view?usp=sharing">AX5243.brd</a> and <a href="https://drive.google.com/open?id=1DPKJv91AIeQDKY8lv-86OITSDOFeu7MH">AX5243.sch</a>.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_ite2_2UZrt7Pd4MTry96s2CVDeV_SgrmItWMqFV-eOVIiwL31zwUo05tb0pGiN18MdM2TgbFVWxxvXuo3qOO7uBkNcA3b4aHns1JWfzeF3AT8OzDaqVUy72BLeyitianmXRuV8pcWoQ/s1600/IMG_2042+LoRa+modules.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_ite2_2UZrt7Pd4MTry96s2CVDeV_SgrmItWMqFV-eOVIiwL31zwUo05tb0pGiN18MdM2TgbFVWxxvXuo3qOO7uBkNcA3b4aHns1JWfzeF3AT8OzDaqVUy72BLeyitianmXRuV8pcWoQ/s200/IMG_2042+LoRa+modules.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGWRn7EUjHDjgZ47xQHleT82ijKNnKcV4vjYa1rcBNRxvPS5iSey-2R901aZIx17UK1MdM-pvkpZrVzFuXqNVyAQjFegocpRU7CLewFck-JPNzUNTjIuSARuHFcuPENb4nCtTufKQHu1I/s1600/IMG_2047+power+measurement.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGWRn7EUjHDjgZ47xQHleT82ijKNnKcV4vjYa1rcBNRxvPS5iSey-2R901aZIx17UK1MdM-pvkpZrVzFuXqNVyAQjFegocpRU7CLewFck-JPNzUNTjIuSARuHFcuPENb4nCtTufKQHu1I/s200/IMG_2047+power+measurement.JPG" width="200" /></a></div>
Once I wrote some basic software, I went on to measure the power output of all three modules (I eventually ordered a third one) with <a href="http://tt7hab.blogspot.com/2017/01/the-antenna-tuning.html">AD8313</a> that I had previously used on the same task with <a href="http://tt7hab.blogspot.cz/2017/05/the-tt7f-v15-revision.html">Si4463</a>. The datasheet describes two output options, namely PA_HP amplifier on PA_BOOST pin and PA_LF on RFO_LF pin each with different power range and step size. However, the modules output power only when PA_BOOST was selected which made me wonder whether the other output was connected on these module or not. I wasn't able to tell from simply looking at the boards.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicJ_OhUHyOX2obYHAmFy6k9uIX0J0ljF_tynChXBYLBUTy9W-awnTn4MClR1sxhNnxSUl2P_3i0tocv5WuK37uwU-6IRlMPn9ZvRGt7Sx6na7jmLTEOJyyftBFz0Ic82qn5AhUuGF1z64/s1600/RFM96+output+power+chart+02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="474" data-original-width="589" height="160" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicJ_OhUHyOX2obYHAmFy6k9uIX0J0ljF_tynChXBYLBUTy9W-awnTn4MClR1sxhNnxSUl2P_3i0tocv5WuK37uwU-6IRlMPn9ZvRGt7Sx6na7jmLTEOJyyftBFz0Ic82qn5AhUuGF1z64/s200/RFM96+output+power+chart+02.png" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
Nevertheless, these are the measurements, and they suggest something very wrong with two out of the three modules. One module in terms of power and consumption behaved to expectation. In case of the remaining two, there has to be something wrong with their TX side, because as the following data suggest, in reception, the two outperformed the good transmitter.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-9zbp">Mode</th>
<th class="tg-9zbp">RFM_TX</th>
<th class="tg-9zbp">RFM_ST</th>
<th class="tg-9zbp">RFM_HH</th>
<th class="tg-9zbp">Thermal</th>
</tr>
<tr>
<td class="tg-azwn">0</td>
<td class="tg-lzy7">-92.4 dBm</td>
<td class="tg-lzy7">-103.8 dBm</td>
<td class="tg-lzy7">-102.7 dBm</td>
<td class="tg-lzy7">-130.8 dBm</td>
</tr>
<tr>
<td class="tg-azwn">1</td>
<td class="tg-lzy7">-92.9 dBm</td>
<td class="tg-lzy7">-103.3 dBm</td>
<td class="tg-lzy7">-102.2 dBm</td>
<td class="tg-lzy7">-130.8 dBm</td>
</tr>
<tr>
<td class="tg-azwn">2</td>
<td class="tg-lzy7">-87.0 dBm</td>
<td class="tg-lzy7">-98.0 dBm</td>
<td class="tg-lzy7">-96.6 dBm</td>
<td class="tg-lzy7">-126.0 dBm</td>
</tr>
<tr>
<td class="tg-azwn">3</td>
<td class="tg-lzy7">-78.9 dBm</td>
<td class="tg-lzy7">-91.8 dBm</td>
<td class="tg-lzy7">-90.3 dBm</td>
<td class="tg-lzy7">-120.0 dBm</td>
</tr>
<tr>
<td class="tg-azwn">4</td>
<td class="tg-lzy7">-79.4 dBm</td>
<td class="tg-lzy7">-92.1 dBm</td>
<td class="tg-lzy7">-90.7 dBm</td>
<td class="tg-lzy7">-120.0 dBm</td>
</tr>
<tr>
<td class="tg-azwn">5</td>
<td class="tg-lzy7">-87.9 dBm</td>
<td class="tg-lzy7">-98.6 dBm</td>
<td class="tg-lzy7">-97.1 dBm</td>
<td class="tg-lzy7">-127.8 dBm</td>
</tr>
<tr>
<td class="tg-azwn">6</td>
<td class="tg-lzy7">-88.0 dBm</td>
<td class="tg-lzy7">-98.9 dBm</td>
<td class="tg-lzy7">-97.0 dBm</td>
<td class="tg-lzy7">-127.8 dBm</td>
</tr>
<tr>
<td class="tg-azwn">7</td>
<td class="tg-lzy7">-93.0 dBm</td>
<td class="tg-lzy7">-103.2 dBm</td>
<td class="tg-lzy7">-102.0 dBm</td>
<td class="tg-lzy7">-130.8 dBm</td>
</tr>
<tr>
<td class="tg-azwn">8</td>
<td class="tg-lzy7">-86.6 dBm</td>
<td class="tg-lzy7">-98.0 dBm</td>
<td class="tg-lzy7">-96.5 dBm</td>
<td class="tg-lzy7">-126.0 dBm</td>
</tr>
<tr>
<td class="tg-azwn">9</td>
<td class="tg-lzy7">-75.5 dBm</td>
<td class="tg-lzy7">-88.0 dBm</td>
<td class="tg-lzy7">-87.0 dBm</td>
<td class="tg-lzy7">-117.0 dBm</td>
</tr>
</tbody></table>
<br />
Reading RegRssiValue register and performing necessary adjustments detailed in the datasheet provides the user with an RSSI (Received Signal Strength Indicator) value in dBm which represents the momentary power present in selected bandwidth at the frequency the receiver is tuned to. Similar power readings are available after each received packet in the form of the packet's RSSI and its signal to noise ratio (SNR). Initially, there was some confusion about what offset to use to get a legitimate reading. The Semtech's datasheet provides an offset of -164, but states that the value is dependent on the RF front-end (matching, filtering, etc.). The HopeRF's datasheet, though, provides a 27dB higher value of -137. I eventually fed a 2.9dBm output of RFM_TX directly to the receiving RFMs through a 30dB attenuator and had them measure the packet RSSIs. On average, after adjusting for the attenuation, the readings returned power levels of -3.2dBm and 0.6dBm while using the -137 offset and levels of -30.3dBm and -26.5dBm when -164 was used favouring the HopeRF's datasheet. The table above then contains averaged RSSI readings of all three modules connected to an antenna in different LoRa Modes. As no LoRa transmissions were made during that time, the readings represent the noise floor individual modules saw. For comparison, the last column contains computed thermal noise levels at 17°C (290K) for respective bandwidths. $$P = k_{B}TB$$where $P$ is the power in Watts, $T$ is the noise temperature in Kelvin, $B$ is the receiver bandwidth in Hertz, and $k_{B} = 1.381 \times 10^{-23}\;J/K$ is the Boltzmann constant. The thermal noise here represents the unavoidable noise generated within a receiver itself by moving charge carriers due to its temperature. As the bandwidth increases the amount of noise power increases as well. It is apparent that the modules are quite noisy with the 'good transmitter' being further 10-11dB noisier than the other two. Coincidentally, RFM_TX is the only board that has the AX5243 on the other side populated, and even though it was powered off, I can't rule out the possibility it was somehow responsible for the increased noise.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-9zbo">F [mHz]</th>
<th class="tg-9zbo">F [mHz]</th>
<th class="tg-9zbo">P [mW]</th>
<th class="tg-9zbo">BW [kHz]</th>
<th class="tg-9zbo">DC [%]</th>
<th class="tg-9zbo">Area</th>
</tr>
<tr>
<td class="tg-lzy6">433.05</td>
<td class="tg-lzy6">434.79</td>
<td class="tg-lzy6">10</td>
<td class="tg-lzy6"></td>
<td class="tg-lzy6">10</td>
<td class="tg-yz4l">CZ, UK</td>
</tr>
<tr>
<td class="tg-lzy6">433.05</td>
<td class="tg-lzy6">434.79</td>
<td class="tg-lzy6">1</td>
<td class="tg-lzy6"><br /></td>
<td class="tg-lzy6"></td>
<td class="tg-yz4l">CZ, UK</td>
</tr>
<tr>
<td class="tg-lzy6">433.05</td>
<td class="tg-lzy6">434.79</td>
<td class="tg-lzy6">10</td>
<td class="tg-lzy6">25</td>
<td class="tg-lzy6"></td>
<td class="tg-yz4l">CZ</td>
</tr>
<tr>
<td class="tg-lzy6">434.04</td>
<td class="tg-lzy6">434.79</td>
<td class="tg-lzy6">10</td>
<td class="tg-lzy6">25</td>
<td class="tg-lzy6"></td>
<td class="tg-yz4l">UK</td>
</tr>
</tbody></table>
<br />
<b>Frequency Bands.</b> Reading through documentation, there are slight differences between the UK and the Czech Republic which is where I am. In case of Britain, I drew from Ofcom's IR2030 that is aimed at licence exempt short range devices. For the Czech Republic, the information is contained in VO-R/10/12.2017-10 in section on short range devices. There are three options in either country. The first limits transmissions in power to maximum 10mW e.r.p. (effective radiated power) which means the power output by the transmitter plus the antenna gain over dipole in its main lobe (dBd = 2.15dBi) mustn't exceed 10mW. And it also adds a maximum duty cycle limit of 10%. The second option doesn't restrict the bandwidth nor the duty cycle, but strangles the power to only 1mW e.r.p. And finally, the third option, which differs in the frequency range between the two countries, limits the power to 10mW e.r.p. and the bandwidth to 25kHz.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoVUw7RSfDR5ngShxaY-L4nS3NynwYGKhzJ-Rj49szhKppKkP-XuH7KNkKsD1Rt1hWGVVYM76l8QCJ-o1c3C7vFC-x8QweLJhlm0QpwLtU2nEhBfhAdEvE_agIl6N6AR_XxcJmZbRPFIo/s1600/link_budget_2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="407" data-original-width="744" height="218" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoVUw7RSfDR5ngShxaY-L4nS3NynwYGKhzJ-Rj49szhKppKkP-XuH7KNkKsD1Rt1hWGVVYM76l8QCJ-o1c3C7vFC-x8QweLJhlm0QpwLtU2nEhBfhAdEvE_agIl6N6AR_XxcJmZbRPFIo/s400/link_budget_2.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<b>Link Budget.</b> Taking all the information from above, it is possible to make some basic link budget estimates. The picture illustrates the situation. There is a transmitter on a balloon with an antenna, a receiver on the ground with another antenna, and there is a line of sight in between the two. A radio horizon given by the curvature of the Earth for a balloon at a certain altitude can be approximated with the following equation: $$d = \sqrt {2 \cdot k \cdot R \cdot h}$$ where $d$ is the distance in meters, $R$ is the Earth's radius in meters, $h$ is the balloon's altitude in meters, and $k$ is a factor which takes into account the refractive effects of the atmosphere (k = 4/3 during normal weather conditions) on the propagating signal. The radio horizons for balloons at 10km and 30km in altitude, for example, are 412km and 714km respectively.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-9zbp">Mode</th>
<th class="tg-9zbp">SF</th>
<th class="tg-9zbp">S/N</th>
<th class="tg-9zbp">RFM_ST</th>
<th class="tg-9zbp">RFM_HH</th>
</tr>
<tr>
<td class="tg-azwn">0</td>
<td class="tg-lzy7">11</td>
<td class="tg-lzy7">-17.5 dB</td>
<td class="tg-lzy7">-121.3 dBm</td>
<td class="tg-lzy7">-120.2 dBm</td>
</tr>
<tr>
<td class="tg-azwn">1</td>
<td class="tg-lzy7">6</td>
<td class="tg-lzy7">-5.0 dB</td>
<td class="tg-lzy7">-108.3 dBm</td>
<td class="tg-lzy7">-107.2 dBm</td>
</tr>
<tr>
<td class="tg-azwn">2</td>
<td class="tg-lzy7">8</td>
<td class="tg-lzy7">-10.0 dB</td>
<td class="tg-lzy7">-108.0 dBm</td>
<td class="tg-lzy7">-106.6 dBm</td>
</tr>
<tr>
<td class="tg-azwn">3</td>
<td class="tg-lzy7">7</td>
<td class="tg-lzy7">-7.5 dB</td>
<td class="tg-lzy7">-99.3 dBm</td>
<td class="tg-lzy7">-97.8 dBm</td>
</tr>
<tr>
<td class="tg-azwn">4</td>
<td class="tg-lzy7">6</td>
<td class="tg-lzy7">-5.0 dB</td>
<td class="tg-lzy7">-97.1 dBm</td>
<td class="tg-lzy7">-95.7 dBm</td>
</tr>
<tr>
<td class="tg-azwn">5</td>
<td class="tg-lzy7">11</td>
<td class="tg-lzy7">-17.5 dB</td>
<td class="tg-lzy7">-116.1 dBm</td>
<td class="tg-lzy7">-114.6 dBm</td>
</tr>
<tr>
<td class="tg-azwn">6</td>
<td class="tg-lzy7">6</td>
<td class="tg-lzy7">-5.0 dB</td>
<td class="tg-lzy7">-103.9 dBm</td>
<td class="tg-lzy7">-102.0 dBm</td>
</tr>
<tr>
<td class="tg-azwn">7</td>
<td class="tg-lzy7">7</td>
<td class="tg-lzy7">-7.5 dB</td>
<td class="tg-lzy7">-110.7 dBm</td>
<td class="tg-lzy7">-109.5 dBm</td>
</tr>
<tr>
<td class="tg-azwn">8</td>
<td class="tg-lzy7">6</td>
<td class="tg-lzy7">-5.0 dB</td>
<td class="tg-lzy7">-103.0 dBm</td>
<td class="tg-lzy7">-101.5 dBm</td>
</tr>
<tr>
<td class="tg-azwn">9</td>
<td class="tg-lzy7">6</td>
<td class="tg-lzy7">-5.0 dB</td>
<td class="tg-lzy7">-93.0 dBm</td>
<td class="tg-lzy7">-92.0 dBm</td>
</tr>
</tbody></table>
<br />
The datasheets state that depending on the transmission's chosen spreading factor the receivers should be able to successfully decode signals down to different levels below the noise floor. Higher the spreading factor, lower the signal level can be. The table contains these values for respective LoRa Modes. The last two columns then consist of the previously measured levels of noise floor adjusted for this value in case of the two better receivers. This figure then represents the lowest signal level in absolute terms the specific receiver should be able to decode.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8F9TeIeiRF6ShhEA4qgsI5kD0H6BgR_FTR9KHRMUswfUw8j-sm6L0i0qnWQB9Y_gPJuAaHKWl0ssEn6L0Np3D_WVKOoNuD_Yh9oikqZ1sToNKQkjtR7jbMQOdL7JWxGK-P9skVnozCK4/s1600/antenna_rx_ground_plane_85dm.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="503" data-original-width="502" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8F9TeIeiRF6ShhEA4qgsI5kD0H6BgR_FTR9KHRMUswfUw8j-sm6L0i0qnWQB9Y_gPJuAaHKWl0ssEn6L0Np3D_WVKOoNuD_Yh9oikqZ1sToNKQkjtR7jbMQOdL7JWxGK-P9skVnozCK4/s200/antenna_rx_ground_plane_85dm.png" width="199" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgN5UviWKh3jpQMhxmblKMH85BznpW8j5cbZFFXNtuBWpltc-nr9cnjAbkuFMtQcgeSOZ5ES5-_DysMkOq52mZtmkeJOhuStvAVM7UK_6h0SJgI01z6VqynXVy-INpuF5SxeVSoYnXPlSY/s1600/antenna_rx_yagi_7el_85dm_0deg_V.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="503" data-original-width="502" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgN5UviWKh3jpQMhxmblKMH85BznpW8j5cbZFFXNtuBWpltc-nr9cnjAbkuFMtQcgeSOZ5ES5-_DysMkOq52mZtmkeJOhuStvAVM7UK_6h0SJgI01z6VqynXVy-INpuF5SxeVSoYnXPlSY/s200/antenna_rx_yagi_7el_85dm_0deg_V.png" width="199" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgd8JmAUIVY9gMrc0faP4m5W7SQoFr0_UUcx7CKh2c_35lj0SJceWHB-U26WSxEpFz2S5TNzh-LCCeZtN4qf7ThwtX3joTudeZwGNMfBw85FZ-QkWdQAqd6bbe1IQtOJMrh4FdyWajIyGI/s1600/antenna_rx_yagi_7el_85dm_45deg_V.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="503" data-original-width="502" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgd8JmAUIVY9gMrc0faP4m5W7SQoFr0_UUcx7CKh2c_35lj0SJceWHB-U26WSxEpFz2S5TNzh-LCCeZtN4qf7ThwtX3joTudeZwGNMfBw85FZ-QkWdQAqd6bbe1IQtOJMrh4FdyWajIyGI/s200/antenna_rx_yagi_7el_85dm_45deg_V.png" width="199" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEip0fAYuSAdwwrFeNWZicm95jEOqrjItvP4Sr5vr_D2zwCFF1MDEZbu0DQHWh5cx_wB6xgcOzEaGt1oNmoUD2l1Pclgandaxf06b4RfuIp4YuEXHJlwOJ69oQOCwd55Lov4NVofBOsFh1E/s1600/antenna_rx_yagi_7el_85dm_90_deg_V.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="503" data-original-width="502" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEip0fAYuSAdwwrFeNWZicm95jEOqrjItvP4Sr5vr_D2zwCFF1MDEZbu0DQHWh5cx_wB6xgcOzEaGt1oNmoUD2l1Pclgandaxf06b4RfuIp4YuEXHJlwOJ69oQOCwd55Lov4NVofBOsFh1E/s200/antenna_rx_yagi_7el_85dm_90_deg_V.png" width="199" /></a></div>
The diagrams above illustrate the radiation patterns of two possible receiving antennas. The top left is the pattern of a ground plane antenna placed 8.5m above real ground (my roof top) as modelled by 4nec2. The remaining three represent a 7 element Yagi antenna again 8.5m above real ground at three different elevation angles (0°, 45° and 90°). A closer look at the gain distribution of the ground plane antenna as elevation of a hypothetical balloon increases reveals that from a maximum of 3.6dBi at 12.5° the gain decreases to -3dBi at a 45° angle till it drops completely when the balloon gets directly overhead. The gain of the Yagi antenna then is only as good as one's ability to direct it towards the balloon. Similarly to the receiver, an antenna produces noise which in its case depends on its environment and radiation pattern. As I am given to understand, unless a high gain antenna is directed at the Sun (strong source of radiation), its contribution to the overall system's noise can be neglected. The last element to complete the receiving chain is the transmission line between the antenna and the receiver. For an example, I will use 5m of a coaxial cable adding 3.15dB in feeder loss. $$FSPL = \left( \frac{4 \pi d}{\lambda} \right) ^2$$ Free-Space Path Loss represents the decrease in power density proportional to the square of the distance $d$ the signal has travelled from the transmitting antenna to the receiving antenna. The equation assumes isotropic antennas (0 dBi) for the specific wavelength $\lambda$. In other words, power is received through a smaller area (antenna aperture) in case of shorter wavelengths than it is in case of longer wavelengths (larger antenna aperture). Hence the seeming dependence of power density decrease on wavelength. Aside from the free-space path loss, total path loss may take into account additional losses specific to the environment in which the signal propagates if such losses are known.<br />
<br />
Equivalent Isotropic Radiated Power (EIRP) represents the power that would have to be radiated by an isotropic antenna to give the same power density as the transmitting antenna in a specific direction. It is used to quantify the initial amount of power leaving the transmitter in a direction of the receiver for the link budget calculation. A related concept, Equivalent Radiated Power (ERP), was introduced in the section on frequency bands and legal limits. The difference between the two is in the antenna used as the reference which is a half-wave dipole in case of ERP and a theoretical isotropic antenna in case of EIRP. The EIRP value is 2.15dB larger than ERP. In a situation where there is a legal limit on transmitted power, the sum of the transmitter's output power and of the gain of the antenna in its main lobe has to fit within this limit.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEa5rj_DNBgpAOOBXsqo1V-97znwLoi3WoRZu3zX8mCzN2SU02T-RW1msDVM2TR8POMcS1IwXF1mTC0UbkWbK3qV3nfrNpeBCVuaTwmgQXCiOsZo5_3lWGia-G9XLuEK733SeB3Mpkub0/s1600/antenna_tx_ground_plane_fs.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="503" data-original-width="502" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEa5rj_DNBgpAOOBXsqo1V-97znwLoi3WoRZu3zX8mCzN2SU02T-RW1msDVM2TR8POMcS1IwXF1mTC0UbkWbK3qV3nfrNpeBCVuaTwmgQXCiOsZo5_3lWGia-G9XLuEK733SeB3Mpkub0/s200/antenna_tx_ground_plane_fs.png" width="199" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj077nWWvi5iJadHewtQ7sZDu8-uFVOWPUH-KvxSdSSHQgfZhyv7HetbR2thQ-ktwUzD0iAIe0IAZNcIEa6SPd1piGK6ciyfn_YoEBsaggMNoHSCaO7XqYIBCfVH48L78LQ5pq3ce37eQY/s1600/antenna_tx_dipole_fs.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="503" data-original-width="502" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj077nWWvi5iJadHewtQ7sZDu8-uFVOWPUH-KvxSdSSHQgfZhyv7HetbR2thQ-ktwUzD0iAIe0IAZNcIEa6SPd1piGK6ciyfn_YoEBsaggMNoHSCaO7XqYIBCfVH48L78LQ5pq3ce37eQY/s200/antenna_tx_dipole_fs.png" width="199" /></a></div>
Probably the most often used transmitting antenna on high altitude balloons is an inverted ground plane antenna. The difference to its usage near actual ground is that the radiation pattern and hence its gain is very similar to a half-wave dipole's pattern. Both modelled in free space by 4nec2 in the diagrams above (ground plane left, half-wave dipole right). The four radials can't replace real ground. Their advantage lies in simplifying impedance matching as opposed to matching the dipole. All that needs to be done is bending the radials at an angle (about 45°) away from the radiating element to match the antenna to a 50<span class="st" data-hveid="46" data-ved="0ahUKEwi6rY3LwdXZAhXQ6aQKHR2WB4gQ4EUILjAA">Ω</span> coaxial cable. The maximum gain of both antennas was modelled to about 2.1 dBi, and to -1.17 dBi in case of the ground plane and -1.88 dBi in case of the dipole when evaluated at a 45° angle. $$FSPL_{max} = EIRP_{(dBm)} - RX{\_}Min_{(dBm)} + RX{\_}Ant_{(dBi)} - Feeder_{(dB)}$$ Now, to start putting it all together, the equation above expresses the maximum free-space path loss $FSPL_{max}$ in dBm for specific choice of parameters, so the transmitted signal is still decodable. The receiving antenna gain $RX{\_}Ant$ is added, the minimum signal level $RX{\_}Min$ and feeder losses $Feeder$ are subtracted from the $EIRP$ value. Note that all values are expressed in their decibel form. $$d_{LOS} = \frac{\lambda \sqrt{FSPL_{max}}}{4 \pi}$$ This equation then calculates the line of sight distance $d_{LOS}$ in meters which corresponds to the free-space path loss $FSPL_{max}$ at wavelength $\lambda$. Since this whole post deals with 434MHz LoRa modules, the wavelength used in the following table is 0.691m. Also note that the $FSPL_{max}$ value was converted to mW form for this calculation.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-9zbq">Mode</th>
<th class="tg-9zbq">Tx Pwr</th>
<th class="tg-9zbq">Tx Ant</th>
<th class="tg-9zbq">Tx EIRP</th>
<th class="tg-9zbq">Rx Ant</th>
<th class="tg-9zbq">Feeder</th>
<th class="tg-9zbq">Rx Min</th>
<th class="tg-9zbq">LOS</th>
<th class="tg-9zbq">Info</th>
</tr>
<tr>
<td class="tg-azwo">0</td>
<td class="tg-lzy8">10 mW</td>
<td class="tg-lzy8">2.1 dBi</td>
<td class="tg-lzy8">16.2 mW</td>
<td class="tg-lzy8">3.6 dBi</td>
<td class="tg-lzy8">3.15 dB</td>
<td class="tg-lzy8">-121.3 dBm</td>
<td class="tg-lzy8">271.0 km</td>
<td class="tg-lzy8">~34bps</td>
</tr>
<tr>
<td class="tg-azwo">0</td>
<td class="tg-lzy8">10 mW</td>
<td class="tg-lzy8">-6.0 dBi</td>
<td class="tg-lzy8">2.5 mW</td>
<td class="tg-lzy8">-6.0 dBi</td>
<td class="tg-lzy8">3.15 dB</td>
<td class="tg-lzy8">-121.3 dBm</td>
<td class="tg-lzy8">35.3 km</td>
<td class="tg-lzy8">~34bps</td>
</tr>
<tr>
<td class="tg-azwo">1</td>
<td class="tg-lzy8">10 mW</td>
<td class="tg-lzy8">2.1 dBi</td>
<td class="tg-lzy8">16.2 mW</td>
<td class="tg-lzy8">3.6 dBi</td>
<td class="tg-lzy8">3.15 dB</td>
<td class="tg-lzy8">-108.3 dBm</td>
<td class="tg-lzy8">60.7 km</td>
<td class="tg-lzy8">1.5kbps</td>
</tr>
<tr>
<td class="tg-azwo">1</td>
<td class="tg-lzy8">10 mW</td>
<td class="tg-lzy8">2.1 dBi</td>
<td class="tg-lzy8">16.2 mW</td>
<td class="tg-lzy8">11.4 dBi</td>
<td class="tg-lzy8">3.15 dB</td>
<td class="tg-lzy8">-108.3 dBm</td>
<td class="tg-lzy8">148.9 km</td>
<td class="tg-lzy8">1.5kbps</td>
</tr>
<tr>
<td class="tg-azwo">4</td>
<td class="tg-lzy8">1 mW</td>
<td class="tg-lzy8">2.1 dBi</td>
<td class="tg-lzy8">1.6 mW</td>
<td class="tg-lzy8">10.5 dBi</td>
<td class="tg-lzy8">3.15 dB</td>
<td class="tg-lzy8">-97.1 dBm</td>
<td class="tg-lzy8">11.7 km</td>
<td class="tg-lzy8">17.7kbps</td>
</tr>
</tbody></table>
<br />
This table summarizes a few scenarios in which a high altitude balloon and a receiving station might happen to be and provides values for the maximum line of sight distance in kilometers at which the signal from the balloon should be decodable. The first row, for example, assumes a distant balloon transmitting a telemetry string in LoRa Mode 0 (20.8kHz, ~50 byte packet at 34bps). These parameters allow transmitting 10mW ERP which corresponds to setting the transmitter to output 10mW into a ground plane antenna (the EIRP value is then 16.2mW). Since a balloon at a distance is assumed, the low elevation gain of 3.6dBi can be used for the receiving ground plane antenna. The lowest power level in this mode my LoRa module should be able to decode is -121.3dBm. That results in 271km maximum line of sight distance for this link. The second row, on the other hand, assumes the same balloon to be almost above the receiving station which requires assuming much lower antenna gains (see the radiation patterns) and results in much shorter range. The next two rows in the table compare the ranges of higher data rate LoRa Mode 1 (20.8kHz, 255 byte packet at 1.5kbps), often used for SSDV, when received with a ground plane antenna and a Yagi. The last row then shows that the wide band (250kHz) very high data rate (255 byte packet at 17.7kbps) LoRa Mode 4 is limited to only 1mW ERP (1.6mW EIRP) and would have a very short range even with a receiving Yagi antenna.<br />
<br />
Looking at the link as a whole, the obvious weakest link are the very noisy LoRa receiver modules. It may be worth it to order a couple of modules from other manufacturers and compare them. Also note that these are all theoretical computations and assumptions yet to be confronted with reality. Nevertheless, these previous paragraphs give an idea of what could be done on air given the tools as described. Now, lets look at the actual content that may be transferred via these links.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxOwftsM2j-B6mP5zMGT5ahbxm0GwCW-aZyum6NzbU7ZN1Pg273_PXfCb4Ca6AINaYNQzSsfyXDueItbeOmGroyUcjqfQZsyYnyNg7JUUjEY27-4XVIjjjvFzygKsIolqf8fMROVPN_i0/s1600/IMG_2102+SX1278+module.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxOwftsM2j-B6mP5zMGT5ahbxm0GwCW-aZyum6NzbU7ZN1Pg273_PXfCb4Ca6AINaYNQzSsfyXDueItbeOmGroyUcjqfQZsyYnyNg7JUUjEY27-4XVIjjjvFzygKsIolqf8fMROVPN_i0/s200/IMG_2102+SX1278+module.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgY8fBvom86JPSq_nCj9EJ8xnKlsrLrq3J3lEKHsJPmeHxe9BXzjwK75g30CLGgJjWnve8FWtp1ki0DOGpIqMetvNi8aY3hY2g3zUmTQqjiH_fCmpKZDLGrJdON3CZYgfwvevb5NywF3P0/s1600/IMG_2106+SX1278+module+adapter.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgY8fBvom86JPSq_nCj9EJ8xnKlsrLrq3J3lEKHsJPmeHxe9BXzjwK75g30CLGgJjWnve8FWtp1ki0DOGpIqMetvNi8aY3hY2g3zUmTQqjiH_fCmpKZDLGrJdON3CZYgfwvevb5NywF3P0/s200/IMG_2106+SX1278+module+adapter.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiewlwxWJD3bAm_Yevo43tvpRrHrYVKnUpm6qO1saWH4q1ejTlmA-CTbAkDcyBxRx6qTYUrw5ypfwsHALs7Lwt8VQkE0bBISh2FZvcrHmx_4S9Uuhc_EpsD4KQO0dkKf3Af1ofHDLVSdGE/s1600/IMG_2122+SX1278+shielded.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiewlwxWJD3bAm_Yevo43tvpRrHrYVKnUpm6qO1saWH4q1ejTlmA-CTbAkDcyBxRx6qTYUrw5ypfwsHALs7Lwt8VQkE0bBISh2FZvcrHmx_4S9Uuhc_EpsD4KQO0dkKf3Af1ofHDLVSdGE/s200/IMG_2122+SX1278+shielded.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_H2NIHrS4hZ4RRVG_pnbkSEG0tsK3BiWpT74VjFumFZ0uMvv4kad7nhZCa8ZfRyNn3HY29OEep3Sc8gXHvYosh3f0twRmEZcHbHumHPpq9ww2KOGdO6Mh_Dfm849vko8YrU3lJI5vPlc/s1600/IMG_2126+SX1278+shielded.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_H2NIHrS4hZ4RRVG_pnbkSEG0tsK3BiWpT74VjFumFZ0uMvv4kad7nhZCa8ZfRyNn3HY29OEep3Sc8gXHvYosh3f0twRmEZcHbHumHPpq9ww2KOGdO6Mh_Dfm849vko8YrU3lJI5vPlc/s200/IMG_2126+SX1278+shielded.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<b>Update.</b> After finishing the previous paragraphs, I ordered a couple more modules and some accessories to do further testing. Both the modules were SX1278 based and among the cheapest found on Ebay. Since I didn't have any adapter boards for these, I had to solder the SMA connectors and pin connections directly as in the photos above.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgswW9V-zc386XaplHYS0Fj96H7hV3kK-eopK443ruL1pBeha_Yzw1fhi6t3ZowbalUxPuTexVytFotQVFRwOMySq2wNLB1J1QD0_2LN_zwSFibf10_cPIkwFk6LV9ErYsRdQtpShC5vTA/s1600/RFM96+output+power+chart+03.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="473" data-original-width="588" height="160" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgswW9V-zc386XaplHYS0Fj96H7hV3kK-eopK443ruL1pBeha_Yzw1fhi6t3ZowbalUxPuTexVytFotQVFRwOMySq2wNLB1J1QD0_2LN_zwSFibf10_cPIkwFk6LV9ErYsRdQtpShC5vTA/s200/RFM96+output+power+chart+03.png" width="200" /></a></div>
First, I repeated the TX power measurement with AD8313 for all five modules. The two new SX1278s performed comparably to the 'good' RFM96 transmitter, both in TX power and current consumption. The shielded module is denoted as SX1278_SH while the other one as SX1278_BL (blue). $$RSSI [dBm] = -137 + RegRssiValue$$ The ICs in all the modules provide three registers, as mentioned previously, that contain measurements of RSSI, packet SNR and packet RSSI. The above and the following equations then illustrate how to convert the register readings to the actual values. They are also used in the code I wrote. $$SNR [dB] = \frac{RegPktSnrValue}{4}$$ The SNR reading is useful in situations where the signal level is below the noise floor. According to discussions on Semtech's forum, reported SNR values above +5 are inaccurate and can be interpreted as simply 'enough signal'. This is reflected in my code by using this threshold to report the SNR either according to the equation above or as the RSSI value representing the current noise floor subtracted from the packet RSSI value. $$PacketRSSI [dBm] = -137 + 16/15 \cdot RegPktRssiValue$$ The datasheet proposes adjusting the register reading by 16/15 in cases the SNR is positive to compensate for the non-linearity of the packet RSSI measurement. $$PacketRSSI [dBm] = -137 + RegPktRssiValue + \frac{RegPktSnrValue}{4}$$ In case of packet receptions below the noise floor, the SNR value is subtracted from the packet RSSI reading. Both RSSI and packet RSSI computations include a fixed offset of -137. This value comes from the HopeRF's datasheet. I couldn't find this offset for either of the new SX1278 modules, so -137 was used with them as well.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-9zbo">Mode</th>
<th class="tg-9zbo">RFM_TX</th>
<th class="tg-9zbo">RFM_ST</th>
<th class="tg-9zbo">RFM_HH</th>
<th class="tg-9zbo">SX_BL</th>
<th class="tg-9zbo">SX_SH</th>
</tr>
<tr>
<td class="tg-azwm">0</td>
<td class="tg-lzy6">-102.0</td>
<td class="tg-lzy6">-104.1</td>
<td class="tg-lzy6">-102.4</td>
<td class="tg-lzy6">-92.8</td>
<td class="tg-lzy6">-101.6</td>
</tr>
<tr>
<td class="tg-azwm">1</td>
<td class="tg-lzy6">-102.4</td>
<td class="tg-lzy6">-104.5</td>
<td class="tg-lzy6">-102.4</td>
<td class="tg-lzy6">-93.5</td>
<td class="tg-lzy6">-101.5</td>
</tr>
<tr>
<td class="tg-azwm">2</td>
<td class="tg-lzy6">-97.2</td>
<td class="tg-lzy6">-98.8</td>
<td class="tg-lzy6">-97.5</td>
<td class="tg-lzy6">-88.4</td>
<td class="tg-lzy6">-95.8</td>
</tr>
<tr>
<td class="tg-azwm">3</td>
<td class="tg-lzy6">-90.8</td>
<td class="tg-lzy6">-93.4</td>
<td class="tg-lzy6">-90.8</td>
<td class="tg-lzy6">-82.1</td>
<td class="tg-lzy6">-90.1</td>
</tr>
<tr>
<td class="tg-azwm">4</td>
<td class="tg-lzy6">-90.7</td>
<td class="tg-lzy6">-92.5</td>
<td class="tg-lzy6">-91.2</td>
<td class="tg-lzy6">-80.8</td>
<td class="tg-lzy6">-89.0</td>
</tr>
<tr>
<td class="tg-azwm">5</td>
<td class="tg-lzy6">-97.9</td>
<td class="tg-lzy6">-99.6</td>
<td class="tg-lzy6">-97.9</td>
<td class="tg-lzy6">-88.8</td>
<td class="tg-lzy6">-95.7</td>
</tr>
<tr>
<td class="tg-azwm">6</td>
<td class="tg-lzy6">-97.1</td>
<td class="tg-lzy6">-99.5</td>
<td class="tg-lzy6">-98.0</td>
<td class="tg-lzy6">-88.3</td>
<td class="tg-lzy6">-95.9</td>
</tr>
<tr>
<td class="tg-azwm">7</td>
<td class="tg-lzy6">-102.2</td>
<td class="tg-lzy6">-104.7</td>
<td class="tg-lzy6">-102.2</td>
<td class="tg-lzy6">-93.6</td>
<td class="tg-lzy6">-100.7</td>
</tr>
<tr>
<td class="tg-azwm">8</td>
<td class="tg-lzy6">-96.7</td>
<td class="tg-lzy6">-99.0</td>
<td class="tg-lzy6">-97.1</td>
<td class="tg-lzy6">-87.9</td>
<td class="tg-lzy6">-95.7</td>
</tr>
<tr>
<td class="tg-azwm">9</td>
<td class="tg-lzy6">-87.3</td>
<td class="tg-lzy6">-90.2</td>
<td class="tg-lzy6">-88.1</td>
<td class="tg-lzy6">-77.8</td>
<td class="tg-lzy6">-87.0</td>
</tr>
</tbody></table>
<br />
This is a summary of averaged RSSI measurements of all five modules in all individual LoRa modes for when there were no LoRa transmission on air. I have noticed some of the modules being quite sensitive to slight variations in the overall setup, so in putting this table together, I tried maintaining the same conditions. The modules were connected to a 70cm ground plane antenna via a 2m coaxial cable and Arduino ProMini with a USB to UART bridge. The idle RSSI readings were sent to a PC every second for a couple of minutes in each mode. The modules were swapped in succession. Contrary to the original test the RFM_TX performed comparably to the other two RFM96s. The shielded SX1278's noise floor seemed to be similar or slightly worse. In case of the blue SX1278, the RSSI readings were about 10dB worse across the modes. I did all of this twice, first with the modules as they were, then inside an aluminium box. The results were very similar in both cases.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEha3KvnfoHmxN-40Xf_wDisGzyLywBqvXG25WMl9a-wOClJyGmCtHXwR3C-jvwKzl0fMH8txBcmC-dCPUTLSpASMALFFucq77u2zsKswvHVzhe7x88Fa0hXzb1Ed7iODPUCEgYOsb07RNM/s1600/IMG_2234+30dB+attenuators.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEha3KvnfoHmxN-40Xf_wDisGzyLywBqvXG25WMl9a-wOClJyGmCtHXwR3C-jvwKzl0fMH8txBcmC-dCPUTLSpASMALFFucq77u2zsKswvHVzhe7x88Fa0hXzb1Ed7iODPUCEgYOsb07RNM/s200/IMG_2234+30dB+attenuators.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCdjTsL2V-kvfe_HWjrOa77pi1k7Btsep8ni5ufzK_qxWL2nqfDtsx0aku15dqvMo1WGOS9LxX3bWb5jPk4cptO6qMnDGeK0kPyU0wQmXKkobEnj43GWp0XkaOUTWYUccOJlVCGiItmqU/s1600/IMG_2199+20dB+attenuator.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCdjTsL2V-kvfe_HWjrOa77pi1k7Btsep8ni5ufzK_qxWL2nqfDtsx0aku15dqvMo1WGOS9LxX3bWb5jPk4cptO6qMnDGeK0kPyU0wQmXKkobEnj43GWp0XkaOUTWYUccOJlVCGiItmqU/s200/IMG_2199+20dB+attenuator.JPG" width="200" /></a></div>
To establish whether the difference in SX1278_BL's noise floor was due to the offset value being different for this module, and to evaluate the accuracy of the -137 offset in the other modules, I thought I would test this with a few attenuators. I bought these four 30dB SMA pieces, and while I was waiting for the delivery, I built another homemade 20dB attenuator following <a href="https://www.youtube.com/watch?v=A5gGeV7CiQ0">this</a> W2AEW's video. <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNSDdj2dq7H9yK0-rICLExXq-Nkx1vdKTcgo3x7HtLFjYhGUklOMEDzVZuySvr61lBNnWiBRjuvwQrVVDkp41bPkAjsTf1Q2xXSbfII7fy-ivJ_Iyt1HArRuyIv89p2P3j7vUFfXpe-oI/s1600/IMG_2229+receiver+test+attenuators.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNSDdj2dq7H9yK0-rICLExXq-Nkx1vdKTcgo3x7HtLFjYhGUklOMEDzVZuySvr61lBNnWiBRjuvwQrVVDkp41bPkAjsTf1Q2xXSbfII7fy-ivJ_Iyt1HArRuyIv89p2P3j7vUFfXpe-oI/s200/IMG_2229+receiver+test+attenuators.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDCGhyIhRVtXH3q-Zvhya1B0b2u2Peo5r_tX5sPwViiTRaN8yFD7c0y4Fa9Ynlz8gRaJfaR4D1u-oY29_A0j-RmXUCP1e2kB7xtSBNQHAmbFnbtyJq8OMtHLlotZx7yOrc34Zrxk7d_q0/s1600/IMG_2239+transmitter+blanket+box.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDCGhyIhRVtXH3q-Zvhya1B0b2u2Peo5r_tX5sPwViiTRaN8yFD7c0y4Fa9Ynlz8gRaJfaR4D1u-oY29_A0j-RmXUCP1e2kB7xtSBNQHAmbFnbtyJq8OMtHLlotZx7yOrc34Zrxk7d_q0/s200/IMG_2239+transmitter+blanket+box.JPG" width="200" /></a></div>
The idea was to use one of the modules with a known output power to transmit directly to the individual receivers through these attenuators, and confront the reported packet RSSI and SNR values with expected levels based on the attenuation used. I did all sorts of variations of these measurements: the TX and RX modules connected only by the attenuators, at a distance separated by a coaxial cable, attenuators placed closer to the transmitter, then to the receiver, different levels of attenuation, shielding the transmitter, and so on. In the end, it became obvious that the setups were leaking RF somewhere corrupting the measurements. Further reading on this topic suggests that these sorts of tests require much more care in avoiding RF leakage. Using double shielded coaxial cables was mentioned, for example, in achieving these high levels of attenuation.<br />
<br />
As a result of these efforts, I became somewhat uncertain about the reliability and accuracy of the reported RSSI, packet RSSI and SNR values by these modules in absolute terms. This could influence the previous results of the link budget calculations, but at least the general principles should stand.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<b>OV5640 Camera Module</b><br />
Seeing images from the PiCamera, which is equipped with OV5647 sensor, regularly on the SSDV page, and finding all sorts of similar models available on both Ebay and Aliexpress, I thought that it would be a good step forward from the MT9D111 I had used previously. <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3M5a7Oz11Cbucrlb2pGFzrdDYujZ6hr5X8eSYdAllrmcifV1ZcyuRqdy-7J8JPsJzqATF8RhWyt7tL9dxEvhsfziewj4317lmmWDy2TLypWs7uecTG7NRS61OC0HtOxo6Thc6Y7PofPc/s1600/IMG_2052+OV5640+camera.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3M5a7Oz11Cbucrlb2pGFzrdDYujZ6hr5X8eSYdAllrmcifV1ZcyuRqdy-7J8JPsJzqATF8RhWyt7tL9dxEvhsfziewj4317lmmWDy2TLypWs7uecTG7NRS61OC0HtOxo6Thc6Y7PofPc/s200/IMG_2052+OV5640+camera.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9L6eA5c0Mabpe-ttYyrnVtH9CRJXXQ-YoxWuruIJmODNQkcu3elwAqUzKS3Z48R9aY6OGTQKQGxg-3AxXk_LZKtWEdWNWcKYwlM-_p_MohdX_QZq4ZhvtCyggQ3I4dLuj5klsld_44Os/s1600/IMG_2053+OV5640+camera.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9L6eA5c0Mabpe-ttYyrnVtH9CRJXXQ-YoxWuruIJmODNQkcu3elwAqUzKS3Z48R9aY6OGTQKQGxg-3AxXk_LZKtWEdWNWcKYwlM-_p_MohdX_QZq4ZhvtCyggQ3I4dLuj5klsld_44Os/s200/IMG_2053+OV5640+camera.JPG" width="200" /></a></div>
The first sensor I ordered was this OV5640 with a wide angle lens and a 24 pin flex cable. There are a few similar versions that pop up in the search engine, but differ in pinout. <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_huk2AQ0E-Bu00lcJtoI0YWEe9LiVRnpjWMoownVZvIMuIqt-JaxSXhjvl9Ypd7_N163bIWRW6e4isC5g4yeLo0EE7-x70VfIlafOyxI3yREJ2ZnCc0uVo9oPfqaDkddfFg6kaqBtdSI/s1600/IMG_2143+OV5640+AF+module.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_huk2AQ0E-Bu00lcJtoI0YWEe9LiVRnpjWMoownVZvIMuIqt-JaxSXhjvl9Ypd7_N163bIWRW6e4isC5g4yeLo0EE7-x70VfIlafOyxI3yREJ2ZnCc0uVo9oPfqaDkddfFg6kaqBtdSI/s200/IMG_2143+OV5640+AF+module.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOtCDieJ1IBrbjSPan8WQ1lVZxd4Z8keieR0AEc60Mx2kVGIT3pLDyV_3SYYHhjsTIkaPnqSSrOrlg4W4XRygZc6qDAEonIcuSIZuscMORaSFVq8La1RHIQAiW798wHqwt3GzseM1X1E0/s1600/IMG_2144+OV5640+AF+module.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOtCDieJ1IBrbjSPan8WQ1lVZxd4Z8keieR0AEc60Mx2kVGIT3pLDyV_3SYYHhjsTIkaPnqSSrOrlg4W4XRygZc6qDAEonIcuSIZuscMORaSFVq8La1RHIQAiW798wHqwt3GzseM1X1E0/s200/IMG_2144+OV5640+AF+module.JPG" width="200" /></a></div>
One other that is more or less compatible was this narrow lens OV5640 sensor equipped with autofocus which I bought later on as well. The slight difference was that one of the NC (no connection) pins on the previous sensor was used as autofocus ground (AF-GND) on this one.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLOliJGWWfEkUazgAuRMUxET3QEbDT4yMZM7qLhvIwuzfLvdRqTIknX7dMwwNs6ByqB1erkv_ZD_4bM1awOctVc6VA1yLNDqc-ttcWYVZsettB2CIWeQxuGqVjDGQV_jNydBKZFzH-WA4/s1600/IMG_2057+OV5640+adapter+pcb.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLOliJGWWfEkUazgAuRMUxET3QEbDT4yMZM7qLhvIwuzfLvdRqTIknX7dMwwNs6ByqB1erkv_ZD_4bM1awOctVc6VA1yLNDqc-ttcWYVZsettB2CIWeQxuGqVjDGQV_jNydBKZFzH-WA4/s200/IMG_2057+OV5640+adapter+pcb.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjENTN_e_u3ct8WM8nBu9wPEVqZ6t3qJ9yHuAA_-cESmh6ZNVSiKPBpgO-_Brs1YK3J4Lau6GgklJZhWo4E3gce6Lvb58TmboHERjMg_0WIX13SWToS40GIj4EI6sL_4SPJiTJRPL94-0A/s1600/IMG_2050+OV5640+adapter+soldered.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjENTN_e_u3ct8WM8nBu9wPEVqZ6t3qJ9yHuAA_-cESmh6ZNVSiKPBpgO-_Brs1YK3J4Lau6GgklJZhWo4E3gce6Lvb58TmboHERjMg_0WIX13SWToS40GIj4EI6sL_4SPJiTJRPL94-0A/s200/IMG_2050+OV5640+adapter+soldered.JPG" width="200" /></a></div>
Since I already had some idea on what it takes to make things work with these sorts of modules, I designed this adapter board to make it easier for myself. All the useful pins are accessible in a 2.54mm pitch, there are two regulators to provide the necessary power supplies (1.5V and 2.8V from a 3.3V input), a pair of pull-up resistors for the I<sup>2</sup>C lines, and it is equipped with an AL422B FIFO buffer which can hold up to 393,216 bytes of image data.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRO9v0d6uwULOV2ejrJWL_K3k-gsh9Do6n9GL8qDyaVR_eDe8elzQhp-gnSw7QBW-Adk0y7I38Nc6J4EJurbc5Uas7ruBgatXokQSxtOrtmj5Kth9HBfBfEpe3s6NDa9AkEUwO9RiUch0/s1600/OV5640+schematic.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="854" data-original-width="1600" height="170" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRO9v0d6uwULOV2ejrJWL_K3k-gsh9Do6n9GL8qDyaVR_eDe8elzQhp-gnSw7QBW-Adk0y7I38Nc6J4EJurbc5Uas7ruBgatXokQSxtOrtmj5Kth9HBfBfEpe3s6NDa9AkEUwO9RiUch0/s320/OV5640+schematic.png" width="320" /></a></div>
The idea was that unlike in my TT7F where I sampled the camera output directly and was limited by the size of the main MCU's RAM, I could use a simple Arduino to operate the camera and the buffer, and then extract an image from the buffer in small parts and at low speeds to process it. The schematic above illustrates the necessary connections to achieve this. Most of the AL422B's control pins are active low. One bit that may need explaining is the use of a NAND gate (SN74LVC1G00) between the HREF signal and the buffer's write enable (/WE) pin. The camera outputs a VSYNC signal indicating an active frame, HREF signal indicating an active image row (in case of JPEG this simply indicates valid data is present on the D7-D0 output lines), and PCLK signal clocking out the individual image bytes. The NAND gate then allows one to use only the transitions in the VSYNC signal to capture the whole frame in the buffer while taking care of the idle periods in the HREF signal automatically. After capturing an image, the Arduino can provide the buffer with a slow clock signal on the RCK line and sample individual image bytes on the DO7-DO0 pins. Note that the design also contains a footprint for a TCXO which, however, was not used in the end. The camera requires an external clock signal which I hoped to provide with the oscillator (I had a bunch of cheap TCXOs I wanted to test), but the amplitude of the output signal wasn't sufficient. Expecting a potential issue, the XCLK line was brought out among the 2.54mm pitched pins, so the TCXO can be omitted and the clock signal provided externally via the pin. As the note in the schematic suggests, for the autofocus sensor, I had to subsequently connect the outermost pin (NC2 -> AF-GND) to ground. I did that by scratching through the soldermask covering the main ground plane and connecting the two. I should also mention that I designed the board based on the main OV5640 datasheet and a schematic of a similar adapter which neither provided an excess of information. Only fairly recently, I came across an OV5640 application note that went in a little more detail about different power supply options and other hardware connections in general. This additional information suggests that my solution is not ideal and could be improved upon. For anyone interested, the original Eagle files can be downloaded from <a href="https://drive.google.com/open?id=1mWooYbBdDmMsN6ZJ83b_uMWKWIz2kENL">here</a> and <a href="https://drive.google.com/open?id=1p_H5qFMDzB7YYJhxPOK7EMYH-cZVDTMR">here</a>.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1pBC2fKp2a_Ubs4o4CBsg-RO8zGjYLRRDb7u3yx7REHNRuIeWd3OLhvg5nm1yFYfOn9QXOkXZ1rQrtt2g5Tut4ly10eGJkkEJqffOZa61GkeZmFzQn0ArxsPpxqaTXc3OU8eGMJV5kJY/s1600/IMG_2054+OV5640+module+complete.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1pBC2fKp2a_Ubs4o4CBsg-RO8zGjYLRRDb7u3yx7REHNRuIeWd3OLhvg5nm1yFYfOn9QXOkXZ1rQrtt2g5Tut4ly10eGJkkEJqffOZa61GkeZmFzQn0ArxsPpxqaTXc3OU8eGMJV5kJY/s200/IMG_2054+OV5640+module+complete.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiehT6Eo5sj53tDVV3OoG3P4kPDBQUX55Q80F9ZYC6u16tKYQmZEp5G6tK5Nd__AuxxLVWVtvoe8Z5AgiZJWjuuyU_8lQrHXG1UQYxrfMRP3w_bJHHka0u92KkKvwf2kK0kGDedAxMAySg/s1600/IMG_2059+OV5640+module+complete.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiehT6Eo5sj53tDVV3OoG3P4kPDBQUX55Q80F9ZYC6u16tKYQmZEp5G6tK5Nd__AuxxLVWVtvoe8Z5AgiZJWjuuyU_8lQrHXG1UQYxrfMRP3w_bJHHka0u92KkKvwf2kK0kGDedAxMAySg/s200/IMG_2059+OV5640+module+complete.JPG" width="200" /></a></div>
Initially, I naively thought that I could solder the flex cable straight to the board, but it turned out to be a bit thicker than the cables I saw being soldered. Luckily, a suitable connector was easy to obtain from a local electronics parts wholesaler (that was much more problematic in case of the MT9D111 earlier). At first, I started to develop the camera software with Arduino Due, because it provided much more RAM and many more pins to connect the adapter to. After I succeeded and learnt more about which pins I needed and which I could do without, I moved to my original target which was Arduino ProMini. It turned out that with a couple of compromises the ATmega328p based board has just enough pins to make it work (taking into account SPI and UART pins reserved for communication to LoRa and GPS modules to make a complete tracker).<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXK2bQJ3nXPSjTy2IRI5SpWhiAdmhvCNSFr9_JtFK_KC97YBXkmBrCjyT9oF7YRb93b1Uv9c69M6nn4_i_RNfkbo2LKx8Hq7GEoIvE4mSnShMp8VBnU8TL7wWHzGLU-fhrahKrk1_Vkfk/s1600/IMG_2039+LTC1799+oscillator.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXK2bQJ3nXPSjTy2IRI5SpWhiAdmhvCNSFr9_JtFK_KC97YBXkmBrCjyT9oF7YRb93b1Uv9c69M6nn4_i_RNfkbo2LKx8Hq7GEoIvE4mSnShMp8VBnU8TL7wWHzGLU-fhrahKrk1_Vkfk/s200/IMG_2039+LTC1799+oscillator.JPG" width="150" /></a></div>
One of the necessities was to provide the XCLK signal to the camera by some other means. Arduino Due could generate fast enough signal on its own, but that was not going to work with a ProMini running at 8MHz and having no pins to spare. Luckily, I came across <a href="https://www.youtube.com/watch?v=PNpb3vWbGRc">this</a> video where the author takes a look at LTC1799 oscillator which based on voltage it sees at its SET pin can produce a square wave signal from 1kHz to 33MHz.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6Wrc_o9WNyExUCEKBhhE0D4zzamW85Wi3Fc1M4sH0cuU7YujNPYmYsaX4X-HIrkM6BL4URDGI9s2oOuhrJt7uSi5omUFOTVqO-FX8P4X5c5o8VZp-9HhW6Vrtd_8K1mozoZ_fVmD6jWw/s1600/LTC1799+1mhz.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="776" data-original-width="1023" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6Wrc_o9WNyExUCEKBhhE0D4zzamW85Wi3Fc1M4sH0cuU7YujNPYmYsaX4X-HIrkM6BL4URDGI9s2oOuhrJt7uSi5omUFOTVqO-FX8P4X5c5o8VZp-9HhW6Vrtd_8K1mozoZ_fVmD6jWw/s200/LTC1799+1mhz.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcRdgurJU1LwTPnrs0eqRFtq20pSkLc3tohjxaLaVbxVyUdaDhCoDtImxjf4j8cimTzzQrEn9N4qDJ83sW_YohRVvEioFJKzACIlBJL8s55a6-AFKIauMfKzZPjfukqu8weg8gn8eTUPg/s1600/LTC1799+20mhz.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="776" data-original-width="1024" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcRdgurJU1LwTPnrs0eqRFtq20pSkLc3tohjxaLaVbxVyUdaDhCoDtImxjf4j8cimTzzQrEn9N4qDJ83sW_YohRVvEioFJKzACIlBJL8s55a6-AFKIauMfKzZPjfukqu8weg8gn8eTUPg/s200/LTC1799+20mhz.png" width="200" /></a></div>
These are screenshots from Owon VDS1022I USB oscilloscope showing the LTC1799's output when set to 1MHz by a 50k<span class="st" data-hveid="46" data-ved="0ahUKEwjA-t7On6TaAhUDCewKHUOQCDQQ4EUILjAA">Ω</span> potentiometer for illustration, and then the final choice of frequency actually used to run the camera (20MHz). In the latter case, the shape of the signal is not reproduced precisely as the oscilloscope's bandwidth is only 100MHz resulting in just 5 samples per wavelength.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipLpy8TP18ySYaZdbcSs88nloAicH6ldDXSRl0Wx0yInxmPB7K7IzM3lrK1VAlnERW0DtRtwX7ZzWMFLswSFBH5zOtlsPCP2H_3Iv1BZhwajEnAtaeIMhTXD9J4f00ybF-2LlmckAlrE4/s1600/owon+SDA+SCL+04.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="775" data-original-width="1023" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipLpy8TP18ySYaZdbcSs88nloAicH6ldDXSRl0Wx0yInxmPB7K7IzM3lrK1VAlnERW0DtRtwX7ZzWMFLswSFBH5zOtlsPCP2H_3Iv1BZhwajEnAtaeIMhTXD9J4f00ybF-2LlmckAlrE4/s200/owon+SDA+SCL+04.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKovxLoVVlLSlxFqjEKPX2jlbWVPw4JCwwq-3SHs-eJkc9yOUA_h1O39tgIQ3Mz9qV5L2wl16ga4JZjh25EEIFmPYOxTE3MQwhC6q8pWWBXcf9jDStr_HZYWRD904SqmABTaAzghPTiHA/s1600/owon+SDA+SCL+06.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="775" data-original-width="1022" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKovxLoVVlLSlxFqjEKPX2jlbWVPw4JCwwq-3SHs-eJkc9yOUA_h1O39tgIQ3Mz9qV5L2wl16ga4JZjh25EEIFmPYOxTE3MQwhC6q8pWWBXcf9jDStr_HZYWRD904SqmABTaAzghPTiHA/s200/owon+SDA+SCL+06.png" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
The next step was establishing communication over the SDA (yellow) and SCL (red) lines between the Arduino and the camera's MCU. The above is an example of reading Chip ID registers (0x300A and 0x300B) via the I<sup>2</sup>C interface. <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-9ccM92YW0w3TyH5N0ycMo8zK2OyS0meF9y9EyMkHRfKgG-EGFEEQ2zDm5ZlSFMoN1sKTq_t0YsBVO3wGqMHsMdcMh4pQCN9Ty5-mf0Nd_4FkV2wFxXimopoVJ6jdGEPJddQBqfoWVOQ/s1600/owon+VSYNC+HREF+res4+q4+08.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="776" data-original-width="1022" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-9ccM92YW0w3TyH5N0ycMo8zK2OyS0meF9y9EyMkHRfKgG-EGFEEQ2zDm5ZlSFMoN1sKTq_t0YsBVO3wGqMHsMdcMh4pQCN9Ty5-mf0Nd_4FkV2wFxXimopoVJ6jdGEPJddQBqfoWVOQ/s200/owon+VSYNC+HREF+res4+q4+08.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHM_Vzzv6XG4lS1K1Uvn7nwsyCby4QFB7iwcZDkbh7zQwCf13wCrVe8kzN9bj-B0ClsIuJ7xuoNt6AQiTjNlkBiDjh2GPBY7SaEzUQJFq5NUu7znyHoIJl3jidSMGJuwg2R3kSZQ6T9Gs/s1600/owon+VSYNC+HREF+res8+q1+07.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="776" data-original-width="1022" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHM_Vzzv6XG4lS1K1Uvn7nwsyCby4QFB7iwcZDkbh7zQwCf13wCrVe8kzN9bj-B0ClsIuJ7xuoNt6AQiTjNlkBiDjh2GPBY7SaEzUQJFq5NUu7znyHoIJl3jidSMGJuwg2R3kSZQ6T9Gs/s200/owon+VSYNC+HREF+res8+q1+07.png" width="200" /></a></div>
The camera is then fed a long initialization sequence which sets up the internal PLL and all sorts of clock signals including the output PCLK. It adjusts the frame parameters, enables JPEG compression, and also writes a number of undocumented registers before it eventually enables the output (VSYNC, HREF, PCLK and the D7-D0 pins are by default disabled). The documentation provides example init sequences for different desired outputs, but unfortunately it isn't very open on general principles of the camera's operation, so too much tinkering with the registers usually ends with no output at all. I found it best to use already proven register settings and implemented the <a href="https://github.com/ArduCAM/Arduino/tree/d749fcfb7b8e0760d811041ebf42844b0729220a/ArduCAM">ArduCam</a> sequences with small adjustments. The above is an example of the activity on VSYNC (red) and HREF (yellow) lines after the initialization sequence. Each frame is fixed length (420ms) while the liveliness of the HREF line is determined by image resolution and quality - the amount of data to be transferred in each image.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgk1_-FgOSyajzT7D9WIHKwec9WUV3qaxbm2G_3PEZYNykSdDNmKIWF8mqcYCbIdv6UjeK1At8DdknLgI-kRUmEJ7og2G4FDcH4P054JDfQ4Fv8KataRVT39r2sVrjVBJ9KkQdPbvvR8R4/s1600/owon+VSYNC+HREF+res8+q1+06.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="776" data-original-width="1022" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgk1_-FgOSyajzT7D9WIHKwec9WUV3qaxbm2G_3PEZYNykSdDNmKIWF8mqcYCbIdv6UjeK1At8DdknLgI-kRUmEJ7og2G4FDcH4P054JDfQ4Fv8KataRVT39r2sVrjVBJ9KkQdPbvvR8R4/s200/owon+VSYNC+HREF+res8+q1+06.png" width="200" /></a></div>
This is a closer look at VSYNC and HREF again around the end of an old and the beginning of a new frame. To maintain a specific frame rate, the frame length is fixed (420ms) with the first data appearing about 150ms after VSYNC goes high leaving enough time for the ATmega328p to react to the transition and enable writing to the buffer. <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgy-KWxQ04NpR9NAlrwNGN8xAWA0S2F1qvHF6byDEGLKBvySe_9Gt2BfoiD46H6V4_NFpFkmz57bfokqlA2vg8NHQNhKNIkYxquGU6ZA5wHk4mYdlzDlC0XF0WO6KcukEh-tB-NPkZpQBw/s1600/owon+HREF+PCLK+res8+q1+02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="776" data-original-width="1022" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgy-KWxQ04NpR9NAlrwNGN8xAWA0S2F1qvHF6byDEGLKBvySe_9Gt2BfoiD46H6V4_NFpFkmz57bfokqlA2vg8NHQNhKNIkYxquGU6ZA5wHk4mYdlzDlC0XF0WO6KcukEh-tB-NPkZpQBw/s200/owon+HREF+PCLK+res8+q1+02.png" width="200" /></a></div>
This is a detailed look at HREF (yellow) and the pixel clock PCLK (red) which is fed to the AL422B's WCK pin (write clock). The buffer can operate with up to 50MHz input clock. With this specific initialization sequence and 20MHz input clock, the PCLK runs at 11.7MHz.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQst8CLEw2aTZ8pauQoGVwFrb4KQ5uG20onZ_uIOEoPVpVWYDTMXaEb-OzgXRHHUBR9hJ6ZRcTW8ga51t_w_hs66MGMU41dbs7vzaB6wPToqTt_c9tmbQ4Gr78kXNR2D7NHgq3BY2ICNU/s1600/owon+VSYNC+WE+pro+mini+04.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="776" data-original-width="1022" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQst8CLEw2aTZ8pauQoGVwFrb4KQ5uG20onZ_uIOEoPVpVWYDTMXaEb-OzgXRHHUBR9hJ6ZRcTW8ga51t_w_hs66MGMU41dbs7vzaB6wPToqTt_c9tmbQ4Gr78kXNR2D7NHgq3BY2ICNU/s200/owon+VSYNC+WE+pro+mini+04.png" width="200" /></a></div>
The Arduino ProMini has two read only pins in A6 and A7. One of these (ADC6, as denoted in the ATmega's datasheet) is used to sample the VSYNC line (red) for beginnings and endings of frames. When AL_capture_frame() function is called, it identifies the beginning of the frame and enables writing to the buffer by pulling the adapter's pin WE (yellow) high. It then continues to sample VSYNC until the end of the frame at which point it pulls WE low.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzSxWX1aTfwWsGn613uNMGRJOWF6nmASJzkJ2LmtabpdDq5H0SI5nfR8TnJ44eORBQDInxdCBbk9vTM94GbwQHDtMsQ321t-oMUbPoXhJFxpHjCG39XXZdikm0AwdThzdo-q-VgBqn9Vs/s1600/owon+VSYNC+WE+pro+mini+02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="775" data-original-width="1021" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzSxWX1aTfwWsGn613uNMGRJOWF6nmASJzkJ2LmtabpdDq5H0SI5nfR8TnJ44eORBQDInxdCBbk9vTM94GbwQHDtMsQ321t-oMUbPoXhJFxpHjCG39XXZdikm0AwdThzdo-q-VgBqn9Vs/s200/owon+VSYNC+WE+pro+mini+02.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJU96bLWdQJWVii3lRTvxtAepuXJjsysnZBAK0z5Fz8j566I0W9tF4ouKiklZjvMiqJjSeTSzfXUkQfh2ZQCkGfhkH64b1jLlilqO4e_U9X2wAIVpe_mpMm79HZs4-BVLY5M_xRiGAGQs/s1600/owon+VSYNC+WE+pro+mini+03.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="775" data-original-width="1022" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJU96bLWdQJWVii3lRTvxtAepuXJjsysnZBAK0z5Fz8j566I0W9tF4ouKiklZjvMiqJjSeTSzfXUkQfh2ZQCkGfhkH64b1jLlilqO4e_U9X2wAIVpe_mpMm79HZs4-BVLY5M_xRiGAGQs/s200/owon+VSYNC+WE+pro+mini+03.png" width="200" /></a></div>
This is a closer look at how fast the function reacts to the VSYNC (red) transitions. In this case, WE (yellow) went high 100us after VSYNC and was pulled low 50us after the frame ended. I should also mention that VSYNC is in this ProMini implementation wired straight to the buffer's /WRST pin, so every high to low transition automatically reinitializes the buffer's write address to 0x00.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtJL9n0t3VCDU4qHvrkb9nG7TFwIRRDTnAs01Bg82Hy4rGnC2WIMSWdYQPfS6iZpq3MzeTmu6KNust7tjqENtDqxPTEb5da7Wjm_meBe6MVG8xHBe1LVtZKjTBlkylaAyWx6UA6DouSF0/s1600/owon+RCK+RE+pro+mini+05_read+frame.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="776" data-original-width="1021" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtJL9n0t3VCDU4qHvrkb9nG7TFwIRRDTnAs01Bg82Hy4rGnC2WIMSWdYQPfS6iZpq3MzeTmu6KNust7tjqENtDqxPTEb5da7Wjm_meBe6MVG8xHBe1LVtZKjTBlkylaAyWx6UA6DouSF0/s200/owon+RCK+RE+pro+mini+05_read+frame.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1srD4WdEV1BUgDB0Fju73YXtDARm4gqIqRKZWiQcTN2d3c2FZqpXw4rB0XxwMHD9D248SCvkJIsfQikpSy25K1LYsZjJbZBivkp4H-ofmcCMncyrUJI3YL8Rbo6HZyx040EuCANbLbJE/s1600/owon+RCK+RE+pro+mini+04_check+buffer.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="775" data-original-width="1022" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1srD4WdEV1BUgDB0Fju73YXtDARm4gqIqRKZWiQcTN2d3c2FZqpXw4rB0XxwMHD9D248SCvkJIsfQikpSy25K1LYsZjJbZBivkp4H-ofmcCMncyrUJI3YL8Rbo6HZyx040EuCANbLbJE/s200/owon+RCK+RE+pro+mini+04_check+buffer.png" width="200" /></a></div>
Reading the buffer begins with resetting the read address (pulling /RRST pin low) alongside manually emulating read clock by pulling RCK pin (red) low and high in turns. The individual instructions are padded with a 1us delay. After the reset sequence, reading is enabled by pulling /RE pin (yellow) low after which data is output at the DO7-DO0 pins at each rising edge of RCK. The 8MHz Arduino ProMini hits its potential, and as can be seen on the oscilloscope, the individual clock states get stretched. The screen grab on the left captures an SSDV buffer being filled with bytes of data while the screen grab on the right documents a much more instruction intensive checking whether the data in the AL422B contain a JPEG image. It also shows the read reset sequence right before /RE is pulled low. There is one more pin (/OE) on the AL422B that needs to be pulled low to enable output. As free pins on the Arduino are scarce, it is hardwired to ground in this implementation.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc9v4sPMKJSKOugOu_Kb26S12Me4BiH_Vsff6CkPSITWpRpb9hvvCYWxnAdQM-f-SNt66xNj1ReSkG2A6IlkRE8GapFXXBSX21EqMx4stnT6lVisTnJSZy8IQ8MrILmM3M9ONKEJhBFu8/s1600/owon+RCK+D7+pro+mini+12_read+frame.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="775" data-original-width="1022" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc9v4sPMKJSKOugOu_Kb26S12Me4BiH_Vsff6CkPSITWpRpb9hvvCYWxnAdQM-f-SNt66xNj1ReSkG2A6IlkRE8GapFXXBSX21EqMx4stnT6lVisTnJSZy8IQ8MrILmM3M9ONKEJhBFu8/s200/owon+RCK+D7+pro+mini+12_read+frame.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJb8d_xTmbujou91H3QJ9BZ4ll-bsiXRgWRUqOkyPpbkcB4OpeLAGK5AJof-S3XhHp5UtVVNnJOeYs0qFEz6NU3a1OsjxETwM3FbXEoIOKO2UXmHI_I92PuXn7HY1Lo7RItY08GvyQ5Lk/s1600/owon+RCK+D7+pro+mini+10_check+buffer.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="776" data-original-width="1023" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJb8d_xTmbujou91H3QJ9BZ4ll-bsiXRgWRUqOkyPpbkcB4OpeLAGK5AJof-S3XhHp5UtVVNnJOeYs0qFEz6NU3a1OsjxETwM3FbXEoIOKO2UXmHI_I92PuXn7HY1Lo7RItY08GvyQ5Lk/s200/owon+RCK+D7+pro+mini+10_check+buffer.png" width="200" /></a></div>
These screens once again illustrate the read process, this time on RCK (red) and D7 (yellow) lines. From the perspective of the Arduino the D7-D0 pins were connected in such a way that the image data byte is the result of ORed reads of PINB & 0b00000011 and PIND & 0b11111100 registers.<br />
<br />
Getting the image is half of the job. The other half is processing it with the SSDV routines which in Arduino ProMini's case gets a little more complicated. Unlike the more powerful Arduino Due, ProMini is equipped with only 2048 bytes of internal RAM. At the heart of SSDV is a structure data type ssdv_t which contains a large number of variables and arrays that are used in the process. In the AVR environment, a variable called __brkval can be used to get the address of the top of the heap (which grows upwards inside the RAM) while the current position of the stack (which expands from the end of the RAM downwards) can be acquired as the address of the latest declared variable. With the help of these, one can get an idea of how much free RAM there is at different stages of code execution. In case of SSDV the heap stays the same throughout the whole code, but the stack expands by slightly over 1200 bytes. This is a large portion of the total and therefore care must be taken with the remaining processes.<br />
<br />
<div style="background: #f8f8f8; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;">
<pre style="line-height: 125%; margin: 0;"><span style="color: #8f5902; font-style: italic;">/* Standard Huffman tables */</span>
<span style="color: black;">PROGMEM</span> <span style="color: #204a87; font-weight: bold;">static</span> <span style="color: #204a87; font-weight: bold;">const</span> <span style="color: #204a87; font-weight: bold;">uint8_t</span> <span style="color: #204a87; font-weight: bold;">const</span> <span style="color: black;">std_dht00</span><span style="color: black; font-weight: bold;">[</span><span style="color: #0000cf; font-weight: bold;">29</span><span style="color: black; font-weight: bold;">]</span> <span style="color: #ce5c00; font-weight: bold;">=</span> <span style="color: black; font-weight: bold;">{</span>
<span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span><span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span><span style="color: #0000cf; font-weight: bold;">0x01</span><span style="color: black; font-weight: bold;">,</span><span style="color: #0000cf; font-weight: bold;">0x05</span><span style="color: black; font-weight: bold;">,</span><span style="color: #0000cf; font-weight: bold;">0x01</span><span style="color: black; font-weight: bold;">,</span><span style="color: #0000cf; font-weight: bold;">0x01</span><span style="color: black; font-weight: bold;">,</span><span style="color: #0000cf; font-weight: bold;">0x01</span><span style="color: black; font-weight: bold;">,</span><span style="color: #0000cf; font-weight: bold;">0x01</span><span style="color: black; font-weight: bold;">,</span><span style="color: #0000cf; font-weight: bold;">0x01</span><span style="color: black; font-weight: bold;">,</span><span style="color: #0000cf; font-weight: bold;">0x01</span><span style="color: black; font-weight: bold;">,</span><span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span><span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span><span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span><span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span><span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span><span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span>
<span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span><span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span><span style="color: #0000cf; font-weight: bold;">0x01</span><span style="color: black; font-weight: bold;">,</span><span style="color: #0000cf; font-weight: bold;">0x02</span><span style="color: black; font-weight: bold;">,</span><span style="color: #0000cf; font-weight: bold;">0x03</span><span style="color: black; font-weight: bold;">,</span><span style="color: #0000cf; font-weight: bold;">0x04</span><span style="color: black; font-weight: bold;">,</span><span style="color: #0000cf; font-weight: bold;">0x05</span><span style="color: black; font-weight: bold;">,</span><span style="color: #0000cf; font-weight: bold;">0x06</span><span style="color: black; font-weight: bold;">,</span><span style="color: #0000cf; font-weight: bold;">0x07</span><span style="color: black; font-weight: bold;">,</span><span style="color: #0000cf; font-weight: bold;">0x08</span><span style="color: black; font-weight: bold;">,</span><span style="color: #0000cf; font-weight: bold;">0x09</span><span style="color: black; font-weight: bold;">,</span><span style="color: #0000cf; font-weight: bold;">0x0A</span><span style="color: black; font-weight: bold;">,</span><span style="color: #0000cf; font-weight: bold;">0x0B</span><span style="color: black; font-weight: bold;">,</span>
<span style="color: black; font-weight: bold;">};</span>
</pre>
</div>
<br />
The first necessary thing to do is storing all unchanging arrays in the MCU's flash memory. Otherwise they reside in RAM. This is achieved by declaring them with 'const' and 'PROGMEM' keywords as in the example above. This concerns all the ssdv arrays in ssdv.c, GPS UBX commands, and OV5640 register settings.<br />
<br />
<div style="background: #f8f8f8; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;">
<pre style="line-height: 125%; margin: 0;"><span style="color: #8f5902; font-style: italic;">#include <avr/pgmspace.h></span>
<span style="color: #8f5902; font-style: italic;">// load_standard_dqt()</span>
<span style="color: black;">temp</span> <span style="color: #ce5c00; font-weight: bold;">=</span> <span style="color: black;">pgm_read_byte</span><span style="color: black; font-weight: bold;">(</span><span style="color: #ce5c00; font-weight: bold;">&</span><span style="color: black;">table</span><span style="color: black; font-weight: bold;">[</span><span style="color: black;">i</span><span style="color: #ce5c00; font-weight: bold;">+</span><span style="color: #0000cf; font-weight: bold;">1</span><span style="color: black; font-weight: bold;">]);</span>
<span style="color: #8f5902; font-style: italic;">// dtblcpy()</span>
<span style="color: black;">r</span> <span style="color: #ce5c00; font-weight: bold;">=</span> <span style="color: black;">memcpy_P</span><span style="color: black; font-weight: bold;">(</span><span style="color: #ce5c00; font-weight: bold;">&</span><span style="color: black;">s</span><span style="color: #ce5c00; font-weight: bold;">-></span><span style="color: black;">dtbls</span><span style="color: black; font-weight: bold;">[</span><span style="color: black;">s</span><span style="color: #ce5c00; font-weight: bold;">-></span><span style="color: black;">dtbl_len</span><span style="color: black; font-weight: bold;">],</span> <span style="color: black;">src</span><span style="color: black; font-weight: bold;">,</span> <span style="color: black;">n</span><span style="color: black; font-weight: bold;">);</span>
</pre>
</div>
<br />
Once stored in the flash memory the arrays have to be accessed with functions from the pgmspace.h library. That means all the ssdv functions using them have to be modified. An example of such modification is in the code snippet above. Another means of saving RAM is using one buffer for different purposes. For example in my code, LORA_pkt[256] is used to store the LoRa packet intended for transmission, it is used as the output buffer for SSDV routines at another time, and as a buffer for incoming UBX messages as well. It is also worth it to have a look at external libraries that are included in the project. For example, if the Arduino Serial library is used, it contains two 64 byte buffers which can be shrunk by redefining their size in HardwareSerial.h. Similarly, including the Wire.h library consumes 153 bytes of RAM. Therefore I made a simpler implementation of the I<sup>2</sup>C interface which doesn't use any buffers. In the end, my complete tracker code that includes SSDV, GPS and LoRa routines when compiled takes up 436 bytes of RAM in global variables. The SSDV process adds about 1240 bytes when running. That leaves a room of 372 bytes for the stack to grow.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvNHIViSnFQrSVnU3EzNimDRLvGyc_84n-ExQrfX8AwqU1v7U-5nmtXg-ho_AT-zBEW7xqY8pHoC6pNM6lMkpOT7WjfvZXBNKtk898Q53vXnyxGxkmbPRfnkC-YPD_wxRsPMIi_snPYPc/s1600/2018-04-03_16-01-55_TT7L_0004.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="768" data-original-width="1024" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvNHIViSnFQrSVnU3EzNimDRLvGyc_84n-ExQrfX8AwqU1v7U-5nmtXg-ho_AT-zBEW7xqY8pHoC6pNM6lMkpOT7WjfvZXBNKtk898Q53vXnyxGxkmbPRfnkC-YPD_wxRsPMIi_snPYPc/s200/2018-04-03_16-01-55_TT7L_0004.jpg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrHEHOk1DcceUwZdx9gay9fjerOHF2wkZ3Km1zUy78Oc9wFMMp7Tnhiq3cWrWExBsAMWaPT9gyMxbIsc0BASiFVKdapaBI42OexMmB42fBzQ2q8KQc7-gBLd9jZmcQjuLF7G0OCmmCm8I/s1600/2018-04-04_13-35-42_TT7L_0007.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="768" data-original-width="1024" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrHEHOk1DcceUwZdx9gay9fjerOHF2wkZ3Km1zUy78Oc9wFMMp7Tnhiq3cWrWExBsAMWaPT9gyMxbIsc0BASiFVKdapaBI42OexMmB42fBzQ2q8KQc7-gBLd9jZmcQjuLF7G0OCmmCm8I/s200/2018-04-04_13-35-42_TT7L_0007.jpg" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjovsj_fOcgScy-1GgFTnnbbsrWgrx0PsqW-dX7iEc0C2V8Q-938jY1Slj9ULP6mMY41_9q0243MllUqCX7N9mZwDMplrqk6kAe7GzUE4SzOS4Ik7GkIIeI-m4EJ08UqhiRqktsz5qMvvg/s1600/2018-04-03_16-59-55_TT7L_0036.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="768" data-original-width="1024" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjovsj_fOcgScy-1GgFTnnbbsrWgrx0PsqW-dX7iEc0C2V8Q-938jY1Slj9ULP6mMY41_9q0243MllUqCX7N9mZwDMplrqk6kAe7GzUE4SzOS4Ik7GkIIeI-m4EJ08UqhiRqktsz5qMvvg/s200/2018-04-03_16-59-55_TT7L_0036.jpg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNVTQMpdkv1BzvULDNDjJZZRs-20mUOKJY1VAtT52q1_WYumOvwNbg0kV4FMeUSjiMrge_FtGTbJjPUtTqud4cuELg0j39d7FhGso1hN4fnvDHDc8fOS8Lk035hL2feow6RAeiDz1Pq_0/s1600/2018-04-04_13-56-51_TT7L_0015.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="768" data-original-width="1024" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNVTQMpdkv1BzvULDNDjJZZRs-20mUOKJY1VAtT52q1_WYumOvwNbg0kV4FMeUSjiMrge_FtGTbJjPUtTqud4cuELg0j39d7FhGso1hN4fnvDHDc8fOS8Lk035hL2feow6RAeiDz1Pq_0/s200/2018-04-04_13-56-51_TT7L_0015.jpg" width="200" /></a></div>
These then are a few example images taken by the two cameras, transmitted and received. The images on the left are from the wide angle lens module while the images on the right show the same scenery taken by the narrow angle lens. They are all 1024x768 pixels and encoded with SSDV quality 5 (70.8 JPEG quality).<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRLg7cA_pMFgq9H5ATqTbRZh2SY1PIROAFcUbg-Bwk3y_ZO0NNjYD2UH4ZhAjaWbQCti26HrZp0wx9362JVrqYepzywP2H5J4Ax_METSUODEj5Ne6zJqUddf8D2p6OPWIKSfdHyXyCohI/s1600/2018-04-02_17-46-14_TT7L_0102+s1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="480" data-original-width="640" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRLg7cA_pMFgq9H5ATqTbRZh2SY1PIROAFcUbg-Bwk3y_ZO0NNjYD2UH4ZhAjaWbQCti26HrZp0wx9362JVrqYepzywP2H5J4Ax_METSUODEj5Ne6zJqUddf8D2p6OPWIKSfdHyXyCohI/s200/2018-04-02_17-46-14_TT7L_0102+s1.jpg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPpWCz92DUDo5EGzV05pmZ0FzN6bRkB9f4J06OtM5ua-lTg4PvOohYUB8n0HY2miSy89dL8-VNnO-lLhO_GVThsrhVYe07NV1PwEOTGaXuH-0DN2BAWCOEJZtnjehRkNyd_ggNGR76sn4/s1600/2018-04-02_17-51-32_TT7L_0105+s2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="768" data-original-width="1024" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPpWCz92DUDo5EGzV05pmZ0FzN6bRkB9f4J06OtM5ua-lTg4PvOohYUB8n0HY2miSy89dL8-VNnO-lLhO_GVThsrhVYe07NV1PwEOTGaXuH-0DN2BAWCOEJZtnjehRkNyd_ggNGR76sn4/s200/2018-04-02_17-51-32_TT7L_0105+s2.jpg" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxoLTIts5GoU2KUkhXG-LQAZNQkLjjDQ0z3Wpy3COuOp9_QBwPOhmdeRQiEA0OKo5lRi9_Uw8ckDAGiiFbD8WxybkmtK3c53xEaXpcuCwirGqs4JpM4OQr5lAzrVAhZRqt9Fn3tPJGHEU/s1600/2018-04-02_17-57-51_TT7L_0108+s3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="960" data-original-width="1280" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxoLTIts5GoU2KUkhXG-LQAZNQkLjjDQ0z3Wpy3COuOp9_QBwPOhmdeRQiEA0OKo5lRi9_Uw8ckDAGiiFbD8WxybkmtK3c53xEaXpcuCwirGqs4JpM4OQr5lAzrVAhZRqt9Fn3tPJGHEU/s200/2018-04-02_17-57-51_TT7L_0108+s3.jpg" width="200" /></a></div>
The code running the tracker contains init sequences for nine different resolutions. These are an example of three of them taken by the wide angle lens and encoded with SSDV quality 6 (86.0). The first is 640x480 (30.4kB), the second 1024x768 (62.6kB), and the last 1280x960 (85.8kB).<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHQq2AROsQ5DMvP9goiUcpV4HixTNmpcgRFi61fI0OHVGbY5rRSlMBfg3ypbruIBn6y6xP1nBUguyP6Pgp80xHmzKmTu-iOnWQ1i-UBJ9ygxAvcXPXH0lqeWKeLJgL3vLXJbqjjns3A34/s1600/2018-04-02_18-09-38_TT7L_0112+q1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="768" data-original-width="1024" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHQq2AROsQ5DMvP9goiUcpV4HixTNmpcgRFi61fI0OHVGbY5rRSlMBfg3ypbruIBn6y6xP1nBUguyP6Pgp80xHmzKmTu-iOnWQ1i-UBJ9ygxAvcXPXH0lqeWKeLJgL3vLXJbqjjns3A34/s200/2018-04-02_18-09-38_TT7L_0112+q1.jpg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdLtKuwQZ6JJZO3sc4_9NtNlm-0uevYJKGnu0-fsCWvi76GIOUCl21F68yYNPdoq_IRH3GCx3Fs0OyHptX9Si_Ykyhz-k5ZMvjeGsK1VPSeso-ofSiMyLfbkr4nsjsJ8XAlwGFWvpc8Cs/s1600/2018-04-02_18-10-47_TT7L_0113+q2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="768" data-original-width="1024" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdLtKuwQZ6JJZO3sc4_9NtNlm-0uevYJKGnu0-fsCWvi76GIOUCl21F68yYNPdoq_IRH3GCx3Fs0OyHptX9Si_Ykyhz-k5ZMvjeGsK1VPSeso-ofSiMyLfbkr4nsjsJ8XAlwGFWvpc8Cs/s200/2018-04-02_18-10-47_TT7L_0113+q2.jpg" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-S6avIcU-eNNx2kmC94wIWcnVdyC72ZWWe8MsY7T-EpY17-RAav3AVeLREUf1E_PJ7_sIpNZpzlXr4nhfLIpHNLIL8sAP7RoFxpSgtMrxDfmXEKT2mNAKeStZZtd5qNjAVn6660ilxcE/s1600/2018-04-02_18-11-47_TT7L_0114+q3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="768" data-original-width="1024" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-S6avIcU-eNNx2kmC94wIWcnVdyC72ZWWe8MsY7T-EpY17-RAav3AVeLREUf1E_PJ7_sIpNZpzlXr4nhfLIpHNLIL8sAP7RoFxpSgtMrxDfmXEKT2mNAKeStZZtd5qNjAVn6660ilxcE/s200/2018-04-02_18-11-47_TT7L_0114+q3.jpg" width="200" /></a></div>
In the process of acquiring an image in this way, there are two stages of JPEG encoding with their own quality settings. First is the camera's setting. Then the SSDV process re-encodes the image again before transmitting it. The three images above give an idea of different combinations of the two. The first image (26.0kB) was taken with the camera quality set to 50 and re-encoded with SSDV quality 4 (49.6). The second (32.3kB) with camera quality 93.7 and SSDV quality 4 (49.6). And the third (55.5kB) with camera quality 93.7 and SSDV quality 6 (86.0). The resolution of all three is 1024x768 pixels. It is apparent from the images that it is better to take a high quality image with the camera and then have the SSDV process limit its size.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoxUxqgZK9PtUMhzwLhFmoAVTCabVKZdaNM3OunamT7xqvY8BU-BvcMTvCXb4O6TnlYfLFZc2DrhvIni4riAWpDguMmyFUEr-fnoFOJq6kYD8YMbjtldue3cngH5Xp2AixWb8epMhPTEg/s1600/2018-04-04_15-20-10_TT7L_0077.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="768" data-original-width="1024" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoxUxqgZK9PtUMhzwLhFmoAVTCabVKZdaNM3OunamT7xqvY8BU-BvcMTvCXb4O6TnlYfLFZc2DrhvIni4riAWpDguMmyFUEr-fnoFOJq6kYD8YMbjtldue3cngH5Xp2AixWb8epMhPTEg/s200/2018-04-04_15-20-10_TT7L_0077.jpg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmDQ6IlObFGLzL_rkek2rFyuEb9m0KlxWGguuZUkFDhnzpVrSZP1tLp4IR8u4hvVDsV9sFW1sd3kpJODTSCuAS5qv3bPLgJkjNlLC2YXSHSF93vsyShpEs0VBvoGkTy1nOdctYc63j4bY/s1600/2018-04-04_13-56-51_TT7L_0015.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="768" data-original-width="1024" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmDQ6IlObFGLzL_rkek2rFyuEb9m0KlxWGguuZUkFDhnzpVrSZP1tLp4IR8u4hvVDsV9sFW1sd3kpJODTSCuAS5qv3bPLgJkjNlLC2YXSHSF93vsyShpEs0VBvoGkTy1nOdctYc63j4bY/s200/2018-04-04_13-56-51_TT7L_0015.jpg" width="200" /></a></div>
In JPEG compression, the actual content of the image has a significant impact on the file size. These two 1024x768 pixel images were both taken with the narrow angle lens at camera quality 93.7 and SSDV quality 5 (70.8). However, the size of the first image is 63.3kB while the second grew to 186.6kB. In this application, larger JPEGs result in longer transmission times. For example, using LoRa mode 4, a 54.9kB image took 52s to transmit while 186.6kB one occupied the band for 2 minutes and 55s. It is therefore necessary to take all these variables into account when choosing image and transmission settings, and scheduling the frequency of telemetry strings among the image packets.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxUPycc3EL-7GwHiqkYGX8u1l-N0aXtF_2r4naVBOnGGe_UJMc0LeuDIasjUL0d7tVzyVlFNdYYBSEwVdh1SKUY60-oDJjeRDP23EnKDh8Ax9WEFQeSxnJyRK3-BCrz__vB5Y0RAZ4Sok/s1600/autofocus+01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="768" data-original-width="1024" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxUPycc3EL-7GwHiqkYGX8u1l-N0aXtF_2r4naVBOnGGe_UJMc0LeuDIasjUL0d7tVzyVlFNdYYBSEwVdh1SKUY60-oDJjeRDP23EnKDh8Ax9WEFQeSxnJyRK3-BCrz__vB5Y0RAZ4Sok/s200/autofocus+01.jpg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZ_gyC0r6-942IsPoATugI3KW6J8Jo5Qe4XqRRv23mUTPa4YMA7wPR6CuqrCU9-GClpp-AAczjvRbT-J6OoPMwGec0tKCvdj1_Q7vicFEsiQQUqdoxvzruKUo-QcZfgjlCIjMUdp5kCO4/s1600/autofocus+02.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="768" data-original-width="1024" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZ_gyC0r6-942IsPoATugI3KW6J8Jo5Qe4XqRRv23mUTPa4YMA7wPR6CuqrCU9-GClpp-AAczjvRbT-J6OoPMwGec0tKCvdj1_Q7vicFEsiQQUqdoxvzruKUo-QcZfgjlCIjMUdp5kCO4/s200/autofocus+02.jpg" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0GLcR5p0B6Fn6BUaj1A4efeSdRgC_w863y2aYjHnCmh3VuB8SxSgX_IxclkQonf3yt-ETTrs2TxW1dCwl3rTmIgTh69vneRlvF2HGMan6DnMcfAsNmQeE9mblSun8wq35vXNGllk8jeY/s1600/autofocus+03.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="768" data-original-width="1024" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0GLcR5p0B6Fn6BUaj1A4efeSdRgC_w863y2aYjHnCmh3VuB8SxSgX_IxclkQonf3yt-ETTrs2TxW1dCwl3rTmIgTh69vneRlvF2HGMan6DnMcfAsNmQeE9mblSun8wq35vXNGllk8jeY/s200/autofocus+03.jpg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtr9RXnGQKVXRn8ZYXZ8vUKl_SMytK_4b8z45YLskm5lXrUXm3K3fLf6DL1_35SLg_kw6kYyD7xGZc9fI5IDSsmdpk24mHwmYCndh8bfNMMSTINdLHB6EQURvXI1j-vz8onNqmP67PuAc/s1600/autofocus+04.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="768" data-original-width="1024" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtr9RXnGQKVXRn8ZYXZ8vUKl_SMytK_4b8z45YLskm5lXrUXm3K3fLf6DL1_35SLg_kw6kYyD7xGZc9fI5IDSsmdpk24mHwmYCndh8bfNMMSTINdLHB6EQURvXI1j-vz8onNqmP67PuAc/s200/autofocus+04.jpg" width="200" /></a></div>
As mentioned previously, the second camera module is equipped with autofocus. This feature, however, requires downloading firmware, as it is referred to in the documentation, which in other words means writing more than 3 thousand undocumented registers to the camera. Once again, I had to find the actual firmware in other publicly shared <a href="http://crewrktablets.arctablet.com:8080/opendev/kernel_rockchip/tree/rockchip-3.10-rk3288/drivers/media/video">projects</a>. After the firmware is stored in the Arduino's flash memory, the autofocus sequence works like this: write the firmware to the camera (based on my testing it has to be done before each focusing attempt), issue a 'single trigger' command by writing 0x03 to register 0x3022, keep polling register 0x3029 until it reads 0x10 signalling the focusing is done, issue command 'pause autofocus' by writing 0x06 to register 0x3022, capture the image, and finally release the lens by sending 0x08 to register 0x3022. The images above illustrate the results. For some reason, the focusing sequence takes about 10s which makes it highly impractical. Fixing the focus to infinity makes more sense on a balloon tracker anyway.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZv7AqVe1dyvr5hKxpjBbKZmrydE9ZdpBy2l35tc_wIbOqFcwFigOcfxHIPhYBGFnsfo-kf-4CBgA0Lu2nbYz2O3ETlQgGCc64UGY-qlcr_jgiMUWPD9onhIILlZwqRvBfYdlBTKy-Bd8/s1600/2018-04-02_15-28-38_TT7L_0010.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="480" data-original-width="640" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZv7AqVe1dyvr5hKxpjBbKZmrydE9ZdpBy2l35tc_wIbOqFcwFigOcfxHIPhYBGFnsfo-kf-4CBgA0Lu2nbYz2O3ETlQgGCc64UGY-qlcr_jgiMUWPD9onhIILlZwqRvBfYdlBTKy-Bd8/s200/2018-04-02_15-28-38_TT7L_0010.jpg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfeQ0MwmqwZDkAt8VXoraAU6rfKCthOgdcWRmBsI7IrhWfEvOyt0q7tAUzgeTjM3jCF-dX220rk6KZESEe9vvAOxWiy2FcrDNDD_IKu_89DLXLFz-pE91GvVmxHdPEyhyGfH48cNQNi0U/s1600/2018-04-02_15-48-33_TT7L_0021.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="480" data-original-width="640" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfeQ0MwmqwZDkAt8VXoraAU6rfKCthOgdcWRmBsI7IrhWfEvOyt0q7tAUzgeTjM3jCF-dX220rk6KZESEe9vvAOxWiy2FcrDNDD_IKu_89DLXLFz-pE91GvVmxHdPEyhyGfH48cNQNi0U/s200/2018-04-02_15-48-33_TT7L_0021.jpg" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZqaRmaEWGuIfTaR_dClVbQGILaGaDQRDntQIee6_bKZHdxmvEntQ5syAw4tWt5R5oYJfTWV5bTwKLoLFQFJrXvbg1WTGaMilLZBgwRlcitNYTFoaKcpZwjgbc1-lu5WrhIDNnETX4yig/s1600/2018-04-03_16-08-22_TT7L_0008.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="768" data-original-width="1024" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZqaRmaEWGuIfTaR_dClVbQGILaGaDQRDntQIee6_bKZHdxmvEntQ5syAw4tWt5R5oYJfTWV5bTwKLoLFQFJrXvbg1WTGaMilLZBgwRlcitNYTFoaKcpZwjgbc1-lu5WrhIDNnETX4yig/s200/2018-04-03_16-08-22_TT7L_0008.jpg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHKk72HPJsWjeq0KgyJUF6bObD0RdTrnpD1JzG9z-eaEIyc2nyVJDpepO1DLTSeaME0H4BnOAoU4DPedia15EzRHaTystCHewUXFM3hspV9ykohvMVY7IWGFb75ff__oHbndfJGgMOT2c/s1600/2018-04-04_13-28-12_TT7L_0004.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="768" data-original-width="1024" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHKk72HPJsWjeq0KgyJUF6bObD0RdTrnpD1JzG9z-eaEIyc2nyVJDpepO1DLTSeaME0H4BnOAoU4DPedia15EzRHaTystCHewUXFM3hspV9ykohvMVY7IWGFb75ff__oHbndfJGgMOT2c/s200/2018-04-04_13-28-12_TT7L_0004.jpg" width="200" /></a></div>
I also shouldn't pretend that everything works beautifully and mention a large number of erroneous images both cameras produce. As the above images illustrate, the errors range from MCU corruptions at a single spot which then propagate throughout the rest of the image, to multiple corruptions per image. I tried implementing an SSDV check of the captured image which if failed a new image would have been captured instead. However, even that managed to avoid transmitting only a portion of the corrupt images, and it also added substantial delays between individual image transmissions. Since the files when examined with JPEGsnoop don't show any errors, I am led to believe the source of the corruption is in the cameras themselves, not the subsequent buffer samplings and processing. Maybe a redesign of the power supply as mentioned previously could improve upon the error rate.<br />
<br />
<br />
<b>LoRa PAYLOAD</b><br />
<a href="https://github.com/TomasTT7/LoRa_SSDV/blob/master/Payload/ProMini_LoRa_Payload.ino">ProMini_LoRa_Payload.ino</a><br />
<a href="https://github.com/TomasTT7/LoRa_SSDV/blob/master/Payload/OV5640_regs.h">OV5640_regs.h</a><br />
<a href="https://github.com/TomasTT7/LoRa_SSDV/blob/master/Payload/ssdv.h">ssdv.h</a>, <a href="https://github.com/TomasTT7/LoRa_SSDV/blob/master/Payload/ssdv.c">ssdv.c</a>, <a href="https://github.com/TomasTT7/LoRa_SSDV/blob/master/Payload/rs8.h">rs8.h</a>, <a href="https://github.com/TomasTT7/LoRa_SSDV/blob/master/Payload/rs8.c">rs8.c</a><br />
The two technologies discussed in the previous paragraphs eventually made its way into three pieces of hardware that together can establish a telemetry and ssdv link with optional upload of the received data to Habitat and SSDV servers. The first part is a high altitude balloon tracker.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiI8SbWOfxeEbFYbLoq6TsRCtRrupg3JJo_XzLtPc3-L48-aLuZvtnlrbqaab0mi7VOdKvVMOSQj0ZbWX8lhEyTClVgJyOjz8xgTY2HW9g55whmRv4IfbFXpGmsxc0KBF3A-qaZ0qEWsKI/s1600/IMG_2156+payload_testing.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiI8SbWOfxeEbFYbLoq6TsRCtRrupg3JJo_XzLtPc3-L48-aLuZvtnlrbqaab0mi7VOdKvVMOSQj0ZbWX8lhEyTClVgJyOjz8xgTY2HW9g55whmRv4IfbFXpGmsxc0KBF3A-qaZ0qEWsKI/s200/IMG_2156+payload_testing.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNf5WKzLy6hxjSSxej1Lkov01fkbxRdclZjvTxbi9Qjb6jaTboV03-dty9M-5YgzKcoYK2NYSx7KlVXx-DMar5s9UZcWukZWGRkFWwC4nALojar8bPoz6P4eFGC27o1Fm5mG2Zspeewcc/s1600/IMG_2158+payload_testing.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNf5WKzLy6hxjSSxej1Lkov01fkbxRdclZjvTxbi9Qjb6jaTboV03-dty9M-5YgzKcoYK2NYSx7KlVXx-DMar5s9UZcWukZWGRkFWwC4nALojar8bPoz6P4eFGC27o1Fm5mG2Zspeewcc/s200/IMG_2158+payload_testing.JPG" width="200" /></a></div>
A u-blox NEO-7M GPS module and an RFM96W LoRa transceiver were added to the parts already mentioned in the OV5640 section. The power supply was provided by a 3.3V external regulator LF33CV, here in combination with a LiPo battery which would be replaced by Energizer Ultimate Lithium cells for an actual flight. Likewise, a few pieces of polystyrene would make this still in development prototype a bit more secure.<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidcY3wVQoI0EkrD3TfgNovCQJXjztslFyEe2caJVJu-G5fq5U-GM7AsOTL4dNTs0HmxwdLGnsOjMOtrqTGsxuB5MeYFxBYrMb6qb44jHAG4XkE-T_N9XnDZGKs_gezSfLUMXFwxWeaAyY/s1600/payload+schematic+01.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="663" data-original-width="1031" height="205" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidcY3wVQoI0EkrD3TfgNovCQJXjztslFyEe2caJVJu-G5fq5U-GM7AsOTL4dNTs0HmxwdLGnsOjMOtrqTGsxuB5MeYFxBYrMb6qb44jHAG4XkE-T_N9XnDZGKs_gezSfLUMXFwxWeaAyY/s320/payload+schematic+01.PNG" width="320" /></a></div>
The complete wiring as hinted at in the previous paragraphs is shown in the schematic above. As can be seen, all controllable pins of the Arduino ProMini but one are used. The one remaining pin is read-only ADC7. The schematic also reveals that even though the datasheet suggests hard resetting the camera on power up, the ProMini doesn't have any spare pins to control the RST pin. Similarly, this implementation doesn't support powering the camera on and off via the PWR pin which is hardwired to ground. As I learnt from the late discovered application note, the power supply solution I had used on the adapter board also precludes from using the software power down option. Hence the camera runs continuously.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtnV5994E3GPtkdFZF9_Zf208NBvizsy8tvkDaX20fwjuy3AyAmUXHh8DyoHTMEq3gDo2kFYeUud-edstInt8Z6GZMx0fkJb-wfAce5s6Q85fbDZ5QRmx9xjEpI6mswEb6F5k4Em7ro1Q/s1600/owon+RCK+RE+pro+mini+SSDV+process+32B+buffer+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="776" data-original-width="1022" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtnV5994E3GPtkdFZF9_Zf208NBvizsy8tvkDaX20fwjuy3AyAmUXHh8DyoHTMEq3gDo2kFYeUud-edstInt8Z6GZMx0fkJb-wfAce5s6Q85fbDZ5QRmx9xjEpI6mswEb6F5k4Em7ro1Q/s200/owon+RCK+RE+pro+mini+SSDV+process+32B+buffer+01.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzFkhf5liH39IoOhyP8QpfAaOgsK-AWOV0MFILbCohmKaNAH_ZwEpVMByEsNV0BimrjeCNLCJIbj7in0qHVwBg-ACVUrOzjY-UJTM7Y2-TGglEz6W4_2qKGqROBva8ATgFIooMWHoNtOE/s1600/owon+RCK+RE+pro+mini+SSDV+process+tx+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="776" data-original-width="1022" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzFkhf5liH39IoOhyP8QpfAaOgsK-AWOV0MFILbCohmKaNAH_ZwEpVMByEsNV0BimrjeCNLCJIbj7in0qHVwBg-ACVUrOzjY-UJTM7Y2-TGglEz6W4_2qKGqROBva8ATgFIooMWHoNtOE/s200/owon+RCK+RE+pro+mini+SSDV+process+tx+01.png" width="200" /></a></div>
These oscilloscope screen grabs put some light on how long the SSDV processes take in the 8MHz ATmega328p. The image on the left shows the activity on RCK (red) and /RE (yellow) pins when the SSDV routine asks for more image data. A 32 byte IMG_buff[] is filled with data from AL422B and passed to SSDV. The image on the right shows the same from a higher perspective. Each SSDV packet required 11-12 data requests to complete with 12ms of processing time in between individual requests. That totalled to about 130ms to prepare a packet and another 130ms to transmit it with LoRa mode 4. This brings the effective bit rate of Mode 4 down to 8.2-8.5kbps (received image size divided by duration from the first image packet to the last).<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIPczQgyfkRkG1g4DsbeTN9-HPfC0T-kIpPqUDWJRJ5q056cWZlMTYf5Z_kI3AFqyrV0vP-XYXARvisyvlfQGuIHfUhKKKskrEtMD4CVzIhS9Oq4sKy-5Jg360CmdY2zbz7scLa-kjG78/s1600/IMG_2151+payload_testing.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIPczQgyfkRkG1g4DsbeTN9-HPfC0T-kIpPqUDWJRJ5q056cWZlMTYf5Z_kI3AFqyrV0vP-XYXARvisyvlfQGuIHfUhKKKskrEtMD4CVzIhS9Oq4sKy-5Jg360CmdY2zbz7scLa-kjG78/s200/IMG_2151+payload_testing.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgF2nNLtMreQdqiLte6bPx_KL-v8yRfYqawe74HqOf93DzADivrBb78bfF9Xn7ownydqdto8MqdPITViGXn_jcasRS5iMJG83LmNhR8gIIiyUlXETjDRJSpCvV5BoECSLulbY_mwQpZgp8/s1600/IMG_2153+payload_testing.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgF2nNLtMreQdqiLte6bPx_KL-v8yRfYqawe74HqOf93DzADivrBb78bfF9Xn7ownydqdto8MqdPITViGXn_jcasRS5iMJG83LmNhR8gIIiyUlXETjDRJSpCvV5BoECSLulbY_mwQpZgp8/s200/IMG_2153+payload_testing.JPG" width="150" /></a></div>
I tried limiting the number of corrupt images in the final script by including an SSDV check in which every captured image is processed by SSDV, and transmitted only when the check succeeds. If it doesn't a new image is captured. The problem is that the time to process the image can take from 30 seconds to more than a minute per check (depending on image size). This adds delays in between image transmissions, and what is worse, it isn't able to catch all corrupt images anyway. So the usage of SSDV check is optional and decided by commenting or uncommenting SSDV_CHECK #define directive in the final script. In an afternoon of testing, the percentage of corrupt images without the SSDV check reached 28% (18/64) while the following set of images taken with the SSDV check exhibited 7.7% error rate (3/39).<br />
<br />
The final script, provided at the beginning of this section, initializes the camera, the GPS and LoRa modules, and then enters the main loop. At the beginning of the loop a telemetry packet is transmitted. Following that an optional autofocusing routine is run if the AUTOFOCUS #define directive is uncommented. An image is captured and the AL422B is checked for its presence. An optional SSDV check is run, and in case of success, the main SSDV encoding and image transmission is initiated. In case of a failure, the scripts waits for 5 seconds and starts from the top of the main loop again. Both SSDV check and the main image transmission contain interleaved telemetry transmissions every X packets (configurable). Aside from that, the script includes an option to transmit a second slower telemetry packet on another frequency and a different LoRa mode right after the main transmission. This may provide distant listeners with telemetry reports in case the main transmission is in a high data rate mode such as 4 where its range is limited. The default settings for the final script are LoRa mode 4 on 434.250MHz at the lowest power setting (2dBm). The camera taking 1024x768 images in 81 JPEG quality transmitted in SSDV quality 50. I was looking for images in the range of 50-150kB. The optional slower telemetry is in LoRa mode 7 on 434.400MHz at 10dBm output power. SSDV check is turned on, autofocus off. All this can be easily modified in #define directives at the beginning of the script.<br />
<br />
The SSDV and Reed-Solomon libraries at the start of this section are the RAM optimised versions that allow running SSDV on an Arduino ProMini. The original libraries can be found on Philip Heron's <a href="https://github.com/fsphil/ssdv">Github</a>.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWiEr6XV2-QGqVmHxpSH4D0oyNxJcnc7W-V1imMjC0tAnudYfpOtDLUQP0fr9vfd4jtpW9sVAounnrmb0ndEZzuRLcTuco3xzMFADiMvUgY3xj3opfvwCMfO5ClViAmo4c1a3rdz2kpMU/s1600/gps+drift+01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="408" data-original-width="450" height="181" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWiEr6XV2-QGqVmHxpSH4D0oyNxJcnc7W-V1imMjC0tAnudYfpOtDLUQP0fr9vfd4jtpW9sVAounnrmb0ndEZzuRLcTuco3xzMFADiMvUgY3xj3opfvwCMfO5ClViAmo4c1a3rdz2kpMU/s200/gps+drift+01.jpg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK0de6OeTIlKE2qfks1cPBLoSuTM6vM-Xe-kXISJm1AV8wkfCMckb28MaFhh5irY_QCR6ZXM0pCACgEKrzh4BrbgwFPmcBu7LhduiMde5kuHeRAnIoAWaaN9tCXNDmUf68KrTSH4ucd5k/s1600/gps+drift+02.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="408" data-original-width="450" height="181" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK0de6OeTIlKE2qfks1cPBLoSuTM6vM-Xe-kXISJm1AV8wkfCMckb28MaFhh5irY_QCR6ZXM0pCACgEKrzh4BrbgwFPmcBu7LhduiMde5kuHeRAnIoAWaaN9tCXNDmUf68KrTSH4ucd5k/s200/gps+drift+02.jpg" width="200" /></a></div>
Following up on the previous blog post about <a href="http://tt7hab.blogspot.com/2018/03/the-gps-module-drift.html">GPS drift</a>, the camera seems to interfere a little with the GPS receiver and increases the spread of reported positions by a stationary tracker. These maps come from two tests where the tracker was moved to capture different sceneries. The white dots represent the actual positions of the tracker, the blue then the reported ones. <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIX-TXpwVxGOMRqtzqSS8sR7exGk6Mndfo8mBtx7Xwph8Y6Y9EvVcaNUz0_83kHYym8hiHecVqRj0195LlOQYrS9f9sJjqWnMixdKemATxV8d_-CG47C-qsmucr1UdUBD8dp649NhdgTY/s1600/payload+consumption+normal+telem+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="430" data-original-width="727" height="118" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIX-TXpwVxGOMRqtzqSS8sR7exGk6Mndfo8mBtx7Xwph8Y6Y9EvVcaNUz0_83kHYym8hiHecVqRj0195LlOQYrS9f9sJjqWnMixdKemATxV8d_-CG47C-qsmucr1UdUBD8dp649NhdgTY/s200/payload+consumption+normal+telem+01.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgG8JgxKCakOdwA92irhab671UoyAF05z5ejvU7e4NEMHfhDqREgar0rE07_rl-60BPTeGxU5MuIc_D6Hl1LF0-rGUAoxDDyxJveN0ONUj2UCPtQA1v7UPSUsvuKu0lwjHWjqQ6YWWXa4U/s1600/payload+consumption+normal+img+start.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="430" data-original-width="728" height="118" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgG8JgxKCakOdwA92irhab671UoyAF05z5ejvU7e4NEMHfhDqREgar0rE07_rl-60BPTeGxU5MuIc_D6Hl1LF0-rGUAoxDDyxJveN0ONUj2UCPtQA1v7UPSUsvuKu0lwjHWjqQ6YWWXa4U/s200/payload+consumption+normal+img+start.png" width="200" /></a></div>
These two charts show the payload's current consumption in different 10 second periods. First during SSDV check with a several hundred millisecond spike as the main and the slow telemetry packets were transmitted. Then at the beginning of image transmissions. In both cases the GPS was already running the less current consuming tracking engine. The average current consumption of the tracker was 130mA. The LiPo battery was charged to 3.91V at the time. The measurement was done as described later in this blog.<br />
<br />
<br />
<b>LoRa HANDHELD</b><br />
<a href="https://github.com/TomasTT7/LoRa_SSDV/blob/master/Handheld/ProMini_LoRa_Handheld.ino">ProMini_LoRa_Handheld.ino</a><br />
<a href="https://github.com/TomasTT7/LoRa_SSDV/blob/master/Handheld/fonts.h">fonts.h</a> <br />
The second piece of hardware that I put together is a battery powered handheld telemetry only receiver that displays the tracker's position, its own position, and calculates the distance, azimuth and elevation towards the tracker.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgh1AKEJY9ZPaTyvdpJeHjqEd9qi7ysjoZa6jzvBhMHy9w_8tDm1u8mHDRKQa8zNo91Sig__4bLze4wYOQ-38tSNN2xg4DU-jwo08oPvkRKM_hlCBZVSPFnpqlUdqmIaRa512cQ0HEC_v4/s1600/IMG_2064+handheld_complete.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgh1AKEJY9ZPaTyvdpJeHjqEd9qi7ysjoZa6jzvBhMHy9w_8tDm1u8mHDRKQa8zNo91Sig__4bLze4wYOQ-38tSNN2xg4DU-jwo08oPvkRKM_hlCBZVSPFnpqlUdqmIaRa512cQ0HEC_v4/s200/IMG_2064+handheld_complete.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi794Wqpxw9beK53xaC1QqUbSoNEyNn5ZXTmo3oPDhnEyqdv0PRw8jCs28XUMcEIYDIqV41CmyI4uhivBDJl1VUgx1prq7l_Ox03OudbsCWQcvlGaGoOtJNB6y10sRic2zZ3sZj15oYatc/s1600/IMG_2069+handheld_parts.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi794Wqpxw9beK53xaC1QqUbSoNEyNn5ZXTmo3oPDhnEyqdv0PRw8jCs28XUMcEIYDIqV41CmyI4uhivBDJl1VUgx1prq7l_Ox03OudbsCWQcvlGaGoOtJNB6y10sRic2zZ3sZj15oYatc/s200/IMG_2069+handheld_parts.JPG" width="200" /></a></div>
It's built from cheap Ebay parts which can be replaced and the whole thing taken apart. Once again it's run by an Arduino ProMini that gets its own position from a u-blox NEO-6 GPS module (the one that was part of my very first high altitude balloon). An RFM96W LoRa module then listens for transmissions from a tracker, and in case of a successful decode, the information is shown on a 128x64 pixel OLED display.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQkXqTvDxNE3aNSCvzB0ZME0eBxDcxFDapcVG02WRkc_-zbctm9Dpm9tgsC99LQvRTWtKLCB_IGnCayb7hugxA-Rf7H2XPxuqmQC1dVziOhPExl1vv5W4t2Go-wXActPEQECdQtFRDhJI/s1600/handheld+schematic+02.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="657" data-original-width="965" height="217" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQkXqTvDxNE3aNSCvzB0ZME0eBxDcxFDapcVG02WRkc_-zbctm9Dpm9tgsC99LQvRTWtKLCB_IGnCayb7hugxA-Rf7H2XPxuqmQC1dVziOhPExl1vv5W4t2Go-wXActPEQECdQtFRDhJI/s320/handheld+schematic+02.PNG" width="320" /></a></div>
The wiring is illustrated in this diagram. I had to use an external LDO, because although the overall consumption was supposed to be within the capabilities of the Arduino's on-board regulator, the u-blox module seemed to be quite sensitive to clean power supply and refused to operate when the OLED was part of the circuit. An LF33CV 3.3V regulator with datasheet stated current output of up to 500mA solved the problem. The individual parts use all three interfaces of the Arduino (u-blox on UART, RFM on SPI, and OLED on I<sup>2</sup>C). Two buttons hooked up to the two external interrupt pins provide a simple user interface and allow selecting the frequency and the LoRa mode. The whole unit then can be powered on and off with a simple switch.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPiOoyq_ZfIpRvmD_a2F2jrXqzwB0KJt9xcxs5-oLAfnJnubPrhtCVL5NY7SV51pqgiVTpIv5V2gmApSQ6vb_RLARfouvWjBrkDSNsirD1y0prudMIBrWw1fggc64ztCZkEnfkf1rctGk/s1600/IMG_2066+handheld_main+board.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPiOoyq_ZfIpRvmD_a2F2jrXqzwB0KJt9xcxs5-oLAfnJnubPrhtCVL5NY7SV51pqgiVTpIv5V2gmApSQ6vb_RLARfouvWjBrkDSNsirD1y0prudMIBrWw1fggc64ztCZkEnfkf1rctGk/s200/IMG_2066+handheld_main+board.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgN0Wx_hoB6N1HlJXjcR11CsLV8PUmfJhFMLChIby4BgmRu9xn1VbmS408o9ktfyuFKFPAxB7jp5vo_rx2ic3F9BZZ10fBIRRfkYV-vod2Z__34bsYznN1smJSzQMaa7RVyL7uB2LvR_A0/s1600/IMG_2067+handheld_main+board+back.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgN0Wx_hoB6N1HlJXjcR11CsLV8PUmfJhFMLChIby4BgmRu9xn1VbmS408o9ktfyuFKFPAxB7jp5vo_rx2ic3F9BZZ10fBIRRfkYV-vod2Z__34bsYznN1smJSzQMaa7RVyL7uB2LvR_A0/s200/IMG_2067+handheld_main+board+back.JPG" width="200" /></a></div>
This is a closer look at the naked board and how the wiring was physically carried out. The fixing inside the plastic cover is somewhat improvised, but it seems to serve its purpose alright. Although I wouldn't throw it down the stairs.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjnFzbCEcFbfirz3vwo2t8CboRAW4BC3EDQULQsbR_D2a_DrcYDgcFkniTi00fy3m7fnVwAGKRy8BHqocOqjrWQ2-dxF5e-xzw9d8hhV_lCuNFJ1v8SXkAIdMUi9UmldkjbOFTQSlDk0c/s1600/IMG_2074+handheld_display+receiver.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjnFzbCEcFbfirz3vwo2t8CboRAW4BC3EDQULQsbR_D2a_DrcYDgcFkniTi00fy3m7fnVwAGKRy8BHqocOqjrWQ2-dxF5e-xzw9d8hhV_lCuNFJ1v8SXkAIdMUi9UmldkjbOFTQSlDk0c/s200/IMG_2074+handheld_display+receiver.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXvTLErjzIbEo9_ycKLr-nLjAE_SEEAbCJh6verB2rxPT8SJEhNSXwzv_63zXM_yq9QjKVl5d5GTpP5Fh_EflFMWTg14jTf5Rvs15hoOI_df0IT7mRhBdKPX-U3k1Pkbzzqms6UMPMMUg/s1600/oled+display+description+04.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="237" data-original-width="331" height="143" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXvTLErjzIbEo9_ycKLr-nLjAE_SEEAbCJh6verB2rxPT8SJEhNSXwzv_63zXM_yq9QjKVl5d5GTpP5Fh_EflFMWTg14jTf5Rvs15hoOI_df0IT7mRhBdKPX-U3k1Pkbzzqms6UMPMMUg/s200/oled+display+description+04.PNG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
This diagram explains what individual values on the display mean. On power-up, as soon as the GPS module acquires first valid position, it is displayed in the second row. Usually, the GPS time is acquired first and is shown in the bottom left corner. The right bottom corner displays the current RSSI value updated every 500ms. The button on the right can be used to enter settings screen where successive presses of the same button step through individual items such as the LoRa mode, the RX frequency and the LoRa payload length. These can be modified by pressing the button on the left. Upon exiting the settings screen by stepping through the items all the way, the current settings are saved to the Arduino's EEPROM. Because of this, the device always starts operating with the latest user settings on power-up. If a telemetry packet is received from a tracker, its position gets displayed in the first row along the packet's SNR and frequency error in the right bottom corner. If the receiver has both positional values, it calculates the great circle distance between them, the azimuthal and elevation angles towards the tracker, and displays them in the third row. The receiver's position is refreshed and the values recalculated every 3 seconds. Information about the age of the latest received telemetry packet is displayed as well.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3jmDU6zjfzZYJ5fH-4sCwqzpTt_chgoF2uC0lYYyllOPpVJoHINE-zaCmCbEL5wjoRPLJ-nUU13E2SanHiQMTIjR5rmFt_1Eem-r0XNoKMwexA4r3jcArdD1DzFHz9HrIydiwu-18TdY/s1600/IMG_2098+handheld_testing.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3jmDU6zjfzZYJ5fH-4sCwqzpTt_chgoF2uC0lYYyllOPpVJoHINE-zaCmCbEL5wjoRPLJ-nUU13E2SanHiQMTIjR5rmFt_1Eem-r0XNoKMwexA4r3jcArdD1DzFHz9HrIydiwu-18TdY/s200/IMG_2098+handheld_testing.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2Q6nW6zzAc2B4Emoum4jlic0_5x1NnY4ZQpt7Lt6IGgzEH7c8YGx45B1KrGh80IjO9la9krgZTObC0_PUlpA1pzdFnr2h06qUsk0fgf-s0U-jRqfCPv9Wyfui5qwGzHlHL20R6MYVScQ/s1600/IMG_2094+handheld_testing.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2Q6nW6zzAc2B4Emoum4jlic0_5x1NnY4ZQpt7Lt6IGgzEH7c8YGx45B1KrGh80IjO9la9krgZTObC0_PUlpA1pzdFnr2h06qUsk0fgf-s0U-jRqfCPv9Wyfui5qwGzHlHL20R6MYVScQ/s200/IMG_2094+handheld_testing.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsrpo1Z8hGqMkz84KaRhNWNOvpQ9lxjqw5cZ2vy3-2MGtLDkEtWnKnQ2HijBF2eA7vLt2P6-96uqLYTCqCcRnTyyi1bOectIBNDR9JNnBWeTeCGinaW5nyZwoS7o9l9LhtlMDM8v5yiNg/s1600/IMG_2091+handheld_testing.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsrpo1Z8hGqMkz84KaRhNWNOvpQ9lxjqw5cZ2vy3-2MGtLDkEtWnKnQ2HijBF2eA7vLt2P6-96uqLYTCqCcRnTyyi1bOectIBNDR9JNnBWeTeCGinaW5nyZwoS7o9l9LhtlMDM8v5yiNg/s200/IMG_2091+handheld_testing.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYWCQOF8MSMJ_yHYjUL5wcNl7-T0G_kYvtLE1ZIxiLRiU5W6Y67jxzLAKu45ugA7XBuNAMO2lk8KKhGRTRhopn4gPcOYcur3GxB9NiwNNQDGDawqAASn7ECgMC5fNQg-RxkZmBnQw6jDI/s1600/IMG_2092+handheld_testing.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYWCQOF8MSMJ_yHYjUL5wcNl7-T0G_kYvtLE1ZIxiLRiU5W6Y67jxzLAKu45ugA7XBuNAMO2lk8KKhGRTRhopn4gPcOYcur3GxB9NiwNNQDGDawqAASn7ECgMC5fNQg-RxkZmBnQw6jDI/s200/IMG_2092+handheld_testing.JPG" width="200" /></a></div>
To test the handheld receiver, I put a transmitter in the garden and went for a walk. Notice the negative SNR in the last image as I climbed up a hill and lost line of sight to the tracker. The stationary tracker's position kept jumping around, because I set the u-blox in power saving mode and used a passive antenna with the module. This was the topic of my previous <a href="http://tt7hab.blogspot.com/2018/03/the-gps-module-drift.html">blog</a> post. All in all, the handheld in the ground test performed quite nicely.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuHSDi1IiHbd-B7BncwsAMQBvjRoCsvJkK8XPKE3IIr3cXsHMfWXjhokONlJBynZerVhNWJFOUkc3JAyX_z0rx6e5Fvr6MmbmF2-m7r0w09JvbxPZ8-wVCqY4xUQayTznZf02mdCv6oEI/s1600/IMG_2146+handheld+current+consumption.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuHSDi1IiHbd-B7BncwsAMQBvjRoCsvJkK8XPKE3IIr3cXsHMfWXjhokONlJBynZerVhNWJFOUkc3JAyX_z0rx6e5Fvr6MmbmF2-m7r0w09JvbxPZ8-wVCqY4xUQayTznZf02mdCv6oEI/s200/IMG_2146+handheld+current+consumption.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ09RQSMM3oW2kjiUBjCXmBKPppMgI97HHcEe8fTMuhOcs3vaQF-tKBuwayHViFHIjPXLJrh0MdDXGCY-0po5WT8WykCJwrULG4U-nZl9pKRz6N97xzI-oyMls4UNj-sBlUEtu7hb_330/s1600/handheld+consumption+acquisition.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="426" data-original-width="726" height="116" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ09RQSMM3oW2kjiUBjCXmBKPppMgI97HHcEe8fTMuhOcs3vaQF-tKBuwayHViFHIjPXLJrh0MdDXGCY-0po5WT8WykCJwrULG4U-nZl9pKRz6N97xzI-oyMls4UNj-sBlUEtu7hb_330/s200/handheld+consumption+acquisition.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnV0HEF9q_ENQFc9y7Q7f5tMjrrVj4hyphenhyphencUjr2hS9H-UmwgeSNjk6vzhxrtppc9NMAeGnb1dM-vYAmmsA-LnBVGST0O3IkufA1-3Tp2a9vAr_yMDyrsQGXe_nWE9q_KzWBmgTOWsooXt5I/s1600/handheld+consumption+normal.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="427" data-original-width="726" height="117" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnV0HEF9q_ENQFc9y7Q7f5tMjrrVj4hyphenhyphencUjr2hS9H-UmwgeSNjk6vzhxrtppc9NMAeGnb1dM-vYAmmsA-LnBVGST0O3IkufA1-3Tp2a9vAr_yMDyrsQGXe_nWE9q_KzWBmgTOWsooXt5I/s200/handheld+consumption+normal.png" width="200" /></a></div>
These two charts show 10s snippets of the Handheld's current consumption. First during the time the GPS module ran the acquisition engine (84.7mA on average), and then after few minutes when the module transitioned to the less power demanding tracking engine (75.5mA on average). Notice the regular spikes every second when the module computes a new positional solution as it is set up to do so in the default continuous mode. The measurement was done using the <a href="http://tt7hab.blogspot.com/2018/02/the-current-custom.html"><span class="st" data-hveid="46" data-ved="0ahUKEwilw7349KraAhWSZ1AKHb5GDcQQ4EUILjAA">μ</span>Current</a> in mA range whose output was sampled by an Arduino Mega. The Arduino averaged 100 ADC samples every 12ms using its internal 1.1V reference and sent the result to PC via the Serial interface. The LiPo battery was charged to 4.11V at the time.<br />
<br />
<br />
<b>LoRa STATION</b><br />
<a href="https://github.com/TomasTT7/LoRa_SSDV/blob/master/Station/ProMini_LoRa_Station.ino">ProMini_LoRa_Station.ino</a><br />
<a href="https://github.com/TomasTT7/LoRa_SSDV/blob/master/LoRa_Gateway.py">LoRa_Gateway.py</a><br />
The last piece of the puzzle is a two part PC based receiver. In terms of hardware, it is the simplest and consists of an Arduino ProMini, an RFM96W LoRa module and a USB to UART converter for the Arduino. The second part then is a Gateway software written in Python.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjKF_CePrktJ70Wuujd8jKQ4-YuHG1erK_a68t2Sg5RQrYUJE4-vq4Q-NnCAWEU5ZwnN71BYC030sXx8ONarXuN3SNe8QjfEPcAmBHtsqHI7YsLQBYPltbwgoU145ogH78HVMKpsPy7ro/s1600/IMG_2185+station_hardware.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjKF_CePrktJ70Wuujd8jKQ4-YuHG1erK_a68t2Sg5RQrYUJE4-vq4Q-NnCAWEU5ZwnN71BYC030sXx8ONarXuN3SNe8QjfEPcAmBHtsqHI7YsLQBYPltbwgoU145ogH78HVMKpsPy7ro/s200/IMG_2185+station_hardware.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPzJymZCLlslFdiIRcDJwFb8UGLrKvxHYUy_i0RQkwX8WSIhsJbycWSY269QZOjSMXT6JuFyNtBgJhA2Rxorw64M6NsUk6CsDZOL7yvMrKBJMLJYFH8hq04n3hBQUMqeFZ4bdHr3NzNg0/s1600/IMG_2173+station_hardware.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPzJymZCLlslFdiIRcDJwFb8UGLrKvxHYUy_i0RQkwX8WSIhsJbycWSY269QZOjSMXT6JuFyNtBgJhA2Rxorw64M6NsUk6CsDZOL7yvMrKBJMLJYFH8hq04n3hBQUMqeFZ4bdHr3NzNg0/s200/IMG_2173+station_hardware.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
The LoRa transceiver was put inside a small aluminium case while the SMA connector of the adapter board allows for connecting a coaxial cable to an outdoor antenna. <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhH0OERq85xfweniGwl2JbIz2t__HkA285V3r6GCutY-mY97u1uNCZjmhtWoowMPUwxvOitWwO7uca8PsxThRVgsekspWnJVBCnvE3t4VwrILjg8wTvTuKMg1m6R18IgCqMyuBVpzpGJcw/s1600/IMG_2182+station_usb_to_uart.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhH0OERq85xfweniGwl2JbIz2t__HkA285V3r6GCutY-mY97u1uNCZjmhtWoowMPUwxvOitWwO7uca8PsxThRVgsekspWnJVBCnvE3t4VwrILjg8wTvTuKMg1m6R18IgCqMyuBVpzpGJcw/s200/IMG_2182+station_usb_to_uart.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGZFkIp-uvBFO_M4wpLMO9rWvH9CWev8vsa-YBnzmGkNEUv8ZWMCUS4bsJ3BHN8Puu1HqG2BUTUxliPwqADIZSFl6xsaQrOzRLabx69PR3r6Gs1IYs4anujPvwfA7yyzpzbfbmEd5TVFI/s1600/IMG_2180+cp2102+modification.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="809" data-original-width="1079" height="149" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGZFkIp-uvBFO_M4wpLMO9rWvH9CWev8vsa-YBnzmGkNEUv8ZWMCUS4bsJ3BHN8Puu1HqG2BUTUxliPwqADIZSFl6xsaQrOzRLabx69PR3r6Gs1IYs4anujPvwfA7yyzpzbfbmEd5TVFI/s200/IMG_2180+cp2102+modification.JPG" width="200" /></a></div>
The ProMini doesn't have a USB interface on its own and requires external components to establish a connection to a PC. I used these cheap Ebay USB to UART bridges. The larger one works without issues and automatically level-shifts the RX and TX lines from the USB's 5V to 3.3V logic when 3.3V option is selected with a jumper. The second CP2102 based bridge, however, requires a slight modification. All these modules are sold as 3.3V models, but have a reset pin tied to VBUS, the USB voltage, which then raises the 3.3V lines to more than 4V. This can be repaired by cutting the trace between the reset pin and a capacitor as shown in the image above. After doing that, the voltage on RX, TX, DTR and 3.3V falls to 3.3V as probably originally intended.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqnG2xD-l4pd6hkW0dB4erfxOmYZ39FBeTH06rTibJCgamcqVOTGEyYm64IZNwu4awUSCcvnAj2TDdRwA1-0O4n9yj2dtOsYFBp9qqk47gzpD9Q3fljIu2eoEB4dYYxZzjS2_frNHKP2E/s1600/gateway+communication.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="494" data-original-width="626" height="157" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqnG2xD-l4pd6hkW0dB4erfxOmYZ39FBeTH06rTibJCgamcqVOTGEyYm64IZNwu4awUSCcvnAj2TDdRwA1-0O4n9yj2dtOsYFBp9qqk47gzpD9Q3fljIu2eoEB4dYYxZzjS2_frNHKP2E/s200/gateway+communication.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3r1oiIl6LDnAYwEjjiNXGkY3tnShGDvQ0bUUYBMzeoQFyclo4zhiS71nKa76z9yPFcgfJC9NE-l4BK7t6kFYTP9kT9BEZXkVc6YdcOPexZk4vlzpguABoHYUQ9V2pz34qYzkhJYE9QJk/s1600/gateway+protocol+03.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="492" data-original-width="625" height="156" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3r1oiIl6LDnAYwEjjiNXGkY3tnShGDvQ0bUUYBMzeoQFyclo4zhiS71nKa76z9yPFcgfJC9NE-l4BK7t6kFYTP9kT9BEZXkVc6YdcOPexZk4vlzpguABoHYUQ9V2pz34qYzkhJYE9QJk/s200/gateway+protocol+03.PNG" width="200" /></a></div>
The first piece of software is a code for the Arduino. It is programmed to initialize the LoRa module, then to send information about the default parameters over the Serial interface (500,000 Baud), and to enter the main loop where it listens for further commands. The communication protocol between the Arduino and the Gateway on the PC side is illustrated in the two images above. The image on the right describes the individual identifiers that precede the actual data being sent. The data packets are delimited with a new line character '\n'. The image on the left then shows the communication as packets sent by the Arduino right after it was reset upon opening of the Serial port. The thirteenth line contains an acknowledgement of a command sent from the Gateway to switch the LoRa module to Receive Continuous mode. That is evidenced further in the periodic RSSI readings sent every second with the identifier 'r:' which now show updating values.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhW2DizkAD5NcrxirmyuyUBeZeAQtXmxr2xpN2moltydrz6H4ZaNXZBxWP4scCV2qDuAvQS7XHIDfi3uqj3ZjAL7MCgSRprL3S1Nn3OdpyIXIiqMGMT99FYZdABr8du3elCNOQ_uf9-BZY/s1600/gateway+03.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="668" data-original-width="1158" height="115" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhW2DizkAD5NcrxirmyuyUBeZeAQtXmxr2xpN2moltydrz6H4ZaNXZBxWP4scCV2qDuAvQS7XHIDfi3uqj3ZjAL7MCgSRprL3S1Nn3OdpyIXIiqMGMT99FYZdABr8du3elCNOQ_uf9-BZY/s200/gateway+03.png" width="200" /></a></div>
The Gateway itself was written in Python 2.7. It uses Tkinter to structure the GUI and individual Tkinter widgets to display the data sent by the Arduino, issue commands to the Arduino, and for a couple more additional functions. All commands and information packets sent between the Arduino and the Gateway are in ASCII characters (Serial.print()). The only exceptions are the received LoRa packets which are sent as raw bytes (Serial.write()).<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGS6YJ2iIaYJwAsuzxed1npmdDMBevXpJRp_usKsEgXQVGQTDz2qBEhvGOO8iJXEHR8QgFp-kZjFfD7fwVlkB6v4eT9DCGZ6c1UfKDHN4tY7zfGNLCu0mhLmHZgavJOEZT4MhDvp1G6aQ/s1600/gateway+04+ssdv+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="669" data-original-width="1158" height="115" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGS6YJ2iIaYJwAsuzxed1npmdDMBevXpJRp_usKsEgXQVGQTDz2qBEhvGOO8iJXEHR8QgFp-kZjFfD7fwVlkB6v4eT9DCGZ6c1UfKDHN4tY7zfGNLCu0mhLmHZgavJOEZT4MhDvp1G6aQ/s200/gateway+04+ssdv+01.png" width="200" /></a></div>
Upon connecting to the serial port, the Gateway starts processing the Arduino's data packets. If the LoRa module receives a packet from another LoRa transmitter, the Arduino identifies the data as UKHAS style telemetry, SSDV, or an unidentified packet, and sends it to the Gateway with an appropriate identifier. Right after that, it sends information about the transmission such as the frequency error, the packet's SNR, the packet's RSSI and the latest RSSI as well. Both the packet and the associated information are then displayed in the Gateway. Received SSDV packets are displayed as details about the image contained in the packet. If positional information about the receiver are filled in, the Gateway calculates the line of sight distance, the great circle distance, and the azimuthal and elevation angles from the receiver to the transmitter after each new telemetry packet. It is necessary though that the telemetry is formatted: callsign, sentenceID, time, latitude (decimal degrees), longitude (decimal degrees), altitude. The remaining comma delimited fields are optional. By default, "Save Data to File" is checked and all received packets are saved to three different files, depending on the packet type, inside the folder where LoRa_Gateway.py resides.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0ePVoLihJBDat8EivUJa6Res-dVcI8NsMKTPjAbJoQhw5FkIlnnAwqgLt7m6dX1Pd3yIxYxb5qxp-e0IEWQ2wQ20mzHcYQjzjAPZhP9i-l4ZzYCtZkVSgBLHZMAQCS8V7cXNPg-lkhyphenhyphenE/s1600/IMG_2128+gateway+telemetry+test.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0ePVoLihJBDat8EivUJa6Res-dVcI8NsMKTPjAbJoQhw5FkIlnnAwqgLt7m6dX1Pd3yIxYxb5qxp-e0IEWQ2wQ20mzHcYQjzjAPZhP9i-l4ZzYCtZkVSgBLHZMAQCS8V7cXNPg-lkhyphenhyphenE/s200/IMG_2128+gateway+telemetry+test.JPG" width="150" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjQgh7v2uwxB5vN1Bn4kyc5RVXhLu1ecnxXlu2jb1uqeOUDi6NW3YmLdzEt4QE96QX_pLY3h97lbw6ESGDc983Xn-X4c_nsuDofG8yj8MqEWbK4Ag99CPHN8P6FNqo0f5oTT7g2DvuVOM/s1600/gateway+02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="669" data-original-width="1158" height="115" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjQgh7v2uwxB5vN1Bn4kyc5RVXhLu1ecnxXlu2jb1uqeOUDi6NW3YmLdzEt4QE96QX_pLY3h97lbw6ESGDc983Xn-X4c_nsuDofG8yj8MqEWbK4Ag99CPHN8P6FNqo0f5oTT7g2DvuVOM/s200/gateway+02.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLL878ZdJUjAJuzggtN4QGmdIE4kBMSFsIB4ge4D7ypy4VZag-LWAhU7_SApC6B3DS8BseeO_M0MqS8A5kacGXHhyphenhyphen2_ubDnJLisDwY2h6VHfSITSWz15H3-N9N5-Bu-zwtY68B0dZwhYQ/s1600/gateway+02+map2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="766" data-original-width="1100" height="138" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLL878ZdJUjAJuzggtN4QGmdIE4kBMSFsIB4ge4D7ypy4VZag-LWAhU7_SApC6B3DS8BseeO_M0MqS8A5kacGXHhyphenhyphen2_ubDnJLisDwY2h6VHfSITSWz15H3-N9N5-Bu-zwtY68B0dZwhYQ/s200/gateway+02+map2.jpg" width="200" /></a></div>
The GUI also provides an "Upload Data to Habitat" checkbox. If the receiver data is filled in and uploading is allowed, the Gateway first creates the listener information and listener telemetry documents (these put the receiver icons on the <a href="https://tracker.habhub.org/">tracker</a> map) in Habitat's CouchDB database, and then it continues creating the payload telemetry documents with every new telemetry string received (this puts the balloon icon on the map and updates its position). The first proper test of the uploading functionality is documented in the images and screens above. I took a simple tracker for a short walk and had the Gateway listen and upload the telemetry to the database. There was a couple of missed packets as the receiving antenna was only inside the house, but overall the tracker showed the path I had walked quite nicely. The "Estimated SNR" values and the 'snr' attached to every received packets are SNR readings reported by the LoRa module if the value is less than 5. If it is higher, it is calculated as the packet's RSSI minus the latest measured RSSI value. This assumes that the latest RSSI value measures the noise floor when there aren't any transmissions in the bandwidth. However, that may not always be the case especially if there is no delay between individual packets. Note also that the formatting of some of the information displayed by the Gateway has changed a little since the screenshot was taken.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6SobHya96tLcr84XpwAZk4DBMUArvXRkXlG65nl2eBIDV3cflf1QDgJDR7weOjtBR62JWXxL7mn_Cciwnql60CR3kzhD2NcKw5q_ItH35btWQIKoX7emL3S4iUaWwT2i4-00RHoMSuZo/s1600/gateway+03+ssdv+05.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="669" data-original-width="1157" height="115" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6SobHya96tLcr84XpwAZk4DBMUArvXRkXlG65nl2eBIDV3cflf1QDgJDR7weOjtBR62JWXxL7mn_Cciwnql60CR3kzhD2NcKw5q_ItH35btWQIKoX7emL3S4iUaWwT2i4-00RHoMSuZo/s200/gateway+03+ssdv+05.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVGzKIeuu-UbfOcZDG_Q9HU4qPDx2gFHKZq_ouCVrl99IsYKDaopCCBEX2XSW3v5VVJBLuUj8vXv35Hxi_dkacRnBZdGXlWVTSgU0v8JCdNMjtPC0hR8hM_pu91gLbp_Z-ed42aUG09TA/s1600/gateway+04+ssdv+03.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="670" data-original-width="1158" height="115" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVGzKIeuu-UbfOcZDG_Q9HU4qPDx2gFHKZq_ouCVrl99IsYKDaopCCBEX2XSW3v5VVJBLuUj8vXv35Hxi_dkacRnBZdGXlWVTSgU0v8JCdNMjtPC0hR8hM_pu91gLbp_Z-ed42aUG09TA/s200/gateway+04+ssdv+03.jpg" width="200" /></a></div>
Since SSDV packets are 256 bytes long, but the LoRa modules can transmit only 255 byte packets, the first Sync Byte (0x55) of every SSDV packet is omitted by the transmitting tracker and added by the receiving Arduino. The Gateway then, if "Save Data to File" is checked, stores the raw packets in individual image files in a folder "raw" which is created inside the main folder where LoRa_Gateway.py resides. The Gateway expects a compiled command line <a href="https://github.com/fsphil/ssdv">tool</a> SSDV.exe to be in the main folder. It is periodically called using Python's subprocess module whenever there are newly received SSDV packets to decode the raw files to jpeg images. These are then located in the main folder and the latest image can be displayed automatically if "Show Latest Image" is checked. Just like in case of telemetry, if "Upload Data to Habitat" is checked as well, every received SSDV packet is re-formatted to HEX, attached to an HTML POST request, and sent to the SSDV server. In terms of the Gateway, this works by adding another item to a queue in an uploading thread running in the background. On a PC with stable Internet connection (on average it took 195ms for the SSDV server to respond), the Gateway didn't seem to have any problems uploading even in the fastest LoRa mode 9. Note, however, that in this case there is about 130-160ms delay between individual packets which are taken up by the Arduino's processing. In case of a faster packet rate the uploading queue may start building up.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqHhVkbSxPd1s3xaOGOfgppA-irLe9tLk1cs2EaCwHaHDVgtf6yLrHX1Wp7ow3StG_jfqend5Rh5AAUDtNmabVz7d-A1_b6giSnw7m70heUMCIW4bEOzhe69zMRt6Op_I16UN1H_QiilQ/s1600/format+couchDB+listener+information+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="153" data-original-width="330" height="92" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqHhVkbSxPd1s3xaOGOfgppA-irLe9tLk1cs2EaCwHaHDVgtf6yLrHX1Wp7ow3StG_jfqend5Rh5AAUDtNmabVz7d-A1_b6giSnw7m70heUMCIW4bEOzhe69zMRt6Op_I16UN1H_QiilQ/s200/format+couchDB+listener+information+01.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjv9qHL79fQgDewXEwHA_y8A1zZmTpBbLO0OtTlre2QMGWswtOHLkWm5ykpX0-hpDK7GgsTINtPyTXQL19j7BzQfm_HveBmF392_FC8mEAGNJW6lIMmc-hYGMklKTsi7xIaQ85nDJyLiC0/s1600/format+couchDB+listener+telemetry+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="167" data-original-width="328" height="101" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjv9qHL79fQgDewXEwHA_y8A1zZmTpBbLO0OtTlre2QMGWswtOHLkWm5ykpX0-hpDK7GgsTINtPyTXQL19j7BzQfm_HveBmF392_FC8mEAGNJW6lIMmc-hYGMklKTsi7xIaQ85nDJyLiC0/s200/format+couchDB+listener+telemetry+01.png" width="200" /></a></div>
To provide some specific examples, these are the structures of the listener_information and listener_telemetry documents sent by the Gateway to Habitat's CouchDB database. The Uploader class in <a href="http://habitat.readthedocs.io/en/latest/habitat.html">Habitat Code Documentation</a> contains a working example of how to do this in software. A Python's dictionary representation of the JSON data block from above is passed to save_doc() method in couchdbkit module which PUTs or POSTs it to the database.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXrz6y7fKe5jY1WBdBvcvbUMa3x2Bkg5hdeGuKEIIvNutXeE2AVbkq9JyUZjMfKZlXxOBjj_EqbTw7x6z0l-wIUw3jkcWFos1hA4mWVNca5DxXWxBUEJSsLZscC4hXi1oq4AaKNvxgcHg/s1600/format+couchDB+payload+telemetry+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="196" data-original-width="634" height="61" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXrz6y7fKe5jY1WBdBvcvbUMa3x2Bkg5hdeGuKEIIvNutXeE2AVbkq9JyUZjMfKZlXxOBjj_EqbTw7x6z0l-wIUw3jkcWFos1hA4mWVNca5DxXWxBUEJSsLZscC4hXi1oq4AaKNvxgcHg/s200/format+couchDB+payload+telemetry+01.png" width="200" /></a></div>
Similarly, the Uploader class illustrates how to upload a payload_telemetry document. The raw telemetry string is encoded in Base64 format, and information about the receiver is added. The document ID under which it is then stored in the database is the original telemetry string in Base64 format hashed with SHA256 algorithm. In this way, different receivers can be gathered under one document. The document is PUT to the database using the requests module.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBrP4c19Fp1LuJInvA4KICRHWpcgTIGwbpksJBfxaK1rJDepVxV7kgSxb1DBu5oMECLFix06DA4gIH9inBlJ4voOI-Pjytr8-SZo9Xto5fUzGmULjPt4dVN7LwVcr6iqabdCPFc-DnxFM/s1600/format+http+post+ssdv+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="301" data-original-width="569" height="105" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBrP4c19Fp1LuJInvA4KICRHWpcgTIGwbpksJBfxaK1rJDepVxV7kgSxb1DBu5oMECLFix06DA4gIH9inBlJ4voOI-Pjytr8-SZo9Xto5fUzGmULjPt4dVN7LwVcr6iqabdCPFc-DnxFM/s200/format+http+post+ssdv+01.png" width="200" /></a></div>
In case of SSDV uploading, I haven't come across any documentation, so I had to look into existing pieces of software (dl-fldigi, PITS gateway, DL7AD's uploader) to find out how to do it. In the end, I put together upload_ssdv_packet() method which reformats the SSDV packet to a hex format as in the example above. It then creates two dictionaries: headers and data, which are the basis of a subsequent POST request to the SSDV server.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyy-sEGZFjmuX-IbWhUL7ktsFKt03PpgZMJtzSDRJ7lkP8G72-5ZZjPgvPeph3n8ljDBWsBkDpEK-DziitEk3Gpug0PWCVFRbn6TqXfnDWMKufoNJ1jGmIwlBy55CwUQqTP_Aa33J9TOI/s1600/IMG_2204+full+test+payload.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyy-sEGZFjmuX-IbWhUL7ktsFKt03PpgZMJtzSDRJ7lkP8G72-5ZZjPgvPeph3n8ljDBWsBkDpEK-DziitEk3Gpug0PWCVFRbn6TqXfnDWMKufoNJ1jGmIwlBy55CwUQqTP_Aa33J9TOI/s200/IMG_2204+full+test+payload.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNTOBG3HE-dmUJXwarYu2Ylzm6pfn8cdBuxqyLw4oAa1cv7YO72iLA4PBuj2mf9FW9mkUK2xYVJTADSt4D8n4C4Tu2WbdatIo0mf6evh4mxI4bQA2vAaYUanpqQE7vnrIHMaJjkfVAGTk/s1600/IMG_2219+full+test+station.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNTOBG3HE-dmUJXwarYu2Ylzm6pfn8cdBuxqyLw4oAa1cv7YO72iLA4PBuj2mf9FW9mkUK2xYVJTADSt4D8n4C4Tu2WbdatIo0mf6evh4mxI4bQA2vAaYUanpqQE7vnrIHMaJjkfVAGTk/s200/IMG_2219+full+test+station.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEig3Jtw1TYMZ1Ab-EFt0kNl6PTTauycPOPNc5J1p5D4n6j9fbg8ObyuRf4NykopaY9fbxO9npKieGccr366Qetba0nvQmDoQFtsMwMVg_S3obnXfLtXZxe1lbYTS2nKdi1dgsvnPjBBWkQ/s1600/IMG_2226+full+test+station.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEig3Jtw1TYMZ1Ab-EFt0kNl6PTTauycPOPNc5J1p5D4n6j9fbg8ObyuRf4NykopaY9fbxO9npKieGccr366Qetba0nvQmDoQFtsMwMVg_S3obnXfLtXZxe1lbYTS2nKdi1dgsvnPjBBWkQ/s200/IMG_2226+full+test+station.JPG" width="150" /></a></div>
Once all the individual pieces were completed, it was time for a final test of the full system. The images illustrate how the Payload, Station and the receiving antenna were set up. The payload was moved around the garden a couple of times to get a different scenery in the transmitted images.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEip5A5Qjsz7NW7yyZ7zXFDRu8L0KCq4kDbJyhGPobRkPudM7FvdbSe1OOvuB5DJeCHMT7YurvytgHdeqGq8PaF8_ffVymEJ4i3RzBkpOghNe6jW9cRCu6StH7wS-n9xrhLdI-tgWma88cA/s1600/IMG_2207+full+test+handheld+slow+telem.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEip5A5Qjsz7NW7yyZ7zXFDRu8L0KCq4kDbJyhGPobRkPudM7FvdbSe1OOvuB5DJeCHMT7YurvytgHdeqGq8PaF8_ffVymEJ4i3RzBkpOghNe6jW9cRCu6StH7wS-n9xrhLdI-tgWma88cA/s200/IMG_2207+full+test+handheld+slow+telem.JPG" width="200" /></a></div>
The Handheld showing successful reception of the slow LoRa mode 7 telemetry. The computed distances and angles were all within expected GPS drift at this proximity. Note the heavy active GPS antenna on the Handheld was replaced with a lighter passive PCB antenna in the end.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi03Y7dcYuRFlyoadpH4xZdtqE1-4pDrVVCqxXLGiRIA2yPEY9kyzMxJeP9yiiaNtZMSV545iqhe_gftW90hPN4NhOFBLhOkneGWUB39m6pGuA76MHOqF7NgdSj_jRBszmFnf4qgrwthnk/s1600/gateway+06+full+02.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="668" data-original-width="1157" height="115" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi03Y7dcYuRFlyoadpH4xZdtqE1-4pDrVVCqxXLGiRIA2yPEY9kyzMxJeP9yiiaNtZMSV545iqhe_gftW90hPN4NhOFBLhOkneGWUB39m6pGuA76MHOqF7NgdSj_jRBszmFnf4qgrwthnk/s200/gateway+06+full+02.jpg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzVdj_7nGIPLH9xqdY3RZLV0aAnbHf683Bd1Bkzmt-TvbD8biojex9C2dNCD_sq4u13PUAwBc_B1FlmiQg3XRr6WqVfavzImD2U7YQgBd9n9bjR07oSoWF-N5X2jqfx5v9AWOZaWHDmP0/s1600/gateway+06+full+03.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="668" data-original-width="1156" height="115" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzVdj_7nGIPLH9xqdY3RZLV0aAnbHf683Bd1Bkzmt-TvbD8biojex9C2dNCD_sq4u13PUAwBc_B1FlmiQg3XRr6WqVfavzImD2U7YQgBd9n9bjR07oSoWF-N5X2jqfx5v9AWOZaWHDmP0/s200/gateway+06+full+03.png" width="200" /></a></div>
A couple of screen grabs of the Gateway in action. The image on the right captures the delay between two SSDV images during which the Payload's Arduino processed the JPEG in SSDV check. More complex the scenery, larger the image size, longer the delay.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2Cd5uQVTkmpT55egKmZ4_G3qpYRs1gGtHOkl0SI379WU5HV1d7ibBa8rIUMj_PEf_hemB-5WbNFEOY_3V5oR6mUTG6BlAkmwB85uKJpxAALdexPBzebgrBmnVevAXcKnJ6NwVqSpj09Q/s1600/gateway+06+map+03.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="765" data-original-width="1102" height="138" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2Cd5uQVTkmpT55egKmZ4_G3qpYRs1gGtHOkl0SI379WU5HV1d7ibBa8rIUMj_PEf_hemB-5WbNFEOY_3V5oR6mUTG6BlAkmwB85uKJpxAALdexPBzebgrBmnVevAXcKnJ6NwVqSpj09Q/s200/gateway+06+map+03.jpg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7AbXYbIr8JhtncoVquo-EiCCPEQHajDt1Lzndcv9MCrlXeS5cpLeDhyphenhyphenAVCKJcOwZmhF8gKUIn1nhm7643knzoOlUgDBMJACaAmSYTqESrOPxoc7eCvrgupH9-_jPRfyoMGi_plP1O6RY/s1600/gateway+06+ssdv+05.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="766" data-original-width="1085" height="140" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7AbXYbIr8JhtncoVquo-EiCCPEQHajDt1Lzndcv9MCrlXeS5cpLeDhyphenhyphenAVCKJcOwZmhF8gKUIn1nhm7643knzoOlUgDBMJACaAmSYTqESrOPxoc7eCvrgupH9-_jPRfyoMGi_plP1O6RY/s200/gateway+06+ssdv+05.jpg" width="200" /></a></div>
Over the course of an hour the Gateway received and uploaded about 10,000 SSDV and telemetry packets in LoRa mode 4. Out of 35 transmitted images 7 suffered some of the errors described previously. The two screen grabs above document the test as captured by the <a href="https://tracker.habhub.org/">tracker</a> and <a href="https://ssdv.habhub.org/newindex.php">ssdv</a> web pages.TT7http://www.blogger.com/profile/11095378058232471221noreply@blogger.com9tag:blogger.com,1999:blog-7063183727921268380.post-84717183759651962532018-03-24T17:58:00.000+01:002018-09-08T03:27:36.633+02:00The GPS Module Drift<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqmsh1qV3cPwYzUxPRVDU3GjvXk4cpiwyS2iRW4i2AhJtgni4GHRH5uKERhE4_xkOYp1pS_SqvC-43rwxZXa6l0PLDKacD40P4O8lXJ2K5losFzvNz9ZCtSJR0ThhAfr0GYtf5FdL_8Wc/s1600/IMG_2024+ublox+NEO7M.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqmsh1qV3cPwYzUxPRVDU3GjvXk4cpiwyS2iRW4i2AhJtgni4GHRH5uKERhE4_xkOYp1pS_SqvC-43rwxZXa6l0PLDKacD40P4O8lXJ2K5losFzvNz9ZCtSJR0ThhAfr0GYtf5FdL_8Wc/s200/IMG_2024+ublox+NEO7M.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWO0osSmh9-Teovlker7CdE9VmuIzS2CNuwiTzjUur4oGMhhTABUGvV2EWPcv7lO8PuIk8bObnhrnn5B14NDBiCYWCy9NB_aCj7ijG1jsuZxNXfS9bsiBh8lCkf8_am6VnDmSrRa1LWwQ/s1600/IMG_2025+ublox+NEO7M.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWO0osSmh9-Teovlker7CdE9VmuIzS2CNuwiTzjUur4oGMhhTABUGvV2EWPcv7lO8PuIk8bObnhrnn5B14NDBiCYWCy9NB_aCj7ijG1jsuZxNXfS9bsiBh8lCkf8_am6VnDmSrRa1LWwQ/s200/IMG_2025+ublox+NEO7M.JPG" width="150" /></a></div>
Lately, I've been working on a simple LoRa tracker/receiver system using cheap available parts from Ebay. One of those parts were these NEO-7M u-blox breakout boards. I don't know whether they are genuine u-blox modules or some knock-offs, either way there is plenty of them on Ebay, Aliexpress, etc. and they seem to work (a predecessor to these, NEO-6M, was part of the tracker on my very first high altitude balloon). During tests, I noticed a varying degree of drift in reported position by stationary trackers which led me to doing a couple of comparisons and measurements, and consequently this blog post.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIwlPsm_yiZX7tUIFOJTWMfiiokkdc2STH7lgrk_MJ-6rN5C4_A35ZlM-o2VwfyhxJgeIE_m1IubQiE59-2kLiatga8d2oLFZswuVfTyUjPIaH-5QNcajncSdoFaDloWXGSuuqReHd4nA/s1600/IMG_2113+GPS+module+antennas.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIwlPsm_yiZX7tUIFOJTWMfiiokkdc2STH7lgrk_MJ-6rN5C4_A35ZlM-o2VwfyhxJgeIE_m1IubQiE59-2kLiatga8d2oLFZswuVfTyUjPIaH-5QNcajncSdoFaDloWXGSuuqReHd4nA/s200/IMG_2113+GPS+module+antennas.JPG" width="200" /></a></div>
The modules arrived with small active ceramic antennas as pictured in the image above. To save some power in case of a need, I also ordered a couple of passive 2.4GHz PCB antennas that were advertised alongside the modules. At worst I could at least use their thin cable with the IPEX connectors to make a 1.575GHz wire/dipole antenna, I thought. However, as the following tests suggest, the 2.4GHz antenna seem to work fine at GPS frequencies as well. I tried to look for more information on both antennas, but as it often is with Ebay electronics, there weren't any datasheets nor specifications to be found. I tried to at least get an idea of the radiation patterns by skimming through datasheets of similarly constructed antennas. Generally, the PCB antennas tended to radiate like half-wave dipoles (a horizontal dipole in the way I positioned the antenna in the actual test) while the ceramic patch antennas radiated in one main lobe (upwards from the top if we consider the metal part of the antenna to be the bottom).<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjH-jtTR6-hsVjOLTdnxJrzXT0_6H3V1lDQ93uIdG32yCKWWXzV-dMS3xWYGhfkngHwX1vJn3Q_xlPIK7Uh-1o-lu1LViQemskCaZExa1HKTdKYkeX6iRRR4hXtW363UVdKpXTbi-rZqE4/s1600/IMG_2118+test+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjH-jtTR6-hsVjOLTdnxJrzXT0_6H3V1lDQ93uIdG32yCKWWXzV-dMS3xWYGhfkngHwX1vJn3Q_xlPIK7Uh-1o-lu1LViQemskCaZExa1HKTdKYkeX6iRRR4hXtW363UVdKpXTbi-rZqE4/s200/IMG_2118+test+tracker.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1eDzUM29F5GI05RfajfjqJOuZFbBmv4RYjp2GEQuunW3blD1DZLJnkFxvuG141mr6NM58_15GEJPi1AsT5fZjb_1ct7SecSRRn6oi9dp5RoCghO_bnI8ZO_TzMidnCfNsvnsKOEnEc_0/s1600/IMG_2116+test+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1eDzUM29F5GI05RfajfjqJOuZFbBmv4RYjp2GEQuunW3blD1DZLJnkFxvuG141mr6NM58_15GEJPi1AsT5fZjb_1ct7SecSRRn6oi9dp5RoCghO_bnI8ZO_TzMidnCfNsvnsKOEnEc_0/s200/IMG_2116+test+tracker.JPG" width="150" /></a></div>
The setup I tested with is a simple high altitude balloon tracker put together from an Arduino Pro Mini, an RFM96W LoRa module, the NEO-7M module, an LF33CV external regulator to supply 3.3V to the tracker, and a LiPo battery. <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpMXhEJmI-j5FdsBWsovDuHp3jR5TZZs8FF2kuifYNRrmPKqfmaODS4nrRcA7_Ubzx1OZECXwtoO3k5Wp1wonyNMYhcu3QCqvxcka3-Qg7YMoKFJGCNZQlzNNBvAEluVjDlnlk7owasm0/s1600/IMG_2110+ublox+ant+test.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpMXhEJmI-j5FdsBWsovDuHp3jR5TZZs8FF2kuifYNRrmPKqfmaODS4nrRcA7_Ubzx1OZECXwtoO3k5Wp1wonyNMYhcu3QCqvxcka3-Qg7YMoKFJGCNZQlzNNBvAEluVjDlnlk7owasm0/s200/IMG_2110+ublox+ant+test.JPG" width="200" /></a></div>
The tracker was placed outside with a decent view of the sky. The surrounding terrain isn't flat so the GPS module couldn't see all the way to the horizon.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidAPc7Ts0hNLSAX4wv1bocZwActOux9lofbtZyOD9NAgE6OZQ2mbSVZCh_Qn-RyqAyTvOUwWzfwe9iEz8e6E9C67mbHBF99eM4E052B9TqQye8oybLepjyisA5RxiXhU7JzEiZsYT3Zlc/s1600/IMG_2111+passive+ant+test.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidAPc7Ts0hNLSAX4wv1bocZwActOux9lofbtZyOD9NAgE6OZQ2mbSVZCh_Qn-RyqAyTvOUwWzfwe9iEz8e6E9C67mbHBF99eM4E052B9TqQye8oybLepjyisA5RxiXhU7JzEiZsYT3Zlc/s200/IMG_2111+passive+ant+test.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjruBCDzVwWWky-_pHWWzaxrkohLRPA3QapBOxsSCEr5MgfpJve0w1QfONaoDWZeOMnyK3XDmEle7V3y1KVyuRbMNLtJWK0jBjU5MFlPABT0YvzLKZpXlo19bY3EK6q6a7Rjowv6j_LcjY/s1600/IMG_2114+active+ant+test.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjruBCDzVwWWky-_pHWWzaxrkohLRPA3QapBOxsSCEr5MgfpJve0w1QfONaoDWZeOMnyK3XDmEle7V3y1KVyuRbMNLtJWK0jBjU5MFlPABT0YvzLKZpXlo19bY3EK6q6a7Rjowv6j_LcjY/s200/IMG_2114+active+ant+test.JPG" width="200" /></a></div>
These images show the positioning of the antennas during the tests. Aside from comparing the two antennas, I wanted to see the difference between using the u-blox module in Continuous mode (default, calculating positional solutions every second) and one of the Power Saving Modes (PSM). Specifically, I chose Cyclic mode with 5 second updates. This led to four different setups: active antenna in PSM, passive antenna in PSM, active antenna in Continuous mode, and passive antenna in Continuous mode. Each setup ran for 30 minutes, and they were scheduled in succession. I should also note that since the data was transmitted in the usual UKHAS telemetry format, the resolution of the latitude and longitude readings was processed to 5 decimal places in the tracker while the GPS modules themselves output values good to 7 decimal places. That led to a maximum resolution of 1.1m in latitude terms and 0.7m in longitude terms at the latitude I was.<br />
<br />
<div style="background: #f8f8f8; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;">
<pre style="line-height: 125%; margin: 0;"><span style="color: #204a87; font-weight: bold;">uint8_t</span> <span style="color: black;">setGGArate_off</span><span style="color: black; font-weight: bold;">[</span><span style="color: #0000cf; font-weight: bold;">16</span><span style="color: black; font-weight: bold;">]</span> <span style="color: #ce5c00; font-weight: bold;">=</span> <span style="color: black; font-weight: bold;">{</span><span style="color: #0000cf; font-weight: bold;">0xB5</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x62</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x06</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x01</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x08</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0xF0</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span>
<span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x01</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x24</span><span style="color: black; font-weight: bold;">};</span>
<span style="color: #204a87; font-weight: bold;">uint8_t</span> <span style="color: black;">setGLLrate_off</span><span style="color: black; font-weight: bold;">[</span><span style="color: #0000cf; font-weight: bold;">16</span><span style="color: black; font-weight: bold;">]</span> <span style="color: #ce5c00; font-weight: bold;">=</span> <span style="color: black; font-weight: bold;">{</span><span style="color: #0000cf; font-weight: bold;">0xB5</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x62</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x06</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x01</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x08</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0xF0</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x01</span><span style="color: black; font-weight: bold;">,</span>
<span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x01</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x01</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x2B</span><span style="color: black; font-weight: bold;">};</span>
<span style="color: #204a87; font-weight: bold;">uint8_t</span> <span style="color: black;">setGSArate_off</span><span style="color: black; font-weight: bold;">[</span><span style="color: #0000cf; font-weight: bold;">16</span><span style="color: black; font-weight: bold;">]</span> <span style="color: #ce5c00; font-weight: bold;">=</span> <span style="color: black; font-weight: bold;">{</span><span style="color: #0000cf; font-weight: bold;">0xB5</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x62</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x06</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x01</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x08</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0xF0</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x02</span><span style="color: black; font-weight: bold;">,</span>
<span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x01</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x02</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x32</span><span style="color: black; font-weight: bold;">};</span>
<span style="color: #204a87; font-weight: bold;">uint8_t</span> <span style="color: black;">setGSVrate_off</span><span style="color: black; font-weight: bold;">[</span><span style="color: #0000cf; font-weight: bold;">16</span><span style="color: black; font-weight: bold;">]</span> <span style="color: #ce5c00; font-weight: bold;">=</span> <span style="color: black; font-weight: bold;">{</span><span style="color: #0000cf; font-weight: bold;">0xB5</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x62</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x06</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x01</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x08</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0xF0</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x03</span><span style="color: black; font-weight: bold;">,</span>
<span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x01</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x03</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x39</span><span style="color: black; font-weight: bold;">};</span>
<span style="color: #204a87; font-weight: bold;">uint8_t</span> <span style="color: black;">setRMCrate_off</span><span style="color: black; font-weight: bold;">[</span><span style="color: #0000cf; font-weight: bold;">16</span><span style="color: black; font-weight: bold;">]</span> <span style="color: #ce5c00; font-weight: bold;">=</span> <span style="color: black; font-weight: bold;">{</span><span style="color: #0000cf; font-weight: bold;">0xB5</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x62</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x06</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x01</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x08</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0xF0</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x04</span><span style="color: black; font-weight: bold;">,</span>
<span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x01</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x04</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x40</span><span style="color: black; font-weight: bold;">};</span>
<span style="color: #204a87; font-weight: bold;">uint8_t</span> <span style="color: black;">setVTGrate_off</span><span style="color: black; font-weight: bold;">[</span><span style="color: #0000cf; font-weight: bold;">16</span><span style="color: black; font-weight: bold;">]</span> <span style="color: #ce5c00; font-weight: bold;">=</span> <span style="color: black; font-weight: bold;">{</span><span style="color: #0000cf; font-weight: bold;">0xB5</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x62</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x06</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x01</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x08</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0xF0</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x05</span><span style="color: black; font-weight: bold;">,</span>
<span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x01</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x05</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x47</span><span style="color: black; font-weight: bold;">};</span>
<span style="color: #8f5902; font-style: italic;">// _delay_ms(100);</span>
<span style="color: #204a87; font-weight: bold;">uint8_t</span> <span style="color: black;">setNAVmode</span><span style="color: black; font-weight: bold;">[</span><span style="color: #0000cf; font-weight: bold;">44</span><span style="color: black; font-weight: bold;">]</span> <span style="color: #ce5c00; font-weight: bold;">=</span> <span style="color: black; font-weight: bold;">{</span><span style="color: #0000cf; font-weight: bold;">0xB5</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x62</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x06</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x24</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x24</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0xFF</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0xFF</span><span style="color: black; font-weight: bold;">,</span>
<span style="color: #0000cf; font-weight: bold;">0x06</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x03</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x10</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x27</span><span style="color: black; font-weight: bold;">,</span>
<span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x05</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0xFA</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0xFA</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span>
<span style="color: #0000cf; font-weight: bold;">0x64</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x2C</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x01</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x3C</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span>
<span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span>
<span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x52</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0xE8</span><span style="color: black; font-weight: bold;">};</span>
<span style="color: #8f5902; font-style: italic;">// _delay_ms(100);</span>
</pre>
</div>
<br />
This sequence of UBX messages illustrates the common part of the GPS module initialization for all four setups. By default u-blox modules output a set of NMEA messages every second. The first six commands change their output rate to zero so that the serial interface isn't flooded by them. The last UBX message sets the GPS receiver in Airborne mode which extends its operational limits to 50km in altitude (a must in high altitude balloon application). <br />
<br />
<div style="background: #f8f8f8; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;">
<pre style="line-height: 125%; margin: 0;"><span style="color: #204a87; font-weight: bold;">uint8_t</span> <span style="color: black;">setupPSM_5s</span><span style="color: black; font-weight: bold;">[</span><span style="color: #0000cf; font-weight: bold;">52</span><span style="color: black; font-weight: bold;">]</span> <span style="color: #ce5c00; font-weight: bold;">=</span> <span style="color: black; font-weight: bold;">{</span><span style="color: #0000cf; font-weight: bold;">0xB5</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x62</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x06</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x3B</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x2C</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x01</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x06</span><span style="color: black; font-weight: bold;">,</span>
<span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x98</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x03</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x88</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x13</span><span style="color: black; font-weight: bold;">,</span>
<span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x10</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x27</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span>
<span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x2C</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x01</span><span style="color: black; font-weight: bold;">,</span>
<span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x4F</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0xC1</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x03</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x86</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x02</span><span style="color: black; font-weight: bold;">,</span>
<span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0xFE</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x64</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x40</span><span style="color: black; font-weight: bold;">,</span>
<span style="color: #0000cf; font-weight: bold;">0x01</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x4C</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0xA3</span><span style="color: black; font-weight: bold;">};</span>
<span style="color: #204a87; font-weight: bold;">uint8_t</span> <span style="color: black;">setPSM</span><span style="color: black; font-weight: bold;">[</span><span style="color: #0000cf; font-weight: bold;">10</span><span style="color: black; font-weight: bold;">]</span> <span style="color: #ce5c00; font-weight: bold;">=</span> <span style="color: black; font-weight: bold;">{</span><span style="color: #0000cf; font-weight: bold;">0xB5</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x62</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x06</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x11</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x02</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x08</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x01</span><span style="color: black; font-weight: bold;">,</span>
<span style="color: #0000cf; font-weight: bold;">0x22</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x92</span><span style="color: black; font-weight: bold;">};</span>
<span style="color: #8f5902; font-style: italic;">// _delay_ms(100);</span>
</pre>
</div>
<br />
This is the continuation of the initialization sequence in case of the power saving setups. The first message configures the power saving mode to Cyclic tracking, 5 second update period, 0 second on time, 0 second maxStartupStateDur, sets the doNotEnterOff flag, and enables periodic RTC and Ephemeris updates. The second message then actually sets the module in the power saving mode.<br />
<br />
<div style="background: #f8f8f8; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;">
<pre style="line-height: 125%; margin: 0;"><span style="color: #204a87; font-weight: bold;">uint8_t</span> <span style="color: black;">setCONT</span><span style="color: black; font-weight: bold;">[</span><span style="color: #0000cf; font-weight: bold;">10</span><span style="color: black; font-weight: bold;">]</span> <span style="color: #ce5c00; font-weight: bold;">=</span> <span style="color: black; font-weight: bold;">{</span><span style="color: #0000cf; font-weight: bold;">0xB5</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x62</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x06</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x11</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x02</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x08</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span>
<span style="color: #0000cf; font-weight: bold;">0x21</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x91</span><span style="color: black; font-weight: bold;">};</span>
<span style="color: #8f5902; font-style: italic;">// _delay_ms(100);</span>
</pre>
</div>
<br />
This, on the other hand, is the continuation of the common initialization sequence in case of the default high power mode. The UBX message sets the module in the Continuous mode.<br />
<br />
<div style="background: #f8f8f8; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;">
<pre style="line-height: 125%; margin: 0;"><span style="color: #204a87; font-weight: bold;">uint8_t</span> <span style="color: black;">requestPVT</span><span style="color: black; font-weight: bold;">[</span><span style="color: #0000cf; font-weight: bold;">8</span><span style="color: black; font-weight: bold;">]</span> <span style="color: #ce5c00; font-weight: bold;">=</span> <span style="color: black; font-weight: bold;">{</span><span style="color: #0000cf; font-weight: bold;">0xB5</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x62</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x01</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x07</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x00</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x08</span><span style="color: black; font-weight: bold;">,</span> <span style="color: #0000cf; font-weight: bold;">0x19</span><span style="color: black; font-weight: bold;">};</span>
</pre>
</div>
<br />
Once the GPS module is set up, the tracker enters a loop of polling UBX-NAV-PVT (the form of the request message is above), parsing the received positional data, constructing the telemetry string, transmitting the LoRa packet (0.7s), delaying for 5 seconds, and repeating the cycle. In case of the Continuous mode setup, this leads to a received packet every 6 seconds. In case of the PSM setup, the cycle is prolonged to 10 seconds once the GPS receiver enters power saving operation, because the module responds only after the update period has elapsed, i.e. every 5 seconds, regardless of when it received the UBX message requesting UBX-NAV-PVT.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpTV5xoUasen7vgBD-GGJKQ4eAjtdEzIP78_avA9tdWnJIwtxD8oHMDVRVAK3TIIQWy7HS2LFES1cqDCG3yIwZfg5zqVIagwE4a-Jx4AoxpsAT1Lhphjc6ynTwnpv3DZU3E-V6DuvNqRE/s1600/gps+drift+horizontal+psm+active+ant.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="408" data-original-width="450" height="181" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpTV5xoUasen7vgBD-GGJKQ4eAjtdEzIP78_avA9tdWnJIwtxD8oHMDVRVAK3TIIQWy7HS2LFES1cqDCG3yIwZfg5zqVIagwE4a-Jx4AoxpsAT1Lhphjc6ynTwnpv3DZU3E-V6DuvNqRE/s200/gps+drift+horizontal+psm+active+ant.jpg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnLB2tDdxt21dkgNtax-Nz7_gCGxPAhFNGhy5R_sQ75D2gfX5iDr3buYU8gYc1aS0HvJJZrHyq9WTmlG-INn9Gps186QD4gEobpp1oNEGBASyR2rIsYpU2vlPB2kMxw4OnaboVb6QvOyU/s1600/gps+drift+horizontal+psm+passive+ant.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="408" data-original-width="450" height="181" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnLB2tDdxt21dkgNtax-Nz7_gCGxPAhFNGhy5R_sQ75D2gfX5iDr3buYU8gYc1aS0HvJJZrHyq9WTmlG-INn9Gps186QD4gEobpp1oNEGBASyR2rIsYpU2vlPB2kMxw4OnaboVb6QvOyU/s200/gps+drift+horizontal+psm+passive+ant.jpg" width="200" /></a></div>
And these are the results depicting the horizontal drift in case of the active antenna in PSM setup (red) and the passive antenna in PSM setup (blue). The tracker stood where the white dot is in the pictures.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFlZFnP0obNfFBDOhYAq3X6BCYu2SeTREcDuvsuUTUeXxxAWdtWGA3Ux5GHdznUsQfML0xkIYNx4AWS5-o9XX38mCsz4FgKX0QwXxYN6CTqvD-Lz6IOYVwTqSPjwWJDWq5PNsB5Ai-0ro/s1600/gps+drift+horizontal+cont+active+ant.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="408" data-original-width="450" height="181" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFlZFnP0obNfFBDOhYAq3X6BCYu2SeTREcDuvsuUTUeXxxAWdtWGA3Ux5GHdznUsQfML0xkIYNx4AWS5-o9XX38mCsz4FgKX0QwXxYN6CTqvD-Lz6IOYVwTqSPjwWJDWq5PNsB5Ai-0ro/s200/gps+drift+horizontal+cont+active+ant.jpg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3vigQW29oa1S3myFaolrJx3Quw2x4Uw1eRYqNDyrs5JvNOOk3N0NuENsjyuxxa8Yocqqqbj_Ez5MfduKRCWERb78XQHt-H74U5AJSS5o2eIBZ2KctaJZVUFReh0EQuQwxegIZ63UnCjA/s1600/gps+drift+horizontal+cont+passive+ant.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="408" data-original-width="450" height="181" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3vigQW29oa1S3myFaolrJx3Quw2x4Uw1eRYqNDyrs5JvNOOk3N0NuENsjyuxxa8Yocqqqbj_Ez5MfduKRCWERb78XQHt-H74U5AJSS5o2eIBZ2KctaJZVUFReh0EQuQwxegIZ63UnCjA/s200/gps+drift+horizontal+cont+passive+ant.jpg" width="200" /></a></div>
The data from the active antenna in Continuous mode setup (purple) and the passive antenna in Continuous mode setup (yellow) suggest that the dominant factor in the amount of drift is the chosen mode of operation while the antenna choice is less influential in these specific conditions. <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCY-XIxMGxo5VhFn-GR0skcSwznPBE6XZ49qF84_p2Hzg4luAJNhVvna8qfpAxda0I3EArMEExsVHmDd5HSVxNTZfrainCdzCRDu9qwIaTIkVBYkaYvP5M-M_2LJLEQVhdgYVnJzmUcyk/s1600/gps+drift+vertical+PSM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="455" data-original-width="656" height="138" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCY-XIxMGxo5VhFn-GR0skcSwznPBE6XZ49qF84_p2Hzg4luAJNhVvna8qfpAxda0I3EArMEExsVHmDd5HSVxNTZfrainCdzCRDu9qwIaTIkVBYkaYvP5M-M_2LJLEQVhdgYVnJzmUcyk/s200/gps+drift+vertical+PSM.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhpOUf8xUD_sWs9bORzN6NYQ_KK7cCQAsP7TfNzC-eq6Rc6Mxz5lIPilRkps24BmSlMDaWIv0i4QiXatzo_Npp1Kx4n8Fb7BiM_pcFwf3wcsND2UDRGACRU2FWI2AUBzpbjnUczjiREww/s1600/gps+drift+vertical+CONTINUOUS.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="454" data-original-width="654" height="138" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhpOUf8xUD_sWs9bORzN6NYQ_KK7cCQAsP7TfNzC-eq6Rc6Mxz5lIPilRkps24BmSlMDaWIv0i4QiXatzo_Npp1Kx4n8Fb7BiM_pcFwf3wcsND2UDRGACRU2FWI2AUBzpbjnUczjiREww/s200/gps+drift+vertical+CONTINUOUS.png" width="200" /></a></div>
These two charts show the variation in reported altitude for individual setups. Again, the difference between PSM and Continuous mode is clear while switching between the antennas is not that apparent.<br />
<style type="text/css">
.tg {border-collapse:collapse;border-spacing:0;border-color:#ccc;}
.tg td{font-family:Arial, sans-serif;font-size:12px;padding:5px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#ccc;color:#333;background-color:#fff;table-layout:fixed;}
.tg th{font-family:Arial, sans-serif;font-size:12px;font-weight:normal;padding:5px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#ccc;color:#333;background-color:#f0f0f0;table-layout:fixed;}
.tg .tg-aqy6{text-align:right;vertical-align:top;width:65px}
.tg .tg-ahbo{font-weight:bold;vertical-align:top;width:240px}
.tg .tg-ar1y{font-weight:bold;color:#6200c9;vertical-align:top;text-align:center;width:65px}
.tg .tg-alyv{font-weight:bold;color:#fe0000;vertical-align:top;text-align:center;width:65px}
.tg .tg-a4u9{font-weight:bold;color:#00009b;vertical-align:top;text-align:center;width:65px}
.tg .tg-a5o0{font-weight:bold;color:#c9ce00;vertical-align:top;text-align:center;width:65px}
.tg .tg-aw4l{vertical-align:top}
.tg .tg-aqy7{text-align:right;vertical-align:top;width:50px}
.tg .tg-ahb7{text-align:center;font-weight:bold;vertical-align:top;width:50px}
.tg .tg-ahb8{font-weight:bold;vertical-align:top;width:165px}
.tg .tg-ar17{font-weight:bold;color:#6200c9;vertical-align:top;width:165px}
.tg .tg-aly7{font-weight:bold;color:#fe0000;vertical-align:top;width:165px}
.tg .tg-a4u7{font-weight:bold;color:#00009b;vertical-align:top;width:165px}
.tg .tg-a5o7{font-weight:bold;color:#c9ce00;vertical-align:top;width:165px}
</style>
<br />
<table align="center" class="tg">
<tbody>
<tr>
<td class="tg-ahbo">HORIZONTAL</td>
<td class="tg-alyv">Act PSM</td>
<td class="tg-a4u9">Pass PSM</td>
<td class="tg-ar1y">Act CON</td>
<td class="tg-a5o0">Pass CON</td>
</tr>
<tr>
<td class="tg-aw4l">Mean absolute deviation (white dot)</td>
<td class="tg-aqy6">8.2m</td>
<td class="tg-aqy6">9.5m</td>
<td class="tg-aqy6">3.0m</td>
<td class="tg-aqy6">3.8m</td>
</tr>
<tr>
<td class="tg-aw4l">Maximum absolute deviation (white dot)</td>
<td class="tg-aqy6">33.4m</td>
<td class="tg-aqy6">30.4m</td>
<td class="tg-aqy6">7.3m</td>
<td class="tg-aqy6">7.3m</td>
</tr>
<tr>
<td class="tg-aw4l">Mean absolute deviation around the mean</td>
<td class="tg-aqy6">7.7m</td>
<td class="tg-aqy6">8.2m</td>
<td class="tg-aqy6">1.9m</td>
<td class="tg-aqy6">2.6m</td>
</tr>
<tr>
<td class="tg-aw4l">Maximum absolute deviation</td>
<td class="tg-aqy6">30.0m</td>
<td class="tg-aqy6">25.5m</td>
<td class="tg-aqy6">6.7m</td>
<td class="tg-aqy6">5.4m</td>
</tr>
<tr>
<td class="tg-ahbo">VERTICAL</td>
<td class="tg-alyv">Act PSM</td>
<td class="tg-a4u9">Pass PSM</td>
<td class="tg-ar1y">Act CON</td>
<td class="tg-a5o0">Pass CON</td>
</tr>
<tr>
<td class="tg-aw4l">Mean absolute deviation around the mean</td>
<td class="tg-aqy6">14.1m</td>
<td class="tg-aqy6">10.3m</td>
<td class="tg-aqy6">2.3m</td>
<td class="tg-aqy6">3.0m</td>
</tr>
<tr>
<td class="tg-aw4l">Maximum absolute deviation</td>
<td class="tg-aqy6">70.6m</td>
<td class="tg-aqy6">42.0m</td>
<td class="tg-aqy6">9.2m</td>
<td class="tg-aqy6">8.9m</td>
</tr>
</tbody></table>
<br />
This table summarizes the results of horizontal and vertical drift for individual setups. I used <a href="http://netvicious.com/gps/">this</a> mapping site to get the coordinates for where the tracker stood (the white dot). Since I am not sure about its accuracy, the table contains the mean absolute deviation and the maximum absolute deviation both with relation to this point and to the mean value of the data set. The distances between coordinates were calculated as the distance between two points on the surface of a sphere using <a href="http://www.movable-type.co.uk/scripts/latlong.html">these</a> equations. In case of the vertical drift, I used only the mean value of the specific data set to serve as the reference.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<td class="tg-ahb8">Setup</td>
<td class="tg-ahb7">ACQ</td>
<td class="tg-ahb7">ACQ TX</td>
<td class="tg-ahb7">PSM</td>
<td class="tg-ahb7">PSM TX</td>
<td class="tg-ahb7">Sats</td>
</tr>
<tr>
<td class="tg-aly7">Active ant-PSM</td>
<td class="tg-aqy7">51mA</td>
<td class="tg-aqy7">107mA</td>
<td class="tg-aqy7">30mA</td>
<td class="tg-aqy7">87mA</td>
<td class="tg-aqy7">7.0</td>
</tr>
<tr>
<td class="tg-a4u7">Passive ant-PSM</td>
<td class="tg-aqy7">40mA</td>
<td class="tg-aqy7">97mA</td>
<td class="tg-aqy7">19mA</td>
<td class="tg-aqy7">76mA</td>
<td class="tg-aqy7">5.9</td>
</tr>
<tr>
<td class="tg-ar17">Active ant-CONTINUOUS</td>
<td class="tg-aqy7">51mA</td>
<td class="tg-aqy7">107mA</td>
<td class="tg-aqy7">43mA</td>
<td class="tg-aqy7">99mA</td>
<td class="tg-aqy7">8.6</td>
</tr>
<tr>
<td class="tg-a5o7">Passive ant-CONTINUOUS</td>
<td class="tg-aqy7">40mA</td>
<td class="tg-aqy7">97mA</td>
<td class="tg-aqy7">33mA</td>
<td class="tg-aqy7">90mA</td>
<td class="tg-aqy7">8.4</td>
</tr>
</tbody></table>
<br />
Finally, the counterpart to increasing accuracy is increasing power consumption. This table contains an overview of the effects that mode and antenna switching had on the current drawn from the battery. Note that these are approximate values read from a display of a bench power supply. While supplying the LF33CV regulator with 4.0V, the ACQ readings represent the initial stages when the GPS module was in acquisition mode searching and locking onto satellites. LoRa transmissions during this phase are captured in the ACQ TX column. The PSM values represent consumption during idle moments after the module transitioned to normal operation or power saving mode in case of the power saving setups. The PSM TX column then contains corresponding readings for LoRa transmissions in this phase. All in all, the cost of using the active antenna is an increase in consumption of 10-11mA while the power saving mode decreases it in the range of 13-14mA. The last column then contains an averaged number of satellites reported by the module during individual fixes. Note that since the setups weren't run at the same time, this figure may be influenced by the change in the constellation over time (satellites moving in and out of sight at the particular location). In the end, it depends on what one is after. Either lower consumption while tolerating lower accuracy, or higher precision at the cost of higher consumption.TT7http://www.blogger.com/profile/11095378058232471221noreply@blogger.com0tag:blogger.com,1999:blog-7063183727921268380.post-34941780281682826282018-02-18T16:30:00.000+01:002018-09-08T03:28:12.390+02:00The μCurrent Custom<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvGK1wzcVS1K-9T3IiR7u1JBcqAoGB2u0W8UgHlHgeUY0ab8mWJ9KagJCLpi8031-FAjhpAa1BrGxhuyRQM_kqYtkYg4bd7-Eut5v1K7gUM7PpxXUtWnIeyf0mgQ4_FnlIh31lBtE3zo4/s1600/IMG_2030+uCurrent+finished.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvGK1wzcVS1K-9T3IiR7u1JBcqAoGB2u0W8UgHlHgeUY0ab8mWJ9KagJCLpi8031-FAjhpAa1BrGxhuyRQM_kqYtkYg4bd7-Eut5v1K7gUM7PpxXUtWnIeyf0mgQ4_FnlIh31lBtE3zo4/s320/IMG_2030+uCurrent+finished.JPG" width="320" /></a></div>
Working on TT7F brought my attention to low consumption modes and general power saving a lot. My efforts, though, were somewhat accompanied by the lack of sufficiently accurate instrumentation. Recently, I came across David L. Jones' μCurrent thoroughly documented on his <a href="https://www.eevblog.com/projects/ucurrent/">EEVBlog</a> and adjacent Youtube channel. After checking the parts list with a local supplier, I thought I would design my own μCurrent board and learn more about the circuit in doing so.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgatJQ20CyKl1_jsgIOZDkRuva0y4TjS8nYxv10hDMADud3QDJ2WSNQaxV2DdjsZP_LHgIT6dR8PDsA7KI7HDL9RHQRvvxN09rfc6FFgRww0o7tYKOxCCT4ET5ZNFPMdM4F9M4AODfgVmo/s1600/uCurrent+eagle+board+02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="705" data-original-width="538" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgatJQ20CyKl1_jsgIOZDkRuva0y4TjS8nYxv10hDMADud3QDJ2WSNQaxV2DdjsZP_LHgIT6dR8PDsA7KI7HDL9RHQRvvxN09rfc6FFgRww0o7tYKOxCCT4ET5ZNFPMdM4F9M4AODfgVmo/s200/uCurrent+eagle+board+02.png" width="152" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEYsHK3o3aoqCeKf1VmlwYCj7SqZAf-8bgA3Up-ST3x9Qy2Bg51BdmZqbtNiaIDnw4XNvR5CuQ8pLQZ1H9PuIrajtAciNeS9k-t-38AeC1NomQiQZMH5kEW1wwJgei6CD2BUmtBYcoFrY/s1600/uCurrent+eagle+schematic+02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="943" data-original-width="1600" height="188" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEYsHK3o3aoqCeKf1VmlwYCj7SqZAf-8bgA3Up-ST3x9Qy2Bg51BdmZqbtNiaIDnw4XNvR5CuQ8pLQZ1H9PuIrajtAciNeS9k-t-38AeC1NomQiQZMH5kEW1wwJgei6CD2BUmtBYcoFrY/s320/uCurrent+eagle+schematic+02.png" width="320" /></a></div>
The result can be seen in the image above, and the Eagle files, for anyone interested, can be downloaded from here: <a href="https://drive.google.com/file/d/1utF_YPnhBNFBT3uyiDFhxkBSAIEPJw5_/view?usp=sharing">uCurrent.brd</a> and <a href="https://drive.google.com/file/d/1GTbgXdX6N6cvMTDnOY4mxoFFMaNsvYBu/view?usp=sharing">uCurrent.sch</a>. As apparent from the schematic, my version is for the most part based on the original μCurrent with a couple of minor changes. The selection of modes (off, on, on-short) follows the μCurrent GOLD's options, and the current limiting resistors R4, R9, R10 and R12 now have the same value (240Ω). All resistors and capacitors are in a 0603 package for easy hand soldering.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTJ8ysm3z85qNQfLHIZBcesUOIlxqc2a2jeWgthyphenhyphen74MHFOCoT_H-STI_N5oR46MdpO0hVJBprMFcz-p49T7C8ZU_ZE-4H_itygNdSpn8icCziXJxJMA0Cx8YDQZoMBpkEG_gPUBoKi4UA/s1600/IMG_2027+uCurrent+pcb.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTJ8ysm3z85qNQfLHIZBcesUOIlxqc2a2jeWgthyphenhyphen74MHFOCoT_H-STI_N5oR46MdpO0hVJBprMFcz-p49T7C8ZU_ZE-4H_itygNdSpn8icCziXJxJMA0Cx8YDQZoMBpkEG_gPUBoKi4UA/s200/IMG_2027+uCurrent+pcb.JPG" width="200" /></a></div>
I ordered the 30x40mm PCBs from OSH Park for $9.30 for three boards. The layout of the main section with amplifiers for the most part copies the original proven design.<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9uyn2dqAGL-m6giEe3ZVidAQRiNbR9srp3ILpJBW0pAGzANxBF4lInuuQM1UZL7qTc_-8Txvttl41r9w3l5SRrJUc0wXraixpNmk6FtH9cS10wFL2D7QARPOt6PzcWg5frhESylb7GCE/s1600/IMG_2028+uCurrent+finished.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9uyn2dqAGL-m6giEe3ZVidAQRiNbR9srp3ILpJBW0pAGzANxBF4lInuuQM1UZL7qTc_-8Txvttl41r9w3l5SRrJUc0wXraixpNmk6FtH9cS10wFL2D7QARPOt6PzcWg5frhESylb7GCE/s200/IMG_2028+uCurrent+finished.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsPAPBj8s8j4jjnNw3so45hNTfncU4FafQXF7uZyGb3ovDNNnuxAcIqNDcb009LgeQSyZIgRIU1fo3yt0DjsgV7UWtxGoEZxSQ-VHpnIFEZ_SU2fZwm7jCVLtB02I4aWsn5Rcfr9jbV9s/s1600/IMG_2029+uCurrent+finished.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsPAPBj8s8j4jjnNw3so45hNTfncU4FafQXF7uZyGb3ovDNNnuxAcIqNDcb009LgeQSyZIgRIU1fo3yt0DjsgV7UWtxGoEZxSQ-VHpnIFEZ_SU2fZwm7jCVLtB02I4aWsn5Rcfr9jbV9s/s200/IMG_2029+uCurrent+finished.JPG" width="150" /></a></div>
The rest, on the other hand, is fairly packed to fit the much smaller dimensions. The banana receptacles are replaced with simple pins which serve as small leg stands as well.<br />
<style type="text/css">
.tg {border-collapse:collapse;border-spacing:0;border-color:#ccc;}
.tg td{font-family:Arial, sans-serif;font-size:12px;padding:5px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#ccc;color:#333;background-color:#fff;}
.tg th{font-family:Arial, sans-serif;font-size:12px;font-weight:normal;padding:5px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#ccc;color:#333;background-color:#f0f0f0;}
.tg .tg-9ybo{font-weight:bold;vertical-align:top;width:20%}
.tg .tg-yy4l{vertical-align:top;width:20%}
.tg .tg-yy42{vertical-align:top;text-align:right;width:20%}
.tg .tg-yy43{vertical-align:top;text-align:right;color:red;width:20%}
</style>
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-9ybo">setting</th>
<th class="tg-9ybo">range</th>
<th class="tg-9ybo">resistor</th>
<th class="tg-9ybo">amplifier</th>
<th class="tg-9ybo">absolute</th>
</tr>
<tr>
<td class="tg-yy4l">1mV/nA</td>
<td class="tg-yy42">+/- 0-1250nA</td>
<td class="tg-yy42">+/- 3.16mA</td>
<td class="tg-yy42">+/- 165uA</td>
<td class="tg-yy43">+/- 165uA</td>
</tr>
<tr>
<td class="tg-yy4l">1mV/µA</td>
<td class="tg-yy42">+/- 0-1250µA</td>
<td class="tg-yy42">+/- 100mA</td>
<td class="tg-yy42">+/- 165mA</td>
<td class="tg-yy43">+/- 100mA</td>
</tr>
<tr>
<td class="tg-yy4l">1mV/mA</td>
<td class="tg-yy42">+/- 0-1250mA</td>
<td class="tg-yy42">+/- 10A</td>
<td class="tg-yy42">+/- 165A</td>
<td class="tg-yy43">+/- 300mA</td>
</tr>
</tbody></table>
<br />
David provides all sorts of specs for both of his versions on the website. But I was more interested in a real life question such as: if I want to measure a microcontroller's sleep current say in the μA range, will the high current prior to the microcontroller's transition to sleep damage the μCurrent? Looking at the circuit, the range in which it can measure is determined by the supply voltage, the shunt resistor, and the point at which the amplifier (MAX4239) hits the rail and starts capping the output. Considering the lowest operating voltage of 2.7V and taking into account the amplifier's output voltage swing (at worst it could get 100mV from the rail) gives the table value of 1250mA for the mA range. $$2.7V\:/\:2\:-\:0.1V\:=\:1.25V\:/\:100\:/\:0.01Ω\:=\:1.25A$$ To determine the absolute maxima the circuit should withstand, there are two main factors to look at. The power ratings of individual shunt resistors and the voltage limits on the amplifier's input pins. The resistors on my μCurrent are rated for 100mW (10kΩ), 100mW (10Ω), and 1W (10mΩ) which leads to 3.16mA current rating in the nA range for example. $$\sqrt{\:0.1W\:/\:10kΩ}\:=\:3.16mA$$ The MAX4239's datasheet states the absolute maximum rating for IN+ and IN- pins to be Vgnd-0.3V and Vcc+0.3V. Considering again 2.7V power supply leads to the allowed maximum of 165mA flowing through the μCurrent in the µA range. $$2.7V\:/\:2\:+\:0.3V\:=\:1.65V\:/\:10Ω\:=\:165mA$$ Looking at the table above, the absolute maxima for individual ranges are 165uA in the nA range due to the amplifier's input rating, 100mA in the µA range due to the resistor rating, and 300mA due to the mechanical switch rating which I haven't yet mentioned. That is probably the reason why the switch was replaced for a different type on μCurrent GOLD.<br />
<br />
From the computations above, it is apparent that supplying μCurrent with 5.5V, which are the maxima for both MAX4239 and LMV321, would increase the measuring range and the absolute maximum rating in the nA range. The amplifier would now cap at 2650nA/µA/mA and tolerated 305μA in the nA range. <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3ZD6y_pcXhq97TLRNd2jfFNfFpRtXPhMO1aalUABeuJE7R4WibQbSDa-kmPPyD8Xfi748IzMkGQiweomUnTURFwcr8h_hWIb3dpbE8RUVJh6gxebTFuEJaMaj4p7JnMuPmYexEPyqKQg/s1600/IMG_2032+uCurrent+test+3M.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3ZD6y_pcXhq97TLRNd2jfFNfFpRtXPhMO1aalUABeuJE7R4WibQbSDa-kmPPyD8Xfi748IzMkGQiweomUnTURFwcr8h_hWIb3dpbE8RUVJh6gxebTFuEJaMaj4p7JnMuPmYexEPyqKQg/s200/IMG_2032+uCurrent+test+3M.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDnBogC_13Z2Uu4B2S8zts7rTXYyxElW_J4Z66cQ-9TilV4C0kg5JoGL_hrzgeopFIOjLwy5yvy4A9kXmTHxOiG4b9XWDgwflkME105tjBnsPAMtOgGDafwiRJrS_vOTby72zO3XtXcvI/s1600/IMG_2035+uCurrent+test+2M.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDnBogC_13Z2Uu4B2S8zts7rTXYyxElW_J4Z66cQ-9TilV4C0kg5JoGL_hrzgeopFIOjLwy5yvy4A9kXmTHxOiG4b9XWDgwflkME105tjBnsPAMtOgGDafwiRJrS_vOTby72zO3XtXcvI/s200/IMG_2035+uCurrent+test+2M.JPG" width="200" /></a></div>
Here are a few images from quick testing. There are three 1MΩ resistors in series connected across a 2.49V pack of batteries. The μCurrent is set in the nA range (1mV/nA) and the multimeter measures millivolts in its 2000mV range. The second image shows the same setup with only two 1MΩ resistors.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXuZJ2vaH4dH7BWm9Bll8WCmLdEPjwex2fup1E3_jeyG4xc4i460FgZxGaExb1lELYYysl0AqF2rLF1j48QQuFRbrdCme3sJCH99Qs22wMs6PI8h-Q0_7SEskk3EgfdE_V1fRf49rcfdU/s1600/IMG_2037+uCurrent+test+1M.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXuZJ2vaH4dH7BWm9Bll8WCmLdEPjwex2fup1E3_jeyG4xc4i460FgZxGaExb1lELYYysl0AqF2rLF1j48QQuFRbrdCme3sJCH99Qs22wMs6PI8h-Q0_7SEskk3EgfdE_V1fRf49rcfdU/s200/IMG_2037+uCurrent+test+1M.JPG" width="200" /></a></div>
To measure the current flowing through only one 1MΩ resistor, I had to switch to the μA range (1mV/µA), but I could also use the finer 200mV range on my multimeter.<br />
<br />
The list of parts is very similar to the original μCurrent. I only had to find an alternative to TPS3809 which turned out to be TCM809 voltage monitor. And I had to go with only 1% precision 10mΩ resistor as opposed to 0.5% LVK12R010DER on the original. Overall it cost me about $33 to make which was mainly due to the fact I made only one and had to order some of the parts in larger quantities.TT7http://www.blogger.com/profile/11095378058232471221noreply@blogger.com0tag:blogger.com,1999:blog-7063183727921268380.post-22319962713419076162017-11-24T04:07:00.000+01:002018-09-08T03:29:13.422+02:00The Superpressure Balloons Vol. 2The first <a href="http://tt7hab.blogspot.cz/2017/04/the-superpressure-balloons.html">blog</a> on superpressure balloons ended when I finished the first two envelopes in mid April. Right after that, I followed the same method and made one more smaller balloon and one quite large envelope 2.66m in diameter. Both, however, failed at some point during stretching. And that was it until the end of July. At that point I had finalized all five trackers, and with the middle of August in mind as the time to start launching, I set off to finish the remaining balloons.<br />
<style type="text/css">
.tg {border-collapse:collapse;border-spacing:0;border-color:#ccc;}
.tg td{font-family:Arial, sans-serif;font-size:12px;padding:5px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#ccc;color:#333;background-color:#fff;}
.tg th{font-family:Arial, sans-serif;font-size:12px;font-weight:normal;padding:5px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#ccc;color:#333;background-color:#f0f0f0;}
.tg .tg-9hbo{font-weight:bold;vertical-align:top;text-align:left}
.tg .tg-yw4l{vertical-align:top;text-align:right}
.tg .tg-yw42{vertical-align:top;text-align:left}
</style>
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-9hbo">No.</th>
<th class="tg-9hbo">Type</th>
<th class="tg-9hbo">Size</th>
<th class="tg-9hbo">Marking</th>
<th class="tg-9hbo">Date</th>
<th class="tg-9hbo">Note</th>
</tr>
<tr>
<td class="tg-yw4l">1</td>
<td class="tg-yw42">Sphere</td>
<td class="tg-yw4l">1.33</td>
<td class="tg-yw42">first</td>
<td class="tg-yw42">April</td>
<td class="tg-yw42">TT7F1</td>
</tr>
<tr>
<td class="tg-yw4l">2</td>
<td class="tg-yw42">Sphere</td>
<td class="tg-yw4l">1.84</td>
<td class="tg-yw42">first</td>
<td class="tg-yw42">April</td>
<td class="tg-yw42">TT7F3</td>
</tr>
<tr>
<td class="tg-yw4l">3</td>
<td class="tg-yw42">Sphere</td>
<td class="tg-yw4l">1.33</td>
<td class="tg-yw42">second</td>
<td class="tg-yw42">April</td>
<td class="tg-yw42">hole in stretched area</td>
</tr>
<tr>
<td class="tg-yw4l">4</td>
<td class="tg-yw42">Sphere</td>
<td class="tg-yw4l">2.66</td>
<td class="tg-yw42">first</td>
<td class="tg-yw42">April</td>
<td class="tg-yw42">meridional weld opening (repeatedly)</td>
</tr>
<tr>
<td class="tg-yw4l">5</td>
<td class="tg-yw42">Sphere</td>
<td class="tg-yw4l">1.33</td>
<td class="tg-yw42">n1</td>
<td class="tg-yw42">July</td>
<td class="tg-yw42">hole in stretched area</td>
</tr>
<tr>
<td class="tg-yw4l">6</td>
<td class="tg-yw42">Sphere</td>
<td class="tg-yw4l">1.33</td>
<td class="tg-yw42">n2</td>
<td class="tg-yw42">July</td>
<td class="tg-yw42">hole in stretched area</td>
</tr>
<tr>
<td class="tg-yw4l">7</td>
<td class="tg-yw42">Sphere</td>
<td class="tg-yw4l">1.33</td>
<td class="tg-yw42">n3</td>
<td class="tg-yw42">July</td>
<td class="tg-yw42">TT7F2</td>
</tr>
<tr>
<td class="tg-yw4l">8</td>
<td class="tg-yw42">Sphere</td>
<td class="tg-yw4l">1.84</td>
<td class="tg-yw42">n1</td>
<td class="tg-yw42">August</td>
<td class="tg-yw42">hole at the edge of repaired meridional weld</td>
</tr>
<tr>
<td class="tg-yw4l">9</td>
<td class="tg-yw42">Sphere</td>
<td class="tg-yw4l">1.84</td>
<td class="tg-yw42">n2</td>
<td class="tg-yw42">August</td>
<td class="tg-yw42">TT7F4</td>
</tr>
<tr>
<td class="tg-yw4l">10</td>
<td class="tg-yw42">Sphere</td>
<td class="tg-yw4l">1.84</td>
<td class="tg-yw42">n3</td>
<td class="tg-yw42">August</td>
<td class="tg-yw42">hole at the edge of repaired filling tube weld</td>
</tr>
<tr>
<td class="tg-yw4l">11</td>
<td class="tg-yw42">Sphere</td>
<td class="tg-yw4l">2.66</td>
<td class="tg-yw42">n1</td>
<td class="tg-yw42">August</td>
<td class="tg-yw42">hole in meridional weld opening</td>
</tr>
<tr>
<td class="tg-yw4l">12</td>
<td class="tg-yw42">Sphere</td>
<td class="tg-yw4l">1.84</td>
<td class="tg-yw42">n4</td>
<td class="tg-yw42">August</td>
<td class="tg-yw42">unintentionally sealed filling tube</td>
</tr>
<tr>
<td class="tg-yw4l">13</td>
<td class="tg-yw42">Sphere</td>
<td class="tg-yw4l">1.84</td>
<td class="tg-yw42">n5</td>
<td class="tg-yw42">August</td>
<td class="tg-yw42">circumferential weld opening (repeatedly)</td>
</tr>
<tr>
<td class="tg-yw4l">14</td>
<td class="tg-yw42">Sphere</td>
<td class="tg-yw4l">1.84</td>
<td class="tg-yw42">n6</td>
<td class="tg-yw42">August</td>
<td class="tg-yw42">meridional weld opening (new heat element wire)</td>
</tr>
<tr>
<td class="tg-yw4l">15</td>
<td class="tg-yw42">Sphere</td>
<td class="tg-yw4l">1.84</td>
<td class="tg-yw42">n7</td>
<td class="tg-yw42">August</td>
<td class="tg-yw42">hole in meridional weld opening</td>
</tr>
<tr>
<td class="tg-yw4l">16</td>
<td class="tg-yw42">Sphere</td>
<td class="tg-yw4l">1.33</td>
<td class="tg-yw42">n4</td>
<td class="tg-yw42">August</td>
<td class="tg-yw42">hole in stretched area</td>
</tr>
<tr>
<td class="tg-yw4l">17</td>
<td class="tg-yw42">Tube</td>
<td class="tg-yw4l">3.33</td>
<td class="tg-yw42">n1</td>
<td class="tg-yw42">September</td>
<td class="tg-yw42">TT7F5</td>
</tr>
<tr>
<td class="tg-yw4l">18</td>
<td class="tg-yw42">Tube</td>
<td class="tg-yw4l">2.33</td>
<td class="tg-yw42">n1</td>
<td class="tg-yw42">September</td>
<td class="tg-yw42">TT7F6W</td>
</tr>
</tbody></table>
<br />
The table above, summarizing all the balloons I had to make, suggests it wasn't as straightforward as I would like. I encountered a number of issues a portion of which originated in the need to redo some of the welds after they had opened during initial stretching. Another portion due to weak spots in the material itself. Usually, the failures of the smaller envelopes were the second type showing itself as small breaches in some layer(s) of the film that with further stretching eventually burst. I am not sure about the origin of these seemingly randomly appearing spots, but they do limit the extent to which the stretching can proceed. The larger envelopes, made of more individual pieces, mostly suffered from weld openings. Particularly problematic was the meridional weld which is located in the area of the highest stress. In S1.84_n3 and S1.84_n4, I tried to get round this issue with a different construction method which saw the meridional weld replaced by two shorter welds further from the main stress area. However, the result was the same. At one point, I started to notice an inability of the heat sealer to produce reliable welds. Over the course of several envelopes, I attempted to repeatedly repair the connections between the heat element wire and the rest of the circuit, and periodically check the weld quality with test stripes that I could stretch and examine. None of this, though, brought success. I also contemplated following the example of others and make my own heat sealer for a while, but in the end being pursued by the intended launch dates, I decided to stick to the current device. I did, however, buy a new heat element wire which significantly improved the weld quality. I still failed with a few more spherical envelopes, but eventually after trying a different shape (tube balloon), I finally worked my way to promising results again.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuXGqxHK9qSW-0PYUetZM80LrTIBi4ATrD8x42y_j_SH5eBplqaCLARIABAekmECHwFvjsNGptEBi5wR6yGzBTb5uhrqQKGK6zYjyKuqhjwbIB6TBZ78x1M2JfNS3OJAOMICZvLlz1-go/s1600/IMG_1838+T2.33+n1+weld.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuXGqxHK9qSW-0PYUetZM80LrTIBi4ATrD8x42y_j_SH5eBplqaCLARIABAekmECHwFvjsNGptEBi5wR6yGzBTb5uhrqQKGK6zYjyKuqhjwbIB6TBZ78x1M2JfNS3OJAOMICZvLlz1-go/s200/IMG_1838+T2.33+n1+weld.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhs5Tdl3qQtWsz-UciL2gO47h8c5DyeW6AvrjhXusOKuHlGYLUZqjpo5PtRtXrmdRijikHWe-r8lMWZ4Vxx_jZn3zzwFWpP2DtDA66Lp-hGQxIHeKQqhFmFTQ5whaePGeaG0VR41x-kXww/s1600/IMG_0525+S1.33+first+weld.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhs5Tdl3qQtWsz-UciL2gO47h8c5DyeW6AvrjhXusOKuHlGYLUZqjpo5PtRtXrmdRijikHWe-r8lMWZ4Vxx_jZn3zzwFWpP2DtDA66Lp-hGQxIHeKQqhFmFTQ5whaePGeaG0VR41x-kXww/s200/IMG_0525+S1.33+first+weld.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6hTkDbogQ-27GIRI0ThJjJK3j7AwiMC6jxxwQXLYKLd9J3vWynxX_nYONexLJW8GDkaTIJf3_iqOxB2CBeFlJNmG2q_s4ettlC2XxWQ4Qu3YGtRiBi0aIKwXYGasREWXjhMojOD8zz5Q/s1600/IMG_0535+S1.33+first+weld.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6hTkDbogQ-27GIRI0ThJjJK3j7AwiMC6jxxwQXLYKLd9J3vWynxX_nYONexLJW8GDkaTIJf3_iqOxB2CBeFlJNmG2q_s4ettlC2XxWQ4Qu3YGtRiBi0aIKwXYGasREWXjhMojOD8zz5Q/s200/IMG_0535+S1.33+first+weld.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrN8SH2ZfBJ-QPIlCdoBKdsj3RBVBoZgR5iPpsOniCYUqnLbVXmtqUjviVbv06MB5BpWAdsQfD6ksvqWB7Z2Ftp39gZDUscb1pl8L-E-U-dGMAmmbVLpD-w3IK8vuqvOMWi0CukZyInXA/s1600/IMG_1485+S1.84+n2+weld.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrN8SH2ZfBJ-QPIlCdoBKdsj3RBVBoZgR5iPpsOniCYUqnLbVXmtqUjviVbv06MB5BpWAdsQfD6ksvqWB7Z2Ftp39gZDUscb1pl8L-E-U-dGMAmmbVLpD-w3IK8vuqvOMWi0CukZyInXA/s200/IMG_1485+S1.84+n2+weld.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
For illustration, these are images of good circumferential welds in early stages of stretching (top two) and then later stages (bottom two) where all the deeper bends have been stretched out.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbpU7jIgrSTp7kDL6IipriPJiAR5Qwhwv7zpIEIpqCc_FKW5xNQ_hn9dRs8UtGsa2dTgy54dRiv9uHIAf-fEDmwtD-MriBFjMb4riV2YqFIQHwdWtS3NLsb7JAVgWS0co4PrW580_LfRc/s1600/IMG_0554+S1.33+first+stretching+marks.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbpU7jIgrSTp7kDL6IipriPJiAR5Qwhwv7zpIEIpqCc_FKW5xNQ_hn9dRs8UtGsa2dTgy54dRiv9uHIAf-fEDmwtD-MriBFjMb4riV2YqFIQHwdWtS3NLsb7JAVgWS0co4PrW580_LfRc/s200/IMG_0554+S1.33+first+stretching+marks.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDMvjtTaheRjZeCAeCYG-sceIa3k5aRKWcgz_FdPWHT9PdF0wnY1AhTeJJZTrQ5au01P2BaHFIy4GGPaPJOicPUVOLEOlMZQWpyGZRmxpwjNU3DjK2Mc2Lkz1JF4SZtXoLv2yTc8FtRtw/s1600/IMG_0555+S1.33+first+stretching+marks.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDMvjtTaheRjZeCAeCYG-sceIa3k5aRKWcgz_FdPWHT9PdF0wnY1AhTeJJZTrQ5au01P2BaHFIy4GGPaPJOicPUVOLEOlMZQWpyGZRmxpwjNU3DjK2Mc2Lkz1JF4SZtXoLv2yTc8FtRtw/s200/IMG_0555+S1.33+first+stretching+marks.JPG" width="150" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLzBxpOy0CCx92fXZFHVasm1uoi3AggYktDMtycCjCOfZ6QDNjx7EgQtC-wmEoulGYMM9Ajj7Yj1-m16RE6I4UNSisC2cHKkuQur00Isg7OdRLPKwZE04rsQ8fSBo4IOBYkDtBaGzbEsU/s1600/IMG_0593+S1.84+first+stretching+marks.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLzBxpOy0CCx92fXZFHVasm1uoi3AggYktDMtycCjCOfZ6QDNjx7EgQtC-wmEoulGYMM9Ajj7Yj1-m16RE6I4UNSisC2cHKkuQur00Isg7OdRLPKwZE04rsQ8fSBo4IOBYkDtBaGzbEsU/s200/IMG_0593+S1.84+first+stretching+marks.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdlYTeZgDAbMULDXsIfjcG3wm-hIwxAOQJpetL8oKgaLZZQ3O5ymhjhE2aIUX9IXYnfl2SadsJSP2hkLaxOg5eMy3s1g9grHtCkbc_-bciZgo7LwAgrwGydpUjCY5-7W16IXDArbJrpQU/s1600/IMG_0556+S1.33+first+stretching+marks.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdlYTeZgDAbMULDXsIfjcG3wm-hIwxAOQJpetL8oKgaLZZQ3O5ymhjhE2aIUX9IXYnfl2SadsJSP2hkLaxOg5eMy3s1g9grHtCkbc_-bciZgo7LwAgrwGydpUjCY5-7W16IXDArbJrpQU/s200/IMG_0556+S1.33+first+stretching+marks.JPG" width="200" /></a></div>
These images show examples of plastic deformation during and after hours of stretching. As can be seen, the deformation isn't uniform, but rather localized, due to the uneven shape of the balloon, to areas of the highest stress. The envelope is still sealed and these 'stretching marks' are considered ok.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivb4NiHC_EyyK7r1FQpLJ5R2C-zOcVkyPmDM9Tikpca_-z79PjBWWeqNOWqwkZ9OXQPsu6XviTMjCdFguwiedM_eJI-62mruYdVlGCzYvqWUGumHebRBvZuiiOrhOReDC4-xqJZpwTlTc/s1600/IMG_1808+T3.33+n1+material+weakness.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivb4NiHC_EyyK7r1FQpLJ5R2C-zOcVkyPmDM9Tikpca_-z79PjBWWeqNOWqwkZ9OXQPsu6XviTMjCdFguwiedM_eJI-62mruYdVlGCzYvqWUGumHebRBvZuiiOrhOReDC4-xqJZpwTlTc/s200/IMG_1808+T3.33+n1+material+weakness.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEir7P3hH4MMaeTEAiK-d3VRiWYJQX8vjn3OhBeak6f1zCwQUs6eLQoPMG4tW01iSjaSVAjZRIC1zKjJSFhPET2yVBpumdno6u-iltO71z7rX6y4m4LAF9o-Rhri9HhdzS49vKEIWe88VUg/s1600/IMG_1809+T3.33+n1+material+weakness.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEir7P3hH4MMaeTEAiK-d3VRiWYJQX8vjn3OhBeak6f1zCwQUs6eLQoPMG4tW01iSjaSVAjZRIC1zKjJSFhPET2yVBpumdno6u-iltO71z7rX6y4m4LAF9o-Rhri9HhdzS49vKEIWe88VUg/s200/IMG_1809+T3.33+n1+material+weakness.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfz5nZ1q6rylxa4HO9-1ZY0hns_fa-yaX-kfuoSzLu4ZOQsTambj08PBGZb3bYaIPzg_AhC6psmYtoULkuiFEH_8_ETOaCw6rPWKMXaKlpMAE8kLHQBr-o-rzHbAOSN7zIZ3dmNBcd_0A/s1600/IMG_1816+T3.33+n1+material+weakness.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfz5nZ1q6rylxa4HO9-1ZY0hns_fa-yaX-kfuoSzLu4ZOQsTambj08PBGZb3bYaIPzg_AhC6psmYtoULkuiFEH_8_ETOaCw6rPWKMXaKlpMAE8kLHQBr-o-rzHbAOSN7zIZ3dmNBcd_0A/s200/IMG_1816+T3.33+n1+material+weakness.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfiEima3nkXoXbN0T6YTOKtMjFarU532c4e-f_S2epsD_Z9hlGT7dJ5Xa2nHouNKI5B9U64uEfpyWO1aNr1MrpSdJhpoRwNFQ4y014sFJVRYLj3sozvtWhO6AyQUeGjz-f-z5SuZ2R4Ww/s1600/IMG_1850+T2.33+n1+material+weakness.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfiEima3nkXoXbN0T6YTOKtMjFarU532c4e-f_S2epsD_Z9hlGT7dJ5Xa2nHouNKI5B9U64uEfpyWO1aNr1MrpSdJhpoRwNFQ4y014sFJVRYLj3sozvtWhO6AyQUeGjz-f-z5SuZ2R4Ww/s200/IMG_1850+T2.33+n1+material+weakness.JPG" width="200" /></a></div>
These are examples of the small breaches in film that tend to appear as stretching progresses. I haven't noticed any regularity in spacing between individual breaches that would suggest a single impact on the whole roll of film. Among other possible causes is my handling of the film. It sometimes gets to crumple at one spot before I straighten it. Another potential cause could be the manufacturing process of the film itself. I don't know whether others who made their own balloons encountered this issue with the films they used or not.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQtgbNqbWeAM7wwGuCAOtRrAFWxdIgFzElrkIHewtFCSRJ3z8D3WLf69kJdIifUflcYteIV-4_poAyrlN1h8AYup04ssHciSYivHAANOcAK7yA0MIA8tAL-cjc-M2ZTM94V1TXpIn_A44/s1600/IMG_1351+S1.33+n1+hole+in+stretched+area.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQtgbNqbWeAM7wwGuCAOtRrAFWxdIgFzElrkIHewtFCSRJ3z8D3WLf69kJdIifUflcYteIV-4_poAyrlN1h8AYup04ssHciSYivHAANOcAK7yA0MIA8tAL-cjc-M2ZTM94V1TXpIn_A44/s200/IMG_1351+S1.33+n1+hole+in+stretched+area.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1SRJV-XFpAciPOJA3g9TLDvLTT33OGndG2cbi1Po8DRm8_bbcbZQTuLVmb2OUd_oecMWOs-1Yf521GnwSaArAXZomy6n1e3Vgn1nh24puazfKDSvpXZZZ0pA3OfbGvSHVPFjpK4YbcxU/s1600/IMG_1413+S1.33+n2+hole+in+stretched+area.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1SRJV-XFpAciPOJA3g9TLDvLTT33OGndG2cbi1Po8DRm8_bbcbZQTuLVmb2OUd_oecMWOs-1Yf521GnwSaArAXZomy6n1e3Vgn1nh24puazfKDSvpXZZZ0pA3OfbGvSHVPFjpK4YbcxU/s200/IMG_1413+S1.33+n2+hole+in+stretched+area.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVvGAXKP6sqgItRT5S_OC91HPyCOx0rnE_1s0jzP4rj5O6ufmp6DhSvBta4-7xlXSCenXnppJd2e_kJwQ0mXzSxzsiclIMWfFaBln69ebix581nvilhkWrCZdxPSOG4JsVyV2uTD3Rn8o/s1600/IMG_1416+S1.33+n2+hole+in+stretched+area.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVvGAXKP6sqgItRT5S_OC91HPyCOx0rnE_1s0jzP4rj5O6ufmp6DhSvBta4-7xlXSCenXnppJd2e_kJwQ0mXzSxzsiclIMWfFaBln69ebix581nvilhkWrCZdxPSOG4JsVyV2uTD3Rn8o/s200/IMG_1416+S1.33+n2+hole+in+stretched+area.JPG" width="200" /></a></div>
The later stages of the local breaches in film can be seen in the images above. Upon further stretching the material eventually ruptures. I haven't found a way to repair this sort of a failure. The stretched film around the hole is no longer reliably weldable.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTG6I7viEfXdv9tJr85bDOrZh0UJg4Dkmz7IeHPGxRd6XSL0Rjog0G9VyCNleoa394z3V3YLAE2PfHY05lK_q82DMVCaEEjhZEY1JjR6UO0DWuroIookOoZk2tBzDY0epNEUlTJUwVny8/s1600/IMG_1637+S1.84+n5+circumferential+weld+opening.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTG6I7viEfXdv9tJr85bDOrZh0UJg4Dkmz7IeHPGxRd6XSL0Rjog0G9VyCNleoa394z3V3YLAE2PfHY05lK_q82DMVCaEEjhZEY1JjR6UO0DWuroIookOoZk2tBzDY0epNEUlTJUwVny8/s200/IMG_1637+S1.84+n5+circumferential+weld+opening.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsdvgYmhoeipFFB7Un8OZaYb-MfScDuZCjkkXpK5KjgiKYNC8mmKzJA_Jz5ck9LxrNieUng6K7MH5dSok5-7n7TOyUT9yBYh1DUdE1-0tkedej3dUGxu3gq64pHglo9uH5xM5IW0corLY/s1600/IMG_1546+S1.84+n3+weld+opening.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsdvgYmhoeipFFB7Un8OZaYb-MfScDuZCjkkXpK5KjgiKYNC8mmKzJA_Jz5ck9LxrNieUng6K7MH5dSok5-7n7TOyUT9yBYh1DUdE1-0tkedej3dUGxu3gq64pHglo9uH5xM5IW0corLY/s200/IMG_1546+S1.84+n3+weld+opening.JPG" width="200" /></a></div>
The circumferential weld on a spherical (Mylar balloon shape) balloon is located in area of least stress. Hence, it doesn't suffer from openings as much as the meridional weld. Although an inconsistent heat sealer (ageing heat element wire for example) can lead to poorer circumferential welds as in S1.84_n5. This issue seems to be repairable to an extent. Mainly, if the material hasn't undergone too much plastic deformation. The picture on the right shows another weld gradually opening on the differently constructed S1.84_n3.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWjy5zlJndBCixwNBajWTwMnUaUyY4shYApBrYO2O19kM0F9rvM3lrZ3oDSgkLNHjZH20TaQmmnPxkXFdVO7wY1fKjnvlZZyMHbWw0UMhoFF9s2RZNsL52L-Ru8cojL0R5ysLWN2Yx174/s1600/IMG_0623+S2.66+first+meridional+weld+opening.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWjy5zlJndBCixwNBajWTwMnUaUyY4shYApBrYO2O19kM0F9rvM3lrZ3oDSgkLNHjZH20TaQmmnPxkXFdVO7wY1fKjnvlZZyMHbWw0UMhoFF9s2RZNsL52L-Ru8cojL0R5ysLWN2Yx174/s200/IMG_0623+S2.66+first+meridional+weld+opening.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMDGdhV_Cn_6WiPvN8m9hPx3AU1kuuSS1g2q_E6Y-erb0_3uXOkPIO6VPvvygP2iNQFPfHx4tyRNYLA5EqkxF5iEzJoWv6GspsRfrgBPCwLozaan-Npfg9agkqlMOUWWs2A3mt986vJec/s1600/IMG_1460+S1.84+n1+meridional+weld+opening.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMDGdhV_Cn_6WiPvN8m9hPx3AU1kuuSS1g2q_E6Y-erb0_3uXOkPIO6VPvvygP2iNQFPfHx4tyRNYLA5EqkxF5iEzJoWv6GspsRfrgBPCwLozaan-Npfg9agkqlMOUWWs2A3mt986vJec/s200/IMG_1460+S1.84+n1+meridional+weld+opening.JPG" width="150" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6WjkeHyTRryxNlUD1WFzbhZXVFjJivPXhYmeRFHJ9FcdVPEzUwowHEtLJYGJ67jFGwbL5aXVoLMoE-m7gkV4unvhw9FtYDj8VAJssArgc6DndmtF2oZ7ZoamNOBkCwTd0JaCQKCaugGM/s1600/IMG_1587+S2.66+n1+meridional+weld+opening.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6WjkeHyTRryxNlUD1WFzbhZXVFjJivPXhYmeRFHJ9FcdVPEzUwowHEtLJYGJ67jFGwbL5aXVoLMoE-m7gkV4unvhw9FtYDj8VAJssArgc6DndmtF2oZ7ZoamNOBkCwTd0JaCQKCaugGM/s200/IMG_1587+S2.66+n1+meridional+weld+opening.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwWPsS8iABQZ4yXu2BYe7fgpY7hxB7nqSQFeEqn9UNtvOqEoEj_-CKWb1Ie6l6A4a4xb0kX2KeNhAkVa0N_6Hu9d5SfQA_vW8zW3LGPL1WXuMIEuhodwwIsKeOtMu9x3AXTKosFgTlVog/s1600/IMG_1601+S2.66+n1+meridional+weld+opening.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwWPsS8iABQZ4yXu2BYe7fgpY7hxB7nqSQFeEqn9UNtvOqEoEj_-CKWb1Ie6l6A4a4xb0kX2KeNhAkVa0N_6Hu9d5SfQA_vW8zW3LGPL1WXuMIEuhodwwIsKeOtMu9x3AXTKosFgTlVog/s200/IMG_1601+S2.66+n1+meridional+weld+opening.JPG" width="150" /></a></div>
The most frequent issue on the larger envelopes made of four individual pieces (S1.84 and S2.66) was the meridional weld not sustaining the stress and eventually opening. In retrospect, I would accredit this issue in a number of the cases to the heat sealer not producing reliable welds consistently at that time. Also the potential of successfully repairing the weld again is low, because the material in this area deforms right from the beginning making it not respond properly to the heat sealing anymore.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFuK1RzA-TeWLu8W8Z3iCExyWp4ZhDNclWQZEVyC6R4xroaITPNWhtdmTLqg2trfEew6lCkwol5d5GJuD8F1d-Id238qSdX6JV2JaPcI82BKBp1X7O_YrXpyRfP47THUKphYkGDkMgfDk/s1600/IMG_1598+S2.66+n1+hole+in+meridional+weld+opening.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFuK1RzA-TeWLu8W8Z3iCExyWp4ZhDNclWQZEVyC6R4xroaITPNWhtdmTLqg2trfEew6lCkwol5d5GJuD8F1d-Id238qSdX6JV2JaPcI82BKBp1X7O_YrXpyRfP47THUKphYkGDkMgfDk/s200/IMG_1598+S2.66+n1+hole+in+meridional+weld+opening.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyLYifvAN_tn3m7FZeiTtORU3MN9mIuURInL-HWRlZMsqWwUScFdGMXUVwtMorLQNHWQEnP3_tsiD6CbhdpMXeoalfGXSMTt_UmrnjwamnUxBc5LMvjLawe6VclBzDqh0iHfzUdmPuhTA/s1600/IMG_1763+S1.84+n7+hole+in+meridional+weld+opening.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyLYifvAN_tn3m7FZeiTtORU3MN9mIuURInL-HWRlZMsqWwUScFdGMXUVwtMorLQNHWQEnP3_tsiD6CbhdpMXeoalfGXSMTt_UmrnjwamnUxBc5LMvjLawe6VclBzDqh0iHfzUdmPuhTA/s200/IMG_1763+S1.84+n7+hole+in+meridional+weld+opening.JPG" width="150" /></a></div>
These images come from S2.66_n1 and S1.84_n7 and depict a failure due to a hole developing in the meridional weld opening. In the first case, it was after I repaired a meridional weld opening by welding the deformed material. The second case shows another issue I had with the heat sealer. When doing straight welds that are longer then the heat sealer itself, it tends to deform the film right at the end and a little beyond. I suspect that in this case it burnt through the film resulting in a small hole too close to the edge. <br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-9hbo">Flight</th>
<th class="tg-9hbo">Type</th>
<th class="tg-9hbo">kg</th>
<th class="tg-9hbo">m<sup>3</sup></th>
<th class="tg-9hbo">Γ</th>
<th class="tg-9hbo">m<sup>3</sup></th>
</tr>
<tr>
<td class="tg-yw42">TT7F1</td>
<td class="tg-yw4l">S1.33</td>
<td class="tg-yw4l">0.136</td>
<td class="tg-yw4l">0.358</td>
<td class="tg-yw4l">1.94</td>
<td class="tg-yw4l">0.695</td>
</tr>
<tr>
<td class="tg-yw42">TT7F2</td>
<td class="tg-yw4l">S1.33</td>
<td class="tg-yw4l">0.136</td>
<td class="tg-yw4l">0.358</td>
<td class="tg-yw4l">1.93</td>
<td class="tg-yw4l">0.691</td>
</tr>
<tr>
<td class="tg-yw42">TT7F3</td>
<td class="tg-yw4l">S1.84</td>
<td class="tg-yw4l">0.260</td>
<td class="tg-yw4l">0.949</td>
<td class="tg-yw4l">1.83</td>
<td class="tg-yw4l">1.737</td>
</tr>
<tr>
<td class="tg-yw42">TT7F4</td>
<td class="tg-yw4l">S1.84</td>
<td class="tg-yw4l">0.260</td>
<td class="tg-yw4l">0.949</td>
<td class="tg-yw4l">1.74</td>
<td class="tg-yw4l">1.651</td>
</tr>
<tr>
<td class="tg-yw42">TT7F5</td>
<td class="tg-yw4l">T3.33</td>
<td class="tg-yw4l">0.395</td>
<td class="tg-yw4l">1.484</td>
<td class="tg-yw4l">1.35</td>
<td class="tg-yw4l">2.003</td>
</tr>
<tr>
<td class="tg-yw42">TT7F6</td>
<td class="tg-yw4l">T2.33</td>
<td class="tg-yw4l">0.265</td>
<td class="tg-yw4l">0.921</td>
<td class="tg-yw4l">1.51</td>
<td class="tg-yw4l">1.391</td>
</tr>
</tbody></table>
<br />
I should also reflect on the volume and mass estimates of individual envelopes I have made. The table above shows the estimated mass and volume of the individual envelopes used on specific flights followed by the estimated Gamma and final volume estimate after stretching. Starting with the <b>spherical</b> (Mylar balloon shaped) balloons, throughout manufacture and stretching I used the equation provided by <a href="https://en.wikipedia.org/wiki/Mylar_balloon_(geometry)">Wikipedia</a>: $$V = \frac{2}{3} \pi a r^2$$ to calculate the volume estimate. Where $a$ is one fourth of the meridional circumference (radius of deflated envelope) and $r = 0.763 a$ (radius of inflated envelope). Throughout stretching, I periodically measured the meridional circumference and recalculated the volume. To calculate the mass estimate: $$m = 2\frac{\pi d^2}{4} \cdot t \cdot \rho$$ where the first part of the equation corresponds to the area of the two flat sheets of film which is then multiplied by the material thickness $t$ and density $\rho$. Having that many failed envelopes, I eventually used them to measure the mass directly, and found that the real mass differed by a factor of 1.079-1.089 to the calculated estimates. Following with the <b>tube</b> balloon estimates, I used: $$V= \frac{2}{3} \pi a r_{1}^2 + \pi r_{2}^2 l$$ to calculate the volume. It is basically an S1.33 Mylar shape balloon split by a cylinder of length $l$. The radius $r_{1}$ relates to the Mylar shape balloon while $r_{2}$ is the cylinder's radius of circumference $4a$ thus $r_{2} = 4a / \pi / 2$. During the stretching process, I measured the circumference in two different places, because the balloon expanded unevenly. To reflect that, I calculated the average circumference $(c_{mid} + c_{edge}) / 2$ and used it instead. For the mass estimate: $$m =(2\frac{\pi d^2}{4} + 2 d l) \cdot t \cdot \rho$$ where $2dl$ corresponds to the area of the cylindrical section. In case of the tube envelopes, I didn't have any failed ones and didn't want to fold the flight ready envelopes to fit it on a scale, so I simply adjusted the estimates by the previously derived factor of 1.08, and used these values in the consequent lift calculations.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj61ZWbtPEOjh9zlJvdug2S3ymY5BPnbESLLXIyDKwaeJ1sJnUsx_eOJnH_2H4SZKHxMyuaVoCbS3nBAoDyHjl7aCyI3FiZwijuUDQOLio2yJ2r_cSU7vjpv9ArEZzps5fmnK5sAaefubM/s1600/stretching+comparison-pressure.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="494" data-original-width="933" height="105" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj61ZWbtPEOjh9zlJvdug2S3ymY5BPnbESLLXIyDKwaeJ1sJnUsx_eOJnH_2H4SZKHxMyuaVoCbS3nBAoDyHjl7aCyI3FiZwijuUDQOLio2yJ2r_cSU7vjpv9ArEZzps5fmnK5sAaefubM/s200/stretching+comparison-pressure.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgO_376UxFjfI4T6V_JR61vl5aTUvwPKw57Y1MFcDqHvIPQV9wDHD0HQWCDx3nJ2co_fLidIAYHYLSxwm8CN2vf6co8M1L5QWyl8i1URgTXhQFeWZkk7N4yfGa_EayacVUQfpAOH4z2IlE/s1600/stretching+comparison-gamma.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="494" data-original-width="932" height="105" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgO_376UxFjfI4T6V_JR61vl5aTUvwPKw57Y1MFcDqHvIPQV9wDHD0HQWCDx3nJ2co_fLidIAYHYLSxwm8CN2vf6co8M1L5QWyl8i1URgTXhQFeWZkk7N4yfGa_EayacVUQfpAOH4z2IlE/s200/stretching+comparison-gamma.png" width="200" /></a></div>
These are the stretching profiles of all six envelopes that were launched with the running estimates performed as described. Generally, I would schedule a pressurizing scheme that would slow down the rate higher the pressure was all the way towards a specific pressure level inside the balloon. I would in intervals measure the increase in circumference rising the pressure level if the expansion stopped. All along I'd be examining the envelope, looking out for the local breaches in film mentioned earlier. My initial aim was to stretch and pressurize the balloon to a level corresponding to the expected superpressure (including the effect of maximum expected supertemperature) at the expected float altitude. However, this turned out to be tricky to achieve, and as the first launch later revealed, my volume estimates were way off. In the end, breaches in film layers and early stages of weld openings became the decisive factors in when to end the stretching.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-9hbo">Flight</th>
<th class="tg-9hbo">Type</th>
<th class="tg-9hbo">kg (b)</th>
<th class="tg-9hbo">kg (p)</th>
<th class="tg-9hbo">kg (fl)</th>
<th class="tg-9hbo">kg (h)</th>
<th class="tg-9hbo">m</th>
<th class="tg-9hbo">Pa</th>
<th class="tg-9hbo">°C</th>
<th class="tg-9hbo">m<sup>3</sup></th>
<th class="tg-9hbo">%</th>
</tr>
<tr>
<td class="tg-yw42">TT7F1</td>
<td class="tg-yw4l">S1.33</td>
<td class="tg-yw4l">0.148</td>
<td class="tg-yw4l">0.0134</td>
<td class="tg-yw4l">0.0112</td>
<td class="tg-yw4l">0.0129</td>
<td class="tg-yw4l">11242</td>
<td class="tg-yw4l">23285</td>
<td class="tg-yw4l">-51.6</td>
<td class="tg-yw4l">0.476</td>
<td class="tg-yw4l">68.5</td>
</tr>
<tr>
<td class="tg-yw42">TT7F2</td>
<td class="tg-yw4l">S1.33</td>
<td class="tg-yw4l">0.148</td>
<td class="tg-yw4l">0.0197</td>
<td class="tg-yw4l">0.0108</td>
<td class="tg-yw4l">0.0134</td>
<td class="tg-yw4l">10524</td>
<td class="tg-yw4l">25900</td>
<td class="tg-yw4l">-46.4</td>
<td class="tg-yw4l">0.455</td>
<td class="tg-yw4l">65.8</td>
</tr>
<tr>
<td class="tg-yw42">TT7F3</td>
<td class="tg-yw4l">S1.84</td>
<td class="tg-yw4l">0.283</td>
<td class="tg-yw4l">0.0319</td>
<td class="tg-yw4l">0.0156</td>
<td class="tg-yw4l">0.0247</td>
<td class="tg-yw4l">13403</td>
<td class="tg-yw4l">16573</td>
<td class="tg-yw4l">-62.7</td>
<td class="tg-yw4l">1.237</td>
<td class="tg-yw4l">71.2</td>
</tr>
<tr>
<td class="tg-yw42">TT7F4</td>
<td class="tg-yw4l">S1.84</td>
<td class="tg-yw4l">0.283</td>
<td class="tg-yw4l">0.0315</td>
<td class="tg-yw4l">0.0183</td>
<td class="tg-yw4l">0.0249</td>
<td class="tg-yw4l">11864</td>
<td class="tg-yw4l">20341</td>
<td class="tg-yw4l">-56.4</td>
<td class="tg-yw4l">1.038</td>
<td class="tg-yw4l">62.8</td>
</tr>
<tr>
<td class="tg-yw42">TT7F5</td>
<td class="tg-yw4l">T3.33</td>
<td class="tg-yw4l">0.427</td>
<td class="tg-yw4l">0.0354</td>
<td class="tg-yw4l">0.0110</td>
<td class="tg-yw4l">0.0354</td>
<td class="tg-yw4l">12226</td>
<td class="tg-yw4l">18782</td>
<td class="tg-yw4l">-57.4</td>
<td class="tg-yw4l">1.641</td>
<td class="tg-yw4l">81.9</td>
</tr>
<tr>
<td class="tg-yw42">TT7F6</td>
<td class="tg-yw4l">T2.33</td>
<td class="tg-yw4l">0.287</td>
<td class="tg-yw4l">0.0210</td>
<td class="tg-yw4l">0.0073</td>
<td class="tg-yw4l">0.0236</td>
<td class="tg-yw4l">12153</td>
<td class="tg-yw4l">20342</td>
<td class="tg-yw4l">-61.8</td>
<td class="tg-yw4l">0.988</td>
<td class="tg-yw4l">71.1</td>
</tr>
</tbody></table>
<br />
This table sums up the actual masses of the envelopes (b) and payloads (p), the actual amounts of free lift (fl) to which I managed to fill the balloons, the corresponding amount of hydrogen (h), the actual float altitudes, and back calculated values of the envelope volumes. Following the volume figure is a column comparing the back calculated value to the original estimate. For the calculation itself, I interpolated pressure and temperature values corresponding to the float altitude from the closest atmospheric sounding data. $$V = \frac{m_b + m_p + m_g}{p_{air} / R_{air} / T_{air}}$$ The equation is a specific form of the ideal gas law. Since at float altitude, the density of the system is in equilibrium with the density of the surrounding air, the volume of the system (majority of which is the balloon) equals to the mass of the whole system (balloon, payload and gas) divided by the air density. $R_{air}=286.9 \, J/kgK$ is the specific gas constant of air and $T_{air}$ is in Kelvin. In case of TT7F4, the values relate to the altitude at which the balloon burst.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOpAUBa-mBA_rSsn6-uidXb7O1Tc5kB_AjSgoq1-ATmU-GsSuwjhUk1gBBCfw8P9cX9qt_xthdl8AADMCvlT-LeZ-cfdLDJXU6Zj1Yf4kKFgYVQXbhmh-P1j51y6sQTkiDC_vowHbkYEM/s1600/ascent+rate+time.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="616" data-original-width="975" height="126" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOpAUBa-mBA_rSsn6-uidXb7O1Tc5kB_AjSgoq1-ATmU-GsSuwjhUk1gBBCfw8P9cX9qt_xthdl8AADMCvlT-LeZ-cfdLDJXU6Zj1Yf4kKFgYVQXbhmh-P1j51y6sQTkiDC_vowHbkYEM/s200/ascent+rate+time.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEig320tSrHwxMhG1IobneuI90D4qeMbzV9ERnIVJkhw38h5YJ_D7uXWs7HYrdoLR0X6a5JpzWYIb_rapo6EvRGwSog4eAslYR2ARxbTLOYqkcKBntjVlLby21DToimUDWjLgnp0YiAyStk/s1600/ascent+rate+altitude.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="618" data-original-width="979" height="126" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEig320tSrHwxMhG1IobneuI90D4qeMbzV9ERnIVJkhw38h5YJ_D7uXWs7HYrdoLR0X6a5JpzWYIb_rapo6EvRGwSog4eAslYR2ARxbTLOYqkcKBntjVlLby21DToimUDWjLgnp0YiAyStk/s200/ascent+rate+altitude.png" width="200" /></a></div>
In the blog posts dedicated to individual flights, I already hinted at how I actually measured the lift. First, I did a few calculations. The quantities given were the envelope and payload masses. The variable quantity was the amount of gas and consequently the ascent rate. The objective was to use as little extra lift as possible to minimize the resulting superpressure exerted on the envelope, at the same time aiming for sufficient ascent rate to overcome any undesirable weather effects. The first equation gives the resultant force of a specific amount of gas pushing the balloon up: $$F = \rho_{air}V g - m g $$ where $\rho_{air}$ is the density of air, $V$ is the volume taken up by the gas inside the balloon, $m$ is the mass of the whole system (including the mass of the lifting gas), and $g$ is the standard acceleration due to gravity. The volume of the gas at specific pressure and temperature can be calculated with this equation: $$V = \frac{m_g R_g T}{p}$$ where $m_g$ is the amount of gas in $kg$, and $R_g$ is the specific gas constant of the lifting gas (4124 in case of hydrogen). The previously acquired force was then used in the drag equation: $$v = \sqrt{\frac{2F_D}{\rho C_D A}}$$ where $F_D=F$, $\rho$ is the air density, $C_D = 0.47$ is the drag coefficient of a sphere (for simplicity), $A$ corresponds to the cross sectional area of the spherical volume taken up by the gas, and $v$ is the resultant ascent rate. With the first balloons, I chose the amount of gas to provide an initial ascent rate of 1m/s. In an attempt to ease the superpressure off even further, the lift in the last two balloons was calculated to let them start ascending at 0.75m/s and 0.7m/s respectively. The amount of free lift in kilograms, which is a quantity that can be measured during filling, can be derived from the following equation: $$m_g = \frac{(m_b+m_p+m_{fl}) \cdot p \cdot M_g}{(\rho_{air}-\rho_{g}) \cdot R \cdot T_{air}}$$ where $m_g$ is the mass of the gas, $m_b$ and $m_p$ are masses of the envelope and payload, $m_{fl}$ is the amount of free lift, $M_g$ is the molar mass of the specific lifting gas in $kg/mol$ (0.002016 in case of hydrogen), $\rho_{air}-\rho_g$ gives the difference in densities between air and the gas, $R=8.314 \, J/molK$ is the gas constant, and $T_{air}$ is the air temperature in Kelvin. At the end of these calculations, I had a specific value of free lift that would yield the desired ascent rate. I then took a weight, say 100g, tied it to the envelope and placed it on a pocket scale with sufficient resolution. Filling the balloon with hydrogen, it eventually started to rise upholding the weight. Then, when the scale read 100g - 21g (payload) - 7.5g (free lift) = 71.5g, I had the lift. I didn't have to factor in the filling hose, because I always took it out before the measurement.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPi3vi6l38tf6afTbHU4zTozgYhkWi_PET_KhEPOpPpn-PH-owgv_76DGQ6eMmZGyjkBAM1P2eJq66kM-2eIgvi7Hud2H00MeFmhyphenhypheneSR5ah0XpioBuruZRS0QNEbAMGbjz_AdJwiBDsnc/s1600/IMG_1738+sealed+filling+tube.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPi3vi6l38tf6afTbHU4zTozgYhkWi_PET_KhEPOpPpn-PH-owgv_76DGQ6eMmZGyjkBAM1P2eJq66kM-2eIgvi7Hud2H00MeFmhyphenhypheneSR5ah0XpioBuruZRS0QNEbAMGbjz_AdJwiBDsnc/s200/IMG_1738+sealed+filling+tube.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMe5wGRWgCKXmgbsmmgonKYeKG1rlgVpGDSpzYCvGMdj6KIK2iCT8cpUai13fsKaTljvKiqV8cc-EHfBBfTlL82Yyj0Lw8NoJZoaI4x5fbAdv395yM2hrT15ZEwOpPbUmzc5kym9e2U-c/s1600/IMG_1962+2.33+tube+balloon.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMe5wGRWgCKXmgbsmmgonKYeKG1rlgVpGDSpzYCvGMdj6KIK2iCT8cpUai13fsKaTljvKiqV8cc-EHfBBfTlL82Yyj0Lw8NoJZoaI4x5fbAdv395yM2hrT15ZEwOpPbUmzc5kym9e2U-c/s200/IMG_1962+2.33+tube+balloon.JPG" width="200" /></a></div>
A couple of images of the sealed and cut filling tube. I usually did several re-heated welds side by side from both sides to make sure.<br />
<br />
Generally, I filled the balloons the evening prior to launch and left them in the garage overnight. In all cases, I found the lift to be 1-2g higher the next morning. The only explanation I could come up with was IR absorption that must have increased the gas temperature with respect to the surrounding air.<br />
<br />
A curious situation came about at the launch of TT7F6W. The outside temperature was several degrees lower to the previous launches, and the sun rays didn't reach the garden for much longer as well. So it happened that the balloon standing in shade for about 45 minutes had lost almost all lift by the time I was ready to launch. Placing it in the sun saw the lift restore itself eventually and be ready for an attempt number two. A quick calculation suggests that the gas must have cooled down to be at least 7°C lower than the temperature of the surrounding air.<br />
<br />
At the start of this section, there are two charts depicting ascent rates of all six flights up to their float altitudes. TT7F1 and F2 are recorded only to 4000m and 8000m respectively due to software/hardware issues. The data represent a 10 set average of data points mostly 1-2 minutes apart to smooth the curves somewhat. A quick look at the initial stages of individual flights suggests that the calculations outlined previously did a good enough job in sizing the lift. Worth noticing is the gradual increase in ascent rate peaking at around 10500m in case of the tube balloons. Their more aerodynamic shape causes less drag compared to the more spherical balloons allowing them to pick up speed. Another interesting curve is TT7F5's which recorded a two stage ascent forced by a layer of low clouds that held the balloon for more than two hours.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-9hbo">Flight</th>
<th class="tg-9hbo">Days</th>
<th class="tg-9hbo">Great Circle</th>
<th class="tg-9hbo">Distance</th>
<th class="tg-9hbo">Failure</th>
</tr>
<tr>
<td class="tg-yw42">TT7F1</td>
<td class="tg-yw4l">8.63</td>
<td class="tg-yw4l">8003km</td>
<td class="tg-yw4l">9465km</td>
<td class="tg-yw42">indeterminable</td>
</tr>
<tr>
<td class="tg-yw42">TT7F2</td>
<td class="tg-yw4l">2.08</td>
<td class="tg-yw4l">2032km</td>
<td class="tg-yw4l">3326km</td>
<td class="tg-yw42">failed transmitter</td>
</tr>
<tr>
<td class="tg-yw42">TT7F3</td>
<td class="tg-yw4l">0.50</td>
<td class="tg-yw4l">238km</td>
<td class="tg-yw4l">275km</td>
<td class="tg-yw42">indeterminable</td>
</tr>
<tr>
<td class="tg-yw42">TT7F4</td>
<td class="tg-yw4l">0.16</td>
<td class="tg-yw4l">203km</td>
<td class="tg-yw4l">210km</td>
<td class="tg-yw42">failed envelope during ascent</td>
</tr>
<tr>
<td class="tg-yw42">TT7F5</td>
<td class="tg-yw4l">1.42</td>
<td class="tg-yw4l">1111km</td>
<td class="tg-yw4l">1189km</td>
<td class="tg-yw42">indeterminable</td>
</tr>
<tr>
<td class="tg-yw42">TT7F6</td>
<td class="tg-yw4l">2.88</td>
<td class="tg-yw4l">3230km</td>
<td class="tg-yw4l">3898km</td>
<td class="tg-yw42">indeterminable</td>
</tr>
</tbody></table>
<br />
The table above provides a quick summary of the individual flights in terms of duration from the first received packet to the last, and in terms of the total distance between successive packets that were received. Great circle distance then represents the distance between the first and the last point on the surface of a sphere.<br />
<br />
<b>TT7F1</b> - the first and also the longest flight delivered its last packet over Japan right before it set off to cross the Pacific. It never arrived to Alaska where it was supposed to show up two and half days later. The float altitude was 500m lower (10588m) from the previous day on the last day packets were received. I didn't log the state of weather (storms, high clouds) over the Pacific at that time. A 400m wobbling in altitude was recorded at sunset of the third day.<br />
<br />
<b>TT7F2</b> - the tracker wrestled with a poor connection between the transmitter and the MCU since day one delivering the last packets on the third day over southwestern Russia. During that time, the float altitude moved between 10234m and 10524m which seems to comply with the natural range of fluctuation of a concrete pressure level within the atmosphere. I didn't log the weather conditions either.<br />
<br />
<b>TT7F3</b> - achieved the highest float altitude - 13403m. It experienced wild wobbling at sunset of the first day over Hungary. First 1100m drop in altitude followed by 800m rise and another 800m drop inside 45 minutes. It wasn't heard of the next day, nor the days after. The weather along its predicted path was clear skied and stormless.<br />
<br />
<b>TT7F4</b> - experienced an apparent envelope failure at 11864m. It was filled to a higher free lift than the previous balloon. It was also one of the latter spherical envelopes made while the impulse heat sealer was experiencing difficulties with inconsistent welding. After the failure, the balloon descended at a rate of initially -4m/s to -2m/s in the later stages. It eventually landed at the Polish-Slovak border.<br />
<br />
<b>TT7F5</b> - simply didn't show up on the third morning after two whole days without noticing any problems. The last packet was received from above the Ionian Sea. The balloon was expected to report from above Greece the next morning, but never did. After launch, the balloon was held by a layer of low clouds at about 2800m for two and a half hours before it ascended to its average float altitude of 12170m. There were no storms, nor high clouds on its predicted path.<br />
<br />
<b>TT7F6W</b> - similarly to F5, both the balloon and electronics operated without any problems for the first three days. The fourth day, however, saw only one WSPR packet coming through from above Iran exactly where Hysplit had it predicted at that time. Eventually, it turned out to be the last packet, and the tracker wasn't heard of again. Over the course of the three days, the average altitude was slowly decreasing all within the range of natural pressure level fluctuation. The balloon experienced a loss of lift right before the first attempt to launch it. The lift eventually recovered after the balloon was placed in the sun. It was then successfully launched during the second attempt.<br />
<br />
Assessing the overall envelope performance has turned out to be problematic since there was only one confirmed and recorded failure (F4). With F1's altitude drop on the last day potentially suggesting another. In case of the F3, F5 and F6 balloons, it is unclear whether their failure originated in the envelope or a broken tracker. There simply weren't any more received packets in the following days. I would think a balloon failure to be more probable during the day, around local noon or afternoon, when the lifting gas reaches the highest temperature hence the most superpressure. With respect to a nighttime failure, I can only think of loosing lift due to the gas cooling down too much with respect to the surrounding air as the possible reason. As mentioned, there were two cases of recorded wobbling in altitude as the sun set which I attribute to the gas rapidly cooling down before finding a nighttime equilibrium again.<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<b>Balloon Types Overview</b><br />
This is a summary of parameters of the individual envelopes I have made. In the cases of balloons that have flown, I mention a volume figure derived from the actual float altitudes. This figure will differ in individual balloons of the same type depending on the achieved amount of stretch.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDga_hXtX8pevEWxqEtyvTiwnTh9Dlr_6JW8LqfOCA-lUZrVGEUjF4eVrd3I_A2Oab9SoPY8KF1tqtdsM0vLMe2WVW_aNGLE-PgDENkTIRwaE8LJFoxcsrZwDdPGAHAdeFOeXsiLxrLC0/s1600/IMG_0498+S1.33+first+shape.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDga_hXtX8pevEWxqEtyvTiwnTh9Dlr_6JW8LqfOCA-lUZrVGEUjF4eVrd3I_A2Oab9SoPY8KF1tqtdsM0vLMe2WVW_aNGLE-PgDENkTIRwaE8LJFoxcsrZwDdPGAHAdeFOeXsiLxrLC0/s200/IMG_0498+S1.33+first+shape.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpQkzoQXvxV2krC0rgKTLw2DD8h2XjtW2cx057ejXxls7aosq1y3q3ZC88RYrv5J9-t3cGJXlof3N1hu1KzZwIe1qIkTdnM3_kYIlGbS-BqkLtCA3rjh3Ho-zg-Xte38fadBrEIiwQU7I/s1600/IMG_0550+S1.33+first+inflated.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpQkzoQXvxV2krC0rgKTLw2DD8h2XjtW2cx057ejXxls7aosq1y3q3ZC88RYrv5J9-t3cGJXlof3N1hu1KzZwIe1qIkTdnM3_kYIlGbS-BqkLtCA3rjh3Ho-zg-Xte38fadBrEIiwQU7I/s200/IMG_0550+S1.33+first+inflated.JPG" width="200" /></a></div>
<b>S1.33</b> - made of two circular pieces of film. The inner diameter of the flat shape is 1.33m (with 2cm for the circumferential welds, it corresponds to the width of the film roll), measured mass is 0.148kg and the volume derived from the actual float altitudes was 0.506m<sup>3</sup> and 0.482m<sup>3</sup> (dependent on the specific extent of pre-stretch).<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTYvM6QPacBkN3SCnF_USHdhu47B2eyjQDhMXjbDTlkTUW3i2tzK4Dm0k47ylsZ8sSSC1Gp1KeOXaXpB8tGVmZtpBH-yRZqlTYPbU_IunXHQtiM-vjJ_Iu-vpDqyFwMJAo43L6P6TVbBc/s1600/IMG_0560+S1.84+first+shape.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTYvM6QPacBkN3SCnF_USHdhu47B2eyjQDhMXjbDTlkTUW3i2tzK4Dm0k47ylsZ8sSSC1Gp1KeOXaXpB8tGVmZtpBH-yRZqlTYPbU_IunXHQtiM-vjJ_Iu-vpDqyFwMJAo43L6P6TVbBc/s200/IMG_0560+S1.84+first+shape.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtXE-HuKtXZbv15iUV8vdfl3yHeTJ9KY1yHq9zmnaZsdMLRR7_INVfkslnD-MEUOlGNfEP6lT7NH8aD_H7-IiJa_0exKlpAMG5NFiZCGqNalb42pLS1XZKwOVWUpkqflDCCSjRu_aiB_k/s1600/IMG_1495+S1.84+n2+inflated.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtXE-HuKtXZbv15iUV8vdfl3yHeTJ9KY1yHq9zmnaZsdMLRR7_INVfkslnD-MEUOlGNfEP6lT7NH8aD_H7-IiJa_0exKlpAMG5NFiZCGqNalb42pLS1XZKwOVWUpkqflDCCSjRu_aiB_k/s200/IMG_1495+S1.84+n2+inflated.JPG" width="200" /></a></div>
<b>S1.84 v1</b> - made of four hemispherical pieces of film. The inner diameter of the flat shape is 1.84m, measured mass is 0.283kg and the volume derived from the actual float altitude was 1.294m<sup>3</sup> (dependent on the extent of pre-stretch). Two hemispheres are joined by a straight meridional weld, then the two resulting circular pieces are sealed by a circumferential weld.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLtkb4QU8PNR-XMZ-rDEbVTf1Nx1PaX2GAX_UD1Ivk-swm9wy32F03-QRtwtVweAScx1Ym5VRXX9yOJegQqJUdHB5PNAK4x1YEqXTH7-k4lTZjUzrHWP_QrLnKkLENnkqLxkpIe04axF4/s1600/IMG_1534+S1.84+n3+shape+ver2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLtkb4QU8PNR-XMZ-rDEbVTf1Nx1PaX2GAX_UD1Ivk-swm9wy32F03-QRtwtVweAScx1Ym5VRXX9yOJegQqJUdHB5PNAK4x1YEqXTH7-k4lTZjUzrHWP_QrLnKkLENnkqLxkpIe04axF4/s200/IMG_1534+S1.84+n3+shape+ver2.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-c7z4rVE6LAtt9_hjVTmyfZ0UBm0SUyW2HoFl-PfGn__IhEcAk4vMdMA7KZXuxRkO8iUiq-WkKtn2I5xo-bMH6rBWmIHKrPqkdXAdwKk4JjZOLSu5kogRgxtSBc-0dgYtodgtmejO1p8/s1600/IMG_1552+S1.84+n3+shape+ver2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-c7z4rVE6LAtt9_hjVTmyfZ0UBm0SUyW2HoFl-PfGn__IhEcAk4vMdMA7KZXuxRkO8iUiq-WkKtn2I5xo-bMH6rBWmIHKrPqkdXAdwKk4JjZOLSu5kogRgxtSBc-0dgYtodgtmejO1p8/s200/IMG_1552+S1.84+n3+shape+ver2.JPG" width="200" /></a></div>
<b>S1.84 v2</b> - made of six pieces of film. The two middle shapes use the entire width of the roll - 1.35m. This is to move the welds off the highest stress area - the centre of the circular shapes. The remaining four hemispherical pieces then complete the two circular shapes 1.84m in diameter with four straight welds. A weld generally takes up about 1cm of the film. The mass of the envelope is a few grams higher than S1.84's 0.283kg due to the longer welding. The real volume is not known, because the two samples failed during pre-stretching and were never flown, but it should be comparable to S1.84's volume.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXOzG_xYmLs3WZcm_woHziEdtuiuV19dE8-t9lQlBiK5v1-tIuOw1gHE8Hb0cUrAeqvy2eon1IUjTrYcyImbR1at7ONGf-j18dpe-dpkpYCufv8HxHy5Mf8467Nm0PEeugL54_QFpBkOU/s1600/IMG_0601+S2.66+first+shape.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXOzG_xYmLs3WZcm_woHziEdtuiuV19dE8-t9lQlBiK5v1-tIuOw1gHE8Hb0cUrAeqvy2eon1IUjTrYcyImbR1at7ONGf-j18dpe-dpkpYCufv8HxHy5Mf8467Nm0PEeugL54_QFpBkOU/s200/IMG_0601+S2.66+first+shape.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBtC6yu64vUdYw_S9eiwxb6p7usa5m81qVt6NxtV81kYrzWqdKYJuYkjbPwWaD9RRQR5Z5iDMIeT2EtbORa89YGZ_PgMy3HVYNRXN-R7sfvqLW9cubWSJm1QXTl-HNTEgbt4moz09JO0Q/s1600/IMG_0619+S2.66+first+inflated.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBtC6yu64vUdYw_S9eiwxb6p7usa5m81qVt6NxtV81kYrzWqdKYJuYkjbPwWaD9RRQR5Z5iDMIeT2EtbORa89YGZ_PgMy3HVYNRXN-R7sfvqLW9cubWSJm1QXTl-HNTEgbt4moz09JO0Q/s200/IMG_0619+S2.66+first+inflated.JPG" width="200" /></a></div>
<b>S2.66</b> - made of four hemispherical pieces of film. This time utilizing the full width of the roll. The inner diameter of the flat shape is 2.66m and measured mass is 0.585kg. Neither of the two samples withstood the stress on the meridional weld, so this envelope has never been launched and its volume couldn't have been derived. The construction is identical to S1.84 v1.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBQkk6Lyfu4ghqiZClmMQU_DznhDNvKhnGyN6R8QLDeI3M-lZdZr1DSWsfGZVEnJRxE6CRk9ahAnM9EIj3dec-Z2294B-qLhW6ppDfbiFrVfEfehrG55x73Csa0M1Vgkd3kUPASClabcs/s1600/IMG_1826+T2.33+n1+shape.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBQkk6Lyfu4ghqiZClmMQU_DznhDNvKhnGyN6R8QLDeI3M-lZdZr1DSWsfGZVEnJRxE6CRk9ahAnM9EIj3dec-Z2294B-qLhW6ppDfbiFrVfEfehrG55x73Csa0M1Vgkd3kUPASClabcs/s200/IMG_1826+T2.33+n1+shape.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwNsqGvixEg-i4In_14Muak4xpTVkSUH0vNYjwgBUIosZIJCp5_sEeZNePjct9d7KeuIH0o5ZA-eDQsJ4EVg1cN1o5eFveHIZ8MmUU0qSV9Zf4OXxhV1RfIDQi78zrmwyrkMcKkrEzVhQ/s1600/IMG_1852+T2.33+n1+inflated+shape.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwNsqGvixEg-i4In_14Muak4xpTVkSUH0vNYjwgBUIosZIJCp5_sEeZNePjct9d7KeuIH0o5ZA-eDQsJ4EVg1cN1o5eFveHIZ8MmUU0qSV9Zf4OXxhV1RfIDQi78zrmwyrkMcKkrEzVhQ/s200/IMG_1852+T2.33+n1+inflated+shape.JPG" width="150" /></a></div>
<b>T2.33</b> - made of two pieces of film. It utilizes the full width of the roll distancing two hemispheres with a square. The length of the shape is 2.33m, the width is 1.33m, and the radius of the hemisphere is 0.665m. The mass was only calculated and adjusted by a factor derived from the real measurements of the other types to 0.287kg. The volume derived from the actual float altitude was 0.988m<sup>3</sup>. The construction requires one long circumferential weld.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgttcWFtw_d5NdKR2RZRrnJvUzcTab5zchEypxf5bag6AAFq7fY2ZaRlkkDZfwID_G58tuNDqk37-M_pwo7pQsCE8lGmMhw45O1FO0bc4ywPPN6M4U6ksNmoUcMu0v_IzijUHlukizE7M8/s1600/IMG_1797+T3.33+n1+shape.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgttcWFtw_d5NdKR2RZRrnJvUzcTab5zchEypxf5bag6AAFq7fY2ZaRlkkDZfwID_G58tuNDqk37-M_pwo7pQsCE8lGmMhw45O1FO0bc4ywPPN6M4U6ksNmoUcMu0v_IzijUHlukizE7M8/s200/IMG_1797+T3.33+n1+shape.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3Abbafb9StWN197CpOC2PoupBLGzZtlDr11QRz29W9TeQw915etY8LW40YV2KevnORPGmCU7V9Bh3yRI00sQ_lOgBod_EzN7kUs2CVRDJiSQNLIVjfwPvt7IkGU46EJV33dI9L_4vLGg/s1600/IMG_1803+T3.33+n1+inflated+shape.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3Abbafb9StWN197CpOC2PoupBLGzZtlDr11QRz29W9TeQw915etY8LW40YV2KevnORPGmCU7V9Bh3yRI00sQ_lOgBod_EzN7kUs2CVRDJiSQNLIVjfwPvt7IkGU46EJV33dI9L_4vLGg/s200/IMG_1803+T3.33+n1+inflated+shape.JPG" width="150" /></a></div>
<b>T3.33</b> - made of two pieces of film. It utilizes the full width of the roll distancing two hemispheres with a
rectangle. The length of the shape is 3.33m, the width is 1.33m, and
the radius of the hemisphere is 0.665m. The mass was only calculated and
adjusted by a factor derived from the real measurements of the other
types to 0.427kg. The volume derived from the actual float altitude was 1.641m<sup>3</sup>. The construction requires one long circumferential weld.<br />
<br />
<b>Theoretical Notes</b><br />
This section serves to summarize and illustrate some of the factors involved in balloon making, and the implications of different design choices. A superpressure balloon has a specific amount of lifting gas sealed inside an envelope of a specific volume. The initial ascent is due to the lifting gas causing buoyant force in upward direction that is bigger than the weight of the whole system. The amount of 'free lift' decides the ascent rate. As the balloon ascends, the surrounding air pressure decreases allowing the gas to expand decreasing the density of the whole system and keeping it lower than the density of the surrounding air. At some point, the expanding gas fills the whole envelope after which the buoyant force gradually decreases while the balloon still ascends. The floating phase starts when the buoyant force equals the weight of the whole system, in other words the system's density is in equilibrium with the density of the surrounding air. The difference in pressure levels between the point the gas stops expanding and the moment the balloon no longer ascends corresponds to the extent to which the envelope gets pressurized and is referred to as superpressure. On top of that, the envelope is subjected to variations in temperature of the lifting gas with respect to the temperature of the surrounding air. This is referred to as supertemperature and may further add to the pressure inside the envelope. The pressurized vessel is then subjected to stresses inside the envelope material.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinzmA22aLWV34vqCqhlrTunlbCALcrfrvasoRUzsxeF4XAsS198vtGCqx0LF_tdX85jZ-UqOUE2-NCq40KAOdzPrcr_9TXO5xpxI9OiDAZ39Zn-qvzjmFe1c8u4On16ihYQrse1t-nu10/s1600/sphere+stress.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="238" data-original-width="513" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinzmA22aLWV34vqCqhlrTunlbCALcrfrvasoRUzsxeF4XAsS198vtGCqx0LF_tdX85jZ-UqOUE2-NCq40KAOdzPrcr_9TXO5xpxI9OiDAZ39Zn-qvzjmFe1c8u4On16ihYQrse1t-nu10/s1600/sphere+stress.PNG" /></a></div>
For the sake of simplicity I will be using a perfect sphere defined by its radius to represent the balloons in the following examples.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEga_JFh7g1ZsADeWUe_QMAM69i6WEPrml6bniGUGCqVr8fibx7lSyoUPuTwqP4MLt44EgdDz2ksR3EHqs9GdZUTzoS6taxwcQxykBS2kZrJ1LqrY-sJVtFPD0BUfcBKEcMpALSERt0USSk/s1600/sphere+stress+2.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="238" data-original-width="299" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEga_JFh7g1ZsADeWUe_QMAM69i6WEPrml6bniGUGCqVr8fibx7lSyoUPuTwqP4MLt44EgdDz2ksR3EHqs9GdZUTzoS6taxwcQxykBS2kZrJ1LqrY-sJVtFPD0BUfcBKEcMpALSERt0USSk/s1600/sphere+stress+2.PNG" /></a></div>
One of the advantages of a spherical envelope is that the tensile stress is the same at any point around the surface in both the x and y directions. The equation to compute the circumferential stress is: $$\sigma = \frac{pr}{2t}$$ where $p$ is the balloon's internal superpressure, $r$ is the radius of the sphere, and $t$ is the envelope thickness.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0fEZ_J_71CYBFw83DyzVN9BgsTj7Gq3wjz4pBiLu8khn8FZqUqu28KU-NJh7PGMRMfd4qEiETqQBjapZhsHoC7xNlh30Hpt-jkQNYrPZb9-o0Y9RCzg58bH-3jEjc_ftl1Thx1eFzamA/s1600/Mylar+stress+strain+curve+temperatures.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="413" data-original-width="615" height="133" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0fEZ_J_71CYBFw83DyzVN9BgsTj7Gq3wjz4pBiLu8khn8FZqUqu28KU-NJh7PGMRMfd4qEiETqQBjapZhsHoC7xNlh30Hpt-jkQNYrPZb9-o0Y9RCzg58bH-3jEjc_ftl1Thx1eFzamA/s200/Mylar+stress+strain+curve+temperatures.png" width="200" /></a></div>
In the first blog post on superpressure balloons, I misunderstood some of the concepts taking place. The following, hopefully, clears up the confusion. The above is a chart of four stress-strain curves of Mylar taken from DuPont's Physical-Thermal Properties datasheet. I chose Mylar to use in some of these examples for the amount of data openly available as opposed to other balloon materials. Tensile stress is a force per unit area causing tensile strain, an amount of deformation expressed as a ratio of the extension to the original length. In terms of a balloon, it's the force trying to rip the walls apart as indicated in the illustrations above. As mentioned previously, a spherical envelope is subjected to uniform stresses in all directions. The behaviour described by the stress-strain curve could be divided into two regions. First, the elastic region which encompasses the stresses a material can take and still return to its original size and shape when the stress is removed. The proportional limit within this region demarks the point after which the ratio of stress to strain is no longer proportional. The ratio inside the initial linear region itself can be found in datasheets as the Young's modulus and gives a quick estimate of how stiff the material is (how much it resists deformation). Based on the Mylar curves, this occurs around 2-3% elongation (though the original chart doesn't provide very good resolution). The elastic limit of a material indicates the end of the elastic region and the beginning of the plastic region with stresses that lead to permanent deformation. The yield point is defined as the first stress at which an increase in strain occurs without an increase in stress. In case of the Mylar curves, this seems to happen at around 13-16% elongation. The behaviour outlined by the mentioned limits and points (and their existence as a matter of fact) is dependent on the type of material (polymer, metal, etc.) and specific temperature in question. A polymeric material at very low temperatures (below their brittle-ductile transition temperature: LLDPE -70°C, PA 66 -80°C for example) becomes brittle and breaks without any plastic deformation. The chart above describes the behaviour of a Mylar film at four different temperatures in a range a balloon envelope is likely to encounter (all below the glass transition temperature of Mylar: 73-80°C). At 35°C, a slightly hotter room temperature, the material plastically deforms and breaks at lower stress but much higher strain. At lower temperatures (-55°C and -70°C), the material becomes tougher (toughness defined as the energy per unit volume a material can absorb before rupturing) and stiffer, and breaks at much higher stress but less elongation. An interesting actuality in polymer materials is that the same effects caused by varying the temperature can be achieved by varying the strain rate. Keeping temperature constant and increasing the strain rate leads to the material behaving tougher and stiffer while slower strain rate leads to the opposite effect. A change in temperature is indistinguishable from a change in strain rate. This principle manifests itself as creep. At constant temperature, a material under permanent stress continues to slowly deform until the stress is relieved or the material fails. Given the nature of a superpressure balloon, that is constantly pressurized hence in permanent stress, the material creep puts a finite limit on the envelope's operating life. However, at least the low temperatures at which it operates and the regular nighttime drops in superpressure slow down the creep rate.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-9hbo">r (m)</th>
<th class="tg-9hbo">V (m<sup>3</sup>)</th>
<th class="tg-9hbo">t (μm)</th>
<th class="tg-9hbo">p (Pa)</th>
<th class="tg-9hbo">σ (MPa)</th>
</tr>
<tr>
<td class="tg-yw4l">0.25</td>
<td class="tg-yw4l">0.065</td>
<td class="tg-yw4l">50</td>
<td class="tg-yw4l">1000</td>
<td class="tg-yw4l">2.50</td>
</tr>
<tr>
<td class="tg-yw4l">0.50</td>
<td class="tg-yw4l">0.524</td>
<td class="tg-yw4l">50</td>
<td class="tg-yw4l">1000</td>
<td class="tg-yw4l">5.00</td>
</tr>
<tr>
<td class="tg-yw4l">0.75</td>
<td class="tg-yw4l">1.767</td>
<td class="tg-yw4l">50</td>
<td class="tg-yw4l">1000</td>
<td class="tg-yw4l">7.50</td>
</tr>
<tr>
<td class="tg-yw4l">1.00</td>
<td class="tg-yw4l">4.189</td>
<td class="tg-yw4l">50</td>
<td class="tg-yw4l">1000</td>
<td class="tg-yw4l">10.00</td>
</tr>
</tbody></table>
<br />
The table above shows how the tensile stress in an envelope depends on the radius of the balloon. At the same superpressure, the walls of a larger envelope are subjected to higher stress. This is noticeable particularly during stretching and needs to be taken into account when planning a stretching profile. For example, the smaller S1.33 envelopes were stretched with gauge pressures of up to 2.2-2.3kPa while the larger S1.84 envelopes only up to 1.5-1.7kPa. I also saw weld failures in the largest S2.66 envelopes as early as 400Pa.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-9hbo">r (m)</th>
<th class="tg-9hbo">V (m<sup>3</sup>)</th>
<th class="tg-9hbo">m<sub>b</sub> (kg)</th>
<th class="tg-9hbo">m<sub>p</sub> (kg)</th>
<th class="tg-9hbo">m<sub>g</sub> (kg)</th>
<th class="tg-9hbo">v (m/s)</th>
<th class="tg-9hbo">m<sub>fl</sub> (kg)</th>
<th class="tg-9hbo">alt (m)</th>
<th class="tg-9hbo">sp (Pa)</th>
<th class="tg-9hbo">σ (MPa)</th>
</tr>
<tr>
<td class="tg-yw4l">0.25</td>
<td class="tg-yw4l">0.065</td>
<td class="tg-yw4l">0.038</td>
<td class="tg-yw4l">0.010</td>
<td class="tg-yw4l">0.00396</td>
<td class="tg-yw4l">1.0</td>
<td class="tg-yw4l">0.0046</td>
<td class="tg-yw4l">4240</td>
<td class="tg-yw4l">5237</td>
<td class="tg-yw4l">13.1</td>
</tr>
<tr>
<td class="tg-yw4l">0.50</td>
<td class="tg-yw4l">0.524</td>
<td class="tg-yw4l">0.153</td>
<td class="tg-yw4l">0.010</td>
<td class="tg-yw4l">0.01297</td>
<td class="tg-yw4l">1.0</td>
<td class="tg-yw4l">0.0101</td>
<td class="tg-yw4l">11492</td>
<td class="tg-yw4l">1201</td>
<td class="tg-yw4l">6.0</td>
</tr>
<tr>
<td class="tg-yw4l">0.75</td>
<td class="tg-yw4l">1.767</td>
<td class="tg-yw4l">0.345</td>
<td class="tg-yw4l">0.010</td>
<td class="tg-yw4l">0.02780</td>
<td class="tg-yw4l">1.0</td>
<td class="tg-yw4l">0.0168</td>
<td class="tg-yw4l">14288</td>
<td class="tg-yw4l">593</td>
<td class="tg-yw4l">4.4</td>
</tr>
<tr>
<td class="tg-yw4l">1.00</td>
<td class="tg-yw4l">4.189</td>
<td class="tg-yw4l">0.613</td>
<td class="tg-yw4l">0.010</td>
<td class="tg-yw4l">0.04842</td>
<td class="tg-yw4l">1.0</td>
<td class="tg-yw4l">0.0244</td>
<td class="tg-yw4l">16193</td>
<td class="tg-yw4l">361</td>
<td class="tg-yw4l">3.6</td>
</tr>
</tbody></table>
<br />
On the other hand, lifting the same payload (10g) with the same initial ascent rate (1m/s) with larger envelopes leads to less superpressure inside the balloon and less stress in the material. These calculations assume the temperature of the gas (hydrogen) and ambient air to be the same, and do not account for the effect of supertemperature which depends on altitude (more on that later).<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-9hbo">r (m)</th>
<th class="tg-9hbo">r/r</th>
<th class="tg-9hbo">V (m<sup>3</sup>)</th>
<th class="tg-9hbo">V/V</th>
<th class="tg-9hbo">m (kg)</th>
<th class="tg-9hbo">m/m</th>
<th class="tg-9hbo">ρ (kg/m<sup>3</sup>)</th>
<th class="tg-9hbo">ρ/ρ</th>
<th class="tg-9hbo">alt (m)</th>
<th class="tg-9hbo">a/a</th>
</tr>
<tr>
<td class="tg-yw4l">0.25</td>
<td class="tg-yw4l"></td>
<td class="tg-yw4l">0.065</td>
<td class="tg-yw4l"></td>
<td class="tg-yw4l">0.038</td>
<td class="tg-yw4l"></td>
<td class="tg-yw4l">0.5856</td>
<td class="tg-yw4l"></td>
<td class="tg-yw4l">7059</td>
<td class="tg-yw4l"></td>
</tr>
<tr>
<td class="tg-yw4l">0.50</td>
<td class="tg-yw4l">2</td>
<td class="tg-yw4l">0.524</td>
<td class="tg-yw4l">8</td>
<td class="tg-yw4l">0.153</td>
<td class="tg-yw4l">4</td>
<td class="tg-yw4l">0.2928</td>
<td class="tg-yw4l">0.5</td>
<td class="tg-yw4l">12377</td>
<td class="tg-yw4l">1.75</td>
</tr>
<tr>
<td class="tg-yw4l">1.00</td>
<td class="tg-yw4l">2</td>
<td class="tg-yw4l">4.189</td>
<td class="tg-yw4l">8</td>
<td class="tg-yw4l">0.613</td>
<td class="tg-yw4l">4</td>
<td class="tg-yw4l">0.1464</td>
<td class="tg-yw4l">0.5</td>
<td class="tg-yw4l">16770</td>
<td class="tg-yw4l">1.36</td>
</tr>
<tr>
<td class="tg-yw4l">2.00</td>
<td class="tg-yw4l">2</td>
<td class="tg-yw4l">33.510</td>
<td class="tg-yw4l">8</td>
<td class="tg-yw4l">2.453</td>
<td class="tg-yw4l">4</td>
<td class="tg-yw4l">0.0732</td>
<td class="tg-yw4l">0.5</td>
<td class="tg-yw4l">21139</td>
<td class="tg-yw4l">1.26</td>
</tr>
<tr>
<td class="tg-yw4l">4.00</td>
<td class="tg-yw4l">2</td>
<td class="tg-yw4l">268.083</td>
<td class="tg-yw4l">8</td>
<td class="tg-yw4l">9.812</td>
<td class="tg-yw4l">4</td>
<td class="tg-yw4l">0.0366</td>
<td class="tg-yw4l">0.5</td>
<td class="tg-yw4l">25475</td>
<td class="tg-yw4l">1.21</td>
</tr>
<tr>
<td class="tg-yw4l">8.00</td>
<td class="tg-yw4l">2</td>
<td class="tg-yw4l">2144.661</td>
<td class="tg-yw4l">8</td>
<td class="tg-yw4l">39.247</td>
<td class="tg-yw4l">4</td>
<td class="tg-yw4l">0.0183</td>
<td class="tg-yw4l">0.5</td>
<td class="tg-yw4l">29897</td>
<td class="tg-yw4l">1.17</td>
</tr>
</tbody></table>
<br />
This table points out the relationship between the balloon's radius and its float altitude. Using the same material (50μm 976kg/m<sup>3</sup> dense PE/PA/EVOH/PA/PE film) and doubling the radius leads to increasing the volume 8 times, increasing the mass 4 times, and consequently more or less halving the system density (mass of the additional gas required offsets this a little). The air pressure, however, decreases much faster with altitude. This puts a practical limit on reaching higher altitudes by increasing the balloon's radius. The density-altitude values are based on the U.S. Standard Atmosphere model.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-9hbo">material</th>
<th class="tg-9hbo">t (μm)</th>
<th class="tg-9hbo">ρ (kg/m<sup>3</sup>)</th>
<th class="tg-9hbo">r (m)</th>
<th class="tg-9hbo">V (m<sup>3</sup>)</th>
<th class="tg-9hbo">m<sub>b</sub> (kg)</th>
<th class="tg-9hbo">m<sub>g</sub> (kg)</th>
<th class="tg-9hbo">alt (m)</th>
<th class="tg-9hbo">sp (Pa)</th>
<th class="tg-9hbo">σ (MPa)</th>
</tr>
<tr>
<td class="tg-yw42">S1.84 (TT7F3)</td>
<td class="tg-yw4l">50</td>
<td class="tg-yw4l">976</td>
<td class="tg-yw4l"></td>
<td class="tg-yw4l">1.237</td>
<td class="tg-yw4l">0.283</td>
<td class="tg-yw4l">0.02302</td>
<td class="tg-yw4l">13241</td>
<td class="tg-yw4l">745</td>
<td class="tg-yw4l"></td>
</tr>
<tr>
<td class="tg-yw42">PE/PA/EVOH/PA/PE</td>
<td class="tg-yw4l">50</td>
<td class="tg-yw4l">976</td>
<td class="tg-yw4l">0.666</td>
<td class="tg-yw4l">1.237</td>
<td class="tg-yw4l">0.272</td>
<td class="tg-yw4l">0.02217</td>
<td class="tg-yw4l">13485</td>
<td class="tg-yw4l">726</td>
<td class="tg-yw4l">4.8</td>
</tr>
<tr>
<td class="tg-yw42">PE/PA/EVOH/PA/PE</td>
<td class="tg-yw4l">40</td>
<td class="tg-yw4l">976</td>
<td class="tg-yw4l">0.666</td>
<td class="tg-yw4l">1.237</td>
<td class="tg-yw4l">0.218</td>
<td class="tg-yw4l">0.01796</td>
<td class="tg-yw4l">14842</td>
<td class="tg-yw4l">632</td>
<td class="tg-yw4l">5.3</td>
</tr>
<tr>
<td class="tg-yw42">MYLAR</td>
<td class="tg-yw4l">50</td>
<td class="tg-yw4l">1390</td>
<td class="tg-yw4l">0.666</td>
<td class="tg-yw4l">1.237</td>
<td class="tg-yw4l">0.387</td>
<td class="tg-yw4l">0.03107</td>
<td class="tg-yw4l">11314</td>
<td class="tg-yw4l">910</td>
<td class="tg-yw4l">6.1</td>
</tr>
<tr>
<td class="tg-yw42">MYLAR</td>
<td class="tg-yw4l">36</td>
<td class="tg-yw4l">1390</td>
<td class="tg-yw4l">0.666</td>
<td class="tg-yw4l">1.237</td>
<td class="tg-yw4l">0.279</td>
<td class="tg-yw4l">0.02270</td>
<td class="tg-yw4l">13332</td>
<td class="tg-yw4l">738</td>
<td class="tg-yw4l">6.8</td>
</tr>
<tr>
<td class="tg-yw42">MYLAR</td>
<td class="tg-yw4l">25.4</td>
<td class="tg-yw4l">1390</td>
<td class="tg-yw4l">0.666</td>
<td class="tg-yw4l">1.237</td>
<td class="tg-yw4l">0.197</td>
<td class="tg-yw4l">0.01634</td>
<td class="tg-yw4l">15449</td>
<td class="tg-yw4l">593</td>
<td class="tg-yw4l">7.8</td>
</tr>
<tr>
<td class="tg-yw42">MYLAR</td>
<td class="tg-yw4l">12.7</td>
<td class="tg-yw4l">1390</td>
<td class="tg-yw4l">0.666</td>
<td class="tg-yw4l">1.237</td>
<td class="tg-yw4l">0.098</td>
<td class="tg-yw4l">0.00868</td>
<td class="tg-yw4l">19537</td>
<td class="tg-yw4l">389</td>
<td class="tg-yw4l">10.2</td>
</tr>
<tr>
<td class="tg-yw42">HEPTAX</td>
<td class="tg-yw4l">25.4</td>
<td class="tg-yw4l">953</td>
<td class="tg-yw4l">0.666</td>
<td class="tg-yw4l">1.237</td>
<td class="tg-yw4l">0.135</td>
<td class="tg-yw4l">0.01154</td>
<td class="tg-yw4l">17699</td>
<td class="tg-yw4l">470</td>
<td class="tg-yw4l">6.2</td>
</tr>
</tbody></table>
<br />
In light of this, a more reasonable way to increase altitude is using thinner or less dense materials. The table compares the performance of TT7F3's envelope with seven other idealized spherical balloons made of available materials with different thicknesses and densities. The envelope volume, the payload mass (10g), and the initial ascent rate (1m/s) were set the same in all cases. As is apparent, it is the envelope mass that changes, leads to less required gas, and consequently higher altitudes. The superpressure inside the envelope also decreases, however, since the cross sectional area exposed to the tensile forces shrinks, the stress in the material actually increases.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEZg9dMlatwkck12Ccg3tK4WRIDLJ8JxlfLZFu2xESpQ-s9p-yAFI-m6_MXRuPtfqYcemGEq-ly2buz3XrP0pHwEBqYuA32u1vQHPK1__5KXtwD-B-gAW0-4jipCYEmMXhb677CsetDz8/s1600/payload+envelope+mass+ratio.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="491" data-original-width="878" height="178" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEZg9dMlatwkck12Ccg3tK4WRIDLJ8JxlfLZFu2xESpQ-s9p-yAFI-m6_MXRuPtfqYcemGEq-ly2buz3XrP0pHwEBqYuA32u1vQHPK1__5KXtwD-B-gAW0-4jipCYEmMXhb677CsetDz8/s320/payload+envelope+mass+ratio.png" width="320" /></a></div>
These two charts examine the effect of increasing payload mass with respect to the mass of the envelope for three different spherical balloons. All data points were computed with the initial ascent rate set to 1m/s. The actual payload masses range from 0 to 50g in 5g increments. Increasing payload mass leads to lowering the float altitude and increasing stress in the envelope. In absolute terms, it's apparent that smaller balloons are affected more since the payload represents larger portion of the overall mass.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8J2Hxhq0sGPwLkVewSC_WRDtLREkrV_5Mrl0_ympVtBGtmz5UE8RXmfoaLvEn6Dz9d_WiE0eCaruSDJhyWB3gt1vGmGqG6BPXO2P8vkTa4vSGIKNZBS3-rKwrevyBzcQ7ZoSa3cm8HHk/s1600/IMG_0518+S1.33+first+stretching+1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8J2Hxhq0sGPwLkVewSC_WRDtLREkrV_5Mrl0_ympVtBGtmz5UE8RXmfoaLvEn6Dz9d_WiE0eCaruSDJhyWB3gt1vGmGqG6BPXO2P8vkTa4vSGIKNZBS3-rKwrevyBzcQ7ZoSa3cm8HHk/s200/IMG_0518+S1.33+first+stretching+1.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjipVOgfm-t-s2NjP62yzUivAbTKAKEGf8xdHje1plsEvhvN8VYeCcBKo-MvWWGUiL5Gu48-e_H1t5T-ARr1hevwKtj2k5ic1aYUnenfJqGjaR4eV664SUOvhNw4pwfIXmILLVR8MUmrB4/s1600/IMG_0541+S1.33+first+stretching+2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjipVOgfm-t-s2NjP62yzUivAbTKAKEGf8xdHje1plsEvhvN8VYeCcBKo-MvWWGUiL5Gu48-e_H1t5T-ARr1hevwKtj2k5ic1aYUnenfJqGjaR4eV664SUOvhNw4pwfIXmILLVR8MUmrB4/s200/IMG_0541+S1.33+first+stretching+2.JPG" width="200" /></a></div>
The two images show an S1.33 envelope first at slightly above 0Pa of internal pressure, then after hours of stretching at more than 2kPa. There are three reasons for pressurizing newly manufactured balloons. First, to verify that the envelope was properly sealed and that the welds hold at expected stresses. I consider this mandatory. Second, to relieve localized stress concentrations in the welds and the film itself. This is highly recommended. And the third reason is optional and consists of carrying on the plastic deformations to further increase the envelope's volume.<br />
<br />
Practically, the weld testing could be done by rapid inflation which has, in terms of the stress-strain curves, the same effect as lowering temperature. In other words, high internal pressure and consequently stress in the material lead to very little elongation and plastic deformation. The stress relieving, on the other hand, requires the material to deform plastically. The envelope is pressurized very slowly at room temperature which means that significant elongation can be achieved at relatively low stresses. The spots with concentrated stress elongate first evening the local stress with the surrounding levels. This is apparent from the shape of the envelope slowly progressing towards an ideal sphere where stress is uniformly distributed along the whole surface. In terms of the welds, the initial wrinkles get slowly smoothed out.<br />
<br />
One consequence brought about by stretching is that the material gets thinner. To calculate the negative strain in the z dimension, it is necessary to take into account the stress in x and y directions as in the following equation: $$ \varepsilon_z = - \nu (\sigma_x + \sigma_y) / E$$ still working with idealized spheres in these examples, $\sigma_x$ and $\sigma_y$ are equal, $\nu$ is the Poisson's ratio which for Mylar is 0.38 in the elastic region and 0.58 in the plastic region, and $E$ is the Young's modulus (3447MPa for Mylar). Now, I am not certain whether this equation can be used for calculations in the plastic region as well. Nevertheless, the following example computes $E$ in the plastic region simply as $\sigma / \varepsilon$ for each data point (all values extracted from the 35°C stress-strain curve). Hopefully, it can produce a rough approximation of the effect of stretching without introducing too much error.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-9hbo">material</th>
<th class="tg-9hbo">r (m)</th>
<th class="tg-9hbo">m<sub>b</sub> (kg)</th>
<th class="tg-9hbo">m<sub>g</sub> (kg)</th>
<th class="tg-9hbo">V<sub>0</sub> (m<sup>3</sup>)</th>
<th class="tg-9hbo">t<sub>0</sub> (μm)</th>
<th class="tg-9hbo">alt<sub>0</sub> (m)</th>
<th class="tg-9hbo">σ<sub>0</sub> (MPa)</th>
<th class="tg-9hbo">sp<sub>0</sub> (Pa)</th>
</tr>
<tr>
<td class="tg-yw42">MYLAR</td>
<td class="tg-yw41">0.5</td>
<td class="tg-yw41">0.055</td>
<td class="tg-yw4l">0.00531</td>
<td class="tg-yw4l">0.524</td>
<td class="tg-yw4l">12.7</td>
<td class="tg-yw4l">17277</td>
<td class="tg-yw4l">13.1</td>
<td class="tg-yw4l">9876</td>
</tr>
<tr>
<td class="tg-yw42">MYLAR</td>
<td class="tg-yw41">0.5</td>
<td class="tg-yw41">0.111</td>
<td class="tg-yw4l">0.00966</td>
<td class="tg-yw4l">0.524</td>
<td class="tg-yw4l">25.4</td>
<td class="tg-yw4l">13394</td>
<td class="tg-yw4l">9.7</td>
<td class="tg-yw4l">19751</td>
</tr>
<tr>
<td class="tg-yw42">MYLAR</td>
<td class="tg-yw41">0.5</td>
<td class="tg-yw41">0.157</td>
<td class="tg-yw4l">0.01327</td>
<td class="tg-yw4l">0.524</td>
<td class="tg-yw4l">36</td>
<td class="tg-yw4l">11343</td>
<td class="tg-yw4l">8.5</td>
<td class="tg-yw4l">27994</td>
</tr>
<tr>
<td class="tg-yw42">MYLAR</td>
<td class="tg-yw41">0.5</td>
<td class="tg-yw41">0.218</td>
<td class="tg-yw4l">0.01801</td>
<td class="tg-yw4l">0.524</td>
<td class="tg-yw4l">50</td>
<td class="tg-yw4l">8926</td>
<td class="tg-yw4l">7.9</td>
<td class="tg-yw4l">38880</td>
</tr>
</tbody></table>
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-9hbo">ε<sub>1</sub> (%)</th>
<th class="tg-9hbo">V<sub>1</sub> (m<sup>3</sup>)</th>
<th class="tg-9hbo">t<sub>1</sub> (μm)</th>
<th class="tg-9hbo">alt<sub>1</sub> (m)</th>
<th class="tg-9hbo">σ<sub>1</sub> (MPa)</th>
<th class="tg-9hbo">sp<sub>1</sub> (Pa)</th>
<th class="tg-9hbo">ε<sub>2</sub> (%)</th>
<th class="tg-9hbo">V<sub>2</sub> (m<sup>3</sup>)</th>
<th class="tg-9hbo">t<sub>2</sub> (μm)</th>
<th class="tg-9hbo">alt<sub>2</sub> (m)</th>
<th class="tg-9hbo">σ<sub>2</sub> (MPa)</th>
<th class="tg-9hbo">sp<sub>2</sub> (Pa)</th>
</tr>
<tr>
<td class="tg-yw4l">10</td>
<td class="tg-yw4l">0.697</td>
<td class="tg-yw4l">11.2</td>
<td class="tg-yw4l">19089</td>
<td class="tg-yw4l">12.2</td>
<td class="tg-yw4l">7936</td>
<td class="tg-yw4l">20</td>
<td class="tg-yw4l">0.905</td>
<td class="tg-yw4l">9.8</td>
<td class="tg-yw4l">20729</td>
<td class="tg-yw4l">11.7</td>
<td class="tg-yw4l">6320</td>
</tr>
<tr>
<td class="tg-yw4l">10</td>
<td class="tg-yw4l">0.697</td>
<td class="tg-yw4l">22.5</td>
<td class="tg-yw4l">15206</td>
<td class="tg-yw4l">9.1</td>
<td class="tg-yw4l">15873</td>
<td class="tg-yw4l">20</td>
<td class="tg-yw4l">0.905</td>
<td class="tg-yw4l">19.5</td>
<td class="tg-yw4l">16861</td>
<td class="tg-yw4l">8.8</td>
<td class="tg-yw4l">12641</td>
</tr>
<tr>
<td class="tg-yw4l">10</td>
<td class="tg-yw4l">0.697</td>
<td class="tg-yw4l">31.8</td>
<td class="tg-yw4l">13155</td>
<td class="tg-yw4l">7.9</td>
<td class="tg-yw4l">22497</td>
<td class="tg-yw4l">20</td>
<td class="tg-yw4l">0.905</td>
<td class="tg-yw4l">27.6</td>
<td class="tg-yw4l">14810</td>
<td class="tg-yw4l">7.7</td>
<td class="tg-yw4l">17916</td>
</tr>
<tr>
<td class="tg-yw4l">10</td>
<td class="tg-yw4l">0.697</td>
<td class="tg-yw4l">44.2</td>
<td class="tg-yw4l">11183</td>
<td class="tg-yw4l">7.0</td>
<td class="tg-yw4l">31245</td>
<td class="tg-yw4l">20</td>
<td class="tg-yw4l">0.905</td>
<td class="tg-yw4l">38.4</td>
<td class="tg-yw4l">12838</td>
<td class="tg-yw4l">6.8</td>
<td class="tg-yw4l">24883</td>
</tr>
</tbody></table>
<br />
Four same size different thickness Mylar balloons in a shape of an ideal sphere were modelled at 0%, 10% and 20% stretch all lifting 10g payloads at 1m/s initial ascent rate. The $\sigma$ parameter represents the stress due to superpressure from the required lifting gas at float altitude while the $sp$ parameter represents the maximum internal pressure the envelope can sustain at -55°C (corresponds to 194.4MPa breaking stress). As the envelope stretches, the float altitude increases and stress in the material due to the lifting gas decreases despite the decreasing wall thickness. However, the maximum sustainable superpressure decreases as well. That is because the envelope's radius increases with the volume which means that the same internal pressure level leads to higher stress. From a practical point of view, it should be noted that stretching Mylar, due to its strength, requires machinery capable of generating and sustaining much higher pressure levels than when stretching the PE/PA/EVOH/PA/PE film.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-9hbo">balloon</th>
<th class="tg-9hbo">V (m<sup>3</sup>)</th>
<th class="tg-9hbo">m (kg)</th>
<th class="tg-9hbo">V/m</th>
<th class="tg-9hbo">r<sub>s</sub> (m)</th>
<th class="tg-9hbo">V<sub>s</sub> (m<sup>3</sup>)</th>
<th class="tg-9hbo">m<sub>s</sub> (kg)</th>
<th class="tg-9hbo">V<sub>s</sub>/m<sub>s</sub></th>
<th class="tg-9hbo">V/V<sub>s</sub></th>
</tr>
<tr>
<td class="tg-yw42">S1.33 (TT7F1)</td>
<td class="tg-yw41">0.476</td>
<td class="tg-yw41">0.148</td>
<td class="tg-yw41">3.22</td>
<td class="tg-yw41">0.491</td>
<td class="tg-yw41">0.496</td>
<td class="tg-yw41">0.148</td>
<td class="tg-yw41">3.35</td>
<td class="tg-yw41">96.0%</td>
</tr>
<tr>
<td class="tg-yw42">S1.33 (TT7F2)</td>
<td class="tg-yw41">0.455</td>
<td class="tg-yw41">0.148</td>
<td class="tg-yw41">3.07</td>
<td class="tg-yw41">0.491</td>
<td class="tg-yw41">0.496</td>
<td class="tg-yw41">0.148</td>
<td class="tg-yw41">3.35</td>
<td class="tg-yw41">91.8%</td>
</tr>
<tr>
<td class="tg-yw42">S1.84 (TT7F3)</td>
<td class="tg-yw41">1.237</td>
<td class="tg-yw41">0.283</td>
<td class="tg-yw41">4.37</td>
<td class="tg-yw41">0.679</td>
<td class="tg-yw41">1.311</td>
<td class="tg-yw41">0.283</td>
<td class="tg-yw41">4.64</td>
<td class="tg-yw41">94.3%</td>
</tr>
<tr>
<td class="tg-yw42">T2.33 (TT7F6)</td>
<td class="tg-yw41">0.988</td>
<td class="tg-yw41">0.287</td>
<td class="tg-yw41">3.44</td>
<td class="tg-yw41">0.684</td>
<td class="tg-yw41">1.340</td>
<td class="tg-yw41">0.287</td>
<td class="tg-yw41">4.67</td>
<td class="tg-yw41">73.7%</td>
</tr>
<tr>
<td class="tg-yw42">T3.33 (TT7F5)</td>
<td class="tg-yw41">1.641</td>
<td class="tg-yw41">0.427</td>
<td class="tg-yw41">3.84</td>
<td class="tg-yw41">0.834</td>
<td class="tg-yw41">2.430</td>
<td class="tg-yw41">0.427</td>
<td class="tg-yw41">5.70</td>
<td class="tg-yw41">67.5%</td>
</tr>
</tbody></table>
<br />
A useful way of quickly comparing envelopes of different shapes and materials is their Volume to Mass ratio. The table above provides these ratios for five of the TT7F envelopes. Further, it compares them with ratios of ideal spheres made of the same material of equivalent mass. The last column then shows how close I got to the ideal shape of a sphere with individual envelopes. Ideal in terms of maximizing internal volume per mass of material. A comparison of F3 and F5 illustrates that envelope shape is crucial, and despite weighing 1.5x more, F5 eventually floated 1200m lower than F3 as anticipated by the ratio. The reciprocal of the V/m ratio is basically a density level corresponding to an altitude at which the envelope would float if it could hold the 'inflated' shape with vacuum inside. It can be viewed as an upper limit which the balloon won't surpass.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhO4p6uUZk1mmSBdyIwcmu3kHvNArADtauD7yn5rsSiHbsJuc1m-XLPxON62pZPDotpEs2C2Zie86PbmwhJShhj1jk8QSYAKtX4gRcKCCQOT4PjT7ZlEsXlO9PIgAKrUiJhHG-0wUZwcHo/s1600/envelope+absorption+transmission+reflection.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="216" data-original-width="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhO4p6uUZk1mmSBdyIwcmu3kHvNArADtauD7yn5rsSiHbsJuc1m-XLPxON62pZPDotpEs2C2Zie86PbmwhJShhj1jk8QSYAKtX4gRcKCCQOT4PjT7ZlEsXlO9PIgAKrUiJhHG-0wUZwcHo/s1600/envelope+absorption+transmission+reflection.PNG" /></a></div>
The following few paragraphs address the balloon's radiation environment and supertemperature. During the day, the envelope is exposed to the Sun's radiation arriving on Earth. Upon hitting the material, a portion of the rays is reflected, a portion is absorbed and the remainder is transmitted through the material. The sizes of the portions are dependent on a specific wavelength and the material's properties. Given the geometry of a balloon, three separate interactions between the rays and the walls of the balloon should be taken into account. First, the full radiation arrives at the outer surface of the envelope (the rays see a circular cross-sectional area). Then the transmitted portion interacts with the inner surface on the other side of the balloon. And finally, the reflected portion from the second interaction hits the material from the inside of the balloon once more. Beyond the third interaction the remaining radiation still to be absorbed is negligible.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpWK8NVX8arq0CU_uuBFJujvvfEnewdesY-Eu0Yyfrai-9q9QUDmzdRcejy_PCWTHY6f0wuOkLZhhFURTaYx8iLujj-i1dZiEYiVDUZCzjEHX6jxEeAu4DgsOFjREVFHGsNJR0B5u7JTo/s1600/Mylar+92D+transmittance.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="535" data-original-width="911" height="116" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpWK8NVX8arq0CU_uuBFJujvvfEnewdesY-Eu0Yyfrai-9q9QUDmzdRcejy_PCWTHY6f0wuOkLZhhFURTaYx8iLujj-i1dZiEYiVDUZCzjEHX6jxEeAu4DgsOFjREVFHGsNJR0B5u7JTo/s200/Mylar+92D+transmittance.png" width="200" /></a></div>
In Dupont's Optical Properties datasheet, I found a transmittance curve of 23 micron thick transparent Mylar 92D film covering a range of 0.2 to 50<span class="st">μ</span>m wavelengths. The curve shows that about 85% of the incident power in the visible spectrum (390-700nm) is transmitted through the material. The remaining power is split between absorption and reflection. Unfortunately, the datasheet nor the Internet provide any reflectance or absorption curves. Worth noting is that higher up in wavelength the material is much less transparent to the infrared radiation and absorbs or reflects substantial percentage of the radiation.<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0RqJCTJgIYn8iBRf7q-Ith9Z7-Wbe7TbcLST-2tYlf1cRGVVj2jNWhkQ-96g7QuF6nrCa011zRefudDFt4Dno8XAlZD5AOWtyy67Xyox4OfTG7DnFOjIO6NN_Nv0wrDPODj1Eha23mEs/s1600/Mylar+92D+absorption+and+emissivity.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="453" data-original-width="1312" height="110" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0RqJCTJgIYn8iBRf7q-Ith9Z7-Wbe7TbcLST-2tYlf1cRGVVj2jNWhkQ-96g7QuF6nrCa011zRefudDFt4Dno8XAlZD5AOWtyy67Xyox4OfTG7DnFOjIO6NN_Nv0wrDPODj1Eha23mEs/s320/Mylar+92D+absorption+and+emissivity.png" width="320" /></a></div>
For the sake of this example, I will assume a hypothetical material based on the Mylar 92D's transmittance and constant 4% reflectance throughout the whole spectrum. The orange curve in the chart above corresponds to a blackbody radiation of the Sun (5505°C) after travelling 149.6 million kilometres to the top of the Earth's atmosphere (1366W/m<sup>2</sup> of total power). The light blue curve then maps the power absorbed per square meter by the material per individual wavelength (163.5W/m<sup>2</sup> in total). The second chart represents a blackbody radiation of an object at -55°C (to illustrate an envelope at float altitude) under the red curve (126.5W/m<sup>2</sup>). Based on the Kirchhoff's law of thermal radiation which states that at thermal equilibrium the emissivity is equal to the absorptivity, the dark blue curve outlines the power actually emitted by the envelope's material per square meter (50.8W/m<sup>2</sup>). Note the logarithmic scale of the x axes and two orders of magnitude difference between the y axes.<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-9HcfBLEncF9dYfoWO3mTR8LEJsLiF1-ydrH6bEMluT03umw7uTt3J-dIN-6w6RIxAKzH5t7FjFNixXMKTxpHjrvC4Y7UM_T79xvYc7N5MQTyb-zTYpMDa1nf5DjWjGrrcq5fGzdqjqE/s1600/radiation+environment.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="411" data-original-width="532" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-9HcfBLEncF9dYfoWO3mTR8LEJsLiF1-ydrH6bEMluT03umw7uTt3J-dIN-6w6RIxAKzH5t7FjFNixXMKTxpHjrvC4Y7UM_T79xvYc7N5MQTyb-zTYpMDa1nf5DjWjGrrcq5fGzdqjqE/s1600/radiation+environment.PNG" /></a></div>
To paint the full thermal radiation picture of a balloon floating at 12km altitude, a couple more contributors need to be taken into account. Aside from the direct solar radiation, the balloon may face reflected solar radiation from a continuous cloud cover below. In Lally, Vincent E. Superpressure Balloons for Horizontal Soundings of the Atmosphere. NCAR, 1967, it is stated that this reflection could be as high as 800W/m<sup>2</sup>. Another factor impacting the solar radiation is a potential presence of cirrus clouds above the balloon. Lally again states that at this altitude the cirrus clouds rarely reduce the radiation by more than 10%. Aside from reflecting solar radiation, both the above and below clouds contribute by radiating in infrared based on the temperature at the base of the higher cloud and the temperature at the top of the lower cloud (approximated by blackbody radiation at the given temperatures). In case of clear skies, the balloon faces thermal radiation from the ground (I repeatedly came across an averaged value of 240W/m<sup>2</sup>, Lally offers altitude dependent range of 150-450W/m<sup>2</sup>) and the remaining air mass above (Lally provides an estimate of 20W/m<sup>2</sup> at this altitude - corresponding to blackbody radiation of a body at -136°C). Solar radiation reflected off the ground is usually stated to be 4%. The remaining radiation contribution comes from the sides of the balloon, and according to Lally can be approximated to a blackbody radiation at the temperature of the surrounding air (129W/m<sup>2</sup> at -55°C). <br />
<br />
I used <a href="https://astrogeology.usgs.gov/tools/thermal-radiance-calculator/">this</a> tool, which provides raw data per wavelength for download, to generate the blackbody radiation curves. Alternatively, the Stefan-Boltzmann law can be used to get the total power radiated by a black body at a specific temperature: $$ P = \varepsilon \sigma A T^4$$ where $P$ is the total power radiated by a black body at temperature $T$ (kelvin), $\varepsilon$ is emissivity in case the body emits less than the idealized black body, $\sigma = 5.67 \times 10^{-8} \: W \cdot m^{-2} \cdot K^{-4}$ is the Stefan-Boltzmann constant, and $A$ is the area of the radiating surface.<br />
<style type="text/css">
.tg {border-collapse:collapse;border-spacing:0;border-color:#ccc;}
.tg td{font-family:Arial, sans-serif;font-size:12px;padding:5px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#ccc;color:#333;background-color:#fff;}
.tg th{font-family:Arial, sans-serif;font-size:12px;font-weight:normal;padding:5px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#ccc;color:#333;background-color:#f0f0f0;}
.tg .tg-9hbo{font-weight:bold;vertical-align:top;text-align:left}
.tg .tg-yw43{vertical-align:top;text-align:right}
.tg .tg-yw44{vertical-align:top;text-align:left}
</style>
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-9hbo">CLEAR DAY</th>
<th class="tg-9hbo">P<sub>t</sub> (W/m<sup>2</sup>)</th>
<th class="tg-9hbo">P<sub>a</sub> (W/m<sup>2</sup>)</th>
<th class="tg-9hbo">absorbed</th>
<th class="tg-9hbo">contribution</th>
</tr>
<tr>
<td class="tg-yw44">direct solar</td>
<td class="tg-yw43">1366.0</td>
<td class="tg-yw43">307.0</td>
<td class="tg-yw43">22.5%</td>
<td class="tg-yw43">44.7%</td>
</tr>
<tr>
<td class="tg-yw44">ground reflected solar (4%)</td>
<td class="tg-yw43">54.6</td>
<td class="tg-yw43">12.3</td>
<td class="tg-yw43">22.5%</td>
<td class="tg-yw43">1.8%</td>
</tr>
<tr>
<td class="tg-yw44">ground emitted IR</td>
<td class="tg-yw43">240.0</td>
<td class="tg-yw43">171.2</td>
<td class="tg-yw43">71.3%</td>
<td class="tg-yw43">24.9%</td>
</tr>
<tr>
<td class="tg-yw44">atm. emitted IR - sides (-55°C)</td>
<td class="tg-yw43">129.0</td>
<td class="tg-yw43">90.9</td>
<td class="tg-yw43">70.5%</td>
<td class="tg-yw43">26.5%</td>
</tr>
<tr>
<td class="tg-yw44">atm. emitted IR - above (at 12km)</td>
<td class="tg-yw43">20.0</td>
<td class="tg-yw43">14.4</td>
<td class="tg-yw43">72.0%</td>
<td class="tg-yw43">2.1%</td>
</tr>
<tr>
<td class="tg-yw44"><b>thermal equilibrium</b></td>
<td class="tg-yw43"><b>9.7°C</b></td>
<td class="tg-yw43"><b>2157.8W</b></td>
<td class="tg-yw43"><b></b></td>
<td class="tg-yw43"><b>100.0%</b></td>
</tr>
</tbody></table>
<br />
The table above summarizes a potential scenario which a balloon floating at 12km altitude may experience during a cloudless day. The second column contains radiation flux estimates per individual contributor. The actual power absorbed during the three interactions described earlier (outside surface absorption, opposite inner surface absorption and absorption from the second reflection) is in the third column. All values reflect the material's absorptivity at each individual wavelength. $$ P = \Phi_1 \pi r^2 + \Phi_2 \pi r^2 + \Phi_3 \pi r^2 + 2 \Phi_4 \pi r^2 + \Phi_5 \pi r^2$$ The total absorbed power by a balloon with 1 meter radius made of the hypothetical material is 2157.8W. All contributors were multiplied by the balloon's cross-sectional area and summed. Note the larger area in case of the side flux $\Phi_4$. $$ T = \sqrt[\leftroot{1}\uproot{2}\scriptstyle 4]{\frac{P}{\varepsilon \sigma (4 \pi r^2)}} $$ The equation above computes the temperature of the film after the balloon reaches thermal equilibrium. In other words, it reaches a temperature at which it emits as much power as it absorbs. The area, in this case, is the whole surface of the sphere, and $\varepsilon = 0.47$ is an averaged emissivity of the material in infrared. The calculated film temperature due to radiation in this particular scenario rose to 9.7°C with the surrounding air at -55°C. Assuming the gas inside the balloon reaches thermal equilibrium with the film, the envelope is exposed to stresses caused by 64.7°C of supertemperature. In reality, the actual film temperature would be somewhere between this upper limit and the ambient air temperature, because of air conduction and convection taking some of the heat away. These effects, though, seem quite complex to estimate any closer. <br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-9hbo">CLEAR NIGHT</th>
<th class="tg-9hbo">P<sub>t</sub> (W/m<sup>2</sup>)</th>
<th class="tg-9hbo">P<sub>a</sub> (W/m<sup>2</sup>)</th>
<th class="tg-9hbo">absorbed</th>
<th class="tg-9hbo">contribution</th>
</tr>
<tr>
<td class="tg-yw44">ground emitted IR</td>
<td class="tg-yw43">152.0</td>
<td class="tg-yw43">107.4</td>
<td class="tg-yw43">70.7%</td>
<td class="tg-yw43">35.4%</td>
</tr>
<tr>
<td class="tg-yw44">atm. emitted IR - sides (-55°C)</td>
<td class="tg-yw43">129.0</td>
<td class="tg-yw43">90.9</td>
<td class="tg-yw43">70.5%</td>
<td class="tg-yw43">59.9%</td>
</tr>
<tr>
<td class="tg-yw44">atm. emitted IR - above (at 12km)</td>
<td class="tg-yw43">20.0</td>
<td class="tg-yw43">14.4</td>
<td class="tg-yw43">72.0%</td>
<td class="tg-yw43">4.7%</td>
</tr>
<tr>
<td class="tg-yw44"><b>thermal equilibrium</b></td>
<td class="tg-yw43"><b>-42.5°C</b></td>
<td class="tg-yw43"><b>953.8W</b></td>
<td class="tg-yw43"><b></b></td>
<td class="tg-yw43"><b>100.0%</b></td>
</tr>
</tbody></table>
<br />
Another scenario is a cloudless night. Aside from omitting the solar radiation, the ground emitted infrared radiation was decreased to the lower limit provided by Lally to examine a more extreme situation. This time the upper limit for the film temperature fell to -42.5°C, still 12.5°C above the ambient air temperature. <br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-9hbo">CLOUDY DAY</th>
<th class="tg-9hbo">P<sub>t</sub> (W/m<sup>2</sup>)</th>
<th class="tg-9hbo">P<sub>a</sub> (W/m<sup>2</sup>)</th>
<th class="tg-9hbo">absorbed</th>
<th class="tg-9hbo">contribution</th>
</tr>
<tr>
<td class="tg-yw44">direct solar (10% cirrus reduction)</td>
<td class="tg-yw43">1229.4</td>
<td class="tg-yw43">276.4</td>
<td class="tg-yw43">22.5%</td>
<td class="tg-yw43">27.5%</td>
</tr>
<tr>
<td class="tg-yw44">lower clouds reflected solar</td>
<td class="tg-yw43">720.0</td>
<td class="tg-yw43">161.9</td>
<td class="tg-yw43">22.5%</td>
<td class="tg-yw43">16.1%</td>
</tr>
<tr>
<td class="tg-yw44">lower clouds emitted IR (5°C)</td>
<td class="tg-yw43">340.0</td>
<td class="tg-yw43">246.4</td>
<td class="tg-yw43">72.5%</td>
<td class="tg-yw43">24.5%</td>
</tr>
<tr>
<td class="tg-yw44">upper clouds emitted IR (-30°C)</td>
<td class="tg-yw43">198.0</td>
<td class="tg-yw43">139.5</td>
<td class="tg-yw43">70.5%</td>
<td class="tg-yw43">13.8%</td>
</tr>
<tr>
<td class="tg-yw44">atm. emitted IR - sides (-55°C)</td>
<td class="tg-yw43">129.0</td>
<td class="tg-yw43">90.9</td>
<td class="tg-yw43">70.5%</td>
<td class="tg-yw43">18.1%</td>
</tr>
<tr>
<td class="tg-yw44"><b>thermal equilibrium</b></td>
<td class="tg-yw43"><b>38.0°C</b></td>
<td class="tg-yw43"><b>3160.5W</b></td>
<td class="tg-yw43"><b></b></td>
<td class="tg-yw43"><b>100.0%</b></td>
</tr>
</tbody></table>
<br />
A scenario with a continuous cloud cover underneath the balloon and a presence of high cirrus clouds seems to be among the more demanding conditions to encounter. Particularly due to the additional solar reflection and more prominent contribution from above in the form of a much warmer IR emitter than was the clear sky in the first example. This time the upper limit for supertemperature rose as high as 93°C.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-9hbo">CLOUDY NIGHT</th>
<th class="tg-9hbo">P<sub>t</sub> (W/m<sup>2</sup>)</th>
<th class="tg-9hbo">P<sub>a</sub> (W/m<sup>2</sup>)</th>
<th class="tg-9hbo">absorbed</th>
<th class="tg-9hbo">contribution</th>
</tr>
<tr>
<td class="tg-yw44">lower clouds emitted IR (5°C)</td>
<td class="tg-yw43">340.0</td>
<td class="tg-yw43">246.4</td>
<td class="tg-yw43">72.5%</td>
<td class="tg-yw43">43.4%</td>
</tr>
<tr>
<td class="tg-yw44">upper clouds emitted IR (-30°C)</td>
<td class="tg-yw43">198.0</td>
<td class="tg-yw43">139.5</td>
<td class="tg-yw43">70.5%</td>
<td class="tg-yw43">24.6%</td>
</tr>
<tr>
<td class="tg-yw44">atm. emitted IR - sides (-55°C)</td>
<td class="tg-yw43">129.0</td>
<td class="tg-yw43">90.9</td>
<td class="tg-yw43">70.5%</td>
<td class="tg-yw43">32.0%</td>
</tr>
<tr>
<td class="tg-yw44"><b>thermal equilibrium</b></td>
<td class="tg-yw43"><b>-3.5°C</b></td>
<td class="tg-yw43"><b>1783.5W</b></td>
<td class="tg-yw43"><b></b></td>
<td class="tg-yw43"><b>100.0%</b></td>
</tr>
</tbody></table>
<br />
During a cloudy night the balloon would also operate quite pressurized with the upper limit at 51.5°C of supertemperature. All the radiation flux values used in these scenarios represent only a limited collection of examples for illustratory purposes. Reality provides a much wider spectrum of situations. The radiation analysis also highlights my previous misunderstanding of Table 9 in Lally, Vincent E. Superpressure Balloons for Horizontal Soundings of the
Atmosphere. NCAR, 1967 which provides maximum daytime temperature increase values for different altitudes. I originally considered those to be the total supertemperature not realizing the balloon wasn't at thermal equilibrium with the ambient air during the night.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-9hbo">scenario</th>
<th class="tg-9hbo">Mylar 92D</th>
<th class="tg-9hbo">metallized</th>
<th class="tg-9hbo">high ε in IR</th>
</tr>
<tr>
<td class="tg-yw44">clear day</td>
<td class="tg-yw43">9.7°C</td>
<td class="tg-yw43">173.7°C</td>
<td class="tg-yw43">-30.4°C</td>
</tr>
<tr>
<td class="tg-yw44">clear night</td>
<td class="tg-yw43">-42.5°C</td>
<td class="tg-yw43">-64.5°C</td>
<td class="tg-yw43">-61.3°C</td>
</tr>
<tr>
<td class="tg-yw44">cloudy day</td>
<td class="tg-yw43">38.0°C</td>
<td class="tg-yw43">211.3°C</td>
<td class="tg-yw43">-5.1°C</td>
</tr>
<tr>
<td class="tg-yw44">cloudy night</td>
<td class="tg-yw43">-3.5°C</td>
<td class="tg-yw43">-29.8°C</td>
<td class="tg-yw43">-26.1°C</td>
</tr>
</tbody></table>
<br />
This table compares three materials of different absorptivity, reflectivity and transmittivity in a context of the previous four scenarios. First is the hypothetical Mylar 92D based material with averaged absorptivity in visible wavelengths $\alpha_{vis} = 0.12$, averaged absorptivity in infrared $\alpha_{ir} = 0.47$, and averaged emissivity in infrared $\varepsilon_{ir} = 0.47$. The second material represents a metallized, highly reflective film both in visible and infrared - $\alpha_{vis} = 0.06 $, $ \alpha_{ir} = 0.01 $, $ \varepsilon_{ir} = 0.01$. The problem with these surfaces is that they are poor emitters which leads to extreme heating during the day. The envelope has to reach temperatures in range of 200°C to be able to radiate as much power as it absorbs. The third case is an example of a hypothetical material relatively transparent in visible wavelengths and highly emissive in infrared - $\alpha_{vis} = 0.08 $, $ \alpha_{ir} = 0.90 $, $ \varepsilon_{ir} = 0.90$. The high emissivity allows the film to stay relatively close to the ambient temperature (-55°C). However, in the case of the clear night scenario, it could lead to cooling the gas below ambient temperature (supertemperature of -6.3°C) decreasing its lift, and potentially bringing the balloon down.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-9hbo">r (m)</th>
<th class="tg-9hbo">sp<sub>fl</sub> (Pa)</th>
<th class="tg-9hbo">sp<sub>64.7</sub> (Pa)</th>
<th class="tg-9hbo">σ (MPa)</th>
<th class="tg-9hbo">sp<sub>12.5</sub> (Pa)</th>
<th class="tg-9hbo">σ (MPa)</th>
<th class="tg-9hbo">sp<sub>93.0</sub> (Pa)</th>
<th class="tg-9hbo">σ (MPa)</th>
<th class="tg-9hbo">sp<sub>51.5</sub> (Pa)</th>
<th class="tg-9hbo">σ (MPa)</th>
</tr>
<tr>
<td class="tg-yw43">0.25</td>
<td class="tg-yw43">3955</td>
<td class="tg-yw43">15794</td>
<td class="tg-yw43">85.8</td>
<td class="tg-yw43">6243</td>
<td class="tg-yw43">33.9</td>
<td class="tg-yw43">20973</td>
<td class="tg-yw43">114.0</td>
<td class="tg-yw43">13379</td>
<td class="tg-yw43">72.7</td>
</tr>
<tr>
<td class="tg-yw43">0.50</td>
<td class="tg-yw43">931</td>
<td class="tg-yw43">5438</td>
<td class="tg-yw43">59.1</td>
<td class="tg-yw43">1802</td>
<td class="tg-yw43">19.6</td>
<td class="tg-yw43">7409</td>
<td class="tg-yw43">80.5</td>
<td class="tg-yw43">4518</td>
<td class="tg-yw43">49.1</td>
</tr>
<tr>
<td class="tg-yw43">0.75</td>
<td class="tg-yw43">453</td>
<td class="tg-yw43">3262</td>
<td class="tg-yw43">53.2</td>
<td class="tg-yw43">996</td>
<td class="tg-yw43">16.2</td>
<td class="tg-yw43">4491</td>
<td class="tg-yw43">73.2</td>
<td class="tg-yw43">2689</td>
<td class="tg-yw43">43.8</td>
</tr>
<tr>
<td class="tg-yw43">1.00</td>
<td class="tg-yw43">275</td>
<td class="tg-yw43">2324</td>
<td class="tg-yw43">50.5</td>
<td class="tg-yw43">671</td>
<td class="tg-yw43">14.6</td>
<td class="tg-yw43">3221</td>
<td class="tg-yw43">70.0</td>
<td class="tg-yw43">1906</td>
<td class="tg-yw43">41.4</td>
</tr>
</tbody></table>
<br />
This table summarizes the effect of supertemperature on superpressure and consequently on stress in the material. Four sizes of an idealized sphere made of the hypothetical 23<span class="st">μ</span>m Mylar 92D material were confronted with the upper limits for supertemperature from the previous four scenarios. They were modelled as lifting 10g payload at initial ascent rate of 1m/s. The second column holds the amounts of superpressure experienced by individual balloons only due to the free lift (the excess amount of gas). The following columns then address the superpressure and stress values at the marked supertemperature levels (ambient air -55°C, film temperature 9.7°C, supertemperature 64.7°C).<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-9hbo">r (m)</th>
<th class="tg-9hbo">V (m<sup>3</sup>)</th>
<th class="tg-9hbo">m<sub>g</sub> (kg)</th>
<th class="tg-9hbo">Alt. (m)</th>
<th class="tg-9hbo">P (Pa)</th>
<th class="tg-9hbo">T (°C)</th>
<th class="tg-9hbo">ST (°C)</th>
</tr>
<tr>
<td class="tg-yw43">0.25</td>
<td class="tg-yw43">0.065</td>
<td class="tg-yw43">0.00290</td>
<td class="tg-yw43">7131</td>
<td class="tg-yw43">40289</td>
<td class="tg-yw43">-31.4</td>
<td class="tg-yw43">-21.6</td>
</tr>
<tr>
<td class="tg-yw43">0.50</td>
<td class="tg-yw43">0.524</td>
<td class="tg-yw43">0.00884</td>
<td class="tg-yw43">13968</td>
<td class="tg-yw43">14159</td>
<td class="tg-yw43">-56.5</td>
<td class="tg-yw43">-13.4</td>
</tr>
<tr>
<td class="tg-yw43">0.75</td>
<td class="tg-yw43">1.767</td>
<td class="tg-yw43">0.01861</td>
<td class="tg-yw43">16872</td>
<td class="tg-yw43">8954</td>
<td class="tg-yw43">-56.5</td>
<td class="tg-yw43">-10.4</td>
</tr>
<tr>
<td class="tg-yw43">1.00</td>
<td class="tg-yw43">4.189</td>
<td class="tg-yw43">0.03217</td>
<td class="tg-yw43">18818</td>
<td class="tg-yw43">6587</td>
<td class="tg-yw43">-56.5</td>
<td class="tg-yw43">-8.7</td>
</tr>
</tbody></table>
<br />
As long as a balloon is pressurized, the density of the system stays the same (ignoring any potential stretching of the envelope due to stress), and the balloon floats along the same air density level. If, however, the lifting gas cools down with respect to the air temperature, the pressure inside the balloon will decrease. Below a certain temperature the weight of the system becomes higher than the upward force generated by the gas, and the balloon starts to descend. It will keep descending as long as the supertemperature stays below this limit. If the temperature of the gas rises above the limit, the balloon will ascend back to its float altitude. The amount of supertemperature, positive or negative, then determines the ascent/descent rate. $$ T_g = \frac{ V P}{m_g R_g} $$ This equation, where $R_g = 4124 \: J \cdot kg^{-1} \cdot K^{-1}$ for hydrogen, gives the absolute temperature of the limit in kelvin. The table above illustrates these limits for four different sizes of balloons (1m/s initial ascent rate, 10g payload). The pressure and temperature columns correspond to standard atmosphere model at respective float altitude. The last column then represents the amount of negative supertemperature at which the balloon starts to descend. In other words, the temperature of the gas must be more than 21.6°C below the air temperature (-31.4°C) in case of the smallest balloon. <br />
<br />
Another factor limiting a superpressure balloon's lifetime is gas loss due to diffusion through the material. Datasheets often provide permeability figures of the material for different gases. In case of a balloon, there is a limiting amount of gas lost after which the balloon loses its lift and descends. It can be estimated for different envelope sizes with this equation: $$ \% \: Gas \: Loss \: = \frac{m_{fl}}{m_{fl}+m_b+m_p} \cdot 100$$ where $m_{fl}$ represents the free lift, $m_b$ is the balloon mass, and $m_p$ is the mass of the payload. The resulting percentage then represents the fraction of $m_g$, the actual mass of the gas in kilograms, the balloon can lose before it starts to descend.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-9hbo">Material</th>
<th class="tg-9hbo">Thick.</th>
<th class="tg-9hbo">Conditions</th>
<th class="tg-9hbo">O<sub>2</sub></th>
<th class="tg-9hbo">He</th>
<th class="tg-9hbo">H<sub>2</sub></th>
</tr>
<tr>
<td class="tg-yw44">Mylar</td>
<td class="tg-yw43">23μm</td>
<td class="tg-yw44">25°C</td>
<td class="tg-yw43">76.0</td>
<td class="tg-yw43">2229</td>
<td class="tg-yw43">1521</td>
</tr>
<tr>
<td class="tg-yw44">Heptax</td>
<td class="tg-yw43">25μm</td>
<td class="tg-yw44">20°C 60%RH</td>
<td class="tg-yw43">6.9</td>
<td class="tg-yw43">800</td>
<td class="tg-yw43"></td>
</tr>
<tr>
<td class="tg-yw44">PE/EVOH/PE</td>
<td class="tg-yw43">40μm</td>
<td class="tg-yw44">23°C 50%RH</td>
<td class="tg-yw43">3.5</td>
<td class="tg-yw43"></td>
<td class="tg-yw43"></td>
</tr>
<tr>
<td class="tg-yw44">PE/PA/EVOH/PA/PE</td>
<td class="tg-yw43">50μm</td>
<td class="tg-yw44">23°C 0%RH</td>
<td class="tg-yw43">2.8</td>
<td class="tg-yw43"></td>
<td class="tg-yw43"></td>
</tr>
</tbody></table>
<br />
The most frequent figure I came across is a material's permeability to oxygen which isn't much of a use in actual balloon's operating life estimate, but it may at least indicate how it compares to other materials as a general gas barrier. Some sources, luckily, provide hydrogen and helium permeability figures as well. The table above contains these converted to common units of $cm^3 \cdot m^{-2} \cdot atm^{-1} \cdot day^{-1}$. The figures slightly differ in conditions at which they are said they were measured. According to Lally, permeability decreases with temperature. He then provides a table of measured Mylar permeabilities to helium at a wide range of temperatures (Table 3 in Superpressure Balloons for Horizontal Soundings of the Atmosphere). $$ Rate\,of\,loss\,= \frac{\delta p A}{t}$$ this equation computes the amount of gas in $cm^3$ that diffuses through an area $A$ per day. The permeability of the material is specified by $\delta$, $p$ then represents the partial pressure of the gas across the film, and $t$ is the film thickness.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQTAVjwCZJ_TNW-HRjHVs8kPn8xAl9ey2YdgugFZEmqufBm1k-TlYZ0g2zJCI1xMw_CNabvZPPUy9ynfVtH4ngUHeLl1sSi7E4TPthqcknhFWtVub-1fyzuD2iPIx8T733HZj6f0-Nf8Y/s1600/permeability_sizes_altitude.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="278" data-original-width="409" height="135" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQTAVjwCZJ_TNW-HRjHVs8kPn8xAl9ey2YdgugFZEmqufBm1k-TlYZ0g2zJCI1xMw_CNabvZPPUy9ynfVtH4ngUHeLl1sSi7E4TPthqcknhFWtVub-1fyzuD2iPIx8T733HZj6f0-Nf8Y/s200/permeability_sizes_altitude.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfNVke4RwZKpWU_RG-yzIkvNo4U8pQNQ7oJUFebc84-pBGyOub_5xsvf43r8v20iVntYYtC_X_KLmbQAAWiXZ2e8JZXr5fC7PbuO8xZygtG0-RdbSJ1jW0VxTRQ-oJzglsQU2y71fwV4s/s1600/permeability_sizes_gasloss.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="280" data-original-width="382" height="146" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfNVke4RwZKpWU_RG-yzIkvNo4U8pQNQ7oJUFebc84-pBGyOub_5xsvf43r8v20iVntYYtC_X_KLmbQAAWiXZ2e8JZXr5fC7PbuO8xZygtG0-RdbSJ1jW0VxTRQ-oJzglsQU2y71fwV4s/s200/permeability_sizes_gasloss.png" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhY5GTgNEulg06UwIANNo1AhpNhaiYi8znJLfzsqkIdZ9ATvoO8XY3gmI_cqDX1gK0LdY9tX-WGYK67quWoPaCnTDR2weJQ3ThBfl1UMncHCkwjeawcbywVD508h2geaR9OtInFtAIlgUI/s1600/permeability_sizes_superpressure.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="275" data-original-width="402" height="136" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhY5GTgNEulg06UwIANNo1AhpNhaiYi8znJLfzsqkIdZ9ATvoO8XY3gmI_cqDX1gK0LdY9tX-WGYK67quWoPaCnTDR2weJQ3ThBfl1UMncHCkwjeawcbywVD508h2geaR9OtInFtAIlgUI/s200/permeability_sizes_superpressure.png" width="200" /></a></div>
As an example, I tried to model three different 23<span class="st">μ</span>m Mylar envelopes lifting 10g payloads at 1m/s initial ascent rate, this time, filled with helium. The envelopes were spheres with radii of 0.50m (blue), 0.75m (orange) and 1.00m (green). An average supertemperature over the balloon's lifetime of 45°C was assumed (-56.5°C ambient air) giving permeability of 680cm<sup>3</sup>m<sup>-2</sup>atm<sup>-1</sup>day<sup>-1</sup> (Lally). Partial pressure was assumed to be the pressure exerted by the amount of helium at supertemperature on the volume of inflated envelope. The operating life of the smallest balloon reached 83 days, the mid one lasted 152 days, and the largest envelope descended after 229 days. The whole code is in <a href="https://github.com/TomasTT7/SuperpressureBalloonsNotebook/blob/master/BalloonGasLoss.ipynb">this</a> Jupyter notebook. <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivkn1ooN18J2JO-wD7-6u5AcGhocMMUJOl-KJeh_INjOxOFnHp9tCsl03mF5PZkDgen0_CU6TBZUlieDD3rIwjWV4VawkTqpEAf7Balqpgi58hQ3wbftopY1OjHI7MyVGBmZCaw_soelw/s1600/permeability_temps_altitude.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="278" data-original-width="413" height="134" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivkn1ooN18J2JO-wD7-6u5AcGhocMMUJOl-KJeh_INjOxOFnHp9tCsl03mF5PZkDgen0_CU6TBZUlieDD3rIwjWV4VawkTqpEAf7Balqpgi58hQ3wbftopY1OjHI7MyVGBmZCaw_soelw/s200/permeability_temps_altitude.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw7tj5vH-vBVG_1WjXSLZRk563Wkdmq5nkKSVQd_5yzXpqes4r-DWzpW5SKgD1YZvd6AdlsTLtohY-eFs2k6O24abet34fBYK7YuquW-9K5DARul5JecuyctFKOwLgMnLBV73su2gxMq4/s1600/permeability_temps_gasloss.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="274" data-original-width="381" height="143" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw7tj5vH-vBVG_1WjXSLZRk563Wkdmq5nkKSVQd_5yzXpqes4r-DWzpW5SKgD1YZvd6AdlsTLtohY-eFs2k6O24abet34fBYK7YuquW-9K5DARul5JecuyctFKOwLgMnLBV73su2gxMq4/s200/permeability_temps_gasloss.png" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVvH_QbRHbNzSQGFFua4aTLJrM36CWON2O_FEEh6kQlxJFm3_unIznaauXMY9qaqS0izwbnzlYH1Px5Qf6jRXGQatHp-V1lVingfpMo4Ukl0zQyK4s8vf1-u-EkQYaF9tchfygUhRyR5s/s1600/permeability_temps_superpressure.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="274" data-original-width="400" height="136" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVvH_QbRHbNzSQGFFua4aTLJrM36CWON2O_FEEh6kQlxJFm3_unIznaauXMY9qaqS0izwbnzlYH1Px5Qf6jRXGQatHp-V1lVingfpMo4Ukl0zQyK4s8vf1-u-EkQYaF9tchfygUhRyR5s/s200/permeability_temps_superpressure.png" width="200" /></a></div>
In the second example, I kept the envelope sizes the same (0.524m<sup>3</sup>) and varied the average supertemperature and consequently the permeability. The blue line represents 45°C of supertemperature with 680cm<sup>3</sup>m<sup>-2</sup>atm<sup>-1</sup>day<sup>-1</sup> of diffused gas, the orange 25°C with 280cm<sup>3</sup>m<sup>-2</sup>atm<sup>-1</sup>day<sup>-1</sup>, and the green line 0°C with 80cm<sup>3</sup>m<sup>-2</sup>atm<sup>-1</sup>day<sup>-1</sup>. Cooling down the envelope saw the operating life increase from 83 days to 855 days with 218 days for the mid values.<br />
<br />
The permeability's dependence on temperature seems to be the dominant factor in slowing down the diffusion. This should favour transparent, highly emissive films in infrared over metallized envelopes. Further, larger balloons are advantageous from two standpoints. The amount of gas lost per day constitutes a smaller fraction of the total amount of gas. And the partial pressure of the lifting gas is lower than in a smaller envelope. This section dealt with gas diffusion through the material only. Gas loss may be further intensified due to microleaks - microscopic holes in the material.<br />
<br />
<table align="center" class="tg">
<tbody>
<tr>
<th class="tg-9hbo"></th>
<th class="tg-9hbo">Mylar 92A</th>
<th class="tg-9hbo">Heptax</th>
<th class="tg-9hbo">TR9</th>
<th class="tg-9hbo">TR9</th>
<th class="tg-9hbo">TRB40</th>
</tr>
<tr>
<td class="tg-yw44">Thickness (μm)</td>
<td class="tg-yw43">23</td>
<td class="tg-yw43">25</td>
<td class="tg-yw43">40</td>
<td class="tg-yw43">50</td>
<td class="tg-yw43">40</td>
</tr>
<tr>
<td class="tg-yw44">Density (kg/m<sup>3</sup>)</td>
<td class="tg-yw43">1390</td>
<td class="tg-yw43">953</td>
<td class="tg-yw43">972</td>
<td class="tg-yw43">976</td>
<td class="tg-yw43">945</td>
</tr>
<tr>
<td class="tg-yw44">Tensile Strength (MPa) - TD</td>
<td class="tg-yw43">234</td>
<td class="tg-yw43">100</td>
<td class="tg-yw43">30</td>
<td class="tg-yw43">30</td>
<td class="tg-yw43">22</td>
</tr>
<tr>
<td class="tg-yw44">Tensile Strength (MPa) - MD</td>
<td class="tg-yw43">200</td>
<td class="tg-yw43">102</td>
<td class="tg-yw43">26</td>
<td class="tg-yw43">26</td>
<td class="tg-yw43">18</td>
</tr>
<tr>
<td class="tg-yw44">Elongation at Break (%) - TD</td>
<td class="tg-yw43">91</td>
<td class="tg-yw43">90</td>
<td class="tg-yw43">400</td>
<td class="tg-yw43">400</td>
<td class="tg-yw43">400</td>
</tr>
<tr>
<td class="tg-yw44">Elongation at Break (%) - MD</td>
<td class="tg-yw43">116</td>
<td class="tg-yw43">153</td>
<td class="tg-yw43">450</td>
<td class="tg-yw43">450</td>
<td class="tg-yw43">400</td>
</tr>
<tr>
<td class="tg-yw44">Modulus (MPa) - TD</td>
<td class="tg-yw43">5102</td>
<td class="tg-yw43"></td>
<td class="tg-yw43"></td>
<td class="tg-yw43"></td>
<td class="tg-yw43"></td>
</tr>
<tr>
<td class="tg-yw44">Modulus (MPa) - MD</td>
<td class="tg-yw43">3378</td>
<td class="tg-yw43"></td>
<td class="tg-yw43"></td>
<td class="tg-yw43"></td>
<td class="tg-yw43"></td>
</tr>
<tr>
<td class="tg-yw44">Poission's Ratio (before yield)</td>
<td class="tg-yw43">0.38</td>
<td class="tg-yw43"></td>
<td class="tg-yw43"></td>
<td class="tg-yw43"></td>
<td class="tg-yw43"></td>
</tr>
<tr>
<td class="tg-yw44">Poission's Ratio (after yield)</td>
<td class="tg-yw43">0.58</td>
<td class="tg-yw43"></td>
<td class="tg-yw43"></td>
<td class="tg-yw43"></td>
<td class="tg-yw43"></td>
</tr>
<tr>
<td class="tg-yw44">Thermal Weldability (°C)</td>
<td class="tg-yw43"></td>
<td class="tg-yw43"></td>
<td class="tg-yw43">125-160</td>
<td class="tg-yw43">125-160</td>
<td class="tg-yw43">120-160</td>
</tr>
<tr>
<td class="tg-yw44">Melt Point (°C)</td>
<td class="tg-yw43">254</td>
<td class="tg-yw43"></td>
<td class="tg-yw43"></td>
<td class="tg-yw43"></td>
<td class="tg-yw43"></td>
</tr>
<tr>
<td class="tg-yw44">Haze (%)</td>
<td class="tg-yw43">16</td>
<td class="tg-yw43">3</td>
<td class="tg-yw43"></td>
<td class="tg-yw43"></td>
<td class="tg-yw43"></td>
</tr>
<tr>
<td class="tg-yw44">Transmittance (visible)</td>
<td class="tg-yw43">0.9</td>
<td class="tg-yw43"></td>
<td class="tg-yw43"></td>
<td class="tg-yw43"></td>
<td class="tg-yw43"></td>
</tr>
<tr>
<td class="tg-yw44">OTR (cm<sup>3</sup>m<sup>-2</sup>atm<sup>-1</sup>day<sup>-1</sup>)</td>
<td class="tg-yw43">76.0</td>
<td class="tg-yw43">6.9</td>
<td class="tg-yw43">2.5-3.0</td>
<td class="tg-yw43">2.5-3.0</td>
<td class="tg-yw43">3.0-4.0</td>
</tr>
<tr>
<td class="tg-yw44">He perm. (cm<sup>3</sup>m<sup>-2</sup>atm<sup>-1</sup>day<sup>-1</sup>)</td>
<td class="tg-yw43">2229</td>
<td class="tg-yw43">800</td>
<td class="tg-yw43"></td>
<td class="tg-yw43"></td>
<td class="tg-yw43"></td>
</tr>
<tr>
<td class="tg-yw44">H perm. (cm<sup>3</sup>m<sup>-2</sup>atm<sup>-1</sup>day<sup>-1</sup>)</td>
<td class="tg-yw43">1521</td>
<td class="tg-yw43"></td>
<td class="tg-yw43"></td>
<td class="tg-yw43"></td>
<td class="tg-yw43"></td>
</tr>
</tbody></table>
<br />
This table contains specifications of several films for comparison. I haven't managed to obtain all the data for all the films. TR9 is the 50μm PE/PA/EVOH/PA/PE film I used on TT7F balloons. TRB40 is a PE/EVOH/PE material I started with when making balloons, but I've never actually launched any of those. Mylar 92A is one of a wide range of BoPETs - biaxially-oriented polyethylene terephthalates. Other Mylar types, aside from a number of thicknesses, offer different degrees of haze, or the possibility of a metallized finish. Apparently, not all Mylar films are heat sealable. Heptax is said to be a clear 7-layered film coextruded from nylon, EVOH and LLDPE that has been successfully used on balloons and blimps.<br />
<br />
Another referenced potential cause of superpressure balloon failure is the accumulation of ice on the envelope. Too much icing negatively impacts the total mass of the system and may lead to loss of lift. At target altitudes above 10km, balloons don't encounter that many clouds, thus the main threat lies in the ascent portion of the flight. The simplest way to limit potential sources of icing is choosing the right conditions to launch, ideally clear skies.<br />
<br />
All the previous examples assumed idealized spheres for the modelled balloons. In reality, however, the inflated shapes aren't spherical and stress isn't distributed evenly. Depending on the actual shape, the material is at some places stressed and deformed more than the idealized computation suggests, and this needs to be taken into account. Balloons made of two circular pieces of film are stressed the most in the centre of the circular shapes while the circumferential weld rests along a relatively unstrained spot. In case of the tube, or cylindrical shaped balloon, the main stress is concentrated in the middle of the body with the welds being stressed slightly less than the centre of the piece of film.<br />
<br />
In light of the TT7F flights, I would say that to better assess an envelope's performance, it would be preferable to design a simple low power tracker that runs on a primary cell (non-rechargeable, e.g., Li-FeS<sub>2</sub>). The lifetime would be limited, but the primary cell's superior low temperature performance could provide an overnight coverage of the balloon's behaviour.<br />
<br />
<b>Practical Notes </b><br />
Over the course of making the balloons, I encountered several issues. Mainly because of the heat sealer I used. The following paragraphs describe what I dealt with.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHR1hClW4isKsui5SBiYwBTL3eV_FSuLlz-u0CN9d2SNd6napRNbOUkXNhzmyECvgmYFpuaJZ4sQWX2HVbb89lx9nptAuafKwk-uTC2WJDbyeKU9FWP4zlitjasBD559Jjktx5WvFk0-A/s1600/IMG_1330+superpressure+balloon+manufacture.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHR1hClW4isKsui5SBiYwBTL3eV_FSuLlz-u0CN9d2SNd6napRNbOUkXNhzmyECvgmYFpuaJZ4sQWX2HVbb89lx9nptAuafKwk-uTC2WJDbyeKU9FWP4zlitjasBD559Jjktx5WvFk0-A/s200/IMG_1330+superpressure+balloon+manufacture.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1hBhvqe8m-RrLbsBOUZ09gQ8WQc4zOrWojyxHjz4i_ErEXMwC6BHaroPrdDOE65vq3y6lCM33G9XKPqWhmTnxNw9qaK0xIOphfWOz5bIgN1HppkLHC2nDLsRG0uAGFP7PWBdYiqQ9cCA/s1600/IMG_1336+superpressure+balloon+manufacture.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1hBhvqe8m-RrLbsBOUZ09gQ8WQc4zOrWojyxHjz4i_ErEXMwC6BHaroPrdDOE65vq3y6lCM33G9XKPqWhmTnxNw9qaK0xIOphfWOz5bIgN1HppkLHC2nDLsRG0uAGFP7PWBdYiqQ9cCA/s200/IMG_1336+superpressure+balloon+manufacture.JPG" width="200" /></a></div>
One of the issues was that the heat sealer kept overheating. It takes quite a lot of individual welds to make the whole balloon. Especially, if you want to make the welds properly. The device eventually warms up so much that it's hard to rest your fingers on it when positioning the film. Also, the welds start to warp and stick together. In the end, I adopted a practice of welding for 10-15 minutes, then waiting for the heat sealer to cool down for about half an hour before continuing again. This way, it took me about 5 hours to make S1.33 (13h - S1.84, 8.5h - T2.33, and 11.5h - T3.33), including cutting out the shapes, but excluding stretching. <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhN0FAlO3-D5BGptiqGlmpij_5Cf-sQTYXXgrcu7wm3uTzToAIbDndWyngGqzbidJlDJcGSkGbHqa80Z698EsUJlGAtkpFoPih1D_QVQpCvVcPlw2K1DL-vr85kTaWQ-9CI3gvxf_-YOvg/s1600/IMG_1991+templates.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhN0FAlO3-D5BGptiqGlmpij_5Cf-sQTYXXgrcu7wm3uTzToAIbDndWyngGqzbidJlDJcGSkGbHqa80Z698EsUJlGAtkpFoPih1D_QVQpCvVcPlw2K1DL-vr85kTaWQ-9CI3gvxf_-YOvg/s200/IMG_1991+templates.JPG" width="200" /></a></div>
Making cardboard templates first speeds up the process a lot. It also helps with ensuring the resulting shape is as uniform as possible. Irregularities in the shape lead to uneven stress distribution.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiz-o7xqtVz2BdvM5Na8-mwU2NhHBqY20wd6csRC22d7SZS7MWdJKsoQENpV4FgzBqSU6PTe_dvtSbQn0MWgnbrKC0x475u5ZYq-NYzdmSdK5HMKthXd21wwyjpwu3zPKbXrzqP1_NSd30/s1600/IMG_2015+circumferential+weld.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiz-o7xqtVz2BdvM5Na8-mwU2NhHBqY20wd6csRC22d7SZS7MWdJKsoQENpV4FgzBqSU6PTe_dvtSbQn0MWgnbrKC0x475u5ZYq-NYzdmSdK5HMKthXd21wwyjpwu3zPKbXrzqP1_NSd30/s200/IMG_2015+circumferential+weld.JPG" width="200" /></a></div>
Doing the circumferential welds isn't usually a problem. The length of a single weld fits easily inside the heat sealer, and it could probably be done even with a shorter device. There would simply be more individual welds at a larger angle between them.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVI8pWiCj3OgWH7qmigMvhhujbilpz1b99eFxu7Vux9w5oOvdZucJl4s9D6cX7fRQKoot3USrT9GG8fDj_FFP6Ft4Q-9hyphenhyphenYCkLSZ7EqEkk9imVxaE2Ws4HxGU_ojozV-pbRk7K3OICR2w/s1600/IMG_0227+long+straight+weld.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVI8pWiCj3OgWH7qmigMvhhujbilpz1b99eFxu7Vux9w5oOvdZucJl4s9D6cX7fRQKoot3USrT9GG8fDj_FFP6Ft4Q-9hyphenhyphenYCkLSZ7EqEkk9imVxaE2Ws4HxGU_ojozV-pbRk7K3OICR2w/s200/IMG_0227+long+straight+weld.JPG" width="200" /></a></div>
However, in case of long straight welds, the length of the heat sealer isn't sufficient, and they have to be done length after length. The problem is that my heat sealer has a fixed arm at one end, so the film has to be bent out of the way. A long straight weld then has to be made by bending and overlapping as in the image above.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1EABNUtXEDQpChx-gdPXUsw0LA0t4sYNhiL3tPTZMGs6TrZSiph6Xeda87dsKvECmGEXhi_cQsNTgqU8oaXROFglyfjDe8v2iHoXeCoO-ThdWmf8Y2N4x_UJAZzMpMER0P97_5OoY8Lw/s1600/IMG_1998+single+straight+weld.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1EABNUtXEDQpChx-gdPXUsw0LA0t4sYNhiL3tPTZMGs6TrZSiph6Xeda87dsKvECmGEXhi_cQsNTgqU8oaXROFglyfjDe8v2iHoXeCoO-ThdWmf8Y2N4x_UJAZzMpMER0P97_5OoY8Lw/s200/IMG_1998+single+straight+weld.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgu771UT127IoG0foBjwOX7b81CbWTVsFtCyT5x6tY-oRmqNkPJuJpbhMpSc-Vdlg9SrttI6ZqcsqAKI8v5j-WHAC7i5a1zbhFKQDdI1LW8NJZGqeYrjDYEuscRCD3IHDKGD2LKCyTlV_Y/s1600/IMG_2002+double+straight+weld.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgu771UT127IoG0foBjwOX7b81CbWTVsFtCyT5x6tY-oRmqNkPJuJpbhMpSc-Vdlg9SrttI6ZqcsqAKI8v5j-WHAC7i5a1zbhFKQDdI1LW8NJZGqeYrjDYEuscRCD3IHDKGD2LKCyTlV_Y/s200/IMG_2002+double+straight+weld.JPG" width="200" /></a></div>
Another aspect to welding is the strength of the weld. The heat sealer I use allows setting the duration for which it works, but the maximum is only about 3.5s which doesn't produce sufficient welds. After a lot of experimentation, I eventually settled on reinforcing the weld by immediately doing it again. Then doing another weld right next to it in the same way. And finishing it with one weld from the other side. Also heated twice in succession. The last two tube balloons were made this way, and I didn't notice any weld openings during their stretching.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhapn-ylsVc20UzLEd-D4Gog9wfkwanNWc8bnqFoLIV3zPbBPPdUk2d4x5F8qTR9_PLvm83gdoLvH9Fj6kddtxFPlRpRcTfGHagc3PHlhpcQjIzyZkX_8rqwG3hBAWp521ObONCxl2_oPQ/s1600/IMG_2007+long+weld+ending.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhapn-ylsVc20UzLEd-D4Gog9wfkwanNWc8bnqFoLIV3zPbBPPdUk2d4x5F8qTR9_PLvm83gdoLvH9Fj6kddtxFPlRpRcTfGHagc3PHlhpcQjIzyZkX_8rqwG3hBAWp521ObONCxl2_oPQ/s200/IMG_2007+long+weld+ending.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHsFimxSvXBGNOAxkCuwQ2pujxDSRJLWNelftZqAKAEIjr0eAM1rFLb948OQwxrM-L7V24NVn0qp6xptu1y7y5DAFSntF5gCFHqPwX5tNi8V1yc8Vhsz9WER_aa9xV3k9V3-tKoBtzC6c/s1600/IMG_2010+long+weld+ending.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHsFimxSvXBGNOAxkCuwQ2pujxDSRJLWNelftZqAKAEIjr0eAM1rFLb948OQwxrM-L7V24NVn0qp6xptu1y7y5DAFSntF5gCFHqPwX5tNi8V1yc8Vhsz9WER_aa9xV3k9V3-tKoBtzC6c/s200/IMG_2010+long+weld+ending.JPG" width="150" /></a></div>
These images capture the state of the end of the weld when making long straight welds. At first, it is fine, but as the machinery heats up, the ending gets more and more deformed and outstretched. In extremity, the film gets burned through or tears as it is pulled off the heat sealer.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuNDvF4wKS-SVPDAwG7xyZRFDFyLUV1n_ap5BI6NkR0vguoJR4ZZTEw3j3deNVR_FLqKCchvp42BzvStNK-OOf-GTMot-GLD6iPq1auRRWPl2SeU69il49XcMX8Q7RsS7NQec1zGL1mTk/s1600/IMG_1993+long+weld+ending.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuNDvF4wKS-SVPDAwG7xyZRFDFyLUV1n_ap5BI6NkR0vguoJR4ZZTEw3j3deNVR_FLqKCchvp42BzvStNK-OOf-GTMot-GLD6iPq1auRRWPl2SeU69il49XcMX8Q7RsS7NQec1zGL1mTk/s200/IMG_1993+long+weld+ending.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQfu30ClielyBJ9xXTXBPL751_vDhykHhhhljEVyftgc-bewrEEUzD15YQtT21P6JrX59pka4C4A2p19BzaZNj-XyV9Jkmn3doWJD_DNJVFxuvqWJSdw5nFG_tYnmSwJCn7Mzuj0pkdwc/s1600/IMG_1996+long+weld+ending.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQfu30ClielyBJ9xXTXBPL751_vDhykHhhhljEVyftgc-bewrEEUzD15YQtT21P6JrX59pka4C4A2p19BzaZNj-XyV9Jkmn3doWJD_DNJVFxuvqWJSdw5nFG_tYnmSwJCn7Mzuj0pkdwc/s200/IMG_1996+long+weld+ending.JPG" width="200" /></a></div>
To avoid this, I began to use a small wooden tablet to pad the overlapping film, so it doesn't touch the hot parts beyond the end of the pressing arm.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBuY0BbnYP1mYnxLJzEbBNHyIWRmeNNunZNYMtr6Bc25vh2WDB0W6_3ykl743GIo2_mL7CO8AOZHCyea2Zg9jSCCrrsfEHv7DFZT1vJRsHRUo1ItzpfZkGu8VP_ECAfXPect9z65_WXO4/s1600/IMG_1997+long+weld+ending.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBuY0BbnYP1mYnxLJzEbBNHyIWRmeNNunZNYMtr6Bc25vh2WDB0W6_3ykl743GIo2_mL7CO8AOZHCyea2Zg9jSCCrrsfEHv7DFZT1vJRsHRUo1ItzpfZkGu8VP_ECAfXPect9z65_WXO4/s200/IMG_1997+long+weld+ending.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKCpY2adqFYizclfGwmfUXN7R5k8dG0jk4mmuvgROAzASj99XfX0FVUu8Tkly0GMPTy29Bw88JBhVDkG08AemzrzTjP-1o8ntex1mC9q-m-tx6xDHAQYL9sF3mYyCTVKKjByMTl3zVaks/s1600/IMG_1747+S1.84+n6+filling+tube+weld.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKCpY2adqFYizclfGwmfUXN7R5k8dG0jk4mmuvgROAzASj99XfX0FVUu8Tkly0GMPTy29Bw88JBhVDkG08AemzrzTjP-1o8ntex1mC9q-m-tx6xDHAQYL9sF3mYyCTVKKjByMTl3zVaks/s200/IMG_1747+S1.84+n6+filling+tube+weld.JPG" width="200" /></a></div>
The filling tube, as shown in the image above, is particularly sensitive to proper weld endings due to its shape. In one case, before I noticed this behaviour, I had finished the hole balloon only to find out I couldn't fill it, because the filling tube had been sealed.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsv25cd4jz9ZuycvULDuqEJiIjxq_7El1aiEvVSbfPix8yAcVhIStD-4ZITti6dqP1rs-eaSnmeHq4BRkIvVoz90C27bSg8VL25Wq-5nT_hQk83vbTM7rEPute9lKvAWLhp7mGe65Ct1k/s1600/IMG_1987+test+stripe.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsv25cd4jz9ZuycvULDuqEJiIjxq_7El1aiEvVSbfPix8yAcVhIStD-4ZITti6dqP1rs-eaSnmeHq4BRkIvVoz90C27bSg8VL25Wq-5nT_hQk83vbTM7rEPute9lKvAWLhp7mGe65Ct1k/s200/IMG_1987+test+stripe.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsnY0V252jAKsSknk6jnmicyxKuISi78ozQWg9R5iNZ4VQjjIC0L07TnYidWQ2SfNIoiMM-qPKvyrVBKviA9M_p9oapELe3gRy61lWuhogyRDXjG7YcAcFvUU0Ya-kaSc7etp4BM_B4E4/s1600/IMG_1989+test+stripe.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsnY0V252jAKsSknk6jnmicyxKuISi78ozQWg9R5iNZ4VQjjIC0L07TnYidWQ2SfNIoiMM-qPKvyrVBKviA9M_p9oapELe3gRy61lWuhogyRDXjG7YcAcFvUU0Ya-kaSc7etp4BM_B4E4/s200/IMG_1989+test+stripe.JPG" width="200" /></a></div>
During the period in which I had major issues with weld openings, I tried to use test stripes every few welds to regularly check the weld quality. However, it turned out to be insufficient to identify weakening of the heat sealer's performance early enough.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLBaAI2tme23VMVRJVZd3Qx3A-LaXo_Xs498DQUIKlSBgZQ2roGYrQMspw1Z3Hpq49evM9c6B0lrKmilpBokeGFWeqS_0sFZUMkZOrOx7cphaVpGSzg5wRFoIBjrZcWg58S67zeqCYOzg/s1600/IMG_2012+impulse+heat+sealer.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLBaAI2tme23VMVRJVZd3Qx3A-LaXo_Xs498DQUIKlSBgZQ2roGYrQMspw1Z3Hpq49evM9c6B0lrKmilpBokeGFWeqS_0sFZUMkZOrOx7cphaVpGSzg5wRFoIBjrZcWg58S67zeqCYOzg/s200/IMG_2012+impulse+heat+sealer.JPG" width="200" /></a></div>
This is the instrument I used to make all six balloons that were launched. It is a common impulse heat sealer marked as FS-300. Although, I bought it in the Czech Republic for about <span class="_Tgc">€59</span>, I reckon it's identical to what the Chinese sellers offer on Ebay. The length of the wire is 30cm, but there are longer and shorter models on the market. <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVBHGI1dy7D1YQu75a-8dmdDRFH8GUG-aNjVp05A75hiSom0uvfFlZWUFJbZGo6LM3N52C7mHyZUNuKcgWedalH8PfuoLXWfcsp8rS3TIDN-a7AJeHrqqgOZGCga8CEsFeV7uG_YEJkVw/s1600/IMG_1513+heating+wire+connection.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVBHGI1dy7D1YQu75a-8dmdDRFH8GUG-aNjVp05A75hiSom0uvfFlZWUFJbZGo6LM3N52C7mHyZUNuKcgWedalH8PfuoLXWfcsp8rS3TIDN-a7AJeHrqqgOZGCga8CEsFeV7uG_YEJkVw/s200/IMG_1513+heating+wire+connection.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQXQGrBTKIq9TgV3V6JJLm-yRNxOABio1PJkddZgLVyN8Ui4ey_6iPgrQ3zG1vjFWdVhFAZrEm2Wx0jiCc0n7lB-ydSr-aaWtcPdhBm46nTL4ICDJIdJOmyA2CrYSFh4g0OuWGyHXsLto/s1600/IMG_1527+heating+wire+connection.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQXQGrBTKIq9TgV3V6JJLm-yRNxOABio1PJkddZgLVyN8Ui4ey_6iPgrQ3zG1vjFWdVhFAZrEm2Wx0jiCc0n7lB-ydSr-aaWtcPdhBm46nTL4ICDJIdJOmyA2CrYSFh4g0OuWGyHXsLto/s200/IMG_1527+heating+wire+connection.JPG" width="200" /></a></div>
The main problem with this machine comes from the way the heating wire is attached to the rest of the circuit. As I had been using the heat sealer for a while, and quite extensively, the connection between the two wore out, it began to arc occasionally, and the weld quality became inconsistent. <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCqKg52cViKnkbV6TmiPhnIZdyjGFqa9_HLEvJfQQbyxz24bgQp8GesGNeJ8jqYg_Y5__RSXH_oowKqtAVebVGkpxonbZ0YF4vcfvRBIK5h5545wuibW7T_iZtj8vP88aOuF-dUCFOXvs/s1600/IMG_1507+oxidized+ring+connection.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCqKg52cViKnkbV6TmiPhnIZdyjGFqa9_HLEvJfQQbyxz24bgQp8GesGNeJ8jqYg_Y5__RSXH_oowKqtAVebVGkpxonbZ0YF4vcfvRBIK5h5545wuibW7T_iZtj8vP88aOuF-dUCFOXvs/s200/IMG_1507+oxidized+ring+connection.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXNNfCmqjaO81WU40aeasSuLC723Y0FOsflR_B0KT0uQF2MQywInWN6AXklAlHUbpSYJCjh6Y8-D3RapVF1qleRM6JMFCAwYFyJMcLE3BmDpM0acbVgxAXAZOabRFsVMvfT-YZlFiYUIo/s1600/IMG_1510+filed+ring+connection.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXNNfCmqjaO81WU40aeasSuLC723Y0FOsflR_B0KT0uQF2MQywInWN6AXklAlHUbpSYJCjh6Y8-D3RapVF1qleRM6JMFCAwYFyJMcLE3BmDpM0acbVgxAXAZOabRFsVMvfT-YZlFiYUIo/s200/IMG_1510+filed+ring+connection.JPG" width="150" /></a></div>
After looking into it a bit closer, I found the ring connection to be completely oxidised. Measuring the resistance between the oxidised ring and the other side of the wire showed readings in tens even hundreds of ohms. A brand new wire is supposed to have resistance of 2Ω. This would explain the inconsistency in produced welds. As resistance of the circuit rises, less current flows through the wire, and it doesn't heat up enough. Filing off the deposit saw the resistance fall back down to reasonable values.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7JMOQL-pc_gXhtgRbhzx8SO-NNDhZzIO_ZHJL7LFMF69B5v_5_dm_rQkcbH-drNuoS0v8NsS85pd3kdHRBcmRYWdJnAJYaKNJnWhcctX-lPmrzn9xXG5XQF76_Uu0z0sUrX7vxgyC0mo/s1600/IMG_1526+heating+wire+connection.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7JMOQL-pc_gXhtgRbhzx8SO-NNDhZzIO_ZHJL7LFMF69B5v_5_dm_rQkcbH-drNuoS0v8NsS85pd3kdHRBcmRYWdJnAJYaKNJnWhcctX-lPmrzn9xXG5XQF76_Uu0z0sUrX7vxgyC0mo/s200/IMG_1526+heating+wire+connection.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxl8rtDY0nSihU7sa1vnEuDq_fkA0PXTwK9Ih4XxnTgnmlnOwFm0Pbw-_wFnh5J4Uh62g7EkErkK5j-FRSFE7mraYB7q5sPVUqOBSooFihws5HeNPifhIJE1yn6dfbSXfuXdxcQi_2qNo/s1600/IMG_1627+improved+connection.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxl8rtDY0nSihU7sa1vnEuDq_fkA0PXTwK9Ih4XxnTgnmlnOwFm0Pbw-_wFnh5J4Uh62g7EkErkK5j-FRSFE7mraYB7q5sPVUqOBSooFihws5HeNPifhIJE1yn6dfbSXfuXdxcQi_2qNo/s200/IMG_1627+improved+connection.JPG" width="200" /></a></div>
To improve the contact between the ring and the connector, I stuffed in a piece of a nail and secured it in with another piece of metal. This seemed to have stopped the arcing.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRSGQZmiqJjQfAu8uM1jF6wTmG1qyVpVG-H-zfq8x72QeClqBLAjZdL7n31A0CGa-_tNYEZMKawvLV0aaW5ARv2bfBbopUQeJmof5jBXrNj0T2tfUNRNeEBIt9GqYTJ0SswH_1d2vc6c4/s1600/IMG_1529+heating+wire+connection.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRSGQZmiqJjQfAu8uM1jF6wTmG1qyVpVG-H-zfq8x72QeClqBLAjZdL7n31A0CGa-_tNYEZMKawvLV0aaW5ARv2bfBbopUQeJmof5jBXrNj0T2tfUNRNeEBIt9GqYTJ0SswH_1d2vc6c4/s200/IMG_1529+heating+wire+connection.JPG" width="200" /></a></div>
I also covered the other connector with additional teflon tape since it comes in contact with the film. It doesn't stop the heat, but it is sufficient to prevent from accidentally burning through the film.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbVCV9yiKrJDPIHvEVmDOoTjFWL7q3rlpvC-VpGdiiF9F1TpYhqnHpkMRW6iLMlrGrsgIEgqrqZ_Z0V2huQ5y-9pCOrT1gTJHdnaGB1A-0qhtqBSouVOjWZIu3_ajIrvKT4wOEPehCLys/s1600/IMG_1689+new+heating+wire.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbVCV9yiKrJDPIHvEVmDOoTjFWL7q3rlpvC-VpGdiiF9F1TpYhqnHpkMRW6iLMlrGrsgIEgqrqZ_Z0V2huQ5y-9pCOrT1gTJHdnaGB1A-0qhtqBSouVOjWZIu3_ajIrvKT4wOEPehCLys/s200/IMG_1689+new+heating+wire.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoCoI3H8WaQOjPC6BIWiojIFc0wTA-3_zrncnKzpBU7Ejdc620M62LildOvQkC7s168Fl2cEQS_yGKODVzO2DrpmzIei9KOmP2YTy2bDV8QIBVOD37X9oSvmBTiPsbYSgDZT1aW91VTyc/s1600/IMG_1690+heating+wire+replaced.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoCoI3H8WaQOjPC6BIWiojIFc0wTA-3_zrncnKzpBU7Ejdc620M62LildOvQkC7s168Fl2cEQS_yGKODVzO2DrpmzIei9KOmP2YTy2bDV8QIBVOD37X9oSvmBTiPsbYSgDZT1aW91VTyc/s200/IMG_1690+heating+wire+replaced.JPG" width="200" /></a></div>
Over the course of several failed envelopes, I attempted a continual cycle of filing of the ring connections and regularly checking the weld quality with test stripes. But eventually, I gave up and bought a new 4mm heating wire with a teflon strip which was quite pricey. Basically, a third the cost of a new heat sealer. After replacing the wire and adopting the double weld on top, single weld on the bottom, both done twice technique, I managed to make the two tube balloons. Both without any signs of weld openings.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipaQGYi-v5GuIUra2awOTE8ySqafPERTxCL54Wkgi8vCkQNeEOruY5cLBbvUX9ZTmrOUt7tZA6y-stDKLhIf4h-MJOxjP0Ec8DxNA28XbbUK8Y3zaFW8BB-iTjAGB528mogpa2FoRgqRs/s1600/IMG_1515+impulse+heat+sealer-insides.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipaQGYi-v5GuIUra2awOTE8ySqafPERTxCL54Wkgi8vCkQNeEOruY5cLBbvUX9ZTmrOUt7tZA6y-stDKLhIf4h-MJOxjP0Ec8DxNA28XbbUK8Y3zaFW8BB-iTjAGB528mogpa2FoRgqRs/s200/IMG_1515+impulse+heat+sealer-insides.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3jdfHA_di7T6VEYBO9sQqeL8edVLaKYQZ7YxEr3C9WzyeAo5IDpZMGh44yf9yTrvhE83R6RKNO1H4J6Zjlt56rh-mPzngsWFUPj9m9dciWP8agKrMuBQRxtGrHjLxBsE7ae4kaMKeaaE/s1600/IMG_1521+impulse+heat+sealer-controls.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3jdfHA_di7T6VEYBO9sQqeL8edVLaKYQZ7YxEr3C9WzyeAo5IDpZMGh44yf9yTrvhE83R6RKNO1H4J6Zjlt56rh-mPzngsWFUPj9m9dciWP8agKrMuBQRxtGrHjLxBsE7ae4kaMKeaaE/s200/IMG_1521+impulse+heat+sealer-controls.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnTpeucXvjWkJ9f2ZhnMPeCHY5obh_Pe_Ee7PgWvITyn6DICOT8xOFtlyBmotKfKo0zGesE5aR1dT8_g26MSbYuT731Ktrh2SHeHctfqEhZK8CN4Vk126f61u4Xyny00KGYTj3WX8O8vA/s1600/IMG_1523+impulse+heat+sealer-switch.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnTpeucXvjWkJ9f2ZhnMPeCHY5obh_Pe_Ee7PgWvITyn6DICOT8xOFtlyBmotKfKo0zGesE5aR1dT8_g26MSbYuT731Ktrh2SHeHctfqEhZK8CN4Vk126f61u4Xyny00KGYTj3WX8O8vA/s200/IMG_1523+impulse+heat+sealer-switch.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVPajDmXRzC-_7rqjTYnFpeSjqCCr_r6k1oBbjufy0xRwYHSd7hBK1HB462czswQsniHZ2ZeDx9Bkkbc1MmRGMaODT4CRKwyWK7MIhLANBnRKvwGiGyfozllDrR9WGwE3P2xPFCT6AKC8/s1600/IMG_1524+impulse+heat+sealer-transformer.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVPajDmXRzC-_7rqjTYnFpeSjqCCr_r6k1oBbjufy0xRwYHSd7hBK1HB462czswQsniHZ2ZeDx9Bkkbc1MmRGMaODT4CRKwyWK7MIhLANBnRKvwGiGyfozllDrR9WGwE3P2xPFCT6AKC8/s200/IMG_1524+impulse+heat+sealer-transformer.JPG" width="150" /></a></div>
These are the insides of the impulse heat sealer. The cheapness is apparent at first sight. At one point, the connector for the heating wire disappeared inside the device, I then had to open it up and reinforce the whole structure with an additional screw.<br />
<br />
I wondered about how Qualatex do their welding on the 36" party balloons they sell. I then came across several Youtube videos showing the machines that do the mass production of foil balloons. From those, it seemed there was a form for the whole balloon shape that does all the welds at once and cuts the whole shape out at the same time. Based on that people have flown these balloons around the world, it probably produces consistent and reliable welds, but it is limited in the maximum balloon size by the machine's dimensions.<br />
<br />
Having undergone ordeal with the impulse heat sealer, and knowing about people having a go at constructing custom sealing machines, I thought about how I picture a homemade device. Ideally, it would allow the film to continue beyond both ends of the wire without bending. Meaning, the hinge of the pressing arm would be parallel to the wire. The length of the heating element would probably depend on intended balloon shape and size, but generally with the possibility of easily doing welds length after length it wouldn't have to be any longer then the 30cm of the impulse heat sealer. The width of the wire ideally towards 10mm, so doing single weld is enough. The heating time could be derived from testing for a specific film. Heat dissipation may be an issue as it is on the impulse heat sealer. What I would like to add is some form of feedback on the weld quality. Perhaps sampling the current running through the circuit, or a thermocouple on the heating wire to provide a weld to weld comparison.TT7http://www.blogger.com/profile/11095378058232471221noreply@blogger.com5tag:blogger.com,1999:blog-7063183727921268380.post-84401501213336067942017-10-14T19:51:00.001+02:002018-09-08T03:30:15.565+02:00The TT7F6W Flight<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg76yaKXYOiZ2Zl8gseFCvSD1YKs7OAli0b0U6aUNF4gt4_fT7b31Vr2gGY0zUKl0ZPqAqXwNdWX4w8cLgkcH8WKX8UhOypRdjnu1QhnVSIOoq-i7e2DJ74VLY7MMpzKA3kBu5hV023lzk/s1600/IMG_1936+TT7F6W+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg76yaKXYOiZ2Zl8gseFCvSD1YKs7OAli0b0U6aUNF4gt4_fT7b31Vr2gGY0zUKl0ZPqAqXwNdWX4w8cLgkcH8WKX8UhOypRdjnu1QhnVSIOoq-i7e2DJ74VLY7MMpzKA3kBu5hV023lzk/s200/IMG_1936+TT7F6W+tracker.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3Payd83t2WvG5dBiLObMZj2WwIRD_2bBQYBEuwqOl5xQZIGYlj1tKmFPOLFHaSWBmzZqBIYQYojJcOsx1FHDu9msaivssS1hjGHEX_XS8QyDxcFgjre8xiJTgDYdGUuiYGIPUsAIRbQo/s1600/IMG_1864+tube+balloon+233x133.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3Payd83t2WvG5dBiLObMZj2WwIRD_2bBQYBEuwqOl5xQZIGYlj1tKmFPOLFHaSWBmzZqBIYQYojJcOsx1FHDu9msaivssS1hjGHEX_XS8QyDxcFgjre8xiJTgDYdGUuiYGIPUsAIRbQo/s200/IMG_1864+tube+balloon+233x133.JPG" width="200" /></a></div>
<b>Date:</b> 2017-10-15<br />
<b>Time:</b> 7:00 GMT (9:00 CEST)<br />
<b>Place:</b> Roznov pod Radhostem, CZ<br />
<b>Live Tracking:</b> <a href="https://tracker.habhub.org/#!qm=All&q=OK7DMT-8">https://tracker.habhub.org</a>, <a href="https://aprs.fi/#!mt=roadmap&z=11&call=a%2FOK7DMT-8&timerange=3600&tail=3600">https://aprs.fi</a> and <a href="http://wsprnet.org/olddb?mode=html&band=20&limit=100&findcall=OK7DMT&findreporter=&sort=date">http://wsprnet.org</a><br />
<br />
<b>APRS</b><br />
<b>Callsign:</b> OK7DMT-8<br />
<b>Frequency:</b> Geofenced local APRS <a href="http://tt7hab.blogspot.cz/2017/02/aprs-automatic-packet-reporting-system.html">frequencies</a><br />
<b>Packet:</b> Base-91 position and telemetry, <a href="http://tt7hab.blogspot.cz/2017/02/aprs-automatic-packet-reporting-system.html">Backlogged</a> position and telemetry in Comment section<br />
<b>Example:</b> !/5KyHS)='OJ5W 1F94!5MI,S(LWHC!+=7+;0c!'|!4!-<x+S1%!(!$|<br />
<br />
<b>WSPR</b><br />
<b>Callsign:</b> OK7DMT<br />
<b>Frequency:</b> 14.097000-14.097200 MHz (20m band)<br />
<b>Packet:</b> standard WSPR message starting at the 4th, 14th, 24th, 34th, 44th and 54th minute<br />
6-character locator WSPR message starting at the 6th, 16th, 26th, 36th, 46th and 56th minute<br />
<b>Example:</b> "OK7DMT JN99 10" and "<OK7DMT> JN99bl 30"<br />
<b>Note:</b> the POWER field is used to encode altitude (0-18km - standard message, 0-1000m within the kilometre - extended message)<br />
<br />
<b>Initial Prediction:</b> 2017-10-14<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBLMNiEpCSuA7mJX8DUWFhY5NfnehbuGsLxHFgJgLzuJn1fdpnmjlnBPVYxg-r5HltfnypZkTP4L094nxo-RDlZ35yX0xuQp37RXjj6O0jmTGZ6xuN4W4_8Zm2PV7TzNvRpyWImymNniU/s1600/initial+prediction+20171014.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="764" data-original-width="1073" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBLMNiEpCSuA7mJX8DUWFhY5NfnehbuGsLxHFgJgLzuJn1fdpnmjlnBPVYxg-r5HltfnypZkTP4L094nxo-RDlZ35yX0xuQp37RXjj6O0jmTGZ6xuN4W4_8Zm2PV7TzNvRpyWImymNniU/s320/initial+prediction+20171014.jpg" width="320" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggGd7UhF8n5okgbsjD3jwwDwlq9hcRNz4W89oyLP-3bWSm7uRpJ8qs7WDn0abeW2oSFQ9Tvn3BFOWzr1xw8mkwKPm5J-bZwWjjlSRctCry3D2evsvL9LfWPBlBxc8MNAjhddq6N16eqUA/s1600/initial+prediction+20171014+hysplit+2000.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="914" data-original-width="734" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggGd7UhF8n5okgbsjD3jwwDwlq9hcRNz4W89oyLP-3bWSm7uRpJ8qs7WDn0abeW2oSFQ9Tvn3BFOWzr1xw8mkwKPm5J-bZwWjjlSRctCry3D2evsvL9LfWPBlBxc8MNAjhddq6N16eqUA/s200/initial+prediction+20171014+hysplit+2000.gif" width="160" /></a></div>
<b>Power Scheme</b><br />
I didn't complicate things with any special power saving schemes based on solar or supercap voltages this time. Whenever the solar cells and supercapacitor provide enough power, the tracker will try to get positional fix from the GPS module and transmit this information via an APRS packet. It then spends about 60 seconds in Wait mode before trying again. An exception to this routine comes whenever the GPS module returns a timestamp signalling the 3rd minute in every 10 minute period (e.g. 0:03, 0:13, 0:23...). At that point the tracker switches on the Si5351 module and starts polling the GPS time until the start of the 4th minute to transmit the standard WSPR message which is immediately followed by the 6-digit locator WSPR message starting at the beginning of the 6th minute.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzkW_FXzdtHlUgIPp8Yy3DplTCBB28B9qeBTLDEatxZ1pJV1tA7aJdcdLweUCTPWpwdTL3pMqoiNb88LrVx3RusPesAD3Sa4ezOIg6L2hC6rHw0vT-EQ4JDvPHeqHW0CV7f9CHI2jr6oE/s1600/IMG_1820+initial+prototype.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzkW_FXzdtHlUgIPp8Yy3DplTCBB28B9qeBTLDEatxZ1pJV1tA7aJdcdLweUCTPWpwdTL3pMqoiNb88LrVx3RusPesAD3Sa4ezOIg6L2hC6rHw0vT-EQ4JDvPHeqHW0CV7f9CHI2jr6oE/s200/IMG_1820+initial+prototype.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiowxXgBVaqDsWnSC8b2FsI5nNocMc_MFTWGduQRtDQ3iQslORrxx-0KNq9t9uQGBE2SmeD9mHBqWJL83dVcSFBSERbZz3PWAVw7bp2uDjc6vDvZCqaZsQvTS3Gex3QXV3kJvvr29JoVkY/s1600/IMG_1822+load+switch.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiowxXgBVaqDsWnSC8b2FsI5nNocMc_MFTWGduQRtDQ3iQslORrxx-0KNq9t9uQGBE2SmeD9mHBqWJL83dVcSFBSERbZz3PWAVw7bp2uDjc6vDvZCqaZsQvTS3Gex3QXV3kJvvr29JoVkY/s200/IMG_1822+load+switch.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivID2fmZIRGyNqHJ_QqFEj3Uchah_xSNWnMmNN9UNDsWGetwJ_Cxa4BrZDsumiDggPOpXIPjTvOSfjfxFTpZ6_UDqg-HaAv3pJAc1kTtUvceysRbg_YSisupWuT4GpW6QGtSnswoMb1PE/s1600/IMG_1866+Si5351+insulation.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivID2fmZIRGyNqHJ_QqFEj3Uchah_xSNWnMmNN9UNDsWGetwJ_Cxa4BrZDsumiDggPOpXIPjTvOSfjfxFTpZ6_UDqg-HaAv3pJAc1kTtUvceysRbg_YSisupWuT4GpW6QGtSnswoMb1PE/s200/IMG_1866+Si5351+insulation.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhfob-IE7qrDkLpqRb42YZV0ltzD-EhSxfVaXVMZ8etAaoTgL4MJd6RJlHsm-DMauGhJxOdOksGUqUA5DuKiOuKacD77ZaRcwFGVyurApiLmQ2HDn-4jQU8Qfb49KYRU3zBRgqOto0Zgw/s1600/IMG_1898+hf+antenna.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhfob-IE7qrDkLpqRb42YZV0ltzD-EhSxfVaXVMZ8etAaoTgL4MJd6RJlHsm-DMauGhJxOdOksGUqUA5DuKiOuKacD77ZaRcwFGVyurApiLmQ2HDn-4jQU8Qfb49KYRU3zBRgqOto0Zgw/s200/IMG_1898+hf+antenna.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWaSJt4ocvalKWbgYnUqe5uXRlNp4UmKxCYQXbGdToJOuKL4DQjTcsCkwJdHhP18v6RxHXcBivDXrO8xrrT1fKFv9FWjrpui6OqjuFI2vfkS4OibJ6VDvEvt2fB24Q2XueVItFXWOUNSs/s1600/IMG_1894+solar+panel.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWaSJt4ocvalKWbgYnUqe5uXRlNp4UmKxCYQXbGdToJOuKL4DQjTcsCkwJdHhP18v6RxHXcBivDXrO8xrrT1fKFv9FWjrpui6OqjuFI2vfkS4OibJ6VDvEvt2fB24Q2XueVItFXWOUNSs/s200/IMG_1894+solar+panel.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgizJ-WFAx3px2cgrGJjOthBqM7Z1M9nHNPRKcH0PCr07sHmd3KC1XZ7MYo72hxRuOCKbSB2kDIjDDYawEiTyiDYAtEFqAzUINYumEie1MTyG9ckYVn_3Nfk4je3hV_95avDPEhoKQfFfc/s1600/IMG_1895+solar+panel.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgizJ-WFAx3px2cgrGJjOthBqM7Z1M9nHNPRKcH0PCr07sHmd3KC1XZ7MYo72hxRuOCKbSB2kDIjDDYawEiTyiDYAtEFqAzUINYumEie1MTyG9ckYVn_3Nfk4je3hV_95avDPEhoKQfFfc/s200/IMG_1895+solar+panel.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifchMc3LibHBFzIeSfq_V9GZ5Lqrnk1kOjkNf1vCtLSEATKalDz2nkZV6661ZAp3mDlCo2nE2X2ThBPOTQiZ3c4iwTVfaFEJps6WhBymgu2yaWPFVtB5BaAMW0WpR81GZG_ZvXww7pXAo/s1600/IMG_1900+TT7F+and+Si5351.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifchMc3LibHBFzIeSfq_V9GZ5Lqrnk1kOjkNf1vCtLSEATKalDz2nkZV6661ZAp3mDlCo2nE2X2ThBPOTQiZ3c4iwTVfaFEJps6WhBymgu2yaWPFVtB5BaAMW0WpR81GZG_ZvXww7pXAo/s200/IMG_1900+TT7F+and+Si5351.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU5h16Ulg5b_Lw8JECmgDgcjHGfKje5kP8njaClKg9s_DKMfhPlv8Dzll2mqq6CtJnW-UbxMWFClRM3IQRAWkYH2GzCXd3nWM9CCExCtCg1D_MS6umiEeu89axprF2SRQqu4781lvpqaI/s1600/IMG_1903+supercap+and+schottky+diode.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU5h16Ulg5b_Lw8JECmgDgcjHGfKje5kP8njaClKg9s_DKMfhPlv8Dzll2mqq6CtJnW-UbxMWFClRM3IQRAWkYH2GzCXd3nWM9CCExCtCg1D_MS6umiEeu89axprF2SRQqu4781lvpqaI/s200/IMG_1903+supercap+and+schottky+diode.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBjiyX3dpuuhjZIN05WUzzGUdYBDdot8OJR2JtNlL54H0clqmJzulK0n9axZWjwUoomRJ98CNy-VIHED7obrpKK4YhM-ANhuCwyRYMuY39dGjgu-TeEWPJAcq80sL-UjbN5FIn4mFTaWs/s1600/IMG_1904+solar+panel+connections.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBjiyX3dpuuhjZIN05WUzzGUdYBDdot8OJR2JtNlL54H0clqmJzulK0n9axZWjwUoomRJ98CNy-VIHED7obrpKK4YhM-ANhuCwyRYMuY39dGjgu-TeEWPJAcq80sL-UjbN5FIn4mFTaWs/s200/IMG_1904+solar+panel+connections.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDZeZ2NUghlTth-pzvuxcYmYnWpDB82JQXN9SEgp-TPbqYfpe57PoOIxuHD-fxmDPxizQ5Vqjau0dDMQsVYfuo8Lgg_cN1W1IlVkwhxSncI5aXMVqT_7UQadlS-Wf3CkgYiQ6MNqHXnms/s1600/IMG_1908+2m+dipole.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDZeZ2NUghlTth-pzvuxcYmYnWpDB82JQXN9SEgp-TPbqYfpe57PoOIxuHD-fxmDPxizQ5Vqjau0dDMQsVYfuo8Lgg_cN1W1IlVkwhxSncI5aXMVqT_7UQadlS-Wf3CkgYiQ6MNqHXnms/s200/IMG_1908+2m+dipole.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCP3UYKZ94mALyABZcJqKvhQ41InMgZBZraM_xk44hXdSBp-0YVXZCrWELYAvr2qhBtyYCfrLe6ox_hYbqL0uvx204SSNkN-cS5860MJ6zvJd-WHa_n2BmAu-sOcW_p8z5EvEpCv8b-RE/s1600/IMG_1906+2m+dipole.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCP3UYKZ94mALyABZcJqKvhQ41InMgZBZraM_xk44hXdSBp-0YVXZCrWELYAvr2qhBtyYCfrLe6ox_hYbqL0uvx204SSNkN-cS5860MJ6zvJd-WHa_n2BmAu-sOcW_p8z5EvEpCv8b-RE/s200/IMG_1906+2m+dipole.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZN-abY1piAkzy_hvTDrjO9ek68ZEEA2lEvX6VBNdYZa0sPeT7do9ETnWIXw4ut7_3NCnuFwgHZ62mq-kiNQVG3WhCkz2sFDDvXGjah6JM_sWcEDq1N5uorNSiKh7lrFEmWbO9be0oSh4/s1600/IMG_1909+tracker+parts.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZN-abY1piAkzy_hvTDrjO9ek68ZEEA2lEvX6VBNdYZa0sPeT7do9ETnWIXw4ut7_3NCnuFwgHZ62mq-kiNQVG3WhCkz2sFDDvXGjah6JM_sWcEDq1N5uorNSiKh7lrFEmWbO9be0oSh4/s200/IMG_1909+tracker+parts.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8lIKcotnFuUrRtoP7oxslZxzqA9QjAkGo8ZHjox4coRhqZmfa2Vk6loT9yOHqy0gWnOjNOh0hRQYcGTEMTnNjZceuCL1IMIa55w4RAJ71Cedd7ltLCIgF0FBfHApnicmLHwOjEGKrtpY/s1600/IMG_1912+foam.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8lIKcotnFuUrRtoP7oxslZxzqA9QjAkGo8ZHjox4coRhqZmfa2Vk6loT9yOHqy0gWnOjNOh0hRQYcGTEMTnNjZceuCL1IMIa55w4RAJ71Cedd7ltLCIgF0FBfHApnicmLHwOjEGKrtpY/s200/IMG_1912+foam.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEielUXd8cVNQVQhj2QX6LclyQU4bwiuSXC-gAroWy4uzWxAGV5Km9XbBLDi5vQjegpZP_1dw0sdPU8SwlY94w1aIA_5GGotF-TKI7RtSx0Rv2bHqHJdzM6DWLQMmvn_Vb22EzFyXkYvA0s/s1600/IMG_1915+foam.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEielUXd8cVNQVQhj2QX6LclyQU4bwiuSXC-gAroWy4uzWxAGV5Km9XbBLDi5vQjegpZP_1dw0sdPU8SwlY94w1aIA_5GGotF-TKI7RtSx0Rv2bHqHJdzM6DWLQMmvn_Vb22EzFyXkYvA0s/s200/IMG_1915+foam.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDnj2WQ56J3zn96D3MLN2PPO4K1u7IrlIEa1BCddEC3gp_yOUhOo1WXjo5AZuB9fLEE5Z1bQK8GPOBcCrRUqR5KPWFTiZPSY8Qy-j4mJbD792c0wavqOalgwsnhQyMoH_zLp7w_uezS1c/s1600/IMG_1942+TT7F6W+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDnj2WQ56J3zn96D3MLN2PPO4K1u7IrlIEa1BCddEC3gp_yOUhOo1WXjo5AZuB9fLEE5Z1bQK8GPOBcCrRUqR5KPWFTiZPSY8Qy-j4mJbD792c0wavqOalgwsnhQyMoH_zLp7w_uezS1c/s200/IMG_1942+TT7F6W+tracker.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_FQFnqXgtoRREXNl6QQWss67WVm4JU1_3PD9wZxGInqcD4Omj-ZgI0qPZIQNPhmQGiRO6I7xqcXCAMWPy42JS1tr9rVvAVyeqC4Zdf0Y6yI8eMv5QHFQN-RVgYbx6jv9GWYAD15ERzLI/s1600/IMG_1938+antennas.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_FQFnqXgtoRREXNl6QQWss67WVm4JU1_3PD9wZxGInqcD4Omj-ZgI0qPZIQNPhmQGiRO6I7xqcXCAMWPy42JS1tr9rVvAVyeqC4Zdf0Y6yI8eMv5QHFQN-RVgYbx6jv9GWYAD15ERzLI/s200/IMG_1938+antennas.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgy0eE3NGPyk4hzlSbBg_HOMFYAzLAoosnVMKQnyVTO6433C7Cq2NiFv5M-rUxrBDslmba-Q0bR5dxxivc2J0cd-RS_ix3hAyS3_BLkQ5rGPZmsAM3CxFACQafG5_52tigvNOOmhNhxfCg/s1600/IMG_1943+testing.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgy0eE3NGPyk4hzlSbBg_HOMFYAzLAoosnVMKQnyVTO6433C7Cq2NiFv5M-rUxrBDslmba-Q0bR5dxxivc2J0cd-RS_ix3hAyS3_BLkQ5rGPZmsAM3CxFACQafG5_52tigvNOOmhNhxfCg/s200/IMG_1943+testing.JPG" width="150" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjD8q9ykZF7ZQ_MFg5e9INFRLwyqMe6KTVKhQF0PyO1092CeIvcBiDJrKe7cBdmeuMX2hQ7Q52gXeFiRHL7mayzJjL_Uh-p4KXbBEYToYe8xv8wzmWlNjYYsG6heF1AW5hCXwYtL_8IG7Y/s1600/IMG_1945+TT7F6W+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjD8q9ykZF7ZQ_MFg5e9INFRLwyqMe6KTVKhQF0PyO1092CeIvcBiDJrKe7cBdmeuMX2hQ7Q52gXeFiRHL7mayzJjL_Uh-p4KXbBEYToYe8xv8wzmWlNjYYsG6heF1AW5hCXwYtL_8IG7Y/s200/IMG_1945+TT7F6W+tracker.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg955hW2bI_xanaPtJeWNoc4nHZDNf-HnWRwjh6dG77sBr5r6z3c7Qrcw5YQRKYgDmHjx0EUsfHWE07RrukBQM8ZdN2Zm0ChKSVthyphenhyphenetMJ-gudYoTgB7AepZyI_hUWj4b9IvO-zJIaOJN0/s1600/IMG_1946+TT7F6W+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg955hW2bI_xanaPtJeWNoc4nHZDNf-HnWRwjh6dG77sBr5r6z3c7Qrcw5YQRKYgDmHjx0EUsfHWE07RrukBQM8ZdN2Zm0ChKSVthyphenhyphenetMJ-gudYoTgB7AepZyI_hUWj4b9IvO-zJIaOJN0/s200/IMG_1946+TT7F6W+tracker.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiO_ytYHpD74QqGoRdPnJEm23bNI3sUpgh6x7XEvqNIs1m5A3k3S9i0UuCWMaq56oF_ACziAe6BE1Gt5QtM9FC3wQtfgw17Qrzp4f2GnUO6vGwftB5_zXqdDlVsBJmNt5cijphmehBGJpQ/s1600/IMG_1939+TT7F6W+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiO_ytYHpD74QqGoRdPnJEm23bNI3sUpgh6x7XEvqNIs1m5A3k3S9i0UuCWMaq56oF_ACziAe6BE1Gt5QtM9FC3wQtfgw17Qrzp4f2GnUO6vGwftB5_zXqdDlVsBJmNt5cijphmehBGJpQ/s200/IMG_1939+TT7F6W+tracker.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxtpbafUToj3rlk6iZ779ItqkCHg48Kut_iYuRiJlfjEjrXk7nUvUI430ZB6_o9AVKKPJI4MHZsX059mDM1YPbPtmNHHIa031X1fRAZt4F5zOqv5AMeqJ-_PWgPKRKxfyqtiWuL7UlL6s/s1600/IMG_1950+mass.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxtpbafUToj3rlk6iZ779ItqkCHg48Kut_iYuRiJlfjEjrXk7nUvUI430ZB6_o9AVKKPJI4MHZsX059mDM1YPbPtmNHHIa031X1fRAZt4F5zOqv5AMeqJ-_PWgPKRKxfyqtiWuL7UlL6s/s200/IMG_1950+mass.JPG" width="200" /></a></div>
<b>Tracker</b><br />
I decided to put this tracker together only after I was in the midst of launching the original batch of five. It is sort of a scrap parts tracker since it's built around the very first TT7F board I made and have used in testing and developing the software. As such, individual parts of the board were repeatedly soldered and de-soldered which quite possibly contributed to some of the issues I encountered later. The major difference and motivation was Adafruit's Si5351 module added to the TT7F board which provides the 20m WSPR transmissions. I had fiddled with WSPR before, so I was already familiar with the basic functionality, protocol and had the major blocks of code written. Upon looking into the power options the Si5351 offered, I had to add MIC94070 power switch in between TT7F and the module to manually cut it off the power supply. Otherwise, it would constantly consume additional 14mA. The board is supplied by four serially wired 52x38mm solar cells which are connected directly to a 4.7F supercapactitor this time. The reason is I couldn't make the LTC3105 operate reliably. It would sometimes simply refuse to output the preset voltage despite sufficient insolation on the solar cells and thus fail to start the tracker. In the current setup the four cells produce about 2.35V open circuit voltage minus the drop (~0.4V) at 1N5817 Schottky diode which blocks the current flowing back to the cells. The short circuit current was measured to be 0.46A. I also encountered the same issue that most likely caused the failure of TT7F2. There were three cases of poorly made vias en route a trace which I had to replace with a wire connection. The boards were by DirtyPCBs. The addition of the 14MHz HF transmission required rethinking the antenna setup. Following the example of other HF floaters I decided on a 20m-band dipole (5.214m each element) made from 0.118mm magnet wire weighing 1.1g. Spaced about 5cm apart is once again a 2m-band dipole for the APRS transmissions. Stripes of Kapton tape were used for the spacing itself.<br />
<b>Mass:</b> 21.0g<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheVOmueynlBYYJ4ruD6E2ZnJnkQXQ8SOlB7WC5EGKaM5zOndX13a2CkAQsMcVQW32UREqYs-Bgy1A6xgBmCeSaTcZNiLYQjpTqkh8sYLztFMX2zR-e48ZDO6A8CXhwcOQKLcclYSFcEKs/s1600/chart-final+setup.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="494" data-original-width="780" height="126" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheVOmueynlBYYJ4ruD6E2ZnJnkQXQ8SOlB7WC5EGKaM5zOndX13a2CkAQsMcVQW32UREqYs-Bgy1A6xgBmCeSaTcZNiLYQjpTqkh8sYLztFMX2zR-e48ZDO6A8CXhwcOQKLcclYSFcEKs/s200/chart-final+setup.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpxgDNI_WVdLjr-otBidTR7TCimhdSys2aHb0QGn_RTsiwutazZ3sOCQBy43Z7KrA6t0FG6WtwfopZ76_q8Yh1iWiPyHv223eLNnvEcX3zgWAaIvCmnQi0qmb_bZOrCibwpmSW1OFakkc/s1600/Si5351+drift+in+freezer+freq+offset+5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="800" data-original-width="1280" height="125" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpxgDNI_WVdLjr-otBidTR7TCimhdSys2aHb0QGn_RTsiwutazZ3sOCQBy43Z7KrA6t0FG6WtwfopZ76_q8Yh1iWiPyHv223eLNnvEcX3zgWAaIvCmnQi0qmb_bZOrCibwpmSW1OFakkc/s200/Si5351+drift+in+freezer+freq+offset+5.jpg" width="200" /></a></div>
<b>Software</b><br />
<a href="https://github.com/TomasTT7/TT7F-Float-Tracker/blob/master/Software/ARM_SI5351.h">ARM_SI5351.h</a><br />
<a href="https://github.com/TomasTT7/TT7F-Float-Tracker/blob/master/Software/ARM_SI5351.c">ARM_SI5351.c</a><br />
<a href="https://github.com/TomasTT7/TT7F-Float-Tracker/blob/master/Software/ARM_WSPR.h">ARM_WSPR.h</a><br />
<a href="https://github.com/TomasTT7/TT7F-Float-Tracker/blob/master/Software/ARM_WSPR.c">ARM_WSPR.c</a><br />
The main function running this tracker can be found in <a href="https://github.com/TomasTT7/TT7F-Float-Tracker/blob/master/Software/ARM_TT7F6W.c">ARM_TT7F6W.c</a> on Github. There are no power saving modes this time. As long as the tracker has enough power it transmits both APRS packets and WSPR messages. Si5351 is basically just a clock generator and doesn't have any fancy power modes, nor modulation registers. The whole WSPR transmission is arranged by simply reprogramming the module's output frequency according to the current WSPR tone and timed by the MCU. The input to the WSPR encoder is a callsign and current latitude, longitude and altitude. All the functions to encode and transmit the WSPR messages are in the two libraries above. Since this Si5351 module is equipped only with a drifty XTAL (measured difference of 60Hz between 24°C room temperature and -16°C in a freezer), I embedded a couple of countermeasures to limit the effect. Aside from insulating the actual board, I switch the module on the moment the countdown to an even minute starts, so the part has been heating itself and its surroundings for several seconds ahead of the actual transmission. The second measure deals with the fact that the WSPR receiver bandwidth is only 200Hz wide. First, it alternates between two different frequencies within this band in case the temperature variation took one of them outside of the band. Second, it offsets the frequency by 50 or 100 Hz should the MCU temperature fall below -15°C or -35°C, respectively. This behaviour is illustrated in the caption above which shows the tracker put inside a freezer. The bits in APRS telemetry bitfield should signal the GPS in Airborne mode (Nav), the GPS having fix (Fix), finished WSPR transmission (Wsp), an error in UART GPS communication (Urt), an error in TWI Si5351 communication (Twi) and an error in SPI Si4060 (Spi) communication this time. Looking over the whole thing is a 16s watchdog.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3YzGSF_EkqBDETC0MhX8sr_y1-ESr1q7pjSStj8xcihwdwuob-vHIbjJ3Sh78pl00Y4TPxyJdZBQnX-vj9FkjKq1FCvGH6QjKJwuT2BvOfOHJd1nLps2saOvHElFImMqmREA5440-aNU/s1600/IMG_1827+tube+balloons+comparison.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3YzGSF_EkqBDETC0MhX8sr_y1-ESr1q7pjSStj8xcihwdwuob-vHIbjJ3Sh78pl00Y4TPxyJdZBQnX-vj9FkjKq1FCvGH6QjKJwuT2BvOfOHJd1nLps2saOvHElFImMqmREA5440-aNU/s200/IMG_1827+tube+balloons+comparison.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_ZNofS1vurfv9yJofUf_9Dve9kvaWKEwYSQA9LugRci4vPUVXz5tsJ_UWjRd4f85fj2SRfyKI1ahuqCkm6yCYlfuKk2xmRAKRaL9Q2s2mLmbt4uIOR9jrQWqDow-jUfs1ymlYlwXR1HU/s1600/IMG_1847+weak+spot.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_ZNofS1vurfv9yJofUf_9Dve9kvaWKEwYSQA9LugRci4vPUVXz5tsJ_UWjRd4f85fj2SRfyKI1ahuqCkm6yCYlfuKk2xmRAKRaL9Q2s2mLmbt4uIOR9jrQWqDow-jUfs1ymlYlwXR1HU/s200/IMG_1847+weak+spot.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJUeZmozHZoPoD7rY2pkjmdQu8ccdwnJp_hW2EW55JvhBLntEGuvOpUzL_YynyQvXZMM7wtjtXZTFPW5znu3UbE7BctdJgISxGQkaXKL1dcxkSXgwZCl0-lJv63ZGz3mP_BJ4R6OPRzsQ/s1600/IMG_1832+tube+balloon+233x133.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJUeZmozHZoPoD7rY2pkjmdQu8ccdwnJp_hW2EW55JvhBLntEGuvOpUzL_YynyQvXZMM7wtjtXZTFPW5znu3UbE7BctdJgISxGQkaXKL1dcxkSXgwZCl0-lJv63ZGz3mP_BJ4R6OPRzsQ/s200/IMG_1832+tube+balloon+233x133.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOOh2MhA89NCs3o7i7vhEEjsFDjiksGkqabXkIJBJ2e1rDU8lQsBWM_aQvVKOtIkz17TcCWH9e_KKvVXqnE0vwNp3oWWmkKww7KSZ0Tx2Prei5sJHT4I63MQm37Cpx5ks-dnZaKBGIQkI/s1600/IMG_1852+tube+balloon+233x133.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOOh2MhA89NCs3o7i7vhEEjsFDjiksGkqabXkIJBJ2e1rDU8lQsBWM_aQvVKOtIkz17TcCWH9e_KKvVXqnE0vwNp3oWWmkKww7KSZ0Tx2Prei5sJHT4I63MQm37Cpx5ks-dnZaKBGIQkI/s200/IMG_1852+tube+balloon+233x133.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTt-rjIcQLNwCxmHy7dmoboME5hw7bvJYEd7OBal_O552cb0aLtqI72DSXx6lWGi9dVLXdFKPGFb-wOCr249OzJ7ALabFTonqu8hv_qBC03mUyBsj_6cSCGVgCK9UnVXBhXRy5BNdLUec/s1600/IMG_1853+tube+balloon+233x133.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTt-rjIcQLNwCxmHy7dmoboME5hw7bvJYEd7OBal_O552cb0aLtqI72DSXx6lWGi9dVLXdFKPGFb-wOCr249OzJ7ALabFTonqu8hv_qBC03mUyBsj_6cSCGVgCK9UnVXBhXRy5BNdLUec/s200/IMG_1853+tube+balloon+233x133.JPG" width="150" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0-OA49PbyYOq95ydN67taRgtYxRj936zdvhcBZqyY3Tsaf60MB1bbZpxvDKYid-6nHQtRJTPHDJOFSA2D672qT59NuefuL590WY7SfuHgC0E_NzNkxQeZBer3WuVFr2_LYMFORmaogMU/s1600/IMG_1848+tube+balloon+233x133.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0-OA49PbyYOq95ydN67taRgtYxRj936zdvhcBZqyY3Tsaf60MB1bbZpxvDKYid-6nHQtRJTPHDJOFSA2D672qT59NuefuL590WY7SfuHgC0E_NzNkxQeZBer3WuVFr2_LYMFORmaogMU/s200/IMG_1848+tube+balloon+233x133.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhGYlm5U3BGMHfhbAfCUHLgEoFnip7xEI1QiDSbBDK0DxgFxuaAexh40akxNbLUh0eReiqDFniooBVYsC8aCJtZ8XqkwezNZM88NlCDnOfuL0J28Wvs9RdqtusSQbvEQVBB_JRwZOOtzQ/s1600/IMG_1864+tube+balloon+233x133.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhGYlm5U3BGMHfhbAfCUHLgEoFnip7xEI1QiDSbBDK0DxgFxuaAexh40akxNbLUh0eReiqDFniooBVYsC8aCJtZ8XqkwezNZM88NlCDnOfuL0J28Wvs9RdqtusSQbvEQVBB_JRwZOOtzQ/s200/IMG_1864+tube+balloon+233x133.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaetfQD15t10IbbA3ZWaIVby8x0-LCAKps3g-3w0P6oOgTQOigel3fPsgTdnALqF7BfL_dkgv5k8DDBJbHtKcqtGHi8qq4N8rEE7c6EzJ-lX-AgmWNE8yNETHq3Rtb3jvs4eqNievbEOo/s1600/Superpressure+balloon+stretching+profile+%2528T1x133_n1%2529.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="494" data-original-width="931" height="105" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaetfQD15t10IbbA3ZWaIVby8x0-LCAKps3g-3w0P6oOgTQOigel3fPsgTdnALqF7BfL_dkgv5k8DDBJbHtKcqtGHi8qq4N8rEE7c6EzJ-lX-AgmWNE8yNETHq3Rtb3jvs4eqNievbEOo/s200/Superpressure+balloon+stretching+profile+%2528T1x133_n1%2529.png" width="200" /></a></div>
<b>Balloon</b><br />
Similar to TT7F5, I opted for the tube/cylinder shaped balloon this time. The dimensions of the flat shape were 2.33m in length and 1.33m in width before stretching. TT7F5's performance also suggests that I still overestimate the volume of the envelopes resulting in the final float altitudes being below expectation. Throughout stretching, I kept gradually increasing the gauge pressure while observing the envelope all the way to 1600Pa at which point I thought it would be reasonable to stop due to the familiar weak spots in the material. The pressurizing took about 34 hours this time. Gamma was estimated to 1.51 with my standard measuring technique. However, as mentioned, the estimates have been quite off, so I leave them here for consistency reasons only. In reality, I am looking for about 12400m float altitude.<br />
<b>Expected Float Altitude:</b> 13680m (12400m)<br />
<b>Expected Ascent Rate:</b> 0.68m/s<br />
<b>Expected Superpressure:</b> 1520Pa (at 17°C supertemperature)<br />
<b>Gas:</b> Hydrogen<br />
<b>Free Lift:</b> 7.0g<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdXGmfnoGl10C61uE5LQIVZJNbou_hiku6AGM3YlpDybzrkQf9JFL7JqlyHDuzrgwP7aPXMOaIWzTEHmyqMKWIkCgagfPkZ3m5sumy9JBAX_1EvSQQy0brQnZxvOPvjkJyG3poKi4HAyE/s1600/IMG_1952+measuring+lift.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdXGmfnoGl10C61uE5LQIVZJNbou_hiku6AGM3YlpDybzrkQf9JFL7JqlyHDuzrgwP7aPXMOaIWzTEHmyqMKWIkCgagfPkZ3m5sumy9JBAX_1EvSQQy0brQnZxvOPvjkJyG3poKi4HAyE/s200/IMG_1952+measuring+lift.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUnlMEjYxKPHhALJ6DAr9TJATMTGGioMv-zBCo5Kii1pkW7rwSE9-CW-mpnvpgW-oL1-TDm-29vrq0utcY0lzhNeA-Grxpensx3NVDejxDTsZT-2U02cBf3T_POucKD4EOMTlrJefuJQM/s1600/IMG_1954+measuring+lift.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUnlMEjYxKPHhALJ6DAr9TJATMTGGioMv-zBCo5Kii1pkW7rwSE9-CW-mpnvpgW-oL1-TDm-29vrq0utcY0lzhNeA-Grxpensx3NVDejxDTsZT-2U02cBf3T_POucKD4EOMTlrJefuJQM/s200/IMG_1954+measuring+lift.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuD3PYVTxzz_hTHJb84BD5gF8pPYCJs8-RVLtnbpCFVrCDAV8OSJP-evMrI6KVy6_s27kJiTcpWtoZ79XrKgR6PVChAobVeb2aLP4UvENO4X7loZsfiraxOpfcRmvqViB7ZmzxX-DuIJU/s1600/IMG_1962+2.33+tube+balloon.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuD3PYVTxzz_hTHJb84BD5gF8pPYCJs8-RVLtnbpCFVrCDAV8OSJP-evMrI6KVy6_s27kJiTcpWtoZ79XrKgR6PVChAobVeb2aLP4UvENO4X7loZsfiraxOpfcRmvqViB7ZmzxX-DuIJU/s200/IMG_1962+2.33+tube+balloon.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhG3yJu8pMSK3kwL_EidJQ5gZ596gIARiVLya1LUO7AzawGmgnhE-Aj9XB9QDkyDitmdt65dXSbR2O54_I6XcrCET_2SY3fS1rZSfxLSqU6vpdRwLfYFZ5hlnPwWDmIs_8A0cgYN-me1OM/s1600/IMG_1963+2.33+tube+balloon.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhG3yJu8pMSK3kwL_EidJQ5gZ596gIARiVLya1LUO7AzawGmgnhE-Aj9XB9QDkyDitmdt65dXSbR2O54_I6XcrCET_2SY3fS1rZSfxLSqU6vpdRwLfYFZ5hlnPwWDmIs_8A0cgYN-me1OM/s200/IMG_1963+2.33+tube+balloon.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCgsWgqm5tNrPfmuQ11wHP_vBJX2KOtayuLT95gdJckx4L79ob7CIHZEGTzSQtQuaG8qA15nq1Bd2rHWB7MWrhsQH5fWuVdA73Wo94Y593btEpL5QBL_xRFocZikNa7MWt07aHVjXVnSU/s1600/IMG_1959+2.33+tube+balloon.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCgsWgqm5tNrPfmuQ11wHP_vBJX2KOtayuLT95gdJckx4L79ob7CIHZEGTzSQtQuaG8qA15nq1Bd2rHWB7MWrhsQH5fWuVdA73Wo94Y593btEpL5QBL_xRFocZikNa7MWt07aHVjXVnSU/s200/IMG_1959+2.33+tube+balloon.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhu7zfDJX3gbmOyRLHHGmkSZb18yftH8zBO0vYgSEPhbTPotKBg1Gnz9sKMzHrQSuHtQuiw1ek-DxjIS67sqRhFf7eZhoRm7U0X6grkKTfuwFORhbYqGQ_1hzzwbCMZBZhAd5zLHvcNbZw/s1600/IMG_1958+2.33+tube+balloon.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhu7zfDJX3gbmOyRLHHGmkSZb18yftH8zBO0vYgSEPhbTPotKBg1Gnz9sKMzHrQSuHtQuiw1ek-DxjIS67sqRhFf7eZhoRm7U0X6grkKTfuwFORhbYqGQ_1hzzwbCMZBZhAd5zLHvcNbZw/s200/IMG_1958+2.33+tube+balloon.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiorj3Sh7mkMXnoL0UKLmPg4kG-xMyY42zlLdtTUOPqqr-zgJswBjlNEkMkDig9G-sllJBqko4xKOLmdGogk4g0HP9dcWAedCTjX2BaiSb_9MCRJdBC7Dz4JJjLX54w-eJqKNXrs4hGcK8/s1600/IMG_1964+TT7F6W+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiorj3Sh7mkMXnoL0UKLmPg4kG-xMyY42zlLdtTUOPqqr-zgJswBjlNEkMkDig9G-sllJBqko4xKOLmdGogk4g0HP9dcWAedCTjX2BaiSb_9MCRJdBC7Dz4JJjLX54w-eJqKNXrs4hGcK8/s200/IMG_1964+TT7F6W+tracker.JPG" width="150" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicFLuitBMmjvHNZfmlYlWO2ckxiO5X9M5cnjymz88uYS0ZP0kVYAaSB1K7tNFPXoZimze06LRPZya9B_sdUYeiSYfHrU3usNkT76ffhsSx2VMRlr96uRs1OIfu305mYhKv_QM_gt3duK8/s1600/IMG_1965+TT7F6W+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicFLuitBMmjvHNZfmlYlWO2ckxiO5X9M5cnjymz88uYS0ZP0kVYAaSB1K7tNFPXoZimze06LRPZya9B_sdUYeiSYfHrU3usNkT76ffhsSx2VMRlr96uRs1OIfu305mYhKv_QM_gt3duK8/s200/IMG_1965+TT7F6W+tracker.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgCmjhTtvgVaHIvnIpDh1Iso0DPkFnO_BdA-gWqBjwYI3fg27mE8XB3fqjmosgP19YUkD5mfhhHgg8wsVf8OjZLgGIqb3WsRhiD2cF5ZsMVdzwdD-d_D3a0GJVmQ39l_fBbZXZRy56XLY/s1600/IMG_1966+TT7F6W+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgCmjhTtvgVaHIvnIpDh1Iso0DPkFnO_BdA-gWqBjwYI3fg27mE8XB3fqjmosgP19YUkD5mfhhHgg8wsVf8OjZLgGIqb3WsRhiD2cF5ZsMVdzwdD-d_D3a0GJVmQ39l_fBbZXZRy56XLY/s200/IMG_1966+TT7F6W+tracker.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5j1jHezjSRKPTnBorDle1I1eb88h5xGUgL_3B6X4oGKnTwgVuYhK56GhTvm8Fi8lJ8fuB3etITkXmYyOxJFRnlf8BVYbuZvNeDRNE8NpTxSDNY4bqtlzLgKTG7N7Xb-WhmNuH5gOBVoU/s1600/IMG_1973+failed+attempt+to+launch.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5j1jHezjSRKPTnBorDle1I1eb88h5xGUgL_3B6X4oGKnTwgVuYhK56GhTvm8Fi8lJ8fuB3etITkXmYyOxJFRnlf8BVYbuZvNeDRNE8NpTxSDNY4bqtlzLgKTG7N7Xb-WhmNuH5gOBVoU/s200/IMG_1973+failed+attempt+to+launch.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4VrTmiYgJpQt2JgWkQk7Xu53GSV4qk6a7wOZQr8AGgjp9VcN8jok6GTf9ruo22aqfnZjGusS3S7Xxa4OfnGw0M415wTysd12QCG42-GQ1yP1_13iMdn-UNLkbIfY7HxRSkP5nPnQqPI8/s1600/IMG_1977+regaining+lift.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4VrTmiYgJpQt2JgWkQk7Xu53GSV4qk6a7wOZQr8AGgjp9VcN8jok6GTf9ruo22aqfnZjGusS3S7Xxa4OfnGw0M415wTysd12QCG42-GQ1yP1_13iMdn-UNLkbIfY7HxRSkP5nPnQqPI8/s200/IMG_1977+regaining+lift.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjA91ueKVdTj85JncF4qHLzwKMBAnz_thnCCt4DOxP0GaHqQkB74gO5h27qOOezpTs0vondyKzxpB4Qcu4KHlqsop_U7WbSQ3U7yksTAhSEL6dVe_HxHrLCUGvB7ZU9euK3T27vsR-hoYQ/s1600/IMG_1978+launched.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjA91ueKVdTj85JncF4qHLzwKMBAnz_thnCCt4DOxP0GaHqQkB74gO5h27qOOezpTs0vondyKzxpB4Qcu4KHlqsop_U7WbSQ3U7yksTAhSEL6dVe_HxHrLCUGvB7ZU9euK3T27vsR-hoYQ/s200/IMG_1978+launched.JPG" width="150" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6pLshvKw6p69k8QgPHct-SpuQ486YyK0c3V2yl1cuBmweE35ps-weHxTew-DEIe_WrL3gacMUJklrYLiXlhk0F5ARybNuUOzw4kfm7bRStEU_r8Ks2ngj7JmRI1H1F3zHSDM5BT6af4I/s1600/IMG_1980+launched.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6pLshvKw6p69k8QgPHct-SpuQ486YyK0c3V2yl1cuBmweE35ps-weHxTew-DEIe_WrL3gacMUJklrYLiXlhk0F5ARybNuUOzw4kfm7bRStEU_r8Ks2ngj7JmRI1H1F3zHSDM5BT6af4I/s200/IMG_1980+launched.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlRCSajNc4PvQZmIoJNqv0LbOdlsJdjgBU7f9eerbS-gdhToRyrgrcXbyeSD0oWVHSkYIV7w5o9q4901aD-xGBULlhzynN8l-xdxl6qGGcTa6pTg2bRDLR5AbmsKGiCp8QUxZp_cYjMH8/s1600/IMG_1982+launched.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlRCSajNc4PvQZmIoJNqv0LbOdlsJdjgBU7f9eerbS-gdhToRyrgrcXbyeSD0oWVHSkYIV7w5o9q4901aD-xGBULlhzynN8l-xdxl6qGGcTa6pTg2bRDLR5AbmsKGiCp8QUxZp_cYjMH8/s200/IMG_1982+launched.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhb6iMPDv12lSKp-RH6q35XVj9oXkKk_TbHqkculvknpW_imzzRLk7mlevGsCe5ga8t2MgUWMrU4x9n_5W7nyJEeY_hxS-ZQQxWNBMcPAqdDV1sXg_3lstfnznZo7J-lC9KIYl69mr8xvI/s1600/IMG_1984+loop+antenna.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhb6iMPDv12lSKp-RH6q35XVj9oXkKk_TbHqkculvknpW_imzzRLk7mlevGsCe5ga8t2MgUWMrU4x9n_5W7nyJEeY_hxS-ZQQxWNBMcPAqdDV1sXg_3lstfnznZo7J-lC9KIYl69mr8xvI/s200/IMG_1984+loop+antenna.JPG" width="150" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiw44CD1pykNfb_Hp4J2HoAUbZeRJbhRt52MjDdTUkSVIUHLyJ_WevLvb85-DpcqoZUJ6MC7UiI2ONpTHCqIbKham3jxM8XxvMn7lDiAyFycUj8Py73MPf5SQYEz-akswu1iyIngdjwpPg/s1600/WSPR+drift+at+float.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="871" data-original-width="1439" height="120" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiw44CD1pykNfb_Hp4J2HoAUbZeRJbhRt52MjDdTUkSVIUHLyJ_WevLvb85-DpcqoZUJ6MC7UiI2ONpTHCqIbKham3jxM8XxvMn7lDiAyFycUj8Py73MPf5SQYEz-akswu1iyIngdjwpPg/s200/WSPR+drift+at+float.jpg" width="200" /></a></div>
<b>Launch</b><br />
I managed to fill the balloon to 7.3g free lift the evening before the launch. As time of year progresses, I had to wait quite long for the sun rays to reach the garden and start the tracker this time. While I waited, the balloon was outside in shade. When it was finally time to launch, I found out the balloon wasn't capable of lifting the tracker. After a brief panic and contemplating cutting the envelope open and adding more hydrogen, I thought it was possible that the gas inside had simply cooled down too much with respect to the quickly rising air temperature, and I placed it in the sun to heat it up. After some 45 minutes, I remeasured the lift and found it to have recovered. The problem was that all this had taken so long that the surface winds had picked up and made it quite a challenge to launch the 13m apparatus in my particular surroundings. In the end in a brief moment of calm and with an ounce of luck, it just cleared the nearby forest and set off on its journey. I managed to receive the WSPR transmissions throughout the whole first day with my loop antenna inside the house. After three days of observing the tracker, a repeated pattern of the measured temperature rising in the morning, then dropping around the local noon only to rise again as the Sun descends suggests the solar cells significantly shade the rest of the tracker from the direct radiation. That negatively impacts the stability of the Si5351's transmissions making the mid day WSPR packets prone to drifting. The times and positions of the first and the last APRS packets of the day suggest the tracker comes alive with the Sun at around 3.5° above horizon and departs when it descends below 2.0°.<br />
<br />
<b>Data</b><br />
<a href="https://drive.google.com/open?id=0B8Fb45Vo8uIsWVZreFBzLUZFLVU">APRSfi_TT7F6W.txt</a> - collected raw packets.<br />
<a href="https://drive.google.com/file/d/0B8Fb45Vo8uIsNVc0RjBiS3lTLTA/view?usp=sharing">WSPRNETorg_TT7F6W.txt</a> - collected raw packets. <br />
Python <a href="https://github.com/TomasTT7/TT7F-Float-Tracker/blob/master/Accessories/APRSFIparser_TT7F6W.py">parser</a> of APRS.fi raw packet format.<br />
Python <a href="https://github.com/TomasTT7/TT7F-Float-Tracker/blob/master/Accessories/WSPRNETparser_TT7F6W.py">parser</a> of WSPRNET.org raw packet format. Second <a href="https://github.com/TomasTT7/TT7F-Float-Tracker/blob/master/Accessories/WSPRNETparser_TT7F6W_receivers.py">parser</a> with receivers included.<br />
The positional and telemetry data extracted from received APRS packets and decoded backlogs:<br />
(APRS black, WSPR yellow)<br />
<br />
<div style="text-align: center;">
<iframe height="400" src="https://www.google.com/maps/d/embed?mid=1_MOnZ4iZynm2cXDqsQrPMOQtSfM" width="528"></iframe><br /></div>
<br />
<div style="text-align: center;">
<iframe frameborder="0" height="700" scrolling="no" src="//plot.ly/~TomasTT7/64.embed" width="600"></iframe><br /></div>
TT7http://www.blogger.com/profile/11095378058232471221noreply@blogger.com0tag:blogger.com,1999:blog-7063183727921268380.post-27897772554008103042017-09-28T01:35:00.001+02:002018-09-08T03:31:06.637+02:00The TT7F5 Flight<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcgzeHBtTGntcDHHaA7pMqk7QbERFM9YTCE17gnQLmXB5_6XsGVkQXo5W0Qpf33G386OhwYmiMABmuW4ksB8-02ung8tBDu9L_T6pZ9bmpyndrXOSMjMizrrZi-mlVaFEqIYsmsbQeJAo/s1600/IMG_1180+TT7F5+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcgzeHBtTGntcDHHaA7pMqk7QbERFM9YTCE17gnQLmXB5_6XsGVkQXo5W0Qpf33G386OhwYmiMABmuW4ksB8-02ung8tBDu9L_T6pZ9bmpyndrXOSMjMizrrZi-mlVaFEqIYsmsbQeJAo/s200/IMG_1180+TT7F5+tracker.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhim-0PvlU7seJCkkh44m6GMAwrYFoHOacqlhmDhXv8S0WcLg2hsoaFofm3nYJuEaepcCLc2r4q8SN7KtmeuAYeGnqX30FgHBZB_DUcGjQb_F97Ae35PfMdseyJ4sXxktXgSW-5JkpmzTI/s1600/IMG_1179+TT7F5+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhim-0PvlU7seJCkkh44m6GMAwrYFoHOacqlhmDhXv8S0WcLg2hsoaFofm3nYJuEaepcCLc2r4q8SN7KtmeuAYeGnqX30FgHBZB_DUcGjQb_F97Ae35PfMdseyJ4sXxktXgSW-5JkpmzTI/s200/IMG_1179+TT7F5+tracker.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjco_rpCVBDThK8uu75YPnpkKLstp32tVbkiNkKrM57IBDLqIb8kIRCPdPEe7dF1uomyfcAJXRCk8aavJHATA_wxPLZPd-lufVSbOSJU6fDOWJ8GRsar7mM__U_H3slUDE0LaUFhdSta98/s1600/IMG_1797+tube+balloon+333x133.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjco_rpCVBDThK8uu75YPnpkKLstp32tVbkiNkKrM57IBDLqIb8kIRCPdPEe7dF1uomyfcAJXRCk8aavJHATA_wxPLZPd-lufVSbOSJU6fDOWJ8GRsar7mM__U_H3slUDE0LaUFhdSta98/s200/IMG_1797+tube+balloon+333x133.JPG" width="150" /></a></div>
<b>Date:</b> 2017-09-29<br />
<b>Time:</b> 6:30 GMT (8:30 CEST)<br />
<b>Place:</b> Roznov pod Radhostem, CZ<br />
<b>Live Tracking:</b> <a href="https://tracker.habhub.org/#!qm=All&q=TT7F5;OK7DMT-10">https://tracker.habhub.org</a>, <a href="https://aprs.fi/#!mt=roadmap&z=11&call=a%2FOK7DMT-10&timerange=3600&tail=3600">https://aprs.fi</a> and <a href="http://ssdv.habhub.org/TT7F5">ssdv.habhub.org</a><br />
<br />
<b>RTTY</b><br />
<b>Callsign:</b> TT7F5<br />
<b>Frequency:</b> 434.429MHz<br />
<b>Params:</b> 300 baud, 850Hz shift, 8n2 <br />
<b>Preceded by:</b> 5 slow blips (~6s)<br />
<b>Packet:</b> callsign, count, time, date, latitude, longitude, altitude, sats, Vsolar, Vbatt, Tmcu, Ttx,Images,SSDVstatus<br />
<b>Example:</b> <span class="pl-c">$$TT7F5,13,21:13:27,20170629,49.46872,18.15082,395,6,781,3931,21,14,0,S*1F42</span><br />
<br />
<b>SSDV</b><br />
<b>Callsign:</b> TT7F5<br />
<b>Frequency:</b> 434.429MHz<br />
<b>Params:</b> 300 baud, 850Hz shift, 8n2<br />
<b>Interleaving:</b> RTTY telemetry and APRS packet after every 5 SSDV packets (~1min)<br />
<b>Preceded by:</b> every 5 packet block preceded by 5 fast blips (~2.5s)<br />
<b>Image:</b> 320x240, 50 quality, YCbCr422 <br />
<br />
<b>APRS</b><br />
<b>Callsign:</b> OK7DMT-10<br />
<b>Frequency:</b> Geofenced local APRS <a href="http://tt7hab.blogspot.cz/2017/02/aprs-automatic-packet-reporting-system.html">frequencies</a><br />
<b>Packet:</b> Base-91 position and telemetry, <a href="http://tt7hab.blogspot.cz/2017/02/aprs-automatic-packet-reporting-system.html">Backlogged</a> position and telemetry in Comment section<br />
<b>Example:</b> !/5KyHS)='OJ5W 1F94!5MI,S(LWHC!+=7+;0c!'|!4!-<x+S1%!(!$|<br />
<br />
<b>Initial Prediction:</b> 2017-09-27<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4J33Iys0QSEEiejJoTHgslxcVzYOsx-C3OEZi-f_Hj1_nNZIfulUo1NSP-GbSOklj1naDF5b5jny2dYQAq1lZrGDHCjOf_s9cuadUmZg3gmMBJ5H2du3CCA_gJnpGKegdMnwgt99qChY/s1600/initial+prediction+20170927.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="765" data-original-width="1074" height="227" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4J33Iys0QSEEiejJoTHgslxcVzYOsx-C3OEZi-f_Hj1_nNZIfulUo1NSP-GbSOklj1naDF5b5jny2dYQAq1lZrGDHCjOf_s9cuadUmZg3gmMBJ5H2du3CCA_gJnpGKegdMnwgt99qChY/s320/initial+prediction+20170927.jpg" width="320" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjO4h4ao1JOlohvvFLgNyHvtasjLUb9U1su0i33IMgEyYy1yenhUVdk9c0cvmoi_tHRhIOamGDbe-mB7uMBRLVaoy4bQOkVP9TXdJxdR7CfSuYxcMzS-uer0W2LaBwwst7ACttmhcGeGF8/s1600/initial+prediction+20170927+hysplit.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="914" data-original-width="734" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjO4h4ao1JOlohvvFLgNyHvtasjLUb9U1su0i33IMgEyYy1yenhUVdk9c0cvmoi_tHRhIOamGDbe-mB7uMBRLVaoy4bQOkVP9TXdJxdR7CfSuYxcMzS-uer0W2LaBwwst7ACttmhcGeGF8/s200/initial+prediction+20170927+hysplit.gif" width="160" /></a></div>
<b>Power Scheme</b><br />
If
the voltage on the supercapacitor is higher than 2.5V, the tracker transmits APRS once per minute,
RTTY once per two minutes and SSDV at every top of the hour and on
every half hour. During the SSDV transmission, the tracker interrupts
the packet flow with an interleaved APRS and RTTY transmission after
every five SSDV packets (~once per minute). If the supercapacitor
voltage is below the 2.5V limit, the tracker transmits
only APRS packets once per two minutes and doesn't take images. If the voltage falls below the 2.5V during an SSDV transmission, the tracker first finishes transmitting the whole image before it transitions to the longer, APRS only cycle.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRMXRhEFCI1zlJbteNtxon75T1X4PpLIxFTEpNFcNrO-FiTNt8gP7JUS-jkcadyKskm-FVmkAWZIRL2yHGIYAZ26SfDnKm_9qobC2yldWF7GrioGVypa5LdziiXgY_78OJJTd_22p6Rnw/s1600/IMG_1095+original+solar+panel.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRMXRhEFCI1zlJbteNtxon75T1X4PpLIxFTEpNFcNrO-FiTNt8gP7JUS-jkcadyKskm-FVmkAWZIRL2yHGIYAZ26SfDnKm_9qobC2yldWF7GrioGVypa5LdziiXgY_78OJJTd_22p6Rnw/s200/IMG_1095+original+solar+panel.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8tumt8zTKBwM3p7TQ5IaT-BOY-p7XJZeOGwZT8WX_uOaZeV2ZaOWVC5ADAEX-7BL-_TYV5MdsFeRbEr0C9ECKoBz_Zidhg0C292quFLRZB-YqCtcsElCD7l1AOuNMVzBvjtrVqXAVZks/s1600/IMG_1104+repaired+solar+panel.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8tumt8zTKBwM3p7TQ5IaT-BOY-p7XJZeOGwZT8WX_uOaZeV2ZaOWVC5ADAEX-7BL-_TYV5MdsFeRbEr0C9ECKoBz_Zidhg0C292quFLRZB-YqCtcsElCD7l1AOuNMVzBvjtrVqXAVZks/s200/IMG_1104+repaired+solar+panel.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghCT00Zz6vofCewvpMxa0U8uPGF-5ofgtVr_qrrQzZsBYEq2fl9JsErM1ERGSEJe4P8kcsjLkh5w0XVUhpAbBGtJzpJ2droGVzx9fASplNPG84HvYqc500DeRH0JpmPvqOT1_N67ujNLY/s1600/IMG_1106+repaired+solar+panel.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghCT00Zz6vofCewvpMxa0U8uPGF-5ofgtVr_qrrQzZsBYEq2fl9JsErM1ERGSEJe4P8kcsjLkh5w0XVUhpAbBGtJzpJ2droGVzx9fASplNPG84HvYqc500DeRH0JpmPvqOT1_N67ujNLY/s200/IMG_1106+repaired+solar+panel.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhn-J3xG4uSYPSz2-5KMM0jj9hp3PoObv4-f3YGer97kY3UrQ2rT5mPqVhyphenhyphencpv3bh6NCWi1l3ZV9AstBYgD9gYA4PHWO70xDcZNIPlPlfy5V3ua8ggsWoEKc9W1IxHvXdahp1ZFct4FORI/s1600/IMG_1128+programming+board+cut+off.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhn-J3xG4uSYPSz2-5KMM0jj9hp3PoObv4-f3YGer97kY3UrQ2rT5mPqVhyphenhyphencpv3bh6NCWi1l3ZV9AstBYgD9gYA4PHWO70xDcZNIPlPlfy5V3ua8ggsWoEKc9W1IxHvXdahp1ZFct4FORI/s200/IMG_1128+programming+board+cut+off.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuDjlfotML9_8hizQCMvi9u7dnTpj5E7wDBGu_wwEBhGi0I3MpHI_jwMeTqbB2YYOF9FYGxyKkpAAUcD-YK5Ut5qoZZDhqGwtdbpPL86C_dqCYlYCEevuS1WlUNxk4cjP3LY7eeG0tyVg/s1600/IMG_1120+programming+board+cut+off.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuDjlfotML9_8hizQCMvi9u7dnTpj5E7wDBGu_wwEBhGi0I3MpHI_jwMeTqbB2YYOF9FYGxyKkpAAUcD-YK5Ut5qoZZDhqGwtdbpPL86C_dqCYlYCEevuS1WlUNxk4cjP3LY7eeG0tyVg/s200/IMG_1120+programming+board+cut+off.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJhQILSZWW7a6et7b0Cz7Bb20Z6ANhL19h9l77vrLharGkj2jTfDgxwckLYcMk8isLBG6ESFH3HvhOjDY7ULrYv5dIWCWE3UknpoAOASTPEMxnugAmSXV_vIIHZPHSJkszzxxkyqzDhpk/s1600/IMG_1124+programming+board+cut+off.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJhQILSZWW7a6et7b0Cz7Bb20Z6ANhL19h9l77vrLharGkj2jTfDgxwckLYcMk8isLBG6ESFH3HvhOjDY7ULrYv5dIWCWE3UknpoAOASTPEMxnugAmSXV_vIIHZPHSJkszzxxkyqzDhpk/s200/IMG_1124+programming+board+cut+off.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilxnFfXIKImIPne6yBGxweMnnR49crY6PkjXGUedfFcbw6KLD3VSsyDm8vdIgMyb00hgNfrsTttSWxi5Z-OEg-mSBMkWfSJFacn6IEChi4eGty13kncOMCJrZjNbURwHm-VYcxvOFtRa4/s1600/IMG_1118+programming+board+cut+off.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilxnFfXIKImIPne6yBGxweMnnR49crY6PkjXGUedfFcbw6KLD3VSsyDm8vdIgMyb00hgNfrsTttSWxi5Z-OEg-mSBMkWfSJFacn6IEChi4eGty13kncOMCJrZjNbURwHm-VYcxvOFtRa4/s200/IMG_1118+programming+board+cut+off.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9d1eXxjisrMmTrBMcxHAXG6WZLtYugUuqzbIyp2LQ5wPMN1_EyugulDzeZM43QYOxqP9oRVyLKvmgauCQ135XfIwAzb4JE_Is1scYRYcoTDGpX7AUxQq6dZVnFAvTYHZijDpMcGIIDKI/s1600/IMG_1138+ESD+foam.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9d1eXxjisrMmTrBMcxHAXG6WZLtYugUuqzbIyp2LQ5wPMN1_EyugulDzeZM43QYOxqP9oRVyLKvmgauCQ135XfIwAzb4JE_Is1scYRYcoTDGpX7AUxQq6dZVnFAvTYHZijDpMcGIIDKI/s200/IMG_1138+ESD+foam.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvDgmPA0j2GFsGGwY_4rrDQjbdWbbMoRmrUCnZZn3zfCJcQSzOgrXDEkgNPmoHKUw7yls7Z7KX4lFvjKpTCCDdi4Xn2k5sJ7prEEdFvzvwwT0hR9lVUvDSIOgXqFGU6dbKYLLhDq3JRYw/s1600/IMG_1140+ESD+foam.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvDgmPA0j2GFsGGwY_4rrDQjbdWbbMoRmrUCnZZn3zfCJcQSzOgrXDEkgNPmoHKUw7yls7Z7KX4lFvjKpTCCDdi4Xn2k5sJ7prEEdFvzvwwT0hR9lVUvDSIOgXqFGU6dbKYLLhDq3JRYw/s200/IMG_1140+ESD+foam.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvkBh6YOq6rwDu0_YZ7oeUqSZAKIKRkRe9amWyi5bqC-w5tab-4CAmK9zuHXUZXmbi7zzdtHbKiKE29kqYyJWbBpL78poQWNbqjWB-ArBFXF3Jc5zoBRuG_wGR7iQERfsjv5EdBaUy3O0/s1600/IMG_1143+taped+foam.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvkBh6YOq6rwDu0_YZ7oeUqSZAKIKRkRe9amWyi5bqC-w5tab-4CAmK9zuHXUZXmbi7zzdtHbKiKE29kqYyJWbBpL78poQWNbqjWB-ArBFXF3Jc5zoBRuG_wGR7iQERfsjv5EdBaUy3O0/s200/IMG_1143+taped+foam.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfm47MqK8Gjdq_KceyfSwluJSyeIdvvN3S09te_Y7vGnU2b7VGUFVyAJRXbfvOyKjlWdMBOD19tcKax6dU7i8fo0mdIHBrH8zcSRD5RK9RE270IvQTihn-LTHgEWo0-k0I7Kj2fh2GVAs/s1600/IMG_1145+taped+foam.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfm47MqK8Gjdq_KceyfSwluJSyeIdvvN3S09te_Y7vGnU2b7VGUFVyAJRXbfvOyKjlWdMBOD19tcKax6dU7i8fo0mdIHBrH8zcSRD5RK9RE270IvQTihn-LTHgEWo0-k0I7Kj2fh2GVAs/s200/IMG_1145+taped+foam.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgP5oqy2T7pTpbzXnJbGuEgJt_H3FwGFUGbTDkrXp0aIWre6LURNery8Vgs_rdTYet8s-96FiGLB73vB9NF1C3etqExDEuqUPSGjvD4CC9DiMtHjaayOxhRo3YfrV7AfmR3W32Kccn9RCY/s1600/IMG_1149+supercap1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgP5oqy2T7pTpbzXnJbGuEgJt_H3FwGFUGbTDkrXp0aIWre6LURNery8Vgs_rdTYet8s-96FiGLB73vB9NF1C3etqExDEuqUPSGjvD4CC9DiMtHjaayOxhRo3YfrV7AfmR3W32Kccn9RCY/s200/IMG_1149+supercap1.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizBduwFe7W_5agdte6_cdBIFKtqagzK8bC-53Ubh_cfKaxVfRNIEnF1YZ6DuYY341nN_vBzJRJ-sScm9u-kYE46MYjytIwRXJ1n0S6ZgzmcpcA0_MRB40O-FqrNa6gJCDJ5xEwXjKTThM/s1600/IMG_1155+supercap1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizBduwFe7W_5agdte6_cdBIFKtqagzK8bC-53Ubh_cfKaxVfRNIEnF1YZ6DuYY341nN_vBzJRJ-sScm9u-kYE46MYjytIwRXJ1n0S6ZgzmcpcA0_MRB40O-FqrNa6gJCDJ5xEwXjKTThM/s200/IMG_1155+supercap1.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEik8a-OmpZ0Yoaq8wjfXqTCRwXiBNJZNGrLByDQNBsUmvifGswwJ1hc-YbDcz7H7LKTbBtWghA6trO01cY-412iFp0FybyWNrsjKW-E59j5C2r8MgL5cmPPdshQVWriBxkr38feKYphMg4/s1600/IMG_1159+supercap2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEik8a-OmpZ0Yoaq8wjfXqTCRwXiBNJZNGrLByDQNBsUmvifGswwJ1hc-YbDcz7H7LKTbBtWghA6trO01cY-412iFp0FybyWNrsjKW-E59j5C2r8MgL5cmPPdshQVWriBxkr38feKYphMg4/s200/IMG_1159+supercap2.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdMKwJqTrRyp2a7XdDAXb2BS-JWUr4jxhZJ2f0Kqeh0siVrwimVWjPv968NxLUyMvZU27Xf9glqlUc6-RtvllEbB32XLuRAY7UMaxtmnIekh5Loph5fOfGwQqemdaqrpUNzpSFxmtZR5A/s1600/IMG_1160+supercap2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdMKwJqTrRyp2a7XdDAXb2BS-JWUr4jxhZJ2f0Kqeh0siVrwimVWjPv968NxLUyMvZU27Xf9glqlUc6-RtvllEbB32XLuRAY7UMaxtmnIekh5Loph5fOfGwQqemdaqrpUNzpSFxmtZR5A/s200/IMG_1160+supercap2.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLNTmGjIP2TvyndzdbUTdssNG6Zm4fzCHX9ouV7v_sDNipLeifMZ8CUzcMSKAqFcUWfphedtdXIgPoqrcnbzybawfv4H0yM8wOovyfMmoqiS_66iHyPWQt61Ud914_ffJJV93AxOAxK00/s1600/IMG_1157+supercap2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLNTmGjIP2TvyndzdbUTdssNG6Zm4fzCHX9ouV7v_sDNipLeifMZ8CUzcMSKAqFcUWfphedtdXIgPoqrcnbzybawfv4H0yM8wOovyfMmoqiS_66iHyPWQt61Ud914_ffJJV93AxOAxK00/s200/IMG_1157+supercap2.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrg_Hz89XcLdArNSwxdKKijtE392W8INs7LCmH5_bHNto88u5cmiZ2DE0ih1VenV5GtvdeX6VmgLqWmDAi3eY3gwxs1dPOXZsUzuIwH4z1rWZOSK-v4jDXq27C_yr4BqPJe7pb_3UdzwM/s1600/IMG_1276+TT7F5+mass.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrg_Hz89XcLdArNSwxdKKijtE392W8INs7LCmH5_bHNto88u5cmiZ2DE0ih1VenV5GtvdeX6VmgLqWmDAi3eY3gwxs1dPOXZsUzuIwH4z1rWZOSK-v4jDXq27C_yr4BqPJe7pb_3UdzwM/s200/IMG_1276+TT7F5+mass.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCM9uQBxXvtiRQLzQEx2ECX_qbbeC8feK2ho2dpaBeXdTiNk-IvaVdAqJkdtmS88KtvtJNXURHLCkDGJ3nQvflSU0u1ksoQSpYpn3ajskh77Xk-3H69rINT4ERZLGwUdYo_wYqjuR3-l8/s1600/IMG_1171+TT7F5+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCM9uQBxXvtiRQLzQEx2ECX_qbbeC8feK2ho2dpaBeXdTiNk-IvaVdAqJkdtmS88KtvtJNXURHLCkDGJ3nQvflSU0u1ksoQSpYpn3ajskh77Xk-3H69rINT4ERZLGwUdYo_wYqjuR3-l8/s200/IMG_1171+TT7F5+tracker.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB_KV_YX2LF60g54IzXsPmkZCvXo1i9ay8qzwoKs3LvvPPW3YER8gZWFMLa9hGn1K8gSOSrbBamJpQg8Lmaer92AMCfgwbMu4MCv-SbgoCnUhCLZ3675FIHOI7bYHmHs77u1eplwcvCgk/s1600/IMG_1183+TT7F5+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB_KV_YX2LF60g54IzXsPmkZCvXo1i9ay8qzwoKs3LvvPPW3YER8gZWFMLa9hGn1K8gSOSrbBamJpQg8Lmaer92AMCfgwbMu4MCv-SbgoCnUhCLZ3675FIHOI7bYHmHs77u1eplwcvCgk/s200/IMG_1183+TT7F5+tracker.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx4qsLM8IhkoIOIz-wznnreZbvWB5vcQXwQp4O3X9UwG1esCFOg6Z6sJh7uDKhxq4xmqdFW_RiwG5ydAEqutHzyD_iHR1PvI0yufGghb-eclb6DMyg5mSyXciQRBWvgHGHTVFPae-QKLk/s1600/IMG_1194+TT7F5+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx4qsLM8IhkoIOIz-wznnreZbvWB5vcQXwQp4O3X9UwG1esCFOg6Z6sJh7uDKhxq4xmqdFW_RiwG5ydAEqutHzyD_iHR1PvI0yufGghb-eclb6DMyg5mSyXciQRBWvgHGHTVFPae-QKLk/s200/IMG_1194+TT7F5+tracker.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjF2wxwOUzSf0FCQvYAbx2-Wsupowu0kSAVH8oBkWEuEj15uhldXWI9F2o5vQ8Td4zrBuew5NGV7k52ha5gLzL4UV_469dR1CQy_fq5807sW6ADxP2TQPOUM_kWVU15FQEgC4FlpcwW8Gg/s1600/IMG_1197+TT7F5+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjF2wxwOUzSf0FCQvYAbx2-Wsupowu0kSAVH8oBkWEuEj15uhldXWI9F2o5vQ8Td4zrBuew5NGV7k52ha5gLzL4UV_469dR1CQy_fq5807sW6ADxP2TQPOUM_kWVU15FQEgC4FlpcwW8Gg/s200/IMG_1197+TT7F5+tracker.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMxJq_R0HJw8RUe71lgMsP_YwUh6IuvXr7866Aom-Pd0Avtzwg3ObUg_UTlngJdHnbFGIn9KLI8mjbF9tLTmSv0dSMlmQc8L0F-32DMijVzgdX2mL7HJuwxpKvGEttFc7Rp9ehVyisD3Y/s1600/IMG_1207+TT7F5+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMxJq_R0HJw8RUe71lgMsP_YwUh6IuvXr7866Aom-Pd0Avtzwg3ObUg_UTlngJdHnbFGIn9KLI8mjbF9tLTmSv0dSMlmQc8L0F-32DMijVzgdX2mL7HJuwxpKvGEttFc7Rp9ehVyisD3Y/s200/IMG_1207+TT7F5+tracker.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjw5Jdy5FG3vW0-Mp-f4_EbaGdfwEqhvx4xPEzMTzVWbgyizBLmL_j9YgyQ6qZuv5bWZbmYN-eQQZp3LQXE1UU7c6Qj3geR03zOJChSodYGlcf-bNxBUV_r-6af-JW-s0hmX-WDihau3-8/s1600/IMG_1212+TT7F5+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjw5Jdy5FG3vW0-Mp-f4_EbaGdfwEqhvx4xPEzMTzVWbgyizBLmL_j9YgyQ6qZuv5bWZbmYN-eQQZp3LQXE1UU7c6Qj3geR03zOJChSodYGlcf-bNxBUV_r-6af-JW-s0hmX-WDihau3-8/s200/IMG_1212+TT7F5+tracker.JPG" width="200" /></a></div>
<b>Tracker</b><br />
I had to repair the first solar panel that consisted of six 52x39mm solar cells in series at 0° angle to ground, because it output only about 15% of expected power when tested. I found out that it was caused by three cells that significantly underperformed. Working with solar cells was one of the more frustrating parts of the project. Eventually, I arrived at the following method: First, I measure all the cells to be used with a multimeter to ensure they output expected amount of current when illuminated. I then tap a small spot (on the white stripes) I want to solder to with a flux pen. For soldering, I use a hoof tip with the iron set to about 250°C. I load the flat surface of the tip with solder and apply it for a few seconds to the end of the wire laid on the cell. During that, I try to smear it a little to ensure the tip heats both the wire and the cell. After that I tape over the joints on the bottom of the cell with Kapton tape and at least fix the wires that are soldered to the top of the cell in place. When putting the whole panel together I try taping everything in place so it eases off any bending or pulling on the solder joints. I stopped doing the surface scratching I had mentioned in previous blogs, because with this approach it turned out to be unnecessary. Also since I hadn't measured the cells before scratching, I can't be sure it wasn't the cause of the failure in some of the cases. Six solar cells in series required higher value MPPC resistor for LTC3105. Ideally, I would have used 270k<span class="st">Ω, but I didn't have any at the time, so I used 220k</span><span class="st">Ω instead. The LTC3105's output was set to 2.7V</span> for two parallelly connected 40F supercapacitors. The layout had to be a little unorthodox to keep the pair from entering the image and off the antenna. Speaking of which, a 2-meter dipole was chosen again (492mm
for each of the elements). Improvement is expected in image quality, because TT7F5 uses the original camera that doesn't exhibit the annoying colour shenanigans. I should also mention that all the boards saw a slight decrease in consumption after the programming piece of board was cut off. This, as anticipated, had to do with the LDO no longer leaking current when its Vin was less than its Vout.<br />
<b>Mass:</b> 35.4g <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEii0iwCtUX_zpLLIqyw7CH8ucKuifTT7Kx7Li4IvqpJoSTLTHREPu93MNLuHoJT_nXbQrBRoesLSwej1U-H-Tc_Um8CBpsiq5oyVVjjEXpVFPd4ZLk9LH-UDWnJfjzidSrjUgYOxOwO9MM/s1600/chart-final+setup.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="613" data-original-width="974" height="125" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEii0iwCtUX_zpLLIqyw7CH8ucKuifTT7Kx7Li4IvqpJoSTLTHREPu93MNLuHoJT_nXbQrBRoesLSwej1U-H-Tc_Um8CBpsiq5oyVVjjEXpVFPd4ZLk9LH-UDWnJfjzidSrjUgYOxOwO9MM/s200/chart-final+setup.png" width="200" /></a></div>
<b>Software</b><br />
The main function running the tracker can be found in <a href="https://github.com/TomasTT7/TT7F-Float-Tracker/blob/master/Software/ARM_TT7F5.c">ARM_TT7F5.c</a> on GitHub. The code is basically identical to TT7F2's. There are only hardware specific modifications such as different PLL settings since F5 has 16MHz crystal oscillator while F2 had just 12MHz one. An illustration of the tracker's operation as recorded in APRS packets can be seen in the chart above. The poorly insolated periods are the result of the tracker being placed indoors waiting for thunderstorms to blow over.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEbHwvjOzeZPmiRBqRzSCaTtqxo-BN42uasS704HkVRyigDePtat7NeGv9A7-DAjk6NW0iq0XUaaRQvFWmgOtoadGFadT9i7q5WJD5f03Yi6Xzb_UrgpZ1N5mmcfoAo0aMUMkkH8WH9yY/s1600/IMG_1802+tube+balloon+333x133.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEbHwvjOzeZPmiRBqRzSCaTtqxo-BN42uasS704HkVRyigDePtat7NeGv9A7-DAjk6NW0iq0XUaaRQvFWmgOtoadGFadT9i7q5WJD5f03Yi6Xzb_UrgpZ1N5mmcfoAo0aMUMkkH8WH9yY/s200/IMG_1802+tube+balloon+333x133.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjM8Ztm_Snh8TRVoqMGpUE5R3CWlgQw08KwdTQrMYmL1m92yDmFIursfxKzdE0lll3XYvVTH1EDB4buhLFRpUNLXwgbtBspCTdDwX3wOXknLHDgaKf3JR4VggzPDUQTIaQy3rauo4BIbrI/s1600/IMG_1809+stretching+weak+spot.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjM8Ztm_Snh8TRVoqMGpUE5R3CWlgQw08KwdTQrMYmL1m92yDmFIursfxKzdE0lll3XYvVTH1EDB4buhLFRpUNLXwgbtBspCTdDwX3wOXknLHDgaKf3JR4VggzPDUQTIaQy3rauo4BIbrI/s200/IMG_1809+stretching+weak+spot.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjW9lVQ30BTIiE2yjW7GORlLNcb1zmjDydqYf0hWZxdvutkPRosyuOwOQLI0RYHX3Aej7F521ag6dx5MxgqOY88pKsCyxwLOFXwff1_FRztpjfv5_Jj_WUhkrw3tq0YXtVABwKOm__nJZw/s1600/IMG_1803+tube+balloon+333x133.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjW9lVQ30BTIiE2yjW7GORlLNcb1zmjDydqYf0hWZxdvutkPRosyuOwOQLI0RYHX3Aej7F521ag6dx5MxgqOY88pKsCyxwLOFXwff1_FRztpjfv5_Jj_WUhkrw3tq0YXtVABwKOm__nJZw/s200/IMG_1803+tube+balloon+333x133.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAusVpqm3fr0GttlUTBzHaEiw5bXoTGLj6F_ADBIZw5S1C6fMfmnkXBwBAVPGA3KKJUaBAUpNVLyHsp8-l44Y9sq6shLng9PQRj8tEhJQLzr224cAn4e8SXWZ1b4Ds_iIy8fJFggfcm8w/s1600/IMG_1813+tube+balloon+333x133.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAusVpqm3fr0GttlUTBzHaEiw5bXoTGLj6F_ADBIZw5S1C6fMfmnkXBwBAVPGA3KKJUaBAUpNVLyHsp8-l44Y9sq6shLng9PQRj8tEhJQLzr224cAn4e8SXWZ1b4Ds_iIy8fJFggfcm8w/s200/IMG_1813+tube+balloon+333x133.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnmYYGEtWv0iP3H-ZQcPhVQrfAyI9XEu2jw5fxgWNzt5iFeI8BbIHM5JIVFv3DtdJI0xZRuPzbEu0gU7wx04TdRE57JyC9vFDDTqlNZNAHebt3W-iU1sE00xrtqMWsGLtKgPowxz3g9pA/s1600/IMG_1818+tube+balloon+after+stretching.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnmYYGEtWv0iP3H-ZQcPhVQrfAyI9XEu2jw5fxgWNzt5iFeI8BbIHM5JIVFv3DtdJI0xZRuPzbEu0gU7wx04TdRE57JyC9vFDDTqlNZNAHebt3W-iU1sE00xrtqMWsGLtKgPowxz3g9pA/s200/IMG_1818+tube+balloon+after+stretching.JPG" width="150" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNhzP3lq6AzfZRpc8KxsdKG-4ehg6vR_VgyTI1GXmHdQiBO-qrTvTpWenE62qxdGEcc3tmyn1nzrQtKQa7lejsg1HuoSCGJWZLhgMlkc_pZ2epPXJ4RfJgb0VJuUeF6v_q8WSGd8BDhOY/s1600/Superpressure+balloon+stretching+profile+%2528T2x133_n1%2529.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="492" data-original-width="930" height="105" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNhzP3lq6AzfZRpc8KxsdKG-4ehg6vR_VgyTI1GXmHdQiBO-qrTvTpWenE62qxdGEcc3tmyn1nzrQtKQa7lejsg1HuoSCGJWZLhgMlkc_pZ2epPXJ4RfJgb0VJuUeF6v_q8WSGd8BDhOY/s200/Superpressure+balloon+stretching+profile+%2528T2x133_n1%2529.png" width="200" /></a></div>
<b>Balloon</b><br />
After looking at the performance of the previous four balloons and comparing the Gamma estimates to values derived from the actual float altitudes, it was apparent the estimates were way off. I also had reoccurring problems properly sealing the bigger 1.84m balloons, so eventually I decided to try something new. The balloon was made from the same 50 micron PE/PA/EVOH/PA/PE material, but this time to a shape of a tube/cylinder when inflated. The flat form is 3.35m in length and 1.35m in width. The stretching rate along the cylindrical circumference rapidly increased at around 1.3-1.4kPa some 12 hours into the process after which I turned the pump off and just logged the data for further 10 hours. The other reason to stop pressurizing was an occurrence of small defects in the film that historically led to envelope failures when stretched further. I am not certain about the origin of these. Could be a consequence of inept transportation, my careless handling, or an inherent deficiency of the material. Either way, it meant stopping at estimated 1.35 Gamma. The approximated original volume was 1.484m<sup>3</sup>, now expanded to 2m<sup>3</sup> level. Some time spent modelling in my Jupyter <a href="https://github.com/TomasTT7/SuperpressureBalloonsNotebook/blob/master/Superpressure_Balloons.ipynb">notebook</a> led me to try for slower ascent rate minimizing the amount of hydrogen inside the envelope. The following estimates will hopefully be a better match than the previous bunch.<br />
<b>Expected Float Altitude:</b> 13400m<br />
<b>Expected Ascent Rate:</b> 0.75m/s<br />
<b>Expected Superpressure:</b> 1584Pa (at 17°C supertemperature)<br />
<b>Gas:</b> Hydrogen<br />
<b>Free Lift:</b> 11g<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiO8DYd2nv0CXDQrwQFMf33iQjZ-ouiCjr8NT17EVolbl6vchKsh940TTf8sdYvIFdn1B622iy6q1DlVU4KGEj0i6At5hA0H4Z5xIKFnE77GECskJHz2wSr6ycJ7HOzPQ-dMDGP0DczGqY/s1600/IMG_1868+measuring+lift.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiO8DYd2nv0CXDQrwQFMf33iQjZ-ouiCjr8NT17EVolbl6vchKsh940TTf8sdYvIFdn1B622iy6q1DlVU4KGEj0i6At5hA0H4Z5xIKFnE77GECskJHz2wSr6ycJ7HOzPQ-dMDGP0DczGqY/s200/IMG_1868+measuring+lift.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHHvHroBH3KpxFMjdaW09OopnxQPp8JKfuljy6K1S_U8dPfcFto9AW3AtTSMK8onFvCRKKkfncnLU-2ldfC-og46MaivFKFKroqdURGhGCmo9nxKE5IvT3wic5EczVkyKgqCcKIy9dwF8/s1600/IMG_1869+measuring+lift.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHHvHroBH3KpxFMjdaW09OopnxQPp8JKfuljy6K1S_U8dPfcFto9AW3AtTSMK8onFvCRKKkfncnLU-2ldfC-og46MaivFKFKroqdURGhGCmo9nxKE5IvT3wic5EczVkyKgqCcKIy9dwF8/s200/IMG_1869+measuring+lift.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCkK-N5K9e32swIxrItas1Bj5As4kTKfnKzRt2CGzNgflzPWWfyMjXFWQFtQoin_CcsKqyY_JgXf3vxK4oTcaXNLFd44qXzrv9MonvF4hk1OYTF9Q_S0KERxhFQTviQ9oHyQHXddZopbc/s1600/IMG_1872+inflated+balloon.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCkK-N5K9e32swIxrItas1Bj5As4kTKfnKzRt2CGzNgflzPWWfyMjXFWQFtQoin_CcsKqyY_JgXf3vxK4oTcaXNLFd44qXzrv9MonvF4hk1OYTF9Q_S0KERxhFQTviQ9oHyQHXddZopbc/s200/IMG_1872+inflated+balloon.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxocMjS8ic6M8NyI6Te95t4N8dM08Dbpo3r2Ots94FGAciXw0iFTaE3t_-W-gdvSfOu-hiFp_7m8qLD1EsZwxUudbiKMcxVZ1FtqqRjdytqqQZ7UUU0aUkPK7hOPUGdSal3VarhW7nor8/s1600/IMG_1875+improvized+antenna+mast.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxocMjS8ic6M8NyI6Te95t4N8dM08Dbpo3r2Ots94FGAciXw0iFTaE3t_-W-gdvSfOu-hiFp_7m8qLD1EsZwxUudbiKMcxVZ1FtqqRjdytqqQZ7UUU0aUkPK7hOPUGdSal3VarhW7nor8/s200/IMG_1875+improvized+antenna+mast.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNRCbHzbr8Xw0fE5IKtM-ULZT9FCJct4-pD08O0HoXqeeJV-uuezb1KrKx7ZwxlnlfhAdlaeQ5oxgWlqCjFLFAIpsZaCTY8foQgBH8k_opd8TPssLUBkeMkxysh56zijX76K5lX1mJK58/s1600/IMG_1878+TT7F5+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNRCbHzbr8Xw0fE5IKtM-ULZT9FCJct4-pD08O0HoXqeeJV-uuezb1KrKx7ZwxlnlfhAdlaeQ5oxgWlqCjFLFAIpsZaCTY8foQgBH8k_opd8TPssLUBkeMkxysh56zijX76K5lX1mJK58/s200/IMG_1878+TT7F5+tracker.JPG" width="150" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSCdUUJ_40aDCB-EB5B1S5hyphenhyphendesbwq9YXXECQphriINF3tAKVB2bwEkRudma7ATFoJPhimaXci5L5Q69kdv0FQz6vQLao_rtJLRtueWZFKMLCYs-fV4KjPCiEXLbxGUvhhZMPQ6sLbnY4/s1600/IMG_1877+TT7F5+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSCdUUJ_40aDCB-EB5B1S5hyphenhyphendesbwq9YXXECQphriINF3tAKVB2bwEkRudma7ATFoJPhimaXci5L5Q69kdv0FQz6vQLao_rtJLRtueWZFKMLCYs-fV4KjPCiEXLbxGUvhhZMPQ6sLbnY4/s200/IMG_1877+TT7F5+tracker.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqhoqI0475fKGS96hHNIDOtjBQP_oDWhM-11zuRSR0cqOOHLKyGcwM19lHvxML3ndF_fq0f09vmyFi8gU4TtO55HxGJ4juuWUpx6SCtUhztjDG29c40kvC8vjV1BQ22PaJgCCktW-hH04/s1600/IMG_1882+TT7F5+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqhoqI0475fKGS96hHNIDOtjBQP_oDWhM-11zuRSR0cqOOHLKyGcwM19lHvxML3ndF_fq0f09vmyFi8gU4TtO55HxGJ4juuWUpx6SCtUhztjDG29c40kvC8vjV1BQ22PaJgCCktW-hH04/s200/IMG_1882+TT7F5+tracker.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTrgbvYgkXkAfvpU8K-l1wUvRK5Uq9w5-GZ8ukSabUcgo1hMvR9eD1Ht-ba5hCaFJfDrYWd7WpN6iHrf0uBiN4oHU2Uip4z85hBmtaLhAPz7mLBGk5Z4sbWCqeWJyHHsFQL7CbtiDGQdM/s1600/IMG_1881+333x133+tube+balloon.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTrgbvYgkXkAfvpU8K-l1wUvRK5Uq9w5-GZ8ukSabUcgo1hMvR9eD1Ht-ba5hCaFJfDrYWd7WpN6iHrf0uBiN4oHU2Uip4z85hBmtaLhAPz7mLBGk5Z4sbWCqeWJyHHsFQL7CbtiDGQdM/s200/IMG_1881+333x133+tube+balloon.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAgklTkYcbKKF8PwCPMK6bWAlAyLBo5YmrPBBO78xXGxcbd6wIrUgSUIR34dm8-7MFFOQRZBQtzAS4h0psyUU67HyOqJdl6DkrL5K5CH0O78-HtsT00spcTol62RY0ADUVsSDXSifmc_k/s1600/IMG_1880+333x133+tube+balloon.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAgklTkYcbKKF8PwCPMK6bWAlAyLBo5YmrPBBO78xXGxcbd6wIrUgSUIR34dm8-7MFFOQRZBQtzAS4h0psyUU67HyOqJdl6DkrL5K5CH0O78-HtsT00spcTol62RY0ADUVsSDXSifmc_k/s200/IMG_1880+333x133+tube+balloon.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQlPPh-zQ3myLyLik_rCVKNBxEVpJHQExyUYHMhSXh-m6vphihgmeijU7X47U7Eh0dtCAMEWNsibsVQZ14yMaI5LsmXI0m8jNpm_cguX5f4BpVOz5xs2ZSJ5ApnZR4opkISKPTYamYjqk/s1600/IMG_1887+launch.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQlPPh-zQ3myLyLik_rCVKNBxEVpJHQExyUYHMhSXh-m6vphihgmeijU7X47U7Eh0dtCAMEWNsibsVQZ14yMaI5LsmXI0m8jNpm_cguX5f4BpVOz5xs2ZSJ5ApnZR4opkISKPTYamYjqk/s200/IMG_1887+launch.JPG" width="150" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiGleXKDqSId99UqYuL_Dqv6zqmh49ZpkZWuWjqLGHjcE1bk6zVlrcqH4eOcHd60bjc2zOgCOPnTqJaes4ppME9PHLem5Kx_DWdRP4VTxueDKiy3EXlVuoCXcRNLfkfpTaynP7K8TybHA/s1600/IMG_1888+launched.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiGleXKDqSId99UqYuL_Dqv6zqmh49ZpkZWuWjqLGHjcE1bk6zVlrcqH4eOcHd60bjc2zOgCOPnTqJaes4ppME9PHLem5Kx_DWdRP4VTxueDKiy3EXlVuoCXcRNLfkfpTaynP7K8TybHA/s200/IMG_1888+launched.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTqEe8WFXJlhSjAmU9heVJWsCQCP9TULccFkcUIWt2kV9XHCJrzY27Q6P6qYhV5qid9yNiXfgrAQ69_UF3cGWwTM8xXxKIMO2mVMVN1UtXbMWy0mVLOpVj__N9foQL8BSUlxv9UZj3Gvg/s1600/IMG_1889+launched.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTqEe8WFXJlhSjAmU9heVJWsCQCP9TULccFkcUIWt2kV9XHCJrzY27Q6P6qYhV5qid9yNiXfgrAQ69_UF3cGWwTM8xXxKIMO2mVMVN1UtXbMWy0mVLOpVj__N9foQL8BSUlxv9UZj3Gvg/s200/IMG_1889+launched.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhESztqtmCe79QzpaUJ3Wsv97X6Lgf-YWtFxQwyV70NzKxc207yHFbf4uHHzVdW-FZoaha6qU3BsywlzD6DIUqLUT2vSI5C5qjakvheoOs8uW2oFvO-FjQcbCyRTgqFjpkAovfBBRigDUk/s1600/IMG_1890+launched.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhESztqtmCe79QzpaUJ3Wsv97X6Lgf-YWtFxQwyV70NzKxc207yHFbf4uHHzVdW-FZoaha6qU3BsywlzD6DIUqLUT2vSI5C5qjakvheoOs8uW2oFvO-FjQcbCyRTgqFjpkAovfBBRigDUk/s200/IMG_1890+launched.JPG" width="150" /></a></div>
<b>Launch</b><br />
This launch was preceded by several weeks of poor weather and unsteady predictions. Even the actual launch time was predicted to be clear skied just hours prior to it. I managed to fill the balloon to the desired free lift almost spot on (104.14g weight - 35.4g payload - 11g free lift = 57.74g). Though due to its length it had to be folded a little to fit inside the garage. Once again I set up an improvised mast for a simple 434MHz ground plane antenna with an <a href="https://tt7hab.blogspot.cz/2017/07/the-low-noise-amplifier.html">LNA</a>. All that leading to an RTL-SDR v3 via 5m of coaxial cable. The balloon went straight up without menacing any of the many trees around. The main issue came right after it peaked above the cloud layer as first confirmed by soaring solar panel voltage and later by the SSDV images. The conditions right above the clouds deprived the balloon of the little free lift it had and locked it in a horizontal flight at around 2800m in altitude for the following two hours or so. Eventually, it found its way to the edge of the continuous cloud cover and started ascending again. At 12.2km it settled to float for the rest of the day. Thanks to receivers in Slovakia (<span class="receivers">OM1ATS, </span><span class="receivers">OM5KV-1</span>) and Poland (<span class="receivers">SQ9CWT</span>) a number of complete SSDV images was collected throughout the first day.<br />
<br />
<b>Data</b><br />
<a href="https://drive.google.com/open?id=0B8Fb45Vo8uIsWVVpTG05cThPeU0">APRSfi_TT7F5.txt</a> - collected raw packets.<br />
Python <a href="https://github.com/TomasTT7/TT7F-Float-Tracker/blob/master/Accessories/APRSFIparser_TT7F5.py">parser</a> of APRS.fi raw packet format.<br />
Received SSDV images:<br />
Day 1 <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqJPxq1p-JmUA8_EOJ6pnek4d6jR54LENifxuSKAHRrPfM297ofO1tHsiJlgu6oxRJigfADvBumCnM1RlXAaXdJpwR-Vukt8gBWkPsirLquXJddfIUSNJgzO85bqblv-jt8dsW9tTDh50/s1600/2017-09-29--07-31-34-TT7F5-1AB07.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="240" data-original-width="320" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqJPxq1p-JmUA8_EOJ6pnek4d6jR54LENifxuSKAHRrPfM297ofO1tHsiJlgu6oxRJigfADvBumCnM1RlXAaXdJpwR-Vukt8gBWkPsirLquXJddfIUSNJgzO85bqblv-jt8dsW9tTDh50/s200/2017-09-29--07-31-34-TT7F5-1AB07.jpeg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLdlhwTAs2nAtDu7KJ5gZRvMOD1Ep2R5I6YZWFvcAypwd5lWp_aZ__on9SRLSWAFkU4fBN9fwS3uKObi-SSkfN8HnXcBqS3KA-ILnC8mx_TP_gjfv3Ybw5W_lP66DyF95lfEZdQq6Pm_8/s1600/2017-09-29--08-01-24-TT7F5-1AB08.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="240" data-original-width="320" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLdlhwTAs2nAtDu7KJ5gZRvMOD1Ep2R5I6YZWFvcAypwd5lWp_aZ__on9SRLSWAFkU4fBN9fwS3uKObi-SSkfN8HnXcBqS3KA-ILnC8mx_TP_gjfv3Ybw5W_lP66DyF95lfEZdQq6Pm_8/s200/2017-09-29--08-01-24-TT7F5-1AB08.jpeg" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwrieCFMGjW-oHhXLtoW0OMqBbwERoMrL4uXgM2Ti0nOFu4bPFQmYVRybAFNA1cOEFeufAPA7dStnoBoOnPe8GWzPVq5GO70k-LUveKZxKsRDunE-ij0ai92XthnLXvc-NY6vFk9gMp5s/s1600/2017-09-29--08-31-00-TT7F5-1AB09.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="240" data-original-width="320" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwrieCFMGjW-oHhXLtoW0OMqBbwERoMrL4uXgM2Ti0nOFu4bPFQmYVRybAFNA1cOEFeufAPA7dStnoBoOnPe8GWzPVq5GO70k-LUveKZxKsRDunE-ij0ai92XthnLXvc-NY6vFk9gMp5s/s200/2017-09-29--08-31-00-TT7F5-1AB09.jpeg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgC5uu12C_TtMB0EXbCml7P9HCPOueKJdPY8IL8T5uQ4mpfIaAFmv4-__iO1-8Iy3oL5WH60piZbdlCbYSBZ5gd-vPrTS5vVDaYTd_W9J9Qw-dFDwhuiG2sG6BdK0Rx-nGnPtCbxopDL8k/s1600/2017-09-29--09-01-29-TT7F5-1AB0A.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="240" data-original-width="320" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgC5uu12C_TtMB0EXbCml7P9HCPOueKJdPY8IL8T5uQ4mpfIaAFmv4-__iO1-8Iy3oL5WH60piZbdlCbYSBZ5gd-vPrTS5vVDaYTd_W9J9Qw-dFDwhuiG2sG6BdK0Rx-nGnPtCbxopDL8k/s200/2017-09-29--09-01-29-TT7F5-1AB0A.jpeg" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEim0hC4cT67BkBBGZAk2nlgcgj2RCGvVf6dG92IWJCJZHoYrn2I20h8bHKwYaa3O8SAAzuCoSmQuGr0Y8RZSy3PDrBxK6730Sjs6CAdW2559Ws2-I0eQvXu5gjmj4sBfjNj_3sMP-pQPZA/s1600/2017-09-29--09-30-58-TT7F5-1AB0B.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="240" data-original-width="320" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEim0hC4cT67BkBBGZAk2nlgcgj2RCGvVf6dG92IWJCJZHoYrn2I20h8bHKwYaa3O8SAAzuCoSmQuGr0Y8RZSy3PDrBxK6730Sjs6CAdW2559Ws2-I0eQvXu5gjmj4sBfjNj_3sMP-pQPZA/s200/2017-09-29--09-30-58-TT7F5-1AB0B.jpeg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEir0pgE0IQDUDSzsdACprpf3KxkP5tAJpu7yCZ6AF-JsYGBJ8HrOzllKkI6zhgcbb5niR5zs3zE4cm5rnhV-ajHn0ZTLBDL7oeVZC7t-4yAqteggKkEC-cpySi3rHbnLmLxt2d549uIcV8/s1600/2017-09-29--10-00-47-TT7F5-1AB0C.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="240" data-original-width="320" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEir0pgE0IQDUDSzsdACprpf3KxkP5tAJpu7yCZ6AF-JsYGBJ8HrOzllKkI6zhgcbb5niR5zs3zE4cm5rnhV-ajHn0ZTLBDL7oeVZC7t-4yAqteggKkEC-cpySi3rHbnLmLxt2d549uIcV8/s200/2017-09-29--10-00-47-TT7F5-1AB0C.jpeg" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIvMv2bCUQtky01-5R8M3-nk8xSzX1oF7n0qMtU0Ohv2WQ5bFczeqyxmeXwCeKTm6EDv5Fjwrs-ZLRh54EqJKxglHSoNmlio_4Rd06BOZvloQ7WWYvV-grPy5W66oiDuOEfAfCfOFglK4/s1600/2017-09-29--10-31-26-TT7F5-1AB0D.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="240" data-original-width="320" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIvMv2bCUQtky01-5R8M3-nk8xSzX1oF7n0qMtU0Ohv2WQ5bFczeqyxmeXwCeKTm6EDv5Fjwrs-ZLRh54EqJKxglHSoNmlio_4Rd06BOZvloQ7WWYvV-grPy5W66oiDuOEfAfCfOFglK4/s200/2017-09-29--10-31-26-TT7F5-1AB0D.jpeg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoG83SRkS7CyYQUAHLhGsreUgMVglTMpK38unu7jN90mY2WABdnPLC0eyd0oQSQBX1t02n-Slf4_618s2s4kHqh3DRX_vFtdArltuebLfs0xKxKyy87XYsmtPqYsTBSEA7kaAaYhQqXV8/s1600/2017-09-29--11-01-27-TT7F5-1AB0E.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="240" data-original-width="320" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoG83SRkS7CyYQUAHLhGsreUgMVglTMpK38unu7jN90mY2WABdnPLC0eyd0oQSQBX1t02n-Slf4_618s2s4kHqh3DRX_vFtdArltuebLfs0xKxKyy87XYsmtPqYsTBSEA7kaAaYhQqXV8/s200/2017-09-29--11-01-27-TT7F5-1AB0E.jpeg" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4cnS94-D5lqkiERNWKWGBjjbAOqe0sm5c2IwPIbcJyvtm2a3-W_2yfTCjVpzT4hZmvlOymH2f9MPgcwXLUArHQENSAs7YeTsm_SsZHSUukT4psATkYDmBj-1GhI2is7Dpst3MRtjM2jA/s1600/2017-09-29--11-30-39-TT7F5-1AB0F.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="240" data-original-width="320" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4cnS94-D5lqkiERNWKWGBjjbAOqe0sm5c2IwPIbcJyvtm2a3-W_2yfTCjVpzT4hZmvlOymH2f9MPgcwXLUArHQENSAs7YeTsm_SsZHSUukT4psATkYDmBj-1GhI2is7Dpst3MRtjM2jA/s200/2017-09-29--11-30-39-TT7F5-1AB0F.jpeg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEH1UvuKPoGMHRtLjsVhztXGYX2VhH0zO4jSLlxkpha-GV7N9d3jrHcGeSvA0tKIVh5ZMfpdd3z3W_aTjOX8e6vz6JWmHL_PSZiWoD6SqBgfvv9ntpOOOQp3x5ymNId2A9NmqGbhAp0mc/s1600/2017-09-29--12-01-58-TT7F5-1AB10.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="240" data-original-width="320" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEH1UvuKPoGMHRtLjsVhztXGYX2VhH0zO4jSLlxkpha-GV7N9d3jrHcGeSvA0tKIVh5ZMfpdd3z3W_aTjOX8e6vz6JWmHL_PSZiWoD6SqBgfvv9ntpOOOQp3x5ymNId2A9NmqGbhAp0mc/s200/2017-09-29--12-01-58-TT7F5-1AB10.jpeg" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgq0bsVruO-13GvYhFcfM8GyC-kubd2B_DjPjiOJiAZ0bL4B2vOWRU52wB4BrsMGUx5oXiQYoYBOQKka-IvvCnNp80ObRNkkomf0P9rzpFRZRoUwR0T9UfL19O94FhZB25eACLMnTP5Vr8/s1600/2017-09-29--12-31-07-TT7F5-1AB11.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="240" data-original-width="320" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgq0bsVruO-13GvYhFcfM8GyC-kubd2B_DjPjiOJiAZ0bL4B2vOWRU52wB4BrsMGUx5oXiQYoYBOQKka-IvvCnNp80ObRNkkomf0P9rzpFRZRoUwR0T9UfL19O94FhZB25eACLMnTP5Vr8/s200/2017-09-29--12-31-07-TT7F5-1AB11.jpeg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsZsMGg2IAuVnzn5cP4BRC0fr81dID8onq5UKwIVQ0C8f88GfSv1LrAmjbemqvJERVXNuaUqxUWGuxHIiTNamEns9jD3ilXTLs5verUkYeEYPwXrP9dAr5ETeoS7n09A_Tb7ZgPXgXhTA/s1600/2017-09-29--13-00-39-TT7F5-1AB12.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="240" data-original-width="320" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsZsMGg2IAuVnzn5cP4BRC0fr81dID8onq5UKwIVQ0C8f88GfSv1LrAmjbemqvJERVXNuaUqxUWGuxHIiTNamEns9jD3ilXTLs5verUkYeEYPwXrP9dAr5ETeoS7n09A_Tb7ZgPXgXhTA/s200/2017-09-29--13-00-39-TT7F5-1AB12.jpeg" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOsyMnKsAs9c8Nd8k8MNR9NIGX4msxIE1AkVVLxcfm1pY8Iy2NViijhQi8AytBN2KUiB2jAG1z0hKNJLHjFbDRzRhJ2lK9EwtRD0SvYlappiicsGQuJotujYVVegTykCAtgQJml9TkKiY/s1600/2017-09-29--13-30-50-TT7F5-1AB13.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="240" data-original-width="320" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOsyMnKsAs9c8Nd8k8MNR9NIGX4msxIE1AkVVLxcfm1pY8Iy2NViijhQi8AytBN2KUiB2jAG1z0hKNJLHjFbDRzRhJ2lK9EwtRD0SvYlappiicsGQuJotujYVVegTykCAtgQJml9TkKiY/s200/2017-09-29--13-30-50-TT7F5-1AB13.jpeg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEZy3uep1khEJhb7-UzpA-YbyWfB4daPdoMcy8OLV_6S4EOCRIATVviz3YGk7cX4AJtyUCkyhL8r_k1TUwegc1o0jeopWdbgvEP_a5G3bVKu1AejoEaW7vQZflZAlpuJX0FX8s13SZRoE/s1600/2017-09-29--14-01-34-TT7F5-1AB14.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="240" data-original-width="320" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEZy3uep1khEJhb7-UzpA-YbyWfB4daPdoMcy8OLV_6S4EOCRIATVviz3YGk7cX4AJtyUCkyhL8r_k1TUwegc1o0jeopWdbgvEP_a5G3bVKu1AejoEaW7vQZflZAlpuJX0FX8s13SZRoE/s200/2017-09-29--14-01-34-TT7F5-1AB14.jpeg" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDXEDt-mld9BdNI0BGcO_GmgmSQlwD2lLVy6NeycQU3t9yGtxjDvoRsE9kEY6DdeUk0Wk0VZhDVKTO_pfPtB4BsWBx0HCFJ643pODHiiYoBko3O7sfX8R8XbXI-tqdSsyHxJ19JfkpFxU/s1600/2017-09-29--14-31-17-TT7F5-1AB15.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="240" data-original-width="320" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDXEDt-mld9BdNI0BGcO_GmgmSQlwD2lLVy6NeycQU3t9yGtxjDvoRsE9kEY6DdeUk0Wk0VZhDVKTO_pfPtB4BsWBx0HCFJ643pODHiiYoBko3O7sfX8R8XbXI-tqdSsyHxJ19JfkpFxU/s200/2017-09-29--14-31-17-TT7F5-1AB15.jpeg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSHPDxeavza6a0cWRITHvqnKck_3iJ1lfYHDMqjkcNCZTtApiFV14p8GyhbrAXUmelMsXKlOP3q8AAI7R3zGkb6qgb73Fgqh8XJwOxEe4Uxv42e3ugcKVpf1z6wkg7HT6PZpoIhSzPlqc/s1600/2017-09-29--15-01-39-TT7F5-1AB16.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="240" data-original-width="320" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSHPDxeavza6a0cWRITHvqnKck_3iJ1lfYHDMqjkcNCZTtApiFV14p8GyhbrAXUmelMsXKlOP3q8AAI7R3zGkb6qgb73Fgqh8XJwOxEe4Uxv42e3ugcKVpf1z6wkg7HT6PZpoIhSzPlqc/s200/2017-09-29--15-01-39-TT7F5-1AB16.jpeg" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-Ak91SR4pXSEuM8M-IZMzRcPZqvXFI_BHMRDdABLC46AaReCyZNskn8I-b0BlhOm53-QKHZ05OcpPP7-LWOPkuy_yvpqENSGQuCQjxW1FVaA5cTV4jUenGE3Bsf_gbxStgSgN_z-Sjl8/s1600/2017-09-29--15-31-16-TT7F5-1AB17.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="240" data-original-width="320" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-Ak91SR4pXSEuM8M-IZMzRcPZqvXFI_BHMRDdABLC46AaReCyZNskn8I-b0BlhOm53-QKHZ05OcpPP7-LWOPkuy_yvpqENSGQuCQjxW1FVaA5cTV4jUenGE3Bsf_gbxStgSgN_z-Sjl8/s200/2017-09-29--15-31-16-TT7F5-1AB17.jpeg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxOLN82JO_dVEkpdKE3ca9DYf9S8wJ7kvfpxCGj61AyfrLGB2f33FxUr_jV9fPlMv4_Wh-2ouqjMzfsTF0Gr3qlu5Ab_XTiehCOYgrkJU7SWglBMnOmJFnhDt0LPrV3KRADtVb7V7pZN4/s1600/2017-09-29--16-00-44-TT7F5-1AB18.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="240" data-original-width="320" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxOLN82JO_dVEkpdKE3ca9DYf9S8wJ7kvfpxCGj61AyfrLGB2f33FxUr_jV9fPlMv4_Wh-2ouqjMzfsTF0Gr3qlu5Ab_XTiehCOYgrkJU7SWglBMnOmJFnhDt0LPrV3KRADtVb7V7pZN4/s200/2017-09-29--16-00-44-TT7F5-1AB18.jpeg" width="200" /></a></div>
Day 2<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoi0zrbQTue7TACiu0lriavq2SnKhE9-H_Lr6x7lShwFndi3VbjZltNDHDtUJyX3RMnE1KA9l4gD0WexIfo_SNGbUU_JuFWUWTW8iUkqlDXMQKuYvpgYvmDTSFyo2eRY8n1AsnagrpJV8/s1600/2017-09-30--06-31-14-TT7F5-1AB20.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="240" data-original-width="320" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoi0zrbQTue7TACiu0lriavq2SnKhE9-H_Lr6x7lShwFndi3VbjZltNDHDtUJyX3RMnE1KA9l4gD0WexIfo_SNGbUU_JuFWUWTW8iUkqlDXMQKuYvpgYvmDTSFyo2eRY8n1AsnagrpJV8/s200/2017-09-30--06-31-14-TT7F5-1AB20.jpeg" width="200" /></a></div>
The positional and telemetry data extracted from received APRS packets and decoded backlogs:<br />
<br />
<div style="text-align: center;">
<iframe height="400" src="https://www.google.com/maps/d/embed?mid=1cOLw2TppuDanUqzN8k0tuPzQHhs" width="528"></iframe><br /></div>
<br />
<div style="text-align: center;">
<iframe frameborder="0" height="700" scrolling="no" src="//plot.ly/~TomasTT7/62.embed" width="600"></iframe><br /></div>
TT7http://www.blogger.com/profile/11095378058232471221noreply@blogger.com0tag:blogger.com,1999:blog-7063183727921268380.post-47073294114043817732017-09-07T15:21:00.001+02:002018-09-08T03:31:50.346+02:00The TT7F4 Flight<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8y5YQkoLFv1ennlq4Ac2f55wbPFR4FfCzMF7Xb-iCbrekSiNgIme2s-C7pUaoFIftqqtnw1yKXKhlAssTXfM5o2Snh3nTGjWIngjKcBfhWFPNKqAebgubu094lThwWuSerJlDOwIn9Oc/s1600/IMG_1076+TT7F4+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8y5YQkoLFv1ennlq4Ac2f55wbPFR4FfCzMF7Xb-iCbrekSiNgIme2s-C7pUaoFIftqqtnw1yKXKhlAssTXfM5o2Snh3nTGjWIngjKcBfhWFPNKqAebgubu094lThwWuSerJlDOwIn9Oc/s200/IMG_1076+TT7F4+tracker.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitLbYqHr0UqgjKogmo5CvNb23SMkOyxgrvKRf9XNFNFUw7s46Y1wfAT3gxNxdweroZdJOJL1nrBTBp0_sHTnq1KVDJtpJwMEz7s381tDT_r9G48NzLPNsnKuf77N8g5UaZHKCcKAA8oY8/s1600/IMG_1093+TT7F4+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitLbYqHr0UqgjKogmo5CvNb23SMkOyxgrvKRf9XNFNFUw7s46Y1wfAT3gxNxdweroZdJOJL1nrBTBp0_sHTnq1KVDJtpJwMEz7s381tDT_r9G48NzLPNsnKuf77N8g5UaZHKCcKAA8oY8/s200/IMG_1093+TT7F4+tracker.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTDcA8OG6gStMH7-WMtX-PSpTNAxX9Ew25g4Mk2QtwrzSt4E7aR8599_fse6YEq8gCr2DZy5FEAg0yY2geL-reLPPojkp_aCY8FXV7ig37zS5DoML7UgPHrbZq_tLBXrXxkakIz4fP6xg/s1600/IMG_1480+184+superpressure+balloon.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTDcA8OG6gStMH7-WMtX-PSpTNAxX9Ew25g4Mk2QtwrzSt4E7aR8599_fse6YEq8gCr2DZy5FEAg0yY2geL-reLPPojkp_aCY8FXV7ig37zS5DoML7UgPHrbZq_tLBXrXxkakIz4fP6xg/s200/IMG_1480+184+superpressure+balloon.JPG" width="150" /></a></div>
<b>Date:</b> 2017-09-08<br />
<b>Time:</b> 6:00 GMT (8:00 CEST)<br />
<b>Place:</b> Roznov pod Radhostem, CZ<br />
<b>Live Tracking:</b> <a href="https://tracker.habhub.org/#!qm=All&q=OK7DMT-9">https://tracker.habhub.org</a> and <a href="https://aprs.fi/#!mt=roadmap&z=11&call=a%2FOK7DMT-9&timerange=3600&tail=3600">https://aprs.fi</a><br />
<br />
<b>APRS</b><br />
<b>Callsign:</b> OK7DMT-9<br />
<b>Frequency:</b> Geofenced local APRS <a href="http://tt7hab.blogspot.cz/2017/02/aprs-automatic-packet-reporting-system.html">frequencies</a><br />
<b>Packet:</b> Base-91 position and telemetry, <a href="http://tt7hab.blogspot.cz/2017/02/aprs-automatic-packet-reporting-system.html">Backlogged</a> position and telemetry in Comment section<br />
<b>Example:</b> !/5K{RS);uOJ3W 1F94!5MI,S(LWHC!+=7+;0c!'|!"!&:c+>0i!)!$|<br />
<br />
<b>Initial Prediction:</b> 2017-09-07<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgP5YTlFUCg7aqGPcrYEjfWp4rADzGvSu0mGW3Qc3RYpbpIEUcTxSD8wvrBXJD2v7SGLMZ5IxVrUuevltTN7oak72if3HrBDYLlRjXloczBaOxt5D5pZHyDj9CBuZhESyQVXaZmAsEYNJA/s1600/initial+prediction+20170907.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="765" data-original-width="1079" height="226" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgP5YTlFUCg7aqGPcrYEjfWp4rADzGvSu0mGW3Qc3RYpbpIEUcTxSD8wvrBXJD2v7SGLMZ5IxVrUuevltTN7oak72if3HrBDYLlRjXloczBaOxt5D5pZHyDj9CBuZhESyQVXaZmAsEYNJA/s320/initial+prediction+20170907.jpg" width="320" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGr_UZqaZIRzwUGPzAbtOoZukKsGFVLeTPKo3tUk1iUvUfDWDiPXxTXPvGI14kmvjHVlRNCtoUJfsxqfv6N2WcsUicJK8yPE1VGZv2Q6FRY4iw_h8ylt0r0BQc7WuBLuYgmBadNIi6jck/s1600/initial+prediction+20170907+hysplit.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="914" data-original-width="734" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGr_UZqaZIRzwUGPzAbtOoZukKsGFVLeTPKo3tUk1iUvUfDWDiPXxTXPvGI14kmvjHVlRNCtoUJfsxqfv6N2WcsUicJK8yPE1VGZv2Q6FRY4iw_h8ylt0r0BQc7WuBLuYgmBadNIi6jck/s200/initial+prediction+20170907+hysplit.gif" width="160" /></a></div>
<b>Power Scheme</b><br />
If
the voltage on the solar panel is higher than 1.6V and the battery
voltage is higher than 3.0V, the tracker transmits an APRS packet once per minute. If either the solar panel
voltage or the battery voltage falls below its limit, the tracker transmits an APRS packet once per two minutes. In case the tracker registers altitude decreasing at a rate of 0.5m/s or higher during last two transmission cycles, it reduces the sleep period and transmits an APRS packet every 30 seconds.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_HnduwFu3GX2hF3OOoyV9PIE-qDHZfbxaW8XiraPhWzcPcqEgEf4FuPgt-79pCbcJdd6L5AchjG52N4aqkUsPRWJmjSBcrgk9sABnl5lSPwzRCfGzq3Y72WQ4KllAmqaWom1NTXat4R4/s1600/IMG_0996+solar+panel.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_HnduwFu3GX2hF3OOoyV9PIE-qDHZfbxaW8XiraPhWzcPcqEgEf4FuPgt-79pCbcJdd6L5AchjG52N4aqkUsPRWJmjSBcrgk9sABnl5lSPwzRCfGzq3Y72WQ4KllAmqaWom1NTXat4R4/s200/IMG_0996+solar+panel.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjf5dZBsp92ZR4ILTPsDoS8E3TENFrEifjCAAW7pLwxKDEW-P1C_JOLYMlTPtCmhtFpCO3yyvYtMiVFWMh25I8F95-ahWUphxze0T1hE8xdwvvLks58xXIBJ69WhqchBw3HiTrUvzU6P5k/s1600/IMG_1000+solar+panel.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjf5dZBsp92ZR4ILTPsDoS8E3TENFrEifjCAAW7pLwxKDEW-P1C_JOLYMlTPtCmhtFpCO3yyvYtMiVFWMh25I8F95-ahWUphxze0T1hE8xdwvvLks58xXIBJ69WhqchBw3HiTrUvzU6P5k/s200/IMG_1000+solar+panel.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzFRWqCx8jM3e8_olSByvRIjvBUNcyalEtS7EyqL4yF-nwtFSRlKyGI0-tFfCek9AYUK5HNEsQw_Z67i_jyYoZgDIA71iVvtKARx1ivoVqAsCg5F0QM9MryyfA4p1GHpLVkiWqF3UqSPk/s1600/IMG_1010+dipole+antenna.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzFRWqCx8jM3e8_olSByvRIjvBUNcyalEtS7EyqL4yF-nwtFSRlKyGI0-tFfCek9AYUK5HNEsQw_Z67i_jyYoZgDIA71iVvtKARx1ivoVqAsCg5F0QM9MryyfA4p1GHpLVkiWqF3UqSPk/s200/IMG_1010+dipole+antenna.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibicn8qI-oxet3wsjJwSvF6touD1UQXPukJi5I2I6-95LcCVa63A3v9W_MawicVba0Pssj55G-K-Rpt-4NC3Dlg5awoSu7uBivqDXyLMDmvudLEhpk7GONwWbluTMvios3W__CFzsHKUo/s1600/IMG_1026+programming+board+cut+off.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibicn8qI-oxet3wsjJwSvF6touD1UQXPukJi5I2I6-95LcCVa63A3v9W_MawicVba0Pssj55G-K-Rpt-4NC3Dlg5awoSu7uBivqDXyLMDmvudLEhpk7GONwWbluTMvios3W__CFzsHKUo/s200/IMG_1026+programming+board+cut+off.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4u3fTdLro3KBu7K23bNFr1VdgMSOf3n5NlDA8ZtgHmrpNYHRSL9-_TG3asjk1ivBuIGSosfB0kZSTOz9GX4Nw3GpjB3v9iCoziha9AYjshREJQYPlC1zjbHw9yv6IQjnFWHE7546Scpg/s1600/IMG_1028+programming+board+cut+off.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4u3fTdLro3KBu7K23bNFr1VdgMSOf3n5NlDA8ZtgHmrpNYHRSL9-_TG3asjk1ivBuIGSosfB0kZSTOz9GX4Nw3GpjB3v9iCoziha9AYjshREJQYPlC1zjbHw9yv6IQjnFWHE7546Scpg/s200/IMG_1028+programming+board+cut+off.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhg-w-I62W6lJQAQxKcPJ1NDqxRwF6cf7wT6Pp4TqTumEF85xd4EKbnQ-Za6OBGX7VRiC6tXo246spmbyDm92f9EltfesCMaGLqO1yAvgK9Al8NJWZEtPbzMg8608UvQ0D5zfMxfCARBjQ/s1600/IMG_1035+400mAh+LiPo+attached.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhg-w-I62W6lJQAQxKcPJ1NDqxRwF6cf7wT6Pp4TqTumEF85xd4EKbnQ-Za6OBGX7VRiC6tXo246spmbyDm92f9EltfesCMaGLqO1yAvgK9Al8NJWZEtPbzMg8608UvQ0D5zfMxfCARBjQ/s200/IMG_1035+400mAh+LiPo+attached.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmpvdxbNSqMQ-NHLtUzd6hP76PDi-o77EEqSmQo6NKrbzmbe3VxTAJaV8ykEwx6KbhCxyaMcJ4ihnJcoqM2e0NwkH7lsnOuljcTo3kPLI8Go00z2UU56i8Qv08uKf-pnQb8pQw5COV_aY/s1600/IMG_1039+400mAh+LiPo+attached.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmpvdxbNSqMQ-NHLtUzd6hP76PDi-o77EEqSmQo6NKrbzmbe3VxTAJaV8ykEwx6KbhCxyaMcJ4ihnJcoqM2e0NwkH7lsnOuljcTo3kPLI8Go00z2UU56i8Qv08uKf-pnQb8pQw5COV_aY/s200/IMG_1039+400mAh+LiPo+attached.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKL1Ei0zWw3EQUqozwhDfoKn9-MU9pH3fwqqxMBGnpJkQ9A6BN4eQtTdXEIeCxyjaNljVMAYTOSUO-YbIInSrGIUR_OnxTnK48U2aJ1Q4PRljZUDq4oq5dC2MoDADaatZ8GI0HH2ye114/s1600/IMG_1041+400mAh+LiPo+attached.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKL1Ei0zWw3EQUqozwhDfoKn9-MU9pH3fwqqxMBGnpJkQ9A6BN4eQtTdXEIeCxyjaNljVMAYTOSUO-YbIInSrGIUR_OnxTnK48U2aJ1Q4PRljZUDq4oq5dC2MoDADaatZ8GI0HH2ye114/s200/IMG_1041+400mAh+LiPo+attached.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhZtOjScEN2qwrCg6Q8iN0W64WtcNCAQYamRjX-pBz-nq69J6o_pLoI_F_ub6gfrn0faVoaOtvvQX7RsN2BA586JQKORyYDsJIwy-ytI6rIl7fN0Ax1Fod_OjrltTbh0Cj3inKvg3tkDo/s1600/IMG_1051+insulation.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhZtOjScEN2qwrCg6Q8iN0W64WtcNCAQYamRjX-pBz-nq69J6o_pLoI_F_ub6gfrn0faVoaOtvvQX7RsN2BA586JQKORyYDsJIwy-ytI6rIl7fN0Ax1Fod_OjrltTbh0Cj3inKvg3tkDo/s200/IMG_1051+insulation.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgi-n7HM-gFY5Traaw6Y9r8mS-T_q-9ldxgqS1uTjVrpdTOvpHjV0rpFBFDonGFORVdRxG5oOkYdBdY20ys5BtOlurZbedxq0B4i-a3q36lmmoaz9Pp0VvRMi__afGjb_7Z0cOeIzMhn3Q/s1600/IMG_1055+insulation+taped.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgi-n7HM-gFY5Traaw6Y9r8mS-T_q-9ldxgqS1uTjVrpdTOvpHjV0rpFBFDonGFORVdRxG5oOkYdBdY20ys5BtOlurZbedxq0B4i-a3q36lmmoaz9Pp0VvRMi__afGjb_7Z0cOeIzMhn3Q/s200/IMG_1055+insulation+taped.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5sifEh2ZWy02t-cK9dZAmzv9N0YckhKdLeo9EiYLfBsaK4AzIjkfvInZNKm8R0v_OgugJLS94hflOiPHRcNdEWMA4jTphI0hCULC300xQ1X1T6lfDAtCBZHFCO1XNbhZoiFWWmdhAZ6c/s1600/IMG_1061+insulation+taped.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5sifEh2ZWy02t-cK9dZAmzv9N0YckhKdLeo9EiYLfBsaK4AzIjkfvInZNKm8R0v_OgugJLS94hflOiPHRcNdEWMA4jTphI0hCULC300xQ1X1T6lfDAtCBZHFCO1XNbhZoiFWWmdhAZ6c/s200/IMG_1061+insulation+taped.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTJocDA3P5EqcMlRG8gomzfo5LKIxV6SbOHRMSn3au7LvAKG3Lfti-9aruNV_uc8A7fr43pOOMqRhxwtrVJqPbKI1LJeRUCUaaE1EFK-0Y6kit-bC_hXqe0tDOCcJjAJTv-xd3wLl-8K4/s1600/IMG_1082+TT7F4+mass.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTJocDA3P5EqcMlRG8gomzfo5LKIxV6SbOHRMSn3au7LvAKG3Lfti-9aruNV_uc8A7fr43pOOMqRhxwtrVJqPbKI1LJeRUCUaaE1EFK-0Y6kit-bC_hXqe0tDOCcJjAJTv-xd3wLl-8K4/s200/IMG_1082+TT7F4+mass.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-d-IVwHRmEPJo_C2gwZxquyCaIlwXNCiWa5lX45S1PMI03VOhHZFJhc97tW9BDRhDdx_85H0n9v6hU0TzOOLi6hJVDGyfGG9Egv0te7nKS6Jf2gYFBDtvDSbhLIoPNlHUV1tIPFxcf28/s1600/IMG_1064+TT7F4+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-d-IVwHRmEPJo_C2gwZxquyCaIlwXNCiWa5lX45S1PMI03VOhHZFJhc97tW9BDRhDdx_85H0n9v6hU0TzOOLi6hJVDGyfGG9Egv0te7nKS6Jf2gYFBDtvDSbhLIoPNlHUV1tIPFxcf28/s200/IMG_1064+TT7F4+tracker.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIe6wzKQBJG2uYvHDsSFGt_zlmbuX7Mi5jeGEL5zv7LSzOkpiiDx98AstbT_7655uP-8ca3rnDza5TNroCMxAgdr-IIrbenz2PqzdFi80Yv0FbdeatFne3jR504DhSql_PBLXSmxkXRt8/s1600/IMG_1071+TT7F4+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIe6wzKQBJG2uYvHDsSFGt_zlmbuX7Mi5jeGEL5zv7LSzOkpiiDx98AstbT_7655uP-8ca3rnDza5TNroCMxAgdr-IIrbenz2PqzdFi80Yv0FbdeatFne3jR504DhSql_PBLXSmxkXRt8/s200/IMG_1071+TT7F4+tracker.JPG" width="200" /></a></div>
<b>Tracker</b><br />
This tracker uses Biwin GM10 GPS module instead of the usual U-blox MAX-M8Q. Its lower price is bought out by higher current consumption which is somewhere in range of 45mA during acquisition and about 6mA in backup mode. Another distinction of this tracker is a 20dBm Square Wave match for the Si4463 transmitter. This matching is intended for lower frequencies hence the APRS only transmission. The antenna used was once again a guitar string dipole with 492mm for each element. On this tracker, I wanted to test adding two 4.7F supercapacitors to a 400mAh LiPo battery. The two supercaps are wired in series to increase their voltage range to 5.4V while the battery is in parallel to the caps. The LTC3105's output is at 4.08V and the MPPC resistor is 180k<span class="st">Ω. The solar panel is composed of two parallel branches back to back</span> at 90° angle to ground. Each branch consists of four 52x39mm solar cells in series. The tracker was encased with anti-static foam and black electric tape. The more complex power setup showed itself in the tracker's final mass which rolled by the 30g mark.<br />
<b>Mass:</b> 31.4g<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQfQQtOAOs0VLg9aQKaQRsDm_j9aEikinuOsh4NQdh0vG5rlJyK4Gb-XiFpcL64Mfhip_WjBxaAzHTyyFSZ2kIQvNm0e77vanLphnmYf5ETQ45pijM8LNisqD-uCvcOecdPuBmzxCDz40/s1600/chart-final+setup.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="613" data-original-width="973" height="125" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQfQQtOAOs0VLg9aQKaQRsDm_j9aEikinuOsh4NQdh0vG5rlJyK4Gb-XiFpcL64Mfhip_WjBxaAzHTyyFSZ2kIQvNm0e77vanLphnmYf5ETQ45pijM8LNisqD-uCvcOecdPuBmzxCDz40/s200/chart-final+setup.png" width="200" /></a></div>
<b>Software</b><br />
The main function running the tracker can be found in <a href="https://github.com/TomasTT7/TT7F-Float-Tracker/blob/master/Software/ARM_TT7F4.c">ARM_TT7F4.c</a>
on GitHub. The program flow is somewhat simplified by the absence of RTTY and SSDV routines. I used that opportunity to add a new transmission condition. The code keeps track of previous two altitude readings and the durations of the following sleep cycles, then calculates the average ascent/descent rate in the last two cycles. If it detects average descent over this period higher than 0.5m/s, the next APRS transmission will occur in only 30 seconds. A couple of modifications had to be done because of the Biwin GM10 module. It probably uses some older U-blox firmware so it required UBX-RXM-PMREQ message to enter backup mode. The navigation solution is still polled by the UBX-NAV-PVT message, however the returned data string is only 92 bytes long as opposed to 100 bytes as in case of MAX-M8Q firmware. The bitfield in an APRS packet's telemetry now signals whether the GPS module acquired fix (FIX), whether it is set in the Airborne mode (NAV), whether the balloon is descending and the extra short sleep period is active (DES), and whether the longer power saving cycle is active (PSM). The chart above is an example behaviour of the tracker as extracted from received APRS packets.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNN8mclgx5O-5RkBYDx2KnimCE9mKR56hOqBDTauTrdaTdzxk50taiDmvTbw4oiOBiNAT0HV0KwfadcrvIDc07Zwv6BqS2zshW_K4nT1fVKCBxAEh1ZzmoxxATEseY7N8XY-NVSBns09Q/s1600/Superpressure+balloon+stretching+profile+%2528184_n2%2529.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="493" data-original-width="931" height="105" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNN8mclgx5O-5RkBYDx2KnimCE9mKR56hOqBDTauTrdaTdzxk50taiDmvTbw4oiOBiNAT0HV0KwfadcrvIDc07Zwv6BqS2zshW_K4nT1fVKCBxAEh1ZzmoxxATEseY7N8XY-NVSBns09Q/s200/Superpressure+balloon+stretching+profile+%2528184_n2%2529.png" width="200" /></a></div>
<b>Balloon</b><br />
The balloon was made from 50 micron PE/PA/EVOH/PA/PE material and it
is 1.84m in diameter. The estimated stretch is 1.74 Gamma (old inaccurate method). Witnessed wild swings in TT7F3's altitude at sunset, believed to be due to the gas cooling down, led me to go for a little more free lift this time. The chart above shows the stretching profile of this specific envelope. The increase in volume went quite quickly and I ended the stretching at indication of meridional weld opening.<br />
<b>Expected Float Altitude:</b> 15100m<br />
<b>Expected Ascent Rate:</b> 1.1m/s<br />
<b>Expected Superpressure:</b> 1732Pa (at 19°C supertemperature)<br />
<b>Gas:</b> Hydrogen<br />
<b>Free Lift:</b> 17g<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhN75BecbcLB13sRTFpd6SgtJZrb7KfXY3Tdyour1VS0DmTjC2vxT9Ydqv5EGEFQeuzksJK7EKOYF8QFQFKhSJIAwDXGg9jq4cOfmeIDrigl3JkKwlBfeTbquwVpMcKixfWIxrPCCTGNb0/s1600/IMG_1765+measuring+lift.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhN75BecbcLB13sRTFpd6SgtJZrb7KfXY3Tdyour1VS0DmTjC2vxT9Ydqv5EGEFQeuzksJK7EKOYF8QFQFKhSJIAwDXGg9jq4cOfmeIDrigl3JkKwlBfeTbquwVpMcKixfWIxrPCCTGNb0/s200/IMG_1765+measuring+lift.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1y_Zfhc4oIotpW7uf9ez_MW5aWfdU4ekpI8QqxAa7HX81etOUvHmJdA8QdJnshyphenhyphenBdGNzI-g38WescPFnAQ9Py14wsSAuWbHgHjpsRTWGQI0H1sG1GHikcGBh5tgZ2jnOfrokmyd8ER8o/s1600/IMG_1766+measuring+lift.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1y_Zfhc4oIotpW7uf9ez_MW5aWfdU4ekpI8QqxAa7HX81etOUvHmJdA8QdJnshyphenhyphenBdGNzI-g38WescPFnAQ9Py14wsSAuWbHgHjpsRTWGQI0H1sG1GHikcGBh5tgZ2jnOfrokmyd8ER8o/s200/IMG_1766+measuring+lift.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiISrfZkXQ7zrXnNt95DrKWRtvkud6EcbkCQUs_PXN-HC8GPTz-K17gF3e-xp7tTyFWg5iZBXsF5tCu3vXv11hTNquLTj_Acy2VqcLzBjRHxGN0ij0GmzBRk4-LKluVGHmnlHvQ7weLkJM/s1600/IMG_1782+TT7F4+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiISrfZkXQ7zrXnNt95DrKWRtvkud6EcbkCQUs_PXN-HC8GPTz-K17gF3e-xp7tTyFWg5iZBXsF5tCu3vXv11hTNquLTj_Acy2VqcLzBjRHxGN0ij0GmzBRk4-LKluVGHmnlHvQ7weLkJM/s200/IMG_1782+TT7F4+tracker.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTJ8V0qtrkRQdf0o3U1MMz0EU3sAsjGOAvQWZ65zahHIQmrSN7uystpH8ZrDzln0xeFoWzvlP6JWF963_yelJTTzuPU-IxCJ4ZFOWaY6nQrByJ7LwNozJvnFupAF5ZLhmdU5ZWxMH1kp0/s1600/IMG_1776+TT7F4+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTJ8V0qtrkRQdf0o3U1MMz0EU3sAsjGOAvQWZ65zahHIQmrSN7uystpH8ZrDzln0xeFoWzvlP6JWF963_yelJTTzuPU-IxCJ4ZFOWaY6nQrByJ7LwNozJvnFupAF5ZLhmdU5ZWxMH1kp0/s200/IMG_1776+TT7F4+tracker.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSFhIgHzMpaZKA8WfdZDwSW1VHnsMcm_wgSE3BH2rxHX-oI-IzRtveeIPLBUZpk6ZlehAXx0hV9FhrXYNtpHjRWxeHJVotcU52V3UBDaVmgpwgjH_4cAMfSTh6jsEceAgiipVD0lP2-SY/s1600/IMG_1775+TT7F4+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSFhIgHzMpaZKA8WfdZDwSW1VHnsMcm_wgSE3BH2rxHX-oI-IzRtveeIPLBUZpk6ZlehAXx0hV9FhrXYNtpHjRWxeHJVotcU52V3UBDaVmgpwgjH_4cAMfSTh6jsEceAgiipVD0lP2-SY/s200/IMG_1775+TT7F4+tracker.JPG" width="150" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqI1b4dVFxddIWsKlRQfaChnDBrXHtLyYEO0NyBb-Wb0P2y5H_jKs87P4eSVfEocuBsXlOUuGI5CSts_Q_UmXZRtGV16VpeKIh8ajq6qoSI3PMEXFNAgQ_UYcefP7dgFCAgSS8p2tZZHw/s1600/IMG_1777+TT7F4+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqI1b4dVFxddIWsKlRQfaChnDBrXHtLyYEO0NyBb-Wb0P2y5H_jKs87P4eSVfEocuBsXlOUuGI5CSts_Q_UmXZRtGV16VpeKIh8ajq6qoSI3PMEXFNAgQ_UYcefP7dgFCAgSS8p2tZZHw/s200/IMG_1777+TT7F4+tracker.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSeqrpedzsoDqp19v__BQHbQCkI3YNCFeTMmcE8wD0vGq29MSgAcmIKsWAJllwj_2yXZ5c3Zj1AylCdt53fyJ-jJyEbqUfqHAtuj9NFGqjvY8HqiXrt8VDjvViDzxKVDefgidQD7rawP0/s1600/IMG_1780+sealed+balloon.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSeqrpedzsoDqp19v__BQHbQCkI3YNCFeTMmcE8wD0vGq29MSgAcmIKsWAJllwj_2yXZ5c3Zj1AylCdt53fyJ-jJyEbqUfqHAtuj9NFGqjvY8HqiXrt8VDjvViDzxKVDefgidQD7rawP0/s200/IMG_1780+sealed+balloon.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhX53jtVmaDH68k007XzHMlpWdEHeK93eoNdlCBR08xWxuI62DdxGR1-wdJq1xRzf34Zu0HXXe9iAPFnXd5v8enqqP2tF4wbdB2v7nnL52OorBB_xuBIOZYhiU7UyRmQLa2sdmqJzey4FU/s1600/IMG_1779+184+superpressure+balloon.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhX53jtVmaDH68k007XzHMlpWdEHeK93eoNdlCBR08xWxuI62DdxGR1-wdJq1xRzf34Zu0HXXe9iAPFnXd5v8enqqP2tF4wbdB2v7nnL52OorBB_xuBIOZYhiU7UyRmQLa2sdmqJzey4FU/s200/IMG_1779+184+superpressure+balloon.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlIi0HpFileyXQBjz0CaU7_vDw-wSMEh3tVijXQSreRPkUto67kMnqqCXZrEmd9py1u5-jd8HeYgAaHDhnTwS9ZlstFG01tWVmrcA3bDephNFk5xDtZ-RkxXAaZ-oB2492DSCcm4seqG0/s1600/IMG_1781+184+superpressure+balloon.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlIi0HpFileyXQBjz0CaU7_vDw-wSMEh3tVijXQSreRPkUto67kMnqqCXZrEmd9py1u5-jd8HeYgAaHDhnTwS9ZlstFG01tWVmrcA3bDephNFk5xDtZ-RkxXAaZ-oB2492DSCcm4seqG0/s200/IMG_1781+184+superpressure+balloon.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgQN3WimnU8ZXTG6ZTh5gVltoSX-9oA9RUHd-VOz_4TpaBkj5k2agr9A-GEaov7YnxN99SevigFZmhBsXggqSd3SaYQWfFR7EwjsjebhI6Fae7cHmWJxLi502HReEYJ8o5vIZLnDEdfvY/s1600/IMG_1783+launch.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgQN3WimnU8ZXTG6ZTh5gVltoSX-9oA9RUHd-VOz_4TpaBkj5k2agr9A-GEaov7YnxN99SevigFZmhBsXggqSd3SaYQWfFR7EwjsjebhI6Fae7cHmWJxLi502HReEYJ8o5vIZLnDEdfvY/s200/IMG_1783+launch.JPG" width="150" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEion9_8fXR-WhFhmIgVthoCkz98H9mNzvyI8XJ909l_M26OZAsvUAb6DBzW9DVJ85GPMliaT9twGYH6RLqiD9zqgTM48msCNIGQ7skQHecs-76Ycu4NtKIiFQBKcmCUkVoi883IWe8FIrY/s1600/IMG_1787+launched.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEion9_8fXR-WhFhmIgVthoCkz98H9mNzvyI8XJ909l_M26OZAsvUAb6DBzW9DVJ85GPMliaT9twGYH6RLqiD9zqgTM48msCNIGQ7skQHecs-76Ycu4NtKIiFQBKcmCUkVoi883IWe8FIrY/s200/IMG_1787+launched.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEievauZ7zvyTpRpgZqJJS6vSj5hoo8yjOFaAqrH8q7I3obWNUadOQuvv4ct1e9h0zIAFdgeqHi2fBBv14u0hCVxx3jV3hTEINi5S2vHfqhvosO1pXUD_k4RyxCYrhyphenhyphenvU83IJYYAJG6gdks/s1600/IMG_1788+launched.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEievauZ7zvyTpRpgZqJJS6vSj5hoo8yjOFaAqrH8q7I3obWNUadOQuvv4ct1e9h0zIAFdgeqHi2fBBv14u0hCVxx3jV3hTEINi5S2vHfqhvosO1pXUD_k4RyxCYrhyphenhyphenvU83IJYYAJG6gdks/s200/IMG_1788+launched.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHbSWPZM2lg2zyIXiB_MpxE5XQpzr1A7Ove7aFi18_k5OY80dszZAdlYXkwsUSWN775pphEBjvzFwN97uamJR8JVi6fqURgGwGv7BJBSkw1ECk3VKrwbLqPGz0H3JgCbpC6za8R8KdEMc/s1600/IMG_1790+launched.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHbSWPZM2lg2zyIXiB_MpxE5XQpzr1A7Ove7aFi18_k5OY80dszZAdlYXkwsUSWN775pphEBjvzFwN97uamJR8JVi6fqURgGwGv7BJBSkw1ECk3VKrwbLqPGz0H3JgCbpC6za8R8KdEMc/s200/IMG_1790+launched.JPG" width="150" /></a></div>
<b>Launch</b><br />
The final free lift was 18.2g, 2.7g more than in case of TT7F3 with similarly heavy tracker and same sized envelope. At this time in the morning the surface winds are usually calm here and provide for an easy launch even in a tree rich area. The average ascent rate was a little higher (1.14m/s vs. TT7F3's 0.95m/s). Everything worked as intended until the balloon reached 11864m, failed and started to descend at about 3m/s. Continuing at this rate, it eventually landed on a hillside at the Polish-Slovak border some 203km away from the launch site. The last packet came from 1035m with the nearing mountain range at 900m.<br />
<br />
<b>Data</b><br />
<a href="https://drive.google.com/file/d/0B8Fb45Vo8uIsRnF6R2JRdjkyU1U/view?usp=sharing">APRSfi_TT7F4.txt</a> - collected raw packets.<br />
Python <a href="https://github.com/TomasTT7/TT7F-Float-Tracker/blob/master/Accessories/APRSFIparser_TT7F4.py">parser</a> of APRS.fi raw packet format. <br />
The positional and telemetry data extracted from received APRS packets and decoded backlogs:<br />
<br />
<div style="text-align: center;">
<iframe height="400" src="https://www.google.com/maps/d/embed?mid=16h09rrz6rDLG_u8AyU463bvJ2sU" width="528"></iframe><br /></div>
<br />
<div style="text-align: center;">
<iframe frameborder="0" height="700" scrolling="no" src="//plot.ly/~TomasTT7/56.embed" width="600"></iframe><br /></div>
TT7http://www.blogger.com/profile/11095378058232471221noreply@blogger.com1tag:blogger.com,1999:blog-7063183727921268380.post-45747544856298604042017-08-29T22:20:00.002+02:002018-09-08T03:32:23.822+02:00The TT7F3 Flight<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYbdoPtuE8ALEmiyAKS6PixdOZcg6Ll-G8uj6OOUKOXhI6o5MEwBN0j7Zak1dGB69PHHaiicVCokgV95qr4EuL9972EGYLTDh7hub-kETlD8HaYsbyS6mHiZRE7jHecT8AwNbl7CBqx34/s1600/IMG_1300+TT7F3+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYbdoPtuE8ALEmiyAKS6PixdOZcg6Ll-G8uj6OOUKOXhI6o5MEwBN0j7Zak1dGB69PHHaiicVCokgV95qr4EuL9972EGYLTDh7hub-kETlD8HaYsbyS6mHiZRE7jHecT8AwNbl7CBqx34/s200/IMG_1300+TT7F3+tracker.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSZN2TXvvg8WPczidL5r8LQKwTG_H4fLHuaApO6U_FuirOVjVPp1dnlHIUPP0AzM_73Ili2v-Jc9zdD3qfifb9AYB9O9Eoe1p1XgAFzAGgLILxbzFaCHBI2arQFrJ-B5CPmBkE9F6ipPE/s1600/IMG_1289+TT7F3+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSZN2TXvvg8WPczidL5r8LQKwTG_H4fLHuaApO6U_FuirOVjVPp1dnlHIUPP0AzM_73Ili2v-Jc9zdD3qfifb9AYB9O9Eoe1p1XgAFzAGgLILxbzFaCHBI2arQFrJ-B5CPmBkE9F6ipPE/s200/IMG_1289+TT7F3+tracker.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuRwAZwTaV-ZqbRhwofzAXEZT15GdUxf8mCaytZVl5SH9saMN9aHOLgkMJl1jons3pafTGyopD-KLTqdC9okwIZmT-eaLK2AseLAE1-5omdX5S-eZFdFLxzQcnDe2pfKv9Ay2Iiuo99ZU/s1600/IMG_1505+184+superpressure+balloon.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuRwAZwTaV-ZqbRhwofzAXEZT15GdUxf8mCaytZVl5SH9saMN9aHOLgkMJl1jons3pafTGyopD-KLTqdC9okwIZmT-eaLK2AseLAE1-5omdX5S-eZFdFLxzQcnDe2pfKv9Ay2Iiuo99ZU/s200/IMG_1505+184+superpressure+balloon.JPG" width="150" /></a></div>
<b>Date:</b> 2017-08-31<br />
<b>Time:</b> 6:00 GMT (8:00 CEST)<br />
<b>Place:</b> Roznov pod Radhostem, CZ<br />
<b>Live Tracking:</b> <a href="https://tracker.habhub.org/#!qm=All&q=TT7F3;OK7DMT-7">https://tracker.habhub.org</a> and <a href="https://aprs.fi/#!mt=roadmap&z=11&call=a%2FOK7DMT-7&timerange=3600&tail=3600">https://aprs.fi</a><br />
<br />
<b>RTTY</b><br />
<b>Callsign:</b> TT7F3<br />
<b>Frequency:</b> 434.374MHz<br />
<b>Params:</b> 100 baud, 450Hz shift, 8n2 <br />
<b>Preceded by:</b> 5 slow blips (~6s)<br />
<b>Packet:</b> callsign, count, time, date, latitude, longitude, altitude, sats, Vsolar, Vbatt, Tmcu, Ttx<br />
<b>Example:</b> <span class="pl-c">$$TT7F3,13,15:13:32,20170719,49.46868,18.15101,408,6,899,3950,30,29*FB99</span><br />
<br />
<b>APRS</b><br />
<b>Callsign:</b> OK7DMT-7<br />
<b>Frequency:</b> Geofenced local APRS <a href="http://tt7hab.blogspot.cz/2017/02/aprs-automatic-packet-reporting-system.html">frequencies</a><br />
<b>Packet:</b> Base-91 position and telemetry, <a href="http://tt7hab.blogspot.cz/2017/02/aprs-automatic-packet-reporting-system.html">Backlogged</a> position and telemetry in Comment section<br />
<b>Example:</b> !/5KyHS)='OJ5W 1F94!5MI,S(LWHC!+=7+;0c!'|!4!-<x+S1%!(!$|<br />
<br />
<b>Initial Prediction:</b> 2017-08-29<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgC37rp_WnSeqto2-GYstlTnOkTrbK4GWqK7qNBIJgO4T3eSmnAo-yk135WX5Jk10CUXQc_GR9GX91RTEHzS4amU0nFPiNywe3HRM9ySee-f4cM2bSpimSAtFpYtpSWHNfrBOZqecmDZPc/s1600/initial+prediction+20170829.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="766" data-original-width="1059" height="230" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgC37rp_WnSeqto2-GYstlTnOkTrbK4GWqK7qNBIJgO4T3eSmnAo-yk135WX5Jk10CUXQc_GR9GX91RTEHzS4amU0nFPiNywe3HRM9ySee-f4cM2bSpimSAtFpYtpSWHNfrBOZqecmDZPc/s320/initial+prediction+20170829.jpg" width="320" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggzKxF4Uq-ZgtbFjXJC0xroGw3HuxAfTC-F0ZNJ5s4gnp9B__bAhOlzBI9OVJqtKkxRhyj2BEK1hRNI-WS3VcB-rvr_lrG9OQZl-f_16PwydqrFi5X6sjNAtrgXcwC7TCRSuBBxtHuVuQ/s1600/initial+prediction+20170829+hysplit.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="914" data-original-width="734" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggzKxF4Uq-ZgtbFjXJC0xroGw3HuxAfTC-F0ZNJ5s4gnp9B__bAhOlzBI9OVJqtKkxRhyj2BEK1hRNI-WS3VcB-rvr_lrG9OQZl-f_16PwydqrFi5X6sjNAtrgXcwC7TCRSuBBxtHuVuQ/s200/initial+prediction+20170829+hysplit.gif" width="160" /></a></div>
<b>Power Scheme</b><br />
If
the voltage on the supercapacitors is higher than 3.8V, the tracker transmits APRS once per minute and
RTTY once per two minutes. If the supercapacitor
voltage gets below its limit, the tracker transmits
only APRS packets once per two minutes, and the RTTY transmission stops.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4QJytETX8L3T6J9SG1oiNAIedm6pRxeRdMpbgp3nLehy8isT6Eff6-Dh3oZ1hGYlVvn9YNzz5JEgQYNLnZsD_CTGtq3uwdv4oG1edhmCEa-HhiOcOHj9QKIc6q59xCPBm5jVV2She87k/s1600/IMG_1098+solar+panel.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4QJytETX8L3T6J9SG1oiNAIedm6pRxeRdMpbgp3nLehy8isT6Eff6-Dh3oZ1hGYlVvn9YNzz5JEgQYNLnZsD_CTGtq3uwdv4oG1edhmCEa-HhiOcOHj9QKIc6q59xCPBm5jVV2She87k/s200/IMG_1098+solar+panel.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-iWgg18KwfbY2jmEmeYw9lm7SqWzcwcYTILmh1dBbv05R18PVuoWqo6RfolnggqTXc5Ckt_8CznykuqrwK3_OGxnaz_eKo1mOpc8Z0ZVZTKWUE2cTz5AAazz3nL2GuDTPg_pkoF8Xt9k/s1600/IMG_1101+solar+panel.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-iWgg18KwfbY2jmEmeYw9lm7SqWzcwcYTILmh1dBbv05R18PVuoWqo6RfolnggqTXc5Ckt_8CznykuqrwK3_OGxnaz_eKo1mOpc8Z0ZVZTKWUE2cTz5AAazz3nL2GuDTPg_pkoF8Xt9k/s200/IMG_1101+solar+panel.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOWEqVTTjiZcCy1yG5NJP0wwR7s75u5se5qaIq25NbEAEAMGskzkTz8GHOmv5s3wk-9JHw6O02OJ4tOD7im51qpiK7wVaJOziroeVX6AJ6YjeIyFMuGogAtaxPdwqoYMLxOzeJTQHyF48/s1600/IMG_1216+programming+board+cut+off.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOWEqVTTjiZcCy1yG5NJP0wwR7s75u5se5qaIq25NbEAEAMGskzkTz8GHOmv5s3wk-9JHw6O02OJ4tOD7im51qpiK7wVaJOziroeVX6AJ6YjeIyFMuGogAtaxPdwqoYMLxOzeJTQHyF48/s200/IMG_1216+programming+board+cut+off.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheBLn2Kx6iv81IWhkUoFTpezlb80UNeKOpS9_5NToWpOFYWFRnuYJbG12nlRDPHc5gjewtFrYlQM41vekb6Y-fiwBwuiQJGEpo_JWl5Doo_sBc4K6peU9eGfFuWMHKw75YJ22uPYaYC0A/s1600/IMG_1220+programming+board+cut+off.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheBLn2Kx6iv81IWhkUoFTpezlb80UNeKOpS9_5NToWpOFYWFRnuYJbG12nlRDPHc5gjewtFrYlQM41vekb6Y-fiwBwuiQJGEpo_JWl5Doo_sBc4K6peU9eGfFuWMHKw75YJ22uPYaYC0A/s200/IMG_1220+programming+board+cut+off.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZLjp5aMphpy-ue8-uaBcTEw3KRXYfwpio3KDRmSGYcyIFmIEMujlut12EeP1t89g_dtcXQdj9T6TMKa6fe_GFe43nORf4Xtfhs_O9cTc3gvVdH-mtCp15y7PhlqFjI7bEb2xwkqax05A/s1600/IMG_1225+programming+board+cut+off+mass.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZLjp5aMphpy-ue8-uaBcTEw3KRXYfwpio3KDRmSGYcyIFmIEMujlut12EeP1t89g_dtcXQdj9T6TMKa6fe_GFe43nORf4Xtfhs_O9cTc3gvVdH-mtCp15y7PhlqFjI7bEb2xwkqax05A/s200/IMG_1225+programming+board+cut+off+mass.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEpKyoZJiGzAyg-faemj8FwGpVIrcit75oIVY3dhEnxCTspTBvPPHPlHUNj7sv-VFe2UEha7AEIZB42esGYzRdX2TO_0cvpHIbDszWYkDHbNzyxbYPUSemGOKCio_Wce_aU31G01fUInM/s1600/IMG_1229+ESD+foam.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEpKyoZJiGzAyg-faemj8FwGpVIrcit75oIVY3dhEnxCTspTBvPPHPlHUNj7sv-VFe2UEha7AEIZB42esGYzRdX2TO_0cvpHIbDszWYkDHbNzyxbYPUSemGOKCio_Wce_aU31G01fUInM/s200/IMG_1229+ESD+foam.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPpB7bzw4jixMCughYNPKoBjd0lAW-U30Ref0L6Wb8Rd4uldc-xVxqPpquic_9yD64ro-A8DCCNiaLkNbcJEfFjrKH-u4mrJTN2nfR9y8fCfL9C3OYBQZ73nmVxdTrW-ioDS98_5SbgVU/s1600/IMG_1238+foam+taped.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPpB7bzw4jixMCughYNPKoBjd0lAW-U30Ref0L6Wb8Rd4uldc-xVxqPpquic_9yD64ro-A8DCCNiaLkNbcJEfFjrKH-u4mrJTN2nfR9y8fCfL9C3OYBQZ73nmVxdTrW-ioDS98_5SbgVU/s200/IMG_1238+foam+taped.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNhHgRKErc_zbMCU-VljijnlBlDPpOHPCpUXhn4goOKaYECqq4_6d-UxJ2oHP_Q_15F170D-4Ha-jULjWvAAlJUyO0f5EezLwrxCAJi8JBC4GxNxY1uX42JujHfHcFiI-rklr4c0CkpQA/s1600/IMG_1243+foam+taped.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNhHgRKErc_zbMCU-VljijnlBlDPpOHPCpUXhn4goOKaYECqq4_6d-UxJ2oHP_Q_15F170D-4Ha-jULjWvAAlJUyO0f5EezLwrxCAJi8JBC4GxNxY1uX42JujHfHcFiI-rklr4c0CkpQA/s200/IMG_1243+foam+taped.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyok-FXs6eNI_lcr_ONt5HAs1BGskjpFlE-Fow3zRz7T7iFBSGOlu9HgXk7PDR13KoxV3ZTq9PJaEbNkvPkAYhMCeSYAmMO4_8NdgpiXuCsxV10Rq8Bfx_Fh_KOwe1lcTa1Nmegc6iQ5k/s1600/IMG_1245+supercapacitors.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyok-FXs6eNI_lcr_ONt5HAs1BGskjpFlE-Fow3zRz7T7iFBSGOlu9HgXk7PDR13KoxV3ZTq9PJaEbNkvPkAYhMCeSYAmMO4_8NdgpiXuCsxV10Rq8Bfx_Fh_KOwe1lcTa1Nmegc6iQ5k/s200/IMG_1245+supercapacitors.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4pEue_amgpbQwFwVjDFAbJCZqUW-yjLC6AEvUD6gjqrYzkRR1VrAjbI1rXtqVx4YJ7q9M3D4o6CFrlAFdFIeWGZho8McR-Ej9QINy6oMiptcNz6VfQDWYBvx500QTsfXxFVXB3EPd1qU/s1600/IMG_1249+supercapacitors.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4pEue_amgpbQwFwVjDFAbJCZqUW-yjLC6AEvUD6gjqrYzkRR1VrAjbI1rXtqVx4YJ7q9M3D4o6CFrlAFdFIeWGZho8McR-Ej9QINy6oMiptcNz6VfQDWYBvx500QTsfXxFVXB3EPd1qU/s200/IMG_1249+supercapacitors.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLhzvM0xjsqFTKUhEucmTB_ngSSWjakMDxbusP8D7s03GUXLKrKIFJO7Ea892zporpKW4c8gqYdHbr9V5HYFH3XUnyWaHN30iLMWwFxuWsn4ZinK2WVR9d1K5toXKtFao96N1YOky2AGs/s1600/IMG_1253+supercapacitors.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLhzvM0xjsqFTKUhEucmTB_ngSSWjakMDxbusP8D7s03GUXLKrKIFJO7Ea892zporpKW4c8gqYdHbr9V5HYFH3XUnyWaHN30iLMWwFxuWsn4ZinK2WVR9d1K5toXKtFao96N1YOky2AGs/s200/IMG_1253+supercapacitors.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqaRWW9OeUw4mHC2rRltJhN4cxt41KPBcK5mcf7GxoXQI2AEvsiWdbc-9q-lmxKkWkCwp0IKonhN_niiTln6zsepW9J4ewTbqPFopwiN01ucWjO20mDsMc0qCSl7hTE6I3VEmfNid7OqI/s1600/IMG_1256+supercapacitors.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqaRWW9OeUw4mHC2rRltJhN4cxt41KPBcK5mcf7GxoXQI2AEvsiWdbc-9q-lmxKkWkCwp0IKonhN_niiTln6zsepW9J4ewTbqPFopwiN01ucWjO20mDsMc0qCSl7hTE6I3VEmfNid7OqI/s200/IMG_1256+supercapacitors.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjko6i4JpFlJZYFxDcnMvsbOh5ALJ3lkdfyqNLdrFzHOVSfEHXLP8IZj5EE9_xooBIXpSUE7Ibbek22Uy1fUb8PbhTZxeJnSqABY1vyQD5c61nFJobFjSxbUNxFEsdWeDcVeC6zukXBsJQ/s1600/IMG_1285+TT7F3+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjko6i4JpFlJZYFxDcnMvsbOh5ALJ3lkdfyqNLdrFzHOVSfEHXLP8IZj5EE9_xooBIXpSUE7Ibbek22Uy1fUb8PbhTZxeJnSqABY1vyQD5c61nFJobFjSxbUNxFEsdWeDcVeC6zukXBsJQ/s200/IMG_1285+TT7F3+tracker.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOxPwJZtAvH_GIaPiXe-vcO9hAl8QYNHwJVdIZnkeMOuOWpJNTDtg8XlzEHC0cgHRJjz08vmDl-gaMBQjy0B29azpVGlyTZAf5JJTv4T4XJ4-HiSZrId4RgZ6u8IdDPm9cxwz7-JYYzGA/s1600/IMG_1283+TT7F3+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOxPwJZtAvH_GIaPiXe-vcO9hAl8QYNHwJVdIZnkeMOuOWpJNTDtg8XlzEHC0cgHRJjz08vmDl-gaMBQjy0B29azpVGlyTZAf5JJTv4T4XJ4-HiSZrId4RgZ6u8IdDPm9cxwz7-JYYzGA/s200/IMG_1283+TT7F3+tracker.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyUFQSTJjm-bulV8FlhIuNo3_WSd15sWh18CaylX3gwRN_t4qbj03xlB23ZUCNMGRg7AO7zH_Ob-fenBgH5SAcsJTYuDHGp503YiKQqxXqnfl12q0tIF4b-XRjZk8KpIciN1Y9-nkryC8/s1600/IMG_1311+TT7F3+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyUFQSTJjm-bulV8FlhIuNo3_WSd15sWh18CaylX3gwRN_t4qbj03xlB23ZUCNMGRg7AO7zH_Ob-fenBgH5SAcsJTYuDHGp503YiKQqxXqnfl12q0tIF4b-XRjZk8KpIciN1Y9-nkryC8/s200/IMG_1311+TT7F3+tracker.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMGq9kq6Gz8c5tEAeg4dVR1NBn3IrxfOELkh7NdpTN9piEqBgTCF1Wln_p77sLDmFW0roxyuPQwc8UQ4VXMyLZM5QKa4Ld1UuaTWNKG5YxqRqHPot4IIKbWw4KevsHKIs3EE46N2mcKA0/s1600/IMG_1312+TT7F3+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMGq9kq6Gz8c5tEAeg4dVR1NBn3IrxfOELkh7NdpTN9piEqBgTCF1Wln_p77sLDmFW0roxyuPQwc8UQ4VXMyLZM5QKa4Ld1UuaTWNKG5YxqRqHPot4IIKbWw4KevsHKIs3EE46N2mcKA0/s200/IMG_1312+TT7F3+tracker.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkyOOVX1nEEZluQ-EAJgQ5vgBY03qJDX3Mhn4W3GBuKamy-RXYQa7rjQQWbHp1b66jB4iHzVdSuQ-RDWBGHaEWexL-EL2khgnRwpU2JZRA7g5MtVcMG-hb7621u3FD58PcLNYx47TFPuM/s1600/IMG_1308+TT7F3+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkyOOVX1nEEZluQ-EAJgQ5vgBY03qJDX3Mhn4W3GBuKamy-RXYQa7rjQQWbHp1b66jB4iHzVdSuQ-RDWBGHaEWexL-EL2khgnRwpU2JZRA7g5MtVcMG-hb7621u3FD58PcLNYx47TFPuM/s200/IMG_1308+TT7F3+tracker.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqnTOfO07RBjmd3CGJBxMyogVWKwRrLjFLIiqvXOUWOH7uToiVkQJdgc0UjiNtSUA2EZynnGr1RSRaQZOxNtHkwyroR8duLqvX_Gh8988mfh4T5ZYJ0A_kRiYTuOpXN-Y_jcamDhVIrds/s1600/IMG_1310+TT7F3+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqnTOfO07RBjmd3CGJBxMyogVWKwRrLjFLIiqvXOUWOH7uToiVkQJdgc0UjiNtSUA2EZynnGr1RSRaQZOxNtHkwyroR8duLqvX_Gh8988mfh4T5ZYJ0A_kRiYTuOpXN-Y_jcamDhVIrds/s200/IMG_1310+TT7F3+tracker.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZN1cpqgoIOAMf9-ds02OIlBthM8-gko9Sj4WU81_phFqD4ZhJ4KbPI4-wiLcgyIPSfMOF6eJsvLETS9pgpfXLw02PCgEfI3NbqCk1oZify1EhYwbm-Jg25zml8uJTvohMPavt_tPc4Qg/s1600/IMG_1318+TT7F3+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZN1cpqgoIOAMf9-ds02OIlBthM8-gko9Sj4WU81_phFqD4ZhJ4KbPI4-wiLcgyIPSfMOF6eJsvLETS9pgpfXLw02PCgEfI3NbqCk1oZify1EhYwbm-Jg25zml8uJTvohMPavt_tPc4Qg/s200/IMG_1318+TT7F3+tracker.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOAx5TEwLKy5DCoePjjePXFPD2NrC0jF3L0AZfDIc3tuJHKJHga7fsM4Mq5k3XCcezzZOHC42rRs1RKdRtRiIoBCWmP4P-SE5pvoK9xaBy-r5bYEC0DpMVNSE6nvvzmb0iHoxhAktG2OY/s1600/IMG_1263+TT7F3+mass.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOAx5TEwLKy5DCoePjjePXFPD2NrC0jF3L0AZfDIc3tuJHKJHga7fsM4Mq5k3XCcezzZOHC42rRs1RKdRtRiIoBCWmP4P-SE5pvoK9xaBy-r5bYEC0DpMVNSE6nvvzmb0iHoxhAktG2OY/s200/IMG_1263+TT7F3+mass.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw7j4gUTMKlJvUv9_H0DRZtdoN5XwWSpS_wnnV_5jzR04AvjTc5jH1EIRZ0Xwd8eWTafIoP-2WUhwxwZ1tgkJmyc96uIYSgU5lc-4agheOnaXpcBaOgpmrNGly9GeHNpQC_U2ZHO41joI/s1600/IMG_1306+testing.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw7j4gUTMKlJvUv9_H0DRZtdoN5XwWSpS_wnnV_5jzR04AvjTc5jH1EIRZ0Xwd8eWTafIoP-2WUhwxwZ1tgkJmyc96uIYSgU5lc-4agheOnaXpcBaOgpmrNGly9GeHNpQC_U2ZHO41joI/s200/IMG_1306+testing.JPG" width="150" /></a></div>
<b>Tracker</b><br />
To power this tracker, I decided to build two parallel branches of 52x39mm solar cells angled at 45° to ground facing opposite directions. Dave VE3KCL pointed out that setting up the cells as shown in <a href="http://tt7hab.blogspot.cz/2017/06/the-low-power-setup.html">The Low Power Setup</a> could force the tracker to rotate like a propeller. To void that, I interleaved the two branches at the cost of a little more wiring. The LTC3105 was set to output 4.05V (Rmppc - 91k<span class="st">Ω</span>) charging two 40F supercapacitors in series. This meant the tracker wouldn't take advantage of the full capacity, but it took care of the need to balance the two supercaps. For the antenna two 492mm pieces of guitar string were solder to the tracker to create a 2-meter dipole. The tracker was laid out with ESD foam and wrapped in black electrical tape.<br />
<b>Mass:</b> 31.9g <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgShFu9FWhMJOcmGcyPSAGXJAIOWC3epTPlKLISGbPi5be1pDH-yK0iGSdwd-xEDzELlsSO1NP295FYc6zOa9xvbXN7c87506RIqrMYUV5Qf6J0a4zDChKkPEq2oelTCCjft7EbiKBuO-I/s1600/chart-final+setup.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="614" data-original-width="974" height="125" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgShFu9FWhMJOcmGcyPSAGXJAIOWC3epTPlKLISGbPi5be1pDH-yK0iGSdwd-xEDzELlsSO1NP295FYc6zOa9xvbXN7c87506RIqrMYUV5Qf6J0a4zDChKkPEq2oelTCCjft7EbiKBuO-I/s200/chart-final+setup.png" width="200" /></a></div>
<b>Software</b><br />
The main function running the tracker can be found in <a href="https://github.com/TomasTT7/TT7F-Float-Tracker/blob/master/Software/ARM_TT7F3.c">ARM_TT7F3.c</a>
on GitHub. The code structure is similar to TT7F1 with added Watchdog. The bitfield in an APRS packet indicates whether it is in the high altitude Airborne mode (NAV), whether it acquired GPS fix (FIX), whether a new backlog was written to the flash memory in this cycle (BCK), and whether the tracker currently runs the slower, APRS only, power saving cycle (PSM). An example data set extracted from received APRS packets can be seen in the chart above. It was a stormy day and I had to hide the tracker under a roof at times.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgmiKUprqcR0sswwvqsB5VS6RY3uxHtEcGtok0PXbpBQsD7qsst64uI9FjijGHckeST5wSuglM0bQXt3MsFtSLX2rjl-TXyR70udiNLbV542oklTlCa2BZJQnZSGeWHzBbV8dYBBvieZA/s1600/Superpressure+balloon+stretching+profile+%2528184_first%2529.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="493" data-original-width="931" height="105" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgmiKUprqcR0sswwvqsB5VS6RY3uxHtEcGtok0PXbpBQsD7qsst64uI9FjijGHckeST5wSuglM0bQXt3MsFtSLX2rjl-TXyR70udiNLbV542oklTlCa2BZJQnZSGeWHzBbV8dYBBvieZA/s200/Superpressure+balloon+stretching+profile+%2528184_first%2529.png" width="200" /></a></div>
<b>Balloon</b><br />
The balloon is the second finished envelope described in <a href="http://tt7hab.blogspot.cz/2017/04/the-superpressure-balloons.html">The Superpressure Balloons</a> blog post. It was made from 50 micron PE/PA/EVOH/PA/PE material and it is 1.84m in
diameter. The estimated stretch is 1.83 Gamma. The chart above shows the
stretching profile for this specific envelope. A meridional weld opening had
to be repaired after the first stretching. The second attempt took
about 16 hours.<br />
<b>Expected Float Altitude:</b> 15400m<br />
<b>Expected Ascent Rate:</b> 1m/s<br />
<b>Expected Superpressure:</b> 1570Pa (at 19°C supertemperature)<br />
<b>Gas:</b> Hydrogen<br />
<b>Free Lift:</b> 15g <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjg_a2LJlxsiRfJcApRt1ZokWXa9i3_ijan5pLWfLVuZED_9scdL9ZKQmS6PQQn2QZ53zEldexw0AzShRgNWRE8abFFKwEnQYgQ7f1_eu5AD-NlAxYQs2ZtvQt7Z6-jDR1tNuJQQwROz2c/s1600/IMG_1723+measuring+lift.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjg_a2LJlxsiRfJcApRt1ZokWXa9i3_ijan5pLWfLVuZED_9scdL9ZKQmS6PQQn2QZ53zEldexw0AzShRgNWRE8abFFKwEnQYgQ7f1_eu5AD-NlAxYQs2ZtvQt7Z6-jDR1tNuJQQwROz2c/s200/IMG_1723+measuring+lift.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJVqefoosxgdFVVLOe4rHq1BRtI9VbKMLqr5RrCLuoJTbu9QcwzKs8HpORrYb_3EGHGUtI3f3ESnfMM1Cg4d32dt9rKR5R2BmyAbxraUQdkvosfTOcspxBodLw9w293B2Weak8TTC_sLA/s1600/IMG_1726+measuring+lift.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJVqefoosxgdFVVLOe4rHq1BRtI9VbKMLqr5RrCLuoJTbu9QcwzKs8HpORrYb_3EGHGUtI3f3ESnfMM1Cg4d32dt9rKR5R2BmyAbxraUQdkvosfTOcspxBodLw9w293B2Weak8TTC_sLA/s200/IMG_1726+measuring+lift.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUfgDlIldLGQjBgNWhCkXtHTf4yccu9W_8hgrf7UGsU8aTZW-j2Tf2-4p9znObP9wDl2DHPE9MctynBe6APFC8NgVE56RIXYu5H1lyTxQdNJN_qZIrfwkmDGF-TcuhlwbJW86GsSZUKhc/s1600/IMG_1727+filled+balloon.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUfgDlIldLGQjBgNWhCkXtHTf4yccu9W_8hgrf7UGsU8aTZW-j2Tf2-4p9znObP9wDl2DHPE9MctynBe6APFC8NgVE56RIXYu5H1lyTxQdNJN_qZIrfwkmDGF-TcuhlwbJW86GsSZUKhc/s200/IMG_1727+filled+balloon.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZimllXR59me1ocgXc9TlqqH2Jx3xXu-xoPv_b8qA9TMheKxx-Ocy-sytvUaoT0TpN70YBmELW5CgAlM8eFg-DJnTbX1QHqmO3kYeFM4ue3uPbifmYvDFXtXXrOmQGZspYVhz0GpsR49k/s1600/IMG_1717+rtty+reception.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZimllXR59me1ocgXc9TlqqH2Jx3xXu-xoPv_b8qA9TMheKxx-Ocy-sytvUaoT0TpN70YBmELW5CgAlM8eFg-DJnTbX1QHqmO3kYeFM4ue3uPbifmYvDFXtXXrOmQGZspYVhz0GpsR49k/s200/IMG_1717+rtty+reception.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyMNujxbKxG4GNfEE81Sb4lLUyNBjGMAUnhF7lU44EAYpJo2hHf0Kjz5XOp6oLz4zFwUHK2wtBFARHZ_3VLxxSImq6lJtpFcEB-iYhsxtqWRQiGaBsW38jIlCTBAhGfQpBAdNDe6Yf4fk/s1600/IMG_1722+rtty+reception.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyMNujxbKxG4GNfEE81Sb4lLUyNBjGMAUnhF7lU44EAYpJo2hHf0Kjz5XOp6oLz4zFwUHK2wtBFARHZ_3VLxxSImq6lJtpFcEB-iYhsxtqWRQiGaBsW38jIlCTBAhGfQpBAdNDe6Yf4fk/s200/IMG_1722+rtty+reception.JPG" width="150" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpKukxM3ykqhkhF7eaGTQni61p8Ey6Hvmt7s93bqjT3Cl6I2wB8-xdRcvGMtSuwj3rMG3dm-y3uX9UCG5oXoydRhSAEbxuQxFyLuakaZQ692eAGCt3RS6X3GO1z_MOumIXfEEQ3J512kY/s1600/IMG_1730+TT7F3+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpKukxM3ykqhkhF7eaGTQni61p8Ey6Hvmt7s93bqjT3Cl6I2wB8-xdRcvGMtSuwj3rMG3dm-y3uX9UCG5oXoydRhSAEbxuQxFyLuakaZQ692eAGCt3RS6X3GO1z_MOumIXfEEQ3J512kY/s200/IMG_1730+TT7F3+tracker.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUObzwwJwtE_UoZE3bNzU3Fgcnizol41yIKHDmO15eqt3WPxpa9Sv0fFV5JACCSvsg6M6AGrnl4lBdj17zUUghUy8KALkrnfl7tA3dyiHshbOmpY4bW_e9qAkmQPC2SWFimvuiOm7Sp_Q/s1600/IMG_1731+TT7F3+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUObzwwJwtE_UoZE3bNzU3Fgcnizol41yIKHDmO15eqt3WPxpa9Sv0fFV5JACCSvsg6M6AGrnl4lBdj17zUUghUy8KALkrnfl7tA3dyiHshbOmpY4bW_e9qAkmQPC2SWFimvuiOm7Sp_Q/s200/IMG_1731+TT7F3+tracker.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkSxsVV-mweI4nkf4ajuXv-W0Bo6pkqOW8NpBx_mW2_mkZ7hIdyWnjgFdMRyr2qLJn8vJxu8WrEVdJRNL5G5yAn3DWMXN8I-AqCuktzNdQaJUMYBNqbeoXLi1FTg_EUep_GP9V03Ou85U/s1600/IMG_1733+TT7F3+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkSxsVV-mweI4nkf4ajuXv-W0Bo6pkqOW8NpBx_mW2_mkZ7hIdyWnjgFdMRyr2qLJn8vJxu8WrEVdJRNL5G5yAn3DWMXN8I-AqCuktzNdQaJUMYBNqbeoXLi1FTg_EUep_GP9V03Ou85U/s200/IMG_1733+TT7F3+tracker.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZZGyRw7rr6lj6nwtAYEbVWHBKCS_I-WJlkq8TfDBwqbr1ggwQDsgx-8mfGqaGPOmJ6if9cZloNX8V5FU5I3wodMil5B4e55zBOj23ZOHkTXwHKzyx99IvlmL06fFsvgmbijPo5LY9VNU/s1600/IMG_1734+TT7F3+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZZGyRw7rr6lj6nwtAYEbVWHBKCS_I-WJlkq8TfDBwqbr1ggwQDsgx-8mfGqaGPOmJ6if9cZloNX8V5FU5I3wodMil5B4e55zBOj23ZOHkTXwHKzyx99IvlmL06fFsvgmbijPo5LY9VNU/s200/IMG_1734+TT7F3+tracker.JPG" width="150" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmvvfvcgcwOrG089dANojv30BK0m-nwA1wlGRObNkSfI5dg-b7SyHX1KKnoGrZkZVcYbWC9bEYuMKp8_QIIWgpfqeswEwEC_ykXAn9459e7HZze09fSzTrReoWmd4NPl3bGyp7CFpuMUg/s1600/IMG_1736+184+superpressure+balloon.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmvvfvcgcwOrG089dANojv30BK0m-nwA1wlGRObNkSfI5dg-b7SyHX1KKnoGrZkZVcYbWC9bEYuMKp8_QIIWgpfqeswEwEC_ykXAn9459e7HZze09fSzTrReoWmd4NPl3bGyp7CFpuMUg/s200/IMG_1736+184+superpressure+balloon.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhj4F72GKmmvHMcKvS2MV7m9_VkUe3ts8SccblFrHi4RTm8nqIAZOzQLMNtcBEwlSiawJ9PhCMi5mTsGjRUzqnpS8uBX6UXi5MNyXlWjepItydQn9fxMhMUhv0mU1OmSZYuyXSXp2cTo4c/s1600/IMG_1737+184+superpressure+balloon.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhj4F72GKmmvHMcKvS2MV7m9_VkUe3ts8SccblFrHi4RTm8nqIAZOzQLMNtcBEwlSiawJ9PhCMi5mTsGjRUzqnpS8uBX6UXi5MNyXlWjepItydQn9fxMhMUhv0mU1OmSZYuyXSXp2cTo4c/s200/IMG_1737+184+superpressure+balloon.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCBvUOwt4kqNY9eqKd06x5JBWYQSNkQCdU27et1Un3BbVv1iZdafmq408SlDCSXlpFftXKI496WDznXs-PYYGpZrRTocy7PxtExbNS3G6CguyBC2cwvTnGQVkexElzHl2Nk_fR_Px-0Ow/s1600/IMG_1735+184+superpressure+balloon.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCBvUOwt4kqNY9eqKd06x5JBWYQSNkQCdU27et1Un3BbVv1iZdafmq408SlDCSXlpFftXKI496WDznXs-PYYGpZrRTocy7PxtExbNS3G6CguyBC2cwvTnGQVkexElzHl2Nk_fR_Px-0Ow/s200/IMG_1735+184+superpressure+balloon.JPG" width="150" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSkTWCiOkRNK2ABtDXUuPy8osFZpvBTet4KMtvqVPtgfbevmEp9si9YOweA_-b_ErKZCAHVx1-nOw0crdx8FeB_Gxu8CNGel153Suz9498F9NpQeEMpCAwECwwC8b1oYOkPJQjyi56Ziw/s1600/IMG_1739+184+superpressure+balloon.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSkTWCiOkRNK2ABtDXUuPy8osFZpvBTet4KMtvqVPtgfbevmEp9si9YOweA_-b_ErKZCAHVx1-nOw0crdx8FeB_Gxu8CNGel153Suz9498F9NpQeEMpCAwECwwC8b1oYOkPJQjyi56Ziw/s200/IMG_1739+184+superpressure+balloon.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgN48d5DBthpgo7N1DEPUqM9FQ9y3ENZ4CU9fy7L9b4bBdvqL_AUtikbgkLfKb6Yj6XoYexfHqjLTgjDExRtTAa5-92pVlXaeRIiR0OCLyHR2z1mjmUgYcUeHRqYfI4cnxqRHhrux-OVLQ/s1600/IMG_1738+sealed+filling+tube.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgN48d5DBthpgo7N1DEPUqM9FQ9y3ENZ4CU9fy7L9b4bBdvqL_AUtikbgkLfKb6Yj6XoYexfHqjLTgjDExRtTAa5-92pVlXaeRIiR0OCLyHR2z1mjmUgYcUeHRqYfI4cnxqRHhrux-OVLQ/s200/IMG_1738+sealed+filling+tube.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirLqaS3_OvFB4mdZMmj4tVbMxAUyc7y4iT2zfH1_g1hH1bhIISJ5qLMR5wMWYPiEFojhsOV9nZDh7PuYZxXq3ZqWEuZYDhh99DLx80eJgo1ie2TAo3FSOdmzxJDVrIDhem8ym5VyOCHY0/s1600/IMG_1740+launching.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirLqaS3_OvFB4mdZMmj4tVbMxAUyc7y4iT2zfH1_g1hH1bhIISJ5qLMR5wMWYPiEFojhsOV9nZDh7PuYZxXq3ZqWEuZYDhh99DLx80eJgo1ie2TAo3FSOdmzxJDVrIDhem8ym5VyOCHY0/s200/IMG_1740+launching.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPDma9IQ66nRpUskl31HA6NorPUH2UdPBk_dEbaaPhI8lvg6mt61vkUAxfBEN4rWfTre1JPiYvafhf68bfDNzhM1zaW3igvLanqVtz81B9AqheNu8xKrpLZAqt6cv0hJfe2k663Pfu-Mc/s1600/IMG_1742+launched.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPDma9IQ66nRpUskl31HA6NorPUH2UdPBk_dEbaaPhI8lvg6mt61vkUAxfBEN4rWfTre1JPiYvafhf68bfDNzhM1zaW3igvLanqVtz81B9AqheNu8xKrpLZAqt6cv0hJfe2k663Pfu-Mc/s200/IMG_1742+launched.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQtoJ_uED1Ht3gvN-I_I5wmMPYdlfWyEVYYeC4Vct2Un1OStYC6z0F76qsWAVTw8aTYe_2oCWiLF4POpN2i47fLEmdP_fmG3b8w_ZFCArh9ECd2c3tCYhG_ec98iAGKmppfz_fNB5osDA/s1600/IMG_1744+launched.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQtoJ_uED1Ht3gvN-I_I5wmMPYdlfWyEVYYeC4Vct2Un1OStYC6z0F76qsWAVTw8aTYe_2oCWiLF4POpN2i47fLEmdP_fmG3b8w_ZFCArh9ECd2c3tCYhG_ec98iAGKmppfz_fNB5osDA/s200/IMG_1744+launched.JPG" width="150" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/DoQDMOrEiq4/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/DoQDMOrEiq4?feature=player_embedded" width="320"></iframe></div>
<b>Launch</b><br />
I managed to fill the balloon to 15.5g free lift. The launch itself went smoothly. I also tried to improve the RTTY reception by temporarily installing a ground plane antenna with an LNA on the roof. It worked well until the balloon reached about 5.5km in altitude and the voltage on the tracker's capacitors fell below 3.8V for some reason. Below this level the tracker ceases RTTY transmissions and switches to APRS in two minute cycles only. In this manner, the tracker continued all the way to sunset. The last received data show some wobbling in the balloon's altitude (cooling of the gas after sunset?). The predicted path had the balloon over Romania for the following day where APRS transmission is turned off. At the time of writing several days later the tracker hasn't showed up anywhere along the predicted path and is considered no longer afloat.<br />
<br />
<b>Data</b><br />
<a href="https://drive.google.com/open?id=0B8Fb45Vo8uIsd09TYjFDcnFlWmc">APRSfi_TT7F3.txt</a> - collected raw packets.<br />
Python <a href="https://github.com/TomasTT7/TT7F-Float-Tracker/blob/master/Accessories/APRSFIparser_TT7F3.py">parser</a> of APRS.fi raw packet format.<br />
The positional and telemetry data extracted from received APRS packets and decoded backlogs:<br />
<br />
<div style="text-align: center;">
<iframe height="400" src="https://www.google.com/maps/d/embed?mid=1_-AVIM-fnTJdHBam8USIxlxrNnM" width="528"></iframe><br /></div>
<br />
<div style="text-align: center;">
<iframe frameborder="0" height="700" scrolling="no" src="//plot.ly/~TomasTT7/59.embed" width="600"></iframe><br /></div>
TT7http://www.blogger.com/profile/11095378058232471221noreply@blogger.com0tag:blogger.com,1999:blog-7063183727921268380.post-59111552869804191462017-08-28T20:16:00.000+02:002018-09-08T03:33:05.438+02:00The TT7F2 Flight<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGsCJA9NAP1jJaxrf8rPj6lLLw0ksKYBPeWikNWMUU_RI6bat3vHsZ4BjtFhTAfNdy8xYjughggWWGQm2A45kjVAzXcQc2KVEf-G7gfzxOP74cI8aCtlqWX5xJI82x-byVV7o7kZGOyms/s1600/IMG_0977+TT7F2+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGsCJA9NAP1jJaxrf8rPj6lLLw0ksKYBPeWikNWMUU_RI6bat3vHsZ4BjtFhTAfNdy8xYjughggWWGQm2A45kjVAzXcQc2KVEf-G7gfzxOP74cI8aCtlqWX5xJI82x-byVV7o7kZGOyms/s200/IMG_0977+TT7F2+tracker.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6FOvBNUC4BocesPbJ2ggHGFN7xplq-dMKzyJCbiBjbqWo8n0pkQvNul1EDowYIy_ti06owYtHWOmxyMNcTXt28IY-g56D01TLpvvBAfiFgXl2lUcANHwH5CNrzQ2AyuzbwdrIagcUFCQ/s1600/IMG_1438+133+superpressure+balloon.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6FOvBNUC4BocesPbJ2ggHGFN7xplq-dMKzyJCbiBjbqWo8n0pkQvNul1EDowYIy_ti06owYtHWOmxyMNcTXt28IY-g56D01TLpvvBAfiFgXl2lUcANHwH5CNrzQ2AyuzbwdrIagcUFCQ/s200/IMG_1438+133+superpressure+balloon.JPG" width="200" /></a></div>
<b>Date:</b> 2017-08-29<br />
<b>Time:</b> 6:00 GMT (8:00 CEST)<br />
<b>Place:</b> Roznov pod Radhostem, CZ<br />
<b>Live Tracking:</b> <a href="https://tracker.habhub.org/#!qm=All&q=TT7F2;OK7DMT-12">https://tracker.habhub.org</a>, <a href="https://aprs.fi/#!mt=roadmap&z=11&call=a%2FOK7DMT-12&timerange=3600&tail=3600">https://aprs.fi</a> and <a href="http://ssdv.habhub.org/TT7F2">ssdv.habhub.org</a><br />
<br />
<b>RTTY</b><br />
<b>Callsign:</b> TT7F2<br />
<b>Frequency:</b> 434.319MHz<br />
<b>Params:</b> 300 baud, 850Hz shift, 8n2 <br />
<b>Preceded by:</b> 5 slow blips (~6s)<br />
<b>Packet:</b> callsign, count, time, date, latitude, longitude, altitude, sats, Vsolar, Vbatt, Tmcu, Ttx,Images,SSDVstatus<br />
<b>Example:</b> $$TT7F2,63,11:41:03,20170706,49.46861,18.15093,402,7,2035,4075,32,27,4,1*4E06<br />
<br />
<b>SSDV</b><br />
<b>Callsign:</b> TT7F2<br />
<b>Frequency:</b> 434.319MHz<br />
<b>Params:</b> 300 baud, 850Hz shift, 8n2<br />
<b>Interleaving:</b> RTTY telemetry and APRS packet after every 5 SSDV packets (~1min)<br />
<b>Preceded by:</b> every 5 packet block preceded by 5 fast blips (~2.5s)<br />
<b>Image:</b> 320x240, 50 quality, YCbCr422 <br />
<br />
<b>APRS</b><br />
<b>Callsign:</b> OK7DMT-12<br />
<b>Frequency:</b> Geofenced local APRS <a href="http://tt7hab.blogspot.cz/2017/02/aprs-automatic-packet-reporting-system.html">frequencies</a><br />
<b>Packet:</b> Base-91 position and telemetry, <a href="http://tt7hab.blogspot.cz/2017/02/aprs-automatic-packet-reporting-system.html">Backlogged</a> position and telemetry in Comment section<br />
<b>Example:</b> !/5KyHS)='OJ5W 1F94!5MI,S(LWHC!+=7+;0c!'|!4!-<x+S1%!(!$|<br />
<br />
<b>Initial Prediction:</b> 2017-08-28<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioUZUskAAzi-ycOySKtf0HRGOjZpo3DdiEFHzrI1pl7q2nktEaGLlxc5ukF8kFeIC1u9vO52PRplnoanbTq8FBUO7BLIBRaxprbJHqIE9_XoD8YmTnYdHfa9ULwocQRkTAR7TH0lQ1Oc4/s1600/initial+prediction+20170828.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="765" data-original-width="1059" height="231" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioUZUskAAzi-ycOySKtf0HRGOjZpo3DdiEFHzrI1pl7q2nktEaGLlxc5ukF8kFeIC1u9vO52PRplnoanbTq8FBUO7BLIBRaxprbJHqIE9_XoD8YmTnYdHfa9ULwocQRkTAR7TH0lQ1Oc4/s320/initial+prediction+20170828.jpg" width="320" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdpfYeAx0Ibs9n7icaSLBsXe-modajNefBjlWUOFaEaPiHpuh7YwYDHfMAb0Tt82Fmh_iBgLIGJTDuGf_puUrP5yBqPJmvVtyPUNIE5_ZfgBW8wCcaxFHga5BsiDXRth2yJb2to6wSSMM/s1600/initial+prediction+20170828+hysplit.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="914" data-original-width="734" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdpfYeAx0Ibs9n7icaSLBsXe-modajNefBjlWUOFaEaPiHpuh7YwYDHfMAb0Tt82Fmh_iBgLIGJTDuGf_puUrP5yBqPJmvVtyPUNIE5_ZfgBW8wCcaxFHga5BsiDXRth2yJb2to6wSSMM/s200/initial+prediction+20170828+hysplit.gif" width="160" /></a></div>
<b>Power Scheme</b><br />
If the voltage on the solar panel is higher than 1.6V and the battery voltage is higher than 3.0V, the tracker transmits APRS once per minute, RTTY once per two minutes and SSDV at every top of the hour and on every half hour. During the SSDV transmission, the tracker interrupts the packet flow with an interleaved APRS and RTTY transmission after every five SSDV packets (~once per minute). If either the solar panel voltage or the battery voltage is below its limit, the tracker transmits only APRS packets once per two minutes and doesn't take images.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjG7klv95XutB92SDov8nTLnoA6hjSxqhO5S8v3azM4ZmnLUdsQMHxjcXqAIaSsV9tZ7FoUSJJm6iaCW49JWcdUlayX0Z_oZ-x1AtbP3sShrO4gEQz3Pm4_BpMpYl1vNkTNFtrGPaPKMsg/s1600/IMG_0841+solar+panel.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjG7klv95XutB92SDov8nTLnoA6hjSxqhO5S8v3azM4ZmnLUdsQMHxjcXqAIaSsV9tZ7FoUSJJm6iaCW49JWcdUlayX0Z_oZ-x1AtbP3sShrO4gEQz3Pm4_BpMpYl1vNkTNFtrGPaPKMsg/s200/IMG_0841+solar+panel.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnb3RuuCfX0j2k0IQv3mu-GhJ6rxAKoiCyWaX0b2E18OoMjBQhxrtrpLyFmDe1GkB1vjw_YbfcojrrE7-ggo2Sogl6tZ8g2dLVtz1LquVexbylTZ3MMIhfwnT_Lm8zs4k27voQE46Tp1Y/s1600/IMG_0840+solar+panel.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnb3RuuCfX0j2k0IQv3mu-GhJ6rxAKoiCyWaX0b2E18OoMjBQhxrtrpLyFmDe1GkB1vjw_YbfcojrrE7-ggo2Sogl6tZ8g2dLVtz1LquVexbylTZ3MMIhfwnT_Lm8zs4k27voQE46Tp1Y/s200/IMG_0840+solar+panel.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIsDdTTGiM0_Fw80TJGs9arTWLFv7_GzwLle-BviyFXntM-HgOXVlW88GRGRMtcHejyDP7KivFZFOPyegtzom6w048EInttwQwvN-xX0dcaKliZBHzbxOXvt8JlCetXEvZZFOaG3x2AZw/s1600/IMG_0860+dipole.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIsDdTTGiM0_Fw80TJGs9arTWLFv7_GzwLle-BviyFXntM-HgOXVlW88GRGRMtcHejyDP7KivFZFOPyegtzom6w048EInttwQwvN-xX0dcaKliZBHzbxOXvt8JlCetXEvZZFOaG3x2AZw/s200/IMG_0860+dipole.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWE74j7MD-MqoO2NdBIP3DMXWHq-YHqV325FznaDlw5FyZDI7S_52cS-f2m2YYEVOGJjZg1B8dfSfQz_KRoNFAx0LvqKlI0PotHQ2-zuzqBE7Xxg73bBIHFEkLskmz1uhU7X3G9UI1bNo/s1600/IMG_0890+LiPo+replaced+leads.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWE74j7MD-MqoO2NdBIP3DMXWHq-YHqV325FznaDlw5FyZDI7S_52cS-f2m2YYEVOGJjZg1B8dfSfQz_KRoNFAx0LvqKlI0PotHQ2-zuzqBE7Xxg73bBIHFEkLskmz1uhU7X3G9UI1bNo/s200/IMG_0890+LiPo+replaced+leads.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRL9rKv_zd27_tpU3SiStAGVT6xK28nHxutBwCtniBENdCHx36fifAKF4494t44x_kmfWE9Qz0uCcVyfo2nxnpiZAfWEEj_D2HfmIySkVL-W_KLXBoBaRe4M5B_zbLNoZxFCbJR8KUECE/s1600/IMG_0912+solar+panel+attached.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRL9rKv_zd27_tpU3SiStAGVT6xK28nHxutBwCtniBENdCHx36fifAKF4494t44x_kmfWE9Qz0uCcVyfo2nxnpiZAfWEEj_D2HfmIySkVL-W_KLXBoBaRe4M5B_zbLNoZxFCbJR8KUECE/s200/IMG_0912+solar+panel+attached.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGrJDsmT9ZjthJ90pRLnT0eoRMRQYgGxhd2rMV3AIKh6BmmX0wm1ed6y8wjPy2HnY7LPXOLNeMNM2mu3Gb2xDt3BDuMdwt0IBeZb_i4h5eNAfkL-IV_B6rJMpNCZ2a88sIPCC3JB-zj4g/s1600/IMG_0926+TT7F2+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGrJDsmT9ZjthJ90pRLnT0eoRMRQYgGxhd2rMV3AIKh6BmmX0wm1ed6y8wjPy2HnY7LPXOLNeMNM2mu3Gb2xDt3BDuMdwt0IBeZb_i4h5eNAfkL-IV_B6rJMpNCZ2a88sIPCC3JB-zj4g/s200/IMG_0926+TT7F2+tracker.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFubp03EKGP0z1n_OWq54V4myqxnRgj5KUx-IOOnGndqIejuQspi7eXWHHVgFD6-pdFKF-ejfM8KXWAbkgYBo6Wf1U3ByMdMwho9qw2UGDq5zur6GX9iVgGGn_BBXuADUq2CIidCw8P2E/s1600/IMG_0928+LiPo+attached.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFubp03EKGP0z1n_OWq54V4myqxnRgj5KUx-IOOnGndqIejuQspi7eXWHHVgFD6-pdFKF-ejfM8KXWAbkgYBo6Wf1U3ByMdMwho9qw2UGDq5zur6GX9iVgGGn_BBXuADUq2CIidCw8P2E/s200/IMG_0928+LiPo+attached.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDXKdoQzYfT8h3w9cGSAgBUX0-n_lWLkWfzpiZ8uvGwxCHPxks5G6vtuhzXdJXM-CzbzrQKswgrdIO9Zg_FDAeOLrA0v57l8QUQElKi8bfsYTBpaRfKf_YCVSG2r1i9sFohg8fLgvy9d8/s1600/IMG_0930+LiPo+attached.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDXKdoQzYfT8h3w9cGSAgBUX0-n_lWLkWfzpiZ8uvGwxCHPxks5G6vtuhzXdJXM-CzbzrQKswgrdIO9Zg_FDAeOLrA0v57l8QUQElKi8bfsYTBpaRfKf_YCVSG2r1i9sFohg8fLgvy9d8/s200/IMG_0930+LiPo+attached.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOrYMMQws9fBzkqf7NhPxgeMv3zz-60UbiZBRQr-0TTvYYpHCJ3bC9wdTygPkcZSj3EmwihrXfPxieoDYJiuLBebaj76ox9Rvjg0JO6-TNVFYYk33wmavxBFDv3XjAu1IMMG8gv4ANPJM/s1600/IMG_0971+shrink+wrap.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOrYMMQws9fBzkqf7NhPxgeMv3zz-60UbiZBRQr-0TTvYYpHCJ3bC9wdTygPkcZSj3EmwihrXfPxieoDYJiuLBebaj76ox9Rvjg0JO6-TNVFYYk33wmavxBFDv3XjAu1IMMG8gv4ANPJM/s200/IMG_0971+shrink+wrap.JPG" width="150" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3IKIvk8u1aKpzNZFDUvqYaKHbvzp5iH0Hwbp9n_pCarBpp6qm6yjHi3jSDUWn9aBkx7jBRqLcn94ksZAJxW7awJh5Dz_Ss8MuTx-rcQuw4IryO7LL3jT9EktOco2SeGvAFtZm2GtcoK4/s1600/IMG_0972+shrink+wrap.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3IKIvk8u1aKpzNZFDUvqYaKHbvzp5iH0Hwbp9n_pCarBpp6qm6yjHi3jSDUWn9aBkx7jBRqLcn94ksZAJxW7awJh5Dz_Ss8MuTx-rcQuw4IryO7LL3jT9EktOco2SeGvAFtZm2GtcoK4/s200/IMG_0972+shrink+wrap.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYasWzUIq_toW8wBsWrO5A1VUx9_4Y-Tt9pCqUx977MQZeenYPdEV9h2hgfvitvC6m0-jHinuJpNJW_9y6pnf9vGDNqd892Z8N6EjDSoKxpROmVMxj2hpgacDXPORq4Dfgeb5tvFgeyYg/s1600/IMG_0968+shrink+wrap.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYasWzUIq_toW8wBsWrO5A1VUx9_4Y-Tt9pCqUx977MQZeenYPdEV9h2hgfvitvC6m0-jHinuJpNJW_9y6pnf9vGDNqd892Z8N6EjDSoKxpROmVMxj2hpgacDXPORq4Dfgeb5tvFgeyYg/s200/IMG_0968+shrink+wrap.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKJI_oGKXUN6Ak5FN0MQugEDo8zeXtFdvd0_b7Q8GKpxeG_BVg5cYu4Sat2d1AHHcemAqQixr15YCyZPeusme1eFX2UwogubWCxI1mK1G8WatzjKUuvE7MUelO4-3AmAiCIT044-Py-u4/s1600/IMG_0982+TT7F2+mass.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKJI_oGKXUN6Ak5FN0MQugEDo8zeXtFdvd0_b7Q8GKpxeG_BVg5cYu4Sat2d1AHHcemAqQixr15YCyZPeusme1eFX2UwogubWCxI1mK1G8WatzjKUuvE7MUelO4-3AmAiCIT044-Py-u4/s200/IMG_0982+TT7F2+mass.JPG" width="150" /></a></div>
<b>Tracker</b><br />
This tracker is equipped with a 250mAh LiPo battery and charged to 4.06V by four 52x38mm solar cells positioned at 0° angle to ground. This number of cells required a different method for mounting since reliable soldering of the cells continues to be challenging. The current approach is documented in the images. The LTC3105's resistor at MPPC pin was increased to 180k<span class="st">Ω to reflect the higher number of cells and hence</span> the higher input voltage. This means the MPPC circuit will consider 1.8V to be the optimal operating point for given power source (1.8V being 78% of the panel's measured open circuit voltage). Replacing the LiPo battery's leads wasn't a problem since all the soldering was done on the small protection circuit board. The shrink wrap doesn't fit as tight as it could, but I didn't want to risk overheating the LiPo while applying too much heat. The antenna is a 2-meter dipole again (492mm for each of the elements). I experimented with a dual band antenna for a while without too much success. An antenna tuned to the 70-centimeter band would be much better for the SSDV transmission, however, the current thinking sees APRS as more important. Concerning the MT9D111 camera module, it occasionally suffers from overshot colors in the image. I found this behaviour in all the modules from a specific seller. The original camera I worked with didn't show any of these issues using identical software.<br />
<b>Mass:</b> 19.7g <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNjy16Po6M5ghmdh0BDBrkjh2ZouSIF6mErKFzkMHeTy09IOALMl2nUlL01vLvEmw1pxXnN1MVG2O5BaUNyz5RIFOX3iMx4_4wLyRgeaRSblSOl400d4ZkZzTc5tTy8OBu3zRs6ewfNYw/s1600/chart-final+setup.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="614" data-original-width="975" height="125" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNjy16Po6M5ghmdh0BDBrkjh2ZouSIF6mErKFzkMHeTy09IOALMl2nUlL01vLvEmw1pxXnN1MVG2O5BaUNyz5RIFOX3iMx4_4wLyRgeaRSblSOl400d4ZkZzTc5tTy8OBu3zRs6ewfNYw/s200/chart-final+setup.png" width="200" /></a></div>
<b>Software</b><br />
The main function running the tracker can be found in <a href="https://github.com/TomasTT7/TT7F-Float-Tracker/blob/master/Software/ARM_TT7F2.c">ARM_TT7F2.c</a> on GitHub. The structure is similar to TT7F1. It only adds MT9D111 and SSDV blocks that in every loop cycle check for the right time and sufficient voltage on the solar panel and the battery, then decide whether to try take an image and transmit it. I also implemented Watchdog this time to ensure the camera operations don't leave the tracker in a deadlock. The code should keep on flowing even if the camera gets disconnected or doesn't respond. The APRS packet uses two more bits of the telemetry's bitfield to inform whether SSDV transmission is currently ongoing (Img bit) and whether the tracker currently operates in the long, APRS only, power saving cycle (PSM bit). The data from received APRS packets illustrate the tracker's behaviour in the chart above.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRCyKrJEbXU5KxIQj_mqUX0LWNRIgVQ0srHs1hxtjttKhJhyj_ECoqGJZUKJu0pNvv_z32TmaOiN866LgpGpnm3bNT_174xFkc4vRFBZJR9qlQjJMQkxF3QYdwSWlT-E8-7glA6ZUFGs4/s1600/Superpressure+balloon+stretching+profile+%2528133_n3%2529.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="492" data-original-width="930" height="105" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRCyKrJEbXU5KxIQj_mqUX0LWNRIgVQ0srHs1hxtjttKhJhyj_ECoqGJZUKJu0pNvv_z32TmaOiN866LgpGpnm3bNT_174xFkc4vRFBZJR9qlQjJMQkxF3QYdwSWlT-E8-7glA6ZUFGs4/s200/Superpressure+balloon+stretching+profile+%2528133_n3%2529.png" width="200" /></a></div>
<b>Balloon</b><br />
The envelope is again 1.33m in diameter. It was made from 50 micron PE/PA/EVOH/PA/PE material and the estimated stretch is 1.93 Gamma (this is probably less based on the final floating altitude of TT71). The chart above shows the stretching profile for this specific envelope. A comparable level of stretch to TT7F1's envelope was achieved in half the time this time.<br />
<b>Expected Float Altitude:</b> 13550m<br />
<b>Expected Ascent Rate:</b> 1m/s<br />
<b>Expected Superpressure:</b> 2156Pa (at 17°C supertemperature)<br />
<b>Gas:</b> Hydrogen<br />
<b>Free Lift:</b> 10g<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjytO97c2QTqqO4SXVeaAqU-UCVXT_mYZ5YjqvHBQiYRU0GNYegs174FEpwUyYkuKT4cO_JyfZ7RJokSuWRERWbS4AjX424RmnckgYWdktTM8D1wsGs_QxRTWMeLWMbuDNzrjCuJyfd_i4/s1600/IMG_1688+TT7F2+final+mass.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjytO97c2QTqqO4SXVeaAqU-UCVXT_mYZ5YjqvHBQiYRU0GNYegs174FEpwUyYkuKT4cO_JyfZ7RJokSuWRERWbS4AjX424RmnckgYWdktTM8D1wsGs_QxRTWMeLWMbuDNzrjCuJyfd_i4/s200/IMG_1688+TT7F2+final+mass.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOZqJz14XJlLSfQYlYAQ1CJxKW-ctDBkXxsAxsB9mfwfHQtKqXocN8iFDOT-sqyxpQVzNm7ZoF7S6ajkErf-nnDR_v0YfoPOIIqTRO6byN-W-EnkB_AejfmtGOhlVWckpCGNHxeZk9d1Q/s1600/IMG_1691+measuring+free+lift.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOZqJz14XJlLSfQYlYAQ1CJxKW-ctDBkXxsAxsB9mfwfHQtKqXocN8iFDOT-sqyxpQVzNm7ZoF7S6ajkErf-nnDR_v0YfoPOIIqTRO6byN-W-EnkB_AejfmtGOhlVWckpCGNHxeZk9d1Q/s200/IMG_1691+measuring+free+lift.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAoesaedJj1lDQQi-bPUeXuEN782FO3uzektKuGVpaTwQWFdu4ujlVuTAcAoKV4GyhyphenhyphenGdJ_BZLkULZ_huq8TiyHcDP4y0-QH2W1rdmqM4l-cGAoRssqkBnR83x4VvFrFOPvQjv_CJzadM/s1600/IMG_1692+measuring+free+lift.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAoesaedJj1lDQQi-bPUeXuEN782FO3uzektKuGVpaTwQWFdu4ujlVuTAcAoKV4GyhyphenhyphenGdJ_BZLkULZ_huq8TiyHcDP4y0-QH2W1rdmqM4l-cGAoRssqkBnR83x4VvFrFOPvQjv_CJzadM/s200/IMG_1692+measuring+free+lift.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj19J1dGdGqxFJNyjx7NmdA_mFebKNi0kpGIwtlpUiQA5ZnamlQoWmLDIzXhdg_5btnF3iRw47YMgY7qbsdE9yMbXrQEcWC1uo9la0XXSKpthmDra51H1Ym2OBGozNw-4BMY9ycXOwZk6w/s1600/IMG_1693+sealed+filling+tube.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj19J1dGdGqxFJNyjx7NmdA_mFebKNi0kpGIwtlpUiQA5ZnamlQoWmLDIzXhdg_5btnF3iRw47YMgY7qbsdE9yMbXrQEcWC1uo9la0XXSKpthmDra51H1Ym2OBGozNw-4BMY9ycXOwZk6w/s200/IMG_1693+sealed+filling+tube.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisB7UOsvi83FkCHfLOJ4MNrOTA1wZWAfJJAZlGFhFw5XASEQuEfUWgfi19y0IIPIjkmtKcdpz_MiMxVBG2gEkv658BvdjZML3F9gLsVYmZSX3mJ-6cePhiWB8L-oxMsS-LpjOobIF8O8Y/s1600/IMG_1695+filled+balloon.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisB7UOsvi83FkCHfLOJ4MNrOTA1wZWAfJJAZlGFhFw5XASEQuEfUWgfi19y0IIPIjkmtKcdpz_MiMxVBG2gEkv658BvdjZML3F9gLsVYmZSX3mJ-6cePhiWB8L-oxMsS-LpjOobIF8O8Y/s200/IMG_1695+filled+balloon.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh51MDxbvT3ygNQx2WVc_JrXHdrymi75cDACwOr2nLMRXH5VId9jqJFYvcl_J5K3XIbsmI-tQjIPkdcsvXE_bCYkCCzQSSdPGoLviqfuRJ2KrIyocJ2y3qAA558Mj6UWbfhVMfAXwqmNN4/s1600/IMG_1701+133+superpressure+balloon.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh51MDxbvT3ygNQx2WVc_JrXHdrymi75cDACwOr2nLMRXH5VId9jqJFYvcl_J5K3XIbsmI-tQjIPkdcsvXE_bCYkCCzQSSdPGoLviqfuRJ2KrIyocJ2y3qAA558Mj6UWbfhVMfAXwqmNN4/s200/IMG_1701+133+superpressure+balloon.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgY63yrnXfeXcKaB-D5ymzgxa6wCY_4frkgmtgq0TGXXyXq3Prjab4ujTsun2Lfv555yf2459IBZ2s4qNXC_AVH9n5SrfRWj7p6BHH3sm3PDcX0sdOMNjvpT4g7NlXyEiFCClmEPcumcMo/s1600/IMG_1700+133+superpressure+balloon.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgY63yrnXfeXcKaB-D5ymzgxa6wCY_4frkgmtgq0TGXXyXq3Prjab4ujTsun2Lfv555yf2459IBZ2s4qNXC_AVH9n5SrfRWj7p6BHH3sm3PDcX0sdOMNjvpT4g7NlXyEiFCClmEPcumcMo/s200/IMG_1700+133+superpressure+balloon.JPG" width="150" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTn3B_L9J1wqFt2yzaPixwERXcKPN-Fo4omY58bIoQWhjbqAW8aXCnQk_oD_xt9wEYBDTbKomHzh0QMTqhT4EOd7EcwDmGUlZ9O2OC_U3pWf5cnXrCSgNZMsJibBEYjzf89Opw0hPsZKo/s1600/IMG_1702+TT7F2+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTn3B_L9J1wqFt2yzaPixwERXcKPN-Fo4omY58bIoQWhjbqAW8aXCnQk_oD_xt9wEYBDTbKomHzh0QMTqhT4EOd7EcwDmGUlZ9O2OC_U3pWf5cnXrCSgNZMsJibBEYjzf89Opw0hPsZKo/s200/IMG_1702+TT7F2+tracker.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGUavOSuI-8X5ZYgz6OgRS3K3Uop9s5U3nG2zLWKv9y1PmTc-leaDcQuorBXPBgbZsjLmx8cwBZ7G0qjgvIpdnvCNkSCQ0tp3oIkEfuhwFfakbejU2NVtKaacvEETgZw3pPLavceEE8P8/s1600/IMG_1703+TT7F2+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGUavOSuI-8X5ZYgz6OgRS3K3Uop9s5U3nG2zLWKv9y1PmTc-leaDcQuorBXPBgbZsjLmx8cwBZ7G0qjgvIpdnvCNkSCQ0tp3oIkEfuhwFfakbejU2NVtKaacvEETgZw3pPLavceEE8P8/s200/IMG_1703+TT7F2+tracker.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxqmG5uGlBBi6h63UwOdyqeiQj6Ez-uGvps-v_pctp5VyOvo0sRtLn7nFxcA2_cD-6s1UC15My3WJS_1H_I9-cm-Oe32k5EUG8Lu3yA3GehskmnciqsByeXkqBzX7Ir7DIuyoKMEN6lc0/s1600/IMG_1705+launch.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxqmG5uGlBBi6h63UwOdyqeiQj6Ez-uGvps-v_pctp5VyOvo0sRtLn7nFxcA2_cD-6s1UC15My3WJS_1H_I9-cm-Oe32k5EUG8Lu3yA3GehskmnciqsByeXkqBzX7Ir7DIuyoKMEN6lc0/s200/IMG_1705+launch.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh84dusJFFeUhqhApOgOz9GD3PlXWIDQgMmZnBUKstr2mmOf6s7H5CMqBhQVhPIRxclUfYhQEyLNE9bRq4LRbafNPJ2HtzGMK3l8VhND5NegafW2ysBpI9OwkDy-SgaHPLJtuGqtS_ULGY/s1600/IMG_1706+launched.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh84dusJFFeUhqhApOgOz9GD3PlXWIDQgMmZnBUKstr2mmOf6s7H5CMqBhQVhPIRxclUfYhQEyLNE9bRq4LRbafNPJ2HtzGMK3l8VhND5NegafW2ysBpI9OwkDy-SgaHPLJtuGqtS_ULGY/s200/IMG_1706+launched.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0ldFLQxNn7fL-vw7xpe8pcdk9vYs58Z35wwdHiEiGbu1VdvrLtLquKSGqwSbCHCIQbpg6HYgur4yp6GxRyc1pFlR7syBP98uZRuiixycw12VFV9L9jKN-7oPczG-YtLNsTwz04kgWvEE/s1600/IMG_1712+rx+setup.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0ldFLQxNn7fL-vw7xpe8pcdk9vYs58Z35wwdHiEiGbu1VdvrLtLquKSGqwSbCHCIQbpg6HYgur4yp6GxRyc1pFlR7syBP98uZRuiixycw12VFV9L9jKN-7oPczG-YtLNsTwz04kgWvEE/s200/IMG_1712+rx+setup.JPG" width="150" /></a></div>
<b>Launch</b><br />
This time, I got closer to the intended free lift with about 10.8g. The tracker was somewhat heavier which meant more gas and lower float altitude. The 10.5km, at which the balloon interrupted its ascent, confirmed significant inaccuracy in my pre-flight envelope stretch estimates. After launching the balloon into calm cloudless sky, my poorly situated rx setup got to bring in only snippets of the first SSDV transmissions until OM1ATS in Slovakia joined in and managed to upload two complete images. After that the transmission from the balloon went silent and returned only in bits with a few hours in between later into the day. The received data led me to believe that there was something wrong with communication between the MCU and the transmitter. I saw similar issues with other TT7F pcbs from the same batch (ordered from DirtyPCBs). Usually a via in a trace would at some point start to misbehave compromising SPI or TWI interfaces or an image data line. If my guess is right and the balloon stays afloat, there may be sporadic transmissions in the future, but I am not holding my breath. The remaining three trackers are all built on new pcbs from OSH Park, so hopefully will avoid these sorts of issues in flight.<br />
<br />
<b>Data</b><br />
<a href="https://drive.google.com/file/d/0B8Fb45Vo8uIsb1U0VDNoVld3MVE/view?usp=sharing">APRSfi_TT7F2.txt</a> - collected raw packets.<br />
Python <a href="https://github.com/TomasTT7/TT7F-Float-Tracker/blob/master/Accessories/APRSFIparser_TT7F2.py">parser</a> of APRS.fi raw packet format.<br />
Received SSDV images:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivKrAJiIjSB-l4a1bAd9tivm2GjUKzMM4mB4T4nBatfWpGVL0NK-yi_O5ZTCvNrNFNKY0OrDEMYTRG23msf76Se8yHQYgN0S2IRUvPyrYXU7dZzT5Hsedbx56QSuLnP9N7qTdbUdq5WSQ/s1600/2017-08-29--06-31-40-TT7F2-18FDB.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="240" data-original-width="320" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivKrAJiIjSB-l4a1bAd9tivm2GjUKzMM4mB4T4nBatfWpGVL0NK-yi_O5ZTCvNrNFNKY0OrDEMYTRG23msf76Se8yHQYgN0S2IRUvPyrYXU7dZzT5Hsedbx56QSuLnP9N7qTdbUdq5WSQ/s200/2017-08-29--06-31-40-TT7F2-18FDB.jpeg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1qtVBhfrb6VDxqkIgkXOM6AKgg8uqujnoiQL4_b5wC-ucNJ2gc39lmLAU1txrrgaIWPBzCMNdOyMkjmqDFCEor4f5_kesw4H4hzBF2Z_88M7es1BKhA36eIrb7Dkqr7mt1tOUeqhpXjg/s1600/2017-08-29--07-01-29-TT7F2-18FDC.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="240" data-original-width="320" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1qtVBhfrb6VDxqkIgkXOM6AKgg8uqujnoiQL4_b5wC-ucNJ2gc39lmLAU1txrrgaIWPBzCMNdOyMkjmqDFCEor4f5_kesw4H4hzBF2Z_88M7es1BKhA36eIrb7Dkqr7mt1tOUeqhpXjg/s200/2017-08-29--07-01-29-TT7F2-18FDC.jpeg" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqfIheVzvNQoD94P-EHlCVLhvCJUTZM97D25vXjZuPBZqHSnu2LC51j7bH1mz5vzvsSy6jxFJWE9YHncs3RyQ0e1ySTQrCQFkjpcHnrS3FFoYrV6EXVCZ2TNEqxII0EfhaKh7E-rDfJBw/s1600/2017-08-29--08-01-37-TT7F2-18FDD.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="240" data-original-width="320" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqfIheVzvNQoD94P-EHlCVLhvCJUTZM97D25vXjZuPBZqHSnu2LC51j7bH1mz5vzvsSy6jxFJWE9YHncs3RyQ0e1ySTQrCQFkjpcHnrS3FFoYrV6EXVCZ2TNEqxII0EfhaKh7E-rDfJBw/s200/2017-08-29--08-01-37-TT7F2-18FDD.jpeg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAmoY5spRUxVDtRKS82cK_A2mm78lAqBYdjdwh7BQ3_WFzuVJh6PPqbhyphenhyphenNnegcjWZQeZdi1_dxN4Hi7XgLqDtTe9RnAP8Qz7gN8TGOs0SAikY-0uJQ83z1zcHqopjPfF8bnUojc4sNivw/s1600/2017-08-29--08-30-44-TT7F2-18FDE.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="240" data-original-width="320" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAmoY5spRUxVDtRKS82cK_A2mm78lAqBYdjdwh7BQ3_WFzuVJh6PPqbhyphenhyphenNnegcjWZQeZdi1_dxN4Hi7XgLqDtTe9RnAP8Qz7gN8TGOs0SAikY-0uJQ83z1zcHqopjPfF8bnUojc4sNivw/s200/2017-08-29--08-30-44-TT7F2-18FDE.jpeg" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_C73gp4jZJZr8MIZM4v73eB3pwgubGjIVsJ58NM63fbR-0Tvu8JZcqOSyDrCyXq7vp77MROYsSs9m1A3eaYEQ3p6IdmK_zTxd1hVRemab81JcKq9uFPdcyj4tTQTyTLlxqoLK8CoH9XQ/s1600/2017-08-29--09-03-05-TT7F2-18FDF.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="240" data-original-width="320" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_C73gp4jZJZr8MIZM4v73eB3pwgubGjIVsJ58NM63fbR-0Tvu8JZcqOSyDrCyXq7vp77MROYsSs9m1A3eaYEQ3p6IdmK_zTxd1hVRemab81JcKq9uFPdcyj4tTQTyTLlxqoLK8CoH9XQ/s200/2017-08-29--09-03-05-TT7F2-18FDF.jpeg" width="200" /></a></div>
The positional and telemetry data extracted from received APRS packets and decoded backlogs:<br />
<br />
<div style="text-align: center;">
<iframe height="400" src="https://www.google.com/maps/d/embed?mid=1tAKtH3j_5hU8dnY6xEPvARZwcmQ" width="528"></iframe><br /></div>
<br />
<div style="text-align: center;">
<iframe frameborder="0" height="700" scrolling="no" src="//plot.ly/~TomasTT7/60.embed" width="600"></iframe><br /></div>
TT7http://www.blogger.com/profile/11095378058232471221noreply@blogger.com0tag:blogger.com,1999:blog-7063183727921268380.post-42780567301075511442017-08-24T14:16:00.000+02:002018-09-08T03:33:53.501+02:00The TT7F1 Flight<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitZ69vPBf_0q0jwU7FPKQSwnW0AMKx_uPgTMPTesQfpOCKf2VCwWZpPvXoDH3XLPDyejNwmXoRb5KG3yv_XY46uC3F0qsKF1398nOmrzJfc-g6rp1iykMwsU9RAvmf7brvy6xE7WitrnQ/s1600/IMG_0820+TT7F1+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitZ69vPBf_0q0jwU7FPKQSwnW0AMKx_uPgTMPTesQfpOCKf2VCwWZpPvXoDH3XLPDyejNwmXoRb5KG3yv_XY46uC3F0qsKF1398nOmrzJfc-g6rp1iykMwsU9RAvmf7brvy6xE7WitrnQ/s200/IMG_0820+TT7F1+tracker.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWyyeHt5OkSijBKhdVFX631ZljVafoP6RgY2MDXIdeLSHnyIaI4s3GgKkvLZBXoV4vm3s78BGGcKbHmYkYbZo3fckckI0M2eYPE-ax1odYUq5mdFOsQaoHPt6T-0477f1OVr_UOZZlvgU/s1600/IMG_0922+TT7F1+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWyyeHt5OkSijBKhdVFX631ZljVafoP6RgY2MDXIdeLSHnyIaI4s3GgKkvLZBXoV4vm3s78BGGcKbHmYkYbZo3fckckI0M2eYPE-ax1odYUq5mdFOsQaoHPt6T-0477f1OVr_UOZZlvgU/s200/IMG_0922+TT7F1+tracker.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3meOy-ntz5aq4DidF7cUDWtYBmnI-dKlXR8-8OTnhZSD0TWi2SeGUyB_Dfeu0RVETruqt7oUo0Ba6ci9D9n0yXBbPn_ws6O7lpJqgMPseu-_Y_WjIwc2-ouAor8Q70UVStlbK_1-RdaU/s1600/IMG_1328+1.33+superpressure+balloon+pre-stretch.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3meOy-ntz5aq4DidF7cUDWtYBmnI-dKlXR8-8OTnhZSD0TWi2SeGUyB_Dfeu0RVETruqt7oUo0Ba6ci9D9n0yXBbPn_ws6O7lpJqgMPseu-_Y_WjIwc2-ouAor8Q70UVStlbK_1-RdaU/s200/IMG_1328+1.33+superpressure+balloon+pre-stretch.JPG" width="150" /></a></div>
<b>Date:</b> 2017-08-25<br />
<b>Time:</b> 6:00 GMT (8:00 CEST)<br />
<b>Place:</b> Roznov pod Radhostem, CZ<br />
<b>Live Tracking:</b> <a href="https://tracker.habhub.org/#!qm=All&q=TT7F1;OK7DMT-11">https://tracker.habhub.org</a> or <a href="https://aprs.fi/#!mt=roadmap&z=11&call=a%2FOK7DMT-11&timerange=3600&tail=3600">https://aprs.fi</a><br />
<br />
<b>RTTY</b><br />
<b>Callsign:</b> TT7F1<br />
<b>Frequency:</b> 434.264MHz<br />
<b>Params:</b> 100 baud, 450Hz shift, 8n2 <br />
<b>Preceded by:</b> 5 blips (~6s)<br />
<b>Packet:</b> callsign, count, time, date, latitude, longitude, altitude, sats, Vsolar, Vcap, Tmcu, Ttx<br />
<b>Example:</b> <span class="pl-c">$$TT7F1,58,11:06:11,20170620,49.46890,18.15049,353,5,921,2708,37,29*A926</span> <br />
<br />
<b>APRS</b><br />
<b>Callsign:</b> OK7DMT-11<br />
<b>Frequency:</b> Geofenced local APRS <a href="http://tt7hab.blogspot.cz/2017/02/aprs-automatic-packet-reporting-system.html">frequencies</a><br />
<b>Packet:</b> Base-91 position and telemetry, <a href="http://tt7hab.blogspot.cz/2017/02/aprs-automatic-packet-reporting-system.html">Backlogged</a> position and telemetry in Comment section<br />
<b>Example:</b> !/5KyHS)='OJ5W 1F94!5MI,S(LWHC!+=7+;0c!'|!4!-<x+S1%!(!$|<br />
<br />
<b>Initial Prediction:</b> 2017-08-24<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3kUhuclq_1i4L0md0vGee1j2CdQl7YIeaMYVxjWIzSmx6sR9GygRpIvhiz5Wkf_Y0BWS4cE7E1BfzKg0wArHHRTVCXmWfYZtKdP0n2EXvhTRFbUDWsFAYgjGPC7swHA6mpx7wGw_R6Z0/s1600/initial+prediction+20170824.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="765" data-original-width="1061" height="228" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3kUhuclq_1i4L0md0vGee1j2CdQl7YIeaMYVxjWIzSmx6sR9GygRpIvhiz5Wkf_Y0BWS4cE7E1BfzKg0wArHHRTVCXmWfYZtKdP0n2EXvhTRFbUDWsFAYgjGPC7swHA6mpx7wGw_R6Z0/s320/initial+prediction+20170824.jpg" width="320" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4S4_TT_NcoNiK5xsEy2BzVLdsJki_zcAKdIBaZCAfeyH1XXLuRevehajmDyKyrvxoBAMbqAN2ebkfiesCjlKBvPTMIMAsqasnouWucN1O6pcIPAznIXdGIzJW8UWYDkiv7dDI8nV8UWE/s1600/initial+prediction+20170824+hysplit.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="914" data-original-width="734" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4S4_TT_NcoNiK5xsEy2BzVLdsJki_zcAKdIBaZCAfeyH1XXLuRevehajmDyKyrvxoBAMbqAN2ebkfiesCjlKBvPTMIMAsqasnouWucN1O6pcIPAznIXdGIzJW8UWYDkiv7dDI8nV8UWE/s200/initial+prediction+20170824+hysplit.gif" width="160" /></a></div>
<b>Power Scheme</b><br />
If the voltage on the supercapacitor is higher then 2.5V, the tracker transmits both APRS and RTTY once per minute. If the voltage is less, only APRS is transmitted in 2 minute cycles. The tracker manages to operate for about 1-2 hours after local sunset. It then wakes up again after local sunrise. The startup duration is dependent on the current rate and maximum angle the sun rises above horizon.<br />
<br />
<b>Tracker</b><br />
The construction was described in <a href="http://tt7hab.blogspot.cz/2017/06/the-low-power-setup.html">The Low Power Setup</a> blog post. It is equipped with two 52x38mm polycrystalline solar cells at 0° angle to charge one 15F supercapacitor. As an antenna it uses a 2-meter band vertical dipole.<br />
<b>Mass:</b> 13.4g<br />
<br />
<b>Software</b><br />
The main function running the tracker can be found in <a href="https://github.com/TomasTT7/TT7F-Float-Tracker/blob/master/Software/ARM_TT7F1.c">ARM_TT7F1.c</a> on GitHub. A detailed description of the program flow is in <a href="http://tt7hab.blogspot.cz/2017/06/the-low-power-setup.html">The Low Power Setup</a> blog post.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBCJMHFr2Nkzg6t446IG2GlR6HOq3O4LU5tU_YAQCUL4tz4rzZHddAELtz9h-WowvJLGsXEzP5J_rJBBNIX16c-5OawE5k39rQytOjDYv9PaD46PnR3B0S1AFuPxMZlHwxAcy4QYFPjdw/s1600/Superpressure+balloon+stretching+profile.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="494" data-original-width="930" height="105" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBCJMHFr2Nkzg6t446IG2GlR6HOq3O4LU5tU_YAQCUL4tz4rzZHddAELtz9h-WowvJLGsXEzP5J_rJBBNIX16c-5OawE5k39rQytOjDYv9PaD46PnR3B0S1AFuPxMZlHwxAcy4QYFPjdw/s200/Superpressure+balloon+stretching+profile.png" width="200" /></a></div>
<b>Balloon</b><br />
The balloon is the first finished envelope described in <a href="http://tt7hab.blogspot.cz/2017/04/the-superpressure-balloons.html">The Superpressure Balloons</a> blog post. It was made from 50 micron PE/PA/EVOH/PA/PE material and it is 1.33m in diameter. The estimated stretch is 1.94 Gamma. The chart above shows the stretching profile for this specific envelope. A small weld opening had to be repaired after the first stretching. The second attempt took about 50 hours.<br />
<b>Expected Float Altitude:</b> 13800m<br />
<b>Expected Ascent Rate:</b> 1m/s<br />
<b>Expected Superpressure:</b> 2098Pa (at 17°C supertemperature)<br />
<b>Gas:</b> Hydrogen <br />
<b>Free Lift:</b> 10g<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZ5aYB79uOy45sC5zPUEBn6Yg8huRA5ItGNI58hdzrf4Hck1Kmx05y51xh-LmcqmR7iKYqGeHC4N-fHsS5qIByvZml6EtzWkBUZ25yifp5IKO7H93POG3t-oaem_GkqT5r7vIqlFw44rM/s1600/IMG_1640+hydrogen+cylinder.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZ5aYB79uOy45sC5zPUEBn6Yg8huRA5ItGNI58hdzrf4Hck1Kmx05y51xh-LmcqmR7iKYqGeHC4N-fHsS5qIByvZml6EtzWkBUZ25yifp5IKO7H93POG3t-oaem_GkqT5r7vIqlFw44rM/s200/IMG_1640+hydrogen+cylinder.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvPTjFKpns5z7qHxWbCuoxEh8KuCN0zFgKLX6yPGqd3NGFJLkHjqc_nwa3AqzcPC6YktHPnyjmtYwp6GcMqiLTsFov3hOi1DPkePKy-oVRhKyTN3iZ7jT7cYg12dgpwpPWVXHxMoMfwHw/s1600/IMG_1641+valve.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvPTjFKpns5z7qHxWbCuoxEh8KuCN0zFgKLX6yPGqd3NGFJLkHjqc_nwa3AqzcPC6YktHPnyjmtYwp6GcMqiLTsFov3hOi1DPkePKy-oVRhKyTN3iZ7jT7cYg12dgpwpPWVXHxMoMfwHw/s200/IMG_1641+valve.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXV42LTd360nR-oQd2KKOLTlHAz9h-j6Ox12NTowe5d8GcxDqdNDdojTodN5hRfwyAGZlTvAJI4nosgkOsa4IlLZHNxjApju611AQ3GmQpSbFQaWhDuEoXZZA57gA6WPGnz_sdXVp0m9M/s1600/IMG_1644+filling+gear.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXV42LTd360nR-oQd2KKOLTlHAz9h-j6Ox12NTowe5d8GcxDqdNDdojTodN5hRfwyAGZlTvAJI4nosgkOsa4IlLZHNxjApju611AQ3GmQpSbFQaWhDuEoXZZA57gA6WPGnz_sdXVp0m9M/s200/IMG_1644+filling+gear.JPG" width="150" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7IEixPomgJHfKPJ6OoS0iY4971MaSYavEZdzGIYzdAkyfzVAzR3yYo42nR5PFnY1PbY3R82ySol8XejOnmN3rqofQibMaBCxHaRcGI5x2fAYWslm6yXo9CukNsg7hn48utOCfpPnbKI0/s1600/IMG_1645+filling+gear.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7IEixPomgJHfKPJ6OoS0iY4971MaSYavEZdzGIYzdAkyfzVAzR3yYo42nR5PFnY1PbY3R82ySol8XejOnmN3rqofQibMaBCxHaRcGI5x2fAYWslm6yXo9CukNsg7hn48utOCfpPnbKI0/s200/IMG_1645+filling+gear.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrKXPskw2JqyOXTB1JYYYsPlJNgzZ7vrH1xgaBFIvfyhukDi5LNIL9EJoXLnKECCF5Ryg9VRX2YDwYD93czzseeKSZ4mybwyv7_zvkYkMVnjmYs_PLccsci8yZ1RXHO7fZPERKqnRC5_s/s1600/IMG_1649+filling+weight.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrKXPskw2JqyOXTB1JYYYsPlJNgzZ7vrH1xgaBFIvfyhukDi5LNIL9EJoXLnKECCF5Ryg9VRX2YDwYD93czzseeKSZ4mybwyv7_zvkYkMVnjmYs_PLccsci8yZ1RXHO7fZPERKqnRC5_s/s200/IMG_1649+filling+weight.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivHbUnL8LRB1bcBHaNbf8v8dVxgYPQT0dsgvjplMJZrN0CpLKOxmY8KnMPr-nzODS0whTI4bPwoAGtFb4hp0jKvro1eLc6wqFoi1bGe-mP4Nl9FM5-_4ixLa8pB0_aLq5wgxtN-aN0nFs/s1600/IMG_1654+measuring+lift.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivHbUnL8LRB1bcBHaNbf8v8dVxgYPQT0dsgvjplMJZrN0CpLKOxmY8KnMPr-nzODS0whTI4bPwoAGtFb4hp0jKvro1eLc6wqFoi1bGe-mP4Nl9FM5-_4ixLa8pB0_aLq5wgxtN-aN0nFs/s200/IMG_1654+measuring+lift.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfEzaOqG0CMRDRYLYF3E9ACHFfxD0WwbSziERoswCeVod1NVjJr1_EhaF-mjLz-kzKaBIwJuZsXC6LUET-EB2HS1Ax99RYL5DhA8OSGZSie1BOfqv7jhjgGjamd_M7qhTtM8xgNbrtznQ/s1600/IMG_1657+filled+balloon.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfEzaOqG0CMRDRYLYF3E9ACHFfxD0WwbSziERoswCeVod1NVjJr1_EhaF-mjLz-kzKaBIwJuZsXC6LUET-EB2HS1Ax99RYL5DhA8OSGZSie1BOfqv7jhjgGjamd_M7qhTtM8xgNbrtznQ/s200/IMG_1657+filled+balloon.JPG" width="150" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEd3tQ-rtq3MJwvRhpKURZezWbSLJHwXcipU3_lZ0ymKEzn3y-gQQTyYJqHMA9oPs4DqHEmVxJz5qNYiY_O8Kyp4yp6smaAZX3JQ5fkqiDT1_ijRen2WOJ8PbYJEwrAmmOf5yFdo2lznQ/s1600/IMG_1658+sealed+envelope.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEd3tQ-rtq3MJwvRhpKURZezWbSLJHwXcipU3_lZ0ymKEzn3y-gQQTyYJqHMA9oPs4DqHEmVxJz5qNYiY_O8Kyp4yp6smaAZX3JQ5fkqiDT1_ijRen2WOJ8PbYJEwrAmmOf5yFdo2lznQ/s200/IMG_1658+sealed+envelope.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbElTwWeFdaMJYpsm4fIt6fTrbi_8ggJxw6agbGXzYZuacsX-WeP1wvggHAoO4Irg0vjfYkaa6DtzD6ZxDn02yJ3M3RGbizF2VUSO5zuzOt-ZUl3UYnxk134EjpiJG3WkCD59-TxzaWpw/s1600/IMG_1664+cloud+cover.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbElTwWeFdaMJYpsm4fIt6fTrbi_8ggJxw6agbGXzYZuacsX-WeP1wvggHAoO4Irg0vjfYkaa6DtzD6ZxDn02yJ3M3RGbizF2VUSO5zuzOt-ZUl3UYnxk134EjpiJG3WkCD59-TxzaWpw/s200/IMG_1664+cloud+cover.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjktGuEMdSAjLj1l74KFU7K8ezxMSVavU3OLUtACXjbdeYEJKlmACBXulz9yYQL1jfokNNJJpmboiWkbhP-jMT7IyUD3RYnXFH3Srmru0oFG29phYwAyGUKGzjwq1MLRMbyixBPq2KqXCM/s1600/IMG_1669+TT7F1+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjktGuEMdSAjLj1l74KFU7K8ezxMSVavU3OLUtACXjbdeYEJKlmACBXulz9yYQL1jfokNNJJpmboiWkbhP-jMT7IyUD3RYnXFH3Srmru0oFG29phYwAyGUKGzjwq1MLRMbyixBPq2KqXCM/s200/IMG_1669+TT7F1+tracker.JPG" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwPVdJWMkEqNlip6v8ULc-mYIWEIx86rf6CTODMCdKli2JotDgLOoaDAUfVsYXT0EzMGrzYMyiLmLrOzt9EqvEJpLwSn8V4pVyU0tBwJDohguW8ki4jhMJTcX9LwEEnXtnG2YHBYoK8D8/s1600/IMG_1671+TT7F1+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1080" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwPVdJWMkEqNlip6v8ULc-mYIWEIx86rf6CTODMCdKli2JotDgLOoaDAUfVsYXT0EzMGrzYMyiLmLrOzt9EqvEJpLwSn8V4pVyU0tBwJDohguW8ki4jhMJTcX9LwEEnXtnG2YHBYoK8D8/s200/IMG_1671+TT7F1+tracker.JPG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2kWbyDF-Um0TVUHe6S4eqyakDXaKRn9U6n4hQc27E6OGHeiY76vp-t2ci-UcdyNpxGAMqNaTNVi9-MHILrjIML7rMfQFr72g2Dvbm3dApAnFXc-UNS_XzkyKDn-TEbMnN3JhXEHoOHiI/s1600/IMG_1676+133+superpressure+balloon.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2kWbyDF-Um0TVUHe6S4eqyakDXaKRn9U6n4hQc27E6OGHeiY76vp-t2ci-UcdyNpxGAMqNaTNVi9-MHILrjIML7rMfQFr72g2Dvbm3dApAnFXc-UNS_XzkyKDn-TEbMnN3JhXEHoOHiI/s200/IMG_1676+133+superpressure+balloon.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPSvGO6-f3LpRPxE2xkfz32HegLTknZEYao22N-wMtIZ9TyIUjLE6SYwCZFX9vNeylsEkMAPaXFhbKVOUtF4_dt5rd2dfRjaIlo08bnIyKuMggjQhz6qoh-mPuES6wGGo0HyVLgaVxHlU/s1600/IMG_1677+133+superpressure+balloon.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPSvGO6-f3LpRPxE2xkfz32HegLTknZEYao22N-wMtIZ9TyIUjLE6SYwCZFX9vNeylsEkMAPaXFhbKVOUtF4_dt5rd2dfRjaIlo08bnIyKuMggjQhz6qoh-mPuES6wGGo0HyVLgaVxHlU/s200/IMG_1677+133+superpressure+balloon.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGq9Ak3MvNfXw06RSv69QTcb5H23RevKK0wXN1bqRCq2GB2I2l_xMaJA_n0J89NDPNrTKeAhsWWEidBGxy2mVttpaiv5_X4tOQKrwzANXU91dEdncjZH8Mq-l2K_Zcjjkr578b14K5ZOo/s1600/IMG_1674+133+superpressure+balloon.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGq9Ak3MvNfXw06RSv69QTcb5H23RevKK0wXN1bqRCq2GB2I2l_xMaJA_n0J89NDPNrTKeAhsWWEidBGxy2mVttpaiv5_X4tOQKrwzANXU91dEdncjZH8Mq-l2K_Zcjjkr578b14K5ZOo/s200/IMG_1674+133+superpressure+balloon.JPG" width="150" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjF6YLoYVnF2a2_4m_VDLAlMzsjA2oWpz-Yh49POgOtKhTos5fYI4JYyYewy82Cv6x64DW8IXvoQAtERzAkakGidvEBqY5pNZeM4L1UUnoJzPyi0QVw74qGEv8ADScdLCO5SZoEFXY0WQI/s1600/IMG_1678+TT7F1+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjF6YLoYVnF2a2_4m_VDLAlMzsjA2oWpz-Yh49POgOtKhTos5fYI4JYyYewy82Cv6x64DW8IXvoQAtERzAkakGidvEBqY5pNZeM4L1UUnoJzPyi0QVw74qGEv8ADScdLCO5SZoEFXY0WQI/s200/IMG_1678+TT7F1+tracker.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNzDN4dz_SjPZR5fl3W53qpPvBYSafG_g1OwroTiGZAsKyTLcOygt-xZIJZ3qUP7oRNsizVFdS263Tt8IMRD7l_pRgKXSIxtqtqBJdZaDfr7e60Mzdv_U5ZfkaiyLXZC9FRvyiAMwuz6w/s1600/IMG_1679+TT7F1+tracker.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNzDN4dz_SjPZR5fl3W53qpPvBYSafG_g1OwroTiGZAsKyTLcOygt-xZIJZ3qUP7oRNsizVFdS263Tt8IMRD7l_pRgKXSIxtqtqBJdZaDfr7e60Mzdv_U5ZfkaiyLXZC9FRvyiAMwuz6w/s200/IMG_1679+TT7F1+tracker.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgap4ynRI5fyO08htIeML2UIcI2-tVwXDkUaiT5-3x9bAK3xHbp7I7gHcOhu0IrsiCqYASbNB029ZaxSvvoJBFjxzcPOdWHgHK-kwUWd_UZKRGLoTJB10Xyr0a35zwoNhhihuHM6R__IlI/s1600/IMG_1681+launch.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgap4ynRI5fyO08htIeML2UIcI2-tVwXDkUaiT5-3x9bAK3xHbp7I7gHcOhu0IrsiCqYASbNB029ZaxSvvoJBFjxzcPOdWHgHK-kwUWd_UZKRGLoTJB10Xyr0a35zwoNhhihuHM6R__IlI/s200/IMG_1681+launch.JPG" width="150" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXf8uNpSYagIT8m_yuBFYLY6REgTTX2t252ziCNXYd7_SI3L1crlllPr7XygATzF2wZEl26uL_BcoDEKscB6vdLnmPS1ygidKD4R7xMC_gGKPEcOfUqC_ValVSbBaXCINRRWzZOv8B0Ro/s1600/IMG_1682+TT7F1+launched.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXf8uNpSYagIT8m_yuBFYLY6REgTTX2t252ziCNXYd7_SI3L1crlllPr7XygATzF2wZEl26uL_BcoDEKscB6vdLnmPS1ygidKD4R7xMC_gGKPEcOfUqC_ValVSbBaXCINRRWzZOv8B0Ro/s200/IMG_1682+TT7F1+launched.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipM_46qfQMKwR4jTjmKb6FQ7ZCBtyRyoII_2Mnu-f3Jw2su6yL0KqF9vZLW1Pd0OGwGg80LTWx5aQH80IWYbVoGIthE2xTYef_kK6mJlfyUNAaP0jpZX1BDOJSkVgPIS8rHKDdCt_T2qU/s1600/IMG_1684+TT7F1+launched.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipM_46qfQMKwR4jTjmKb6FQ7ZCBtyRyoII_2Mnu-f3Jw2su6yL0KqF9vZLW1Pd0OGwGg80LTWx5aQH80IWYbVoGIthE2xTYef_kK6mJlfyUNAaP0jpZX1BDOJSkVgPIS8rHKDdCt_T2qU/s200/IMG_1684+TT7F1+launched.JPG" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKsSOrX0rhMvvujhdaPavqVlEWuRHb5rLEZ_rbmhZjXLZV3zXoWyAGm-PKRhBX47BZYFmm3K1ydOiK6TMuMPdGJNutK6lVo0UcAk5_Rz8gJqOEZH9oeplMILVNMw1nHcN7D8QLqYr1930/s1600/IMG_1685+TT7F1+launched+zoom.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="810" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKsSOrX0rhMvvujhdaPavqVlEWuRHb5rLEZ_rbmhZjXLZV3zXoWyAGm-PKRhBX47BZYFmm3K1ydOiK6TMuMPdGJNutK6lVo0UcAk5_Rz8gJqOEZH9oeplMILVNMw1nHcN7D8QLqYr1930/s200/IMG_1685+TT7F1+launched+zoom.JPG" width="150" /></a></div>
<b>Launch</b> <br />
In contrast to last year, I managed to get hold of a reasonably small hydrogen cylinder (10l at 20MPa advertised as 1.8m^3 of gas) which was much easier to transport and handle. I aimed for 10g of free lift, however the improvised filling gear and my heavy hand led to something about 11.2g in the end. I heat sealed the filling tube with several parallel welds to make sure and cut the extra bit. Since this was a supercap tracker version, I had to wait for a while for the skies to clear, so the sun could quickly charge it. The launch itself went fine as there was little wind this early in the morning. I lost line of sight with the balloon relatively quickly as there was a mountain in its path and the horizontal winds were quite strong. That meant the end of the RTTY reception, while the APRS packets continued to pour in from a number of stations since as early as 700m AMSL (300m above ground level). Nothing in the telemetry suggested any problems. All the more baffling it was when the tracker was not heard from since a little over an hour into the flight and about 4000m in altitude. With no new packets arriving for the remainder of the day, I looked anxiously towards the next morning which would provide a forced MCU reset. Fortunately, when I checked the tracker in the morning, the balloon was already transmitting from above the Black Sea just off the coast of Ukraine at about 11.2km in altitude. This floating level in contrast to the expected altitude suggests the method I used while making the balloons quite overestimates the achieved stretch. At the time of writing the balloon has been afloat for three days with the last after sunset transmission putting it above eastern Ukraine. There also seems to be an issue with the date in some of the backlogs.<br />
<br />
<b>Data</b><br />
<a href="https://drive.google.com/file/d/0B8Fb45Vo8uIsUlJGcWFhNElIOEE/view?usp=sharing">APRSfi_TT7F1.txt</a> - collected raw packets.<br />
Python <a href="https://github.com/TomasTT7/TT7F-Float-Tracker/blob/master/Accessories/APRSFIparser_TT7F1.py">parser</a> of APRS.fi raw packet format. <br />
The positional and telemetry data extracted from received APRS packets and decoded backlogs:<br />
<br />
<div style="text-align: center;">
<iframe height="400" src="https://www.google.com/maps/d/embed?mid=1yOTvQXrNDueFz7AzKnDKTJhTdQc" width="528"></iframe><br /></div>
<br />
<div style="text-align: center;">
<iframe frameborder="0" height="700" scrolling="no" src="//plot.ly/~TomasTT7/61.embed" width="600"></iframe><br /></div>
TT7http://www.blogger.com/profile/11095378058232471221noreply@blogger.com2