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