Радиомодемы OpenBee - часть вторая. Si4432.

Получил радиомодули Si4432, переделал радиомодемы.
Программа-максимум выполнена - модем за 6 баксов собран.

  • 12997
Comments
gorbln

Описание здесь.

Covax

круть! я бы продлил на 5-7 мм место на текстолите, там где крепится антенна, и намотал бы вокруг этого дела и антенны нитку на циакрине 😃

gorbln

Ну, вообще, это мысль… Можно вклеить внутро спиральки пластиковый штырь. Но вообще - антенна очень гибкая, и непохоже, что она может отломить дорогу на плате.

А вообще - за нитку на циакрине - люто плюсую! Мой любимый способ крепить всякую хрень.

chanov

Супер! Реализация прям похвальна, хорошее устройство, испытания полевые уже были? …
p/s Но паять не буду))), т.к. времени и так в обрез на всякое (уже очередь из того что доделать и с чем разобраться на год вперёд )

gorbln

У меня пайка - это такое, расслабляющее хобби. Ему я предаюсь с удовольствием =) В выходные рылся на балконе и внезапно нашёл неоновые индикаторные лампы. Следующий проект - Nixie Clock

Covax

Егор, принимай заказы)

gorbln

так это… только в путь. =)

omegapraim

Круть несусветная обязательно спаяю
, пусть и нет в них потребности, но я знаю что в них 1000% нужно сделать)))) встроеный блюпуп модуль для подключения к телефону))))

rinatka7

встроеный блюпуп модуль для подключения к телефону))))

Плюсую!!! Сам такое делал пару дней назад!

omegapraim

Да у меня тоже самое с 3др вытворено по факту надо двухслойку делать с одной стороны модуль с другой другой модуль)))))).

gorbln

Антенну блютуфную только надо за металлизацию вынести. и порядок.

gorbln

Надо замутить 2-стороннюю плату для заказа на SEEDStudio. Чтобы и так, и сяк, и с блюпупом =)

alexeykozin

сидстудио мне второй месяц шлет платки емсом
уплатил федекс- но сказали в рф не берут
сколько дальность получилась?

gorbln

Честно - не проверял. Особо возможности не позволяют да и задачи такой - ОМГ дальность - нет. Мне бы ПИДы на поле покрутить… С такой антеннкой особенной дальности ждать не следует, думаю, как у автосигнализации средненькой, метров 250-300. Опять же, модем делался для ардупилота, там поток большой валится. А если для вия сделать, да скорость пониже в канале - может, и подальше лупить будет.
С сидами, говорят, да, беда в последнее время. ITEAD studio хвалят - хотя судя по сайту - та же контора.

Shuricus

Егор, я бы тоже заказал с блютусом. Можно?
Во сколько выйдет?

Covax

Тогда уж наземный модем должен иметь гнезда и для блютуза и с ftdi сразу, чего уж мелочится)

gorbln

Александр, я не могу определиться с ценой. Сам модем недорогой, но БТ будет стоить столько же, плюс плату уже заказывать надо - она будет 2-сторонняя. Ради 1 штуки не хочется заморачиваться

Shuricus

Егор, я просто видел фразу - “так это… только в путь. =)”, и решил, что у вас уже производство. 😃 .

schs

Я бы тоже купил пару, потому как делать самому - катастрофически не хватает времени. Тоже для ardupilot\arducopter нужен.

alexeykozin

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

gorbln

“По просьбам трудящихся”
Развёл модем со встроенным Bluetooth. Плата абсолютно неизготавливаемая в любительских условиях =(
Много via.

Если будет много (больше 6) желающих - готов заказать платы на HQEW.
Ещё - не делайте платы для заказа на стороне в Sprint. Это трахотун какой-то =( Via отсутствуют, делаю их контактами - соотв-но, они будут открыты от маски. Лого не всунешь, только рисовать линиями. Совершенно неизвестно, как спринт импортнёт слои маски в гербер - вангую, что весь silk пойдёт прямо по контактным площадкам.
В общем-то, так и получилось. Пришлось переделывать все компоненты. Зато нашёл как закрыть via. В панели инструментов есть кнопка “маска” - и там можно выбрать, что открывать, а что нет.

schs

Будете заказывать - я пару плат купил бы.
Посмотрел в pcb.hqew.net price calculator,
платы 5×5(cm) 10шт. получается 16$ с доставкой.

gorbln

да. Дешевле, к сожалению, не нашёл

schs

Нормальная цена IMHO, но мне 10 тоже не нужно.
Кто хочет вскладчину?
P.S. Si4432 пришли на удивление быстро.

Shuricus

А может кто-нибудь на продажу будет делать?

omegapraim

Посчитай во сколько все обойдется а потом прибавь ту сумму которую бы ты хотел отдать в навар. А потом подумай будет за эту сумму кто то корячиться и паять)))) или нет.

gorbln

Сейчас мыслей что можно сделать - много. Пока почему-то нет желания.
Из планов:

  1. Сделать проект универсальным - окончательно отпочковаться от OpenBee, переписать кой-чего из кода, немного переделать функционирование.
  2. Сделать поддержку других радиомодулей - в первую очередь NRF24L01 - ибо их можно подключать через относительно недорогой WiFi-бустер.
  3. Сделать поиск по каналам, автонастройку, автобинд, прочую хренотень. Половина придумана, половина - нет. Лень.
  4. Имплементировать восстановление данных (с избыточностью) по соответствующим алгоритмам.
  5. Сделать, чтобы размер посылки не был ограничен 37 байтами. Надо разбираться, но, думаю, реально довести до 200-300.
  6. В связке с предыдущим пунктом - перевести модем на аппаратную платформу STM32 (за которую ратует ув.Raja)

Всё вышеперечисленное требует нормальных программистских скиллов, с чем у меня не очень. Разобраться можно, но долго и геморно.

Prsh

Егор, не знаете случайно какой чип стоит в RFM22B и в RFM23BP - тот же Si4432? (на фото что мне попадались по маркировке не понять)
И еще, у всех 3-х плат по крайней мере протоколы одинаковые или нет? (последнее конечно содержиться в описаниях, но может вы сразу скажете, чтоб мне не изучать…)

gorbln

Знаю, конечно. Чипы разные - это Si4432 у Si4432 (да, я кэп) и у RFM22B, а какой чип у силабсов соответсвует RFM23, я не интересовался =) Но протокол у них одинаковый, так что модули взаимозаменяемые, если не учитывать разницу в распиновке и мощности.

Prsh

Я знал что вы знаете! 😃 Спасибо.

mikush

Собрал себе пульт на Si4432, да вот беда, при выставление больше 8db модуль виснет. Находится всегда в статусе tx, на переключение не реагирует. Так как у Вас есть опыт не подскажите возможную причину? модуль не экранирован, может влияет сам на себя при передаче/просадка питания/ битый чип?

gorbln

К сожалению, опыта у меня не так много. Поэтому точную причину не скажу. Могу предположить только просадки по питанию.

NARAJANA

Как я понял, по статье на хабаре, можно вместо Si4432 установить RFM23BP? Часть схемы с Атмегой, прошивка, настройка остаются те же и это будет работать c Ардупилотом и МиссионПланнером?

gorbln

Это который одноваттный? Да, можно, только надо посмотреть, как у неё с питанием - вроде как 5 вольт

NARAJANA

По даташиту 5в. То есть, можно упростить схему, отказаться от линейного стабилизатора на 3,3в.

gorbln

Видимо, да. У меня такого модуля нет, к сожалению.
Следует понимать, что модем по этой схеме не совсем то же самое, что и модем 3DR. Хотя радиопередающая часть у них практически идентичная - в части процессора 3DR гораздо более продвинут. Ну и само собой, программа там очень хорошая. Я начал её разбирать, да так и забил - не особо интересно этим в одиночку заниматься, учитывая, что программист я как из мармелада пуля.

ВлАс

Егор, помоги скрестить 4432 и арду мини.
Пришли ко мне 4432, а процессоры заказал в виде арду мини про, так получилось дешевле, особенно если посчитать красивый маленький кварц в комплекте. посмотрел по выводам и получилось, что практически совпало, но надо немного переделать, чтобы было как на
фото
А именно:
SDO PD7 (11)
SDI PD6 (10)
SCLK PD5 (9)
nIRQ PD3 (1)
nSel PD4 (2)
В скобках нога 328 меги
Наверно надо так?
#define SDO_pin 7
#define SDI_pin 6
#define SCLK_pin 5
#define IRQ_pin 3 <-----------наверно это nIRQ и его на PD3 ?
#define nSel_pin 4
#define IRQ_interrupt 1 //!!! D3 !!! <-------- А этого не понял

Еще хочу питать мегу от 3.3в, дабы не навешивать стабилитронов, но не знаю как сама мега отнесется к TTL на TX/RX.

И поскольку есть готовый СД хотелось бы переключить на него.
Наверно так?
#define RED_LED_pin 13 (это PD13)
Я в программировании не очень, надеюсь на помощь:)

gorbln

По выводам всё так вроде бы. Жёсткие требования там только к выводу, на который подключается nIRQ. Про “#define IRQ_interrupt 1 //!!! D3 !!!” - Это я для себя отметил, чтобы не забыть. Источник прерывания определяется здесь.
Сорри за поздний ответ, оповещения не приходят

ВлАс

Егор, собрал, пробую настроить.
На сколько я понял нужно настраивать в отдельной программе, перечитал дневник и хабр, так и не нашел чем настраивать.
Но не в МР?

ВлАс

По-меленьку разбираюсь, настраивается ч/з терминал, но почему тогда не подключается к МР?
И какие настройки надо прописать для АРМ? Ч/з МР настроек гораздо больше и по названию не похожи, что-то я упустил 😦

ЗЫ: есть рабочая пара на 433, как прописать настройки?

Дописано: это должна быть одинаковая пара? Т.е. тут свой протокол, не мавлинк?

gorbln

Тут режим прозрачного порта. Скорость в канале выставьте пониже, посылок от АРМ к модему поменьше. В общем, как по рекомендациям 3DR для условий плохого приёма.
Родным конфигуратором мишн планнера, естественно, модем не настраивается. Настраивается через терминал при замыкании ноги SET.

gorbln

Если честно, этот проект я забросил после того, как собрал нормальные радиомодемы на модулях HM-TRP, что и вам советую. Однако, при соответствующем развитии, можно получить неплохую штуку типа 1-ваттного модема.

ВлАс

Спасибо Егор, можно еще расшифровку 4-х пунктов меню?

ВлАс

HM-TRP это которые на SI1000, такие у меня есть, я хотел еще сам сделать 😃

gorbln

Про расшифровку.
To change settings, type a number 1…4",
“1-Carrier freq; 2-RF Header; 3-Serial speed; 4-Air speed”,
1 - несущая. Она одна, frequency hopping-а нет. 410000 - 470000 КГц.
2 - RF Header - это такая штука, по которой модемы отличают “ага, пакет мне”. Должна быть одинаковая на двух связанных модемах, иначе они не сконнектятся. Крайне не ремомендуется метка “OLRS”.
3 - скорость последовательного порта на приём. Почему-то у меня оно ограничено 65 Кб/с. Но можно задать жёстко при компиляции нужную.
4 - скорость в радиоканале (пока что только 38 или 57 Кб/с)

Про HM-TRP - да, они.

Oluch

Подскажите как конфигурировать Si4432? Надо изменить RF Header. Что-то АТ команды он не понимает… у меня 😦

Тоже пока не получаеться их запустить.

gorbln

А в честь чего он должен понимать АТ команды?
Si - это просто радиомодуль. RF header, конечно, конфигурируется в нём, но посредством служебных команд, передаваемых по интерфейсу. АТ-командами конфигурируется 3DR-овский модем, к которому ни Si4432, ни модем, описанный в записи, не имеют отношения.

Oluch

И? Как это сделать? Какие и как передать служебные команды для конфигурации?

martinhelix

Все очень просто !

Oluch

😃
И КАК?

gorbln
Oluch;bt140093

И? Как это сделать? Какие и как передать служебные команды для конфигурации?

Прямо НАД вашим предыдущим постом с вопросом рассказано, что значит каждый из пунктов меню. Если что непонятно - спрашивайте, но там, вроде всё вполне прозрачно.
Настроечный режим включается при замыкании ноги SET на + и включении модема. Скорость 9600.

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

Oluch

А как попасть в это меню?
Включил в режим SET, подключил к терминалу, но ничего не происходит, нет никакой реакции. Что надо прописать в терминале чтобы увидеть это меню или как добраться до настроек? Надо прописать какие-то стринги? Какие и как? Мне надо изменить частоту - поставить 470Mhz, сейчас 433, понизить мощность с 500mW до 250mW и прописать другой RF Header. На модеме горит индикатор “Чтение”.
Если Вам несложно будет, то объясните подробно для чайников. Заранее благодарю.

gorbln
Oluch;bt140305

А как попасть в это меню?
Включил в режим SET, подключил к терминалу, но ничего не происходит, нет никакой реакции. Что надо прописать в терминале чтобы увидеть это меню или как добраться до настроек? Надо прописать какие-то стринги? Какие и как? Мне надо изменить частоту - поставить 470Mhz, сейчас 433, понизить мощность с 500mW до 250mW и прописать другой RF Header. На модеме горит индикатор “Чтение”.
Если Вам несложно будет, то объясните подробно для чайников. Заранее благодарю.

Ещё раз - что у вас за модем?
Если моей конструкции - подключаете его к UART-у, питание не подаёте. Открываете терминал, порт уарта, скорость 9600. Замыкаете сет на +5 и подаёте питание. Либо такой вариант - замыкаете сет на +5, после чего сбрасываете модем, замыканием ноги ресет на землю. Видите меню.

С какого перепоя у Si4432 вдруг появилось 500 мВт? В данный момент из меню мощность не настраивается, можно убавить при компиляции прошивки.

Oluch

У меня готовый модем SV651 на основе Si4432. Он как раз на 500mW.

gorbln

Так. А я тут при чём? Мой модем ни разу не готовый, не на 500 мВт, и ни малейшего отношения к вашему не имеет.

Oluch

Мне казалось, что Si4432 работает одинаково в любом модеме… спасибо за интеллигентный посыл.

gorbln

одинаково. Но мой модем, кроме Si, содержит ещё атмегу. И все настройки делает и хранит именно мега. Si - штука тупая. Если это, конечно, не Si1000, как в 3DR-овских модемах

Oluch

Понял. Спасибо за ответ. Буду курить дальше 😃

gorbln

Я просто не понимаю, в чём ваш вопрос. Если как работать именно с модулем Si4432 - там всё в даташите на RFM22 (что является ребрендом силабса) написано, надо его курить. Написано очень понятно, просто там этих регистров хренова гора, и режимов работы тоже. Я всё это разбирал, но сейчас уже забыл - давно было дело.

Александр_Викторович

Егор здравствуйте!Подскажите , у вас по SDO , nIRQ нет ограничителя уровня , Там только выход с si4432? или лучше сделать. (пардон если вопрос глупый,только начинаю разбираться)

Александр_Викторович

Разобрался 😃

Александр_Викторович

Егор здравствуйте! Сделал несколько устройств на связке ардуины и si4432. Раньше вешал на общее питание 3.3в всё работало без проблем, например маяк cloclo11.cloud.mail.ru/…/Sun Nov 22 17-27-32.jpg?x…
Потом решил решил сделать по феншую, питание 5в на мегу, согласование уровней, как у вас, но возникла проблема, на приёме всё ок, на передаче после первой посылки виснет 4432 и атмега328 теряет с ней связь.Третий день пытаюсь победить установкой конденсаторов по питанию cloclo11.cloud.mail.ru/…/Sun Nov 22 17-30-30.jpg?x…, экранировал,выносил антенну на кабеле- стабильной работы всё равно нет.У вас не возникало подобных проблем, мне кажется причина в цепи согласования уровней .Может туда вч попадает. Попробую шунтировать ёмкостью. Может кто проходил уже через эти грабли?

Александр_Викторович

проблема решилась переустановкой стабилитронов, в непосредственной близости ко входам si модуля.Думаю может ещё к земле подтянуть сопротивлением 1к

pdv=

чет ардуина иде 1,6,1 не хочет компилировать основной скетч(

p.s. test_drive компилит на ура!

pdv=

пишет ошибку
In file included from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:28:0,
from OpenBee_conc.ino:21:
Functions_menu.ino: In function ‘void settings_menu()’:
Functions_menu.ino:34:25: error: variable ‘menu’ must be const in order to be put into read-only section by means of ‘__attribute__((progmem))’
Ошибка компиляции.

pdv=

компилирую для ардуино мини 5в/16мгц

pdv=

разобрался. с новой версией 1.6.8 все нормально!)