Communication problem or?



  • Hello

    I have a little problem of defining my actual problem, so I apologize for the bad topic title.

    I have a pretty simple node that in the winter does nothing besides measure the temperature in a outside fishtank, where hopefully some fish is trying to survive the winter. Depending on the temperature I turn on a heater manually. Next version will probably be automatic.

    But my problem is that the node is only working for about 3-4 weeks. Then it stops giving me the temperature. I have only had everything connected for about two months. And the last time I had to restart both gateway and node for it to work again.

    This time I thought I should try to narrow it down if it is the node or the gateway that fails. Instead it was me failing since I now have restarted both node and gateway again and it isn't working. And I am not any wiser.

    My gateway is a RaspberryPi ethernet gatway, where I have connected a NRF24. I'm running version 2.1.1 of MySensors on gateway and node.

    The node is a Arduino ProMini powered with a 9V adapter. Everything is outside, but under a roof. Since it is outside it is a bit hard to connect and capture a log from the node. Also because, when it was working it takes a very long time before the problem occurs.

    So far, looking at the output from the mysgw I periodically get these messages.

    mysgw: TSF:MSG:READ,2-2-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
    mysgw: TSF:MSG:BC
    mysgw: TSF:MSG:FPAR REQ,ID=2
    mysgw: TSF:PNG:SEND,TO=0
    mysgw: TSF:CKU:OK
    mysgw: TSF:MSG:GWL OK
    mysgw: !TSF:MSG:SEND,0-0-2-2,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=NACK:0
    mysgw: TSF:MSG:READ,2-2-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
    mysgw: TSF:MSG:BC
    mysgw: TSF:MSG:FPAR REQ,ID=2
    mysgw: TSF:CKU:OK,FCTRL
    mysgw: TSF:MSG:GWL OK
    mysgw: !TSF:MSG:SEND,0-0-2-2,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=NACK:0
    mysgw: TSF:MSG:READ,2-2-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
    mysgw: TSF:MSG:BC
    mysgw: TSF:MSG:FPAR REQ,ID=2
    mysgw: TSF:CKU:OK,FCTRL
    mysgw: TSF:MSG:GWL OK
    mysgw: !TSF:MSG:SEND,0-0-2-2,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=NACK:0
    mysgw: TSF:MSG:READ,2-2-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
    mysgw: TSF:MSG:BC
    mysgw: TSF:MSG:FPAR REQ,ID=2
    mysgw: TSF:CKU:OK,FCTRL
    mysgw: TSF:MSG:GWL OK
    mysgw: !TSF:MSG:SEND,0-0-2-2,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=NACK:0
    

    I think it has something with the node looking for a parent? Or is it only the gateway trying to communicate with the node that isn't answering? I'm not that good with understanding the logs yet.

    I also using MYSController, since it is easier to see what is happening than to use Domoticz for troubleshooting. And the node is not appearing there when I restart the node, and I can't see any communication from the node.

    Since the node is, or was, working twice for 3-4 weeks, I don't think there is a problem with the sketch code.

    Don't know if this is to any help to start and find the problem, but all help is appreciated.


  • Mod

    @raptorjr the log parser can be useful to better understand the log messages.
    The node that's having problems, does it have ID 2?

    mysgw: TSF:MSG:FPAR REQ,ID=2
    

    This means that the gateway received a "find parent" request from node 2. The gateway sends a reply (TSF:MSG:SEND...), but the gateway does not receive an acknowledgement from node 2 (st=NACK),

    So either the node is having trouble hearing the gateway, or the gateway is having trouble getting acknowledgements from the node. The former is more likely, because if the node did hear, it would not ask FPAR again.

    The most common problem is clean power supply. Do you have the recommended capacitor? Is the node in a very cold environment? Capacitors can usually store much less charge when they are cold.



  • @mfalkvidd Thank you for your help. I tried to put the log in the parser, but it didn't help me much. It looked strange when just pasting what I got from the gateway. Only text in the last column, or should it be like that?

    I have two capacitors as recommended, don't remember the values, but one small and one a little bit bigger. It was probably around -2-3 C degrees cold outside when the trouble started this time. Don't know if that was the problem the last time, a restart helped then, but on the other hand maybe it took one day for me to notice so maybe the temperature had changed. Don't know if this would recover by itself if the temperature rise, or if a restart is needed when it happens?

    But what size of capacitor should I try? Should I just add a third bigger one, or replace the biggest that is in place now?


  • Mod

    @raptorjr adding a third is probably easiest. 100uF was sufficient in this case but I guess it varies depending on the quality and type of capacitor.

    The last column in the log parser is what I'm usually looking at, yes. I don't know why the other columns are empty. Maybe @hek knows?

    I don't know if frozen nodes auto-recover when they get warm again.



  • @mfalkvidd I will try a bigger one. But is there any better quality capacitors to buy that will manage cold weather? I guess that there could be other problems if you just add bigger capacitors?


  • Mod

    @raptorjr I don't think too many or large capacitors can cause problems.

    Ceramic and tantalum capacitors are recommended in the thread I linked.



  • I have ordered some bigger tantalum capacitors. But have in the meantime tried with 100 and 220 uF ordinary electrolytic capacitor. But it didn’t make a difference. As soon as it get cold outside it stops working.
    And since it is outside attached to sensors that is hard to take inside it makes it hard to connect a computer and enable and watch debug output.

    But I wonder, is there something else that could be sensitive to the cold? In general -5– -10 cold shouldn’t be a problem for electronics?



  • @raptorjr

    Just wondering if you are still here and how things turned out?

    A few thoughts of mine on the problem.....
    Avoid tantalum caps if you can as when they fail they usually fail short circuit. Ceramic or electrolytic would be best.

    Also, how do you have it all connected up? Solder on all joints or dupont cables? I have some bad dupont cables from China that have caused me no end of problems. Once I use good quality ones for prototyping the problems vanish and then I solder everything for the finished version. I solves a lot of problems as mechanical connections like dupont will expand and contract and can also corrode.

    Hope this might help a bit! 🙂



  • @skywatch Thank you for your reply. Of course I should have made a reply about the result.

    A 47uF tantalum capacitor worked. And the node has been working perfect the whole time since the change. Also during the winter in at least -10 C.

    I don’t know if the capacity of ceramic capacitors is enough? The ones I have is pretty small, and it is hard to find bigger and I also find it a little complicated to solder many at the same time to increase the capacity.

    When it comes to the cables all are soldered on the arduino side. Maybe should concider to solder everywhere. The node started as a prototype with the plan to make it properly when I saw it was working. But it is more fun to do something new, at least when the node is working.



  • @raptorjr said in Communication problem or?:

    A 47uF tantalum capacitor worked.

    That is good news!

    The node started as a prototype with the plan to make it properly when I saw it >was working. But it is more fun to do something new, at least when the node is >working.

    I know all about how that one goes, at least it is not just me! 😉


 

297
Online

7.7k
Users

8.6k
Topics

92.3k
Posts