Много мусора у NRF24L01 + PA + LNA

,

“у модулей с длинной антенной такой проблемы нету”

У меня как раз с длинной антенной.

попробуйте показать фото вашей пайки… и возможно все станет ясно…
к сожалению предлагать то что вам покажется разумным, и тем более 10ки вариантов у меня стоит от 100к…)))
а доказывать от 300к!

1 лайк

Как на базар пришел, молю, избавьте меня от этой участи и скажите как удалить вопрос…

Причем тут пайка? Там два бедных конденсатора, один электролитический на 10V 200мкф и второй керамический 104 для сглаживания шума с ESC. Оно там припаяно от души, припоя не жалел. Припаял к GND и VCC на самом модуле, после стабилизатора. Естественно я уже проверял пайку и дело точно не в ней.

сколько раз мы это слышали…
А потом человек выкладывает фото и оказывается что пины в Нано просто вставлены в дырки

Я. по-моему, уже спрашивал - если вы так уверены, что у вас и код правильный, и сборка отличная - чего вы ждете от форума? Нафига вы пришли?

“Невозможно научить того, чья чаша полна” (с)

Я лишь исключаю те варианты, которые бесполезно рассматривать. Да и что можно там неправильно припаять? Это надо быть ребенком солнцач чтобы разве что перепутать полярность конденсатора

можно припаять банально плохо

вам трудно фото показать? Или вы боитесь?

что бы методом дедукции определить какой вам совет поможет… и какой у вас опыт, опять вижу что вы ленитесь….

а что насчет парсинга команд ?
при p - выполнить действие 1

при i - выполнить действие 2

при n - выполнить действие 3

при g - выполнить действие 4

и слать данные почаще, или вам все таки не для самолетика ?

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

а код остался?)))

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

Я уже пару минут пытаюсь загрузить фото и бесполезно, обработка загрузки и все, стоит ждём чуда или ответа от вас

**MMM не факт!))) я сейчас одну хрень доделываю и сам спать иду))

  1. Немедленные изменения в коде (Software First)**

Вы отключили CRC и Auto-ACK, полагаясь только на свой метод голосования. Это основная причина, по которой мусор проходит. Встроенные протоколы модуля спроектированы именно для отбраковки таких битых пакетов.

  • Включите CRC (обратно). Это обязательная базовая проверка целостности пакета самим модулем .

    // radio.disableCRC(); // Закомментируйте или удалите эту строку
    radio.setCRCLength(RF24_CRC_16); // Включите CRC длиной 16 бит
    
  • Включите Auto-Acknowledgment (Auto-ACK). Это кардинально меняет ситуацию. Когда вы отправляете пакет, приемник автоматически (аппаратно!) отправляет короткий сигнал “подтверждение” (ACK) обратно на передатчик. Если передатчик не получил ACK в течение очень короткого времени, он мгновенно переотправляет тот же пакет автоматически . Это решает две проблемы:

    1. Надежность: пакет будет отправлен повторно, пока не дойдет или не кончатся попытки.

    2. Скорость: вы освобождаете свой код от необходимости придумывать схемы коррекции. Просто отправляете данные один раз, а модуль сам занимается черновой работой по их доставке.

    // radio.setAutoAck(false); // Закомментируйте
    radio.setAutoAck(true); // Включите (по умолчанию true, но лучше явно)
    // Для приемника openReadingPipe уже настроит auto-ack для этой трубы
    
  • Откажитесь от “мажоритарного голосования”. Если включен Auto-ACK и CRC, то пакет либо дошел целиком и без ошибок, либо не дошел вообще (и будет отправлен снова). Serial.print на приемнике будет показывать чистое “PING”, а не “P I N G” с мусором.

  • Увеличьте скорость передачи данных. Вы используете RF24_1MBPS. Попробуйте RF24_2MBPS. Это уменьшит время эфира для каждого пакета и снизит вероятность поймать помеху

все то у вас не получается… ну может этот совет все таки попробуете…

Слава богу, хоть какой то сдвиг, уже завтра попробуй увеличить скорость передачи.

Но повторяюсь, ACK не доходит, CRC убирает все и не оставляет ничего, потому что прилетает мусор. И даже если я отправляю просто PING.

модуль работает автоматически, попробуйте ему не мешать)))
а версию вашей библиотеки вы думаете не надо указывать ?
или ее надо угадать ?)))

Так если я ему не мешаю, а он не хочет передавать. Я ещё в первый раз не мог передать цифру 120 вроде, приходило без CRC 80. Эвоно как! Потом у ИИ выяснилось, что 80 это перекрученный(не помню как) по битам 120. Тот модуль давно сгорел к чертовой бабушке и я купил новые.

И новые работают. Ра-бо-та-ют(эфир сканируют, в эфире видна полоска), не надо проверять какую то хрень ради “один дурак так сделал, давай у тебя проверим”.

Библиотека последняя что была скачал, черт ее знает какая там версия

а если один дурак пин miso через резистор 10 ком притянул к питанию, вы уверенны что точно не надо повторять ?))

Это вы где такого Друзя откопали?

на форуме по вопросу решения проблем с этим капризным модулем))) так вы читали или нет ?
схемку вы к утру все же попробуйте скинуть…

а пробовать сделать отдельное питание esc и модулю ардуино с нрф будите пробовать ?

эвона как :slight_smile: