FrSky 2.4GHz FHSS, новый игрок на рынке 2.4ГГц

Pav_13

Да! Посмотрю с удовольствием… Может, даже пойму чего-нибудь 😃
У меня была мысль, подключить GPS-модуль прямо к приемнику… Для летающей модели этого было бы вполне достаточно - скорость, высота, направление на базу, координаты… Летал с телеметрией от Smalltim только с GPS-модулем - вполне устраивало!

HATUUL

Запустил Ская через 2Ватный бустер,значения остались прежними.

kuznetsovin

Для Павла Бакулина: Нашел на флешке свои исходники, вот кусок в котором обрабатывается приемный буфер. RX_ptr - это это переменная которая после принятия стопфлага 0x7E из уарт принимает соотв. значение…
if(RX_ptr&0x80) //Если приняли буфер по UART, то разгребаем его…
{INT8U data, m=0;
for(i=0; i<8; i++) //n<=RX_ctr;
{if(RX_buf[i]==0x7D) data=RX_buf[++i]|0x20; //байтстаффинг
else data=RX_buf[i]; //байтстаффинг
switch (RX_ptr)
{case 0x81: {data_Ur[m]=data; break;} // Пользовательские данные (грузим в буфер)
case 0x82: {DATA_Fr[m]=data; break;} // Данные FrSky (грузим в буфер)
default: break;
}
m++;
}
}

Игорь_Лытнев
Pav_13:

Если у кого есть ссылка - дайте…

В описании протокола есть: When byte 0x7D is received, discard this byte, and the next byte is XORed with 0x20;

Упс , опоздал.

Pav_13

Илья, спасибо! В приведенном Вами фрагменте кода знакомые буквы вижу - попробую “вкурить” 😛
Игорь, я пытался перевести Гуглом эту строчку из описания протокола - результат неутешительный 😦
Вы можете растолковать эту строчку по-русски?

Игорь_Лытнев
Pav_13:

Игорь, я пытался перевести Гуглом эту строчку из описания протокола - результат неутешительный …
Вы можете растолковать эту строчку по-русски?

При приеме 0x7d , отказаться от этого байта, а следующий байт XORим с 0x20;
что собственно у kuznetsovin и сделано :

if(RX_buf[i]==0x7D) data=RX_buf[++i]|0x20;

в результате
вместо : 0x7D 0x5E имеем 0x5E XOR 0x20 = 0x7E
вместо : 0x7D 0x5D имеем 0x5D XOR 0x20 = 0x7D

kuznetsovin

Павел: если детально, то… если время приема встретится байт 0x7D (When byte 0x7D is received), выбросите его (discard this byte), ваш следующий байт будет в результате логической операции - and the next byte is XORed with 0x20… В моей программке это написано:
if(RX_buf[i]==0x7D) data=RX_buf[++i]|0x20; //байтстаффинг
else data=RX_buf[i]; //байтстаффинг

опоздал 😃

Pav_13
Игорь_Лытнев:

XOR им с 0x20

Ну, вот! Стоило всего-лишь добавить “русское” окончание к абревиатуре XOR - сразу дошло! Спасибо!

Игорь_Лытнев
Pav_13:

Ну, вот! Стоило всего-лишь добавить “русское” окончание к абревиатуре XOR - сразу дошло! Спасибо!

Я вообще этот кусок в описании не замечал пока не услышал от kuznetsovin слово “байтстаффинг” , за что ему еще раз огромное спасибо , теперь дело пойдет.

kuznetsovin

Игорь и еще, как бы не маловажное на мой взгляд, может еще кому-то интересно, после того как “разгребешь” байтстаффинг и определишь по байту 0xFD-(что данные юзерские), смотри следующий байт-(количетво верных байт в кадре) и если он равен шести, то тогда их-(юзерские данные) используй, я делаю именно так, потому что количество верных байт может быть меньше или они сдвинуты как-то, без этого условия в данных на приеме проскакивает “лажа”… Удачи! 😃

Игорь_Лытнев

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

kuznetsovin

Дисплейчик от моторолы Т190, С200 графический, интерфйс I2C, встроенный драйвер в нем PCF8548. Джойстик для навигации по меню, тоже от мобилы + кнопочка… В плане удобства отображения на нем вроде как гораздо удобней чем на символьном, да и интерфейс последовательный, что не маловажно. Вот вид поближе немного.

Игорь_Лытнев
kuznetsovin:

Дисплейчик от моторолы Т190, С200 графический, интерфейс I2C, встроенный драйвер в нем PCF8548. Джойстик для навигации по меню, тоже от мобилы + кнопочка… В плане удобства отображения на нем вроде как гораздо удобней чем на символьном, да и интерфейс последовательный, что не маловажно. Вот вид поближе немного.

Я пока делаю на дисплее от сименса s65 цветной графический дисплей 132х176, SPI интерфейс, но это временно , цветной дисплей плохо виден на солнце , да и не нужен он там, поэтому и присматриваю что то другое.

AQUAPLUS

Появились “фирменные” телеметрийные примочки. Датчики, мониторчики 😃
Да и цены вроде не высокие

HATUUL

Вот думаю на один из аналоговых каналов датчик тока нацепить. Вот типа такого.

Правда выдает на выходе на 1Ампер 40миливолть,т.е. если максимум 60Ампер выйдет 0.2Вольта.Прийдётся ставить усилок.

PARSEK

Для тех, кто не верит, наконец-то удалось запечатлеть на видео полет на 3 км с использованием телеметрийных модуля DJT и приемника D8R от FrSky.На передаче стоковая 2 dBi антенна, на приеме самодельные коаксиальные диполи rcopen.com/forum/f4/topic186091/1441 пост 1444.
Видео ускорено и порезано – 26 минут смотреть сил не хватит, да и на ютуб долго закачивать такой файл. Запись на HD брелок №11, на закате, поэтому за качество сильно не ругайте. Все таки кто-то был прав, сказав про 11 брелок, что HD качество и HD разрешение – это разные вещи. Монтаж видео я только начал осваивать;-)
В общем, после взлета, произвел тестирование Игловского автопилота, немного полетал вокруг, и направился вдаль. Наземной записи пока нет, но есть несколько фоток на телефон. На удалении 3 км начались FS, и пришлось повернуть назад. На фотках видно параметр DIS в самом левом нижнем углу – расстояние от точки старта. Отображается инверсно, т.к. в настройках OSD указан предел 3000 м.

www.youtube.com/watch?v=1ecuN3u-uPc

Simmer
AQUAPLUS:

Появились “фирменные” телеметрийные примочки. Датчики, мониторчики 😃
Да и цены вроде не высокие

Где если не секрет?

Andre_P
HATUUL:

Правда выдает на выходе на 1Ампер 40миливолть,т.е. если максимум 60Ампер выйдет 0.2Вольта.Прийдётся ставить усилок.

0,04х60=2,4В

PARSEK

Наконец-то выкроил время на эксперименты с антеннами для приемника D8R от FrSky. Уж очень не давала покоя мысль, что можно сделать еще лучше, чем есть.
Собрал небольшой стенд в составе приемника, сервы, пищалки, самодельного BEC на 5В, АКБ 12В 1,2А/ч.
Пульт FlySky 9X с модулем FrSky DJT, прошивка от ERAZZ, программа сервотестера, режим модуля RANGETEST, был расположен в машине, на заднем сиденье. Почему не на улице, спросите Вы? Потому что страшно, что свиснут 😁, настолько далеко приходится идти от машины и пульта, но об этом позже.
Я со стендом удалялся в сторону лобового стекла по прямой дороге в поле, прямая видимость машины при этом была всегда.
Антенны были по очереди установлены в один и тот же разъем приемника, второй разъем был свободным.
Результаты тестирования трех антенн:

№1. Абсолютно новая стоковая антенна 40 см, длинна зачищенного уса 33 мм, показала максимальную дальность, при которой связь полностью прекращалась, примерно на расстоянии 100-110 шагов. Точнее замерить сложно, т.к. держа приемник на уровне лица, связи нет, но стоит его немного приподнять, или просто немного повернуть, появляется.

№2. Коаксиальный диполь: трубка 26 мм, ус 29,2 мм, в термоусадке, rcopen.com/forum/f4/topic186091/1441 пост 1444, показали дальность 170-180 шагов.

№3. Вновь изготовленный аналогичный коаксиальный диполь, трубка диаметром 2,5 мм, длинной 26 мм, первоначальная длинна уса 35 мм, на первоначальной длине показал дальность около 140 шагов, в процессе подрезания уса по миллиметру, до 27 мм, дальность постепенно возрастала и зафиксировалась на максимуме в районе 190-200 шагов, при длине уса 28-29 мм.
Если считать по формулам длину четвертьволнового вибратора, то как раз и получается, что при ширине диапазона 80 Мгц длина изменяется на 0,9 мм, т.е подставляя в формулу частоту 2400 получам 29,6 мм, а на 2480 уже 28,7.

Меньше 27 мм резать не стал, т.к. уже при длине 27 мм дальность стала заметно уменьшатся.
Субъективно, при длине вибратора 28 , и особенно 27 мм надевание на него термоусадочной трубки немного улучшало прием, т.к. термоусадка понижает частоту резонанса антенны. Очень ярко выраженного максимума на какой-то определенной длине выявить не удалось, слепни зажрали 😉, а также видимо из-за того, что аппаратура не использует какую-то одну частоту, а все время прыгает по каналам в пределах 2400-2480 МГц. Особенность работы этой аппы – на пределе дальности проскакивают FS, но через секунду связь восстанавливается, видимо приемник, перескочив на другой канал, то ли уходил от помехи, то ли на этом канале лучше работали антенны.
В общем, использование коаксиальных диполей на приеме увеличивает дальность нормальной работы аппаратуры практически в 2 раза, что подтверждается и летными испытаниями. Ранее заявленные мной трехкратное увеличение дальности субъективно и связано с эйфорией от удачного апгрейда приемника, а также с тем, что при первоначальных полетах, словив одиночный FS, пугался и поворачивал назад, а набрав опыт, вывел показания RSSI на телеметрию, меньше стал обращать внимание на кратковременные пропадания связи.
Резюме: длина зачищенного уса коаксиального диполя не особо критична, и может лежать в пределах 28-29 мм с учетом использования термоусадки, трубка диаметром 2,5 мм длинной 26 мм.

Adekamer

2 PARSEK: Александр, буду Вам благодарен, если произведете еше вот такой моддинг:
adekamer.webs.com/tech.htm#frsky
и также проведете тестирование…

PARSEK

Запланирую это на следующую неделю. Когда делал диполь для обрезания, специально откусил кусочек коаксиала 10 см от одной из новых антенн 40 см, чтобы в последствии повторить Ваши резонаторы . Я думаю, нужно будет немного изменить условия - проверять на самолете в сборе, с видеопередатчиком и без, желательно в том-же месте.