Pages: [1]   Go Down
Author Topic: NRF24L01 Problems  (Read 3494 times)
0 Members and 1 Guest are viewing this topic.
Barnsley
Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I am relevantly new to Arduino and have very much to learn on it. I have spent days trying to solve this problem I have but have no luck at all.
I have been using 2 Arduino Nanos with low power NRF24L01 Transceivers with the Led_remote example in the RF24 Library.
All works fine but the range was poor so I upgraded to the higher power versions with an SMA aerial as they said it was a direct replacement for the low power device and there wasn't any need to change the software.
This is where my problems begin. The high power devices didn't work.
After lots of messing, I found the following combinations,
low power to low power = work  smiley
high power to high power = don't work  smiley-sad
low power to high power = work  smiley
high power to low power = don't work  smiley-sad
I have even swapped the high power devices around and they both receive fine. They both also seem to fine in the serial status.
I then tried the pingpair example and both the high power devices work fine.
I really need the led_remote example to work. Can anyone help?



Logged

France
Offline Offline
Sr. Member
****
Karma: 2
Posts: 380
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I use 9 the NRF24L01 from sparkfun : https://www.sparkfun.com/products/705 with the right antenna https://www.sparkfun.com/products/145

1 sender and 8 receivers and they work over 80 meters !!! without ant trouble.

Where did you bought yours ?
Logged

Barnsley
Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I got both the high power and low power ones from ebay. They both have the same 8 pins with only 7 being used.
The low power ones look like this
http://www.elecfreaks.com/store/images/Wireless_RF_2.4G_RFM01_01.jpg

and the high power ones look like this
http://www.siliconray.com/media/catalog/product/cache/1/image/9df78eab33525d08d6e5fb8d27136e95/n/r/nrf24l01plwtm-1.jpg
Logged

France
Offline Offline
Sr. Member
****
Karma: 2
Posts: 380
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I've got the sames.

For the high power you need to provide an external 3.3V (because these modules are not 5V compatible), for the reason it's drain more power (mA) than an arduino can provide, you can use an LM340-333 or 7803 regulator.

Don't forget that if you want to go 'far' you need to adapt the power transmiter with the

radio.setPALevel( Power_Const );

where Power_Const can be either one of : RF24_PA_MIN,RF24_PA_LOW, RF24_PA_HIGH, RF24_PA_MAX

according to the RF24.h file in the library.

As I said, I got up to 80 meters without any trouble with a rate of 250kbps.

If I can help you more, don't hesitate.

Best Regards.
Logged

Barnsley
Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks for the suggestion but unfortunately still no luck.
I have run the high  power transmitter from a separate 3.3v supply. The serial says "Now sending...failed". Yet it still works fine with the low power module.
The high power still seems to work with the pingpair example though

Logged

France
Offline Offline
Sr. Member
****
Karma: 2
Posts: 380
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

what is the result of radio.printDetails(); function ?

If you don't use it, put it in the setup() at the end of it.
Logged

Barnsley
Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Here you go
Code:
Low Power Device Transmit

STATUS                      = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
RX_ADDR_P0-1         = 0xf0f0f0f0e1 0xc2c2c2c2c2
RX_ADDR_P2-5         = 0xc3 0xc4 0xc5 0xc6
TX_ADDR                   = 0xf0f0f0f0e1
RX_PW_P0-6             = 0x20 0x00 0x00 0x00 0x00 0x00
EN_AA                        = 0x3f
EN_RXADDR              = 0x03
RF_CH                        = 0x4c
RF_SETUP                  = 0x23
CONFIG                       = 0x0c
DYNPD/FEATURE       = 0x00 0x00
Data Rate                   = 250KBPS
Model                         = nRF24L01+
CRC Length                = 16 bits
PA Power                    = PA_LOW

High Power Device Transmit

STATUS                      = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
RX_ADDR_P0-1         = 0xf0f0f0f0e1 0xc2c2c2c2c2
RX_ADDR_P2-5         = 0xc3 0xc4 0xc5 0xc6
TX_ADDR                   = 0xf0f0f0f0e1
RX_PW_P0-6             = 0x20 0x00 0x00 0x00 0x00 0x00
EN_AA                      = 0x3f
EN_RXADDR              = 0x03
RF_CH                        = 0x4c
RF_SETUP                  = 0x23
CONFIG                       = 0x0c
DYNPD/FEATURE       = 0x00 0x00
Data Rate                   = 250KBPS
Model                         = nRF24L01+
CRC Length                = 16 bits

PA Power                    = PA_LOW

Low Power Device Receive

STATUS                      = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
RX_ADDR_P0-1         = 0xf0f0f0f0e1 0xc2c2c2c2c2
RX_ADDR_P2-5         = 0xc3 0xc4 0xc5 0xc6
TX_ADDR                   = 0xf0f0f0f0e1
RX_PW_P0-6             = 0x20 0x00 0x00 0x00 0x00 0x00
EN_AA                        = 0x3f
EN_RXADDR              = 0x03
RF_CH                        = 0x4c
RF_SETUP                  = 0x23
CONFIG                       = 0x0f
DYNPD/FEATURE       = 0x00 0x00
Data Rate                   = 250KBPS
Model                         = nRF24L01+
CRC Length                = 16 bits
PA Power                    = PA_LOW

High Power Device Receive

STATUS                      = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
RX_ADDR_P0-1         = 0xf0f0f0f0e1 0xc2c2c2c2c2
RX_ADDR_P2-5         = 0xc3 0xc4 0xc5 0xc6
TX_ADDR                   = 0xf0f0f0f0e1
RX_PW_P0-6             = 0x20 0x00 0x00 0x00 0x00 0x00
EN_AA                      = 0x3f
EN_RXADDR              = 0x03
RF_CH                        = 0x4c
RF_SETUP                  = 0x23
CONFIG                       = 0x0f
DYNPD/FEATURE       = 0x00 0x00
Data Rate                   = 250KBPS
Model                         = nRF24L01+
CRC Length                = 16 bits
PA Power                    = PA_LOW
Logged

Pages: [1]   Go Up
Jump to: