F3x таймер / FrSky телеметрия

Simmer

Максим, чаще делитесь с нами Вашими наработками. 😉 Это очень полезный проект (по крайней мере для меня, но думаю и для других тоже). Как таймер он мне не сильно нужен, а вот как внешний телеметрийный блок нужен ОЧЕНЬ. 😃
В любом случае Ваш труд очень полезен!

vikar

Максим, интересный проэкт. Покупал Фрискай именно с целью получить телеметрию для планера.
Очень хочется пикающий вариометр в ухе и высотомер на дисплейчике. Ну и конечно уровень сигнала и напруга батарейки. Разработать сам не умею, но повторить смогу, это часть моделизма.
Ждем продолжения.

С ув. Виктор.

MxM

Да, Виктор желания у нас схожие.

итак продолжение.

бортовой блок в первом приближении получился.

чувствительность по высоте - единица младшего разряда 16битного ацп. это около 20см. странно, но шум +/-1 . думал больше будет. даже усреднение не нужно. надо будет оттарировать по высоте. в лифте вроде работает 😃

похоже промахнулся с границами дифференциального датчика давления. взял mpx5004 а он слишком грубый для низких скоростей… надо раз в 10 чувствительней.

немного изменился внешний вид брелочка.

МаркАнтоний

Максим, у меня к Вам вопрос. Подскажите пожалуйста, на каком принципе производят измерение высоты с помощью датчиков давления? А ещё я гдето видел что датчиками давления можно скорость набегающего потока воздуха ими мерить, Вы случайно не знаете как?

MxM

атмосферное давление меняется с изменением высоты. очень мало но меняется. “как” меняется можно поискать по словам ‘стандартная атмосфера’. при поднимании барометрического датчика с уровня пола до уровня стола показания с ацп меняются на 2-3 единицы.
скорость набегающего потока меряется с помощью дифференциального датчика давления поискать можно по словам 'трубка пито '.

Юрий_68

Максим, привет. Ты помимо вара еще и скорость будешь передавать?

vikar

Максим, вот здесь народ использует другой датчик (BMP085). он и помельче, может его применить?
С ув. Виктор.

MxM

Я знаю про этот датчик. Eго не было в доступности когда искал. В принципе ничто не мешает поставить его. интерфейс сходный. обработка тоже будет похожа.

пока складывается так. 2 байта высота, 1 байт верт. скорость (точность 10см), 1 байт горизонтальная приборная скорость. точность тоже получится около 10 см/c (если получится) 😃

5004 подключил через усилитель на операционнике с коэффициентом усиления 10. вроде работает.

правда от вентилятора больше 6.5 м/c не дуется, но для примерной оценки вполне…

MxM

5004 шумит зараза. усилитель усиливает не только полезный сигнал но естественно и шумы. в результате на выходе показания прыгают на +/- 1.5 м/c непорядок. побороть не получается. 😦 поставить вторую такую же i2c шную 16ти разрядную ацп не могу. адреса одинаковые. засада.

vikar

Максим, у нас, вроде, доступны датчики BMP085. По крайней мере, есть в каталоге поставщика.
Могу купить и передать Вам для экспериментов (проводником, например). Или посмотрите еще каке датчики есть на том сайте.
С ув. Виктор.

MxM

Спасибо Виктор. не надо. сейчас они в продаже и у нас есть. связка mpx6115+ads1100 которую я использовал оказалась не сильно больше bmp085 и по цене и по размеру. так как я делаю сразу 2 экземпляра а датчики пока купил только на один следующий скорее всего окажется как раз на 085 + еще каком-нибудь. для меня это не первостепенной важности проблема.
список задач которые собираюсь порешать

  • откалибровать (проверить) соответствие высоты реальной и с бародатчика. откалибровать диф. датчик.
  • дописать часть в брелке по отображению скорости и поляры.
  • портировать код из codevision в gcc
  • возможно перейти в брелке на больший контроллер. у 8 меги памяти осталось 15%. маловато.
    после этого думаю можно уже будет выложить как законченый проект для повторения желающими.
vikar

Ок.
Вопрос по поляре.
Я так понимаю брелок будет отображать данные в реальном времени. Верно?
Зачем нужна поляра в реальном времени? Реально ли ее успеть проанализировать бегло взглянув на дисплей? (Я так и не научился “вынимать” из поляры полезные данные, займусь как нибудь.)
Или Вы закладываете некий объем памяти для записи данных, для последующего неспешного изучения?
С ув. Виктор.

MxM

хороший вопрос 😎 хочется конечно многого. например прицепить к брелку микро sd и сливать на неё приходящие данные или интегрировать в бортовой блок и писать с достаточно высокой интенсивностью… пока не решил.
по поляре пока не готов сказать. мне кажется что беглого взгляда будет достаточно чтобы оценить на каком участке находишься и соответственно насколько эффективно летишь но может быть я и ошибаюсь и понять будет тяжело… не знаю. надо пробовать. а может нужен вообще другой интерфейс типа голосового оповещения…
попробовав я понял что времени глянуть на телеметрию хватает. сначала ведь просто цифры были а уже потом столбики дорисовались для удобства оценки…

а таймерные функции интересны? или я один такой?

модель для протеуса. в принципе это рабочий кекс с приемом телеметрии rssi tssi и бортового питания. его можно просто прошить в мегу. схемка там же. частота 8МГц.

как вставить в него модель экранчика написано тут

3310Model.zipFrSky telemetry host v1.0.ziptele-host-sch.zip

SGordon

Вообще запустилось в проезе, а чтобы нормально все показывало надо саму телеметрию иметь подключенной к компу?

И еще вопрос, а нельзя это все впихать в аппу Turingy? Вроде народ сам там пишет прошивки, нужен только последовательный порт?

MxM

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

vikar

Максим, спасибо за предоставленный материал.
Правильно ли я понимаю:

  1. Подключаем внеший блок (брелок) к ВЧ модулю и на дисплее будем видеть показания уровней сиггналов rssi tssi и бортового питания (Питания - при наличии дополниетльного датчика).
    При подключении к приемнику блока высотомер-вариометр, брелок будет показывать и эти данные. Или же брелок надо будет перешивать под функционал высотомера-вариометра?

Еще вопрос, планируете ли сделать аудиовыход для наушника, чтобы в ухе пикал вариометр, или этого в планах нет?

а таймерные функции интересны? или я один такой?

Мне не особо интересны, но - “запас карман не тянет”.
С ув. Виктор.

MxM

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

vikar

Максим, спасибо за розьяснения.
Будем ждать финальную версию.
С ув. Виктор.

15 days later
MxM

длительные развлечения с усилителем на операционнике положительного результата так и не дали 😦 шум неприемлимый. а вот вторая ацпшка ADS1100 проблему решила. точность измерения скорости получается примерно 25см/c
ктонибудь делал сам трубку пито на низкие скорости? полетная скорость 5-10м/c где-то в этом диапазоне. я конечно сделал “нечто”? но что то оно работает не совсем так как хочется. слишком сильно зависит от угла атаки.

Еще интересная фича протокола обмена. я посылаю по 5 байт раз в полсекунды и почему то все посылки начинаются с начала фрейма. непонятно. но удобно.
судя по количеству скачанных файликов тема не сильно интересна…

7 days later
MxM

очередная версия. 1.1

в этой версии:

прием и отображение информации по FrSky протоколу о высоте и скоростях горизонтальной и вертикальной.
формат 0x77 (int)[высота * 10] (byte)[вертикальная скор*10] (byte)[горизонтальная скорость * 10]
таким образом вся пачка 5 байт.

-сохранение настроек таймеров и лога на 32 полета в EEPROM.
-выбор времени тура 8-10-12 минут
-выбор времени на посадку 0-30-45 сек
-исправлена работа с долгими и коротким нажатиями на кнопки.
-исправлена работа с индикатором заряда батареи.
-добавлен выход звука. тик каждую секунду(отключаемый). звуковая индикация верт. скорости в этой прошивке не реализована.
-исправлена работа с индикатором. не стабильно стартовал.
-питание брелка переведено полностью на 5V (2S LiPo)

tele-host-1.1.zip