Forum: Mikrocontroller und Digitale Elektronik Probleme mit Atmega8 - schwingt nicht und Signal zu schwach


von Basti (Gast)


Lesenswert?

Hallo,

ich habe einige Monate an einer Microcontrollerschaltung gearbeitet, nun 
ist die Platine gefertig worden(pcb-pool.de), jedoch habe ich nach der 
Bestückung einige Probleme.

Erst mal ein paar Grundlegende Sachen zur Platine:

Als Controller dient ein Atmega8 der SMD Variante (16MHz-version).
Dieser soll 15 Schieberregister (74hc595) via SPI ansteuerun und 
letztendlich LEDs steuern.
Die LEDs zeigen zur Zeit logischer weiße mehr oder weniger zufällig 
irgendwelche Farben an(RGB-LEDs).
Alle Schieberegister und AVR sind mit Ablokondensator versehen (100nF).
Als Spannungsversorgung dient ein 7805 mit Glätungskondesator (die 
Spannung scheint laut Oszi auch ganz gut zu sein).

Jetzt zu den Problemen:
Eigentlich wollte ich einen 20Mhz Quarz benutzen(XTAL1, XTAL2 22pF gegen 
GND) jedoch fängt dieser nicht an zu schwingen, auch ein Austausch mit 
einem 3,6Mhz Quarz äändert nichts an de Symptomen.
Das Signal liegt immer auf GND an XTAL 1/2.
Fuses sind auch 8-12Mhz (oder entpsrechend auf 3-8Mhz).
Jedes mal wenn ich die Fuses setze kann ich den AVR nur noch mit einem 
externen Oszilator wiederbeleben.

Das zweite Problem ist, dass sich der Pegel an der Steuerleitung zu den 
Schieberegistern lediglich von 0 - ca. 1 V bewegt. Die anderen nicht 
beschalteten Pins gehen von 0-4V

Meinte Theorie wäre jetzt, dass die nicht unerhebliche Leitungslänge in 
Verbindung mit den vielen Eingängen der Register eine recht hohe 
Kapazität darstellt und das Signal verfälscht. Dagegen spricht 
allerdings die Tatsache, dass selbst mit High im Controller das Signal 
nicht langsam auf 4V ansteigt.


Eine dritte Beobachtung macht mir noch Kopfzerbrechen. In regelmäßigen 
Abständen (im ms Bereich) erkennt man auf dem Oszi ein rechteck 
Signal(~1V).

Software sind zur Zeit nur ein paar Zeilen die eigentlich nur stets 
zwischen high und low herschalten.


Ich hoffe das war jetzt nicht zu viel Text, aber trotzdem danke für´s 
lesen. Für mich ist das Projekt relativ wichtig, weil ich einfach 
wahnsinnig viel Zeit investiert habe und auch recht viel Geld (so ne 
Platine ist ja Schweine teuer und 2-lagig durchkontaktiert trau ich mir 
daheim nicht zu).


Gruß
Basti

von Otto (Gast)


Lesenswert?

Wenn Du eine Platine hast fertigen lassen, gibt es auch einen 
Schaltplan.

Am nesten, Du postest mal beides.....

Gruss Otto

von Bensch (Gast)


Lesenswert?

> Jedes mal wenn ich die Fuses setze kann ich den AVR nur noch mit einem
externen Oszilator wiederbeleben.

Dann sind sie vermutlich FALSCH gesetzt.

> Dagegen spricht
allerdings die Tatsache, dass selbst mit High im Controller das Signal
nicht langsam auf 4V ansteigt.

Meine Kristallkugel antwortet: nix verstehn......

von Peter D. (peda)


Lesenswert?

Basti wrote:

> Eigentlich wollte ich einen 20Mhz Quarz benutzen

Dann solltest Du auch einen ATmega88 benutzen und nicht den ATmega8.


> Das Signal liegt immer auf GND an XTAL 1/2.

Dann sind die Fuses falsch.
Wenn man auf Quarz fused, ist zwischen XTAL1/2 ein Inverter.
D.h. XTAL1 auf low ziehen muß high an XTAL2 bewirken, XTAL1 auf high muß 
XTAL2 = low bewirken.

> Das zweite Problem ist, dass sich der Pegel an der Steuerleitung zu den
> Schieberegistern lediglich von 0 - ca. 1 V bewegt.

Wohl kein VCC an den Schieberegistern.


Peter

von Stefan W. (wswbln)


Lesenswert?

...ich schliesse mich mit meiner Kristallkugel mal an:

Höchstwahrscheinlich hast Du die Fuses völlig falsch und statt "external 
Crystal" "external Oscillator" eingestellt, dann erwartet der AVR einen 
an XTAL eingespeisten Takt. Dafür spricht Deine Schilderung, dass Du 
nach dem Programmieren nur mit externem Takt wieder dran kommst (grosses 
Wunder! ;-)

Wenn Du es dann mal schaffst auf externen Quarz (Crystal) umzustellen, 
vergiss nicht, auch die CKOPT Fuse zu setzen und damit statt einem sehr 
wackeligen und einstreuungsempfindlichen Oszillator (der spezielle 
Quarze bräuchte) einen deutlich robusteren Oszillatortyp einzuschalten.

von Basti (Gast)


Lesenswert?

Zuerst muss ich mich entschuldigen, leider hatte ich die Tage über keine 
Zeit mehr um zu antworten.


Die Probleme haben sich mehr oder weniger gelöst.

Der Controller wollte nicht schwingen, weil mein (billig) Oszi mit 25pF 
wohl den Schwingkreis beeinflusst hat.

Das 2. Problem lag in bei 2 vertauschten Bauteilen ( Ablockkondensator 
mit 0Ohm-Brücke vertauscht) dadurch wurde von einem Schieberegister der 
Pegel gegen GND gezogen...



Trotzdem vielen Dank.


Gruß
Basti

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.