Простой поисковый радио маячок.
У меня тоже полоса 10мм, чтобы закрепить ее использовал болт М3, и минимальное расстояние которое позволяло все это собрать получилось 1.5см, а дальше клемники, сужается до 5мм, критичность обычно узнается опытным путем. Пробовал размещать элементы антенны широким торцом, разницы не заметил, но технический конструировать плоскими удобнее. По поводу размеров, ну давайте пересчитаем, вот длина рефлектора 12900/Ф, для 432МГц это 29.8мм, а для 434Мгц это 29.7мм, при точности болгарки +/- 1мм. Для спутниковой тарелки может миллиметры и играют роль, но здесь ДМВ, элементы такой “яги” играют на сантиметр от рук, без видимых последствий для уровня сигнала. В сети есть конструкция антенны из стальной рулетки, и пишут она отлично ловит играя по ветру, не то что отпиленные алюминиевые полосы.
Коллеги, подскажите пожалуйста, координаты, что маяк передает с GPS приемника, насколько точны? У меня FPV крыло вчера вошло в штопор на автовозврате, маяк передал последние координаты в полете, они соответствуют тем, что на видео в начале штопора крыла. Сегодня весь день облазил лес вдоль и поперек указанных координат, но результат никакой. Я еще и радиус брал от последней точки в пределах 50 метров, да и крыло 1.5 метра в размахе. Поделитесь своим опытом поиска по координатам.
В лесу самая полезная программа на смартфоне это Maverick. Даже бесплатная версия позволяет вставлять свои координаты и пишет трек. Последний особенно нужен, чтобы не бегать по сто раз по одному маршруту. Остальные пробовал, так им интернет нужен, без него не работают, а трека так совсем нет или только в платой версии.
Коллеги, подскажите пожалуйста, координаты, что маяк передает с GPS приемника, насколько точны? …
Простой Маяк, который рассматривается в этой теме, никаких координат не передает. Если имеете ввиду другой, покупной маяк, то открывайте соответствующую тему и не в разделе самодельная электроника.
Большое спасибо автору. Куда немножко задонатить? Много не могу, но символически…
Прошивал через ардуино нано 168 as isp и sinaprog.
Модуль ru.aliexpress.com/item/32810782548.html
Тиньки ru.aliexpress.com/item/32881145707.html
Бадяжил и добадяжил компактную антенну что складывается. 432.5МГц, 100мВ, но имхо в лесу всего 450 метров(на Si4432), хотя в передатчике не был поключен “противовес”, второй заземленный элемент диполя Герца, с ним должно быть на треть дальше. Прилагаю видео испытаний, ролик получился длинным и чутка скучноватым, в конце тестил дальность на 4.8км, в почти идеальном поле, и визуально радейка могла еще пару км.
whoim рекомендую вместо антенны “спиральки” припаять проводок в 1/4 волны, дальше “быть” будет.
Вот драйвер если, что написанный под ХАЛ библиотеку стм32… github.com/wdomski/SX1278/tree/master/driver
Спасибо только это не совсем то, маяк на stm32 делать не вариант, и все эти библиотеки не есть реальный код, это последовательность действий из которых компилятор соберет “что-то”, что будет даже не программой а куском в оболочке, с терминалом СОМ. А маяк это тини13 с ассемблером, маленькое и работающее как можно проще. В библиотеках stm32(в которых я крайне не шарю) что-то похожее на мануал к SX1278, но где-то что-то упускаю, не знаю какой-то фичи, из-за которой не начинается передача, нужна помощь того, кто это уже делал.
SX1278_defaultConfig(module); //setting base parameter
SX1278_SPIWrite(module, REG_LR_PADAC, 0x87); //Tx for 20dBm
SX1278_SPIWrite(module, LR_RegHopPeriod, 0x00); //RegHopPeriod NO FHSS
SX1278_SPIWrite(module, REG_LR_DIOMAPPING1, 0x41); //DIO0=01, DIO1=00,DIO2=00, DIO3=01
SX1278_clearLoRaIrq(module);
SX1278_SPIWrite(module, LR_RegIrqFlagsMask, 0xF7); //Open TxDone interrupt
SX1278_SPIWrite(module, LR_RegPayloadLength, length); //RegPayloadLength 21byte
addr = SX1278_SPIRead(module, LR_RegFifoTxBaseAddr); //RegFiFoTxBaseAddr
SX1278_SPIWrite(module, LR_RegFifoAddrPtr, addr); //RegFifoAddrPtr
int SX1278_LoRaTxPacket(SX1278_t * module, uint8_t* txBuffer, uint8_t length,
uint32_t timeout) {
SX1278_SPIBurstWrite(module, 0x00, txBuffer, length);
SX1278_SPIWrite(module, LR_RegOpMode, 0x8b); //Tx Mode
Вот там делают точно то же самое, базовые параметры модема, заполняют буфер Fifo и шлют даже не пачкой а побайтово, активируя как в мануале TX_ON через RegOpMode(0х01)=0x8b, но у меня он возвращает IrqFlags(0х12)=3 “статус передача окончена”, хотя реально ее не было. 😕
Что значит не есть реальный код? А какой он? Компилятор собирёт “что то”, это как?
Функции хал стм32, которые в данном файле используют, вы можете реализовать сами где угодно, на каком угодно МК. А что касается самой лоры, посмотреть можно сдесь.
Ясно, что нужно править руками.
Вот там делают точно то же самое, базовые параметры модема, заполняют буфер Fifo и шлют даже не пачкой а побайтово, активируя как в мануале TX_ON через RegOpMode(0х01)=0x8b, но у меня он возвращает IrqFlags(0х12)=3 “статус передача окончена”, хотя реально ее не было. 😕
На сколько я понимаю, там есть ешё некая инициализация. Она так же описана в драйвере. Просто посмотреть по дефайнам, что именно нужно дёргать.
там есть ешё некая инициализация
“нечто” кроется в деталях )))
Как минимум, часто режим работы ВЧ модуля в режиме ПЕРЕДАЧИ данных (то что реализовано в приведенных Вами либах) ОТЛИЧАЕТСЯ от режима, применяемого в маячках.
Лучше уж научиться устойчиво управлять/инициализировать 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
подскажите можно ли для вашего поискового устройства использовать ардуино, например, про мини…прошить вашей прошивкой?
Можно.