-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hanging up at radio.write #217
Comments
The Nano's builtin regulator is insufficient for that module. Please buy a
separate regulator that is able to supply that much power to the module or
downgrade to non-PA & non-LNA module.
|
OK, now i use for a LM2596S Down-Stepper with two 220uF capacitors behinde. With the oscilloscope, I can only detect some +20mV peaks from the LM2596S. I thing, now its not a VCC problem? But I have the same problem. Now with
And when I let read out the status every try. I become this (HEX):
Also he write something into the TX buffer, but don't send it. And after 3 times is the TX buffer full... |
Triple check that the wiring is absolutely correct. Also, did you solder the capacitors (I had the best results with 800uF electrolytic ones) to the module's power pins? |
Wait, what does the second Arduino print out? |
I check the wiring again. It is absolut correct. And I connected GND from the Arduino to the other Power supply. Transmitter:
Receiver:
|
Then there are two things most likely. Your library is somehow outdated or broken or you have defined the CS and CS pins wrong. If you can please attach a picture of the connection/build and your code. |
Best way to test wiring is |
Here is a picture from the build: http://www.pic-upload.de/view-29785724/funkmodul.jpg.html I modified the print code a little bit, an becomme this for
Maybe, I have damaged the boards with some test before? |
I have built the test environment that contains two boards: Arduino Uno and NodeMCU (with ESP8266). I'm sure that both boards and chips RF24L01 are correctly wired. After uploading the exact same sketches to both boards and making one of them to transmitter (by sending 'T' in the terminal) I must say that It doesn't work; transmitter sends the data but it doesn't receive any. So I confirm the version of @Ravi0li. But - after some source code investigations I've figured out that both boards flashed with the exact same code have the radioNumber variable set to zero/false and the write/read pipes are set only once in the setup() method. These pipes are not reconfigured later when you set one board to the transmition state and the packet is sent to an incorrect address. As a fix I suggest to get rid of that radioNumber variable and just relay on what role says and reconfigure the pipes correctly according when changing from receiver to transmitter (and from transmitter to receiver). It will simplify the getting started scenario as both boards will be flashed withe same code. I can provide a pull request. |
@Ravi0li, can you please retest if that fix works with your boards? |
Thx wmarkow, but it is not better. I see the problem at the transmission, because no time come one of this Flags in the Status Register: |
Ok @ravioli, I thought you have put the same software on two boards without changing the radioNumber.
Correct me if I'm wrong: does it mean that there are 32 bytes of data available in RX pipes? If so then your chip has received something. It may be a clue. Morever, the line 803 relates to the writing method which send the data to second device. It send the data and waits until bits TX_DS or MAX_RT are set to 1 by the chip. If the MAX_RT is set then this bit must be cleared in chip programatically in order to perform further communication (as the datasheets states). When FAILURE_HANDLING is defined then the code never clears the bit MAX_RT (notice the return 0 statement) in the line 813. You can extend the timeout and temporary remove that return 0 (you can use delay(100) instead) to see if that helps. If not then you have some wiring or configuration problems. Or not? I'm just giving some ideas. |
It again seems an issue caused by clone modules. If possible try getting your hands on another set (of non PA LNA) originals. |
I read in the datasheet, that this mean: You can receive 32 bytes at this pipe. I think, that i destroy my PA & LNA Chip. The NRE24L01+ work and answer on all SPI-Calls. But he can't send or recieve anything over the amplifier. @wmarkow Thank you for the good explanation from TX_DS and MAX_RT! |
Was the ultimate source of the problem being cloned components? I'm seeing a similar problem with mysetup where I can get one "ping" and "pong" to work, but then the second cycle hangs on write. This sounds similar to the problem mentioned above. I am using a base module which includes a capacitor. |
The thing with nRF24L01+ modules is that there are many clones that work but not exactly as specified in the documentation. So when these kinds of issues arise and for others the same thing has been tested to work, the hardware side is most likely the issue and should be triple checked from any faults. Now I'd try if I were you I'd check if the CE and CSN pins aren't switched (and are right) plus make sure there aren't any bad connections (bad solder joints for example). |
Fix for #217 GettingStarted enhancement.
I have read a little more over the PA-LNA Moduls in the www and found some interesting informations. I try now some things and write than my result. But one question I have for you: When delete the nRF24L01+ modul something from the TX-FIFO? When he send the packege, or not before he come into TX_DS/MAX_RT? |
Hello. The same trouble. regular NRF24l01+ connect to mini pro, and 2 modules were talking. I connect them to their place NRF24L01+PA+LNA and the problems begin. Communication is, but it is very unstable and at a short distance. It seems to me that the PA does not work. It may be that the library does not include the PA? |
PA should not affect the way the library works. Your description sounds like bad connection (wiring) or power supply issues. Make sure you connect Arduino's ground and LiPo's ground. |
I have found out, that the CE-Pin was not connected with the NRF24L01 and the amplifier. EDIT: I measure everytime 0V at the VDD_PA. I think my moduls are damaged... |
soldered to the inputs nrf + pa modules 2 capacitors, tantalum to 10 microfarads and a barrel of 50 microfarads. Communication has become stable at 20m 5 concrete walls :). But still it is not enough. Most of all I do not like that 30mA current, instead of 100 mA consumption nrf + pa |
Example "Getting Started". baud rate defaults to 1 MB? decrease - will be on longer distance? |
@TotoGe Also using 250KBPS via |
TMRh20 ,you have a lot of experience, please tell me what the real distance for Chinese NRF + pa? And then maybe I want a lot of them? ) |
Ravi0li . Yes, your link is also at the maximum consumption should be up to 140mA. But I do not understand, it is a constant current consumed nrf + pa, or only during the transfer? Can I see these 140mA multimeter or oscilloscope only? |
Most likely a oscilloscope, the modules are actually quite fast. |
The short answer is I don't really know. The long answer is that wireless is & can be directional and largely |
TMRh20 thank you very much again. and the library, and what is the time to newbies. |
Hallo,
I have the problem, that the GettingStarted is hanging up, when I would transmit a packed.
This is the console output from the GettingStarted porgramme, when I push T:
Than i can't do anything and I must restart the Arduino.
Some facts to my setup:
Have somebody I tip for me? Or what I can do now?
p.s. sorry for my bad English 😄
The text was updated successfully, but these errors were encountered: