Go Down

Topic: [gelöst] Problem mit Arduino Uno und SD-Karte (Read 576 times) previous topic - next topic

Taurus

Nov 07, 2013, 11:07 am Last Edit: Nov 08, 2013, 09:25 pm by Taurus Reason: 1
Moin Forum!

Meine SD-Karte ärgert mich!
Ich hab schon etwas Erfahrung mit Dataloggern auf SD-Basis und bisher hat alles immer sauber geklappt!

Doch diesmal ist absolut der Wurm drin!
Ursprünglich wollte ich den internen Speicher eines GPS-Dataloggers auslesen, doch mittlerweile bekomme ich nicht mal mehr die Beispielsketche mit der SD zum laufen!

Zur Hardware:
Ich habe das PinOut mehrfach überprüft, das passt.
Als Modul nutze ich das SD-Card-Breakout von LC Studio. Davon habe ich mehrere hier und auch schon alle durchprobiert.
DIe Karte funktioniert auch, das Problem ändert sich nicht wenn ich eine andere Karte nehme.

Fehlerbeschreibung:
Wenn ich den Beispielsketch Beispiele >> SD >> Datalogger lade und ausführe erscheint im Monitor nur "Initializing SD xyz"
(wobei xyz hier für jede Menge kryptische Zeichen steht) und das immer und immer wieder...
Ich nutze die Arduino 1.0.5.

Habt ihr irgendwelche Anregungen???

Taurus

jurs


Als Modul nutze ich das SD-Card-Breakout von LC Studio.
...
Habt ihr irgendwelche Anregungen???


Mit welcher Beschaltung zwischen Arduino und SD-Board?

Taurus

Uno   ::   SD Breakout
GND   -   GND
5V       -   +5V
D4      -   CS
D11     -   MOSI
D12     -   MISO
D13     -   SCK

guntherb

Da hatte schonmal einer das gleiche Problem:
http://forum.arduino.cc/index.php?topic=125973.0

Bei Ihm wars letztlich ein defekt am SD-Module.
Grüße
Gunther

michael_x

Die SD Karte selbst kann nur 3.3V
Es gibt Module namens "LC Studio", die zwar einen 5 -> 3.3 Regler für Vcc haben, aber die Signale auf 5V lassen.

Das wird in dem Link, den gunterb zitiert, auch diskutiert ( sowie in einigen anderen Threads )

Quote
Mit welcher Beschaltung zwischen Arduino und SD-Board?

... und was passiert dann in deinem Modul damit ... ?

jurs


Uno   ::   SD Breakout
GND   -   GND
5V       -   +5V
D4      -   CS
D11     -   MOSI
D12     -   MISO
D13     -   SCK


Mit so einer "Direktverbindung" funktionieren nur die wenigsten SD-Karten.

Das Problem dabei ist: Die Datenleitungen des Arduino liefern "HIGH" als 5V, aber SD-Karten vertragen nur 3.3 V.

Du benötigst entweder einen Pegelwandler, der zwischen dem Modul und dem Arduino zur Wandlung der Datenleitungen zwischen 3.3V und 5V. Das wäre die technisch beste Lösung.

Oder minimal benötigst Du die Beschaltung, die ich hier in Reply #2 als Bild angehängt haben:
http://forum.arduino.cc/index.php?topic=186379.msg1380090#msg1380090
(Pin-Nummern im Bild gelten für UNO-Boards, für MEGA ggf. anpassen)

Mit diesen Spannungsteilerwiderständen in der Schaltung werden die 5V-Signale vom Arduino auf ca. 3.3V heruntergeteilt. Und die 3.3V, die das SD-Modul als HIGH auf der MISO-Leitung liefert, werden mit ziemlicher Sicherheit von Arduino-Boards auch als HIGH erkannt und es funktioniert. Jedenfalls funktioniert es mit Widerstandsteilerschaltung mit viel mehr SD-Karten als bei Direktschaltung "ohne alles". Jedenfalls wenn die Betriebsspannung des Arduino eher bei knapp unter 5V liegt, z.B. an einem USB-Port mit 4,8 Volt.


Mit so einer "Direktverbindung" funktionieren nur die wenigsten SD-Karten.


Hallo,

der TO beschreibt ja im ersten Post, dass er das Breakout-Board von LC Studio benutzt. Wenn es dieses ist: Breakout, dann ist da ja alles drauf, was an Pegelanpassung gebraucht wird.

Gruß,
Ralf
Es gibt 10 Arten von Menschen, die einen verstehen Binär, die anderen nicht...

Taurus

Guten Morgen,

Ralf hat Recht, ich das Breakout das er verlinkt hat ist genau das was ich nutze.
Auf die Idee ein SD-Socket direkt anzuschließen wäre ich garnicht gekommen, zumindest nicht ohne mir zuvor die Pegel anzuschauen...

guntherb

Dann ist die Sache klar.

Dein SD-Modul hat KEINE Anpassung an 5V Signale.

Das wurde hier schonmal diskutiert:  http://forum.arduino.cc/index.php?topic=157672.msg1187156#msg1187156

Den praktischen Umbau habe ich hier beschrieben: http://forum.arduino.cc/index.php?topic=157672.msg1185899#msg1185899
Grüße
Gunther


Dein SD-Modul hat KEINE Anpassung an 5V Signale.


Hi,

tja, da bin ich auch reingetappt! Ich dachte eigentlich die Widerstände wären als Spannungsteiler geschaltet, habe es aber gerade nachgemessen, sind sie nicht  :(. Schade, ein Griff in die Puddingschüssel.

Interessant ist aber, dass ich bisher mit meinen SD-Karten noch keine Probleme hatte.

Danke auf jeden Fall für den Hinweis!

Gruß,
Ralf
Es gibt 10 Arten von Menschen, die einen verstehen Binär, die anderen nicht...

Taurus

Das ist ja witzig!
Nachdem du nachgemessen hast, hab ich auch mal das Multimeter angesetzt... tatsächlich!!!
Find ich zwar völlig behämmert, aber naja...

Dennoch hat es mich nicht in Ruhe gelassen, und ich hab dann nochmal meinen MEGA (mit dem ich sonst im Regelfall arbeite) rausgekramt und da die SD-Reader dran gehangen... und da funktioniert es  :smiley-yell: :smiley-yell: :smiley-yell:

Ich wußte schon warum ich nix mit Elektrotechnik studiere... völlig unberechenbar der ganze Schnodder  ]:)

Danke an alle!!!

Taurus

Go Up