EasyToTrack - DIY универсальная наземка, повортка, телеметрия
Собрал я недавно поворотку/наземку от Сергея (msv), и настолько мне понравилась и идея и реализация, что буквально за несколько недель добавил к исходному функционалу кое-какие плюшки.
Так как в последнее время летаю на всякой мелочи, то имею в парке не только мой любимый EasyToFly-автопилот, но и Ardupilot, iNav. Так появилась идея использовать одну наземку/поворотку для всех своих моделей.
Итак, кратко и в картинках опишу что это такое:
EasyToTrack - это система передачи телеметрии через видеоканал. То есть для работы наземной станции, антенного трекера, приема лога полета нет необходимости в дополнительном радиоканале. Есть несколько готовых АП с подобными функциями. Например PitLab, MyFlyDream. Можно найти еще пару-тройку opensource проектов (QuanTracker). Но, EasyToFly Сергея построена, работает и радует; android приложение написано…
EasyToTrack состоит из двух частей – бортовая часть EasyToTrack Sender и наземная – антенный трекер EasyToFly.
Сам Sender выглядит так
А поворотку можно глянуть по самой первыой ссылке этого поста.
К бортовой части (Sender) по-минимуму можно подключить только камеру и GPS
…или полетный контроллер работающий по mavlink протоколу
При этом система прозрачна для ОСД.
При помощи конфигуратора настраиваются основные параметры
А углы отработки серв поворотки можно настраивать прямо с телефона.
Ниже покажу видео по которому можно оценить данные передающиеся с борта. На показание тока/расхода сильно внимание не обращать - были не откалиброваны датчики.
Все необходимое для повторения собрано в архиве
Android приложение тут
Буду рад вопросам и предложениям.
А есть более подробно о том какие серво и как механически это устроено ?
схемы то чем можно посмотреть?
А есть более подробно о том какие серво и как механически это устроено ?
Так это ж полет фантазии. У каждого частоты, приемники, антенны разные. Сам я делал по нагугленным картинкам. В папку гуглодрайва добавил проект солида для моего варинта. Все выпилено лобзиком из фанеры 5мм. Склеено на эпоксидку. Корпус китайский покупной.
Сервы сначала поставил MG995, но они меня не очень радовали - ход был на пределе, дискретность движения. В результате поставил DSS-M15S. Эти полностью устраивают.
схемы то чем можно посмотреть?
Схемы, печатки делались в Altium. Если просто посмотреть, то вот картинками
Sender
GroundStation
Костя оно с тимометрией будет работать? Тим вроди сам гонит какуюто дату - там на время передачи информации видео сигнал блокируется?
А есть более подробно о том какие серво и как механически это устроено ?
Саша, если в тимометрии что-то передается во время VBLANK (кадровый гасящий импульс), то работать не будет. Девайс прозрачен для обычных osd типа minim, mwosd и т.п. не затрагивающих VBLANK
Именно это я и хотел выяснить. Вроди Тим передает в какито строках.
Я понимаю что оно уже даже не старое а древнее, но самолет летает, иногда хочется полетать без автопилота, а вот дальности без направленных антенн немножко маловато.
Попробовать никто не мешает. Берешь камеру и подключаешь к тимометрии. Видеовыход тимометрии к msv осд. Видеовыход msv осд на видеопередатчик. Да на изображении будет каша, но не обращаем внимание. Пробуй подключиться к наземке msv и посмотри проходят ли данные.
Хорошая идея - попробую 😃
На тему доработок были бы полезными еще 2 вещи - отдавать Video RSSI на планшет и ручной доворот антенны. Полезно для точной подстройки антенны.
Video RSSI на планшет
Это есть
ручной доворот антенны. Полезно для точной подстройки антенны.
Как это должно выглядеть? В смысле интерфейса. Просто ползунок, который двигает по азимуту поворотку скажем на ±45 градусов? Потому что я свою мелкую поворотку чуть рукой повернул и порядок. У тебя сложнее с этим, а я с большими поворотками дела не имел 😃
Как это должно выглядеть? В смысле интерфейса. Просто ползунок, который двигает по азимуту поворотку скажем на ±45 градусов? Потому что я свою мелкую поворотку чуть рукой повернул и порядок. У тебя сложнее с этим, а я с большими поворотками дела не имел
Ползунок со стрелочками(как скроллбар) чтоб можно было грубо - точно довернуть. Тоько ползунок это грубо а стрелочки точно. И угол навернео +.-180.
Дело в том что антенна высталяется еще и по горизонту в зависимости от того как машина стала, а потом уже ориентиуется на модель.
Ползунок со стрелочками(как скроллбар)
Сделал релиз версии 1.1
Добавил коррекцию азимута. Через меню. Ползунок, экранные кнопки, кнопки громкости устройства.
Добавил поддержку протоколов MSP (Multiwii Serial Protocol), LTM (Lightweight Telemetry). Теперь тип протокола устанавливается только на стороне Sender при конфигурации. А приложение само его определяет. Естественно, совместимость с msv наземкой и автопилотом полная.
Кто нибудь заказывал серию плат под это дело? Рисовать самому лениво, CAD’ов никаких нет. Я бы купил несколько плат, интересно попробовать.
А я бы готовую купил.
Константин а на базе этой электроники можно сделать вот так?
красным я отметил, информацию в формате mavlink
OSD1 и OSD2 имеют разные настройки и показывают разную информацию. за счет чего в шлеме не захломлен экран параметрами за которыми следит “штурман” на экране
и сразу еще вопрос, если записать видео поток напрямую с видеоприемника, до того как он попадет в EasyToFly GS то сохранится ли, на записи, телеметрия, которую можно будет вытянуть проиграв запись в EAT GS?
Штурман на планшете будет иметь всю необходимую информацию. А в ОСД можно оставить только то, что нужно пилоту.
Кто нибудь заказывал серию плат под это дело? Рисовать самому лениво, CAD’ов никаких нет. Я бы купил несколько плат, интересно попробовать.
Так все готовое и нарисованное уже в архиве. Там же герберы. Заказываются платы на любом сервисе. Я заказывал себе на dirtypcbs.com/store/pcbs
А я бы готовую купил.
Вопросы в личку
Константин а на базе этой электроники можно сделать вот так?
Так как реализовано на данный момент - нет. Мавлинк в чистом виде по видеоканалу не передается. Но можно попробовать сделать типа видео-модем и тогда гнать любые данные вроде как без проблем.
если записать видео поток напрямую с видеоприемника, до того как он попадет в EasyToFly GS то сохранится ли, на записи, телеметрия, которую можно будет вытянуть проиграв запись в EAT GS?
Смотря на что записать. Если оцифровать, то НЕТ 100%. Если на VHS то скорее всего ДА. А на DV - я не знаю 😃.
Так все готовое и нарисованное уже в архиве. Там же герберы. Заказываются платы на любом сервисе. Я заказывал себе на dirtypcbs.com/store/pcbs
Насчёт заказа партии плат я знаю, на десяток TX и десяток RX мне не к чему. А вот парочка TX и одна приёмная интересны.
Может в Sprint Layout есть? Если односторонняя можно и сделать.
P.S. в личку отписал.
Односторонняя будет ну очень много места занимать.
А вообще, плата наземки без wi-fi есть в Sprint Layout. Но двухсторонняя. Но ЛУТом легко делается. А Sender только мелкий - под заводское изготовление.
Очень интересный проект! Константин, расскажите пожалуйста, чем обусловлен выбор кварца на 20Мгц и можно ли переделать sender и GS на 16Мгц?
Выбор кварца как в sender так и наземке обусловлен использованием в качестве основы проекта asm кода ответственного за обработку прерываний кадровой развертки. Автором этой части кода является msv. А так как основное для меня - полная совместимость с EasyToFly автопилотом, то частота на которой работают мк и обрабатывают код критичный для временных интервалов остаются такими - же 20МГц.
Как итог, переделать можно. Но я не буду, так как будет потеряна совместимость с EasyToFly.
Так как реализовано на данный момент - нет. Мавлинк в чистом виде по видеоканалу не передается. Но можно попробовать сделать типа видео-модем и тогда гнать любые данные вроде как без проблем.
Ну нет так нет. Тогда пойдем другим путем, я так понимаю что esp-ха у вас тупо пробрасывает, то, что прилетает из UART любому подключенному к ней клиенту если он постучится в правильный порт, а подробнее можно, порт, протокол, формат данных, нужно постоянно дергать этот порт или там что то вроде WebSocket один канал открыл и оттуда постоянно прилетают данные?
Попробую забрать это на малинку а там сохранить в лог и паралельно превратить их в Мавлинк для раздачи OSD-шкам.
Все верно, просто пробрасываю UART. ESP-link разрешает множественные подключения. Открываем сокет с портом 23 или 2323. Слушаем и забираем данные.
Вид пакета такой:
[SYN_BYTE] [LENGTH] [TYPE_BYTE] [TO_HOST_DATA] [CRC] [\r\n]
где
SYN_BYTE = 0x55
LENGTH = длина payload (sizeof(TYPE_BYTE) + sizeof(TO_HOST_DATA))
TYPE_BYTE = 0x00 для этого типа пакета
typedef struct
{
s_int Track_azimuth; //Азимут для поворотки
s_int Track_elevation; //Элевация для поворотки
u_long GPS_lat; //Latitude
u_long GPS_lon; //Longitude
u_long Home_lat; //Home Latitude
u_long Home_lon; //Home Longitude
u_int GPS_course; //Курс по GPS
s_int Altitude; //Высота по GPS
u_int GPS_speed; //Скорость по GPS
u_char APmode; //Режим полетного контроллера
u_char CTRL_RSSI; //RSSI канала управления
s_int RollAngle; //угол Roll
s_int PitchAngle; //угол Pitch
u_int BattVoltage; //Напряжение батареи
u_int BattCurrent; //Ток батареи
u_int BattCapacity; //Израсходованная емкость батареи
u_int AV_RSSI; //RSSI видео приемника
u_char AVErrors; //Ошибки декодирования данных из видео
u_char Reserved[2];
u_char GS_Version; //Версия наземки
u_char InputMode; //Тип Sender
u_char AP_Version; //Версия Sender
}TO_HOST_DATA; // 46 bytes
CRC рассчитывается просто при помощи логической операции XOR. Просто XORим все байты после SYN_BYTE.
Так как сначала все делалось под самолеты, то курс, высота и скорость берутся по GPS. В планах добавить в конфиг Sender источник этих данных
Константин, не планируете поддержку Bluetooth в EasyToFlyMonitor (хочется повторить на имеющемся в наличие модуле HC05)?
А вообще, плата наземки без wi-fi есть в Sprint Layout. Но двухсторонняя. Но ЛУТом легко делается. А Sender только мелкий - под заводское изготовление.
А можно туда же выложить?