OrangeRx Open LRS 433MHz TX Module

baychi
Deverex:

Прошил через FTDI-адаптер 3.3В прошивкой baychi OpenLRS. Через меню настроил себе номер для bind. Радиошум есть большой (многоквартирный дом), но хоть как-то сигнал ловит, хоть и в упор и плохо.

Покажите настройки передающей стороны (регистры в меню). И покажите шум командой ‘N’.
Покажите настройки приемника (регистры в меню) и его шум (команда N) при выключенном передатчике.

Deverex:

после каждого включения приходится делать bind, а вчера напоследок он и это делать отказался. Подключил через APM 2.5, в MissionPlaner есть калибровка RC аппы - та же картина (нагрузка с серв была ни при чем).

Фьюзы Мегам на приемнике и передатчике правили?
Что пишут модули при включении? Нет ли сообщений типа “FLASH Error” или “Settings error”?

Deverex:

крайние положения стиков приводят к прекращению приема команд и обнулению (именно на 0, на центр) сигнала. Судя по мерцанию светодиода на передатчике (такое у baychi) - отправка идет.

Включите отладку на передатчике (R6=3) и смотрите как меняются длительности импульсов при сбоях.

тигромух

РФМка учится новым, непредусмотренным функциям 😁

youtu.be/VzoroHISTfs

С DTMF пришлось повозиться. А вот сэмплированный голос как-то легко зашел. 😃
Осталось потестировать в боевых условиях.

RTemka
тигромух:

РФМка учится новым, непредусмотренным функциям 😁

С DTMF пришлось повозиться. А вот сэмплированный голос как-то легко зашел. 😃
Осталось потестировать в боевых условиях.

Я так понимаю научили таки выдавать DTMF +100500

baychi
тигромух:

А вот сэмплированный голос как-то легко зашел

Супермаяк близок к победе!
Все-таки сэмплы? Фонемный синтез отвергнут?
И как с GPS-ом, есть перехват NMEA?

тигромух:

С DTMF пришлось повозиться

Само собой. 😃 Какой оверсамплинг и паттерны в итоге выбрали?

тигромух
baychi:

Супермаяк близок к победе!
Все-таки сэмплы? Фонемный синтез отвергнут?
И как с GPS-ом, есть перехват NMEA?

Фонемный синтез оказался такой фонемный… В чистом канале, потренировавшись, можно что-то разобрать, но в шумах - без шансов.
Конечно, жалко флеша на сэмплы, но за качество надо платить.
Разбор NMEA оставил на сладкое, ибо предстоит эпичная битва за жизнь батарейки 😃

baychi:

Само собой. Какой оверсамплинг и паттерны в итоге выбрали?

Табличная синусоида 😉
На самом деле я долго провозился пытаясь сгенерить PWM программно (A1 не поддерживает аппаратный ШИМ), но потом кинул 9й пин на SDI, подсмотрел алгоритм в аппноутсах атмела и адаптировал под себя.
Сейчас думаю, что наверное это все зря и прокатила бы достаточно быстрая поочередная генерация обоих тонов DTMF-а. Но пусть уж будет по-правильному.

baychi
тигромух:

что наверное это все зря и прокатила бы достаточно быстрая поочередная генерация обоих тонов DTMF-а.

Проверяли? ИМХО не должно было прокатить - при переключении появлется 3-я частота самих переключений и еще 2 пары ее суммы и разности с каждым из тонов.

тигромух:

Табличная синусоида

Там две синусоиды. 😃

тигромух:

потом кинул 9й пин на SDI,

То есть в штаном Оранжде работать не будет?

тигромух:

пытаясь сгенерить PWM программно

Что-же помешало? Причие прерывания типа таймера или от самой RFMки не должны, по идее мешать…

Deverex
baychi:

Покажите настройки передающей стороны (регистры в меню). И покажите шум командой ‘N’.
Покажите настройки приемника (регистры в меню) и его шум (команда N) при выключенном передатчике.

baychi:

Включите отладку на передатчике (R6=3) и смотрите как меняются длительности импульсов при сбоях.

Прилагаю собранный лог с комментариями.
bind-log-2014-02-05.zip

baychi:

Фьюзы Мегам на приемнике и передатчике правили?
Что пишут модули при включении? Нет ли сообщений типа “FLASH Error” или “Settings error”?

До фьюзов пока не добрался и bootloader тоже не трогал. Мне еще не доехал AVRISP программатор.
Сообщений об ошибках не было. Единственные документированные ошибки - несколько CRCerr в приемнике в процессе получения пакетов, когда иногда работало.

Мне главное понять - это проблема железа или софта.

UPD: пока все это собирал понял, что выполнение bind сбрасывает идентификатор bind в случайный. Через консоль я возвращал значение регистра. Нужно еще поанализировать Ваши алгоритмы установки связи и синхронизации. Интересно, как они договариваются.

Deverex
baychi:

Включите отладку на передатчике (R6=3) и смотрите как меняются длительности импульсов при сбоях.

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

Передатчик


1417 1500 1487
1417 1498 1487
1418 1497 1485
1417 1498 1487
1417 1499 1487
1414 1508 1485
1285 1528 1485
1092 1545
Stop: T=55 Tc=-3 M=332 A=30
988 2008 1485
988 2008 1485
988 2008 1485
988
Stop: T=53 Tc=-3 M=332 A=30
997
PPM3 mode: T=53 Tc=-3 M=332 A=31
1266 1497 1487
1393 1496 1487
1501 1497 1487
1611 1498 1487

Приемник

R=219 S=6 C=5 A=255 Rn=63
R=211 S=6 C=6 A=255 Rn=42
R=224 S=6 C=7 A=255 Rn=57
$RL1 S=6 C=8 Rn=59
$RL2 S=6 C=1 Rn=51
$RL3 S=6 C=2 Rn=51
$RL4 S=6 C=3 Rn=46
$RL5 S=6 C=4 Rn=49
$RL6 S=6 C=5 Rn=63
$RL7 S=6 C=6 Rn=42
$RL8 S=6 C=7 Rn=55
$RL9 S=6 C=8 Rn=58
$RL10 S=6 C=1 Rn=52
$RL11 S=6 C=2 Rn=54
$RL12 S=6 C=3 Rn=47
$RL13 S=6 C=4 Rn=43
$RL14 S=6 C=5 Rn=63
$RL15 S=6 C=6 Rn=43
$RL16 S=6 C=7 Rn=48
$RL17 S=6 C=8 Rn=55
$RL18 S=6 C=1 Rn=50
to fs
$RL19 S=6 C=2 Rn=54
$RL20 S=6 C=3 Rn=44
baychi
Deverex:

собранный лог с комментариями.

Хм. Думал регистры обнуляться. Рекомендую сбросить в 0, регистры 3-6. На передатчике в регистрах 19-22 выставить адекватные пfраметры: номер канала переключения мощности и ее уровень (0-7). Если не надо управлять, поствьте 7-ки везде.

По сигналу на входе передатчика пишет PPM5 (первые 5 каналов) - что странно. Это стабильно?
На приемнике: номер бинда и каналов не совпадают с передатчиком.
Нужно делать так.

  1. Дать команду “rebind” или нажать кнопку на передатчике. Передатчик выберет случайны номер бинда и наименее шумные каналы.
  2. При включенном передатчике, дать команду “rebind”, или поставить перемычку RX-Tx, перед включением на премнике. Приемник автоматически настраивается на bind и номера каналов (приемник держать подальше от передатчика, чтоб не прегружался).
  3. Перевключть оба, убрав перемычки, и проверит остальные настройки…
Deverex:

Мне главное понять - это проблема железа или софта.

Пока на железо не грешим…

Deverex:

при срывах связи

Срывы связи скорее всего связаны с R4 передатчика не равным 0.
Почему он берет только 3-5 первых каналов, пока понять не могу…
Что- не так с входным PPM сигналом. Вы можете его изменить в настройках передатчика РУ?

тигромух
baychi:

роверяли? ИМХО не должно было прокатить - при переключении появлется 3-я частота самих переключений и еще 2 пары ее суммы и разности с каждым из тонов.

Нет, не проверял. Может и не прокатит, но проверить нетрудно 😃

baychi:

То есть в штаном Оранжде работать не будет?

Что-же помешало? Причие прерывания типа таймера или от самой RFMки не должны, по идее мешать…

В штатном оранже этот скетч работать не будет. Мне помешало слишком много неизвестных факторов, поэтому я постарался исключить хотя бы один 😃
Сейчас более-менее все понятно и в принципе, можно попробовать переписать все под софтовый PWM.

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

Нет, не проверял. Может и не прокатит, но проверить нетрудно

Проверил. Прокатило 😃
Ловит гораздо хуже, чем в “честном” варианте.
Пруфик:

while(true) {
  beacon_tone(1477,8000); //1477Hz
  beacon_tone(941,8000); // 941Hz
  if(++i%10==0) delay(500);
}
Hight

Вопрос: Чтобы было 1Вт вместо 600мВ, нужно просто RFM запитать от 5В? Т.е. обрезать дорожку и запитать откуда-то? (модуль пока не держал в руках)

Deverex
baychi:

Хм. Думал регистры обнуляться. Рекомендую сбросить в 0, регистры 3-6. На передатчике в регистрах 19-22

выставить адекватные пfраметры: номер канала переключения мощности и ее уровень (0-7). Если не надо управлять, поствьте 7-ки

везде.

На данный момент:
Полностью проверил настройки аппы (4ch, FrLen 20ms, без миксов), смазал поты, перекалибровал и через тренерский разъем запечатлел

PPM-сигнал:

Провел правильный rebind - эффекта не дало.
Установил TX R19-R22=0 - эффекта не дало.
Установил TX R4=0 (FS check enable) - исчезли потери связи(!)
При R4=1 на каждое крайнее положение любого стика был Stop:

Stop: T=37 Tc=-1 M=320 A=29
Stop: T=38 Tc=-1 M=320 A=29
PPM3 mode: T=38 Tc=-1 M=320 A=31
Stop: T=38 Tc=-1 M=320 A=29
PPM3 mode: T=38 Tc=-1 M=320 A=31
Stop: T=38 Tc=-1 M=320 A=29
PPM3 mode: T=38 Tc=-1 M=320 A=32
PPM3 mode: T=38 Tc=-1 M=320 A=31
Stop: T=38 Tc=-1 M=320 A=30
PPM3 mode: T=38 Tc=-1 M=320 A=31
1544 1497 1510

Теперь при R4=0 - только изредка выкидывает

PPM3 mode: T=38 Tc=-1 M=320 A=31

а так - все время бегут три цифры (хоть мне и кажется, что чисто теоретически их должно быть 4).
Данные калибровки APM 2.5:
CH1 900 | 2090
CH2 900 | 2092
CH3 905 | 2095
CH4 906 | 2096

Спасибо за совет! Буду дальше разбираться.

UPD: 6 каналов тоже пашут гладко.

baychi

Редкие строчки Mode связаны с изменением температуры, это нормально.
А вот 3 канала вместо 4-х или 6 - что-то не так.
У Вас в качестве передатчика модуль передатчика или приемника? Если приемник, как цепляете PPM сигнал: через диод или напрямую? Какое напряжение напряжение на ppm выходе РУ? (на картинке плохо видно).
И насколько стабильна ситуация с каналами? При каждом включении одинаковое кол-во кажет? И в процессе работы при неподвижных стиках, цифры сильно пляшут?

Deverex

Передатчик - именно передатчик (такой, в оранжевой коробке, с JR дырками на спине, вставляемый в гнездо аппы). Приемник - собственно OrangeRX Receiver. Скажем так - использую самую типовую и классическую схему применения оборудования.
PPM-сигнал снимал с тренерского JR-разъема на микрофонный вход компа, писал в Sound Forge. Уровень сигнала определить не могу, осциллографом не располагаю, а вольтметр не показывает нормально.
Цифры выводятся всегда для трех каналов. Может, у меня терминальная программа косячит, но если Вы задумали вывод с отсылкой сигнала возврата каретки и повторным выводом в терминале в одну строку - то всегда выводятся именно три цифры.
При неподвижных стиках - дребезг минимален и совпадает с дребезгом, наблюдаемым через меню Turnigy.
А в HEX есть возможность эти цифры выводить (чтобы с менюшкой турниги сравнить)?

baychi
Deverex:

Установил TX R4=0 (FS check enable) - исчезли потери связи(!)

Это понятно. R4 !=0 - режим для ретрансляторов, что-бы отрубать связь, когда хотя-бы один из сингналов выходит за предеделы 1000-2000 мкс, а у Вас:

Deverex:

CH1 900 | 2090

Deverex:

все время бегут три цифры (хоть мне и кажется, что чисто теоретически их должно быть 4).

Поясню логику. После первого удачного отлова каналов, программа подсчитывает и запоминает количество ненулевых (больше 880 мкс) импульсов. Именно это число и выводится в моде и именно столько длительностей отображается на экране. Хотя в протокол все равно пакуется 10-12 текущих каналов и если дальше кол-во отлавливаемых импульсов становится 4 или больше, они тоже передаются…

Deverex:

Установил TX R19-R22=0 - эффекта не дало

0 это минимальная мощность. В рабочем варианте лучше поставить макс. мощность (7-ки) или настроить переключение: R19 - номер канала переключателя, а остальные - уровень.

Deverex:

При неподвижных стиках - дребезг минимален и совпадает с дребезгом, наблюдаемым через меню Turnigy.

Это хорошо.

Deverex:

А в HEX есть возможность эти цифры выводить (чтобы с менюшкой турниги сравнить)?

Да. 3-й бит регистра 6 поставьте в 1-цу (R6=5).
Только это будут Футабовские hex-ы: Длительности протокола sbus в кодах от 000 до 7FF, где 0 = 880 мкс, 400 - 1520 мкс, 7FF = 2160 мкс.
Если надо просто перевести мкс в HEX, придется править программу: добавьте параметр ,HEX в вызов serial.print(, где они печатаются (в ppmsbus.ino, ближе к концу, после case 😇

Deverex:

UPD: 6 каналов тоже пашут гладко.

А сколько циферок кажет при 6-ти?

Ну а фактическое кол-во передаваемых канлов смотрите на выходах приемника.

PS: И лучше бы вопросы по моим прошивкам перенести в соотв. тему. 😃

Deverex
baychi:

А сколько циферок кажет при 6-ти?

Столько же.

baychi:

PS: И лучше бы вопросы по моим прошивкам перенести в соотв. тему.

ОК. Теперь хоть стало понятно с чем мне надо разбираться 😃

baychi:

Если надо просто перевести мкс в HEX, придется править программу: добавьте параметр ,HEX в вызов serial.print(, где они печатаются (в ppmsbus.ino, ближе к концу, после case 0

Займусь, отпишусь.

Makey

Пост удалил так как всё заработало. В файле config.h не указал тип платы 😌

9 days later
Meesha

подскажите где копать и что смотреть
имеем приемник оранж, хотим залить OpenLRSNG, успешно записываем загрузчик программатором USBasp, цепляем на паралельный порт, не хочет коннектиться ругается что нет ответа, все перепроверено, аналогичным образом были прошиты 2 передатчика и два приемника, програматоры менял толку нуль.
Но при этом прошивку baychi через USBasp из ардуины принял и зажег “красный” диод после заливки загрузчика мигал “зеленым”. Есть подозрение на брак, ибо кетай. что скажете? выкидывать ?

BAU
Meesha:

записываем загрузчик программатором USBasp

Если пишет, значит работает. Может UART конечно дохлый.
Залейте прошивку на прямую, программатором. Будет все сразу ясно.