NB: нижеприведенная информация скорее всего устарела в той или иной степени. Поищите посвежее 😃
Добавил функций маяку:
Режим пробуждения и передачи GPS-координат голосом и DTMF теперь не экспериментальный, а основной режим работы.
Я думаю, что по удобству это намного интереснее просто маяка.
Нужно только подключить TX от бортового GPS к RX маяка и прописать настройки порта. Никаких установок таймеров и прочей нечистой силы 😃
Впрочем, я все-таки ставлю таймер на 24 часа на случай, если дела совсем уж плохи.
Алгоритм поиска такой:
* После падения ЛА, берем рацию и начинаем пищать в эфире тоном 1750Гц (стандартный Tone burst, который есть почти на любой рации).
* Если услышали ответ от маяка, записываем координаты и топаем к точке.
* Если ответа нет, то либо маяк не слышит нас, либо, что более вероятно, мы не слышим его. Придется переместиться ближе к предполагаемому месту падения и повторить попытку.
* Если ответ есть, но в нем вместо координат, передается “###” DTMF-ом и “000” голосом, или вообще какая-то белиберда, то значит случилась какая-то жуть с GPS. Тут придет на помощь старая добрая “охота на лис”.
Режим подстройки частоты.
Поскольку теперь корректировка задается родным для RFM способом, через регистр 0x9, то я добавил специальный режим настройки. Обычные функции маяка в нем не работают.
Режим включается дефайном FREQ_TEST_MODE_ENABLE.
Залив такую прошивку, нужно подключиться через UART и кнопками “<” и “>” подобрать значение регистра так, чтобы сигнал в рации был максимально чистым. Далее нужно найти границы стабильного срабатывания детектора Tone Burst: нажимаем “L” и выдавая в эфир тон 1750Гц находим крайние значения, при которых сигнал надежно детектируется. Берем среднее и пишем его в параметре BEACON_FREQ_CORRECTION.
И рисуем на плате фломастером, чтоб не забыть 😃
Это значение индивидуально для каждой RFMки.
Сделал два вывода под пищалки/фонарики. Пины выбираются дефайнами WAKE_AUX1_PIN и WAKE_AUX2_PIN.
Продолжительность логической единицы на них определяется значениями WAKE_AUX1_DURATION и WAKE_AUX2_DURATION соответственно.
Номера пинов для Оранжа можно выбирать, например, из тех, что идут на сервы. Это 3, 5, 6, 7, 8, 9, 10, 11, 12.
Они все подключены через килоомные резисторы, надо это учитывать 😃
Что-то делал еще, но уже не помню, будем считать, что пофиксил кучу мелких багов 😉
Круто!
Не хватает экстремального режима - смерти/отрыва основного питания.
Подключение и работа от собственного мини акка.
Последние доступные ГПС координаты.
Я питаю от отдельного акка. Вот зарядку бы к нему приделать. Но к прошивке это не имеет отношения. 😃
А с координатами все так и сделано. Та фраза про их отсутствие относилась к возможности сноса крыши гпса от удара.
Вообще такого быть не должно 😃
Так, в чём проблема Константин?
этих микросхем сейчас как грязи, я их давно применяю. Скажите сколько банок липолка и какая ёмкость, могу нарисовать и выслать
Вахтанг, имеете в виду чтобы липо было всегда на маяке подсоединено и заряжалось без вынимания батареи?
Проблема найти маленькую лифепо4.
Маяк с липошкой на морозе быстро станет дохлым маяком с липошкой 😃
Поэтому ищу лифепо миллиампер на 300, чтоб на месяц хватило. И зарядка получится элементарная, насколько я понимаю.
А вообще маяк изначально рассчитан на оранжевый приемник без аппаратной модификации. 😃
Вахтанг, имеете в виду чтобы липо было всегда на маяке подсоединено и заряжалось без вынимания батареи?
Да, конечно
Проблема найти маленькую лифепо4.
Маяк с липошкой на морозе быстро станет дохлым маяком с липошкой 😃
Поэтому ищу лифепо миллиампер на 300, чтоб на месяц хватило. 😃
Нам бы плоскую, но LiFe я только круглые видел.
А почему просто через диод ее не заряжать через лдо на маяке?
А почему просто через диод ее не заряжать через лдо на маяке?
Дело в том, что большинство АКБ очень боятся перенапряжения при зарядке, LiPo вообще может взорваться!
Правда программа которая у Эдика на телефоне на моем смарте очень тормозит, не стал ей пользоваться.
""Дело в том, что большинство АКБ очень боятся перенапряжения при зарядке, LiPo вообще может взорваться! “” , а что если поставить контроллер который стоит в телефонных акб, тонкая небольшая платка вроде.
Только пожаловался по поводу отсутствия LiFe в прямоугольной упаковке, вечером получил информацию
а что если поставить контроллер который стоит в телефонных акб, тонкая небольшая платка вроде.
эта плата защищает АКБ от разряда ниже нормы и содержит температурный датчик. Сам контроллер заряда стоит на плате телефона.
Найдите в инете, например описание MCP73833, очень маленький корпус, минимум обвязки.
TI выпускает целую линейку контроллеров зарядки АКБ всех видов.
Как я эту запись то просмотрел! Очкруто Константин!
Как я эту запись то просмотрел! Очкруто Константин!
Спс 😃
Может уж совсем на радостях сделаете свою платку, а не переделку приемничка и будет свой продукт, доступный для покупки?)
Может уж совсем на радостях сделаете свою платку, а не переделку приемничка и будет свой продукт, доступный для покупки?)
Платки заказал, жду. Но вот насчет продукта - хз. Хлопотно это, а отдача - мизер.
Совсем не хлопотно, когда этим всё равно занимаешься 18 часов в сутки 😃
Готов взять на себя разработку печатной платы, комплектацию и выпуск.
Константин, написал в личку телефон
Не не, не хлопотно, надо сделать! )
И чтобы желательно была своя маленькая липолька 1S в качестве автономного питания.
Сергей, ты не поверишь: буквально за 20 минут до этого решил сделать такое устройство и подбирал липолки для этого на НК 😃
А тут, нате вам, реализация идей, т.е. вернее поддержка.
Константин, не заметил ничего сказанного про напряжометр, он не работает в эфир?
Более того, хочу еще поставить контроллер зарядки липольки прямо на плату.
Липольки надо брать от маленьких вертолетов/коптеров, 180mAh максимум,
контроллер было бы вообще здорово (если на весе не отразится особо), подключил к основному питанию, и если вдруг оно отрубится спасет автономный источник.
Константин, не заметил ничего сказанного про напряжометр, он не работает в эфир?
Нет, пока не стал делать. Оранжевый приемник не сможет померить напряжение аккума. Сможет только напряжение на выходе LDO, а там если упало ниже 3.3, значит уже почти конец 😃
На плате тоже не стал пока разводить делитель, решил что мне хватит работы для первого концепта “в железе”.
Липольки надо брать от маленьких вертолетов/коптеров, 180mAh максимум,
А не мало? думаю маяк хотя бы неделю должен проработать! Константин давал таблицу жизнедеятельности…
контроллер было бы вообще здорово (если на весе не отразится особо),
Ну, если без защити от дурака, и автоматического определения переполюсовки, то целых 3 грамма получится, много? 😁
подключил к основному питанию, и если вдруг оно отрубится спасет автономный источник.
Нет, для этого достаточно просто диода. Контроллер я имел ввиду для зарядки липольки.
Нет, пока не стал делать. Оранжевый приемник не сможет померить напряжение аккума.
В собственной плате эту проблему легко решить.
В собственной плате эту проблему легко решить.
Легко. Но нужно ли? Я так не придумал что делать с этой информацией. Тупо передавать в эфир - баловство.
Ограничивать передачу при разряженной батарейке - тоже не вариант, а вдруг это был последний шанс найти потеряшку?
В общем, возможность есть, пользы нет 😃
Посмотрим. Если будет надо, померим, если нет, то и не надо.
Константин, Послал запрос на контакт в скайпе. Подтвердите, пожалуйста.
Поиграл на выходных с Вашим маячком. Очень впечатлён, поздравляю, удачное изделие.
Возникли мысли:
разумно сделать в виде полностью автономного изделия, а значит - свой GPS, который жрёт. Надо продумать алгоритм его включения - выключения и реакции на фикс-нефикс после пробуждения.
Вот бы сделать оперативную подстройку частоты под вызывной сигнал, всё же от температуры ползает ощутимо.
DTMF распознаётся не очень уверенно, возможно это связано с пунктом 3. Я для проверки гонял дтмф от телефона через звук, две рации (передача и приём), снова звук на Андроид - работает, а вот от маячка не очень.
Поиграл на выходных с Вашим маячком. Очень впечатлён, поздравляю, удачное изделие.
Спасибо 😃
разумно сделать в виде полностью автономного изделия, а значит - свой GPS, который жрёт. Надо продумать алгоритм его включения - выключения и реакции на фикс-нефикс после пробуждения.
Теоретически, если смотреть на маяк как на альтернативу трекеру, с соответствующими размерами и весом - то да, можно поставить емкий акк и сделать все-в-одном.
Но нужно ли? Почти на всех наших ЛА уже есть халявный (с точки зрения маяка) GPS с халявным питанием. Надо этим пользоваться, я считаю 😃
Вот бы сделать оперативную подстройку частоты под вызывной сигнал, всё же от температуры ползает ощутимо
.
Думал на этим, но у меня особо не ползает: и дома и зимой на улице работал одинаково адекватно.
Поэкспериментирую еще.
DTMF распознаётся не очень уверенно, возможно это связано с пунктом 3. Я для проверки гонял дтмф от телефона через звук, две рации (передаяа и приём), снова звук на Андроид - работает, а вот от маячка не очень.
Это странно. У меня DTMF в шумах нормально распознается.
Опишите какая у вас цепочка оборудования?
С другой стороны, как я уже писал, похоже, что DTMF лишнее звено. Голос и удобнее и быстрее. И потенциально более помехоустойчив. В тех условиях, когда я еще приемлемо разбираю голос в сильных шумах, DTMF уже точно не вариант 😦
По поводу “халявного GPS”.
У меня Ардупилот, который переключает жпс-приёмник в бинарный протокол, и чтобы из него выудить информацию, нужно писать соответствующий код. То есть свой код для MTK, uBlox, STM… А плюс ещё закрытые протоколы как у Назы. А я GPS приёмник маленький типа www.ebay.com/itm/271079582518 присобачил и получил мебольшое устройство, пригодное к незаметной установке в недра модели. Что приятно: можно жпс размещать вплотную к антенне маяка, помеха весьма кратковременная и не мешает.
По-моему, если Вы сделаете такое устройство со встроенной батареей и зарядником в виде монолитного куска эпоксидки с микросферами, то получится неплохой коммерческий продукт. А если его ещё и админить по радиоканалу…
По поводу ДТМФ.
В качестве приёмника пробовал рацию баофенг, есу 2, приёмник айком20. Декодил той же софтиной, что и Вы, на ГалаксиНоте2, то есть казалось бы, всё должно быть идеально. Но Вы правы, речь неплохо распознаётся на фоне серьёзных шумов, в отличие от ДТМФ.
У меня Ардупилот, который переключает жпс-приёмник в бинарный протокол, и чтобы из него выудить информацию, нужно писать соответствующий код. То есть свой код для MTK, uBlox, STM…
Мысль о бинарных протоколах у меня сидит занозой где-то в голове. Но вот не думал что они разные у всех производителей 😦
Если так, то это очень трудно реализовать. Я просто не согласен покупать все эти модули 😃
Но, как вариант, можно просто разобрать мавлинк.
Хм… 25мА. Даже батарейки на 1А хватит всего на пару суток.
Нужен механизм отключения, интеллектуального ожидания фикса и т.п.
Мдя. Покручу в голове, может что и родится.
Декодил той же софтиной, что и Вы, на ГалаксиНоте2
DTMF Tranceiver или DTMF?
Я отлаживался на второй, мне она показалась намного лучше. Но стоит денег, так что не агитирую 😃
Хм… 25мА. Даже батарейки на 1А хватит всего на пару суток.
Нужен механизм отключения, интеллектуального ожидания фикса и т.п.
Мдя. Покручу в голове, может что и родится.
Ну там можно вырубать питание модуля. Если при этом оставить подключённым бэкапное питание (с потреблением меньше микроампера), то при пробуждении, как правило, даёт фикс в пределах минуты (если приёмник после включения неподвижен и был выключен недолго, единицы часов). Но в любом случае надо как-то программно обыгрывать фикс-нефикс
подскажите , а с протоколом ublox будет работать ? или только с nmea ?
подскажите , а с протоколом ublox будет работать ? или только с nmea ?
Нет, текущая версия работает только с NMEA.
Я посмотрел протокол UBX. В принципе, ничего сложного, но без такого модуля я не возьмусь делать…
Еще вариант - разобрать MAVLink. У вас же АПМ? Это у меня в планах.
Но быстро не обещаю: у меня АПМ на коптере слишком хорошо стоит. Пока с ним че-нить не случится, снимать его не хочу 😃
Так-так, теперь понятно зачем тебе так нужен мой “трупик” 😁
МБ тогда и норм.осд напишешь по апм? 😃
Так-так, теперь понятно зачем тебе так нужен мой “трупик” 😁
МБ тогда и норм.осд напишешь по апм? 😃
Во, кстати, точно. Можно с твоим трупиком поковыряться.
Но вообще-то у меня на него были другие планы 😉
Нормальное ОСД под мавлинк невозможно, из-за тормознутости самого мавлинка. 😦
Нормальное ОСД под мавлинк невозможно, из-за тормознутости самого мавлинка.
Эээ? Как-то не замечал тормознутости ни на МишнПлэнере, ни на МинимОСД. По крайней мере, горизонт реагирует без видимого лага.
Другое дело, что картинка, формируемая с помощью MAX7345 в принципе убога. И если Вы сделаете мавлинковское ОСД с пристойной графикой, всё человечество будет безмерно счастливо.
Эээ? Как-то не замечал тормознутости ни на МишнПлэнере, ни на МинимОСД. По крайней мере, горизонт реагирует без видимого лага.
Другое дело, что картинка, формируемая с помощью MAX7345 в принципе убога. И если Вы сделаете мавлинковское ОСД с пристойной графикой, всё человечество будет безмерно счастливо.
Ну не знаю. Может я его готовить не умею, но у меня лаг не просто видимый, а бросающийся в глаза.
Возможно, надо крутить параметры мавлинка, видел у АПМа настройку частоты отсылки разных сообщений. Но я настраивал всегда в соответствии с рекомендациями minimosd extra и получал адский лаг.
Насчет тормозов, единственное, что приходит в голову, если у Вас не сконфигурирован GPS, то данные с него валятся раз в секунду и, соответственно, всё начинает лагать.
Посмотрите в ютубе бортовое видео с АПМ, сравните со своим.
Насчет тормозов, единственное, что приходит в голову, если у Вас не сконфигурирован GPS, то данные с него валятся раз в секунду и, соответственно, всё начинает лагать.
Посмотрите в ютубе бортовое видео с АПМ, сравните со своим.
Первое попавшееся.
Ну лагает же 😃
И GPS тут не при чем, пространственное положение в отдельном типе мавлинк-пакета передается.
Ну лагает же
Я бы сказал, что дело не в лаге (временнОй задержке), а в дискретности вывода горизонта на экран. Посмотрите, вроде бы нигде искусственный горизонт от настоящего по времени не отстаёт.
А что касается скорости обновления информации на экране - посмотрите на цифры вертикальной скорости справа.
Ну и оцените задержку в МишнПлэнере, там тот-же мавлинк.
Ещё раз пересмотрел.
Ну да, горизонт обновляется где-то три раза в секунду. Надо бы почаще, посмотрю в документации на выходных, где там засада.
Ну и оцените задержку в МишнПлэнере, там тот-же мавлинк.
Вот именно потому, что все неожиданно плохо не только в минимосд, а еще и в МП и в дроидпланнере и в андропилоте, я и делаю вывод, что во всем виноват мавлинк 😃
Ну да, горизонт обновляется где-то три раза в секунду. Надо бы почаще, посмотрю в документации на выходных, где там засада.
Тоже еще раз пересмотрел. Обратите внимание как шустро прыгают цифры вертикальной скорости и как медленно обновляется все остальное. То есть, я предполагаю, что сам минимосд все успевает, просто источник данных так неторопливо их шлет.
{"assets_hash":"a8b26fa7f6e768b07a72c8c9aadb9422","page_data":{"users":{"4683d68c3df9550077783119":{"_id":"4683d68c3df9550077783119","hid":24868,"name":"HATUUL","nick":"HATUUL","avatar_id":null,"css":""},"477bd42c3df955007777ecee":{"_id":"477bd42c3df955007777ecee","hid":30355,"name":"F_R","nick":"F_R","avatar_id":null,"css":""},"4823073a3df955007777b2ad":{"_id":"4823073a3df955007777b2ad","hid":34271,"name":"Вахтанг","nick":"Вахтанг","avatar_id":null,"css":""},"4b4dca253df9550077765d48":{"_id":"4b4dca253df9550077765d48","hid":59428,"name":"hudognik","nick":"hudognik","avatar_id":null,"css":""},"4c0957443df9550077760211":{"_id":"4c0957443df9550077760211","hid":67065,"name":"Shuricus","nick":"Shuricus","avatar_id":null,"css":""},"4c21d2763df955007775f5cb":{"_id":"4c21d2763df955007775f5cb","hid":68027,"name":"DChernov","nick":"DChernov","avatar_id":null,"css":""},"4d2ed4283df9550077757835":{"_id":"4d2ed4283df9550077757835","hid":78182,"name":"Covax","nick":"Covax","avatar_id":null,"css":""},"4fe5ff233df9550077742f79":{"_id":"4fe5ff233df9550077742f79","hid":121417,"name":"STRIMSS","nick":"STRIMSS","avatar_id":null,"css":""},"507d4ac93df955007773eb1d":{"_id":"507d4ac93df955007773eb1d","hid":127344,"name":"тигромух","nick":"тигромух","avatar_id":null,"css":""}},"settings":{"blogs_can_create":false,"blogs_mod_can_delete":false,"blogs_mod_can_hard_delete":false,"blogs_mod_can_add_infractions":false,"can_report_abuse":false,"can_vote":false,"can_see_ip":false,"blogs_edit_comments_max_time":30,"blogs_show_ignored":false,"blogs_reply_old_comment_threshold":30,"votes_add_max_time":168},"entry":{"_id":"534bb2f3997073007710f2b2","hid":18684,"title":"OpenBeacon 0.2","html":"<p>NB: нижеприведенная информация скорее всего устарела в той или иной степени. Поищите посвежее <span class=\"emoji emoji-smiley\" data-nd-emoji-src=\":smiley:\">😃</span></p>\n<!--cut-->\n<p>Добавил функций маяку:</p>\n<ol>\n<li>\n<p>Режим пробуждения и передачи GPS-координат голосом и DTMF теперь не экспериментальный, а основной режим работы.<br>\nЯ думаю, что по удобству это намного интереснее просто маяка.<br>\nНужно только подключить TX от бортового GPS к RX маяка и прописать настройки порта. Никаких установок таймеров и прочей нечистой силы <span class=\"emoji emoji-smiley\" data-nd-emoji-src=\":smiley:\">😃</span><br>\nВпрочем, я все-таки ставлю таймер на 24 часа на случай, если дела совсем уж плохи.<br>\nАлгоритм поиска такой:<br>\n* После падения ЛА, берем рацию и начинаем пищать в эфире тоном 1750Гц (стандартный Tone burst, который есть почти на любой рации).<br>\n* Если услышали ответ от маяка, записываем координаты и топаем к точке.<br>\n* Если ответа нет, то либо маяк не слышит нас, либо, что более вероятно, мы не слышим его. Придется переместиться ближе к предполагаемому месту падения и повторить попытку.<br>\n* Если ответ есть, но в нем вместо координат, передается “###” DTMF-ом и “000” голосом, или вообще какая-то белиберда, то значит случилась какая-то жуть с GPS. Тут придет на помощь старая добрая “охота на лис”.</p>\n</li>\n<li>\n<p>Режим подстройки частоты.<br>\nПоскольку теперь корректировка задается родным для RFM способом, через регистр 0x9, то я добавил специальный режим настройки. Обычные функции маяка в нем не работают.<br>\nРежим включается дефайном FREQ_TEST_MODE_ENABLE.<br>\nЗалив такую прошивку, нужно подключиться через UART и кнопками “<” и “>” подобрать значение регистра так, чтобы сигнал в рации был максимально чистым. Далее нужно найти границы стабильного срабатывания детектора Tone Burst: нажимаем “L” и выдавая в эфир тон 1750Гц находим крайние значения, при которых сигнал надежно детектируется. Берем среднее и пишем его в параметре BEACON_FREQ_CORRECTION.<br>\nИ рисуем на плате фломастером, чтоб не забыть <span class=\"emoji emoji-smiley\" data-nd-emoji-src=\":smiley:\">😃</span><br>\nЭто значение индивидуально для каждой RFMки.</p>\n</li>\n<li>\n<p>Сделал два вывода под пищалки/фонарики. Пины выбираются дефайнами WAKE_AUX1_PIN и WAKE_AUX2_PIN.<br>\nПродолжительность логической единицы на них определяется значениями WAKE_AUX1_DURATION и WAKE_AUX2_DURATION соответственно.<br>\nНомера пинов для Оранжа можно выбирать, например, из тех, что идут на сервы. Это 3, 5, 6, 7, 8, 9, 10, 11, 12.<br>\nОни все подключены через килоомные резисторы, надо это учитывать <span class=\"emoji emoji-smiley\" data-nd-emoji-src=\":smiley:\">😃</span></p>\n</li>\n</ol>\n<p>Что-то делал еще, но уже не помню, будем считать, что пофиксил кучу мелких багов <span class=\"emoji emoji-wink\" data-nd-emoji-src=\":wink:\">😉</span></p>\n<p>Исходники тут: <a href=\"https://drive.google.com/file/d/0B5Q2oMooG226dmxhLTNic0k1czA/edit?usp=sharing\" class=\"link link-ext link-auto\" data-nd-link-type=\"autolink\" data-nd-link-orig=\"https://drive.google.com/file/d/0B5Q2oMooG226dmxhLTNic0k1czA/edit?usp=sharing\" target=\"_blank\" rel=\"nofollow noopener\">drive.google.com/file/d/…/edit?usp=sharing</a><br>\nКак прошивать тут: <a href=\"https://rcopen.com/blogs/127344/18270\" class=\"link link-int link-auto\" data-nd-link-type=\"autolink\" data-nd-link-orig=\"https://rcopen.com/blogs/127344/18270\">rcopen.com/blogs/127344/18270</a></p>\n","user":"507d4ac93df955007773eb1d","ts":"2014-04-14T10:05:39.000Z","st":1,"cache":{"comment_count":45,"last_comment":"535a15e29970730077138e73","last_comment_hid":45,"last_ts":"2014-04-25T07:59:30.000Z","last_user":"507d4ac93df955007773eb1d"},"views":5490,"bookmarks":0,"votes":0},"subscription":null},"locale":"en-US","user_id":"000000000000000000000000","user_hid":0,"user_name":"","user_nick":"","user_avatar":null,"is_member":false,"settings":{"can_access_acp":false,"can_use_dialogs":false,"hide_heavy_content":false},"unread_dialogs":false,"footer":{"rules":{"to":"common.rules"},"contacts":{"to":"rco-nodeca.contacts"}},"navbar":{"tracker":{"to":"users.tracker","autoselect":false,"priority":10},"forum":{"to":"forum.index"},"blogs":{"to":"blogs.index"},"clubs":{"to":"clubs.index"},"market":{"to":"market.index.buy"}},"recaptcha":{"public_key":"6LcyTs0dAAAAADW_1wxPfl0IHuXxBG7vMSSX26Z4"},"layout":"common.layout"}