Hallo, an meinem Atmega 32 messe ich an den o.g. Pins eine Gleichspannung von 0,7V ... ?! Da sollte aber eigentlich ein Takt auf dem Oszi zu sehen sein?! Ich hab je einen Kondensator (22pF) vor dem Quarz (12MHz) und einen danach. Bei den Fuses habe ich in AVR-Studio das drittletzte markiert (CKSEL = 1111, SUT = 01) Was ist denn da nicht in Ordnung?! Hilfe! :) D.
Womit führst du deine Messungen an den Pins durch? Ein paar mehr INFOOOS! gruß Andi
@Uwe: Der µC läuft, aber nicht richig. Die PWM, die der ausgeben soll stimmt in der Frequnz nicht mit dem überein, was eingestellt ist. Deswegen kam ich erst da drauf, mal am Quarz zu messen. @Andreas: Ich messe mit dem Tastkopf eines Oszilliskops ... jeden Pin gegen Masse.
Andreas G. schrieb: > Womit führst du deine Messungen an den Pins durch? DS schrieb: > Da sollte aber eigentlich ein Takt auf dem Oszi zu sehen > sein?! Beantwortet das deine Frage?
> Bei den Fuses habe ich in AVR-Studio das drittletzte markiert
(CKSEL = 1111, SUT = 01)
Und was ist mit CKOPT?
DS schrieb: > @Andreas: Ich messe mit dem Tastkopf eines Oszilliskops ... jeden Pin > gegen Masse. Hoffentlich mit 10:1, denn die hohe kapazitive Last eines 1:1 Kopfes packt der Oszillator nicht.
Jenseits von 8MHz ist CKOPT=0 vorgeschrieben. Bei Quarzen empfiehlt sich ausserdem SUT=11.
@ A.K. mmh ... dann habe ich das verkehrt abgelesen. wenn ich doch in AVR-Studio den "High-Frequency"-Crystal auswähle, wird CKOPT doch automatisch auf null gesetzt. Oder bin ich da im Irrtum?
Hab das Studio grad nicht vor Augen, aber im Datasheet steht "low frequency crystal" für Uhrenquarz (32KHz). Könnte sein, dass jeder andere ein "high frequency crystal" ist.
Soweit ich mich erinnere steht im Studio bei den Alternativen der Frequenzbereich dabei. Wenn du es allerdings schaffst, trotz scheinbare fehlenden Taktes die Fuses zu setzen, dann weil entweder der Takt trotzdem läuft, oder du mit HVP programmierst.
Ich programmiere nicht extern sondern im STK500 und ganz sicher nicht High-Voltage.
ISP funktioniert nur mit Takt. Wenn ISP also funktioniert, dann hast du definitiv einen Takt. Welchen auch immer.
Apropos STK500: Steckst du den Controller für's Programmieren jedesmal um? Faulere Genossen verwenden statt dessen den 6pin ISP-Connector in der Zielschaltung, denn diese Umsteckerei nervt doch auf die Dauer. Aber das würde erklären, weshalb du an den Controller überhaupt noch dran kommst. Zeig mal deine Schaltung als Foto. Besonders die Stelle mit dem Quarz.
Aber dann verstehe ich nicht, warum die Frequenz der PWM eine falsche ist. Wenn ich 12MHZ Systemtakt habe und einen Teiler von 64, dann sollte doch die Frequenz der PWM bei 187,5 kHz liegen, oder? Stattdessen sind es 1,45 MHz...
Also was jetzt? Funktioniert der Oszillator, nur nicht so wie erwartet und mit Schrott(?) auf dem Scope, oder funktioniert er nicht? Das unterscheidet möglicherweise zwischen Hardwareproblem und Softwareproblem.
Besser als den Quarztakt direkt zu messen, was nämlich wegen der angekoppelten komplexen Impedanz des Tastkopfs mit Leitung ganz oft schief geht, ist es, einen Portpin so zu pogrammieren, daß er in einer Endlosschleife unentwegt seinen Zustand ändert. Miß dann diese Frequenz und rechne das auf den Prozessortakt zurück. Kai Klaas
>> Wenn ich 12MHZ Systemtakt habe und einen Teiler von 64, dann sollte doch >> die Frequenz der PWM bei 187,5 kHz liegen, oder? Stattdessen sind es >> 1,45 MHz... Dann läuft der Processor halt mit 100 MHz. Bernhard
Hi >Wenn ich 12MHZ Systemtakt habe und einen Teiler von 64, dann sollte doch >die Frequenz der PWM bei 187,5 kHz liegen,.... Nein. Eine 8-Bit Fast-PWM hätte 732,40 Hz. MfG Spess
A.K.: Wie gesagt, weil die PWM-Frequenz nicht stimmte, ich mir aber sicher bin, dass ich den Timer korrekt konfiguriert habe (TCCR2 = 0x6b; --> Fast-PWM nicht invertiert mit Teiler 64) vermutete ich den Fehler entweder in den Fuse-Bits oder am Quarz selber. Und was ich da gemessen habe war Schrott.
Wie komme ich auf 187500? Klar, 732,4Hz. Aber das stimmt ja auch nicht mit dem Messergebnis überein!
DS schrieb:
> (TCCR2 = 0x6b; --> Fast-PWM nicht invertiert mit Teiler 64)
Nö.
Hi Hast du einen Controller, der ein CKOUT-Pin besitzt? Dann könntest du das aktivieren und deine Frequenz messen. MfG Spess
6B(hex)=01101011(bin), also CS2=011 und das heisst /32. Ich glaub dann passt es, oder?
A. K. ..: Na herzlichen. Timer 0 und Timer 2 vertauscht. Also brauche ich auch nicht mehr zu verstehen, warum auf dem Scope Schrott ist. Scheint ja alles zu laufen. Ich bedanke mich für die Tipps und die Hilfe. Nicht lachen, okay?! :D
Der Thread ist allerdings ein Lehrbeispiel für: "Warum nützt mir die Antwort auf die völlig falsch gestellte Frage nichts?" Besser: Das eigentliche Problem schildern, nämlich die falsche PWM-Frequenz. Dann erst die Überlegungen dazu aufführen, nämlich die scheinbar falsche Quarzfrequenz.
DS schrieb: > Ich hab je einen Kondensator (22pF) vor dem Quarz (12MHz) und einen > danach. sicher, dass das so richtig ist?
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.