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

leesicin

Полетал в выходные , поснимал статистику приёма. Передатчик HAwkeye , приёмник Chiplrs - антенны: на передатчике - Rmilec, на приёмнике СОСИСКА с ХК!!!

Rg=Val Comments ----------------------- V2 F13
1=3 Bind N
2=201 Freq Corr
3=0 Servo 150% strech num (1-12)
4=1 Statistics enable
5=2 11bit/10ch (1=yes, 2/3=Futaba)
6=0 Discrete outputs mask
7=2 1 output mode: PWM/PPM/SBUS = 0/1/2
8=0 Packet lost sound output (0=off, 1,2,7)
11=109 Hop F1
12=216 Hop F2
13=9 Hop F3
14=135 Hop F4
15=57 Hop F5
16=165 Hop F6
17=74 Hop F7
18=187 Hop F8
19=78 Beacon F (255=disable)
20=4 Beacon Pmax (mWt): 0-1.2; 1-2; 2-3; 3-6; 4-12; 5-25; 6-50; 7-100
24=30 Beacon start time (sec)
25=70 SAW Fmin
26=245 SAW Fmax
28=2 PPM/SBUS mode 1st PWM chnl (1-8) [2]
40=45 RSSI type: sound(0)/level(1-99=average)
41=0 RSSI mode: level(0)/SN ratio(1)
42=0 RSSI over PWM(chan:1-12) 0-not use
Type Reg and press ENTER, type Value and press ENTER (q=Quit; ss/sl/sr/sa=Stat)
sa
Last statisics:(88-1024) form 894
FN cnt FSn InFS Drops:1 2 3 4 5 6 7 8 RSSI:1 2 3 4 5 6 7 8 Noise:1 2 3 4 5 6 7 8

Взлёт на расстоянии 15 метров от Передатчика (рядом с передатчиком RSSI =198, мощность передачи 100мВт!)

25 \ 2 0 0\ 0 0 1 0 1 1 0 2 \ 146 142 146 145 147 143 146 143 \ 33 29 36 35 31 31 26 33
25 \ 3 0 0\ 0 0 0 0 0 0 0 0 \ 108 102 110 107 111 105 110 104 \ 26 34 37 28 30 33 32 32
25 \ 4 0 0 \ 1 0 3 1 0 1 0 0 \ 118 113 114 118 115 116 117 114 \ 25 27 40 25 33 25 29 25
25\ 5 0 0 \0 0 0 0 0 0 0 0 \ 111 107 110 111 109 110 108 109 23 \ 22 39 23 31 21 23 21
25 \ 6 0 0\ 0 1 1 0 1 0 0 0 \ 104 98 105 104 105 100 106 101 \ 32 27 39 32 30 28 27 30
Расстояние до коптера 500 метров (+_50 метров) высота 25-30 метров
25 \ 7 0 0\ 0 0 0 0 0 0 0 0 \ 114 111 111 113 114 112 114 111 \ 23 23 35 25 25 26 23 29
25\ 8 0 0 \ 0 0 0 0 0 0 0 1 \ 117 114 111 116 116 115 116 114 \ 23 20 35 26 25 21 20 23
25 \ 9 0 0\ 0 0 0 0 0 0 1 0 \ 117 114 110 117 116 116 116 115 \ 25 20 36 25 26 21 20 22
25 \ 10 0 0\ 0 0 0 0 0 0 0 0 \ 117 113 110 116 116 115 115 114 \ 25 19 36 23 26 19 19 20
25 \ 11 0 0\ 0 0 0 0 0 0 0 0 \116 112 110 115 115 113 115 112 \ 20 21 35 20 26 19 21 19
25 \ 12 0 0 \ 0 0 1 0 0 0 0 0 \ 158 153 159 157 159 156 160 154 \ 25 24 37 24 30 23 23 23
на расстоянии метров 150-200 RSSI упал до 104-114 😦

соотношение Сигнал-Шум
25\ 3 0 0 \ 0 0 0 0 0 0 0 0 \ 82 68 73 79 81 72 78 72
25 \ 4 0 0 \ 0 0 1 0 0 0 0 0 \ 93 86 74 93 82 91 88 89
25\ 5 0 0 \ 0 0 0 0 0 0 0 0 \ 88 85 71 88 78 89 85 88
25 \ 6 0 0 \ 0 0 0 0 0 0 0 0 \ 72 71 66 72 75 72 79 71 Здесь по логике должны валиться дропы (или я ошибаюсь)?
25 \ 7 0 0 \ 0 0 0 0 0 0 0 0 \ 91 88 76 88 89 86 91 82
25 \ 8 0 0 \ 0 0 0 0 0 0 0 0 \ 94 94 76 90 91 94 96 91
25 \ 9 0 0 \ 0 0 0 0 0 0 0 0 \ 92 94 74 92 90 95 96 93
25 \ 10 0 0 \ 0 0 0 0 0 0 0 0 \ 92 94 74 93 90 96 96 94
25 \11 0 0 \ 0 0 0 0 0 0 0 0 \ 96 91 75 95 89 94 94 93
25 \ 12 0 0 \ 0 0 0 0 0 0 0 0 \ 133 129 122 133 129 133 137 131

В конце концов жёстко посадил коптер и сломал крепление мотора 😃

Делать нечего решил по тестировать на земле.
Прикрутил другую сосиску (тоже с ХК).
Приёмник и передатчик на расстоянии 2 метров .
19 \1 0 0 \ 1 0 0 0 0 0 0 0 \ 218 213 217 217 218 216 218 215 \ 29 29 27 29 28 29 28 29
19\ 2 0 0\ 0 0 0 1 0 0 0 0 \ 218 214 218 218 218 216 218 216 \ 28 28 26 28 27 29 27 28
RSSI уже 218 (на первой сосиске было 198-200).

Тестим дальше
Приёмник на дереве на высоте 2 метра, передатчик в руках, видимость прямая до 500 метров, потом поворот дороги и кусты высотой 2-3 метра (сосиска таже 218, мощность 100мВт). Приёмник без борта, только батарея и БЕК

14 \ 1 0 0 \ 17 17 16 17 16 16 16 16 \ 138 134 140 137 140 136 139 135 \19 19 20 19 19 19 19 19
14\2 0 0 \ 0 0 0 1 0 1 0 0 \ 85 79 88 85 87 83 86 82 \ 19 18 19 19 19 19 19 19
14 \ 3 0 0 \ 0 14 6 2 2 12 3 26 \ 60 58 64 59 63 60 62 60 \ 19 18 19 18 19 19 18 19 (начал терять пакеты)
14\ 4 0 0 \ 21 23 12 23 19 28 17 34 \ 57 49 60 53 59 52 59 50 \ 19 18 19 18 19 19 19 19 (расстояние метров 300-350, потеря пакетов)
14 \ 5 0 0 \ 55 55 83 22 46 25 63 47 50 48 46 49 49 47 51 46 \ 18 18 19 18 19 19 19 19
14 \6 0 0 \ 179 133 20 170 60 137 121 126 \40 40 46 39 43 42 41 41 \ 18 19 19 18 19 19 19 19
14 \7 11 0 \ 134 195 89 160 87 195 113 199 \ 44 37 45 42 46 38 48 39 \ 19 18 20 19 19 19 19 19
14 \ 8 0 0 \ 85 32 29 78 31 46 53 43 \ 49 47 47 50 45 49 46 48 \ 18 19 19 19 19 19 18 18
14 \ 9 3 0 \100 182 80 120 81 172 79 181 \ 41 39 45 41 42 39 42 38 \ 19 19 19 18 19 19 19 19
14 \10 0 0 \ 44 135 41 53 33 82 51 113 44 40 47 43 45 41 44 40 19 \ 18 19 19 19 19 19 19
14 \11 0 0 \ 42 202 67 103 44 152 37 163 42 37 43 41 42 39 42 39 \ 19 18 20 19 19 19 19 18
14 \12 2 0 \110 123 57 127 61 131 77 122 \ 45 46 47 45 43 47 44 45 \ 19 19 19 19 19 19 19 19
14 \13 10 0 \ 126 140 130 121 158 136 144 141 \ 47 46 44 49 43 48 45 46 \ 18 19 20 19 19 19 19 19
14 \ 14 4 0 \ 142 174 77 166 42 189 78 173 \ 41 38 44 39 45 40 43 40 \ 19 19 19 18 19 19 19 18
14 \ 15 0 0 \ 116 82 43 80 64 42 115 63 \ 47 44 49 47 46 45 48 43 \ 18 18 19 18 19 19 18 19
14 \ 16 0 0\ 2 7 8 2 1 5 0 9 55 \ 51 56 53 56 51 56 50 \ 19 19 19 18 19 19 18 19
14 \17 0 0 \ 6 7 3 12 4 10 1 10 \ 57 56 59 54 59 58 59 56 \ 19 19 19 19 19 19 19 19
14 \18 0 0\ 6 5 5 3 2 8 3 10 \ 65 63 69 65 70 63 69 64 \ 18 19 19 19 19 19 19 19
14 \19 1 1\ 16 16 16 15 15 15 15 15 \ 108 105 110 108 110 107 110 106 \ 19 18 19 18 19 20 18 19 (метров 70-80 до приёмника).

Пичалька короче!

Открутил сосиску, взял медный провод диаметром 0,8 мм - 17см и воткнул в приёмник.
Ещё раз тестируем (расстояние 500 метров, Приёмник на дереве на высоте 2 метра, передатчик в руках, видимость прямая (мощность 100мВт). Приёмник без борта, только батарея и БЕК.

Кусок повода 17 см
23 \ 1 0 0\ 1 0 0 1 0 0 0 1 \ 164 158 162 163 164 161 162 162\ 20 19 20 19 20 20 19 19 Расстояние 70-80 метров от приёмника
23 \2 0 0 \ 0 1 0 0 0 0 0 1 \ 145 140 117 138 132 139 134 145\ 19 19 19 19 19 19 19 19
23 \ 3 0 0\ 0 0 0 0 0 0 0 0 \ 145 140 113 139 133 139 134 144 \ 19 19 19 19 19 19 19 19
23 \ 4 0 0 \0 0 0 0 0 0 0 0 \ 145 140 114 139 134 139 135 144 \ 19 19 19 19 19 20 19 19
23 \ 5 0 0\ 0 0 0 0 1 0 0 0 \ 144 139 106 138 132 138 132 144 \ 19 19 19 19 19 20 19 20
23 \ 6 0 0 0 0 0 0 0 0 0 0 \ 142 138 98 137 128 137 128 143\ 19 19 19 19 19 20 19 20
23 \ 7 0 0 0 0 0 0 0 0 0 0 \ 142 138 95 137 128 137 128 143 \ 19 19 19 19 19 20 19 19
23 \ 8 0 0 0 0 0 0 0 1 0 0 \142 138 97 137 128 137 128 143\ 19 19 19 19 19 20 19 19
23 \ 9 1 1\ 15 13 14 14 14 14 14 14 \ 142 138 102 137 127 138 127 143 \19 19 19 19 19 19 19 19 Расстояние 450-500 метров, видимость прямая (обратный путь не снимал статистику)
.
Выводы: Сосиски которые шли с OrangeRX - какашка (не все наверно, но мне попались именно такие).
Делайте (покупайте) хорошие антенны 😃

Комментарии приветствуются.

12 days later
DossJ

Пока нормальный приемник в пути, решил добить работу OrangeRX Open LRS TX 100 mv как приемника для Baychi .

Схема передатчика во вложении (срисована с платы)

настройка в прошивке

#define SDO_pin 9 // PB1
#define SDI_pin 8 // PB0
#define SCLK_pin 7 // PD7
#define IRQ_pin 2 // PD2
#define nSel_pin 4 // PD4
#define IRQ_interrupt 0
#define nIRQ_1 (PIND & 0x04)==0x04 //D2
#define nIRQ_0 (PIND & 0x04)==0x00 //D2
#define nSEL_on PORTD |= 0x10 //D4???
#define nSEL_off PORTD &= 0xEF //D4???
#define SCK_on PORTD |= 0x04 //C2???
#define SCK_off PORTD &= 0xFB //C2???
#define SDI_on PORTB |= 0x02 //PB0???
#define SDI_off PORTB &= 0xFD //PB0???
#define SDO_1 (PINB & 0x01) == 0x01 //PB1???
#define SDO_0 (PINB & 0x01) == 0x00 //PB1???
#define SAW_FILT_ON _spi_write(0x0e, 0x04); // GPIO2=1
#define SAW_FILT_OFF _spi_write(0x0e, 0x00); // GPIO2=0
#define GREEN_LED_pin 13 //PB5
#define RED_LED_pin 12 //PB4
#define Green_LED_ON PORTB |= _BV(5);
#define Green_LED_OFF PORTB &= ~_BV(5);
#define Red_LED_ON PORTB |= _BV(0);
#define Red_LED_OFF PORTB &= ~_BV(0);
#define Servo1_OUT 5 //Servo1
#define Servo2_OUT 6 //Servo2
#define Servo3_OUT 7 //Servo3
#define Servo4_OUT 8 //Servo4
#define Servo5_OUT 9 //Servo5
#define Servo6_OUT 10 //Servo6
#define Servo7_OUT 11 //Servo7
#define Servo8_OUT 12 //Servo8
#define Servo9_OUT A4 //Servo9
#define Servo10_OUT A5 //Servo10
#define RSSI_MODE 1 // 0=disable 1=enable
#define RSSI_OUT 3 // PORTD.3
#define Serial_PPM_OUT_HIGH PORTD |= _BV(7) //Serial PPM out on Servo 3
#define Serial_PPM_OUT_LOW PORTD &= ~_BV(7) //Serial PPM out on Servo 3
#define SBUS_OUT_HIGH PORTD &= ~_BV(7) // SBUS out
#define SBUS_OUT_LOW PORTD |= _BV(7) // SBUS out
#define SBUS_OUT_BIT _BV(7) // SBUS out bit
#define SBUS_OUT_PORT 2 // SBUS out port
unsigned char offOutsMask[3] = { 0xE0, 0xCF, 0x1F }; // маски портов, при сбросе всех импульсов в 0
volatile unsigned char *portAddr[PWM_OUT_NUM] = { // адреса портов, поканально
&PORTD, &PORTD, &PORTD, &PORTB, &PORTB, &PORTB, &PORTB, &PORTB, &PORTC, &PORTC
};
unsigned char portMask[PWM_OUT_NUM] = { // маски портов поканально
_BV(5), _BV(6), _BV(7), _BV(0), _BV(1), _BV(2), _BV(3), _BV(4), _BV(4), _BV(5)
};
unsigned char diskrMask[8] = { // маски выходов
_BV(5), _BV(6), _BV(7), _BV(0), _BV(1), _BV(2), _BV(3), _BV(4)
};
unsigned char soundOut[] = { 1, 2, 7 }; // номера каналов, куда выводится звук через D5, D6, D11
#define PPM_MODE_JUMPER 6 // проверка на режим PPM
#define SBUS_MODE_JUMPER 0 // режим SBUS

Нужен только PPM и RSSI выходы.
Что еще сдесь нужно поправить?
Светодиоды и приемник выставлены правильно.

RFM22B.zip

andrey_by

а может кто-то подсказать как залить на Arduino Leonardo прошивку от ТХ? - поставил в конфиг тип - 6 … но че то залить не получается. (Arduino Pro Micro 32U4 + USB ) - одна микра потеряла бут , вторая по кругу перезагружается…

15 days later
Dautov

Собрал свой IZI LRS. Прошил Байчи. Все вроде работает. Заметил, если переключаю тумблер на увеличении мощности, то проскакивает CRC! в 1 позиции тумблера не появляется данная надпись вообще. во 2 уже местами проскакивает, а вот в 3 уже постоянно.
Из-за чего может быть? Тестировалось на расстоянии 1 метра между приемником и передатчиком.

Podkovka
Dautov:

Из-за чего может быть?

Если предположить, что аппаратная часть исправна, то попробуй понизить напряжение 5В. Иногда при напряжении уже чуть выше 5В начинает клинить ардуинку, что поделать - кЕтай 😃

Dautov

Ок, попробую вечерочком. Спасибо.

Dautov

CRC!
Оказалось это из-за не полностью закрытого корпуса LRS. Приемник 2,4 дает помехи.

Еще вопрос возникает. Никак не получается скорректировать поправку приемника, чтобы А был равен 0 или 255…
 При 0 проскакивает 1, а при 255 - 254.

Podkovka
Dautov:

Оказалось это из-за не полностью закрытого корпуса LRS

😃 CRC не должно проскакивать и при раскрытом корпусе, поверь, это траблы с напряжением. А должен быть близок к 0 или 255, но не обязательно эти значения.

Shuricus
Dautov:

При 0 проскакивает 1, а при 255 - 254.

Это нормально. От температуры еще тоже будет плавать.

leesicin
Shuricus:

От температуры еще тоже будет плавать.

Саша хорошо народ пугать, не плавать, а плыть плыть в одну сторону, но прошивка отклонение скорректирует.

Shuricus

Что вы все так любите к словам докапываться? Нечем заняться что ли? Будет именно плавать, потому что температура может повышаться и понижаться, в зависимости от условий эксплуатации. Например сидел в машине - вышел на мороз. Переключил мощность. Включил вентилятор, и т.д.

Прошивка не корректирует небольшие отклонения - это два.

Три - Байчи не особо рекомендовал пользоваться термокоррекцией вообще.

leesicin:

Саша хорошо народ пугать

Очень хорошо! Запятую забыл. Торопился очень поспорить.😉

Dautov

Я уже греша на помехи от DC-DC и на возможный нагрев RFM сделал некие экраны и теплоотводы. Поэкспериментируем, что получилось. Наверное бестолкова, но все равно хотелось мудрить 😃
Фотки после обеда выложу

leesicin

Саша прости, что задел твою тонкую натуру филолога 😃 Ну безграмАтный я 😃.
Никто к твоим словам не докапывался, но сказав, что частота будет плавать, не плохо было бы сказать, что прошивка её скорректирует. Рушан только что собрал Передатчик и у него имеются вопросы как по железу, так и по софту в настоящий момент (и ещё куча вопросов возникнет по мере изучения прошивки), это нормально. Вместо того чтобы помочь и разъяснить ты подлил масла в огонь (сейчас Рушан бросит всё и будет думать как ему с плавающими частотами бороться, хотя этого и не нужно). Ты же помнишь, сколько вопросов возникает при изучении Байчи и здесь нужно направлять человека в нужное (в настоящий момент) направление, а не расплёскиваться по сторонам.
По поводу твоего термина Плавать. Плавать (в моём понимании обсуждаемого предмета) - изменение частоты то вверх то вниз. Плыть - плавно изменяться в одном направлении.
При стационарных условиях (обычно они используются для первоначальных экспериментов), частота будет ПЛЫТЬ в одном направлении (т.к. передатчик при постоянной мощности будет нагреваться до определённого момента, а остывать не будет).

Shuricus:

Прошивка не корректирует небольшие отклонения - это два.

  1. Alex Sneg - "Александр, а какой смысл в температурной коррекции на передатчике, если вы регистр ухода на приемнике корректируете каждые 32 пакета? ".
Shuricus:

Три - Байчи не особо рекомендовал пользоваться термокоррекцией вообще.

Baychi - “Проделал измерение зависимости ухода от частоты от температуры на втором экземпляре RFM23BP и был неприятно удивлен - обнаружив строго обратную зависимость, по сравнению с первой. Модули визуально одинаковы , хотя из разных партий и тем не менее, такая вот фигня.
В связи с чем советую, тем, кто не может замерить температурную зависимость явно, отключать “Term corr enable” в меню.”

Саша будь добрее 😃 Мы же делаем общее дело, поддерживаем прошивку Байчи.

Shuricus
leesicin:

сейчас Рушан бросит всё и будет думать как ему с плавающими частотами бороться, хотя этого и не нужно

Dautov:

При 0 проскакивает 1, а при 255 - 254.

Shuricus:

Это нормально.

Этого не достаточно, что бы ни с чем не бороться? Не нужно за других решать, что они будут делать и с чем бороться. И не нужно постоянно говорить мне, что мне делать и кем быть. Мне не нужны две мамочки.

И это, друг мой, ты заблуждаешься. Частота именно плавает, в зависимости от температуры. Это общее описание физического процесса. Нагрев при “стационарном” использовании - это частный случай развития событий, никак не опровергающий факт общей зависимости от температуры. Не нужно думать, что другие не смогут понять столь очевидные вещи. Но я даже привел пример, когда температура может понижаться и на практике, тоже. Щелкнул тумблером - температура упала, частота опять поплыла.
Поэтому может не надо навязывать свою точку зрения так активно? Это и вызывает некоторую недобрость.

Dautov

Экранировал, было свободное время 😃
И теплоотвод от RFM припаял
Вечером посмотрю что будет.

leesicin

Никому ничего не навязываю, стараюсь объяснять и помогать (иногда могу искренне заблуждаться 😃 ). Зла никому не желаю.
Ну и чтобы поставить точку.
“При 0 проскакивает 1, а при 255 - 254.” - “От температуры еще тоже будет плавать.” - из твоего комментария можно сделать вывод, что значения 0-1 или 255-254 куда то уплывут!
Это Не так! В прошивке всё это учтено и будет скорректировано! Значения 0-1 и 255-254 никуда не уплывут! Они так и останутся 0-1 или 255-254. Да физические изменения будут происходить (температуры меняться, частоты изменяться и пр.). Но это всё пофигу! Всё будет скомпенсировано и частоты Приёмник-Передатчик будут синхронизированы!

Dautov

Проделанная экранировка в борьбе с CRC!, при включении тумблера в положение увеличенной мощности - не помогла. Даже пробовал питание DC-DC уменьшить до 4,5в. Разве что, стало меньше греться - 30’ примерно.
Но проблема пропадает сразу, если рядом или вовсе на корпус положить питающий аккумулятор, можно даже просто рукой жо корпуса дотронуться и пойдут пакеты без потерь совсем.

  • Может LC фильтр (Дроссель + конденсатор) на плате после DC-DC нужно было оставить?
  • Или пока попробовать на кабель надеть кольцо ферритовое.
  • Или вовсе не ломать голову и в один корпус засунуть приемник2,4 (антенна горизонтально) и передатчик433 (антенна ветикально), а между ними АКБ ближе к корпусу LRS, ведь на столе в таком расположении работает без проблем.

Кстати, прошивка сама сегодня подвела под А-0 и А-255
Но ФСЕЙФ забывает или каждый раз после длительного отключения питания или после каждого подключения к компьютеру. Надо каждый раз напоминать.

kostya-tin

В приемнике бутлоадер перешить нужно, что бы ФС не сбивался. Обычно он виноват. А антенна какая у на передатчике? Штырь или диполь?

Dautov

Антенна rmilec.
Нет ссылки под рукой, как бутлоадер прошить.

kostya-tin

самый простой вариант - подключить ISP программатор, открыть ардуину на компе, выбрать в сервисе нужный программатор, плату Arduino Pro Mini 5V 16MHz и нажать на “прошить бутлоадер”, помоему в сервисе (не у компа, поєтому точно не скажу)

polarfox
Dautov:

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

Потому что

Dautov:

Антенна rmilec.

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