Огромное спасибо 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, имеет открытый исходный код.
Плату компаса поместил в герметичную электрораспределительную коробку, обложив ее со всех сторон пенопластом для термостабилизации. В последних версиях даже дополнил компас термометром. Было замечено что с изменением температуры показания плывут, зависимость пока не выявлена.
Собирался прямо сейчас выложить схемы, прошивки, фото и исходные коды, но посмотрев на всю эту свалку решил сразу навести там порядок. Думаю на праздниках сделаю на одном из своих серверов репозиторий со всей информацией. Мне будет очень приятно если кому-нибудь это будет полезно или хотя бы интересно, а тем более если кто-то будет совершенствовать этот проект. Задумок в плане управления повороткой очень много. На самом деле уже сейчас понимая объем работ (это и эксперименты и математика и физика) с нуля за такой проект наверное бы не взялся.