Forum: Mikrocontroller und Digitale Elektronik Vom Experimentierboard zur Leiterplatte


von Sven W. (sven_w18)


Angehängte Dateien:

Lesenswert?

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
11
12
/* open first partition */
13
    if((partition = partition_open(sd_raw_read,sd_raw_read_interval,NULL,NULL,0))==0)
14
        if((partition = partition_open(sd_raw_read,sd_raw_read_interval,NULL,NULL,-1))==0)
15
    error(2);
16
17
/* open file system */
18
if((fs = fat16_open(partition))==0)  error(3);
19
20
/* open root directory */
21
if(fat16_get_dir_entry_of_path(fs, "/", &directory)==0) error(4);
22
if((dd = fat16_open_dir(fs, &directory))==0) error(5);
23
24
fat16_reset_dir(dd);
25
fat16_read_dir(dd, &directory);
26
27
....
28
....

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????

von Juergen G. (jup)


Lesenswert?

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

von Sven W. (sven_w18)


Lesenswert?

VCC ist 3,24V... ungefähr

Zum programmieren benutze ich den AVR-ISP MK2

und abgezogen habe ich den auch schon...

von F. F. (foldi)


Lesenswert?

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.

von der alte Hanns (Gast)


Lesenswert?

20 MHz bei 3.2 V ist grenzwertig.
Vermutlich liegt aber ein Verdrahtungsfehler vor.

von Sven W. (sven_w18)


Angehängte Dateien:

Lesenswert?

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.

von der alte Hanns (Gast)


Lesenswert?

Unsinn!

"3. See Figure 29-1 on page 308."

von Karl H. (kbuchegg)


Lesenswert?

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?

von der alte Hanns (Gast)


Lesenswert?

Konkret: Sie übertakten mit rund 55 %.

von Thomas E. (thomase)


Lesenswert?

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.

von Karl H. (kbuchegg)


Lesenswert?

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 :-)

von Thomas E. (thomase)


Lesenswert?

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.

von der alte Hanns (Gast)


Lesenswert?

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.

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

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.

von Sven W. (sven_w18)


Lesenswert?

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.

von Sven W. (sven_w18)


Lesenswert?

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?

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Schau mal bei LTC und TI.

von Juergen G. (jup)


Lesenswert?

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 ...

von der alte Hanns (Gast)


Lesenswert?

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.

von F. F. (foldi)


Lesenswert?

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?!

von der alte Hanns (Gast)


Lesenswert?

Jaja, Herr Buchegger war so echauffiert, dass seine Rechtschreibung arg 
gelitten hat.

von Verwirrter Anfänger (Gast)


Lesenswert?

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.

von der alte Hanns (Gast)


Lesenswert?

Sehr gut, doppelt hält besser!

von Sven W. (sven_w18)


Lesenswert?

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.

von F. F. (foldi)


Lesenswert?

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!

von Sven W. (sven_w18)


Lesenswert?

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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.