Power supply issue by Vin on Sipy + Deep Sleep Shield
-
Hi everyone,
In one of my projects I want to do without the pysense and use only the Sipy with the deepsleep shield. I have programmed it with the expansion board 2.0 and feeding it with the USB cable works perfect. The code reads several sensors, sends the values to the sigfox backend and goes back to sleep.
When I feed it directly with a 3.7v 5 Ah lipo battery, it doesn't send anything, i.e. the code doesn't work. I have tried to flash a code that only makes the led blink and changes the colors and this code works properly with the lipo battery.
I think it doesn't work because of the current requirement that the code has, having to power the sensors and the Sigfox chip, even though the battery is fully charged, does not work.
I tried feeding it with 5v from a power supply, but I had a problem with the power supply and burned the module. I also tried feed it with 3.3v from external power y does not work.
Does anyone know if the sigfox contract linked to one Sipy can be passed to another Sipy? What is the reason why my code does not run when I feed it with the 3.7v battery or 3.3v from external power supply, only works with USB?
Note: the firmware is update.
Thank you in advance.
-
@nespressif I remember faintly there there was something related to P8. There was a thread in the forum, you may find it by searching. So try to pull P8 either low or high.
-
@robert-hh that was related to the Expansion Board 3, it shouldn't be an issue with v2
-
@nespressif Does the heartbeat LED work? As for the Sigfox contract, you can activate the other SiPy as well. Not sure if you can transfer contracts between devices.
-
Hello, @dan, thanks for your response, and to @robert-hh thanks, too.
I think I haven't explained myself well, I don't have an expansion board v.3 I have the version 2 and several Sipy and several pysense. The expansion board v.2 I only use it to program the Sipy, then I want that they work only the Sipy connected to the deep sleep shield, without expansion board. With the sipy + ds shield + exp. board 2.0 powered by USB everything works perfectly.
After programming the module inserted in deep sleep shield, I have fed it with a lipo 3.7 battery, the positive cable connected to the Vin and the Gnd to the Gnd (directly without exp. board). So it works fine with programs like blinker and the heartbeat LED work fine, but it doesn't work with programs that use the Sigfox network.
I've also tried a 3.3v protoboard power supply and I got the same behavior, it works fine with "light" programs but not with Sigfox. I want to try feeding it with 5v in the Vin, to see if it works and also test what Robert-hh says, connect the P8 to the output pin 3v3. But I haven't had time yet.
Regarding the transfer of contracts between Sigfox devices, I have found this post, but as it does not clarify much, I would like that if you can consult Sigfox, because I do not have access to support queries, that sure you can do. Well, it's interesting to know, since damaging a Sipy can happen to anyone. At the moment I have suspended the Sipy in the backend.
I asked this question in the Sigfox Support forum
Regards and thanks.
-
New tests: today I tested with a new Sipy and a new ds shield. Using the expansion board v2.0 I have updated the firmware of the Sipy, finished the update begins to work with the heartbeat LED. The Sipy + ds shield, (without expansion board) with the heartbeat works perfectly if I feed it with a 3.7v lipo battery or with an external power supply to 3.3v (ATX) directly through the Vin.
Then I have programmed the Sipy with the program that sends data using Sigfox, and with this program it doesn't work if I feed it with the 3.7v battery nor with the external power supply. It starts to run but turns off.
I want to try the P8, although I do not think it works, because that was for the Expansion 3, as I read. And I also want to try feeding it with an external 5v power supply. The ATX source output gave me 5.75v and I didn't want to risk, because it's out of range, I'll try a resistor when I can.
Any idea why it doesn't work?
-
@nespressif As @dan said, P8 may be an issue if you run the device with Exp. board 3 or PySense. In both cases, you do not need the deep sleep shield (as far as I remember).
I more seems like a problem of the power supply when using SIgfox the supply current increases. Did you try to run your code without the deep sleep shield? -
@robert-hh So far I have used the pysense and therefore I have not needed to use the ds shield, as you say. But now I want to use the Sipy without pysense and therefore I need the shield.
I have not tried to run only Sipy without ds shield, tomorrow I will try.
I think that the 3V3 Ultra-Low-Noise switching regulator that has integrated the Sipy can not feed it when it requires more consumption, but it is only an impression as I know very little about electronics.
-
@nespressif I was wondering whether the power switch transistor of the deep sleep shield would cause a substantial voltage drop, but according to the schematics that is not likely the case. The transistor used has an ON resistance of 0.12 Ohm, which is pretty low.
-
@robert-hh Last night I tried to execute without the deep sleep shield and the behavior is the same, it shuts down in the first instruction.
I want to try with other programs (a simpler program that does not read sensors, just send a byte via Sigfox) and also with an external source that provides 5v stable.
Let's see if anyone has achieved to use Sigfox with a Sipy fed it directly through the Vin.
-
@nespressif There is no reason why you should not be able to supply a SiPy by connecting power to Vin and GND. I'm doing that in my own expansion board with Lopy, LoPy4 and Fipy, where the power from a separate USB/UART module is routed to Vin and GND, and I did that several times on the bench from a lab power supply in the absence of just another expansion board.
-
@robert-hh And you achieve to send data via Sigfox by feeding the module with an external power supply through the Vin? With which voltage do you feed it 3.3v or 5v?
Because I already tell the code that they don't use Sigfox or ADC work fine, but my code with ADC and Sigfox is turned off. I have to try several codes, to be able to discard more things.
-
@nespressif I feed it with ~5V though Vin. I do not use SigFox, but LoRa. But bot use the same Modem chip, and the power pattern should be the same. The SiPy has no SPIRAM, so the Size of Python code it can run is limited. As a rule of thumb, about 500 Python lines of code. If your code needs more RAM for it's data, then less.
-
@robert-hh My code works fine when I feed the module with the expansion board or pysense by USB or with the lipo battery in the JST connector.
This is why I think it's not a code problem, in addition, all libraries are integrated into the firmware as frozen code, as you suggested, so most of the code does not count for those 500 lines, only the main.py and little more.
I will try with other codes and also try with 5v stable through Vin.
Do you think that if I connect the 5.72v that my ATX power supply gives to the Vin, will I damage the module?
Since the data sheet indicates a range of 3.5-5.5v, yesterday I didn't dare to try, I don't want to break another module. -
@robert-hh @dan I've already achieved to isolate the problem,this function crashes the program only when I feed the module from the Vin, with or without ds shield. Everything else works fine, it sleeps and wakes up as expected, I still have to measure the consumption.
wake_s = ds.get_wake_status()In this function of the deepsleep.py library, the program breaks, when the usb cable is not connected in the expansion board.
def get_wake_status(self): # bits as they are returned from PIC: # 0: PIN 0 value after awake # 1: PIN 1 value after awake # 2: PIN 2 value after awake # 3: PIN 3 value after awake # 4: TIMEOUT # 5: POWER ON wake_r = self.peek(WAKE_STATUS_ADDR) return {'wake': wake_r & (TIMER_WAKE | POWER_ON_WAKE), 'P10': wake_r & 0x01, 'P17': (wake_r & 0x02) >> 1, 'P18': (wake_r & 0x08) >> 3}I don't know if it's a bug, it's strange that no one's ever reported it before.
So if I feed it with a battery I can't know the reason wake up, which for me is interesting. Nor can I know what error reports, because I do not have connected the cable uart.
-
Please, Can anyone replicate my issue?
-
I'm not sure if this will help or not, but I use the FiPy with expansion board 3.0. If I try to boot off just the LiPo battery it will not boot. The solution to that is to tie P8 to high (3V3).
-
@reidfo Thanks for your input, that problem is already reported for the expansion board 3.0, but it is not the same.
The problem here is that when you use only Sipy+ds shield feeding it from the Vin, if you use the mentioned function, the program breaks.
-
@nespressif At which point do you connect Vin. At the SiPy or at the DS-Shield? As far as I understand it, it has to be at the DS Shield's bottom side pins.
-
@robert-hh I usually connect it through the pins at the bottom of the deep sleep shield. But no matter where I connect it, if I don't use the deepsleep.py library, the Sipy works perfectly feeding it through the Vin. If I use Sipy+ds shield with the deepsleep.py library and I don't use the ds.get_wake_status() function, everything works perfectly.
The problem occurs when I use Sipy+ds shield+deepsleep.py+ds.get_wake_status() and feed it through Vin (without expansion board). If I add the expansion board and feed it with USB, everything works perfectly.
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