где взять RSSI на приемнике HK-TR6A?

falke5

ну собственно все сходится, в приемниках flysky и turnigy применяется свой метод оценки качества приема, стандартная схема подключения через выделение среднего уровня будет малоэффективна. Сегодня посмотрю вечером что можно сделать, есть одна мысль.
А каким образом вообще происходит передача данных РУ на 2.4 аппах? Судя по всему пакеты идут постоянно и плотно (скорость передачи данных, ака реакция, важна поэтому нет смысла делать паузы после пакета), поэтому задача измерять что то в момент приема не стоит, момент приема это постоянный режим аппы, он в ней всегда. Поправьте если не прав.

baychi
falke5:

каким образом вообще происходит передача данных РУ на 2.4 аппах?

Везде по разному. Где-то гонятся пакеты на одной или 2-х фиксированных частотах, с использованием только DSS - размазыванием спектра бит с помощью определенной кодовой последовательности с заданной автокорелляционной функцией. Где-то еще добавляются прыжки по 8 - 100 каналам. Там где прыгают, скважность (отношение длит. передачи пакета, к паузе), может достигать 1 к 3 и более, например, в той-же Футабе (длит передачи ок 2 мс, длительность паузы - 5.5 мс).

falke5

спасибо за ликбез

baychi:

Где-то еще добавляются прыжки по 8 - 100 каналам. Там где прыгают, скважность

А каким образом приемник узнает куда “прыгнуть”?

LDmitriy
falke5:

спасибо за ликбез

А каким образом приемник узнает куда “прыгнуть”?

подозреваю, что приемник нюхает весь эфир, а по коду, высланном в конце предыдущего пакета, понимает, какая информация предназначена ему

baychi
falke5:

каким образом приемник узнает куда “прыгнуть”?

LDmitriy:

подозреваю, что приемник нюхает весь эфир, а по коду, высланном в конце предыдущего пакета, понимает, какая информация предназначена ему

В Футабе номер следующего канала вычисляется из текущего и ID передатчика - поэтому псевдослучайная последовательность прыжков уникальна, но устроенна так, что с периодом в 72 прыжка перебираются все номера каналов.
Пока нет связи, приемник сканирует преамбулу на одном или нескольких каналов (поэтому вход в связь занимает до неск. секунд). А после поимки первого целого пакета, последовательность прыжков становится вычислимой и пропажа одного или нескольких пакетов подряд ничего не меняет. И только при потрери связи на несколько десятков секунд, когда рассинхронизация частот кварцев делает невозможным точное вычисление след. канала, восстановление связи вновь становинтся долгим процессом.

falke5

В общем докладываю, чип A7105 используемый в приемниках FlySky, Turnigy и прочих клонах, является полноценным монокристальным трансивером на 2.4 ГГц.
В этой связи в режиме приема он находится перманентно, в свою очередь измерение RSSI производится в нем автоматически как раз в момент переключения трансивера на прием, поэтому сигнал носит такую забавную форму. Смотрим скрин с осциллографа выше, начало импульса трансивер в режиме передачи. Далее средняя ступенька, трансивер перешел в режим приема, уровень ступеньки является абсолютным минимумом сигнала RSSI. Далее собственно сам уровень RSSI, обведено красным.
Почему присутствует ступенька в середине честно говоря я не пойму, но в целом и не важно. В целом данный сигнал как раз и есть сырой сигнал который используется приемником для измерения RSSI, что бы там ни говорили, просто приемник “знает” когда нужно его измерять, а мы нет 😃.
Теперь посмотрим как получить из этого нормальный уровень RSSI для OSD.
Вариант 1(по уму)
“Узнать” когда трансивер находится в режиме приема и скоммутировать сигнал с вывода RSSI на измерительное устройство (либо на услилитель) и дать команду измерить. Узнать состояние можно по выводам GIO, по одному из них читаются данные принятые трансивером (или пишутся передаваемые, в зависимости от режима) а второй используется для индикации состояния прием-передача (согласно даташита). По осциллографу на нем присутствует синхронный с сигналом RSSI меандр.
В идеале было бы завести этот сигнал прямо на OSD в качестве источника прерываний для считывания RSSI, либо можно собрать прямо в приемнике вычитающую схему. Решение сложное хотя и красивое.
Вариант 2 (что бы работало)

Берем операционник, я использовал lm358, включаем его по даташиту, резистор обратной связи ставим что бы получить Ку примерно 5-6.
Подаем сигнал с выхода RSSI приемника на инвертирующий вход, на выходе получаем усиленный сигнал см. скрин с осциллографа выше, только у нас он будет перевернут вверх ногами (вход то инверсный). Не задействованный прямой вход ОУ подключаем к делителю на переменном резисторе. Крутим резистор смещая рабочую зону ОУ пока она не отрежет не нужный нам горбыль в начале до уровня 2й ступеньки. На выходе получаем импульсный сигнал RSSI, чем выше амплитуда тем лучше сигнал. Максимум где то 3.2 в, минимум 1.2 в (дальше отвал приемника).
Недостаток схемы, при отвале приемника на выходе появляется пульсация амплитудой до 1в (это пробиваются редкие импульсы при попытке приемника поймать сигнал). В данном режиме это скорее фича, если использовать графический индикатор, то полный отвал приемника будет вызывать редкое мигание самой первой полоски. Как отрубить пока не придумал.
Диод на выходе нужен для умножения напряжения, импульсы RSSI идут со скважностью 2, без диода при амплитуде импульсов 3в, максимальная амплитуда сигнала RSSI будет 1.5в, с диодом максимум в районе 3.2в. Больше из lm 358 не выжать, можно попробовать заменить ОУ на какой нибудь с низким падением напряжения.
Принимается справедливая критика. Номиналы будут чуть позже, ибо пока все на макетке. Качество измерения отличное.

LDmitriy

то есть, вот эту схему с операционником просто привязываем к первой ноге кристалла и на выходе можно давать пищу для ОСД?

Максим, вопрос для Вас знакомый и, возможно, тоже нужный. Е-OSD показывает заряд двух батарей. возможно ли усилить сигнал на выходе из операционника до 12В (максимум приема) и скормить его вводу на вторичную батарею системы? или эта оэсдэшка сможет мне показать цифры от 1 до 3В?

YureZzZ
LDmitriy:

то есть, вот эту схему с операционником просто привязываем к первой ноге кристалла и на выходе можно давать пищу для ОСД?

Если Максим выложит номиналы то да!

LDmitriy:

или эта оэсдэшка сможет мне показать цифры от 1 до 3В?

С прошивкой CL-OSD ничего усиливать не надо - итак покажет.

falke5
LDmitriy:

или эта оэсдэшка сможет мне показать цифры от 1 до 3В?

OSD показывает то что ей поступает после делителя, делитель там 5.6 на 1 kOm, схема есть, меняйте их как хотите. Стандартный вход меги до 5в понимает без делителя, дальше уже делаем как надо

falke5


упростил схему убрав второй каскад и подобрал номиналы, в принципе повторяемость 100% должна быть.
С1 в районе 10-20мФ, на любителя
переменный резистор можно заменить двумя постоянными 560 Ом на землю, 47кОм на +5 в

YureZzZ
falke5:

переменный резистор можно заменить двумя постоянными 560 Ом на землю, 47кОм на +5 в

То есть получится так: земля—[560]—[560]–*–[47к]-- +5V ? Звездой обозначил отвод на (+) вход ОУ.

falke5

именно

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

LDmitriy

хех… и все же, будучи нубом в электронике, спрошу: VCC - это что? куда его девать? и какой диапазон подстроечника должен быть?

falke5

VCC в данном случае +5В.
Поскольку операционник работает не совсем в режиме? номиналы только для LM358. Для другого ОУ придется подбирать R1 R4
Подстроечник можно заменить на любой другой 1-5кОм, в плечо которое идет на +5 (VCC) просто нужно будет воткнуть резистор порядка 30кОм

LDmitriy

вот теперь ОГРОМНОЕ СПАСИБО! побежал я в магазин за детальками 😃

емкость С1 чему равна в схеме?

LDmitriy

что-то на меня в магазине косо посмотрели… .22 мкФ или 22мФ? на всякий раз взял оба, но лучше лишний раз переспросить…

falke5

микро…
такие дурацкие номиналы обусловлены тем что для макеток у меня используется элементная база старого “совка” доставшаяся мне по случаю, современные номиналы немного отличаются, но макетировать чип резисторами занятие безидейное

LDmitriy

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

falke5

мало информации, если на входах ОУ есть напряжения то на выходе в одной из крайних точек резистора будет сигнал, ищите ошибку, чем измеряете напряжение?