Forum: Mikrocontroller und Digitale Elektronik ISP vs. ATmega8 vs. Quartz vs. AVR-Dude


von Tristan L. (Gast)


Angehängte Dateien:

Lesenswert?

Moin geehrte Mit-AVRler.

Folgende Story:

In meiner grenzenlosen Langeweile habe ich begonnen mit AVRs rum zu 
experimentieren - herausgekommen ist zunächst ein ferngesteuerter 1:10 
Elektro-Buggy, den ich zusätzlich mit Abblend/Rücklicht und 
Lenk-Ausschlagsabhängigen Blinkern ausgestattet habe. Später sind 
Geschwindigkeitsmessung (mittels Mini-Gabellichtschranke und Stäbchen in 
der Innenseite des Reifens) und ein LCD-Display hinzugekommen. alles 
einzeln hat super funktioniert, beim erstmaligen Testen der 
verschiedenen Teile gemeinsam musste ich allerdings feststellen das mein 
78L05 schlichtweg den Geist aufgegeben hat, da zuviel Strom verbraucht 
wurde.
Mit der nächsten Großbestellung bei Rei hab ich mir dann ein paar 7805er 
zugelegt (anfangs hatte ich 78L05er da das ganze mit einem 9V Block 
auskommen sollte), nen paar neue AVRs (man kann ja nie genug haben) und 
den üblichen Kram halt ( Kerkos, Elkos, Ohmsche etc). Da die alte 
Platine noch sehr viel Platz weggenommen hat hab ich mit Eagle eine neue 
erstellt und siehe da -> fast 75% Platz Ersparnis.

kurze Infos noch vorweg -> Ich benutze den ATmega8 - 16PU, als 
Programmierkabel habe ich mir nen Bascom-Programmer zusammengelötet 
(also die Pins 2,4,5 und 11 des LPT-Ports mir 330R Widerständen), 16MHz 
Quarz ist dran, inklusive Kondensatoren nach GND (logisch :) ) und die 
wie hier im Tutorial beschriebene Stromversorgung mit den üblichen 
Kondensatoren ist ebenfalls im Einsatz, allerdings momentan zu 
Testzwecken übers Hausstromnetz gespeist. Als Compiler benutze ich 
avr-gcc (WinAVR 20080610) 4.3.0, zusätzlich noch aus Faulheit Bascom AVR 
um auf die schnelle zu prüfen ob der Chip erkannt wird :)

So, jetzt kommt das eigentliche Problem.

Wird der AVR auf der neuen Platine mit dem internen Oszi betrieben und 
über den AVR-Dude programmiert funktioniert alles wunderbar, bis auf die 
Geschwindigkeitsmessung, da ich schon recht genaue Werte erzielen 
wollte.
Wenn ich über Bascom allerdings gucken will ob er den Chip erkennt gibt 
der mir die Fehler Meldung "Device did not match ATmega<>ATTiny", 
komischerweise kann ich dann aber trotzdem die Fusebits auslesen etc. 
Setze ich die Fusebits jetzt auf externen high-crystal geht gar nichts 
mehr. in Bascom wird direkt "could not identify chip with id=0x000002 
(z.B., wechselt ständig)". AVR-DUDE sagt mir zawr dass der AVR bereit 
ist und fängt an zu lesen, erwartet dann aber ne andere Device-Signature
1
expected signature for ATmega8 is XX XX XX (z.B.)

Zunächst hab ich vermutet dass ich die Fusebits versehentlich falsch 
gesetzt habe, daher hab als Test den ATmega8 aus dem alten Board 
(welches vom Schalplan her nahezu identisch ist, lediglich die Ports zur 
Peripherie sind anders gewählt) eingesetzt und siehe da -> das gleiche 
Problem wie mit dem neu gefusten AVR.

Weiß irgendeiner was man da machen könnte bzw wo der Fehler liegt?
Ich häng vorsichtshalber mal den Schaltplan + geroutetem Board an.

Danke im Vorraus, mfg Tristan

von Tristan L. (Gast)


Angehängte Dateien:

Lesenswert?

und hier nochmal der Schaltplan

von ROFL (Gast)


Lesenswert?

gähn.
Huch, bin glatt eingeschlafen bei der spannenden Geschichte.

Hast du mal versucht einen 100n zwischen Reset zu GND zu legen. Ich 
hörte mal, dass das nem uC ganz gut tun könnte...

von ROFL (Gast)


Lesenswert?

Ausserdem sieht mir dein Schaltplan so aus, als ob da einige Netze nicht 
verbunden sind.
z.B. GND vom 7805 hat zwar noch Kontakt zu "ELKO1" aber es ist kein 
Verbindungspunkt zu "KERKO1" zu sehen.
Genauso scheinen C1 und C2 nicht gegrounded zu sein.
Ebenso gibt es an pin22 (AGND) keinen Verbindungspunkt.
(Netze über Pins zu ziehen ist übrigens eine Unart.)
Warum sind Verbindungspunkte bei Pin7 und 20? Evtl. hast du ein Problem 
mit dem Grid.

Mach mal einen ERC!

von ROFL (Gast)


Lesenswert?

und: was sollen wir mit diesem nur teilweise gerouteten Board anfangen?
So hast du das ja wohl kaum produziert?

von Falk B. (falk)


Lesenswert?

@  ROFL (Gast)

>Huch, bin glatt eingeschlafen bei der spannenden Geschichte.

Hat ja auch Tristan geschrieben . . .

duckundwech
Falk

von Tristan L. (Gast)


Lesenswert?

Ok... ich schäme mich fast für Die Lösung, aber ich hab sie - Das 
Programmierkabel war schlichtweg zu lang -.-

trotzdem danke für die glorreichen Kommentare :)
und @ROFL (Gast) -> der 100N hat was gebracht!

danke nochmal, bis denn

von ROFL (Gast)


Lesenswert?

Achso. Und die ganzen Kurzschlüsse auf deinem Board? Die stören wohl 
nicht.Dann ist ja alles gut.

von Tristan L. (Gast)


Lesenswert?

mh... es gibt keine Kurzschlüsse!

von ROFL (Gast)


Lesenswert?

Nur mal so aus Interesse:
Wie machst du das, dass sich in der rechten Hälfte deines Boards die 
roten diagonalen Leiterbahnen auf deinem Top Layer mit den roten 
horizontalen und vertikalen (auch auf dem Top Layer) kreuzen ohne 
Kurzschlüsse zu bilden?

von Tristan L. (Gast)


Lesenswert?

mh.... Hätt ich vielleicht am anfang dazu sagen sollen...
also erstmal hab ich keine geätzte Platine, sondern ne Lochrasterplatine 
und die Board.png hab ich als Wegweiser sozusagen benutzt, damit der 
Aufbau relativ ordentlich bleibt.
Und bei besagten Kurzschlüssen -> 2 isolierte Drähte übereinander (ist 
jetzt wahrscheinlich wieder eine Unart) aber... solange ich weiß wo die 
Drähte hingehören und da ich ja wenn überhaupt erstmal nur Hobby-Bastler 
bin finde ich das jetzt nicht so schlimm :)

mfg Tris

von ROFL (Gast)


Lesenswert?

Es wäre sozusagen total toll gewesen, das vorher dazuzusagen.
Denn dann hätten sich hier 67 Leute nicht die Mühe gemachet auf deiner 
verka**ten Platine nach Fehlern zu suchen.

von Tristan L. (Gast)


Lesenswert?

entschuldige bitte, shit happens :)

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.