Простой поисковый радио маячок.

Pavel_liev

Предварительные замеры выявили серьезную проблему режима сна, быстрый CAD запрос наличия сигнала, что длится 60мс не видит сигналы ниже уровня шума, то есть не срабатывает с запросами менее rssi=58(-106дБм), при том сама кодировка LoRa работает гораздо дальше, до rssi=42(-122дБм), получается при использовании быстрого опросчика дальность маяка падает вдвое, до уровня Si4432. Еще очень короткие сообщения в 1 байт недостаточны для сработки уровня и хорошей работы протокола LoRa, нету той чувствительности пока не будет хотя бы несколько байт в пакете, в результате для корректной работы по дальности нужно вводить в прием RX, который длится в 10-20 раз дольше чем CAD, и не получается такой экономии батарейки как у Si4432 😦

Vladimir_N

Да, нехорошие грабли. 😦
Я тоже проверял дальность с уже разбуженным маяком. 😃
Может там проблема кроется в точной настройке частоты, у разбуженного маяка срабатывает автоподстройка и дальность возрастает.

Есть еще один момент, очень не желательно трясти микросхему запросами по шине SPI во время приема, от этого точно падает дальность даже у si4432.

Pavel_liev

Необходимо еще несколько тестов, что-то не то с уровнями на нескольких замерах, попробую заменить радиомодуль, возможно повредил входной каскад маячка, и из-за этого он плохо будится.

Pavel_liev

Заменил модуль и повторил замеры, попутно исправил пару багов в коде, и оказалось что CAD сканирование работает корректно, сигнал LoRa вменяемо определяется когда есть, проблема была именно со старым модулем, не знаю что его замучило.
Но не все так гладко, двухсторонняя связь все-равно не так дальнобойна как односторонняя, без сна сигнал 100мВт удавалось ловить проволочной антенной до 1км в лесу, а иногда чуть больше, когда с режимом сна дальность упала до 700-800 метров. Пара таких мелких модулей работает примерно как радейка баофенг с аналоговым Si4432, тоже неплохо но всегда хочется большего. Еще возможен вариант разместить в пульте 1Вт модуль, такой гарантированно разбудит маячек, и в программе указать непрерывную работу на несколько минут, такой вариант связи может оказаться более дальнобойным, но 1Вт модули дороги и дефицитны.

По шине SPI, в мануале о запросах ничего не указано, а в реальности опрашиваю статусный регистр модуля раз в 10…20мс, но разницы по связи даже при постоянном опросе статусного регистра не заметил.

Vladimir_N

Есть чем померить выходную мощность?

Настройки по умолчанию:
RFM_Write(0x09,0x8F); //power =8f основной усилитель 80-8F -16 значений
RFM_Write(0x4D,0x84); // power default дополнительный усилитель ток 80-8F -16 значений
RFM_Write(0x0B,0x32); // current control on 100ma default. Для максимальной мощности согласно доке должно быть 120мА. 😃

Если поставить:
RFM_Write(0x09,0xFF); //Set maximum transmit power settings
RFM_Write(0x4D,0x8F); //мах power PA_boоst +20db
RFM_Write(0x0B,0x32); //current control on 150ma. Ток сильно задирать не стал, антенна не очень хорошая.

Мощность излучения должна быть больше.

Pavel_liev

Эти плюшки проходились еще пол года назад, регистр 0х09=8F максимальное значение, и FF для него вне конфига, будет пользоваться “по умолчанием”. Регистр 0х4D не принадлежит ЛоРа, он с пачки FSK/OOK и в режиме ЛоРа его не существует, только нативная таблица ЛоРы оказывает влияние на ее работу, отдельным особняком идут пины dio, но они больше бесполезны. С конфигом тока игрался ранее, и перебрав множество настроек пришел к выводу что максимальные значения по мощности и эффективности стоят по умолчанию, и любые правки сделают либо тоже самое либо хуже. А так 100мВт модуль при максимальной мощности потребляет около 120мА тока, это его предел, правда недавно вышли на Али модули SX1262 150мВт ревизии, ну 22дБм.
Еще очень охота спустить частоту на 170-315 МГц, согласно мануалу эти модули SX1278 это умеют, только развязка выходных фильтров не подходит, уже пробовал, при 370МГц завал был такой что реального выхода излучения почти не было, а номиналы неизвестны, и в самом Китае перестали продавать модули такой частоты, а раньше то были.

7 days later
Pavel_liev

В процессе работы по маячку вылезли неприятные грабли, проблема с питанием GPS. Для экономии акб необходимо отключать модуль приема спутников, но как это делать? Оказалось у тини13 не все выводы одинаковые по токоотдаче, РВ5 самый хилый, а РВ0/1 самые токовые, но даже с ними модуль что потребляет 25мА просаживается на 0.5в, что крайне плохо, ибо еще с рабочим АКБ получаем нерабочий GPS.
Отключать у GPS нужно именно провод “плюс”, ведь при отключении “минуса” потеряем запитку резервной памяти орбит “горячего” старта. Использование транзистора п-р-п не помогает, там так же просадка по переходу, а для р-п-р надо делать развязку, хочется простое компактное и надежное решение 😃

Vladimir_N

А чем p-n-p транзистор не нравится? Там из обвязки всего пара сопротивлений. Один с базы на вывод контроллера для ограничения тока 1-10кОм, второй высокоомный с базы на эмиттер 50-200К для надежного запирания транзистора. Второе сопротивление можно и не ставить, но нужно следить программно чтобы вывод не оказался воздухе. Транзистор эмиттером к аккумулятору коллектором к потребителю. Вместо биполярного можно поставить и полевой транзистор Р-типа c изолированным затвором, тогда вообще сопротивления можно не ставить.

V_Alex

Есть “цифровые” PNP транзисторы с обвязкой внутри, например - PDTA124. Очень экономят место на плате.

Pavel_liev

Почитал про транзисторы с составными резисторами, прикольно придумали, кажется мелочь а меньше рассыпухи что может отвалится, а значит выше надежность, только уже прошил тини13 под ногу “ресет”, а теперь получается надо управлять не положительным а отрицательным импульсом, когда тинька уже залочилась 😒
Варианты с неотключением ноги лучше не использовать, это лишние токи с АКБ и для автономности это критично. Думал еще о мелком тиристоре но у них зачастую токи удержания 20мА, что соизмеримы с потреблением GPS, а значит тиристор не выключится. Кажется для экономии Р-мосфет маленький в SOT23 будет лучше всего, у р-п-р транзистора выше ток утечки и управления, но затвору полевика понадобится подтяжка на “плюс”, а это еще один резистор 😃

V_Alex

Еще есть EMD9: fscdn.rohm.com/en/products/…/emd9t2r-e.pdf
Достаточно просто лапки между собой скоммутировать и с тиньки будете управлять NPN, а выходом - PNP. И тоже никаких лишних резисторов.

Pavel_liev

EMD9T2R дефицитка, днем с огнем не сыщешь, те же цифровые транзисторы так же не везде есть, а вот р-мосфет мелкий реально достать много где, и как запчасть он проще, думаю проще это лучше.
Заметил некрасивую особенность, собирал как-то платку сбрасывания ФЮЗ’ов для тинек, она корректно резетит лоченные в 8МГц чипы, но 1МГц не восстанавливает, а у меня уже 3шт таких тинек и новые закончились 😦

V_Alex
Pavel_liev:

…а вот р-мосфет мелкий реально достать много где, и как запчасть он проще, думаю проще это лучше.

В принципе, да. Причем, там можно обойтись без дополнительного места под резистор. Резистор 0603 нормально помещается на контактные площадки самого транзистора между лапками, просто лапку транзистора и контакт резистора нужно паять одновременно.

Вахтанг
Pavel_liev:

EMD9T2R дефицитка, днем с огнем не сыщешь, ,

вот www.terraelectronica.ru/product/312848 в наличии 55 тысяч штук. Думаю нам хватит.
или в другом магазине: www.smd.ru/katalog/tranzistory/sborki/

правда, в последнее время, так быстро компоненты со складов исчезают, что набрав корзину не успеваешь их заказать, приходится искать аналоги!

Pavel_liev

Вахтанг спасибо за ссылки на заграничные магазины, в окошке же написано, что с Украины 😁

Мелкие полевики уже заказал по месту, как приедут припаяю и продолжу тесты, надо снять еще одно видео в лесу с реальным режимом пробуждения и экономии акума, в режиме сна мультиметр показал 28мкА, плюс замеры радио раз в 8 сек на 20мА длительностью 60мс, кажется среднее потребление 180мкАч, что означает мелкого 3.5г акума на 100мАч должно хватить на 550 часов, или 22 дня режима сна, и это немного хуже чем у Si4432.

Вахтанг
Pavel_liev:

Вахтанг спасибо за ссылки на заграничные магазины, в окошке же написано, что с Украины

Извини Павел, на город не посмотрел.😒 как-то привык считать участников любимого форума друзьями и земляками.
Ну, за границей вы сами захотели находится, как и мой земляки, если что всегда ждём в гости. 😁
Что касается расчета жизни АКБ: к сожалению теоретический расчет не всегда совпадает с практикой. Как правили сами аккумуляторы имеют собственную утечку (хотя на литии это сведено к минимуму), на плате возникает не предвиденная утечка, опят таки имеет значение влажность и температура окружающей среды, качество аккумуляторов разное и т.д.
Я как-то таким вопросом занимался, по ТЗ флешка должна была прожить год в режиме хранения, и при этом в случае не санкционированного доступа уничтожить внутри себя секретную информацию. Решение вопроса оказалось не такой лёгкой, как показалось в начале проекта.

Pavel_liev

Испытал версию со спящим режимом, для контроля питания GPS применил полевой транзистор, резистор подтяжки не понадобился, тини13 между режимами сна нормально удерживает ногу.

brunh
Pavel_liev:

Испытал версию со спящим режимом, для контроля питания GPS применил полевой транзистор

Сам разрабатываю подобный маяк.
Вижу упор делаете на дальность, тк автономности в пару дней вам достаточно. Мне нужно с годик на мелкой батарейке, да и вам, оптимизировав потребление, возможно хватит 2032 с конденсатором сглаживающим пиковые токи.
Дальность, по моему, вернее подняв приемник повыше, например на удочке и ждать сигнал бипера, подтверждающем фиксирование координат маяка. Дроном поднимать уже поисковая система получается - и навыки и затраты…
Несколько предложений и вопросов, наверное вы и сами их обдумывали и обсуждали ранее в ветке, хотелось бы услышать ваше мнение:

  1. Выключение приемника и последующий его запуск занимает приличное время, по моему при частых запросах к GPS правильнее загнать в сон или в глубокий сон с долями микрон, командами - без транзисторов.
  2. При неудачном положении, приемник запросто выжрет батарейку, а раз команды с базы ходят, полезно добавить режим поиска по уровню RSSI/FSK.
  3. Вычисление триангуляцией думаю вам пока не актуально, на такой случай иметь передатчик опорного сигнала. Когда научусь - покажу как.
  4. Взять приемник посовременнее, согласно Стюарта - спеца по Lora трекерам github.com/StuartsProjects/GPSTutorial (на сайте подробнее расписаны токи и зависимости от антенн):
    при равных условиях AA alkalines
    Ublox 6M 35 дней
    Beitian BN220 35 дней
    Quectel L70 178 дней

Я работаю с UBLOX MAX M8Q 10*10мм, (на али 8$, на тао 2$-5$) есть приемники совсем мелкие, чуть ли не 3*3мм, как с ними работать непонятно, да и малодоступны пока.
5. Смотрели в сторону a-gps? Например хранить данные альманаха на контроллере и загружать в приемник по потребности.
Есть команды загрузки вычисленных на локальном контроллере или полученных от приемника данных альманаха и эфемерид в приемник, что значительно сокращает время холодного старта.
В доке Навиа рассмотрены некоторые аспекты применения системы AGPS разработки фирмы STMicroelectronics – ST-AGPS, прям с листингом, там же разъясняют зачем:
при необходимости сократить время старта и/или время выхода приемника на заданную точность определения местоположения рекомендуется производить загрузку в приемник данных альманаха и эфемерид от внешнего приемника, постоянно принимающего сигнал и имеющего актуальную информацию о спутниковой обстановке. Это позволяет сократить время старта с 35 до 6 секунд, а время выхода на требуемую величину погрешности с примерно 800 секунд до 6…10 секунд.
naviawireless.ru/…/ML8088sE-zagruzka-sputnikovoy-o…

Pavel_liev

Автономности пару дней как-то маловато, а с месяц или полтора в самый раз. Разработку начал год назад и провел множество испытаний, и каждый раз находятся моменты которые хочется доработать и сделать лучше, а так прошивки почти готовы, еще пару правок с мелочами и можно закинуть на форум.
О батарейном питании GPS модуля можно забыть, элементы типа 2032 плохо работают с токами в 18-25мА, а модуль будет кушать такой на протяжении 10-15 секунд, попутно минимальная мощность передатчика около 20мА, не хватит конденсатора, батарейка даст просадку. Фирменные маяки так же делаются исходя из этого принципа, аналоговые Marshall на 2032, а цифровые с GPS на литий-полимерном АКБ.
Пробовал выключать GPS хардварно, режим сна на L70-R и ATGM336H не заточен под экономию питания, потребление в нем более 80мкА, когда использование полевого транзистора позволяет войти в полное отсутствие тока, оставив лишь 10мкА для ноги резервной памяти спутников.
О загрузке альманаха спутников, а где вы найдете ресурсы хранить и считать эти данные? Для этого понадобится интернет подтягивать, при том холодный старт безопасно можно сделать разбудив маяк еще до использования, скажем приехав на поляну, вы сразу увидите что он исправен, статус напряжения АКБ и дальше он уже будет в горячем старте, готовым к работе с задержкой 6-10с, да и холодный старт это 30-40 секунд.
Триангуляция сигнала обычному человеку не пригодится, вы больше потратите времени располагая антенны и оборудование, чем простой пеленг с направленной антенной типа волоновой канал, тот же маяк на Si4432 легко находится, направленность с 3х элементной ягой отличная, можно упереться в куст с маяком с погрешностью 40см, просто дальности не всегда хватает, упади такой маяк в густую траву, все усложняется.

Одним из актуальных направлений считаю понижение частоты, LoRa отлично выковыривает пакеты из уровня шума, но на реальной пересеченке 432МГц значительно давятся лесом и рельефом, хочется протестировать работу при 170-240МГц, даже с укороченной антенной дальность в зарослях должна вырасти, но на Али пропали такие модули, вижу лишь один вариант - самостоятельно изменить обвязку фильтра 433 модуля в более низкочастотную. Так же возможна работа с направленными антеннами, это еще +30…40% расстояния.

brunh

Сам ориентируюсь на длительную работу, не копал особо в сторону таблеток. Ошибся, не 2032, а побольше таблетку CR2450 и кондер 1F, используют в лоратрекере -на кикстартере проект .
новые приемники ловят на горячую 1-2с. мой M8Q в среднем 4-6c, хотя по паспорту должен бы 1с. - видимо есть тонкости отладки. Питание приемника еще зависит от режима работы, например стандарт 10Hz 17мА, эконом с частотой 1Hz - 5мА. Поновее M10S в стандартном 6мА и эконом 2мА.

Маяк в вашем решении необходим редко, ему достаточно слушать запрос на выдачу координат, а там подключить питание к приемнику, а значит ваш вариант с полным отключением питания интереснее.

Альманах спутников скачает и хранит базовая станция, которая на руках, там и батарейка, и антенна серьезнее в GPS, и процессор посолиднее. С нее загрузить в маяк по лоре, и это в теории, u-blox называет такую подгрузку AssistNow, реально не применял.

Мои маяки для простых людей, которые направленную антену раздавят во второй поездке, там бы чего попроще. Хотя ваши раскладные наверное приживутся, доставать то их при ЧП.

Pavel_liev

Считается сложные решения менее надежны, а подгрузка спутников требует много радиоканала, при этом сама LoRa не любит работать в движении, и на предельных расстояниях очень здорово рвет пакеты, то есть загрузить данные спутников получится лишь в близких расстояниях и лишь на больших скоростях, а маяк передает пакет в 10 байт за 0.8 секунд(62кГц SF11). Проще отказаться от сложных операций и принимать GPS на холодную, даже с проволочной антенной в облачную погоду в лесу проблем не возникает, пол минуты и он работает, а дальше горячий старт. Обмен же сложными данными это больше ног МК, больше кода, больше сложностей.
Посмотрел презентацию на кике, такая сеть как они хотят потребует кучи базовых станций в городе, вполне реально но не интересно, не для леса с дребенями, а вот денежку они захотели здорово, 10тыс енотов, конечно с таким бюджетом можно строить самоделки 😒

По работе маячка пока считаю наиболее рационально после пробуждения передавать серию из 3-5 пакетов координат с интервалом по времени, то есть работать после пробуждения 20-40с., на предельных расстояниях маяк видит активность канала в CAD опросе, но прием и передача валидных данных происходит с большими затруднениями, видно что нам что-то отвечают, но принять можно лишь короткие пакеты с искажениями, более половины данных отваливается, и лишь один из серии будет принят корректно. Очень короткие пакеты работают плохо, длинные тоже, наиболее помехоустойчивыми оказались сообщения 10-20 байт.

brunh

ответ саппорта U-Blox:

Альманах на самом деле не важен и не используется для навигации на современных приемниках. Однако для его загрузки требуется 12,5 минут.

Эфемерида используется для навигации и имеет решающее значение, вместе со временем, для быстрого получения Time to first fix.
При хороших условиях конструкции с правильной плоскостью заземления должны получить исправление менее чем за 30 секунд.

применение AssistNow, позволит получать данные за 10с, что лучше 30, но не глобально, думал там речь о секунде-двух…

brunh
Pavel_liev:

Посмотрел презентацию на кике, такая сеть как они хотят потребует кучи базовых станций в городе

они в третей версии отказались от таблеток и перешли на большие литиевые батарейки.
На кикстартере же наткнулся на китайский трекер с красивым контролером: просят $170
Отображает id трекера, расстояние и направление, что удобно обывателю и напряжно разработчику и наверное профи тоже хотел бы видеть всю картину. Интересен подход с настройкой через смартфон по блютуз - туда же сгружаются данные по подвижности носителя трекера, и грустно с 10ч работы, будто на две прогулки хватит. Видимо они не отключают маяки, чтобы стрелочка всегда указывала на маяк, а еще чтобы отследить предельное расстояние настроенное со смартфона - виртуальный забор. В команде заявлен спец по оптимизации приемников GPS… Не обсуждаемый Простой маячек, и вроде как блютуз лишнее, только хотелки растут и вот уже здорово бы следить за маршрутом птички, скоростью, температурой…))

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

Что думаете насчет перевода в режим поиска по тональному звуку на случай, если не удастся поймать координаты за 50с специальной командой или по таймеру?

Pavel_liev

Что думаете насчет перевода в режим поиска по тональному звуку на случай, если не удастся поймать координаты за 50с специальной командой или по таймеру?

Тестировал подобное, и пришел к выводу что это лишнее, GPS всегда удается принять, исключения лишь утопленники, но там просто не будет приема, команда не пройдет, да и для тоновой работы необходима направленная антенна, а LoRa без нее дальше ловит чем Si4432 с ней, как результат на практике быстро приходит понимание что тоны уже ненужны.
Проект от китайцев красивый, но это паркетник, с 900МГц поиск в дребенях невозможен, даже 430МГц много, надо не более 315, а лучше 170-200МГц. Лес, кусты и рельеф очень давят высокие частоты, сигнал что может идти до 10км в хороших условиях в лесу при 900МГц задавится через 400 метров.
Направление отображается у всех таких трекерах, но для указчика без движения надо допаивать гирокомпасо-акселерометр, а это еще 10-12$ запчастей и куча кода 😦
В том что у меня на видео только GPS и LoRa, больше ничего нету, наиболее простой и дешевый вариант, а с учетом что поиск означает движение при любом раскладе, ну не так красиво но работает, главное дешево. Модуль связи по блютусу тоже хочется добавить, но это планы на потом, и это дешевле чем модуль компаса, но там придется писать программу на телефон, а не уверен что осилю.