Moin!
Ich habe einen Wav-Player mit Atmega168 und microSD-Card auf einem
Steckbrett aufgebaut. Alles lief wunderbar.
Jetzt habe ich das Ganze auf eine Lochrasterplatine übertragen und ich
bekomme die Kommunikation mit der SD nicht mehr hin...
d.h. noch nicht einmal die INIT (sd_raw_init) funktioniert.
(Programm läuft, da die Funktion "error" ausgeführt wird, d.h. LED
blinkt.)
Hier Auszug aus dem Code:
1
....
2
....
3
4
PRR=0;// Power for SPI
5
DDRB|=(1<<3)|(1<<5);// SPI (MOSI 3, SCK 5)
6
7
....
8
....
9
10
while(!sd_raw_init())error(1);//<<<-- HIER BLEIBT ES HÄNGEN
Alle Verbindungen mehrfach durchgeklingelt, die Fuses überprüft, anderen
Atemga-Baustein genommen, CS der SD direkt auf Masse gelegt, normale
(maxi)SD angeschlossen... - ich werd' noch Wahnsinnig.
Die Unterschiede zwischen dem Experimentierboard und der Leiterplatte
sind:
1. Auf dem Exp.-Board das mySmartcontrol MK2 benutzt - 3V3 mit LM317 und
nicht über USB.
2. Jetzt einen ATmega328 anstatt eines Atmega168 (mySmartControl).
Und: ich benutze AVR-Studio4 und WinAVR.
Hat jemand eine Idee? Irgendeine????
Ich hoffe Dein VCC ist irgendwas um die 3.3V und von Deinem ISP
Programmer kommen auch nur 3.3V.
Und zieh mal den Stecker vom ISP ab fuer die Versuche.
Ju
Bei Lochraster baut man mal schnell ne Brücke. Vielleicht ist der
Fädeldraht nicht so gut isoliert und es gibt irgendwo einen Schluss?
Wenn es vorher funktioniert hat, dann musst du einen Fehler eingebaut
haben.
Lege mal alles für zwei Tage weg, versuch nicht dran zu denken und dann
schau noch mal drauf.
Du wirst staunen, das wirkt manchmal Wunder.
Ich hatte mal eine Steuerung und einen Kurvenschalter (egal was das nun
genau ist) zusammen geschlossen. Beides bunte Kabel und auf dem einen
Stecker stand L13 und auf dem anderen Stecker L31. Im Kopf hab ich das
so "verdreht", dass ich auf beiden L31 las, zumal ich den einen Stecker
immer auf dem Kopf las.
Am nächsten Tag dauerte es keine Minute meinen eigenen Fehler zu sehen.
Deshalb, mit Abstand sieht man eher, dass die Bäume einen Wald bilden.
Ich hatte auch schon vermutet, dass es zwischen dem mySmartControl und
dem "nacktem" Atmega irgendeinen grvierenden Unterschied gibt. Aber der
Schaltplan gibt nichts her.
Kann es an fehlenden Stützkondensatoren liegen? Hat damit jemand
Erfahrungen gemacht?
@Frank O.
Ich habe keinen Fädeldraht benutzt, aber nach Kurzschlüssen werde ich
nochmal suchen...
Vielleicht sind ein paar Tage Auszeit ganz gut, wenn mir heute keine
Ideen mehr kommen.
@der alte Hans
Ich benutze einen ATMEGA 328 P-PU
der ist für diese Frequenz bei 3,3V geeignet. Siehe Anhang.
Sven W. schrieb:> Kann es an fehlenden Stützkondensatoren liegen? Hat damit jemand> Erfahrungen gemacht?
Wie lang liest du eigentlich hier im Forum schon mit?
Wann immer jemand kommt um seinen Schaltplan begutachten zu lassen,
läuft IMMER das gleiche Spielchen ab!
* Zwischen Vcc und GND gehört ein 100nF möglichst nah ans Gehäuse des µC
* Ja, zwischen alle Vcc/GND Pärchen
* AREF wird nicht an Vcc angeschlossen. Will man den ADC benutzen, dann
kommt da ebenfalls ein 100nF nach Masse rann.
Entschuldige - aber diese drei Aussagen kommen von der Community JEDE
Woche mindestens 50 mal!
Wenn jemand neuer hier her kommt, kann ich das ja noch verstehen. Aber
du bist ja doch schon längere Zeit hier!
Allerdings: Da dein Prozessor läuft, werden es in diesem Fall die
Blockkondensatoren nicht sein. Was aber nicht heißt, dass du auf sie
verzichten sollst. Die kommen IMMER drann! IMMER!
> Ich habe keinen Fädeldraht benutzt
Wie dann?
Ist aber auch egal. Man macht da trotzdem schon mal Fehler. Kalte
Löststellen, Verbdindungen die unterbrochen sind. Verbdindungen, die am
falschen Pin rauskommen.
> , aber nach Kurzschlüssen werde ich> nochmal suchen...
Durchklingeln. Stimmen alle Verbdingunen, gibt es ungewollte Kurze mit
Nachbarpins?
Sven W. schrieb:> Ich benutze einen ATMEGA 328 P-PU> der ist für diese Frequenz bei 3,3V geeignet. Siehe Anhang.
Nein.
Wie man Seite 2 des Datenblattes entnehmen kann, gilt für 0-20Mhz eine
Spannung ab 4,5V. Präziser wird es auf Seite 471. Danach ist mit 3,3V
bei 12MHz Schluss.
mfg.
Würg Jönsch schrieb im Beitrag #3063912:
> Ich glaube der LM317 will einen C_Out haben, oder?
Ach was. Den empfiehlt der Hersteller nur, weil er keine Ahnung hat :-)
Karl Heinz Buchegger schrieb:> Ach was. Den empfiehlt der Hersteller nur, weil er keine Ahnung hat :-)
Die gehören auch zu diesem ominösen Kondensatoren-Kartell, das uns
ständig seine Keramikkondensatoren aufschwatzen will. Da muss man
standhaft bleiben!
mfg.
Ein C_out beim LM317 kann nicht schaden. Aber:
Datenblatt Vishay: "Co is not needed for stability ..."
Datenblatt STM: "Performance may be improved with added capacitance ..."
Also nicht obligatorisch.
Der LM317 brauch keinen Kondi! Allerdings kann er auch nicht schneller
als seine Schleifenfrequenz von ca. 5KHz regeln. Daher brauchts dann
doch einen, wenn auch kleinen, Kondensator.
OK, OK, OK !
Trotz meines doch recht guten elektrotechnischen Wissens, bin ich doch
noch recht unerfahren in der Entwicklung von Schaltungen. Aber das
ändert sich gerade...
Mit der Taktfrequenz habt ihr völlig recht. Ist im Datenblatt aber auch
recht unübersichtlich bzw. missverständlich.
Und das "mySmartControl" mit 20MHz taktet und einen Jumper zur Auswahl
der Betriebsspannung (3V3 oder 5V) anbietet... (es läuft mit 3V3
stabil.)
Also: Asche auf mein Haupt... ich werde in Zukunft die Datenblätter
intensiver lesen.
Muss ich also eine 5V Versorgung benutzen und noch Blockkondensatoren
einbauen.
Nur mal jetzt so in die Runde:
Weiß jemand einen Buck-Boost-Konverter, der die 5V liefert und mit
Spannung von 4,5 bis 9V auskommt und mehr als 200mA liefert?
Abdul K. schrieb:> Der LM317 brauch keinen Kondi!
Das kommt immer drauf an was man dahinter dran haengt und sollte jedes
mal neu entschieden werden.
Es gibt kaum eine Schaltung die mit allen moeglichen Umstaenden klar
kommt, und die Hersteller sichern sich bei solchen Aussagen auch noch
mal ab.
der alte Hanns schrieb:> "Performance may be improved with added capacitance ...
Sven, was hindert Sie, die Schaltung probehalber mit einem passenden
Quarz oder den internen 8 MHz laufen zu lassen? Klar, die Ausgabe wird
etwas - nun ja, breit - aber um ein schnelles Resultat zu sehen ?!
Denn die 5 V - Versorgung alleine reicht ja nicht, Sie brauchen auch
noch Pegelwandler.
Karl Heinz Buchegger schrieb:> Würg Jönsch schrieb im Beitrag #3063912:>> Ich glaube der LM317 will einen C_Out haben, oder?>>> Ach was. Den empfiehlt der Hersteller nur, weil er keine Ahnung hat :-)
Karl-Heinz, bist heute richtig in Form. ;-)
Ist aber hart hier, ganz ehrlich!
"20MHz gehen nicht mit 3,3Volt!" "Doch die gehen!" "Nein die gehen
nicht, der Dingsbums hat recht!" und "Schau doch mal da und dort ins
Datenblatt!"
"Ich hab "so ein geballtes Wissen", aber sag mal, wie mache ich
eigentlich den Lichtschalter an?"
Dass es da auch mal dem Karl-Heinz zu bunt werden kann, wer will es ihm
übel nehmen?!
Sven W. schrieb:> Muss ich also eine 5V Versorgung benutzen und noch Blockkondensatoren> einbauen.
Dann solltest du aber darauf achten, dass deine SD-Karte von den 5V
nichts mitbekommt, und dass in allen Verbindungen zum µC die Pegel
angepasst werden.
Ich ignoriere hier jetzt mal einige Antworten einfach . Und danke an
alle, die ernsthaft auf die Frage eingehen.
Ich werde als erstes den Takt mal auf intern schalten (wie empfohlen),
um zu
sehen, ob was geht.
Die 3V3 wurden übrigens bewusst gewählt, um genau der Zusatzbeschaltung
für die SD zu entgehen.
Sven W. schrieb:> Die 3V3 wurden übrigens bewusst gewählt, um genau der Zusatzbeschaltung> für die SD zu entgehen.
Das ist ja auch gut und richtig so.
Du hast diese Reaktion und damit dich ein bisschen hoch zu nehmen auch
etwas provoziert.
War ja keiner wirklich "bissig" hier.
Berichte doch bitte, ob es läuft und woran es gelegen hat!
So, habs zum laufen gebracht.
Dem LM317 am Ausgang ein 1µF und dem Atmega an VCC/GND einen 0,1µF...
Und es läuft mit 3,3V bei 8MHz (nur intern Takt) und 20MHz.
Nur, daß ich nach dem Zuschalten der Spannung noch einmal ein RESET
machen muss, aber ich habe auch noch nicht die "Brown-out detection"
(2,7V)aktiviert. Vielleicht auch ein anderes Timing-Problem...
Da die 20MHz ausserhalb der Spezifikation für 3,3V sind und das ganze
bei 8MHz schon läuft, werde ich der Schaltung mal demnächst einen 10
oder 12MHz Quarz spendieren.