Bender

May 31, 2014 19:31

Начало

На дворе стоял душный июльский вечер. Вместо того, чтобы идти куда-то гулять, я, как обычно, сидел дома - залипал в хабр. Тут я увидел, что в скайп зашел мой друг, с которым мы уже очень давно не виделись (в прошлом вместе было пережито очень много интересного; впрочем, я отклонился от темы).
Мы, как обычно, разговорились, и затянулось это на несколько часов так точно. В ходе разговора и параллельного путешествия по всемирной паутине кто-то из нас попал на ютуб, а именно на маленький, завалявшийся среди тысяч других, но примечательный своим содержанием, ролик. На нем был запечатлен опыт американцев, запустивших на заполненном гелием шаре айфон с включенной камерой и GPS'ом. Проект нас очень вдохновил! Активно занявшись поиском информации, мы обнаружили, что подобными опытами занималось множество людей по всему миру. Встал вопрос: а чем мы хуже?

[На русском...]Идея зародилась почти год назад. Было составлено ТЗ (общение через Skype - на тот момент мы были в разных городах). Но, как нередко бывает со многими хорошими идеями, наш проект был заброшен до лучших времен. В немалой степени его реализация откладывалась из-за дорогостоимости многих компонентов (а денег на то время было недостаточно) и отсутствия времени, а также места, где можно было бы заняться реализацией. И вот теперь настало время воплотить идею в жизнь. На самом деле, решающим фактором стало существенное улучшение финансового положения моего товарища, что и дало толчок к дальнейшему развитию событий. В ходе нового обсуждения были пересмотрены задачи и желаемый функционал устройства, и в результате переписано ТЗ.
Устройству было дано название “Бендер”.
По конструкции оно мало чем отличается от обычного метеозонда. Разница же между метеозондом и Бендером в основном заключается в их задачах. Первый несет на себе некоторое количество датчиков, снимающих показания о состоянии атмосферы во время полета и, таким образом, дающий возможность получить сведения, необходимые, например, для составления прогнозов погоды. Задача же второго - снимать с большой высоты землю, атмосферу и всё остальное, что попадется по пути. Все (или почти все - в зависимости от качества связи) полученные данные должны потом передаваться на сервер.
Техническое описание

За основу (можно сказать “мозг”) Бендера было решено взять микроконтроллер STM32F407VET6 из-за широких возможностей и высокого быстродействия. Он должен контролировать состояние устройства, следить за получением, сохранением и передачей данных, управлять пневматикой и прочими системами Бендера.

Связь

Связь реализована несколькими способами.
На низких высотах будет использоваться GSM/GPRS. Реализация - на модуле SIM900. Используется направленная антенна типа “волновой канал” под стандарт GSM1800 (1800 МГц).
Возможно управление посредством SMS-сообщений, а также командами с сервера. Поддерживаются HTTP и FTP.
На больших высотах (когда сигнал GSM ослабнет настолько, что передавать что-либо посредством его станет невозможно) будет использоваться связь по 433 МГц радиоканалу. Для этого будет задействован модуль RFM12BP мощностью 500 мВт, модуляция - FSK. В качестве антенны - полуволновой диполь.
Принимаемая информация отправляется на основной сервер через специальную клиентскую программу, которую предполагается распространить среди потенциальных участников проекта и просто заинтересованных людей по всему миру, что даст возможность связаться с устройством, даже если оно улетит на очень большое расстояние.

Навигация

Для навигации будет использован GPS-модуль Lassen IQ от Trimble с активной антенной. Стоит сказать, что при разработке устройства мы столкнулись с проблемой, состоящей в ограничении CoCom максимальной высоты для гражданских GPS-модулей (обычно 18 км). Нас такое положение дел не устраивало, потому мы начали поиск модулей без такового ограничения. У вышеназванного Lassen IQ оно снято (при соблюдении ограничения по максимальной скорости).

Пневматика

Чтобы преодолеть упомянутую проблему с чрезмерным увеличением и последующим разрывом оболочки шара, решено было поставить электромеханический клапан, который позволял бы стравливать избыточное давление (также, возможно, будет установлен и аварийный механический клапан, стравливающий давление автоматически; был бы актуален при неисправности основного). С его же помощью предполагается регулировать высоту - выпустив достаточное количество газа (чтобы сила тяжести превысила архимедову силу), можно опустить шар ниже и вообще посадить на поверхность земли.
Давление (разница давлений, если говорить точнее) замеряется дифференциальным аналоговым датчиком, решение о выпуске газа принимается микроконтроллером или удаленно по команде.
Было предложено еще одно новшество - химический генератор водорода “на борту”, но пока неизвестно, будет ли он использоваться. Для его реализации было отобрано несколько реакций: первая - гидролиз борогидрида натрия слабым раствором кислоты, вторая - реакция натрия с метанолом. Основная проблема - сильный разогрев и вспенивание смеси. В ближайшее время будет собрана тестовая модель и уже по результатам испытаний будет приниматься решение о целесообразности использования такого генератора. После исчерпания ресурса предполагается сбросить его на парашюте, предварительно отсоединив все шланги, провода и т.д.
Генератор водорода предоставил бы возможность не только опускать шар, но и поднимать.

В устройстве два датчика температуры - один выведен за пределы корпуса и фиксирует температуру окружающей среды, второй внутри.
Возможно, реализуем подогрев внутрикорпусного пространства при сильном понижении температуры. Осуществляется он химически, запуском капсул с реакционной смесью, выделяющей много тепла.

Питание

Тут (в основном) из соображений устойчивости к низким температурам были выбраны LiFePO4 аккумуляторы. Скорее всего, придется ставить батарею из них. Также в процессе полета аккумулятор будет дозаряжаться от солнечных батарей; процесс управляется микросхемой-контроллером заряда.

Камеры

На устройстве будут установлены две камеры. Как минимум одна из них - модифицированный фотоаппарат Canon A530 (5 Мпикс). Все лишние детали (корпус, кнопки, батарейный отсек, вспышка и т.д.) убираются, остается только основная плата, матрица и объектив. На фотоаппарат устанавливается модифицированная версия CHDK, в которой реализовано кодирование изображений в SSDV-формат для передачи по радиоканалу. Связь с микроконтроллером по UART (непосредственно подпаявшись к плате).
Камера установлена на поворотной основе с шаговым двигателем, что даст возможность поворачивать ее для, например, съемки панорам.
Вторая камера направлена вниз.
Хранение данных

Информация (фото, видео; логи координат, температуры и давления; логи полученных команд и результата их исполнения) хранится на SDHC карте памяти (для работы с ней использована библиотека FatFS), а также на SDXC картах памяти, установленных в фотоаппаратах. Возможно, будет реализовано копирование файлов с них на основную.
Корпус

С материалом и формой корпуса пока окончательно не определились. В любом случае, необходимо обеспечить хорошую термоизоляцию, для чего будет использована монтажная пена и/или пенопласт, а также пленка с металлическим напылением (изофолия).

Наполнение шара - водород, поскольку он дает большую подъемную силу, чем обычно использующийся для таких целей - гелий. Также водород раза в два дешевле гелия. Сам шар имеет объем ~1.8 кубических метра. Устройство крепится на металлическую (алюминиевую) рамку, которая, в свою очередь, подвешена к шару на стропах. Для аварийных ситуаций предусмотрен парашют.
Работа устройства.

“Бендер” снимает на видео весь процесс запуска (если хватит заряда аккумуляторов - и процесс посадки). Фотографирование производится в полуавтоматическом режиме - генерируются превью-версии снятых фотографий и посылается на сервер; после ручного отбора удачных фотографий оные пересылаются в полном размере. Также в произвольные моменты можно подать команду на запись видео, однако оно просто сохраняется на карте памяти без пересылки по радиоканалу ввиду низкой пропускной способности последнего.
На низких высотах изображения загружаются на сервер по FTP посредством GPRS, остальная информация пересылается по HTTP.
На больших высотах через определенные промежутки времени по радиоканалу пересылаются данные о координатах и высоте устройства, показания датчиков (температура внутри/вне корпуса, разница давлений, заряд батареи).
На сервере координаты устройства сверяются с координатами самолетов (с Flightradar24) для предотвращения столкновений (при приближении самолета дается автоматическая команда на смену высоты).
Регулированием наполнения шара водородом будет контролироваться его вертикальное положение. Планируется таким образом длительное время удерживать его на одной высоте (уравнивая силу тяжести и архимедову силу).
Если с устройством определенное время не выходят на связь, микроконтроллер автоматически принимает решение о снижении (только если устройство не находится над морем - координаты береговой линии, скорее всего, будут во внутренней памяти).

Также еще одна из задач Бендера состоит в том, чтобы пролететь как можно большую дистанцию, в идеале - облететь всю планету и в конце-концов, если обстоятельства сложатся удачно - приземлиться в нужном нам месте (дома).

Статья написана ankelkoss, crackhack

The beginning

There was a sultry July evening. Instead of going for a walk somewhere I was, as usual, staying home and jamming to the habrahabr.ru. At once I've noticed that one my friend with whom we have a very long time no see has logged into Skype (we'd lived through a lot of interesting things together; however, I digressed). We have started a talk as usual and it lingered at least for several hours. During it we've in parallel surfed the web, and one of us has got on the YouTube movie, a small, mislaid among thousands of others, but remarkable for its content movie. There was a video from an iPhone camera with GPS enabled launched to the atmosphere on a helium-filled balloon. That project gave us a great inspiration! We've begun to search an info extensively and found out that a lot of people over the world has been involved into a projects like an one from that movie. And then the question arose: what are we worse?

[In English...]

The idea originated almost an year ago. There was made a specification (all the conversation was going over Skype as we was living in different cities at that moment). But, as it quite often happens with many good ideas, our project was abandoned until better times. To a large extent its realization was delayed due to expensiveness of many of the components (we haven't enough money at that time) and a lack of time, as well as a lack of place where we could work on embodying our idea. And now the time for it has come. In fact, the decisive factor became the significant improvement of the financial situation of my friend that gave an impetus to the further development of events. During a new discussion on the project the desired tasks and functionality of the device were revised, and a new specification was made.

The only thing that we were not satisfied in the majority of such devices (and that now distinguishes them from our one) is the fact that they are short-lived: after the launch they reside in an atmosphere for a short time. A common scenario of their "life" after the launch did not have a particularly diversity: after the start they ascended to a certain height (25-40 km - depending on the material of the balloon and its filling with gas) and there burst due to the large pressure difference inside and outside the sphere, then parachuted down back; the entire flight thus toke no more than a day (in the best case; the typical time of flight - up to two hours).

Significant progress came when another our friend joined to the work. He gave a lot of new ideas for this project.

The device was given the name “Bender”.

By design it is not much different from the ordinary weather balloon. The difference between the last and Bender mainly lies in their tasks. The first bears a number of sensors to take measurements of the atmosphere state during the flight and thus giving the opportunity to get the information needed, for example, for weather forecasting. The task of the last is to take shots of the land, the atmosphere and everything else that comes along the way from a high altitude. All the data collected (or almost all - depending on the quality of connection) then have to be transmitted to the server.

Technical details

As a base (one can say “brain”) for Bender it was decided to use a STM32F407VET6 microcontroller cause it offers a wide range of advantages and a high performance.

Communication

It is implemented it two different ways.

On the lower altitudes there will be used a GSM/GPRS connection. It's realized on the SIM900 module. The directional Yagi antenna is used (configured for GSM1800 standard).
The control by means of either SMS or commands from the server is possible. HTTP and FTP are supported.

On the higher altitudes (when the GSM signal level will became too low and transmitting anything over it will become impossible) there will be used 433 MHz radio link. 500 mW output power FSK transceiver module RFM12BP is used. The antenna is a half-wave dipole.

The received data is sent to the main server using special client software which is supposed to be distributed among potential project participants, and interested people worldwide that will provide an opportunity to contact with the device even if it will fly away on a very long distance.

Navigation

There will be used Lassen IQ GPS-module from Trimble with an active antenna. Worth mentioning that during the development of the device we faced a problem consisting in limitations of the maximal altitude for the civil GPS-modules to the 18 km (CoCom limits). Such a situation were not satisfying, so we started looking for modules without such a limitations. In the above-mentioned Lassen IQ it was removed (if the max velocity limit is complied).

Pneumatics

To solve a problem with expanding and following burst of the balloon it was decided to use an electromechanical valve which gives an ability to release some gas from the balloon and thus to reduce its inner pressure (maybe there also will be used an emergency mechanical valve for the case of the main valve's fault). By the means of that valve it is supposed to regulate an altitude - releasing enough hydrogen (for the force of gravity to exceed the Archimedes force) it's possible to begin the descent of our device or even to land it.
The pressure (or more correctly to say the difference of an inner and outer pressures) is measured by an analog differential sensor, decision on releasing gas is made by the microcontroller or remotely by the command.

One more innovation was proposed - the “on board” chemical hydrogen generator, but we don't know exactly will it be used or not. For its implementation it was selected two reactions: the first one is between dry sodium borohydride and diluted acid, and the second one is between metallic sodium and methanol. The main problem is a large amount of heat produced and a foam-production. In the near future the test model will be assembled and according to the results of its testing there will be made a decision of appropriateness of using such a generator. After exhaustion of the resources it is supposed to throw down the hydrogen generator on a parachute, having previously disconnected all the wires, tubes etc.

A hydrogen generator would give an ability not only for a descent but also for an ascent.

There is two temperature sensors in our device - the first measures inner temperature, and the other measures outer one.
Maybe there will be realized an inner space heating (in case of significant temperature drop) by means of starting a heat-producing chemical reaction in special capsules.

Power supply

Mostly for the reasons of the resistance to low temperatures there were chosen LiFePO4 batteries. They will charge from the solar cells, the process will be under control of the charging controller IC.

Cameras

Two cameras will be placed onto the device. At least one of them will be modificated Canon A530 digital camera (5 Mpix). All the unnecessary parts (e.g. plastic cover, battery holder, flashbulb etc) are removed and only the main PCB with the sensor and lenses. There will be installed a modified CHDK version with implemented encoding of images into the SSDV format for transmitting them using radiolink. The camera communicates with the microcontroller using UART (just by connecting several wires to the camera's PCB).
The camera is mounted on the rotating platform with a stepper motor. It will allow to make panoramas or, for example, to take photos from different angles.
The second camera is directed downwards.

Data storage

All the collected information (photos, videos; coordinates, temperature and pressure logs; logs of received commands and their execution results etc.) is stored on the SDHC memory card (FatFS library is used) and also on a SDXC memory cards that are installed in Canon cameras. Maybe there will be implemented a copying of files from these cards to the main SDHC.

Payload container

We have no final decision about a material and form of payload container. Nevertheless, we have to provide a good thermal insulation. Extruded polystyrene, expanded polystyrene or assembly foam will be used. The container will be covered with metalized film.

The balloon is filled with hydrogen as it gives higher buoyancy then helium (which is used more often in such a projects). Hydrogen is also twice cheaper than helium.
The balloon has a volume of 1.8 cu m. Payload is mounted on the aluminum frame which in turn is attached to the balloon by slings. There is also a parachute for emergency cases.

Device operation

Bender takes video of the entire start and ascent process (if the battery charge level will be sufficient the descent video will also be taken). Taking shots is performed semiautomatically - preview versions of taken shots are generated and sent to the main server; after manual selection of photos to be load the full-size ones are sent. Command for video taking may be sent manually but it is saved to the memory card without subsequent sending because of low bandwidth of radiolink.

On lower altitudes snapshots are uploaded to the main server using FTP over GPRS, the remaining info is sent using HTTP.

On higher altitudes coordinates and altitude, sensors information (inner/outer temperature, pressure difference, battery charge level etc) is sent over radiolink at a regular time intervals.
Device coordinates are the (on a server-side) compared with known aircraft coordinates (from Flightradar24) to prevent collisions (if there is a plane nearby then the command for changing an altitude is given automatically by microcontroller).

Vertical position of the balloon is regulated by changing its filling by hydrogen. It is supposed to maintain a constant altitude for a long time in such a way (by equalizing gravity and Archimedes forces). If device doesn't receive signals for a long time the microcontroller makes a decision for descent and landing. After the last it sends SMS with its coordinates.

One of Bender's task also is to travel for as long distance as possible, in ideal - across the entire globe and to land at the desired point (if all goes well).

Article by ankelkoss, crackhack
Up