Поворотное устройство для автоматического слежения за спутниками

Наш телеграмм канал

Здравствуйте! Гуляя по интернету я набрёл на одну очень любопытную конструкцию поворотного устройства для автоматического направления антенны на низкоорбитальный спутник. Наверняка, все кто хоть раз интересовался связями через спутниками вспоминают как болит рука вытянутая вперёд с антенной, которая где то там нащупывает летящий спутник. Неоднократно каждый из нас, любителей спутниковых связей задавались вопросом как бы заполучить автоматическое поворотное устройство которое само направит антенну очень точно на проходящий наж вами спутник и будет вести его от начала до конца. Сколько же плюсов при этом мы получим. Свободные руки, мозги заняты только тем как провести QSO. Кстати так же есть возможность подстраивать радиостанцию относительно доплеровскому эффекту. И так, выражаю огромную благодарность школьникам радиотехнического кружка и руководителю который смог в такое непростое время отвлечь детей от бестолкового прожигания времени в замен получения большого опыта работы с техникой. Эти ребята находятся где то в Австралии. Вот ссылка на их сайт с полной информацией об поворотном устройстве конструкцию которого мы сегодня обсудим именно на этой странице. https://sarcnet.org/rotator-mk1.html 

А это логотип сайта ребят где они безвозмездно делятся своими конструкциями и достижениями.

И так в чём же моя роль в этом проекте. Да в принципе я просто продублирую многое со страницы оригинальной статьи и внесу немного информации о своем опыте повторения конструкции. Скажу, что у меня возникали проблемки с которыми я справился, но о которых не было сказано в оригинальной статье.

Этот проект представляет собой портативное устройство, используемое для автоматического наведения направленной антенны на орбитальный спутник. Вы можете скачать оригинальную статью, первую разработку поворотного устройства для ознакомления принципов работы и то как ребята думали когда создавали это устройство. Правда статья на английском языке и я не смогу её перевести правильно. Если у кого то появится желание сделать правильный, аккуратный перевод, я буду признателен. Мы же будем повторять конструкцию (версия Mk1b) В этой версии используется один драйвер на два двигателя

  1. L298N Купил тут.
  2. электродвигатель постоянного тока GW370, 12 В, 0,6 об/мин, с высоким крутящим моментом и низкой скоростью Купил тут.

  3. GY-511 LSM303DLHC модуль e-компас 3 оси акселерометр + 3 оси модуль магнитометра сенсор Купил тут.

  4. Arduino Pro Micro (Leonardo) ATmega32U4 5 в 16 МГц Купил тут.

  5. обратите внимание что нужен не зумер как в системниках на материнках стоит, а генератор работающий от 5 вольт. Пример можно посмотреть тут

Теперь поговорим о прошивке программы. Её можно получить написав письмо автору в школу Австралии перейдя по этой ссылке на форму отправки сообщений. Укажите, что вы собрали проект версии Mk1b. Таким образом вы всегда сможете получать свежие прошивки с исправлениями. Так же можете воспользоваться прошивкой которую выслали мне. Её работа будет представлена на видео ниже. Как правило автор отправляет ссылку на прошивку почти сразу.

Для того, что бы загрузить прошивку скачайте с официального сайта среду разработки для плат arduino. Распакуйте архив и запустите файл Rotator6.ino Откроется установленная вами среда разработки ардуино, в первой вкладке Rotator6 проверьте правильность раскомментированных / закоментированных строк согласно модулям которые вы приобрели. А именно для модулей, список который я привёл выше часть кода должна иметь следующий вид:

Я позволил себе перевод комментариев. Надеюсь он кому то пригодится. 

Теперь расскажу немного о проблемах которые могут возникнуть во время эксплуатации поворотного устройства. 

  1. Программа Gpredict не работает корректно с ОС Windows. А именно при подключении поворотного устройства к Windows по прямому USB кабелю меню ротатор зависает и перестаёт отвечать на любые запросы. Помогает только диспетчер задач. Для решения этой проблемы необходимо  раскомментировать строку  #define SerialPort Serial и закоментировать строку #define SerialPort Serial1 Должно получится вот так

    Далее необходимо взять любой UB to TTL конвертер, к примеру такой

    и подключить его непосредственно к ногам ардуино TX, RX и GND. А USB кабель которым вы записывали прошивку в ардуино можно смело положить на полочку. После этих не хитрых действий ваше поворотное устройство сможет без каких либо проблем общаться по двухсторонней шине с программой Gpredict в ОС Windows. Но, справедливости ради замечу, что с ПК на LINUX всё работает отлично.

  2. Электроника генерирует радиочастотные помехи, которые можно услышать в приемнике при отслеживании спутников. Передача всего 10 Вт в антенну может заблокировать, сбросить или даже поджарить электронику. И так, вот несколько советов. Поместите датчик на стрелу подальше от приводных элементов – или еще лучше на подъемный рычаг (хвостовик с противовесом).  Используйте полностью экранированный кабель для сенсора (I2C). Подпаяйте конденсаторы 0,1 мКф от каждой клеммы двигателя к корпусу двигателя. Пропустите пару витков антенн, кабелей I2C, USB, TTL через ферритовые кольца. Старайтесь использовать небольшую мощность и заземление.

Поддерживаются два типа сенсорных плат: первый показан более старый LSM303D,

второй-LSM303DLHC (предпочтительно)

Диаграммы показывают их правильную ориентацию. Датчик прикреплен к стреле антенны и выровнен с опорными осями антенны (X, Y и Z показаны красным цветом выше) следующим образом: X указывает на восток, Y указывает на север, вдоль отверстия антенны, а Z указывает вверх. Пожалуйста, не обращайте внимания на любые оси, напечатанные на печатной плате.

  1. Важно: Перемычка моста J1 на Arduino Pro Micro.
  2. Подключите контакты Pro Micro SDA, SCL, GND и VCC к контактам датчика SDA, SCL, GND и VIN с помощью длинного гибкого кабеля. Мы используем плоский телефонный кабель. Рекомендуется использовать хорошо экранированный кабель с ферритами на концах к примеру можно взять кабель USB, отрезать ему разъемы и использовать в своих целях.
  3. Подключите контакты Pro Micro 5, 6, 9 и 10 к клеммам драйвера двигателя (IN1, IN2, IN3 и IN4 соответственно). Так же советую припаять конденсатор 0,1 мКф между клеммами моторов и корпусом моторов.
  4. Подключите контакты Pro Micro 16 (+) и 14 (-) к пьезо-зуммеру, чтобы помочь с калибровкой. Можно использовать светодиод подключенный к контактам последовательно через сопротивление 300 Ом – 1 кОм
  5. Подключите контакты Pro Micro GND к контакту GND драйвера двигателя.
  6. Подключите драйвер двигателя OUT1, OUT2 к двигателю AZ и OUT3, OUT4 к двигателю EL (будьте готовы остановить их во время тестирования, так как контакты двигателя не поляризованы). Рекомендую во время тестирование вытаскивать перемычки из платы L298N. Тем самым не придётся постоянно играть со сменой напряжения и раздалбывать контакты драйвера
  7. Подключите клеммы драйвера двигателя 12V и GND к источнику питания 12V через выключатель и предохранитель (Внимание: не подключайте до тех пор, пока не будет безопасно: двигатели могут двигаться). Советую иметь максимально быстрый доступ к выключателю питания. Обратите внимание на то, если подключить кабель USB к ардуино то моторы так же быдыр вращаться но очень медленно. Не оставляйте поворотное устройство без присмотра, оно ещё не совершенно!

Тестирование правильного подключения Arduino Pro Micro перед начало работы с программой поворотного устройства.

Для уверенности в том, что вы правильно подключили среду разработки ардуино к вашей плате убедитесь в этом выполнив нижеприведённые действия. После успешного завершения теста Вы можете быть уверены в том, что вы правильно сделали первоначальные настройки для работы с платой ардуино Леонардо.

  1. Установите Arduino IDE из https://www.arduino.cc/en/Main/Software. Примечание: Дождитесь установки всех драйверов.
  2. Подключите Arduino Pro Micro через кабель micro USB к USB-порту ПК.
  3. Откройте Arduino IDE
  4. Выберите файл | Examples | 01.Basics | Blink
  5. Выберите Sketch | Verify/Compile (Ctrl+R). Вы должны увидеть “Compiling sketch…”, а затем “Done compiling”
  6. Выберите инструменты|Плата: Arduino Leonardo
  7. Выберите инструменты|Порт: COMnn (Arduino Leonardo)
  8. Если вы не видите COMхх (Arduino Leonardo), вам может потребоваться определить виртуальный последовательный порт, используемый контроллером:
    1. В Linux запустите окно терминала и введите: dmesg | grep “USB ACM device” Запишите устройство tty.
    2. В Windows запустите диспетчер устройств и найдите в разделе “Порты” “USB Serial Device” или “Arduino”. Запишите номер “COM”.
    3. Выберите Инструменты | порт и номер COM-порта, который вы отметили ранее.
  9. Выберите Проект | Загрузить (Ctrl+U). Вы должны увидеть “Загрузка…”. Микро-светодиоды Arduino Pro будут мигать 3 раза. Затем “Загрузка завершена”.
  10. Это означает, что вы успешно скомпилировали и загрузили файл Arduino.
  11. Примечание: Blink sketch не будет мигает Pro Micro LED, если вы не добавите “#define LED_BUILDIN 17” в начало программы и не согласитесь с предупреждением компилятора
  12. Если вы не можете загрузить, попробуйте закрыть IDE. Отсоединение и повторное подключение контроллера. Снова запустите IDE и повторите шаги 4.

Инструкции по программированию

  1. Откройте Arduino IDE.
  2. Выберите файл|предпочтения, чтобы узнать местоположение вашего sketchbook.
  3. распакуйте архив  (RotatorX.zip)
  4. Скопируйте папку RotatorX в отдельную папку на вашем ПК.
  5. Выберите файл|Открыть|RotatorX|RotatorX.ino. Вы должны увидеть одиннадцать файлов, открытых в IDE, как показано ниже.
  6. Выберите Sketch Verify/Complile (Ctrl+R). Вы должны увидеть “Done compiling” и никаких ошибок (но, пожалуйста, игнорируйте любые предупреждения компилятора), как показано ниже.

Набор для работы Инструкции (часть 1)

  1. Проверьте конфигурацию двигателя и датчика. Нажмите на вкладку Rotator6 и найдите следующие строки. Линия с двигателем или датчиком, которую вы используете, должна начинаться с const другие неиспользуемые типы должны начинаться с //const. I. E. Прокомментируйте устройства, которые вы не используете. Ниже показана конфигурация для типа 1b с драйвером двигателя L298N и датчиком LSM303DLHC.

     

    Подключите USB-порт контроллера Pro Micro к ПК или Raspberry Pi или чему-либо еще, но не подключайте питание двигателя 12V.

  2. Запустите Arduino IDE и откройте проект ротатора
  3. Нажмите Загрузить, чтобы перезагрузить Arduino и запустите монитор порта Инструменты|Монитор порта.  (кнопка в правом верхнем углу). Выберите “Возврат каретки” “Carriage return” из выпадающего списка.
  4. в поле ввода введите b<Enter>
  5. Вы должны увидеть необработанные данные датчика (шесть чисел), как показано ниже. Если вы видите “nan” или “ovf”, существует проблема с подключением датчика или датчика.
  6. Введите<Enter>, чтобы прервать режим отладки.
  7. Теперь вам нужно выполнить процедуру калибровки.

Инструкции по калибровке

Перед дальнейшем прочтении ознакомтесь с моим видео в котором я постарался максимально передать весь процесс калибровки датчика.

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

  1. Прикрепите пьезо-зуммер к контактам 16 (+) и 14 (-).
  2. Перейдите в онлайн-режим, чтобы рассчитать магнитное склонение в вашем районе. Перейти к http://www.ngdc.noaa.gov/geomag-web/. Введите свою страну и город. Нажмите “Добавить Lat/Lon” , затем нажмите “Рассчитать”, чтобы получить магнитное склонение. К примеру у меня это 7 градусов 7 минут восточной долготы. Преобразуйте это число в десятичные градусы, разделив минутную часть на 60 и добавив ее к градусной части, вот так 7/60=0,11 плюс 7 градусов, равно 7,11. Поставьте перед полученным результатом минус (-7,11), если вы находитесь в западной долготе. я живу в восточной долготе поэтому мой результат будет выглядеть вот так (7,11)
  3. Убедитесь, что питание двигателя 12 В отключено. Подключите компьютер к ротатору с помощью USB-кабеля.
  4. Запустите Arduino IDE и откройте проект ротатора.
  5. Нажмите Загрузить, чтобы перезагрузить Arduino и запустите монитор порта.
  6. Введите e7,11<Enter>, чтобы ввести магнитное склонение (убедитесь, что вы ввели свое собственное значение). Затем s<Enter>, чтобы сохранить его.
  7. Теперь начните процесс калибровки, набрав c<Enter>.
  8. Вы можете прервать процесс в любое время, введя<Enter>.
  9. Когда вы закончите процесс калибровки, введите s<Enter>, чтобы сохранить данные калибровки в энергонезависимой памяти.
  10. Для калибровки датчика вы должны перемещать его очень, очень медленно. Не ударяйте его и даже не думайте о смене рук.
  11. очень удобно для калибровки датчика прикрепить его к середине не металлической линейки и взяться за концы линейки обоими руками.
  12. Перемещайте датчик круговыми движениями как я показал в своем видео. Пьезо-устройство подаст звуковой сигнал, и вы увидите ошибки 3D-магнитометра (M) и акселерометра (G) и изменение коэффициентов масштабирования на экране.
  13. Продолжайте вращать  датчик вокруг, пока пьезо-устройство не перестанет пищать или данные не перестанут меняться.
  14. Думайте о датчике как о кубе с шестью гранями. Вам нужно направлять каждую сторону датчика в направлении магнитного поля Земли, а так же в направлении гравитационного поля Земли. Гравитационное поле указывает прямо вниз, в то время как магнитное поле указывает вверх (в южном полушарии) на север под углом около 70 градусов к горизонтали. Есть 12 направлений, и вы должны немного перемещать датчик вокруг каждой точки, пока пьезо-устройство не перестанет пищать или данные не перестанут меняться.
  15. После завершения калибровки введите s<Enter>, для сохранения результатов.
  16. Для полной отчистки EEPROM введите r<Enter> и начните калибровку сначала включая ввод угла магнитного наклона земли.

Комманды для настройки поворотного устройства.

  1. После сохранения данных калибровки в EEPROM вы можете продолжить настройку поворотного устройства.
  2. Убедитесь, что питание двигателя 12 В отключено. Подключите компьютер к поворотному устройству с помощью USB-кабеля.
  3. Запустите Arduino IDE и откройте проект ротатора.
  4. Нажмите Загрузить, чтобы перезагрузить Arduino и запустите монитор порта.
  5. В мониторе порта введите m<Enter>, чтобы войти в режим монитора.
  6. Вы должны увидеть данные поворотного устройства, как показано ниже, включая: текущие положение AZ и EL, куда путь держит AZ и EL, угол наклона AZ, состояние наклона AZ, ошибку AZ и EL. 
  7. Убедитесь, что текущие номера AZ и EL отражают истинный азимут и высоту датчика
  8. Убедитесь, что подъемный рычаг не установлен. Подключите питание двигателя 12V.
  9. Наблюдайте за дисплеем монитора порта и за движением двигателя, смотря непосредственно на валы двигателя.
  10. Направьте датчик на северо-восток. Первое число должно быть от 0 до +90. Двигатель AZ должен вращаться по часовой стрелки.
  11. Направьте датчик на северо-запад. Первое число должно быть от 0 до -90. Двигатель AZ должен вращаться против часовой стрелке.
  12. Направьте датчик на 45 градусов вниз. Второе число должно быть между 0 и -90. Двигатель EL должен поворачиваться против часовой стрелке.
  13. Направьте датчик на 45 градусов вверх. Первое число должно быть от 0 до 90. Двигатель EL должен вращаться по часовой стрелке.
  14. Если двигатель движется в неправильном направлении, поменяёте местами провода двигателя, OUT1 и OUT2 соответствующего драйвера двигателя.
  15. Отсоедините питание двигателя 12V. Прикрепите вращатель к штативу. Прикрепите подъемный рычаг к двигателю угла элевации. Прикрепите датчик вдоль подъемного рычага.
  16. Отсоедините USB-кабель.
  17. Внимательно следите за подъемным рычагом, будьте готовы отключить питание двигателя 12 В, если что-то пойдет не так. Подключите питание двигателя 12 В – должно начаться движение поворотного устройства.
  18. Подключите USB-кабель. Подъемный рычаг должен поворачиваться на 0 градусов AZ/EL и останавливаться.
  19. Поверните и наклоните штатив. Ротатор должен вернуть рычаг в исходное положение.
  20. В мониторе порта введите 30 45<Enter>. Подъемный рычаг должен поворачиваться примерно на 30 градусов AZ и 45 градусов EL.
  21. Если все работает правильно, можно повторить процесс калибровки более тщательно и на открытом пространстве.

Установка Gpredict и HAMLIB для Windows

  • Загрузите версию Gpredict 1.4 для Windows из: Gpredict Version 1.4 Примечание: Используйте версию 1.4, поскольку более поздние версии Gpredict не работают.
  • Загрузите последнюю версию установщика HAMLIB для Windows: https://sourceforge.net/projects/hamlib/
  • Установите Gpredict и HAMLIB (используя запуск от имени администратора)
  • Подключите поворотное устройство к USB-порту. Используйте диспетчер устройств Windows, чтобы узнать номер COM-порта.
  • Чтобы запустить HAMLIB, для управления поворотным устройством из Gpredict, создайте *.bat файл Windows с именем rotctld.bat, содержащий следующие строки 

    (убедитесь, что вы правильно узнали номер COM-порта ):

  • Сначала запускайте этот пакетный файл перед запуском Gpredict.
  • Примечание: Ротатор эмулирует протокол AMSAT Easycomm II. Это позволяет GPredict установить угол AZ-EL ротатора, и это единственный протокол ротатора, который поддерживает обратную связь по положению ротатора, позволяя GPredict также отображать положение ротатора. Однако, поскольку Arduino Pro Micro использует линии рукопожатия USB-порта для сброса микроконтроллера, часть обратной связи по положению не работает должным образом с HAMLIB на ПК с Windows. Он работает нормально в Linux. В то время как позиционирование поворотного устройства работает нормально, окно положения спутника и поворотного устройсва не будет работать.
  • Как решить этот вопрос я написал тут. Не забудьте изменить COM-порт в соответствии с rotctld.Файл bat выше. Затем откройте Arduino IDE и вращатель.файл ino. Следуйте инструкциям в файле, чтобы изменить SerialPort с Serial на Serial1 и повторно скомпилировать.
  • Запустите Gpredict. Выберите настройки|интерфейсы|ротаторы.
  • Добавьте новый ротатор и выберите: Az type 0 -> 180 ->> 360
  • если вы хотите, вы также можете подключить трансивер FT-817 через кабель Yaesu CT-62 CAT к USB-порту. Используйте диспетчер устройств Windows, чтобы узнать номер COM-порта трансивера.
  • Чтобы использовать HAMLIB, для контроля частоты/доплер и т. д. используя инструмент Gpredict, создайте *.bat файл в Windows с именем rigctld.bat, содержащий следующие строки

    (убедитесь, что вы вставили номер COM-порта вашего трансивера):

  • Сначала запускайте этот пакетный файл перед запуском Gpredict.
  • Запустите Gpredict. Выберите настройки|интерфейсы|радиостанции.
  • Добавьте новое радио и выберите: Тип радио FT817/857/897

Инструкция по эксплуатации Последовательные команды:

Введите два целых числа AZ и EL в градусах, разделенных пробелом, чтобы вручную управлять вращателем. например, 270 45<Enter> Примечание: AZ здесь работает в формате 0~180~360 или -180~0~180 градусов.

  • r – Сброс. Обнуляет данные калибровки. Сброс поворотного устройства в исходное состояние до состояния “заводских”.
  • b – режим отладки. Отображает необработанные данные датчика: Mx, My, Mz, Gx, Gy и Gz.
  • c – Режим калибровки. Отображает данные калибровки только при их изменении.
  • d – Демонстрационный режим.  Вращвется линейно через следующие точки AZ/EL в цикле: 0/0, 90/90, 0/180, 90/90 0/0, -90/90, -180/0, -90/90, 0/0
  • m – режим монитора. Отображает текущие AZ и EL, полдожение для AZ и EL, угол наклона AZ, состояние наклона AZ, ошибку AZ и EL.
  • a – Прервать калибровку, монитор или демонстрационный режим
  • e – Введите угла магнитного наклона. например, e7,11<Enter>. Он положителен для восточной долготы или отрицателен для западной долготы.
  • s – Сохранение данных угла магнитного поля земли и калибровки.
  • h – Help
  • p – Пауза

Предостережения

Пожалуйста, внимательно прочитайте следующее. Мы не несем ответственности за следующее:

  • Это проект DIY для опытного конструктора. Мы не несем ответственности за ваше время, затраты, инструменты, наличие или замену деталей.
  • Остерегайтесь движущихся частей – устройство может двигаться в любое время без предупреждения. Не стойте и не разрешайте кому-либо находиться вблизи операционного блока.
  • Остерегайтесь опасности для глаз – движущиеся спутниковые антенны колючие. Рекомендуется защита глаз.
  • Остерегайтесь опасности ущипнуть – держите пальцы подальше от движущихся частей.
  • Остерегайтесь опасности электромагнитного излучения – не используйте с передатчиками высокой мощности. Рекомендуем 10 Вт максимум.
  • Опасайтесь поражения электрическим током – не используйте вблизи линий электропередач.
  • Остерегайтесь опасности молнии – не используйте в грозах, дождливых или ветреных условиях.
  • Остерегайтесь опасности пожара – устройство не имеет встроенной защиты от перенапряжения или перегрузки по току.
  • Не подходит для работы без присмотра.
  • Не подходит для стационарной или постоянной работы на открытом воздухе.
  • Автоматическое подключение к Интернету: может взиматься плата.
  • Постоянное наблюдение взрослых за работой необходимо для предотвращения травм, особенно детей.
  • Постоянное наблюдение взрослых за работой необходимо для предотвращения повреждения устройства, всего, что прикреплено к устройству или что-либо в непосредственной близости от устройства.
  • Постоянное наблюдение взрослых за работой радиопередатчиков требуется постоянно. Вы должны быть действующие лицензии, сертификаты, позывные. Работайте на разрешенных частотах.
  • Антенна, штатив, подъемный рычаг, крепления, кабели или что-либо в непосредственной близости от устройства могут быть повреждены при нормальной работе или из-за неисправности программного обеспечения.
  • Двигатели легкие, они имеют большой крутящий момент: не тормозите их принудительно, не проверяйте их на прочность, они не выдержат!!! Не опрокидывайте штатив или не роняйте его вертикальный вал.
  • Рекомендуется установка быстросъёмного разъема в провод питания и предохранительного выключателя постоянного тока.

На этом всё. Если будут вопросы милости просим в нашу группу телеграмм канала в которую вы можете попасть перейдя в начало статьи. Желаю всем удачного повторения конструкции 73!

Добавить комментарий