Xinyuan-LilyGO / LilyGo-T-Call-SIM800

https://www.aliexpress.com/item/33045221960.html
458 stars 237 forks source link

Powering LilyGo TCall sim800 without usb type c #119

Open daniel571 opened 3 years ago

daniel571 commented 3 years ago

Hi,

I have tried to connect a lithion ion battery of 3.7v to the white connector with the wires attached with the product . The battery had 4v open circuit. However , I did not see that the board was start up. The leds stuck at off. I tried to press reset button and also did not start power. When usb type c connect it works fine. How to start it up with battery connected to the battery header ?

Another strange issue I found, when I test conduction between the + of the battery connector to the Vbat at the ip5306 there is no conduction (tested with multimeter of Fluke).

Any creative solution will be respected

Thanks

daniel571 commented 3 years ago

I have been thinking to connect the battery with pn junction to the 5v pin. This will wake up the esp32. Then the esp will enable the boost for battery manager with ic command. This will create 5v . The pn juntion will protect the battery from higher voltage

WDYT?

lewisxhe commented 3 years ago

There is a MOS tube in series between the IP5306 and the battery connector. It is not directly connected. You can check the Schematic

Under normal circumstances, connect the battery, you need to press the reset button to wake up.

When the battery is connected, you can measure whether there is battery voltage on pin 6 of IP5306

daniel571 commented 3 years ago

I plug a dc source of 4v to simulate lithioum ion battery to the battery header and press the reset button. It consume for short time 100ma but the module did not wake up.

daniel571 commented 3 years ago

Unfortunately, when I press the reset button the 5V signal is rising up to 4V and then drop back to 2.2V and stay there.

LilyGO commented 2 years ago

Hello, have you solved your issuse now?

proximus323 commented 2 years ago

Power boost!!!

I spend cople of hours to get this work.

bool setupPMU() { bool en = true; Wire.begin(I2C_SDA, I2C_SCL); Wire.beginTransmission(IP5306_ADDR); Wire.write(IP5306_REG_SYS_CTL0); if (en) { Wire.write(0x37); // Set bit1: 1 enable 0 disable boost keep on } else { Wire.write(0x35); // 0x37 is default reg value } return Wire.endTransmission() == 0; }