Go Down

Topic: SdFat - can card be powered off successfully? (Read 9216 times) previous topic - next topic

fat16lib

Other people have had problems with that SD module.  Some versions have a SPI level shifter bug that causes problems sharing the SPI bus with other SPI devices.

I have used it alone on the SPI bus without problems.

Quote
Is it possible for undervoltage to have damaged the reader?
I don't think low voltage will damage the level shifter or regulator.

Have you connected the module directly to 5V from the Arduino?

Bronston

Well I checked everything suggested as far as I know. I bypassed the power switching pin, putting 5v straight to the vcc pin on the reader. I checked the regulator, solid 3.3 out. I tried various sd cards. I'm out of ideas. The only spi device is the sd reader so that shouldnt be the problem. I noticed at one point the atmel chip was pretty hot, not hot enough to burn me but still hot. That problem went away and I still don't know what caused it. I have a few of these pro-minis so I guess I'll try swapping it out. Wish I hadn't already hot glued it into its enclosure. If that doesn't fix it got any ideas? What sd reader would you suggest in place of the one I have?

Thanks again

Bronston

Well on second thought I just connected the sd reader to the new pro mini and it works so I guess some how I toasted the first one. Still runs though code though. Fun fun

Luke_I

I've been looking into this for a little bit and thank you for the posts so far as they have defiantly been useful. In my project I have two cards on the SPI bus, one card which is the local memory and I have another which is a transport. The idea being that someone walks up with a transport key plugs it in, the arduino detects the key and starts an upload. Once the upload is complete then the user can unplug the transport SD.

My issue comes that the copy process would only work the first time and then the files would fail to write to the transport on the second insertion. If I rebooted the arduino it would work fine.

The way that I have found to get round this feels wrong however it works without any hitch so far. It is that the SDFat library uses the arduinos SPI.h library so by including it before include SD FAT

Code: [Select]
#include <SPI.h>
#include <SdFat.h>
#include <SdFatUtil.h>
#if !USE_MULTIPLE_CARDS
#error You must set USE_MULTIPLE_CARDS nonzero in SdFatConfig.h
#endif


then later I use SPI.end() to kill all SPI communications once all files are synced and closed on both cards, this allows me to reinitialise the SD cards when I want and they so far happily carry on from then as if nothing has happened. So my question is can anyone think of a specific reason why this would be unstable or thing that I should be particularly aware of.

Go Up