SD-Card Interface von Conrad

Hallo,

möchte mich absichern und nichts falsches kaufen. Zur Datenspeicherung benötige ich ein SD-Card Interface.

Da ich nicht selber was löten möchte und es schnell verfügbar sein soll, habe ich mir folgendes Interface ausgesucht: http://www.conrad.de/ce/de/product/197220/C-Control-SD-Card-Interface?queryFromSuggest=true

Dieses möchte ich mit meinen Arduino Mega 2560 betreiben. Kopfzerbrechen macht mir die max. Stromaufnahme von 150mA. Schafft das der 5V Pin?

Der Arduino wird, wenn er fertig programmiert ist, mit 9V 2A über ein Netzteil versorgt.

Ich glaube nicht, dass es Probleme geben wird. Eine SD-Karte braucht beim Schreiben ca. 75 mA, dann kommt noch ein bisschen was für die Pegelwandlung dazu - wahrscheinlich sind eher 100 mA als Maximalwert. Dieser Strom wird ja auch nicht permanent fließen - sollte nach meiner Einschätzung klappen.

Schau dir mal die Schematic auf dieser Seite an:

Hier geschieht die Pegelwandlung über einen 74HC4050, dieser benötigt dann allerdings einen zusätzlichen 3,3V Spannungsregler.
Der dann auch die SD-Card mit 3,3V versorgt.

Wie wärs damit, das ist extra dafür gemacht:

http://www.conrad.de/ce/de/product/323476/Arduino-Wireless-SD-Shield-65188

http://www.ebay.de/itm/Arduino-SD-Kartenleser-SD-Card-Modul-/121107044789?pt=LH_DefaultDomain_77&hash=item1c328ad9b5

wie wärs mit so nem Modul? Wird aus Deutschland verschickt und braucht daher auch nicht länger als die Produkte aus der blauen Apotheke. Die wollen nämlich noch 6€ Versand, auch wenn das Ding im Endeffekt in nem Briefumschlag ankommt (eigene Erfahrung).

Das einzige man müsste ein paar Kabel oder einen Stecker Löten, aber das ist eine Sache von 2 Minuten. (Aber die gleiche Arbeit hast du bei dem Wuchermodul ja auch)

dlca:
http://www.ebay.de/itm/Arduino-SD-Kartenleser-SD-Card-Modul-/121107044789?pt=LH_DefaultDomain_77&hash=item1c328ad9b5

wie wärs mit so nem Modul? Wird aus Deutschland verschickt und braucht daher auch nicht länger als die Produkte aus der blauen Apotheke. Die wollen nämlich noch 6€ Versand, auch wenn das Ding im Endeffekt in nem Briefumschlag ankommt (eigene Erfahrung).

Das einzige man müsste ein paar Kabel oder einen Stecker Löten, aber das ist eine Sache von 2 Minuten. (Aber die gleiche Arbeit hast du bei dem Wuchermodul ja auch)

VORSICHT!

Dieses Modul braucht umfangreichere Lötarbeiten, weil nicht 3.3V tauglich! (entgegen den Angaben des Verkäufers!)
Das wurde in diesem Thread schonmal ausführlich diskutiert: LC Studio SD Card reader mit 3,3 V betreiben

Funktionieren ohne zusätzliche Lötarbeiten tut diese: Leonardo microSD Karte verbinden WIE - #5 by guntherb - Deutsch - Arduino Forum

Auf der Website des EBay Anbieters steht aber auch:

LevelShifter: wird benötigt für MCU mit 5V Pegel, die SD Karte Pegel mit 3,3V anzusprechen.

Hier würde ich statt einer Voltage Divider Schaltung allerdings den schon erwähnten 74HC4050 empfehlen.

guntherb:
Dieses Modul braucht umfangreichere Lötarbeiten, weil nicht 3.3V tauglich! (entgegen den Angaben des Verkäufers!)

Hmm, das wusste ich nicht. Ich habe selbst 2 von den Dingern hier liegen, bin aber leider noch nicht dazu gekommen diese auszuprobieren. Ich werde am Wochenende der Sache mal auf den Grund gehen. Ich hatte vor dem Kauf nämlich ein Tutorial gefunden gehabt, bei dem ein baugleiches Modell direkt am Arduino betrieben wurde.

Hab das von Conrad bestellt und es mir in die Filliale liefern lassen, ist gleich hier um die Ecke.

Hoffe das Teil wird einwandfrei funktionieren...

Werde mich aber eh noch mal melden, wenn es dies nicht tut und würde mich über eure erneute Hilfe dann freuen. :blush:

Der Schaltplan von Megaionstorm ist etwas problematisch.
Die Sendeleitung SD-Karte -> Arduino (MISO) benötigt keinen Pegelwandler!
Sie sollte direkt verbunden werden. Der Pegelwandler wird aus den 3,3V High etwa 1,7 Volt machen.
Dies liegt außerhalb der I/O-Spezifikationen und funktioniert nur durch Zufall noch!

Gruß,
Tobias

Der Schaltplan von Megaionstorm ist etwas problematisch.
Die Sendeleitung SD-Karte -> Arduino (MISO) benötigt keinen Pegelwandler!
Sie sollte direkt verbunden werden.

Soweit stimmt es ...

Aber: Das MISO Signal kommt aus der SD Card, und sollte als 3.3V Signal auch an einem 1k Widerstand immer noch > 3V sein.
Das kann man gut (egal ob direkt oder über einen 560 Ohm Widerstand ) auf einen Arduino Input Pin geben.
Ist also nicht schädlich, nur überflüssig.
Immerhin kann man sich so schonmal 1/4 der befürchteten Lötarbeiten sparen.

Die berüchtigten chinesischen SD-Adapter und vermutlich auch der hier diskutierte (kann man auf dem ebay Bild nicht gut erkennen) haben einen 3.3V Regler und mindestens die Hälfte der Widerstände (als PullUp) schon drauf, so dass max ein kleiner Widerstand oder eine Rückwärts-Diode in der Zuleitung von CS, MOSI, CLK reichen...
Die Lötarbeit hält sich also in Grenzen und ist eh erforderlich, da die Pin-Reihenfolge nicht zum Arduino passt.

michael_x:
Die berüchtigten chinesischen SD-Adapter ...

oder man nimmt die neuere Chinesische Version, die mit den Widerstandsarrays drauf:
Neu SD Memory Card Module die funktioniert komplett ohne Zusatzkomponenten. Einfach Kabel dran, läuft.

Wie wird denn das Conrad Modul mit dem Arduino verbunden?
Wär das hier Pintechnisch für einen Uno und Mega 2560 richtig?

Datenblatt SD-interface:
http://www.produktinfo.conrad.com/datenblaetter/175000-199999/197220-an-01-ml-C_CONTROL_PRO_SD_CARD_INTERFACE_de_en.pdf

5V+ 5V+
GND GND
WP WP (Schreibschutz)
CD CD (Kartenerkennung)
MISO SPI- Schnittstelle pin 12(Uno) or 50(Mega2560)
MOSI SPI- Schnittstelle pin 11(Uno) or 51(Mega2560)
SCK SPI- Schnittstelle pin 13(Uno) or 52(Mega2560)
SS SPI- Schnittstelle pin 10(Uno) or 53(Mega2560)
EN1 Reset der SD-Karte
LED
EN2 Versorgung SD-Kartenhalter

Gruß Jens

Fix sind die hier:
V+ 5V+
GND GND
MISO SPI- Schnittstelle pin 12(Uno) or 50(Mega2560)
MOSI SPI- Schnittstelle pin 11(Uno) or 51(Mega2560)
SCK SPI- Schnittstelle pin 13(Uno) or 52(Mega2560)

den SS kannst du auf einen Pin deiner Wahl legen, du mußt nur auf alle Fälle Standard-ChipSelect Pins (pin 10(Uno) or 53(Mega2560) ) auf Output setzen.

Der Rest ist nicht unbedingt notwendig und wird auch nicht von der Bibliothek unterstützt. Du kannst sie aber natürlich selbst ansprechen.
Gunther

Hab es wie geschrieben angeschlossen, trotzdem keine Reaktion vom SD Reader.

Ne SD Karte ist auch drin.

Chipselect hab ich auf 53, da ich einen Mega verwende...

Das SD-Info Beispiel Sketch sagt immer, Verkabelung falsch oder keine Karte drin. Karte ist aber drin, also Verkabelung falsch. Da bin ich mir aber mitlerweile auch sicher das es passt...

EDIT: Ich hab auf EN1 5V anliegen. Ist das normal? An den Pins ist nichts angeschlossen. Die Spannung muss also vom 5V Pin kommen.
EN2 ist GND...

Hatt die Platine einen weg?

Blabla:
Hatt die Platine einen weg?

Das glaube ich eher nicht. EN1 soll soweit ich mich erinnere auch beschaltet werde und bewirkt, wenn ich mich recht erinnere, durch ein angelegtes LOW den regulären Betriebsmodus. Ein angelegtes HIGH von >50 ms bewirkt ein Reset. Nun kann es sein, dass da einfach nur ein Pullup diesen Eingang hoch zieht und du am Pin 5V messen kannst.

Also soll ich EN1 mit einem Pin des Arduino verbinden und auf low schalten, damit das shield läuft?

Oder wie finde ich heraus, was den pullup bewirkt?

Genau das würde ICH testen. Da ich aber nicht gerade als Referenz herhalten möchte, sollten auch andere meine Analyse des Datenblattes bestätigen bzw. bei Erfordernis negieren...

Das habe ich jetzt ausprobiert. Zusätzlich EN2 auf high geschaltet.

Nun brennt die power led am sd shield.

An EN2 messe ich aber nur 2,2V jetzt... EN1 hingegen 1,2V, obwohl der ja auf low sein sollte.

Immerhin springt jetzt CD beim einlegen einer SD karte auf 0V. Es wird also eine Karte erkannt.

Die Kommunikation funktioniert trotzdem nicht.. :frowning:

Edit: hab jetzt die pins mit denen ich EN1 und 2 ansteuere auf Output gesetzt. Jetzt kommt nahezu 0V oder 5V an, wie gewünscht. Nur gebracht hat es nichts...

Das sind Enable-Eingänge am SD-Kartenhalter, also ist ja eigentlich klar, dass die angeschlossenen Arduino-Pins als Ausgänge definiert sein müssen. Wie hast du denn EN2 gesetzt?