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
Wenn Du eine Platine hast fertigen lassen, gibt es auch einen Schaltplan. Am nesten, Du postest mal beides..... Gruss Otto
> 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......
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
...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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.