Комментарии 43
С подключенным альтиметром, акселерометром и кучей прочих датчиков
И с радиоканалом передачи данных и кучей другой интересной периферии. При этом максимально легкий и компактный
Полетный контроллер будет сильно тяжелее и значительно больше потребление.
Я для RC самолетов делал на arduino+bmp(e)280, по i2c подключается к приемнику радиоуправления в телеметрийный порт (Radiolink). Измерения отображаются прамо на пульте. https://github.com/wyfinger/RadiolinkTelemetry
Там же вариант с gps, искать модель после незапланированной посадки сильно проще :)
На ракету тоже можно добавить пару микросерв для руления, приемник и gps датчик.
![](https://habrastorage.org/webt/8t/dl/pv/8tdlpvirunxn80wce4m6yyomwiw.jpeg)
![](https://habrastorage.org/webt/0x/tg/-x/0xtg-xtcualyjpa8wyhgptghfpc.jpeg)
Я делал наружу потому что это датчик для домашней автоматизации и лишний нагрев от WiFi мне не нужен. Если вам только высоту его можно и развернуть вовнутрь что бы меньше места занимало. Или разъемы можно взять поменьше или вообще без них запаять.
Придется еще аккумулятор встраивать и заряжать его перед каждым запуском
А если применить контроллер в маленьком корпусе, например tiny-AVR, то можно сделать устройство на плате не больше CR2032.
Алтиметр измеряет давление (датчик давления BMP 280) и чем ниже ракета, тем больше давление. Раз пошли отрицательные числа, значит что-то вызвало скачок (увеличение) давления (подозреваю, что двигатель виной).
Так же интересна аномальная высота перед стартом во второй раз (в первый раз этой аномалии нет). Так что потенциально датчик давления можно использовать для дополнительной диагностики.
P.S. Нужны дополнительные тесты под ускорением — вдруг от ускорения меняются показания?
![](https://habrastorage.org/webt/d3/ns/yo/d3nsyoy2lx4i_4w4tvhfntgf-xq.gif)
И как раз получается, что:
![](https://habrastorage.org/webt/rp/f2/jk/rpf2jkw-dhoucvslh1x-u_ylswc.gif)
То есть, в моем случае давление на уровне моря равно 101325 Па и при превышении давления даже на единицу натуральный логарифм становится отрицательным, откуда и появляется значение -8 м в неудачном запуске.
По поводу аномалии перед стартом во второй раз я вижу две причины
- Опять же из-за работы двигателя повысилось давление, следовательно упала высота. В таком случае можно предположить, что реальный апогей метров на 10 выше измеренного
- Как вы сказали, возможно от ускорения меняются показания датчика. Надо будет провести измерения при тряске датчика
В общем, еще раз спасибо за комментарий, вы мне помогли понять некоторые «причуды» работы BMP280)
реальный апогей метров на 10 выше измеренного— в верхней точке ведь двигатель не работает? Если альтиметр не в герметичной капсуле (щели, отверстия для воздуха ведь есть?), то давление должно быть нормальным (при желании можно откалибровать приборный отсек на предмет времени выравнивания давления). Но проще изолировать от двигателя и сделать щели для атмосферы.
VT100
Попробуйте повернуть ПН на 180° перпендикулярно продольной оси ракеты.Да, вполне может быть. А отсутствие аномального пика в первый раз возможно объясняется тем, что после ремонта во второй раз датчик имел другое положение (ориентацию).
В любом случае — в верхней точке траектории двигатель отключен и ускорение нулевое (возможно, следует учесть, что на поверхности земли 1 g, в верхней точке 0 g — невесомость). Во время падения ускорение будет медленно возвращаться.
А что интересно тогда будет происходить с мембраной при невесомости? И получается, что во время падения показания наоборот выше реальных, потому что ускорение то теперь направлено вниз. Как много интересных нюансов при работе барометров в таких необычных для них условиях)
ускорение то теперь направлено вниз
Перед стартом ускорение 1g (земное, направление «вверх»).
При старте в момент работы двигателя ускорение «вверх» увеличивается.
При выключении двигателя ускорение меняет знак (торможение об атмосферу), в верхней точке ускорение 0 (торможения об атмосферу нет).
По мере падения увеличивается скорость и появляется сила трения, возвращается вес и обычное ускорение в 1g (вспоминаем парашютистов в свободном падении или летающую пикирующую лабораторию для тренировки космонавтов на невесомость, правда там двигатели и рули высоты работают).
Покрути на земле датчик и получишь представление о разбросе показаний в зависимости от ориентации ускорения. Если при кручении вдоль какой-то оси показания меняются, значит для датчика «низ» меняется на «верх». Если показания не меняются, значит вращаешь как фигуриста вокруг. Но разница в показаниях должна быть небольшой. (Эх, центрифугу бы).
Конечно можно сделать компактнее и с передачей данных (RAK4200 + датчик). И ещё можно прочитать статью NXP об инициализации I2C.
Сейчас я делаю модуль бортовой камеры с радиопередатчиком nRF24l01 на 2.4 ГГц, но он будет выступать в качестве маяка. Передавать с ракеты буду только один бит, просто, чтобы другим nRF24l01 я мог понять где сигнал сильнее и где мне стоит искать упавшую ракету. Конечно с радио передачей есть много нюансов (выбор передающей и принимающей антенны, компоновка всего оборудования в корпус ракеты и тд.), но я думаю, что справлюсь с этой задачей)
+1 для imageman
P.S. Нужны дополнительные тесты под ускорением — вдруг от ускорения меняются показания?
Мембрана датчика давления является инертной массой и работает как акселерометр. Смотрите, какой "пичок" проходит во время старта. Попробуйте повернуть ПН на 180° перпендикулярно продольной оси ракеты.
В моем случае BMP280 был установлен так, что эта крышка была горизонтальна, и вектор ускорения был перпендикулярен ей. Так что, если мембрана расположена, так как я предположил, то ускорение во время старта возможно и повлияло на показания в этот момент!
Спасибо за идею)
Теоретически — может (эффект Бернулли?).
Практически — надо смотреть как полость ГО сообщается с атмосферой. Если сделать отверстие на "носу" — будет небольшой(?) наддув. Если сделать 2..3 отверстия в нижней части — может быть эжекция из полости ГО.
Главный вопрос не придут ли за автором органы. Сейчас даже квадрокоптер регистрировать заставляют
Главный вопрос не придут ли за автором органы.Это не главный, а дежурный вопрос под всеми такими статьями:) На пикабу ребята трубу больше роста запускают и на такие вопросы у них ответ: «Пока мы не совершеннолетние — надо успеть» :)
Они кстати и Амперку стебут за местные статьи:)
В том то и беда, я и сам непрочь что-нибудь летающее собрать, и есть интересные идеи по конструкции ракет, но законы отбивают всякое желание((.
Так что ограничусь летающим кировым — в 250 грамм можно довольно большой дирижабль упихать.
Можно еще использовать gps-модуль, тогда вы будете записывать весь трек полета, а не только высоту и избавиться от влияния ускорений на измерения. Для снижения массы рекомендую с макеток все "сдувать" на платы (ток нада немного руку набить).
Максимальный ток разрядки 2032 — не более 1..2 мА (по памяти), номинальный еще меньше. Для питания более мощных нагрузок следует добавлять конденсаторы (имея увеличение утечек как плату).
Coin cells and peak current draw
High pulse drain impact on CR2032 coin cell battery capacity
Energizer, например, советует своим 2032 батареям длительно давать токи не более 0,19 мА. Токи больше — только импульсные.
Советую все HAL_Delay заменить на переход в низкопотребляющий режим, тогда батарейки хватит на большее время.
Я просто оставлю здесь эту ссылку на аналогичную мою поделку для шаров.
www.instructables.com/Electronic-Barometric-Altimeter-for-Stratosphere-B
Per aspera ad astra, или как я строил ракету. Часть 2. Собираем альтиметр на STM32 и BMP280