LoRa SX1268 E22400-M22S запуск, настройка на максимальную дальность

Хочу поделиться информацией, которую в интернете не нашёл.

Затеяля я тут апгрейд радиоканала своей автосингализации.
До этого был на MRF49 плюс усилители от BLAZE с VTRP, потом (на данный момент) SI4432.
В обоих случаях 400 метров в прямой (ну или почти прямой) видимости. Разница только
в количестве SMD обвеса на плате. Разница, правда радикальная.

Услышал/увидел про LoRa в интернете. Погуглил цены, датшиты. Купил на Али E22400-M22S.
Что то около 500 рублей за штуку. Сбацал два модуля. Рулит трансивером ATtiny84A,
питание от двух АА (3в). Одна антенна — провод 17см, вторая — спираль 5x30мм 20 витков.


Тут и началось… :)
При чтении датшита — трудности перевода… Набор глюков и заплаток… :)
При гуглении — сплошные LoRa + Arduino. «Подключаем библиотеку, и радуемся...»
А я, видите ли, заскорузлый ассемблерщик :) Ну «не вштыривает» (1+1 смотрели?) меня этот C.
Даже в виде Arduino. Ну не нашёл ничего. Может плохо искал…
Короче методом проб нашёл последовательность «запуска» SX1268.
Мож кому пригодится. Я ж искал :)

Настройка трансивера после включения питания:
RESET_SX1268
SetStandby,RC
SetRegulatorMode,1
SetDIO3AsTCXO
SetStandby,XOSC
SetDIO2AsRfSwitchCtrl,1
SetRxTxFallbackMode,$30
SetBufferBaseAddress,$80,$00
SetRfFreqensy,490
SetPacketType,LORA
SetDioIrqParams,$3FF,0,0,0 преывания пока не используем, просто ждём RxDone или TxDone
//
ограничтель тока
$08E7->address
$38->data
WRITE_REG
//
усилитель приёма
$08AC->address
$96->data
WRITE_REG
//
SetPaConfig,4,7,0,1
SetTxParams,$16,0
SetModulationParams,7,BW_10,1,1
SetPacketParams,30,1,9,0,0

Приём:
ClearIrqStatus
SetRx(0)
GetIrqStatus — ждём RxDone (не ненуля IRQ, как я сдуру, а RxDone=1)
ReadBuffer

Передача:
WriteBuffer
REG_0889 (стр.101 датшита)
ClearIrqStatus
SetTx(0)
GetIrqStatus — ждём TxDone

Это что то вроде скрина с программы сделанной в Algorithm Builder.
Последовательность команд, и конкретные цифры настроек, я думаю понятны.
Это как раз то, что я не нашёл.

REG_0889 — одна из «заплаток» датшита.
Ещё там есть обязательная последовательность для настройки приёмника:
SetPacketType(...)
SetModulationParams(...)
SetPacketParams(...)
У меня она соблюдена.
Но в датшите нет про последовательность
SetPaConfig(...)
SetTxParams(...)
Если поменять местами — глюк.

Вроде всё.
Да. Дальность с этими настройками 7км.
Поставил блок с 17см антенной на подоконник (антенна как раз над рамой) одноэтажного дома и поехал.
В машине с собой блок со спиральной антенной. Одноэтажная застройка посёлка. По пути пригорки,
первый в двух километрах. За ними связь пропадала. На макушках восстанавливалась.

Собственно настройки, влияющие на дальность/скорость передачи вот:
SetRfFreqensy,490
//
SetPaConfig,4,7,0,1
SetTxParams,$16,0
//
SetModulationParams,7,BW_10,1,1
SetPacketParams,30,1,9,0,0

SetRfFreqensy,490
несущая вроде как сама по себе, но для моих конкретных E22 490Мгц много лучше оказалось чем 433Мгц

SetPaConfig,4,7,0,1
SetTxParams,$16,0
тут просто максимум мощности — 22дб

SetModulationParams,7,BW_10,1,1
SetPacketParams,30,1,9,0,0
а вот тут необъятное поле для экспериментов
в основном SF(7) и BW(10) в SetModulationParams
Увеличение SF снижает скорость и увеличивает дальность.
Уменьшение BW снижает скорость и увеличивает дальность.

Вся наша жисть — поиск компромиссов… :)
  • +2
  • 31 августа 2021, 06:55
  • PANYTA

Комментарии (8)

RSS свернуть / развернуть
Немного не моя тема, простите.

Вот, тут

несущая вроде как сама по себе, но для моих конкретных E22 490Мгц много лучше оказалось чем 433Мгц

хотелось бы видеть хоть какие-то цифры. А то выражение «много лучше» — это скорее эмоциональная оценка, а не техническая (физическая). Хотелось бы более конкретно ориентироваться — на сколько лучше. Хотелось бы видеть какие-то оценочные параметры, ну типа на столько-то километров дальше или на столько-то децибел больше…

В общем, в чем и на сколько (в цифрах, хотя бы приблизительно) Вы увидели улучшение.

Если можно, поправьте, пожалуйста. Спасибо!
0
Внезапно неплохие показатели по дальности, учитывая что противовеса на антенне толком нет. Если сделать с нормальным земляным полигоном должно еще лучше стать…
0
  • avatar
  • N1X
  • 31 августа 2021, 15:44
433Мгц — 1300м
450Мгц — 1500м
467Мгц — 2000м тут метраж наверное больше, просто на 2000м пригорок…
490Мгц — 7000м
при прочих равных

Видимо входные/выходные (антенные) цепи моих модулей настроены на более высокие частоты.
Выше 490 не пробовал.
0
Что-то как-то больно резко. Как будто антенна не на ту частоту настроена… Или антенные цепи.
0
Ещё цифра:
433 — 1300м это когда одна антенна 17см, другая — спираль
433 — 3000м это когда обе по 17см
0
Язык СИ относительно просто мной бал освоен. А вот С++ с его объектно-ориентированностью для меня оказался увы не по зубам((.
0
  • avatar
  • Aneg
  • 02 сентября 2021, 11:00
Антенну поставьте не эту порнографию, а что-нибудь из J, 1/4 или диполь согласованный и будут показатели еще лучше. у самого J на 11 этаже, в гараже яги 7 элементов, в машине пружинка =)
0
А 17см это не 1/4?
J это кто?

«Пружинка в машине» что за девайс, если не секрет?

Просто у меня заморочка forum.easyelectronics.ru/viewtopic.php?f=9&t=46117&start=0
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.