Ai-Thinker-Open / GPRS_C_SDK

Ai-Thinker A9/A9G GPRS (with GPS(A9G)) module C development SDK
https://ai-thinker-open.github.io/GPRS_C_SDK_DOC
MIT License
449 stars 235 forks source link

Pudding board power issues with 850/900MHz GSM band #421

Open ZakKemble opened 4 years ago

ZakKemble commented 4 years ago

The A9G has a transmit power of 2W on the 850/900MHz bands and 1W on the 1800/1900MHz bands. When connected to a mobile network on 850/900MHz the current draw of the module can be up to 1.8A in short bursts (you will need a current shunt resistor and oscilloscope to see the bursts, an ammeter is too slow). On the pudding board these high currents create large voltage drops on the VBAT supply due to insufficient decoupling capacitance. There is only a 100uF tantalum capacitor near the module VBAT pin and a 22uF ceramic capacitor at the buck converter.

VBAT: 900_vbat_nocap

VUSB: 900_vusb_nocap

These 2.3V drops cause all kinds of problems, the main ones being random crashes and restarts and SD card problems. Reading/writing to the SD card might fail and the SD card might completely lock up and require a power cycle to fix it.

I added 2x 470uF electrolytic capacitors (should be low ESR, but the ones I used were not) and a 1uF ceramic capacitor in parallel with the 100uF tantalum capacitor:

caps

This reduced the voltage drops down to 0.6V, which seems to have fixed most of the issues, but it's still not great.

VBAT: 900_vbat_cap

VUSB: 900_vusb_cap

The buck regulator used on the pudding is a SY8089, rated for 2-3A. The inductor will need to have a saturation current rating of at least 1.95A for a 1.8A load (I think I worked that out right), however the 2.2uH inductor appears to be slightly physically smaller than inductors with such a rating and thus might have a lower saturation rating, which could be another cause for the output voltage dropping.

On the 1800/1900MHz band everything is fine without the extra capacitors, as the burst current is only around 0.8A with a small voltage drop of around 200mV, and then a bit of overshoot.

VBAT: 1800_vbat_nocap

VUSB: 1800_vusb_nocap

So, if you're having weird problems with your pudding board you could try:

Though, there is one good thing that comes from using the 850/900MHz band; the microphone picks up far less GSM interference!

ZakKemble commented 4 years ago

So I had a look around my spares and things for some inductors and the closest I could find to what the pudding board is this one. 6.8uH with 2.5A saturation current.

ind

VBAT: 900_vbat_nocap_ind

The inductor is an improvement over the previous inductor, 1.11V vs 2.27V, but still not as good as adding the capacitors.

I added back the 2x 470uF and 1x 1uF ceramic capacitors.

VBAT: 900_vbat_cap_ind

This is about the same as with the original 2.2uH inductor. I'm guessing that the extra capacitance was smoothing out the current peaks so the 2.2uH inductor was able to handle the current and didn't saturate.

I swapped out the 2x 470uF capacitors with 2x low impedance 470uF caps (these), this reduced the drops a little bit more, now at 0.57V.

VBAT: 900_vbat_caplowz_ind

So, the inductor only helps if no extra capacitors are added. However, adding extra capacitors works better than changing the inductor.

ahammers commented 3 years ago

If I power the Pudding board directly by a 2800mAh 18650 Liion cell connected to VBAT, is there still a power problem?

Where did you add the capacitors? To which net is the onboard capacitor connected to?

Thank you and I am sorry if this is a stupid question. I do not know enough about electronics to evaluate this myself. I just want to build a stable gps tracker with low latency for our next race.

sdml0 commented 9 months ago

For stable work with somekind 5v power supply(using built-in 4.2v converter) at very least 1000uF is required on VBAT. There is even convinient pads available close to usb connector.