Project

General

Profile

Resolved: Jeenodes not working anymore

Added by theboozler over 5 years ago

I just got a pair of jeenodes yesterday, 433mhz v6. Using the rf12demo sketch everything worked fine. Today, the jeenodes don’t seem to be able to talk to each other. Using the demo sketch On both nodes i can only get an ack reply maybe once every few minutes. What could be the problem? Any troubleshooting ideas?

PS I started noticing problems when I started playing with the poller pollee examples. I noticed that when polling that the first sendNow would transmitt, but the sketch would hang at the second call to sendNow. I assume stuck in the loop while(!rf12_canSend).


Replies (14)

RE: Jeenodes not working anymore - Added by martynj over 5 years ago

Try loading up a copy of this excellent visualiser
If it shows some sort of RF activity, that proves out the receiver section and then you can put the other Node into transmit mode and check its transmission. Flip the roles over and prove out the inverse.
Note that to get a reasonable range, the RFM12B’s must be set to run in their “native” 433MHz. They can be set to the 868MHz defaults in RF12 demo, but the mismatch of the frequency dependent components for the on board aerial tuning circuit result in a very restricted range.

RE: Jeenodes not working anymore - Added by theboozler over 5 years ago

Yes! I found the NrfMon program shortly after making my original post. It seems to be a handy tool. When I first ran the software I had an incredible amount of noise all across the screen (more specifically, while in “scan” mode). Was the same with the both nodes.

I observed that if I coiled up my usb cable that the noise dropped dramatically. I am connected to the PC by way of a cheapo 6-ft USB cable > usb bub II> jeenode. After that I went back to the rf12demo sketches and was able to get reliable acks again.

I am a jeenode rookie, and even more-so a radio newbie. Is the problematic 6-ft usb cable any surprise at all? Or is this a symptom of other problems such as a poor soldering job or something?

RE: Jeenodes not working anymore - Added by martynj over 5 years ago

A standard 1.5m USB cable works fine without introducing EMI.  I would suspect a ‘floating’ ground somewhere - if the PC is  a laptop, try with the mains adaptor disconnected temporarily. 

RE: Jeenodes not working anymore - Added by theboozler over 5 years ago

The PC is a desktop. The desktop is the intended future home of the control node, will this be a problem? Could you explain your suspicion?

RE: Jeenodes not working anymore - Added by martynj over 5 years ago

Your observation is consistent with RF noise ‘injecting’ through the USB cable.  The decoupling of the Vbus 5v capacitor on the USB BUB the regulator hidden inside the FTDI chip is usually enough to deal with modest pickup (e.g. general ‘mush’ radiating from your PC).  A good quality USB cable has screening behind the sheath, grounded at the PC end and passing that ground to the BUB and then to the JeeNode - I would be suspicious that this ‘chain’ is not effective here.

* Swap out the USB cable

* Check that the PC metal chassis has a good ‘earth’ connection (usually through its mains cable to a three pin outlet)

* Check the USB  BUB  is configured for 3v ‘Logic’ level and 5v ‘Power’ level.

I hope this helps !

RE: Jeenodes not working anymore - Added by theboozler over 5 years ago

Every bit of advice helps! Thank you very much for taking the time.

I can confirm the USB BUB is configured correctly, through all this I’v spent much time with the multimeter checking every connection on the darn thing!

For swapping the USB cable, easier said than done. It took two days for me to locate a USB-mini cable around here for under \$25. Apparently USB-mini isn’t very popular anymore… I will order another one and just wait on delivery rather than go on that scavenger hunt again! *EDIT* I’ll swing by the local Goodwill and check their supply of second hand cables.

As far as checking the PC has good earth connection, apart from making sure all my plugs are three pronged, how would I do that? I’m assuming that is beyond my multimeter and grade-school level electrical skills.

RE: Jeenodes not working anymore - Added by theboozler over 5 years ago

I went by the resale store and picked up three different usb-mini cables for about \$2. I seem to loose more packets with some cables than others. Maybe it’s another factor that I’m not seeing.

I ran nrfmon again and had the presence of mind to save some screenshots this time. I had another jeenode running the pingPong sketch, transmitting every 3 seconds. Note: *these* were recorded while I seemed to be receiving all transmissions just fine. This isn’t always the case, but the visualizations appear pretty much the same when not things aren’t functioning properly.

Can someone help me interpret these recordings? Does it appear I am picking up a lot of noise, little noise, or does it look normal?


RE: Jeenodes not working anymore - Added by martynj over 5 years ago

The visualiser shows one clear FSK data transmission at 436MHz, the classic "bat’s ears’ spectrum is standing out in the lower orange section. It’s signal strength (~ 91dBm) is not much above the noise floor in that region and much less than the overcrowded active region to the left. What is critical is the signal to noise ratio there is barely enough showing here to support the default data speed.

Have all the Nodes the correct aerial length for the 433MHz band? Aligned the same direction (vertically away from the board usually works best)?
What physical separation between the nodes?

RE: Jeenodes not working anymore - Added by theboozler over 5 years ago

Ahh, now it’s starting to make sense.

I had forgotten to trim the antennas, both had to be trimmed by 9mm. Doing so actually eliminated the “bat ears” previously shown at 436 mhz. Both nodes’ antenna are/were aligned vertically. Physical separation is about 15 feet (4.5 m). I re-positioned the nodes and was able to get a stronger signal to noise ratio.

Using the pingPong sketches, both nodes receive communication from each other reliably, even through a few walls when I stuck one node outside of the house about 40 feet (12 m) away. However, using rf12_demo, I can not get acknowledgements. I did try lowpowerlab’s rfm12b library (based off of jeelib), and with it I do get nearly 100% reliable ACKs. As far as jeelib’s rf12 library, do you think I’m looking at a software tuning issue, still a hardware issue, or a bit of both?

*UPDATE* It appears that lowpowerlab’s driver has a lower transmission rate of 38.3 Kbps vs JeeLib’s 49.2 Kbps.

RE: Jeenodes not working anymore - Added by theboozler over 5 years ago

I’ve attached of the nRfMon visualization @ a bit rate of 38.3 Kbps

I made the following adjustment to the RF12.cpp, then uploaded rf12demo to both jeenodes but made no improvment on ACKs.

RE: Jeenodes not working anymore - Added by martynj over 5 years ago

The zone between 432 - 434+ MHz is already very busy - your test transmissions appear to be buried in there. I’d suggest you move your channel to say 435MHz - it looks much quieter.
Of course, the ISM band is crowded with many other transceivers, but they are meant to stick with the 1% rule to keep the sharing effective. ACK’s will fail when the datablock CRC fails, the longer the block, the more chance an interferer will come in and tread on the transmission.
That “busy” zone is curious, do you or a neighbour have a ‘wireless’ security system active for example?

RE: Jeenodes not working anymore - Added by theboozler over 5 years ago

I’ll give it a shot. To make my adjustments it seems I’d have to tweak the library’s code as follows:

    //rf12_xfer(0xA640); // 868MHz 
    //rf12_xfer(0xC606); // approx 49.2 Kbps, i.e. 10000/29/(1+6) Kbps
    rf12_xfer(0xA7D0); // 435MHz 
    rf12_xfer(0xC608); // approx 38.3 Kbps

(From the RFM12B Command Calculator http://tools.jeelabs.org/rfm12b.html)

Is there a more appropriate way to do this rather than hacking the library? Say in my setup() function?

RE: Jeenodes not working anymore - Added by martynj over 5 years ago

The command registers are modifiable from your sketch using rf12_control(cmd) - see the source documentation here
Do this after the libraries are initialised (which puts in the defaults) and then override them.

IMHO, change only the channel first.   There are advantages in reducing the modulation rate, but this is only worthwhile if the transmitter deviation and the receiver bandwidth are adjusted at the same time.  The interaction between these three parameters is complicated and needs to remain in balance.

RE: Jeenodes not working anymore - Added by theboozler over 5 years ago

Well that seems to have done the trick. 432MHz to 434MHz was just too busy for clear comms. Since adjusting the frequency to 435MHz I havn’t missed an ACK yet. Thanks you very much for your help martynj.

And thank you dzach for the great analysis tool. I’m sure that when a “how to use/interpret” guide for the NRfMon comes out that it will be very helpful for newbies like my self.

    (1-14/14)