flybrain. передатчик + приемник + автопилот. powered by stm32

AlexSneg
telion:

для записи настроек в постоянную память?

Да, именно так. Чтобы на флешку скинуть, надо именно эту команду вызвать. А иначе только на сессию полета, до первого выключения питания.

В основном все настройки применяются сразу (за исключением редких, связанных в основном с IMU фильтрами. Они требуют сброса IMU. В воздухе можно в принципе сбросить в горизонтальном полете, но это на свой страх и риск.)

З.Ы. Радар “НА ДОМ” включи новый в виде стрелочки с направлением полета относительно пилота, хочу посмотреть как будет работать в реальном полете.

13 days later
тигромух

Калибровал датчик тока - вспомнил альма-матер и метод наименьших квадратов 😁
Это сурово, конечно, надо придумать что-то более дружественное юзеру.
Вот так у меня получилось:

Это нормально? В даташите датчика (ACS758) не нашел инфы на этот счет.

Боюсь, что нечто подобное предстоит и с датчиком ВС 😦

Придумал предложение для индикатора RSSI: можно ли сделать отображение обычного RSSI, похожим на режим ChL, только с той разницей, что в разных столбиках будут не каналы, а разное время. То есть, левый столбик показывает RSSI, который был 10 (условно) сек назад, следующий - 9 сек, и т.д. Актуальный RSSI всегда в правом столбике и в циферке. Такой, исторический RSSI.
Мне вот всегда не хватало ресурсов головы, чтоб отслеживать не только текущее значение, но и его тренд. А это важно, имхо.
Что думаете?

AlexSneg
тигромух:

Это нормально? В даташите датчика (ACS758) не нашел инфы на этот счет.

да, мне кажется норма. Точнее можно будет только методом полетал/зарядил/подкорректировал добиться. Я крутизну графика обычно меняю если нужна коррекция. Нулевую точку, понятно, менять смысла нет. Ну где-то с 4ого полета удалось добиться точности до 50мА на полет.

Согласен, что метод настройки не самый легкий, но зато дает полную свободу настроек под любой вариант датчика.
Я себе сделал XLS страничку там и подбираю коэффициенты. Для ВС так же сделал себе XLS файлик. У меня для ВС крутизна получилась примерно 1600 а не 1000, как ДШ утверждает. Поэтому сначала летал и показывал заниженную ВС. Потом подобрал и вроде нормально стало.

А думаю надо в экранное меню прокинуть это дело, чтобы можно было в полете прямо покрутить. Только наверно надо сделать возможность именно крутизну графика менять без сдвига нуля. А иначе да, сложно и не очевидно для тех, кто далеко не математик.

тигромух:

Придумал предложение для индикатора RSSI:

Да можно без проблем, но будет ли толк? Дело в том, что если передатчик цифровой, то там RSSI либо 100% и связь есть, либо 0% и FS. А что-то промежуточное ну очень короткие промежутки времени. Ну не бывает так, чтобы приемник принимал 50% пакетов, а остальную половину стабильно терял. Историческая перспектива этого дела на графике будет не особа полезна. Но если хочешь, я занесу в список хотелок и сделаю к началу сезона. Чисто программно здесь проблем нет никаких.

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

  1. два видео входа. Сделано для диверсити по видеосигналу. Принцип выбора лучшего сигнала будет автоматическим. Критерием служит устойчивость синхросигнала по строкам и кадрам. Я задизайнил два независимых аппаратных видео сепаратора, соответственно наземка в любой момент времени отслеживает лучшее качество и автоматом переключает видеосигнал с одной антенны на другую. Можно конечно не собирать один канал, это как бы на выбор. Я для тестов буду собирать оба канала.

  2. Передавать информацию будем телетекстом в первых нескольких строках каждого кадра. постараюсь придерживаться варианта формата кадра Тимофея, если получится, чтобы не плодить очередной зоопарк протоколов. Александр, вроде открыл формат в какой-то теме.

  3. на плате сделал одну кнопку и один светодиод. Для разных ручных манипуляций. Пока не знаю какой будет у этого функционал, но какой-то будет

  4. 4 PWM сигнала для управления четырьмя сервами. Две - стандарт pan/tilt. Еще две - в резерве пока. Есть мысль поворачивать RC антенну вокруг оси крепления, чтобы менять поляризацию, если ЯГИ или диполь.

  5. GPS/GLONASS на борту встроенный. Хочу чтобы наземка независимо ни от кого знала где у нее координаты. Соответственно получится полностью независимая система от самолета. Вариант без ГПС тоже будет. Но тогда будет брать точку дома с самолета.

  6. Встроенный компас/аксель. Поворотка будет уметь определять, где север автоматом. Либо, если плата не стоит на месте, а конструктивно вращается, то будем знать куда реально смотрит антенна по азимуту. То есть, будем иметь опцию контроллированя сервы PAN в автоматическом режиме. Кого жаба душит, опять же, можно наверно и не ставить компас, тогда придется самим по местности с геграфическим севером ориентироваться.

  7. USB - ну это стандарт. Подключим ПК и будем конфиг настраивать у наземки, ну прочее: карта, маршрут и т.п.

  8. 3 видеовыхода. Поставил на выход один видеобуфер и три разъема (тюльпана) запараллелил. Не уверен, что параллель это хорошо (можете меня ругать), но это надо на практике смотреть и мне было уже влом рисовать да и места в обрез на плате осталось.

  9. Бузер, низкоомный. Можно подключить динамик, чтобы орала

  10. CD-micro карта. Развел слот, куда ее вставлять, будем туда логи полетные писать, ну или еще для чего

  11. про запас развел две линейки штырьков для насадки второго этажа. на них есть SPI, UART, I2C. Планирую на них насаживать бутербродом второй этаж с радиомодулем и прочей лабудой. Будет возможность управлять самолетом с наземки и иметь с наземки радиуправление самолетом и принимать обратный канал самолета прямо наземкой

  12. питание, начинается от 2s - батареи до 35 Вольт примерно (не помню точно), но 30В точно держит

  13. на этот раз я исправился и не забыл сделать отверстия для крепежных винтов - то, за что меня всегда упрекали 😃

ну вот как бы вот так

Набрал на радиорынке шестеренок от принтера. Пока платы идут ко мне, буду колхозить поворотное устройство.

smalltim
AlexSneg:

постараюсь придерживаться варианта формата кадра Тимофея

Алекс, как дойдут руки - стучись. Подтюним вместе, если понадобится.

AlexSneg:

Встроенный компас/аксель.

Компас/аксель без претензий можно за 3 бакса купить и поставить на плату, так что недорого. Но на земле обычно куча железа левого. Я отказался, но буду рад, если у тебя получится.

AlexSneg
smalltim:

Алекс, как дойдут руки - стучись.

заметано 😃

тигромух
AlexSneg:

Нулевую точку, понятно, менять смысла нет. Ну где-то с 4ого полета удалось добиться точности до 50мА на полет.

Дык они же зависимы. Если я сейчас изменю только крутизну, у меня испортятся показания тока в холостом режиме. И наоборот.
Датчик же ноль не выдает.
Я подключал ваттметр, давал газу и записывал показания с датчика в вольтах для тока в 0.5А, 1А, 2А и еще в шести точках. Дальше долго вспоминал как это апроксимировать, и вуаля, мозголет показывает те же цифры, что и китайский ваттметр 😃

AlexSneg:

Да можно без проблем, но будет ли толк? Дело в том, что если передатчик цифровой, то там RSSI либо 100% и связь есть, либо 0% и FS. А что-то промежуточное ну очень короткие промежутки времени. Ну не бывает так, чтобы приемник принимал 50% пакетов, а остальную половину стабильно терял. Историческая перспектива этого дела на графике будет не особа полезна.

Если вычитать из RSSI пакета RSSI шума и усреднять по времени, как сделано у baychi, то очень адекватный показатель получается. Нелинейно, но плавно уменьшается до нуля и только тогда приемник падает в ФС.

AlexSneg:

Но если хочешь, я занесу в список хотелок и сделаю к началу сезона. Чисто программно здесь проблем нет никаких.

Хочу, спасибо!
И еще предлагаю повторить график вариометра, как у игловского Вектора. Тут задачка посложнее, поэтому не настаиваю 😃

ССМ=
AlexSneg:

Передавать информацию будем телетекстом в первых нескольких строках каждого кадра

Передача по видео сигналу?

AlexSneg
тигромух:

и вуаля, мозголет показывает те же цифры, что и китайский ваттметр

Ну так а куда оно денется 😃

две точки: (x0,y0) и (x1,y1) Как провести прямую через две точки? Ищется в яндексе за 10 минут не напрягаясь. Далее забивается в Ёксель и не надо никаких сложных аппроксимаций. Каждый конечно должен преодолеть свою дорогу граблей, это святое 😉

тигромух:

Если вычитать из RSSI пакета RSSI шума и усреднять по времени, как сделано у baychi,

Я попробую. Сейчас я на приемнике не считаю уровень шума. Я видел, как Александр это делает, сам не пробовал. Занесу в список хотелок, попробую.

тигромух:

Тут задачка посложнее, поэтому не настаиваю

На самом деле проще чем RSSI. Ты уверен, что это график вариометра? Можешь объяснить на фиг надо такой график на экране? Какова практическая польза?

ССМ=:

Передача по видео сигналу?

Да. От звука я отказался. Звук идет транзитом через плату, никак не обрабатывается. Звуковой канал занят автоинформатором.

тигромух
AlexSneg:

две точки: (x0,y0) и (x1,y1) Как провести прямую через две точки? Ищется в яндексе за 10 минут не напрягаясь. Далее забивается в Ёксель и не надо никаких сложных аппроксимаций. Каждый конечно должен преодолеть свою дорогу граблей, это святое

Этот путь был пройден в первые пару минут, даже без яндекса. Зря я, что ли, матфак заканчивал 😃
Получилась крайне низкая точность.
Конечно, с количеством точек замера я переборщил, но учитывая, что при этом два замера не сошлись с итоговой прямой, лучше перебдеть 😃

AlexSneg:

На самом деле проще чем RSSI. Ты уверен, что это график вариометра? Можешь объяснить на фиг надо такой график на экране? Какова практическая польза?

Да, это график вариометра, или, если угодно, график вертикальной скорости.
Практическая польза почти такая-же, как с RSSI: видеть тренд изменения высоты, он ведь далеко не всегда совпадает с мгновенной вертикальной скоростью.
В большой авиации индикатор верт.скорости работает адекватнее, т.к. ЛА могут четко ее выдерживать. В наших делах это возможно только в штиль, а при неспокойной атмосфере верт.скорость прыгает туда-сюда как хочет и чтоб понять что происходит с высотой, надо какое-то время за ней понаблюдать.
График все объяснит за мгновение.
Вот в этом ролике отлично видно что к чему.

hav22
AlexSneg:

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

Алексей, я бы взял одну-две платки.

тигромух

Может ли мозголет шуметь в диапазоне GPS?
Разместил антенну GPS рядом с платой АП, прождал 10 минут - ноль спутников. Отодвинул на 5 см - сразу нашлись несколько штук.

И еще, ситуация: самолет стоит горизонтально на полу, носом на север. На осд все путем: горизонт в горизонте, компас смотрит, как положено, на север.
Я наклоняю самолет градусов на пять вправо, горизонт послушно наклоняется, но за ним и компас вдруг начинает уезжать вправо, хотя нос самолета по-прежнему смотрит на север.
Возвращаю самолет в горизонт, компас возвращается.
Так задумано?

AlexSneg
тигромух:

Может ли мозголет шуметь в диапазоне GPS?

в теории, наверно да. специально я не генерирую частот 1,6 ГГц
может мешать композитный видео сигнал.

тигромух:

Так задумано?

Не. Не должно такого быть. Проверил у себя, получил 1-3 градуса уход на 60 градусов крена. Вообщем в пределах погрешности неточного позиционирования в руках.

тигромух
AlexSneg:

Не. Не должно такого быть. Проверил у себя, получил 1-3 градуса уход на 60 градусов крена. Вообщем в пределах погрешности неточного позиционирования в руках.

Хм. Я крутил параметр “вклад магнетометра”. Наверно это из-за него.
С дефолтным значением у меня при направлении морды самика в разные стороны света, горизонт уплывает то в одну сторону, то в другую. Плюс-минус на 3 градуса.
Из магнитного в самолете только мотор на расстоянии 20-25 см.

тигромух
тигромух:

Может ли мозголет шуметь в диапазоне GPS?

Подозрения с мозголета сняты, антенна лишь ненамного лучше работает вдали от всей электроники.
Судя вот по этому тексту, нельзя так просто взять и отрезать у активной антенны 5 метров кабеля, они ей нужны 😦
И действительно, с пятиметровым кабелем антенна работала идеально, а с 9см, 10см и 19см кабелями - неудовлетворительно.
Знаний для сборки аттенюатора мне пока не хватает. Попробую для начала поставить пассивную антеннку.

F_R
тигромух:

Знаний для сборки аттенюатора мне пока не хватает.

Могу одолжить тебе свой 😃

AlexSneg
тигромух:

Попробую для начала поставить пассивную антеннку

Возьми кусок провода в несколько сантиметров и припаяй вместо антенны. У меня так работала на улице.

На активной антенне я кабель укоротил без всяких проблем. Не должно быть зависимости от длинны кабеля. Разве что в разъемах после обрезания ты его закрепил плохо. Центральную жилу по минимуму оголил от обертки?

тигромух
AlexSneg:

Центральную жилу по минимуму оголил от обертки?

Конечно, все по-правилам делал. 😃
В общем полдня экспериментов привели к тому, что кабель ~17см дает более-менее пристойный результат. На балконе фикс за ~50 секунд. За две минуты собирает 6 спутников. С некоторыми длинами кабеля эта антенна не ловит вообще: за 10 минут нет фикса.
Напомню, что она же с кабелем 5м ловила на подоконнике 12-13 спутников стабильно. Выше в теме был вывод. Причем, она не совмещенная, чисто GPS.

Решил, что пока оставлю так, а когда раздобуду нормальную антенну глонасс/гпс…

F_R:

Могу одолжить тебе свой

… воспользуюсь 😃

msv

Время старта, количество спутников итп какие то несолидные критерии для оценки антенны. Есть смысл включить CSV и смотреть за SNR в какой-нибудь GPSFox.

тигромух
msv:

Время старта, количество спутников итп какие то несолидные критерии для оценки антенны. Есть смысл включить CSV и смотреть за SNR в какой-нибудь GPSFox.

Согласен. Но пришлось использовать то, что есть… Мозголет настраивает модуль только на RMC и GGA.
GSV очень хотелось, но включить только Алекс может.

AlexSneg
тигромух:

GSV очень хотелось, но включить только Алекс может

нет, не только. Есть же команда в консоли, чтобы выдать команду в консоль модуля. Об этом написано в доках PDF да и help в консоли ее покажет.

set gps_cmd <команда которую заслать в модуль>
затем
mon on gps_raw - отдавать консоль GPS модуля на экран консоли без изменений и парсинга

Команду найди в доках к модулю, там есть включение/выключение сообщений
Вот команда, которую шлю я для EB-800
$PMTK314,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0*28
в единицу установи нужный параметр и пересчитай КС, затем эту строку кинь командой set gps_cmd …
Можешь включить любое сообщение таким образом

тигромух

Я пробовал. Только, не такую команду. В моей нужные сообщения задавались битовой маской. Не проканало. После этого пробовал и инит и колдстарт и еще разные $PMTK - не работает. 😦