Трансивер Radiocrafts RC1240

В поисках идеального трансивера я надыбал пару RC1240. Дорогие, падлы, по две тыщи штука. Намутил, пора приступать к жестоким экспериментам.

Итак, что нам обещают разработчики?

  • Дальность связи аж до 4х километров в идеальных условиях.
  • Многоканальный
  • Скорость передачи данных 4.800 кбит/с, полудуплексный режим.
  • Адресация на уровне протокола
  • 128 байтный буффер
  • Коррекция ошибок
  • Питание от 3 до 5 вольт

В общем, неслабый фарш. Хотя, за такие деньги это нормально. Немного потупив в мануалы я приступил к сборке.

Несколько дней назад меня предупредили, что эти радиомодули ОЧЕНЬ БОЯТСЯ статики. Чтож, кто предупрежден, тот вооружен. Перед работой обработал одежду и стул антистатиком (обычный бытовой, продается в хозмаге), а также зачистил на батарее отопления контактную площадку к которой прикладывался перед каждым взятием модуля в руки.

Трансивер RC1240 от Radiocrafts идет в планарном корпусе. с выводами площадками.

Ставишь его на плату и припаиваешь ножки по периметру, причем большая часть ножек у него липовые. Точнее тестовые и не используются в работе. Проблема еще в том, что под корпусом у него дофига каких то левых контактов, которые нельзя трогать. Поэтому разводить все дорожки приходится по периметру, получается громоздко. Чтобы ты не парился, в случае чего, я тут развел макеточку для этого модуля. Она односторонняя, почти, снизу сплошной земляной полигон. Файлик с печатной платой найдешь в конце статьи.

Бета версия отладочной платы. Финальный релиз содержит в себе ряд дополнений, не учтенных на этой плате :)

Проверка работы
Первым делом надо было добиться хоть какой то реакции от модуля, поэтому я решил подрубить его через MAX232 к компу, чтобы пообщаться напрямую.
Для этого мне нужны были выводы RxD, TxD, Config и, на всякий случай, Reset. Причем разработчики в даташите настойчиво уверяют в том, что можно сильно все упростить. То есть можно все изначально настроить, почти все выводы повесить на подтяжку и использовать только RxD и TxD. Но, как сообщил мне Сергей aka Dikoy (обитающий на форумах ixbt и rcdesign, маняьчит по радиоуправлению и беспилотным системам) , есть у этих модулей бывают проблемы с запуском, поэтому без RESET не обойтись. Остальные можно повесить на подтяжку в единицу. И вот тут…

ВНИМАНИЕ!!!
Для подтяжки выводов к единице нельзя использовать напряжение питания! Для этого есть специальный выход VDD — это выход с внутреннего стабилизатора на 2.7 вольт. Причем использовать этот питальник в своих гнусных целях нельзя! Он только для нужд передатчика. Так что все неиспользованные выводы, а у меня это CTS и RTS я посадил сразу на VDD.
Судя по таблице из даташита, на входах RXC, TXC, CONFIG, CTS, RTS cтоит сопротивление в 100кОм, а на RESET резистора нет и только защитный диод на внутреннюю шину 2.7 вольт, да подтягивающий резистор на 100к. Какой из этого вывод? А то что если RESET повесить в воздухе, то он подтянется до единицы. Если его прижать к земле, то будет сброс. А если подать извне на RESET стандартную пятивольтовую логическую единицу? Модуль сдохнет! Вот так вот, по крайней мере разница в 2.3 вольта (5-2.7 =2.3) рванет вверх по защитному диоду и накроет все, что висит на 2.7 вольтовом источнике. Поэтому нужно обезопасить себя от такой напасти. Ставим диод, лучше Шоттки, да еще резистор ограничительный на 10к. Вот теперь RESET’у ничего не страшно.

Подключил MAX232 и кучу времени убил на то, чтобы получить от модуля хоть какую то реакцию. Я его и так и эдак, а он ни в какую. Под конец случайно поймал осциллографом какую то козюлину. Пригляделся… очень похож на код символа ‘>’. Обана!!! Подключил второй канал, чтобы сравнить вход и выход, послал на вход ‘>’ и понял на какие грабли я наступил — неправильно выставил частоту порта. Почему то я считал, что по дефолту частота порта 4.800кбит/с, перепутал с частотой передачи радиотракта. А модуль, оказывается, общается на скорости 19.200кбит/с. Внимательней надо читать даташит!

Адресация
Модуль может работать в двух режимах:

  • В прозрачном режиме данные не буфферизируются и модуль работает просто как удлиннитель UART. Что вошло — то тотчас вылезло наружу с другой стороны. И обратно. Как HM-TR433.
  • В адресном режиме у каждой стороны есть свой адрес, а также адрес подсети в которой он состоит. SystemID (SID), UniqueID (UID). SID должен быть один у всей группы модулей, а вот UID у всех разный. Для передачи мы задаем адрес принимающего модуля DestinationID (DID) и шлем байты. Все модули подсети принимают пакеты, сверяют адреса, проверяют корректность приема и если все правильно, и адрес совпадает, то, оторвав заголовок пакета, шлют его в UART.
    Также у каждого модуля есть такой параметр как широковещательный адрес. Он нужен если надо послать одну посылку сразу всем. По дефолту он 0xFF, но можно задать любой и наплодить таким образом кучу групп. Удобно, блин.
    Передача начинается в трех случаях:
    1. Входные данные забили пакет до конца (длинна пакета задается)
    2. Возникла пауза, по дефолту 2 секунды, но настраивается.
    3. Получен символ конца пакета (задается в настройках)
    Как только это случится — данные полетят по воздуху принимающей стороне.

Настройка модуля RC1240
Вкурив в эту нехитрую систему я подключился к модулю и послал ему сигнал на конфигурацию — кратковременно посадив вывод CONFIG на землю. Модуль бодренько отозвался дежурным приглашением ‘>
Набрав команду ‘0’ я получил дамп его параметров. Убедившись, что все в дефолте, я отправил следующую последовательность:
‘М’,0x19,0x02,0xFF,’X’
  • M — вход в режим программирования памяти. Ответом от модуля должна быть ‘>’
  • 0x19 — адрес ячейки куда я хочу записать, там лежит UID. Ответа не должно быть
  • 0х02 — новое значение UID, будет нумер дыва. Ответа также нет
  • 0хFF — записать значение в память. Ответ ‘>’
  • X — выход из режима конфигурации. Ответа также нет, так как модуль уже готов к приему данных.


Опять бросил конфиг в землю, послал ‘0’, получил дамп настроек и убедился что в 0х19 ячейке красуется не дефолтная единичка, а двойка.

Второму модулю я таким же образом подправил уже DID, чтобы слал первому. Кстати, DID можно задавать и по быстрому, без записи в память. Конфиг к земле, а дальше команда ‘T‘ и следующим байтом новый адрес назначения. Потом выход из конфиг режима — ‘X‘ и работаем уже по другому адресу. Но эта настройка временная, до первого ресета. А вот то что мы в память пишем это дефолтные установки.

Собрал кольцо, то есть выход из MAX232 по воздуху загнал на вход его же, но через другой модуль. Один передает, второй принимает. Послал байт — он вернулся. Ок, отлично. Поменял модули местами. Послал — вернулся. Замечательно! Прием и передача работают. Но как то медленно — задержка в 2 секунды… словно байт еле ползет. Хм… подумал… На ум, ничего более умного чем ожидание пока пакет целиком наполнится не пришло. Наверняка таймаут пакета! А длинна пакета у нас, по дефолту, 128 байт вот он и ждет пока не наполнится. Взял и уменьшил пакет до одного байта, перезаписав параметр PACKET_LENGTH по адресу 0х0F. Все отлично, все летает. Впрочем, можно было и таймаут уменьшить.

Подключение RC1240 к микроконтроллеру.
По UART играться неинтересно, надо бы ближе к реальному применению быть. Взял и подцепил все это дело на МК… И вот тут начались проблемы. Сигнал идет с ошибками. Что за нафиг? Полез глядеть осциллографом, а там не прямоугольные импульсы, а какая то размазанная хрень. Словно оплыли все, как сосульки — фронты ни к черту. А все почему? Да потому что разработчики взяли и вкрутили на выход 100кОмное сопротивление. НАФИГА??? Хз. Да, это защищает вход почти до ста вольт перегрузки, но блин, при этом ток мизерный просто, а значит выход TxD не может пересилить подтяжку входа RxD у AVR. Вот засада то. Надо усилить слабый выход модуля.

Порылся по закромам, нашел два транзистора КТ315, на них и сделал. Вот вам, кстати, в копилочку, преобразователь с 3.3 вольтовой логики на 5 вольтовую.

Итоговая схема подключения RC1240 к микроконтроллеру получилась такой

Тест на дальность.
Может мне повезет? и я смогу, таки, обеспечить уверенный прием на каких то жалких 100 метров? Настраиваю на двух модулях прием-передачу одного байта. В качестве антенны цепляю привычне уже проволочные штыри на 1/4 волны. И… обламываюсь. На прямой видимости (5й этаж, подоконник — земля, вижу антенну на подоконнике невооруженным глазом) дальность не превышает 100 метров. Реально же четко дает уверенный лишь метрах на 40. Да что это за дерьмо то такое? Обещано было 4км!!! ГРРРР!!! Пробовал спиральную антенну (17 витков, диаметр витка 6мм, длинна обмотки 3см — как раз для 433Мгц, по какому то мануалу, найденному в Сети) — еще хуже.

Скорей всего в городе просто конкретно засрана 433 мегагерцовая частота. И модуль просто теряется в этом хаосе. Иначе как обьяснить тот факт, что в подьезде через 5 межэтажных перекрытий прием идеальный, а на 50 метрах прямой видимости — Epic fail.
В следующий раз будем брать и тестить RC1290, работающие на 916 Мгц, может там меня будет ждать счастье. Вот только найти бы еще где их купить. Куда ни сунемся, только RC1240, а RC1290 под заказ в течении какого то опупенно долгого времени. А так очень приятный в работе модуль. С удобным управлением и кучей прикольных фишек. Если не обращать внимание на приколы со слабыми выводами, то все замечательно. Но, вот на 433 мгц я бы брать не советовал.

UPD:
Укоротил радио тракт. Точнее отрезал дорожку (длинна ее миллиметров 8, не больше, была) и припаял антенну напрямую к модулю. Врубил на одном конце непрерывную посылку и… смог убежать почти на 700 метров по практически прямой видимости. А вот в обратную сторону сигнал упорно не хотел лезть. Видать дома всякие компьютеры и прочие бытовые приборы создавали фон, заглушающий полезный сигнал. Но уже это неплохо. Девайс реабилитировался. ПОказав дальность под 500 метров в условиях города. В принципе, большего от него при такой мощности никто не ждал.

Файлы по теме:

Ссылки по теме:

60 thoughts on “Трансивер Radiocrafts RC1240”

          1. В принципе, если там пулапа на входе нету, то прокатит. Тут проблема то именно в этом. Но и в габаритах. Два транзистора и два резистора занимают места меньше чем даже soic 14, а если транзы в sot23 взять, то ваще всего ничего.

        1. А? В каком микрочиповском контроллере есть такая фишка с UART??? Неужели я что-то пропустил???
          А почему в базе транзистора резистора нет?
          А еще есть мелкие логические микросхемы в корпусе типа SOT23 с пятью выводам… 2И-НЕ например.

          1. Точно не знаю, но про что то такое вроде бы SWG говорил. В общем, от каких то пиковцев я это слышал.

            А зачем в базу ставить еще резистор, если он встроен уже в модуль (те самые 100к)

      1. А если изменить схему включения транзистора — сделать не с общим эммитером, а с общим коллектором. Т.е. коллекторный резистор ставится в эммитерную цепь и сигнал снимается с эммитера. Такая схема включения не инвертирует сигнал. Единственный нюанс — падение напряжения 0.7В. Я так понимаю 2 транзистора применены только из за того, что выход у радиомодуля 3.3В, а после транзистора останется только 2.6, чего будет недостаточно… При пятивольтовой логиге 1 транзистор был бы не нужен.

    1. а зачем покупать фирменный…. землиться можно обычным проводком через 1 МОм … ИМХО 50 рублей за него я бы не стал отдавать (=
      З.Ы. Хотя я юзаю браслетик от GOOT

  1. Артем, может причина в согласовании антенно-фидерного тракта? К сожалению при работе в эфире нет кнопки «Ну-ка-Сделай-Мне-Красиво», и очень часто приходится ломать голову, почему, устройство, которое, НУУ-ДОЛЖНО-РАБОТАТЬ-И-ВСЕ-ТУТ, просто уходит в отказ. по поводу 916 мгц… Эта частота обладает более высокими требованиями к АФУ. НО! При небольшой мощности и использовании направленной антенны можно добится, например, как у нас примерно 25 км, ну, 5-11 точняком добьешся. К слову, эти расстояния гораздо легче достигаются на 433мгц, просто потому, что длина волны больше, и дифракция у этой частоты лучше, что немаловажно в условиях города.
    ДА! Совсем забыл, что диапазон в 433 в Челябинске не забит. Обьясняется это тем, что большинство ус-тв, работающих в данном диапазоне, обладают мощностью реально меньше 1-го Ватта.(согласно мануалам от Радиочастотного Центра :-))
    Поверь, что при разносе антенн передатчиков одинаковой мощности и частоты на 1-1,5 м и 0,8 по вертикали, они практически не влияют друг на друга. Я не думаю, что на твоей крыше стоит передатчик на 433 огромной мощности.
    Вариант другой: если опасаешься влияния помех со стороны, то измени поляризацию антенны. У нас на 900 Мгц используется вертикальная, например. В реале всего один раз пришлось менять месторасположения антенны, когда коллеги из МТС расположили свою антенну (вроде от релейки) позади моей, в одной вертикальной плоскости, выше примерно на 50 см, вот тогда у меня начался сбой синхронизациив системе ДЕКТ(частота 1800).
    P/S. Я не ругаюсь, просто излагаю свои мысли по поводу того, что РадиоКрафт, скорее всего работает изумительно, просто надо немного больше работать над АФУ, на которое обычно все забивают,т.е. правильные разьемы, кабель и антенны. (1/4 волны антенна, кстати обладает не самыми лучшими характеристиками)

    1. МОжет и антенна. Но я учитываю реальные условия работы. Мне надо будет поставить его на девайс, это будет контрольная система скрыто следящая за показаниями температурного датчика (есть подозрение, что заказчика сильно наябывают, вот это надо без палева выяснить). Да еще антенну нормальную там сделать будет нельзя, только выводить в кожухе питающего провода из наглухо закрытого железного короба. Да ориентация абы какая, т.е. направленная антенна не катит вообще. Поэтому и при испытаниях я не особо напрягался с радиотрактом. Он заведомо будет ни к черту. Вот я и подбираю передатчик способный в самых кошмарных условиях вытянуть хотя бы 100 метров.

      По поводу тракта АФУ может, конечно, и там косяк. Но у меня же как выход модуля, 1см проводок по печатной плате, пад и тут же на него напаяна антенна. То есть ни кабеля выводного, ни разьема ничего.

  2. да, богатый.. кстати, слова DI HALT о RC1290 натолкнули на мысль, а почему бы для подобных целей не воспользоваться комплектующими с сотовых.. на Sony-Ericsson, построенных на процессоре DB2020, применяются подобные целиковые модули.. на самом деле они и на более ранних моделях SE встречались, но там часть обвязки была вынесена в низкочастотную часть.. а на моделях типа K790 стоят законченные устройства, наподобии выше приведенных.. только стоят раза в 3 дешевле.. :) я вот здесь их беру — http://gsmbaza.ru/model800.htm.. только там в прайсе, по моему каталожный номер какой-то, ибо у меня по мануалу этот узел идет как Skyworks 77329-15.. содержит в себе DSP-проц, усилок,свитч диапазонов, обвязку — ну в общем готовое устройство с виду.. надо будет даташит на него поискать.. :)

  3. А по RS232 можно управлять целиком сотовым и слать СМС например. Старые Сименсы по крайней мере…
    Или можно совсем извратиться и написать/найти джава апплет для телефона который будет устанавливать GPRS соединение и передавать данные с RS232. ИМХО, теоретически и такое возможно:)

      1. Сотовый дешевле выйдет чем все эти модули, и паять ненадо:) Чтобы смс отправить, протокол там не шибко сложный. Вопрос только в том хватит ли емкости сообщения и скорости доставки для таких данных.
        Ну и самое главное, будет ли вообще в том месте работать сотовый.

        1. Ога, а если слать надо смси раз в 5 минут, а то и чаще. Да нужна мгновенная реакция, а не когда там соизволит оператор доставить. Тут на одной связи раззоришься. Плюс конструктивное исполнение. Сотовый громоздкий, и никакой надежности от него не ожидается. В общем, там сплошные минусы, не говоря того, что из сотового нормально антенну не вывести даже.

          1. gsm мопед типа sim300d, поднять gprs соединение и вперёд. Только для этого надо со стороны сервера чем-то в инет торчать. Или на одном из узлов статический IP

    1. Видел этот девайс. Дальность 500 метров, против заявленных 2км. С антенной там будут проблемы. На одной из сторон ее конструктивно нельзя сделать нормально. Она выходит из металлического кожуха вместе с проводом питания.

  4. По поводу идеального модуля — а XBee Pro не пробовал?
    http://www.sparkfun.com/commerce/product_info.php?products_id=8742
    Я правда младшими пользуюсь, которые 2mW, но как по мне, то они действительно идеальны — никакой возни с антенным трактом, который согласовать — крыша поедет…

  5. А какая дальность нужна?
    Может быть стоит использовать микроконтроллеры с уже имеющимся RF?
    У pic есть несколько штук для разных частот. Сам не игрался, но согласно докам пиши в буфер и все. Антена внешняя или на плате.
    http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1201&mid=&lang=en&pageId=76

    1. Дальность надо 80метров, но в ацки хреновых условиях. ВРоде этот радиокрафт раскачал на пол километра. Щас еще поэкспериментирую как оно на прием себя ведет.

  6. Ладно, понимаю, сделать хорошую антенну на «передающем» конце не удастся. Но никто же не заставляет делать хреновую антенну и на «приемном» конце? ;) А ведь энергетика канала зависит одинаково от обеих антенн! Так что для хотя бы одной из сторон линка можно сделать приличную антенну. Сейчас конструкций масса, только выбирай! :) Можно на форумах радиолюбителей или вай-файщиков посмотреть, пересчитать под свои частоты.

    Удачи!

    1. Меньшая дальность, большая требовательность к антенному тракту. А тут он заведомо будет отвратительный и исправить это нельзя. Ну и к 433 можно усилок готовый прикупить, их сейчас как грязи. В любом магазине охранных систем.

      1. Понятно.
        А я вот думаю испытать модули AT86RF230 от атмела. Задумано осуществить связь на расстоянии до 5 метров через металлический тамбур. Как думаете, потянут?

            1. Через металл, даже тонкий (фольгу), радиоволны не пройдут однозначно. Только если в обход, через стены, или если в металле есть отверстия размером больше длины волны. Иначе даже сетка — уже экран. Заземление в данном случае роли не играет, если приемник или передатчик находится внутри экранированного обьема.

          1. Посмотрел даташит на модуль RF230 и чуть не охренел. Мне, видимо, потребуются годы, прежде чем он заработает. Я почему-то думал, что такой модуль можно использовать для тупой передачи-приема. Оказывается, там вскроешся программировать. Придется, видимо, идти по Вашим стопам и юзать RC.

  7. Преобразователь с 3.3 вольтовой логики на 5 вольтовую! И как я сам не догадался такое на транзисторах сделать! А то в роутере 3.3 вольта, а у меня в наличии были только MAX232…

    1. А у мобил какая моща? Там же тоже что то мизерное, плюс антенна не пойми в каких условиях сныкана, однако от соты далеко может влупить если видимость прямая.

      1. Точно не скажу, какая мощность у современных сотовых + зависит от стандарта (частоты). Порядка единиц — десятых ватта, это не мИзерная мощность. Зато на базовых станциях на высоких мачтах стоят как минимум 4 узконаправленных антенны, если конечно это не деревня, где сотня абонентов и стоит одна антенка с круговой ДН. И мощность они там я думаю не хилую вкачивают. Так, отвлеклись :)
        А вот у данного модуля макс. мощность — 8dBm, что в ваттах — 10^(8/10)=6.3мВт, а в реале ещё меньше. Кстати, всем Игрушкам у нас отведена мощность до 10мВт. А wi-fi’ю, не знаю как сейчас, а раньше до 100мВт. Так что, это игрушка. Вот, если бы у модуля была бы мощность 100мВт = 20dBm, вот это вещь!

        1. Сейчас даже WiFi которые свободно продаваемые без разрешения ограничение 10мВт, причем раньше встречались старые железки которые были честные 100мВт но давно закончились.

  8. DI HALT прицепи на одном конце к модулю антенку волновой канал на 433 мгц. длина 320 мм на изгибах 32мм, на контактах разрез 25мм. И не забудь прицепить трансформатор от польского усилителя, где з проводка подключай к антенне,средние на корпус,где два
    соедини к трансиверу,один на корпус.трансивер размести рядом с антенной.Получиш дальность 250 метров в любых условиях, и еще подальше уйди с частоты 433.900.Выбери частоту в районе 433.300.Я на этой частоте с двумя вибраторами (как описал) модули RC 1040 (чуствительность -95 дб,похуже чем у тебя) получил дальность около киллометра прямой видимости через стену.
    у меня другая проблемма,не могу сконфигурировать чтобы модуль слал пакеты по кольцу.
    Принимает отлично,а назад отдавать отказывается ,пробывал все варианты.Скачал утилиту, у них на сайте есть.Там можно сделать любую настройку . ни как не пойму в чем дело,может у 1040 есть какойто глюк?

    1. Да я думал про ягу. Громоздко и хрупко, а там контингент такой что… короче лопата это самое сложное устройство которое они не сломают :) Да и прототип уже ушел на тестирование. Пока отбой. Вот скоро придет еще пара модулей попробую их раскачать.

  9. А если вместо транзисторов прилепить HCPL2630?
    А если попробовать (при таком изврате тех задания) что-то высокочастотное передать через питание? Возможно оно будет лучше работать чем с радиомодулем… Или совсем не будет. ;o)

  10. 15.04.2009
    На склад КОМПЭЛ поступила новая серия недорогих радиомодулей Radiocraft RC11xx-RC232, построеная на основе трансиверов CC1101 компании Texas Instruments. От модулей серии RC10xx их отличает увеличенная скорость передачи данных, расширенный температурный диапазон и меньшая цена.
    Подробно на http://compel.ru/news/company/2009041401
    DiHalt расскажет Вам как это можно заказать через нас.

  11. Очень полезная информация. Особое уважение вызывает способность автора пробиться через многочисленные недосказанности и двусмысленности даташитов. Да и в комментариях нашел немало полезного. Поскольку мучаюсь над подобной задачей, здорово помогло.

  12. Дорогие модули достаточно. А если собрать свои радиомодули? Там 3 детальки нужны то. Приемник вот например на микросхеме К174ХА34 (зарубежный аналог TDA7021)
    http://vrtp.ru/index.php?s=c6997315ad8f4820bf8ad9fd5489ff6a&act=ST&f=46&t=6216
    цена микросхемы 19 руб
    http://www.radiosait.ru/page_1244.html
    КС1066ХА1(аналог TDA-7000)
    передатчик на одном транзисторе, с ЧМ модуляцией, надо только номиналы деталей подобрать один раз.
    Данные можно также, наверное, ловить и передавать через UART или програмно биты отлавливать.

    1. решение не для промышленной передачи данных, а для того чтобы передать данные с датчика температуры раз в час, что-нибудь подобное, включаем передатчик, шлем пару байт, выключаем, работает мало, мощность маленькая. Плюсы низкая цена и доставаемость деталей. Минусы пиратский диапазон (хотя и мощности мизерные), и сложность в первой конструкции, я готового не видел чего-то подобного, и нестабильность частоты. Если взять передатчик с кварцем, непонятно как его модулировать по частоте…

Добавить комментарий