I have a project where, when it first turns on, it reads settings from a Micro SD card (using the Adafruit Micro SD Card Breakout), and then it doesn't need the SD card for the rest of the time that it's running. When the SD card is not in use, the project draws less than 1mA. When the SD card is in use, it's drawing about 14mA.
Is there a way to somehow turn off the SD card reader once I'm done with it so it doesn't draw any more power?
14 amps! Do you mean milliamps? At any rate, if the SD card is only drawing 13 milliamps, power it with an arduino output pin set high, then set the pin low when done.
jrdoner:
14 amps! Do you mean milliamps? At any rate, if the SD card is only drawing 13 milliamps, power it with an arduino output pin set high, then set the pin low when done.
I don't know of any SD card that only draws that little power when it is writing. This must not be peak current. I would use a p-channel mosfet to switch it instead.
Yes I do. Make sure you take the control signals low also so phantom power is not leaking thru the SD input protection diode clamps & making it appear active, or drawing down the signals.
MOSFET will have much lower voltage drop across it, vs 0.5V to 0.7V across the transistor.
P-channel 'likes' to source current to a load.
N-channel 'likes' to sink current from a load.
Adafruit has their own flavor of SD, somehow different from the IDE SD. If you read through that thread I linked you'll see where the author of SdFat comments on a bug related to power savings in SD. He doesn't say anything about the Adafruit version. But both were spun off of earlier versions of SdFat.
He (fatlib16) posts here. If you ask the question in the storage forum you might get a response.
It will work for your card. I don't know if SdFat will fix your problem or not. But I would use it anyway.
SD works okay for the most part. It's based on older code and has some bugs that have been fixed in SdFat. I believe it runs at a slower SPI clock rate. It uses more flash and RAM. It's main advantage is that it's already in the IDE, saving you from the trauma of downloading a library from github.
CrossRoads:
Yes I do. Make sure you take the control signals low also so phantom power is not leaking thru the SD input protection diode clamps & making it appear active, or drawing down the signals.
What if, say, I'm using two SPI devices? Do you recommend keeping both devices on even if I only need one device at a time? I can certainly do that. If one is switched off and the other is on, I guess the MISO line may get pulled down by the device that is switched off, correct? In this case, should I add a multiplexer to solve the problem? Thanks.
I use a part like 74HC125A to buffer MISO coming from any slave(s), especially 3.3V powered slave (SD card for example). Then I don't have to be concerned with 5V devices (like a programmer) putting 5V on MISO and either being corrupted by the 3.3V device, or the 5V damaging the 3.3V device if it can supply sufficient current.