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 снижает скорость и увеличивает дальность.

Вся наша жисть — поиск компромиссов… :)

Аудио-DSP из говна и палок: MSP34x0G, 34x1G, 34x5G

Предисловие
Досталась на днях плата от старого телевизора. Моё внимание привлекла микросхема в корпусе SDIP52, под которой на
шелкографии были надписи связанные со звуком.
Странно, но по запросу «MSP3410G AVR» результата не было. А
значит, прийдется разбираться самому.

Характеристики:

MSP34x0G:

  • 2 цифровых I2S входа(16/32 бит 32 КГц)
  • 1 I2S выход, 3 или 4 стерео входа с программируемым предусилением (зависит от корпуса)
  • 1 моно вход
  • 2 выхода, позиционирующихся для наушников и динамиков
  • У обоих есть:
    • настройка громкости в дб(-114 — +12)
    • настройка баланса в линейном и логарифмическом режиме
    • настройки НЧ/ВЧ(в канале динамиков можно использовать пятиполосный эквалайзер)
  • Программируемый выход для сабвуфера
  • Детектор quasi-peak с помощью которого можно сделать индикатор уровня громкости
MSP34x1G отличается также наличием режима dolby prologic.
MSP34x5G теряет один стерео выход и эквалайзер на канале динамиков(настройка НЧ/ВЧ остается). Выхода для
сабвуфера также нет.


Подключение и управление
Управляется процессор по интерфейсу I2C с максимальной скоростью 1 МГц. Управление стандартное для подобных
микросхем:
адрес устройства, бит R/W, субадрес, два байта адреса и два байта данных. Но есть одна заминка, которая не
страшна если использовать в качестве управляющего какой-нибудь AVR с аппаратным I2C. Дело в том, что после получения
адреса микросхема на 1-1.5мс прижимает SCL и только потом выдает ACK. При использовании софтверного мастера это надо
учитывать.

Монтаж
Так как плату делать не хотелось, собрал схему навесным монтажом и подключил к arduino, чтобы проверить возможности
и работоспособность(готовый проект будет на atmega8).


Особенности
После сборки заметил несколько интересных особенностей:
  1. Если не дернуть RESET микросхемы, на I2C она не определяется и ACK не дает.
  2. Вместо 8 вольт можно подавать 5, возможно только снизится громкость.

  3. Усилитель на TDA7255 начинает свистеть, при уменьшении громкости свистит меньше, при этом дешевый на PAM8403
    играет без сильных шумов.
  4. Нагрев микросхемы не страшен.

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

Умная баня!

AVR
У тестя на даче есть баня это отдельно стоящие здание на крыше которого бак. Насос стоит отдельно на расстояние 100м. Т.к. люди уже старые и часто забывают то воду включить то отключить то тен. Сами понимаете тен без воды… или вода через край… Решено было автоматизировать данную проблему. Врезали концевики герконовые в бак, терморезистор, заказал чехол для термопары из нержавейки (на тен смахивает) и вставил в него терморезистор. Заказал из поднебесной терморегулятор за 500 р. и регулятор уровня, бп 12в какой то китай. Собрал все. Релюхи взял от автоматизации станков 10А.


Читать дальше

Корпус Argon ONE для Rasberry Pi 4, особенности применения

  Не так давно, в конце 2020 года в номенклатуре фирмы Argon Forty появилась модификация и так хорошего корпуса Argon ONE для Rasberry Pi 4, модификация заключалась в добавлении диска SSD формата M.2, релиз-обзор.

  

  Весной на глаза попался детальный обзор корпуса Argon ONE M.2 c SSD-диском 128Gb для Rasberry Pi 4, рекомендую прочитать. Корпус понравился, решил заказать и переселить микрокомпьютер в него, выбрал комплектацию с 128Gb SSD диском. После переноса платы в новый корпус столкнулся с некоторыми неочевидными особенностями применения, о чем и хочу поделиться с сообществом.


Читать дальше

Самодельная паяльная станция.

Собрал себе паяльную станцию. Не судите шибко строго я же любитель делал себе, а для себя я за эстетикой не гоняюсь от слова совсем! Перепробовал я за свою долгую жизнь разные паялки около года пользовал распиаренные Т12 но при всех своих достоинствах они имею и недостатки такие как высокая цена, невозможность применения разных жал, ща на меня накинутся адепты из секты свидетелей т12-тс100, я имею ввиду что с практической точки зрения 900 серия горазда практичнее и дешевле, а также возможность применения меди и т.д. Не надо писать да ты не прав или прав, это мое личное мнение и говорю про свой опыт. Последней точкой стало то, что купленной жало вставленное взамен выработанного совершенно не совпало с параметрами прядущего. В результате была достана старая добрая самодельная настольная станция на 900 серия на атмеге8 которая работает по сей день и не по одному часу, в которой есть датчик движения и все необходимое.


Читать дальше

Вебинар «Решения Microchip и сервисы Microsoft для интернета вещей. Подключение устройств IoT к облачным сервисам Azure» (15.07.2021)

Приглашаем всех желающих 15 июля 2021 г. принять участие в бесплатном вебинаре, посвященном решениям Microchip и сервисам Microsoft для интернета вещей. На вебинаре будут рассмотрены наиболее перспективные решения Microchip, являющиеся своеобразными «кирпичиками» – готовыми узлами, из которых можно быстро собрать конечное устройство интернета вещей на базе микроконтроллеров и микропроцессоров производства Microchip. Особое внимание на вебинаре будет уделено облачным сервисам Microsoft для IoT.
Подробнее >>

Механическая металлизация из говна и палок

1. Пустой треп
Не знаю как у других, но у меня при изготовлении плат главный источник ненависти — это переходные отверстия. До некоторого времени я обходился пропаиванием кусочков проволочки с обеих сторон. И проблема даже не столько в геморе запаивания (откуси, заканифоль, залуди, пропаяй), сколько в невозможности дальше использовать фен. И ладно при запайке: в 99% можно обойтись паяльником. А если нужно выпаять? Особенно QFN. Тут нужен фен. И пока выпаиваешь микруху, есть шанс потерять переходку (например, проволочка внутри сместится или вообще выпадет). Когда-нибудь обязательно прокачаю скилл evsi и забахаю химическую металлизацию, а пока приходится искать другие варианты. Подробности под катом.

Читать дальше

USB-CAN адаптер.

Купил я себе новую гранту и решил как обычно поковыряться в прошивке и активировать круиз контроль! Но вот не задача для его активации требуется USB-CAN адаптер, адаптер по k-line у меня есть разные с гальванической развязкой и без таковой самодельные и заводские. Но вот адаптера по кан у меня не было, и дел я с ним раньше не имел, ну было решено изучить этот вопрос как говорится по полной, собрать самому данный адаптер. Этот адаптер необходим также для диагностики автомобиля и прослушивания кан шины при помощи всем известной программы CANHacker. CANHacker для своего обмены с адаптером и шиной использует протокол «lawicel», при помощи данного протокола программа посылает служебные команды адаптеру, который в свою очередь своеобразным образом должен на них ответить, иначе определения адаптера в программе не произойдет. Также программа посылает различные команды адаптеру такие как скорость обмена разрядность и так далее, по этому протоколу работают не только эта программа, но и другие в том числе платные. В своей прошивке необходимо было учесть все для работы с программы.


Читать дальше

Вебинар «Работа с графическими возможностями новой линейки STM32H7» (07.07.2021)

Приглашаем 07.07.2021 всех желающих принять участие в вебинаре, посвященном работе с графической библиотекой TouchGFX и новой линейке высокопроизводительных микроконтроллеров STM32H7A/B производства STMicroelectronics.

На вебинаре будут разобраны ключевые преимущества линейки STM32H7A/B, а также показан пример создания проекта с помощью среды TouchGFX Designer и методы взаимодействия этой программы с экосистемой STM32Cube. Подробнее >>>

RFID модуль PN532: как я домофонный ключ скопировал

Водная часть
Понадобился тут еще один ключ для домофона. Казалось бы, чего проще: идем в правление, покупаем ключик… а ключиков-то и нету! И не будет. Ну может будет, но потом. Возможно, следующим летом. Но это не точно.

Ладно, мы люди не гордые, идем в ближайший «Дом быта», просим сделать копию. Там берут, прикладывают к своей шайтан-машине и возвращают. Правда без копии. Потому что копию сделать нельзя. Потому что безопасность должна быть безопасной и ключик зашифрован. Не унываем, идем в другую мастерскую… в третью… после пятой приходит понимание, что мы в жопе и спасение утопающих — дело рук самих утопающих. Беглое сканирование показало, что мы имеем дело с ключом стандарта Mifare Classic.

Читать дальше