Baychi OpenLRS - дружелюбная ЛРС с широкими возможностями )

AlexSneg
baychi:

Я так понимаю не с Экспертовским протоколм

Нет конечно, я под себя протокол делал. Но это вопрос прошивки, не более. И rfm22 вариант никак не будет работать с RFM69 в принципе.

baychi:

С AFC разобрались?

В принципе да. Есть нюансы, но это уже рабочие моменты. Дело в том, что там разные настройки входного фильтра при поиске преамбулы в режиме AFC и в режиме приема полезной нагрузки. И тут уж либо преамбулу искать с зауженным фильтром до предела и получить с/ш лучше, либо искать в режиме AFC но тогда избирательность теряем и с/ш на поиске преамбулы ухудшаем. Сейчас у меня сделана автоматическая подгонка кварцев и периодическая компенсация. А если уже большое расстояние до приемника, тогда AFC полностью отключается и работаем на найденных компенсациях, но с максимальной избирательностью.

baychi:

Даже паять эти 0402 трудно, а искать косяки - еще веселей

Согласен, перспектива повторения такого девайса на рассыпухе для 99% аудитории близка к нулю. Нужен готовый модуль с цифровыми сигналами.

Shuricus

Никто меня не спрашивал, но я как единственный тут нуб на фоне злых электронщиков (в хорошем смысле конечно), считаю что нужно делать вариант по принципу впаивания только готовых модулей в “материнскую плату”. Тогда можно заказать этих платок у китайцов на всех желающих, как вон немцы сделали свой первый контроллер подвеса. Либо сразу готовых, либо только без модуля. Получится дешево и всем легко собирать.
Я готов заниматься оргвопросами и переговорами с китайцами.

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

Gapey

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

ССМ=
AlexSneg:

RFM69 у меня уже есть в рабочем

Alex, не ты ли их в чип нн все выгреб:) на 20дбм

baychi:

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

Наверно и с RFM22 тоже возможен такой разброс из разных партий.

baychi
AlexSneg:

rfm22 вариант никак не будет работать с RFM69 в принципе.

Если можно, объяснте детали? Потому как я не теперь не понимаю RFM…

AlexSneg:

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

Тонко сие, и неочевидно с первого взгляда.

Gapey:

там всего 2 слоя

Как правило 4-6.

Gapey:

ненамного больше получится …

И труднопредсказуемо…

Gapey:

китайцев можно ничего не размещать

Китайцы - вынужденное зло. И надеюсь, что временное.

AlexSneg
ССМ=:

Alex, не ты ли их в чип нн все выгреб

Нет, но я им письма писал, чтобы привезли. И вот привезли, но сейчас кончились. Еще привезут, не беспокойся.

baychi:

Если можно, объяснте детали?

Там другой порядок следования header, length, syncword. CRC считается по другому. Формулы расчета несущих частот разные.

baychi:

Тонко сие, и неочевидно с первого взгляда.

В РФМ22 один входной фильтр и баста. А в 69й два режима. Первый фильтр на период поиска несущей, второй на период считывания полезных данных - это обеспечивается аппаратно. На узком фильтре AFC не работает нормально, думаю это и так понятно. Поэтому на дальнем расстоянии, если вы расширяете фильтр для поиска преамбулы и срабатывания AFC то соответственно теряете в избирательности и повышаете шансы совсем несущую не увидеть. А если держать фильтр узким, то нормально принимаете тот же пакет.

В любом случае это все детали. Базовый вариант кода работы с 69й у меня есть. Если будет проект с учетом моих минимальных хотелок по нескольким выходным пинам, то я в теме. И даже более того, могу собрать несколько комплектов харда приемник+передатчик для основных девелоперов. В чип-нн все запчасти есть для этого дела.

baychi
AlexSneg:

Там другой порядок следования header, length, syncword.

Нам нужна только Syncword, ну и преамбула перед само-собой.

AlexSneg:

CRC считается по другому

Странно сие. И там и там даташит упоминает CCITT: то есть полином X16 + X12 + X5 + 1.
В чем разница то? Ну в крайнем случае можно CRC и самим посчитать.

AlexSneg:

Формулы расчета несущих частот разные.

Неужели нельзя сделать шаг прыжков в 60 кГц с началом на 433.075 МГц?

Вы же понимаете, Алексей, что несовместимый протокол малоинтересен. Передатчики на удобной RFM23BP есть уже у многих и менять их не разумно. А вот сделать совместимый приемник с лучшей избирательностью - актуально. И пока я не верю, что это нереализуемо на RFM69. 😃

AlexSneg:

И даже более того, могу собрать несколько комплектов харда приемник+передатчик для основных девелоперов.

C STM-кой в качестве проца? Я бы поигрался…
Жаль, что не Мега конечно, очередную архитектуру лень изучать, но учитывая сколько разных процов я за 30 лет познал, как полиглот какой. 😃

AlexSneg
baychi:

В чем разница то? Ну в крайнем случае можно CRC и самим посчитать.

Без header нельзя. Я ж говорю, там длина между header и sync словом. RFM22 не считает length в CRC, а 69-я syncword туда лепит.

baychi:

Ну в крайнем случае можно CRC и самим посчитать.

Это не вариант. Слишком мутно, если поразмыслить, то надо очень много нюансов учитывать.

baychi:

И пока я не верю, что это нереализуемо на RFM69

Я уже пробовал подружить 22ю и 69ю. За 2 недели у меня это не получилось.

baychi:

C STM-кой в качестве проца? Я бы поигрался…

Если хотите могу отправить почтой через пару дней готовый вариант приемника с установленной 69й и STM32F100C8 в качестве проца. 3 входных АЦП с делителями и 10 PWM выходных аппаратных. CH0 и CH1 это совмещенные UARTы TX/RX аппаратные. SWD дебаг выведен 6-и пиновым шлейфом. Питание от 5В до 13В. Дебаггер ST-LINK у вас есть? Discovery найдете в Москве?

Вот фото, того что могу прислать.
mozgolet-navigator.narod.ru/…/rcv3_top.jpg

baychi:

Вы же понимаете, Алексей, что несовместимый протокол малоинтересен.

Я и не собираюсь проталкивать свой протокол. Пусть он будет портированный экспертовский, или Ваш. Мне все равно. О софте совместимом с данной схемотехникой и со своим АП я позабочусь сам. Я готов предоставить схемотехнику, развести платы, заказать их, сделать прототипы, дать код по работе с 69й, чтобы было проще всем остальным девелоперам. Мой интерес здесь в том, чтобы железо было совместимо с моим проектом. Для совместимости хочу пролоббировать 😃 следующие 2 фичи:

  1. наличие UART TX/RX, VCC, GND, RESET, BOOT0 на отдельном разъеме. Они же нужны и обычным пользователям для прошивки через UART адаптер
  2. 3 входных АЦП для подключения датчиков тока и ВС.
  3. Процессор STM32
  4. RF69HW

Передатчик я бы тоже перекинул на RFM69 + STM32, но это как бы в том случае, если Вам не удастся сделать вариант совмещения RFM23 -> RFM69.

baychi
AlexSneg:

Без header нельзя.

Почему? В даташите написано, что можно. Обязательные элементы только преамбула и хотя-бы одно syncword. И без байта длины и без адресных байт - можно прекрасно обойтись. www.hoperf.com/upload/rf/RFM69HW-V1.3.pdf

AlexSneg:

RFM22 не считает length в CRC, а 69-я syncword туда лепит.

Если нет байта длины, а в этом протоколе - нет, то и CRC его не учтет.
Точно так-же можно отказаться от аппаратного CRC и считать его самому.

AlexSneg:

Это не вариант. Слишком мутно, если поразмыслить, то надо очень много нюансов учитывать.

Почему? Абсолютно стандартный алгоритм, известный всему миру. 😃 Программные затраты на вычисление CRC16 при наших скоростях - ничтожны.

AlexSneg:

Если хотите могу отправить почтой через пару дней готовый вариант приемника с установленной 69й и STM32F100C8 в качестве проца. 3 входных АЦП с делителями и 10 PWM выходных аппаратных. CH0 и CH1 это совмещенные UARTы TX/RX аппаратные. SWD дебаг выведен 6-и пиновым шлейфом. Питание от 5В до 13В. Дебаггер ST-LINK у вас есть? Discovery найдете в Москве?

Давайте, попробую. Если не выйдет подружить 69 с 23, обещаю вернуть приемник обратно. А если получится - будем думать об окончательной схеме и тиражировании.

AlexSneg:

Для совместимости хочу пролоббировать следующие 2 фичи: 1) наличие UART TX/RX, VCC, GND, RESET, BOOT0 на отдельном разъеме. Они же нужны и обычным пользователям для прошивки через UART адаптер

Это само собой. Я бы даже 2 UARTa вывел, коль они там есть…

AlexSneg:
  1. 3 входных АЦП для подключения датчиков тока и ВС.

ИМХО можно будет потом сделать “большой” вариант (со множеством контактов) и “компакт-саттелит”: один PPM/SBUS выход+ UART.

AlexSneg:
  1. Процессор STM32

Ну это понятно. На новых изделиях AVRки уже неретабельны. Эх, жаль EEPROM уходит. Настройки и статистику придется во FLASH размазывать. 😦

AlexSneg:
  1. RF69HW

Само собой.

AlexSneg
baychi:

Если нет байта длины, а в этом протоколе - нет, то нет и CRC его не учтет.

Ну для меня пакет постоянной длины - не вариант. поэтому даже не пробовал. Попробуйте, может сработает.

baychi:

Давайте, попробую. Если не выйдет подружить 69 с 23, обещаю вернуть приемник обратно

30 декабря, едет человек от нашей конторы в Мск. Я передам через него. С Вас встретить у поезда и забрать. Остальное давайте в личке обговорим ближе к делу.

baychi:

Я бы даже 2 UARTa вывел

Там уже два выведено на разъеме. Я же говорю, это почти финальный вариант харда, уже рабочий.
И I2C и SPI также присутствует на гребенке. Это не Мега, там функции контактов программно переключаются.
Единственное - нет аппаратного инвертора сейчас. Но, если дело пойдет, учтем это в следующей ревизии харда. Поставим XOR вентиль за 1,5руб и дело в шляпе.

baychi:

Эх, жаль EEPROM уходит

Сейчас нет флешки. Но опять же в ревизии харда можно отдельную прикрутить. На данный момент для хранения настроек я пользуюсь последней страницей флешки самой СТМки. Весь код я дам.

Вам какой вариант тройной гребенки запаять? Вверх штырьками или угловой, как на фото? Фидер RG178 + SMA-F разъем оставить на фидере или снять?

baychi
AlexSneg:

Единственное - нет аппаратного инвертора сейчас.

Нет и ненадо. Есть куча вариантов обхода.

AlexSneg:

Сейчас нет флешки. Но опять же в ревизии харда можно отдельную прикрутить. На данный момент для хранения настроек я пользуюсь последней страницей флешки самой СТМки.

Зачем умножать сущности? Внутренняя FLASHка - вполне достаточна. ДАже если 3/4 половину из 64 кБ занять программой, на настройки и статистику, будет в 8 раз больше, чем в Меге. 😃

AlexSneg:

Вам какой вариант тройной гребенки запаять? Вверх штырьками или угловой, как на фото?

Угловой удобнее.

AlexSneg:

Фидер RG178 + SMA-F разъем оставить на фидере или снять?

Лучше снимите. Для экспериментов мне и проводка хватит. 😃

AlexSneg:

едет человек от нашей конторы в Мск. Я передам через него.

Хорошо, спасибо. Подробности - личкой.

AlexSneg
baychi:

Нет и ненадо. Есть куча вариантов обхода.

Умоляю, не надо обходных маневров (разве что временных). Я верю, что вы это сможете. Давайте все же сразу закладываться на то, что все найденные косяки по харду мы исправим после ваших экспериментов.

baychi
AlexSneg:

Умоляю, не надо обходных маневров (разве что временных).

Без обходных маневров в нашем деле нельзя, c RFM69 по любому придется воевать. Для меня лишний инвертор - позор программиста. 😃

okan_vitaliy

Раз уж зацепился за данный девайс - Baychi OpenLRS, спрошу здесь. Привинтил я девайс к турниге. В турнигу дополнительно вмонтировал монитор и приемник видео на 900 мгц. По раздельности все работает как часики, а вот одновременно не хотять. Передатчик LRS забивает нахрен приемник видео сигнала. Передатчик видео на коптере 800мвт. Пробовал все 4 канала, та же самая ерунда. Видеопередатчик работает на 100 процентов по своей мощности. Отключил rfm23 и подключил si4432. Практически те же яйца, только чуть меньше приемыш забивает. Отсюда вопрос- у кого нибудь LRS на 433мгц нормально работает в связке с видео на 900 мгц.Заранее благодарю за ответы.

Shuricus

У меня работает отлично с 1.2 китайским приемником на 15 каналов. Там нижние каналы 900 цепляют, по моему.
С аналогичным приемником на 8 каналов - дикие помехи, особенно при небольшом разносе.

okan_vitaliy
Shuricus:

С аналогичным приемником на 8 каналов - дикие помехи, особенно при небольшом разносе.

В том то и дело , что разнос антенн сантиметров 15 от силы. Причем пробовал вместо передатчика LRS использовать 3dradio. Та же самая фигня получается. Выход либо приемник разносить, либо покрасить его и выкинуть и ждать когда 15 канальный приедет. Будет просто обидно, если и он на маленьком расстоянии будет так работать.

baychi
okan_vitaliy:

что разнос антенн сантиметров 15 от силы.

Варварство это, Виталий. 😃 На таком расстоянии от 1 Вт любой приемник будет страдать, как минимуум потерей чувствительности.
Тем более 433 и 900 МГц - это почти 2-я гармоника. У меня 5.8 ГГц в очках начинает чувствовать 1 Вт передатчика на пузе. Поэтому стараюсь летать на 100-200 мВт или с ретранслятором.
Но если хотите помучаться - попробуйте следующие приемы:

  1. Используйте антенные фильтры, на передатчике отсекающие частоты выше 450 МГц, на приемнике - ниже 800 МГц. Хоть они и недешевы
  2. Оденьте ферритовую муфту на кабель к передатчику.
okan_vitaliy:

Выход либо приемник разносить

Это лучшее решение.

okan_vitaliy

У меня данное решение работало с родным передатчиком турниги. Все работало хорошо, за исключением того, что передатчик на коптере забивал приемыш турниги. Чуть не упал из-за этого. Решил перейти на LRS. Теперь проблема вылезла в аппе. Есть вариант использовать LRS в качестве ретранслятора. Я думаю на расстоянии 2-3 метров должно нормально работать. А передатчик для ретрансляции использовать турниговский. Жаль, что он 8 канальный. Я уже губу раскатал использовать в турниге 16 каналов. Хотя можно выкинуть турниговские приемыш и передатчик и на cc2500 собрать маломощный скоростной мост между аппой и LRS. Тогда проблему с многоканальностью можно будет решить.

9 days later
ССМ=

Всех с праздником!!!
Спустя 75дней пришли наконец то одноватные модули РФМ23. Пока они блуждали по просторам китайско-российской почты, юзал пару приемников с ХК, один перешитый под передатчик(100мВт). Работает все хорошо, хоть на морозе или в тепле, температурная конпенсация отрабатывает четко.
Сейчас собрал на 1вт по схемме хавка, тут и начились проблеммы.
В меню заходит без проблем, все настраивается. При старте в меню видны постоянные попытки старта, но не стартует. После какого то времени передатчик нагрелся и запустился все таки, но с приемником связи нет ( в меню все правильно выставленно!).
Вспомнил обсуждение в этой ветке про ножки GPIO_0 - ТХ GPIO_1 - RX, у меня были так 4-7 и 3-6. Решил поробывать 4-6 и 3-7 и сразу появилась связь с приемником, но мощность не более 10мВт и на переключение мощности почти не реагирует. РФМ-ка стала греться в режиме меню. Т.е. ситуация повторилась как у okan_vitaliy

плохо излучает, практически не излучает. При переходе в режим меню - передатчик перестает работать , но транзистор выходной продолжает греться и ток потребления модуля доходит до 150 ма. Это ведь не нормально. Причем на обеих модулях присутствует такая вавка. Даже если ставлю минимальную мощность и транзистор при режиме передачи не греется, то в режиме меню, когда передатчик ничего не передает, то транзюк начинает греться.

Вернул снова на 3-6 и 4-7 и связи опять нет.
Передатчик подключен через S.Bus.
Эксперементы проводились на работе при температуре не выше15гр.
Притащил все это домой, в тепле более менее передатчик стал стартовать. Пробывал отключать темп. ком-цию и менять 3-255 , 3-1. Никак не получается подобрать коэф. поправки, вроде подберешь связь есть, при по сл. включении опять связи , приходится опять менять коэф.в втором регистре. В общем очень чувствителен к температуре как я понял.
И еще допустим на маленькой мощности (20-0) связь с приемником есть, а при переключении на среднюю (21-1) уже начинаются на приемнике потери пакетов(в меню появляются строки с CRC!). При переключении на мощность (22-2) передатчик вырубается и опять происходят безуспешные попытки старта пока не вкл. мин. мощность.
Провала напряжения не заметил ,на Рфм- ке 5в , на меге стабильно 3,3в.
Монтаж схеммы перепроверил несколько раз.
Завтра попробую запаяю вторую РФМ ку.

baychi
ССМ=:

Монтаж схеммы перепроверил несколько раз.

Ножка SDN RFMки куда подключена? Если висит в воздухе - с замерзанием именно так и будет. Нужно посадить на землю или 13-ю ногу Меги.

ССМ=:

И еще допустим на маленькой мощности (20-0) связь с приемником есть, а при переключении на среднюю (21-1) уже начинаются на приемнике потери пакетов(в меню появляются строки с CRC!). При переключении на мощность (22-2) передатчик вырубается и опять происходят безуспешные попытки старта пока не вкл. мин. мощность.

А это признак наводок от RFMки на Мегу. Там все не просто. Очень важна запитка: в какой точке, от какого источника. Важно расположение модулей друг относительно друга, корпус, антенна и еще много чего…
Простоя замена RFM22B на RFM23BP не у всех сразу получается. Все-таки 1 Вт СВЧ не 100 мВт…

ССМ=
baychi:

Очень важна запитка: в какой точке, от какого источника.

С питанием попробывал по всякому, мегу от одноного источника, модуль от другого. Не влияет.

baychi:

А это признак наводок от RFMки на Мегу. Там все не просто.

Все таки это наводки, даже на минимальной мощности.
Отпаял модуль и на проводочках отодвинул его на 4см подальше от палаты и все заработало как надо(CRC! исчезли). Эксперементирую дальше по температурному режиму.