This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nRF24L01+ increasing range using MultiCeiver and ShockBurst …

With ShockBurst activated the PRX receives some of the packets at 7 to 8 meters, and the PTX only receives the ACK at 4 to 5 meters….

The explanation for this is that the PTX can sent up to 16 times the same packet, eventually one of the 16 packets will arrive in the PRX.. Meanwhile the PRX only send the ACK once, and thus reducing the probability of the PTX to receive this one ACK packet!

Can the PRX be configure to do ShockBurst, by blinding sending up to 16 or less the same ACK?

Best Regards … Renato

Parents
  • Hi Hung Bui ,

    Hi have made some changes in the nRF24L01+ that are now communicating at up to 8metters, using this module:

    www.aliexpress.com/.../32308100252.html

    This setup for the PTX:

    -> RF_CONFIG, EN_CRC_bm|PWR_UP_bm|PRIM_TX_bm, -> RF_EN_AA, ENAA_P0_bm, -> RF_EN_RXADDR, ERX_P0_bm, -> RF_SETUP_RETR, RETR_4000uS|RETR_10, -> RF_RF_SETUP, RATE_250Kb|_0DBM_bm, -> RF_STATUS, RX_DR_bm|TX_DS_bm|MAX_RT_bm, -> RF_RX_PW_P0, RF_PAYLOAD_LEN, -> RF_DYNPD, 0, -> RF_FEATURE, EN_ACK_PAY_bm

    This Setup for the PRX:

    -> RF_CONFIG, EN_CRC_bm|PWR_UP_bm|PRIM_RX_bm, -> RF_EN_AA, ENAA_P4_bm|ENAA_P3_bm|ENAA_P2_bm|ENAA_P1_bm|ENAA_P0_bm, -> RF_EN_RXADDR, ERX_P4_bm|ERX_P3_bm|ERX_P2_bm|ERX_P1_bm|ERX_P0_bm, -> RF_SETUP_RETR, RETR_500uS|RETR_10, -> RF_RF_SETUP, RATE_250Kb|_0DBM_bm, -> RF_STATUS, RX_DR_bm|TX_DS_bm|MAX_RT_bm, -> RF_RX_PW_P0, RF_PAYLOAD_LEN, -> RF_RX_PW_P1, RF_PAYLOAD_LEN -> RF_RX_PW_P2, RF_PAYLOAD_LEN, -> RF_RX_PW_P3, RF_PAYLOAD_LEN, -> RF_RX_PW_P4, RF_PAYLOAD_LEN, -> RF_DYNPD, 0, -> RF_FEATURE, EN_ACK_PAY_bm

    Changing the speed from 250K to 1M has no effect on range!

    Do you have any recommendations?

    Meanwhile we have decided that we will make the Radio in the main PCB board... So, your offered support will be welcome…

    OBS: I am using 100bF and 47uF/tant on the power input...

    With the above configuration, I am also having a major problem in the PTX...

    The PTX is sending a packet using W_TX_PAYLOAD each 100mil/sec... and the MAX_RT on the PTX side is activating about 50% of the time... Strangely if I send the packet using W_TX_PAYLOAD_NOACK the MAX_RT also activates...

    Is the PTX not receiving the ACK from the PRX? Why sending a packet W_TX_PAYLOAD_NOACK the MAX_RT activates?

    Please see the images … the PTX does not receive the ACK…!image descriptionimage description

    Tanks Renato

  • @Renato: Thanks for clarifying the LNA line.

    Looking at the image trace, I can see that PRX's interval of sending ACK was different (larger) from the sending interval of the TX from PTX.

    Secondly, I can see that PRX has an interrupt (and sending smth) even before the first packet from PTX!

    This made me suspect that PRX maybe answering to smth else, not the PTX.

    Could you try to change the PRX address, and capture a longer trace that show both packet that is ACKed and packet with MAX_RT returned ? Also please make sure you have a nRF24L01+ not nRF24L01, I saw that in the link on aliexpress the seller state it's nRF24L01.

Reply
  • @Renato: Thanks for clarifying the LNA line.

    Looking at the image trace, I can see that PRX's interval of sending ACK was different (larger) from the sending interval of the TX from PTX.

    Secondly, I can see that PRX has an interrupt (and sending smth) even before the first packet from PTX!

    This made me suspect that PRX maybe answering to smth else, not the PTX.

    Could you try to change the PRX address, and capture a longer trace that show both packet that is ACKed and packet with MAX_RT returned ? Also please make sure you have a nRF24L01+ not nRF24L01, I saw that in the link on aliexpress the seller state it's nRF24L01.

Children
No Data
Related