nRF24L01+ : побеждаем модуль.

Тема в разделе "Проводная и беспроводная связь", создана пользователем ИгорьК, 19 июн 2014.

  1. Wolferio

    Wolferio Нерд

    Добрый вечер. Скажите пожалуйста здесь пишут про конденсаторы 1-2,2мкф, а сколько вольт на них должно быть, а то уменя есть 16в, 50в, они подойдут?
     
  2. NikZ

    NikZ Нерд

    В общем, держите лайфхак:)
    Осознал, что надо не просто палец, а еще и одновременно коснуться земли им. Итоговый вариант получился такой:
    16052017035.jpg 16052017036.jpg
    Фольга с обратной стороны изолированная, маленький черный провод соединяет ее с "-" питания. Работает пока стабильно, посмотрим на полет дальше
     
    ИгорьК нравится это.
  3. NikZ

    NikZ Нерд

    И да, разнести модули не помогло:(
     
  4. talan

    talan Нерд

    ДОБРЫЙ ДЕНЬ ! ЕСТЬ ВОПРОС К ЗНАТОКАМ . Данные модули поддерживают разные виды передачи , особенно интересует отправка пакета без подтверждения , произвольной длинны. Задача - есть 15 модулей , пишется всё на ассемблере , так как многие вещи на виренге не сделать (или будут работать очень медленно, но не суть , главное алгоритм) . 1 модуль - центральная станция , имеет имя передачи подставляемое (например 1, 2, 3 ------9, A,B,C,T,S - сокращённое название приборов и общий для всех - О,) , имя приёма М . У остальных модулей адрес передачи М , а приёма в зависимости от номера (названия ) и общий(вторая труба). Основной (М) поочерёдно, по кругу, отсылает пакеты с адресами 1,2,----,S . Приёмники , уловив свою комбинацию адреса , начинают обмен между своим контроллером по прерыванию от NRF по IPS (зачем всё время заставлять программы приборов опрашивать свои модуля ), обработав пакет , выполнив нужные телодвижения , они(приёмники- исполнительные приборы) формируют ответ и отправляет по адресу М ( не перестраивая адресации у себя , так как имя приёма допустим у 1 прибора - 1 и т д , а адрес передачи у всех М и у нас нет автоподтверждения ) Если длинна пакетов всегда одинаковая , то тут проблем как бы нет , а вот если пакеты разной длинны ( в рамках 32 байтов ) - будет ли это всё работать ? и как и что настроить ?
     
  5. mcureenab

    mcureenab Гуру

    Вы бы текст хотя бы на абзацы поделили и шаги пронумеровали.
    Не понятно, к чему огород, когда полно готовых решений.
     
  6. talan

    talan Нерд

    Странное поведение модулей.
    Авто ответ не работает
    Насчёт алгоритма работы с пакетами произвольной длинны без авто подтверждением оказалось проще:
    последние 2 байта настройки NRF отвечают за это , но подтверждение почему то не работает (хотя в 0х01 EN_AA указан канал на подтверждение )
    выставляем в 0х1C DYNPO наш активный канал и все флаги регистра 0хD FEATURE
    отправляем данные командой 0xB0 (без подтверждения ) и за длину пакета ( в рамках 32 байт )можно забыть
    Но вот какой нюанс - переход с приёмника на передатчик занимает 30ms многовато
    все настройки проверялись прямым считыванием из NRF всё совпадает
    Насчёт имён - при данной настройке с именами можно крутить как хочешь , лиж-бы совпадала ветка передатчик-приёмник ,
    допустим 1 модуль имеет имя своё (приёмника )- А , 2 модуль В
    то для передачи 1 должен В а второй А
    и ещё не обязятельно давать импульс 10 мкс для передачи - переключили на передатчик , подняли CE , дождались прерывания по окончанию передачи , переключили регистры на приём , очистив буфер приёма NRF
     
    Последнее редактирование: 19 май 2017
  7. Oleg_7

    Oleg_7 Гик

    Добрый всем день! Столкнулся с такой проблемой: модуль работает на Ура сутки, пять, , а потом наглухо вешает ардуинку вот на этом моменте if(radio.write(&this_myroom[k], sizeof(room))) Даже РЕСЕТ всей платы не всегда помогает для возобновления работы, в чем может быть дело ?
     
  8. NikZ

    NikZ Нерд

    Сильно смущает sizeof(room). Что есть room, и почему отправляется другая переменная? По идее, тут должен быть размер именно отправляемого буфера
     
  9. Oleg_7

    Oleg_7 Гик

    room- это структура, соответственно: room this_myroom[k]; Модуль у меня с усилителем и антеной, так вот, когда он наглухо зависает вместе с ардуинкой, то если к нему прикаснуться (к нрф-ке), то все оживает!! Что за мистика такая ?!)) еще заметил, что эта нрф-ка оч греется...... Странно...
     
  10. dadrum

    dadrum Нерд

    Здравствуйте, столкнулся с похожей проблемой - как только прикасаюсь к плате пальцем, передатчик начинает работать. Все перепробовал с этого форума, поставил даже модуль AMS1117 3.3 - теперь ход дошел до фольги. Скажите, чем изолировали, сколько витков фольги, и по фото плохо видно какой номинал конденсатора у вас напаян - 103? не маловато?
     
  11. NikZ

    NikZ Нерд

    Надо нрфку заменить, я ни разу не замечал, чтобы она грелась.
    Повисать ардуина может, если в процессе работы с нрф у той отваливается тактирование. Я пробовал (случайно, правда) срывать генерацию кварца нрфки, и да, скетч повисал совсем. Возможно, есть косяк монтажа/брак, надо попробовать другой модуль
     
  12. NikZ

    NikZ Нерд

    Нет, учитывая, что питание ее сделано на AMS1117-3.3 + электролит на 10мкФ у ног. Этот так, против ВЧ-помех по питанию.

    Фольгу я дернул с корпуса старого ноута, у ней одна стороны покрыта напылением пластиковым + она липкая. Можно взять любую другую, и сначала плату обернуть чем-нибудь тонким и токонепроводящим. Число витков не имеет значения, главное хоть один, ибо это по сути своей экран. И не забыть подпаять эту фольгу к минусу питания.

    Можно попробовать еще обойтись кусочком 1 на 1см, и разместить его с обратной стороны платы под кварцем. Этот вариант у меня тоже заработал, но мне он показался ненадежным.
     
  13. dadrum

    dadrum Нерд

    Сейчас замерял напряжение после AMS1117, в покое 3.27 и при передаче 3.25 не мало для этого модуля? читал что он привередлив...
     
  14. NikZ

    NikZ Нерд

    Действительно маловато, на входе у амски сколько дается?
     
  15. dadrum

    dadrum Нерд

    В покое 5.05, при нагрузке 4,7
     
  16. NikZ

    NikZ Нерд

    Выход с +5V ардуины? Надо туда тоже бы стаб/отдельное питание, AMS при таком входном не гарантирует норму на выходе, емнип
     
    Последнее редактирование: 21 май 2017
  17. dadrum

    dadrum Нерд

    Помогло, спасибо.
    Обмотал изолентой модуль, взял у жены фольгу для запекания, подсоединил к земле модуля и сделал 4 витка :). Приемник что-то стал получать ПРОГРЕСС
     
    NikZ нравится это.
  18. NikZ

    NikZ Нерд

    Отлично:) Главное, чтобы фольга антенны/ног не касалась
     
  19. Oleg_7

    Oleg_7 Гик

    А греться она начала, как только я ей конденсатор напаял...........! ) Когда зависает это чудо, а зависает она только при отправке!, только стоит прикоснуться пальцем к плате НРФ-ки, и все -отправка и работа возобновляются! Че делать, не понятно....)
     
  20. ИгорьК

    ИгорьК Гуру

    Купить нелевые, нормальные модули.