Простой поисковый радио маячок.
там есть ешё некая инициализация
“нечто” кроется в деталях )))
Как минимум, часто режим работы ВЧ модуля в режиме ПЕРЕДАЧИ данных (то что реализовано в приведенных Вами либах) ОТЛИЧАЕТСЯ от режима, применяемого в маячках.
Лучше уж научиться устойчиво управлять/инициализировать SPI на STM32, а конкретную работу с ВЧ/SI4432 самому переписать.
EHOT так и хочу, только stm32 у меня нету, да и средства его прошивки первый раз вижу, для меня это новый язык и новый МК, разительно отличающийся от AVR’овского ассемблера.
AlexOrlo никогда ране не портировал Си’шный код, даже не сразу понял его синтаксис, вместо “then” скобка{, ну да ладно. Сплошные процедуры переходов, нету здесь “единого кода”, это матрешка которая собирается оболочкой “на лету”. К примеру вот вы передаете “хелло ворлд”, думаете оно вам даст код как это делать? Ага, оно возьмет сообщение, попрется мерить длину, заполнит свои временные переменные, и на каждую букву будет делать сборку определенной матрешки кусков кода, оно выполнит int SX1278_transmit, в котором сидит матрешка SX1278_LoRaEntryTx + SX1278_LoRaTxPacket, при чем по отдельности там ничего нового нет, не видно нужного.
В конечном счете настройка модуля это простые команды пересылки даты по адресу SPI, их всего с десяток и больше ничего нет, ломал голову зачем везде паяют пин dio0, как оказалось в коде:
if (SX1278_hw_GetDIO0(module->hw)) { //if(Get_NIRQ()) //Packet send over
SX1278_SPIRead(module, LR_RegIrqFlags);
SX1278_clearLoRaIrq(module); //Clear irq
SX1278_standby(module); //Entry Standby mode
}
это банальное хардварное прерывание:
если dio0=чему-то, тогда:
считать статус
очистить статус(неясно зачем читали, но мож. так надо)
перейти в стендбай
и его можно не использовать, ведь там есть настройки пина, и по коду это срабатывает после передачи бита. На фоне неясности пачки моментов, нет передачи реального сигнала(мониторю SDR’ом), продолжаю изучать матчасть.
Я помню долго долбался с запуском 1вт si4433 spi, оказался один байт в строке инициализации, который отвечает за выбор тактирования чипа. Оно отличалось у этого модуля по сравнению со всеми известными аналогами.
Надо последовательно идти именно по даташитам чип/модуль, сравнивая их…
только stm32 у меня нету, да и средства его прошивки первый раз вижу,
blue piil - наше все.
ru.aliexpress.com/item/32656048071.html (не реклама, для примера)
Но советую купить сразу 2 платки минимум, одну переделать в программатор-отладчик ST-Link совместимый - blackmagicprobe (в инете легко найти описание переделки)
Но если AVR вполне справляется, то зачем травить?.. )))
Не хочется покупать только ради отладки, а AVR всегда справляется. Ситуация чуть улучшилась, ввел код на базе гитхабовского, подвязал пин dio0, и выяснилось что отправка действительно не начинается. Радиомодуль получает конфиг и переходит в TX, но отправку не делает, чего-то ждет, а бит “отправка сделана” возникает после таймаута ожидания с переходом в режим “стендбай”, как сброс предыдущего режима “tx_on”. Мучения продолжаются…
Ура! Оно заработало, LoRa в нативном режиме передает дату и без всяких stm32. Пересматривал разные библиотеки и наткнулся на эту, в которой какой-то замечательный товарищ решил не копипастить матрешку, а записать ее целой, одним сплошным кодом. Там увидел уточнение:
//Spreading factor 11, PayloadCRC on
RFM_Write(0x1E,0xB4);
//*NOTE: If you decide to change to Spreading Factor 6, you also need to set the following
//*two registers by uncommenting these lines
//RFM_Write(0x31,0xC5);
//RFM_Write(0x37,0x0C);
А так же информацию о длине преамбулы, а эти данные в мануале особо не разжеваны, и в других исходниках гитхаба, вообще в разных процедурах матрешки разных файлов, и как оказалось их то мне и не хватало, у меня была эта запись но с неверными значениями, которые заводили радиомодуль в тупик, он просто не начинал передавать. Дальше предстоит разбор полетов, что, зачем и почему, но оно уже ожило, а дальше дело техники 😛
Провел полевые(лесные) испытания радиомаяка на базе LoRa(SX1276) и сравнил их с FSK(Si4432), видео:
Параметры испытуемых: 432МГц, 100мВт(-20dBm), питание литий-полимер, токи до 85мА.
- SX1276 в режиме Long Range, 4/5, 62КГц, -139dBm;
- Si4432 в режиме FSK 1.8КГц, узкополосный ЧМ(NFM), маяк “тигромух”, -124dBm;
- Рация Baofeng UV-3R, чувствительность -121dBm.
При испытаниях Si4432 показал стабильную работу(как и раньше) до 900 метров в лесу, рация на штатной антенне продержалась до 1.1Км, LoRa выдала 1.5км. Вынужден отметить неудобность поиска маяка на базе LoRa, у данной технологии большая задержка между импульсами и слабо выражена разность вперед/назад уровня сигнала RSSI. Так же в работе LoRa маяка можно заметить подобные уровни и режимы сигналов до входа в границу приема по уровню шума, но LoRa достает данные и ниже уровня шумов, когда FSK и рация уже бессильны, и это “ниже шумов” достигает примерно половины штатной дальности.
Технология LoRa как показалось, больше всего подходит для передачи координат GPS, когда важно гарантированно получить что-то на предельных дистанциях, но слабо подходит для работы маяка типа “тигромух”, где идет поиск источника по “биениям”, как в старых добрых радио-играх “охота на лис”.
Попутно хочется отметить улучшения в программной части, сам мануал LoR’ы не очень, сказано мало, примеров нет совсем, и на важных вещах акценты не расставили, но именно аппаратная настройка, намного проще чем у Si4432, можно сказать что LoRa “удобный” радиомодуль, где все под рукой и как надо.
Проводя предыдущие испытания с замерами определил некоторые закономерности, собралось чутка общих тестов дальности, попутно изучая теорию с калькуляторами, и читая о других, покупных фирменных радиомаяках, пришел к некоторым выводам. В фирменных решениях используют достаточно слабые передатчики, 10мВт, и приемники с отличным уровнем шумов, как результат пишут про хорошую дальность, гораздо большую чем между радейками, что в сотни раз мощнее. Стало интересно почему так, с одной стороны согласно формуле Фрииса, увеличение чувствительности на 2дБм, равно такому же увеличению мощности, то есть сделав передатчик слабее на 10дБм, но повысив чувствительность приемника на них же, мы должны получить такую же дальность, при меньшем потреблении в 10 раз! Но есть но, существуют помехи, шумы, неидеальности и затухания в плохих средах, из-за чего очень слабые сигналы в реальном мире далеко не дойдут.
Попался интересный калькулятор дальности связи, показывает достаточно точные результаты, с поправкой что “пригород” это полевые условия, ну и “чистополе” - около космический вакуум.
Согласно калькулятору получается что в реальных полевых условиях радиомодуль LoRa уже на средней чувствительности в -139дБи должен уделывать покупной радиопеленг за 600 убитых енотов. Попутно лесной тест показал, что даже LoRa с ее возможностью “выкусывать” пакеты из шума, не даст 2км, в условиях где затухания 100дБ/км, и если следовать теории, то в лесу для 433МГц у LoRa есть 139дБм+8дБи яги+20дБм передатчика=167дБи, ну или 167/100=1.67км, что соответствует действительности в 1.5км. Такая же картина для радейки Baofeng, 121 чуйка+2 антены(без яги)+20 передатчик=143, 143/100=1.4км, что так же подтверждено тестом в 1.2км. А вот радиомодуль Si4432 вываливается из этого теста, его реальная чувствительность не -124дБм, а гораздо ниже, с учетом калькулятора сайта, около -104дБм.
Проводя предыдущие испытания с замерами определил некоторые закономерности
А вы антенны еще повыше поднимите - такие чудеса будут, закачаешься! И в лору все сразу уверуют 😃
Ну и раз уж вы меня упомянули, то с чего это вдруг у тигромуха взялась чувствительность в -104дбм?
Расчетная модель Окумура-Хата наиболее точный метод из тех что попадались мне, но высоту подвеса в ней править ниже 30м нельзя, впрочем это не сказывается на результате.
Название “Тигромух” уже стало нарицательным, у меня нет приборной базы чтобы определить чувствительность правильно, и могу лишь сравнивать один приемник с другим на местности. Китайцы пишут рация baofeng имеет чувствительность -121дБм, при том Si4432 ближнего поиска маяка, по документации также -121дБм, но на практике, рация принимает дальше в 1.5-2 раза. В лесу это соответствует уровню -104дБм, а вот в поле все чуть меняется, и получаем ближе к -112дБм, все это грубые, и сугубо мои впечатления от испытаний. Возможно дело в том что у рации динамик, и даже когда сигнал находится в уровне шума, мы все еще способны его различать.
А от в LoRa вы зря не веруете, она уделывает радейку, и идеально подходит для передачи данных GPS. В уровень шума она упирается точно как Si4432, впечатление что там одна элементная база, но обработка разная, LoRa после входа в шум, может еще примерно столько же. Если грубо, она берет в 1.5-2 раза дальше от рации baofeng, а с учетом что “тигромух” заточен передавать голосом координаты, делать это на базе LoRa куда удобнее.
Если бы не это досадное обстоятельство с GPS, он весит почти 7 грамм, сейчас это непозволительная роскошь 😃
Vladimir_N
подскажите можно ли для вашего поискового устройства использовать ардуино, например, про мини…прошить вашей прошивкой?
Можно.
Добрые люди, помогите найти автора, плиз!
Покупал у него на Avito несколько лет назад (Москва). Сейчас объявление найти не могу, либо оно отсутствует.
Собственно девайс лежал без дела. Сегодня попытался его проверить - никаких признаков жизни. Плата изготовлялась под питание от Кроны.
Фото приложил (кликабельно), предварительно сняв термоусадку, которая служила защитной оболочкой.
Ded WG визуально si4432 с тини45 и кренкой 3.3В, копия маячка Владимира с первых страниц. А в чем собственно проблема пересобрать? Мануал здесь подробнейший, если паяльник держится, проблем не возникнет. От себя добавлю, кренка 3.3В лишняя, модули спокойно работают от +5В
Pavel_liev, респект за оперативность!
Да, нужно его оживить. Я сам всё могу акромя маячков - топор в плату не влазит. 😉
Блин, посмотрел профиль - Киев. Это в нынешних условиях, как девятый концерт Pink Floyd. 😢
Может кто поближе откликнется? 😃
Что же такая тишина-то?
Разве никто не хочет подзаработать на самоизоляции?
Куда ж бедному крестьянину податься?
Спросите автора - Владимира, ранее он принимал заказы.
Провел испытания радиомодуля SA818, согласно характеристикам позиционируется как модуль что устанавливается в рации типа баофенга, но на деле получилось слабее радейки.
Результаты:
- si4432 700 метров;
- sa818 900 метров;
- Baofeng 3R 1200м.
Проведя ряд испытаний, перешел на 3’х элементную ягу. На практике получилось что яга из книги Ротхаммеля давала преимущество над 3’х элементной антенны из симулятора mmanagal всего на несколько процентов, теоретическое преимущество на местности типа лес 50 метров, в замерах на местности разница не была замечена вовсе. Таким образом отдал предпочтение более компактной антенне.
Конструкция 3х элементной яги - результат работы симулятора mmanagal и данных книги Ротхаммеля: “Антенны”, настройками симулятору ограничил длину конструкции, отдавая предпочтение компактности. Антенна имеет немного менее остро выраженный центр, но лучшее соотношение перед/зад, усиление примерно на том же уровне.
Анализатора типа NanoVNA к сожалению нет, и подгонку в реале проверял двигая и подкусывая элементы, смотря сигнал работающего маячка, как оказалось симулятор mmanagal все выдал верно.
Практические испытания в лесу прошли успешно, дальность та же, но компактнее на 6см.
Павел, а как так вы оптимизировали к 32 ОМ входное сопротивление антенн? У вас кабель соединительный 32Ом волновое?
И реактивности у антенн получились большие. При подключении через кабель к трансиверу у Вас эти реактивности могут вырасти до неприличных значений.
Вообще то в идеале входноое сопротивление активного элемента 50 оМ для кабеля 50 ом и реактивность нулевая.
Да и как учитывали ширину элементов ( коффф. укорочения) С такими элементами, должна получаться довольно широкополосная антенна с КСВ 1.
А лучше всетаки найти аппаратный анализатор, и на нем посмотреть характкристики с учетом кабеля. Возможно для Вас тогда результаты будут полной неожиданностью.
А никак не оптимизировал, для этого у меня нет соответствующего оборудования, нечем настроить и проверить, а делать какое-либо согласование “на глаз” может оказаться еще хуже. У меня кабеля всего 15см, полагаю чем меньше длина несогласованного участка, тем меньше он сможет влиять, идеально вовсе расположить модуль на элементах антенны.