Автор Тема: GPS/электронный компас для точного позиционирывания антенны.  (Прочитано 17355 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн RX9AT Владимир

  • Ветеран
  • *****
  • Сообщений: 2848
  • Репутация: +517/-7
  • QRA: LO93LJ
энкодеров полно
пожалуйста если есть у кого ссылка на магнит к ним (sample)
плыз  .
Добрый вечер!
Вот тут поглядите http://www.supermagnete.de/rus/ эта ссылка уже приводилась в какойто теме касающейся поворотых устройств.
73! de RX9AT Владимир

Оффлайн ra9mlj

  • Пользователь
  • **
  • Сообщений: 18
  • Репутация: +3/-0
Огромное спасибо RX9AT за то что оживил тему. Я ссылку на нее потерял, теперь нашел.
И так итоги компасостроительной эпопеи.
Лень двигатель прогресса. Вот и  мне было лень высчитывать азимут а потом крутить туда антенну, хотел создать устройство которому только скажи в какой квадрат повернуться....

Как я говорил раньше после продолжительного изучения матчасти в руки попало изделие AMI305, такое применяется в качестве магнитного компаса в сотовом телефоне NOKIA Е-52. Работает по I2C. К сожалению описания именно на это устройство найдено не было, однако нашелся исходный код драйвера для ядра LINUX. Именно из этого драйвера понимался принцип работы устройства, его система команд. Сам AMI305 представляет собой 3-х осевой магнитный компас. Используя значения величины магнитных потоков с 3-х осей можно не переживать насчет вертикальности(горизонтальности) монтажа готового изделия. Центром устройства стал 8-ми битный микроконтроллер ATMega8. Вариант с bluetooth рассматривался, но позже от него пришлось отказаться. Причины: питание все равно подавать нужно наверх и мотор тоже кушать хочет.
Редуктор у меня простенький от поворотки для спутниковых антенн переделанный, питается от 12в при токе 350ма. Поэтому было решено для подачи питания использовать кабель 5 категории для наружных работ (FTP). Одну пару использовал для питания двигателя поворотного устройства (при смене полярности изменяю направление), еще одну пару для питания компаса 12в, по третьей паре идет передача данных по протоколу RS-485, еще одна пара в резерве.
Блютус по сравнению с проводами конечно проигрывает и это скорее баловство, т.к. думаю он будет давать помеху на СВЧ диапазонах в будущем. У RS-485 есть ряд достоинств, например если я поставлю еще 1-2 мачты и размещу на них по компасу, то мне будет достаточно только запараллелить шину данных RS-485 и использовать один контроллер для управления.
Кстати о контроллере.
Изначально хотел изготовить автономный блок с числовым индикатором. Когда производил отладку компаса работал в терминале, потом захотелось "хоть одним глазком" посмотреть что получится если включить фантазию. Написал графическую оболочку - понравилось. Уже потом решил что мне лениво что-то собирать самому.
В кладовке тем временем нашелся чуть подломленный GPS-наавигатор JJ-Connect 3100wide, который я заставил работать в режиме USB-host и подключил адаптер USB-RS232. Так как я сторонник LINUX, а большинство моих товарищей пока еще нет, графическую оболочку я делал кроссплатформенную и после небольших доработок она заработала на навигаторе.
У навигатора экран сенсорный. Ведь глупо его не использовать. Со временем рядом со шкалой компаса появились кнопки.... А потом родился контроллер управления двигателя поворотного устройства.
Очень редко в бочке меда не бывает ложки дегтя... Так вышло и у меня.
Эту систему планировал установить и опробовать ее в "Золотой осени". Неполадке обнаружились в самый последний момент когда из эмулятора WinCE переносил программу на железо. То есть в эмуляторе все работает, а на реальном устройстве не все.. Показания компаса принимаются, процедура калибровки работает как часы, то есть данные принимаются, но когда произвожу нажатие кнопки на экране навигатора чтобы дать команду двигателю включиться в нужном направлении все встает колом. Так как с WinCE знаком гораздо хуже чем с LINUX сходу разобраться с этой проблемой не сумел, а после того как прошли соревнования стало некогда...
Зато программа для LINUX полностью работоспособна, при желании ее можно собрать и для Windows.

В итоге получилось автономное устройство, которое устанавливается на мачте, питается по одному кабелю с редуктором, передает данные по протоколу RS-485, имеет открытый исходный код.
Плату компаса поместил в герметичную электрораспределительную коробку, обложив ее со всех сторон пенопластом для термостабилизации. В последних версиях даже дополнил компас термометром. Было замечено что с изменением температуры показания плывут, зависимость пока не выявлена.

Собирался прямо сейчас выложить схемы, прошивки, фото и исходные коды, но посмотрев на всю эту свалку решил сразу навести там порядок. Думаю на праздниках сделаю на одном из своих серверов репозиторий со всей информацией. Мне будет очень приятно если кому-нибудь это будет полезно или хотя бы интересно, а тем более если кто-то будет совершенствовать этот проект. Задумок в плане управления повороткой очень много. На самом деле уже сейчас понимая объем работ (это и эксперименты и математика и физика)  с нуля за такой проект наверное бы не взялся.

Оффлайн R8MM Евгений

  • Ветеран
  • *****
  • Сообщений: 1029
  • Репутация: +125/-70
  • УКВ комитет Омского РО СРР.
  • QRA: mo75gb
если кому-нибудь это будет полезно или хотя бы интересно
Павел, приветствую!
Думаю, интересно это не то слово :)
Захватывающе любопытно увидеть результаты столь объемного труда.
73! Евгений  team RT9M

Оффлайн RW6MIT Дмитрий

  • Ветеран
  • *****
  • Сообщений: 853
  • Репутация: +61/-23
  • QRA: LN17CM
Очень инетресно, если нужна будет помощ рад помочь, так как готовых устройство полностью подходящих под условия радио мне так и не поподалось, все нужно допиливать. Очень ждём.


пс Очень странно что ещё никто ничего подобного не сделал в промышлены маштабах.
« Последнее редактирование: 31 Октябрь 2011, 22:12:40 от RW6MIT »

Оффлайн ra9mlj

  • Пользователь
  • **
  • Сообщений: 18
  • Репутация: +3/-0
А Вы, Евгений, ввиду близости проживания и предстоящего областного мероприятия учитывая наши теплые отношения, думаю воочию сможете увидеть сей девайс. Благо я из делал два экземпляра, один уже установлен на мачту, а второй остался для опытов. Так что я продумаю вариант демонстрации, по крайней мере для коллектива RK9MXB.
На выходных как и обещал выложу все наработки по данной теме. Нужно время чтобы сервер подготовить для этого.

Оффлайн UA9YLU Виктор

  • Ветеран
  • *****
  • Сообщений: 2790
  • Репутация: +672/-229
  • QRA: MO92HX
а какова точность отслеживания данного девайса? в градусах
team RK9Y

Оффлайн ra9mlj

  • Пользователь
  • **
  • Сообщений: 18
  • Репутация: +3/-0
На самом деле точность измерения азимута с помощью любого магнитного прибора вещь относительная. Даже артиллерийская  буссоль "дрожит" и в компасах стрелка делается массивной для увеличения инертности.
Похожее устройство мобильный телефон на Android. Точность такая же, т.к. датчик один и тот же.
У моего устройства тоже есть аналогичные недостатки, при нахождении датчика в состоянии покоя, стрелка может гулять +/- 2 градуса, это говорит о том что сам датчик шумит. На самом деле голый датчик шумит еще больше, но математика делает свое дело и шум сглаживается. Были проведены эксперименты, относительно "точности возврата". Датчик ложился на лист белой бумаги, на датчике и на листе делались отметки, азимут принимался за нулевое значение. Затем датчик разворачивался на 90 градусов (по угольнику). азимут после поворота точно соответствовал нужному. После этого происходил поворот обратно к нулевой точке. Разница составила -2 градуса в случае когда поворот был в противоположном направлении (обратно на 90 градусов) и +2 градуса в случае когда доворачивали еще на 270 градусов.
Кстати через некоторое время показания приходили в ноль, видимо с математикой еще можно работать. Поэтому если в первых версиях расчет азимута происходил "наверху", то в конце концов я пришел в выводу, что вниз нужно спускать голые измерения, а все вычисления производить на земле. Это позволит более оперативно производить отладку. К тому же вычисления занимают процессорное время, которое так дорого, а на земле вычислительные ресурсы как правило выше.
На самом деле компас измеряет направление на МАГНИТНЫЙ полюс, а не на географический (в ПО можно делать поправку).
Даже при точности в 3-5 градуса и ширине лепестка антенны в 10 градусов результат меня  устроит более чем.

Оффлайн UA9YLU Виктор

  • Ветеран
  • *****
  • Сообщений: 2790
  • Репутация: +672/-229
  • QRA: MO92HX
спасибо за ответ,к сожалению 5 градусов это даже для четверки антенн не позволительная роскошь
team RK9Y

Оффлайн R4YM - Геннадий

  • Ветеран
  • *****
  • Сообщений: 2787
  • Репутация: +546/-21
  • QRV-144/432/1.3/5.7
  • QRA: LO36od
Только надо помнить ,что магнитный датчик (компас) ,имеет переменную величину  погрешности. Если магнитное склонение есть величина постоянная,для данного района, то девиация (поправка на железяки)-непредсказуема.
Клуб 5-й Океан №-68
eх: UA9XQ - RK4YA

Оффлайн ra9mlj

  • Пользователь
  • **
  • Сообщений: 18
  • Репутация: +3/-0
Согласен полностью. Именно поэтому принято решение вычисления производить на земле. На высоте 13-16 метров количество железяк меняется крайне редко. А для корректировки можно использовать калибровочную таблицу, где хранить поправки в зависимости от азимута. Как сделать в деталях еще не думал, но возможность для этого есть. Опубликую исходники, устроим мозговой штурм и думаю все получится.

Оффлайн RW6MIT Дмитрий

  • Ветеран
  • *****
  • Сообщений: 853
  • Репутация: +61/-23
  • QRA: LN17CM
пару интересных статей нашол.
http://www.macrogroup.ru/content/data/store/images/f_6_1233_2.pdf
http://habrahabr.ru/blogs/arduino/120078/

Разрешающая способность — 0.1 градус
Точность по горизонтали — 0.5%
Точность наклона — перемещение ± 60 градусов, 1%
Выход 1 — I2C Interface, SMBUS compatible, 0-255 and 0-3599, 100kHz
Выход 2 — Serial port, 9600 baud, no parity, 2 stop bits and 3.3v-5v signal levels
Выход 3 — Timing Pulse 1mS to 37mS in 0.1mS increments

Оффлайн ra9mlj

  • Пользователь
  • **
  • Сообщений: 18
  • Репутация: +3/-0
Пока готовится место для документации выкладываю схемы устройства.
Проекты в формате Eagle, достаточно бесплатной версии.
kompas-controller - блок управления двигателем поворотного устройства. Содержит в себе преобразователь интерфейса RS485-RS232
kompass - схема датчика
compass-termo-firmware - исходный код программы датчика
« Последнее редактирование: 01 Ноябрь 2011, 12:30:47 от Sourcecode »

Оффлайн US8ZAL

  • Постоялец
  • ***
  • Сообщений: 96
  • Репутация: +16/-21
Некоторые соображения, относительно этой темы:
1. GPS компас - устройство, которое содержит две (например, фирма JRC) или три (FURUNO) антенны GPS. Это сделано для получения истинного курса даже при неподвижном компасе. Погрешность - до 0.1 градуса.
2. Опция компаса, которая присутствует в GPS - работает только в движении. Если рядом есть передатчик дифференциальных поправок можно применить эту опцию, применив одновременно опцию DGPS.
3. Электронный компас имеет две взаимоперпендикулярные рамки, ток через которые создает магнитное поле, реагирующее с магнитным полем Земли. При этом необходимо учитывать магнитное склонение, которое постоянно для данной местности (правда, изменяется со смещением полюсов Земли, но на наш век можно пренебречь). Самый удобный датчик фирмы RAYMARINE - габариты позволяют без труда разместить на антенне и через RS232 передать данные в компьютер. Удовольствие дорогое...
4. Где то в Перми делают гирокомпасы (небольших габаритов) для подводных лодок, которые показывают не только курс но и диферент и крен (в нашем случае элевация). Может кто подскажет?

73! ZAL 

Оффлайн RW6MIT Дмитрий

  • Ветеран
  • *****
  • Сообщений: 853
  • Репутация: +61/-23
  • QRA: LN17CM
А можно название датчика RAYMARINE?

Оффлайн ra9mlj

  • Пользователь
  • **
  • Сообщений: 18
  • Репутация: +3/-0
RAYMARINE ST-60. Это целый комплекс приборов для морского и речного назначения. В основном средства навигации.
Raymarine M81190 - датчик магнитного потока, компас.
ST-60 модель устаревшая. Компас для нее в Штатах стоит около 120 долларов, но с аукционов никто в Россия высылать не хочет. Этот вопрос тоже изучал. У нас в стране цену умножайте на 3.