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

Pavel_liev

Добавил второй GPS модуль в приемник, теперь программка получила возможность считать расстояние по теореме Пифагора, получили расстояние в метрах, а с направлением, стрелочкой на ЖКИ засада, сам GPS толком не определяет стороны света, использовать еще и модуль компаса не хочется.

Vladimir_N
Pavel_liev:

Добавил второй GPS модуль в приемник, теперь программка получила возможность считать расстояние по теореме Пифагора, получили расстояние в метрах, а с направлением, стрелочкой на ЖКИ засада, сам GPS толком не определяет стороны света, использовать еще и модуль компаса не хочется.

Стрелочку сделать можно, но при этом нужно чтобы приемник двигался тогда можно определить стороны света по разности показаний GPS приемника и направление движения всегда совпадало с одной из сторон приемника. Если приемник стоит или крутится на месте, то только дополнительный модуль и лучше не просто компас, а полный набор датчиков чтобы исключить погрешности от наклона корпуса приемника.

Pavel_liev

Смотрел видео работы таких компасов+гиро, точность низкая, до уровня телефона далеко, стрелка гуляет на треть оборота, больше нравится вариант по GPS, более того у него есть своя софтварная строка угла до севера, стоит попробовать, но точность будет зависеть от количества спутников и скорости перемещения.

Vladimir_N

Нужно гиро+аксель+компас+GPS . Тогда будет нормально. Можно даже без компаса гиро+аксель и поправку делать по GPS. Пример, платы гоночных квадратиков у них как правило не используют компас, но ось Z держат с минимальным дрейфом.
Подобная проблема также неплохо решена в головных трекерах для камер (очков, шлема), там используется полный комплект датчиков.

1 month later
Feruz

Всем привет! Я пришел на форум с ютуб видео Pavel_liev. Пытался на ютубе в комментариях отписаться по этому проекту, но ютуб безжалостно блокировал попытки.

У меня есть комментарий по существу вот к этой проблеме:

Pavel_liev:

получили расстояние в метрах, а с направлением, стрелочкой на ЖКИ засада, сам GPS толком не определяет стороны света

Дело в том, что я занимаюсь похожим проектом, в котором я уже решил задачу относительной навигации между двумя географическими координатами. Я использовал формулу гаверсинусов и азимут по локсодромии. Используя вычисления с двойной точностью можно достичь погрешности меньше 1% при расстояниях между точками до 300 км.
Формулы следующие:

    distance = twice_mean_earth_radius *
               asin( sqrt( pow(sin((lat2 - lat1) / 2), 2) +
                           cos(lat2) * cos(lat1) * pow(sin((lon2 - lon1) / 2), 2)));

    heading = atan((lon2 - lon1) /
                    log(tan(pi_div_by_4 + lat2 / 2) / tan(pi_div_by_4 + lat1 / 2)));

Здесь twice_mean_earth_radius = 12742016, pi_div_by_4 = 0.7853981633974483, lat/lon - координаты точек в радианах

Подробнее можно посмотреть в файле /Firmware/CubeIDE/Code/src/lrns.c проекта на гитхабе: github.com/FeruzTopalov/eleph

По поводу определения сторон света. Современные GPS модули определяют COG (курс относительно земли) достаточно быстро и точно, надо лишь сделать несколько шагов в некотором направлении. При этом они определяют курс относительно истинного севера, а не магнитного как это делает любой компас.

Pavel_liev

Feruz спасибо за пост, не знаю что с ютубом, через раз порой отображает комменты.
Задачу определения расстояния между двумя точками решил с помощью Декарта, путем поиска гипотенузы прямоугольного треугольника: разность долготы в квадрате минус разность широты точек в квадрате будет гипотенузой, дальше корень и имеем расстояние.
В списке параметров GPS видел показчик скорости и курса, но еще не тестировал их, и по специфике работы они должны выдать корректные данные только в движении.
От показчика высоты по GPS отказался, большая погрешность, еще испытывал несколько модулей: Neo6m, atgm336h и Quectel L70-R. Выяснилось что чуйка у Neo6m самая плохая, по быстродействию самым резвым при холодном старте вышел atgm336h, и самым экономичным по питанию L70-R, среднее потребление с пассивной антенной 19мА.
Так же все модули хорошо работают без 3.3в стабилизации, на передатчике радиомодуль и GPS запитываются от литиевого АКБ, его напряжение полного заряда 4.2в ничему не навредило.

Pavel_liev

произвел тест курса и скорости, и по показаниям строки $GPVTG с 9’ю спутниками получилось, что курс GPS вменяемо определяет уже с 0.5км/ч, скорость так же отлично мониторится.

Feruz

Интересный подход с Пифагором. Если не ошибаюсь вы пишите на ассемблере, поэтому такое упрощение? Оценивали погрешность такого расчета?
Согласен насчет Neo6m, впечатления от него самые грустные. Все-таки 2009 год выпуска если не ошибаюсь. Я в своем проекте выпаивал стабилизатор с платы Neo6m чтобы напрямую от 3.3В питать.
Сейчас на али можно купить 8е поколение Ublox, с ним достижимо потребление около 10 мА и это при связке GPS+GLONASS. И кстати как упоминалось выше новое поколение умеет и трек писать, и относительное положение рассчитывать до нужных точек, назначать geo fence и много других плюшек.

Pavel_liev

Только ассемблер, только хардкор! 😃
Погрешность математически по Пифагору отсутствует, а так узкое место корень квадратный, использовал код с радиокота, при сверении с гуглокартой отклонений не заметил. Ассемблер хорош для AVR, если делать на STM32 то конечно проще на Си.

Pavel_liev

Хотя погрешность есть, вспомнил в чем дело, пересчитывал под местную систему координат, а долгота в разных частях света разная, и считается по более сложной формуле. Точно будет только дома, но я же не собираюсь на экватор 😒

А так для правильного расчета: долгота экватора * cos(широты) = долгота местная. Пример: 1° широты = 111км, долгота на экваторе тоже 111км, но у меня 50°N, cos(50°)=0.64, 111km*0.64=71km, значит 1° местной долготы это 71км.

Геннадий10

Маленький вопрос- какую ATTINY нужно использовать для маяка, ATTINY 13, или можно использовать и ATTINY 13A? Сейчас не вспомню,но у них, есть какая то разница.

Pavel_liev

Как пишут в великом гугле, 13’х тинек без “А” не выпускают уже очень долго, отличия были по питанию и каком-то регистре. Для маячка подходит любая.

Vladimir_N
Геннадий10:

Маленький вопрос- какую ATTINY нужно использовать для маяка, ATTINY 13, или можно использовать и ATTINY 13A? Сейчас не вспомню,но у них, есть какая то разница.

Для Вас тини13 не подойдут. Все зависит от версии прошивки. Читайте фаилы сборочной документации (которые я выслал) там есть перечень деталей.

Геннадий10

Владимир, Ваше отправление я еще не получил, поэтому с документацией еще не успел познакомиться. Буду ждать и разбираться. Как всегда, моя проклятая спешка.

Vladimir_N

Геннадий, Вам вся документация отправлена на эл. почту открывайте и изучайте.

Геннадий10

Владимир, только сейчас перепроверяя почту, обнаружил отправленную Вами документацию. Пропустил, замотался. Да… Спасибо.

Feruz
Pavel_liev:

Проведя ряд испытаний, перешел на 3’х элементную ягу. На практике получилось что яга из книги Ротхаммеля давала преимущество над 3’х элементной антенны из симулятора mmanagal всего на несколько процентов, теоретическое преимущество на местности типа лес 50 метров, в замерах на местности разница не была замечена вовсе. Таким образом отдал предпочтение более компактной антенне.
Конструкция 3х элементной яги - результат работы симулятора mmanagal и данных книги Ротхаммеля: “Антенны”, настройками симулятору ограничил длину конструкции, отдавая предпочтение компактности. Антенна имеет немного менее остро выраженный центр, но лучшее соотношение перед/зад, усиление примерно на том же уровне.
Анализатора типа NanoVNA к сожалению нет, и подгонку в реале проверял двигая и подкусывая элементы, смотря сигнал работающего маячка, как оказалось симулятор mmanagal все выдал верно.
Практические испытания в лесу прошли успешно, дальность та же, но компактнее на 6см.

Смоделировал эту антенну интереса ради. Отмечу очень хороший F/B и хорошее усиление. Сопротивление при резонансе низковато, но это Уда-Яги, здесь без ухищрений никак. Тем не менее КСВ 1.6 приемлемый. 😃

Pavel_liev

Feruz значит MMANAGAL не наврал, эту ягу брал из Ротхаммеля, затем подгонял в софте, после чего натурные двиганья элементов и подкусывания по уровню силы сигнала в режиме приема, после чего снова MMANAGAL, и вышло то что вышло 😃
F/B в софте регулировал по максимуму, этот критерий для аналогового поиска по уровню сигнала самый важный, плюс размеры старался уменьшать. На практике 20-30° по центру одинаковы, но далее хорошо заметно ослабевание, и зад вовсе нереально спутать, там большущий спад, такой 3х элементной ягой хорошо ощущается где передатчик.
Вот только у Si4432 всего 0.1Вт, и чуйка так себе, если передатчик упал в траву и ловить на сам радиомодуль расстояние будет менее 200м., в лесу до пол км, а в поле 2-3км, если брать для дальнего радейку китайскую, за счет ее большей чуйки, дальность в полтора-два раза больше. Поэтому начал заниматься с LoRa, она обходит на тестах рацию, при тех же 0.1Вт

1 month later
Геннадий10

Может кому пригодится . Корпус последней версии маячка, по мотивам корпуса автора. Отверстий под светодиодов нет, так как печатал прозрачным ПЕТГ.

Архив ZIP - WinRAR.zip

PSh82

Класс! Назревает пара вопросов. 1. схема, прошивки и т.д. будут доступны обычным радиолюбителям, которые смогут повторить данное устройство? 2. Если будут - проект коммерческий?