Welcome to the Pycom forum Forum
    • \[\[global:header.categories\]\]
    • \[\[global:header.recent\]\]
    • \[\[global:header.tags\]\]
    • \[\[global:header.popular\]\]
    • Login

    Explore Pybytes | Official Documentation | Report a Firmware Bug/Issue | GitHub

    How to handle a LTE Connectivity loss

    Scheduled Pinned Locked Moved GPy
    40 Posts 6 Posters 397 Views 6 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • G Offline
      Gijs
      last edited by

      Right, you are correct. Though the last time I used uping, it concurred with a memory leak somewhere and have not tried it since. AT commands indeed do not work, though you could opt to suspend the ppp session (lte.pppsuspend()) and use the AT+PING command, after which you lte.pppresume(). On the other hand, that could result in additional complications. Another solution would be to use socket.getaddrinfo(), which would query the DNS server to resolve a hostname. A downside here, is that I've heard of some caching done with these requests, so you might want to be careful there either (I do not think I have experienced this firsthand).

      A last resort, would be to do a tcp request to a server and receive its response, that way, you know for sure there is a connection (if the socket does not error)

      S 1 Reply Last reply Reply Quote 2
      • S Offline
        SciWax @Gijs
        last edited by SciWax

        @Gijs Thanks for the suggestions at this late time.
        My Arduino counts the times a Code 200 wasn't received by the GPy. During a 3 minute intervall, the GPy has 9 chances for sending the latest 3 minute average and receiving the Code 200 in return. At this point, I think I will just do it like that: If the GPy fails 9 times, I can be probably sure, that something fishy is going on with the network. At this point, I will just power cycle the GPy via the MOSFET. After that powercycle, if lte.isconnected = True, the Arduino is allowed to send my measurement strings to the GPy again. I will just use another Pin for the state of lte.isconnected, for instance P11. The Arduino will read this Pin.

        1 Reply Last reply Reply Quote 1
        • S Offline
          SciWax
          last edited by SciWax

          I'm looking for the right MOSFET right now. I still have a IRL 540N lying around, but after looking for MOSFETs in this forum here, I found alot of people, who mentioned P Channel MOSFETs, which I probably need, when I want to use the VIN Pin to power off the GPy. Any suggestions for the right logic-level MOSFET for the GPy I can control with my 5V Arduino? I should also probably put a resistor in front of the Gate to not hurt the Arduino Pin?

          Kind regards,

          SciWax

          1 Reply Last reply Reply Quote 0
          • G Offline
            Gijs
            last edited by

            Hi,
            I can indeed support that I would recommend the usage of a P-channel MOSFET there (generally, you would use a P-channel to switch on the VCC side, and N-channel to switch on the GND side. Note that the gate voltage operates in opposite)
            Pull the gate up to VCC to stop the flow of current, and pull it down to GND to connect the two. I'd also use a small 100nF capacitor over the Gate-Drain to protect against switching transients

            S 2 Replies Last reply Reply Quote 1
            • S Offline
              SciWax
              last edited by

              Still looking for a logic level p-channel mosfet. :/

              I've looked on digikey for a through hole one (I've put for instance "irl p-channel through hole mosfet" in the search bar). I only found obsolete ones, like the IRL5602L or IRLIB9343. Can anybody else recommend me a logic level p-channel mosfet, I can control with a 5V Arduino to control the VIN-Pin on my GPy? I think I'm using the wrong keywords, because I have a hard time finding anything with "IRL p-channel".

              Sorry for bothering you, robert, but you are really knowledgeable about this stuff. Do you have an idea?
              @robert-hh

              robert-hhR M 2 Replies Last reply Reply Quote 0
              • robert-hhR Offline
                robert-hh @SciWax
                last edited by

                @SciWax OK. Having had the same question, what do I have in my part boxes:
                IRFR5305: Gate Threshold 2-4V, RdsOn 0.065Ohm, small package
                IRFR9Z34N. Gate Threshol 2-4V, RdsOn 0.1 Ohm, TO220 Package
                IRFD9024: Gate source Thresold 2-4V, RonOn 0.1 Ohm, 4 Pin DIL Package
                Devices with higher RdsON:
                ZVP2106A: Gate Threshold 1.5-3.5V, RdsON 5Ohm, TO92 Package
                BS250

                1 Reply Last reply Reply Quote 2
                • S Offline
                  SciWax
                  last edited by SciWax

                  Thank you! I really appreciate it. I will have a look into the datasheets of the mosfets you've mentioned! And thanks for putting together the additional information!

                  robert-hhR 1 Reply Last reply Reply Quote 0
                  • robert-hhR Offline
                    robert-hh @SciWax
                    last edited by robert-hh

                    @SciWax I just gave the IRFR5305 and the IRFD9024 a test. At 5V GS voltage the On resistance was 0.1 and 0.3 Ohm. At 3.3 Vgs it was 12 and 120 Ohm, so less good. I also do not know, why the P-Fets with the low Gate Threshold seem only available in SMD packages.

                    You can also consider a moderate power PNP transistor like BD231, 2N5194 or BDX54 or the like. The have a higher Base current, but a low Emitter-Base threshold. The CE saturation voltage of 0.4 to 0.8 V does not matter in your case.

                    P.S.: The IRFR5305 is a real power monster, given its to92 sized package, with 31A max current. Looking at the package, the connecting pins seem to be the limiting factor.

                    1 Reply Last reply Reply Quote 0
                    • rcolisteteR Offline
                      rcolistete
                      last edited by

                      What about the DMG3415U low power p-channel MOSFET ? Or the new one, DMP2045U. They cost about US$0.05/each if you buy 100-200 units.

                      My "MicroPython Samples". My "MicroPython Firmwares" with many options (double precision, ulab, etc).

                      robert-hhR S 2 Replies Last reply Reply Quote 0
                      • robert-hhR Offline
                        robert-hh @rcolistete
                        last edited by

                        @rcolistete These are indeed interesting parts, especially for low voltage applications. But @SciWax looked for a device in a through-hole package, not a SMD one. And it is really strange that devices like the one you mentioned seem available only in SMD packages.

                        rcolisteteR 1 Reply Last reply Reply Quote 1
                        • S Offline
                          SciWax @rcolistete
                          last edited by

                          @rcolistete
                          Thank you for your suggestion! Indeed, I'm looking for through hole p-channel mosfet.

                          1 Reply Last reply Reply Quote 0
                          • M Offline
                            Mark Wills @SciWax
                            last edited by

                            @SciWax I use the BS250P
                            https://uk.rs-online.com/web/p/mosfets/2156688/

                            1 Reply Last reply Reply Quote 0
                            • rcolisteteR Offline
                              rcolistete @robert-hh
                              last edited by

                              @robert-hh They are SMD but not too small, SOT23, with almost 2 mm of space between pins.

                              My "MicroPython Samples". My "MicroPython Firmwares" with many options (double precision, ulab, etc).

                              S robert-hhR 2 Replies Last reply Reply Quote 1
                              • S Offline
                                SciWax @rcolistete
                                last edited by SciWax

                                @rcolistete
                                Nice, with this space it should be possible to solder them comfortably on some copper pads on my boards with a standard soldering station.

                                1 Reply Last reply Reply Quote 0
                                • robert-hhR Offline
                                  robert-hh @rcolistete
                                  last edited by

                                  @rcolistete said in How to handle a LTE Connectivity loss:

                                  SOT23

                                  Agreed. I have them in my boxes and soldered them. There are also SOT23 -> TO92 adapters available. Just a tiny PCB.

                                  S 1 Reply Last reply Reply Quote 1
                                  • S Offline
                                    SciWax @robert-hh
                                    last edited by

                                    @robert-hh
                                    Originally, I've bought some adapters like that, because I've bought a SOT23 Watchdog. Lucky me :) .

                                    Thanks again everybody for the Input! It really helps!

                                    1 Reply Last reply Reply Quote 0
                                    • S Offline
                                      SciWax @Gijs
                                      last edited by

                                      @Gijs said in How to handle a LTE Connectivity loss:

                                      I'd also use a small 100nF capacitor over the Gate-Drain to protect against switching transients

                                      I guess a resistor between the Arduino Pin and the MOSFET Gate would be also fine?

                                      http://www.gammon.com.au/motors

                                      1 Reply Last reply Reply Quote 1
                                      • G Offline
                                        Gijs
                                        last edited by

                                        That could work. The high-side driver schematic indeed looks like something you'll need!

                                        1 Reply Last reply Reply Quote 1
                                        • S Offline
                                          SciWax
                                          last edited by SciWax

                                          @Gjis
                                          Sorry for bothering you again. I just wanted to make sure, that an alternative also possibly works, which kjim suggested (Thanks again). Wouldn't lte.deinit also work in the case, that I suspect a missing data connection, which the GPy is not aware of?

                                          https://docs.pycom.io/firmwareapi/pycom/network/lte/

                                          This page says the following:

                                          Disables LTE modem completely. This reduces the power consumption to the minimum. Call this before entering deepsleep.

                                          • detach : detach from network.

                                          • reset : reset LTE modem.

                                          LTE.deinit should still be useable, even if there is a data connection, right? That would make a power cycling obsolete and therefore a MOSFET, but it's always great to have other options at hand too. :)

                                          I would like to test it myself, but it is hard to reproduce this issue by force, because it depends on hicc ups in the network, which I cannot control. The constellation, where everything goes wrong is probably rare.

                                          1 Reply Last reply Reply Quote 0
                                          • G Offline
                                            Gijs
                                            last edited by

                                            You are correct saying lte.deinit() and lte.reset() should also work, though I have seen in the past that it in some cases the device gets stuck in the data mode (ppp mode), where it does not accept AT commands anymore, meaning we cannot get it to reset, and I think we were discussing this case before right? If the commands do still work for you, by all means go ahead :)

                                            Gijs

                                            S 1 Reply Last reply Reply Quote 1

                                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                            With your input, this post could be even better 💗

                                            Register Login
                                            • 1
                                            • 2
                                            • 2 / 2
                                            • First post
                                              Last post

                                            Pycom on Twitter

                                            Pycom