It’s not a SparkFun product, but I’ve seen the NEO-5Q mentioned here before, so I hope I am not out of line.
I’ve been working on a prototype using the u-blox NEO-5Q, but am having a major problem: Every time I apply power to the GPS’s VCC (GPS_VCC), the rest of the circuit browns out, resets, and the cycle starts again.
I’ve checked for shorts when the circuit is off, and everything seems clean.
At the moment, the GPS is hooked up to the board through short wires, to facilitate debugging. When GPS_VCC is not hooked up, the board runs fine. When it is hooked up, there are problems.
I added a 0.1 ohm resistor in series with GPS_VCC, and sure enough I’m seeing a very brief 0.6 V difference across the resistor at the same time as a sharp drop in the board’s VCC. This causes the brown-out, presumably.
Here’s a schematic showing how the chip is hooked up:
This is following Figure 16 in the Hardware Integration Manual, except for the fact that VCC is tied to ground, which is indicated when the device is self-powered.
I’m at a loss to explain why this is happening, so I’d appreciate any feedback you guys have. Thanks,
You’re trying to instantaneously charge all the decoupling capacitors inside the module.
To fix, either make your power supply / decoupling on your mainboard more robust; or make the fet turn on slowly. Turning the fet on slowly will charge the power supply caps while the fet is higher resistance, smoothing out the big surge of power required. To do slow turn-on, just R/C lowpass filter your control signal to the fet.
EDIT: that said, your inrush current seems excessive. Does the board work if you short the FET? That is, leave the GPS on all the time?
busonerd:
EDIT: that said, your inrush current seems excessive. Does the board work if you short the FET? That is, leave the GPS on all the time?
David–
The board seems to work perfectly with the FET shorted. I haven’t tried to talk to the GPS yet, but at the very least the voltage and current draw on VCC_GPS seem stable (about 16 mA at 3.3 V).
I had read a bit in the Hardware Integration Manual about the inrush current, but didn’t think it would be that high. I’ll try green wiring an RC filter into the control signal, and perhaps also beefing the 1 uF cap up to 10 uF.
Thanks so much. You’ve been an enormous help.
Michael
Edit: I loaded USB-to-serial firmware onto my board, fired up HyperTerminal, and things seem to be working just fine. Once again, thank you. I’ve officially learned to watch for inrush current when powering up a “large” IC.