…по мотивам Артемия Лебедева: дорого, долго…. Ну вы поняли…
Если вы живете не в Европе и собираете конструкции,
разработанные европейцами — я вам сочувствую…
Идея автоматизации и дистанционного управления домашним шеком — своего рода идея фикс для вашего покорного слуги. Поэтому выбор пал на эту очень интересную конструкцию. Ее ключевая особенность состоит в том, что можно управлять поворотом антенны с любой точки мира, где есть компьютер с Windows и сеть Интернет. Причем возможности ПО для управления достаточно обширны: поддерживается до четырех контролллеров USB/Ethernet, до 32 пресетов азимута/элевации, возможность автоматического слежения за Луной или другим объектом посредством подключения к программе Orbitron, есть даже русский язык. Если не нравится авторское ПО — прошивка контроллера поддерживает протоколы KJTlog и Yaesu GS-232. При отсутствии ПК «рулить» антенной можно классическим способом — устройство имеет валкодер, кнопки и двухстрочный дисплей.
Теперь о железе. Основа устройства — процессор STM32F407VET6. Подключение к сети Ethernet осуществляется через интерфейс RMII и микросхему LAN8720AI (при желании можно не распаивать, основным интерфейсом связи с ПК является USB). Буфер дисплея выполнен на 74HCT244, трансивер интерфейса RS485 — на микросхеме ST3485. Питание осуществляется от двух преобразователей 5 В (дисплей, реле) и 3,3 В (остальная схема), выполненных на микросхемах MCP16301T-I. Датчик азимута/элевации состоит из магнитного энкодера AS5048 (неважно, SPI или I2C, прошивка сама определяет тип интерфейса), процессора STM32F030K6, трансивера интерфейса RS485 на микросхеме ST3485, стабилизатора питания 3,3 В. Схема, конструкция и прошивка датчика элевации полностью идентична конструкции датчика азимута, программные различия состоят лишь в адресах устройства на шине RS485 (шина, естественно, общая).
Схемы и описание «копипастить» не имеет смысла — они есть на сайте автора в разделе «Projects». Основная проблема изготовления устройства — сложность печатной платы, и, как следствие, отсутствие ее чертежей в открытом доступе (по словам автора, плата четырехслойная, и возможность изготовить ее самому стремится к нулю, поэтому публикация чертежей бессмысленна). Вторая не менее (а может даже и более) сложная проблема — поиск нужных деталей. Еще одна проблема заключалась в программировании — информации на сайте не так уж много.
Начнем по-порядку. Печатные платы были заказаны у автора проекта — две платы контроллера и четыре платы датчиков. В июле 2020 года стоимость составила 10$ за одну плату контроллера, 4$ за две платы датчиков, 7$ ушло на доставку. Итого 35$. Может быть, автор высылает чертежи плат по запросу. В любом случае стоит обратиться к нему по e-mail.
С деталями всё интереснее и дороже. Самое главное — найти Ethernet-разъем (если он нужен). Автор указывает на MAGJACK SI-50154-F, AMPHENOL LMJ2018813130DL3T1LFG или совместимый. Из совместимых удалось найти TRJ1014AHNL. Чуть менее редкими деталями являются микросхемы питания LF33CDT и MCP16301T-I, энкодеры AS5048A, кварцевые генераторы, дроссели подавления ЭМП, проходные конденсаторы. Колодка под батарейку Keystone 1069 — вообще еще та диковина. Но автор пишет, что это для часов, которые еще не реализованы, так что можно не ставить. Все удовольствие для двух комплектов обходится over 8k деревянных…
Сборка особых проблем не вызывает. В моем случае всё паялось обычным паяльником 40 Вт с тонким коническим жалом. Исключение составила микросхема Ethernet — она в корпусе QFN, нужен фен. Кварцевые генераторы по-хорошему тоже паять феном, но можно подлезть и сбоку.
Запуск устройства осуществляется в следующем порядке. Сначала через разъем SWD на плате контроллера прошивается загрузчик (с сайта автора из раздела Downloads — Firmware). После прошивки и перезапуска контроллера (обязательно с подключенным дисплеем) светодиод STAT должен быстро мигать. Далее контроллер подключается к USB порту ПК, где произойдет обнаружение последовательного порта и автоматическая установка драйверов из Центра обновления. Загрузка основной прошивки осуществляется утилитой fw_flash (с сайта автора). Утилита сама скачивает нужную прошивку из репозитория. Интерфейс несложный и в описании особо не нуждается. Прошивка датчиков осуществляется немного иначе. Загрузчик прошивается описанным выше способом. При успешной прошивке светодиод на плате так же быстро мигает. Далее датчик подключается к контроллеру по шине RS485, контроллер переводится в режим BYPASS. {to be continued}
Спасибо за интересную статью!
Антон извиняюсь что не по теме коментарий.
Скажите есть ли у Вас опыт как организовать синхронизацию времени на Linux с помощью gps приёмника?
Скажем — NEO 6M и им подобных, и софт xgps (хотя возможно чтот есть другое я пока незнаю).
Тема вроде интересная, но каких то инструкций пока не встречал, или пока не понимаю сути, в линуксе новичёк, живу в селе где на инет надеяться не стоит, а в цифре фт8 фт4 частенько работаю.
Вот и решил найти для себя хоть какое то решение. Буду рад если у вас будет на эту тему статья или хотябы наводка на информацию. 73
Опыта организации времени с GPS-приемника (так же как и статьи), к сожалению, нет, по причине отсутствия GPS-приемника. А писать про то, что сам не пробовал — такое себе.
Что касается софта xgps — это графическая клиентская программа, а нужна системная служба (демон). В Сети говорят, что можно поставить службу GPSD и подружить ее с сервером NTP. Коротко, но ясно описано, например, здесь https://wiki.archlinux.org/title/Network_Time_Protocol_daemon_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)#%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_ntpd_%D1%81_GPS Но пишут, что железка должна поддерживать PPM. Поддерживает ли NEO 6M данную опцию — не знаю, с GPS не работал от слова совсем (тот, что в смартфоне — не в счет).
Жалко что на сайте автора все чертежи и схемы удалены (