mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Atmega 8 schwingende PWM / Generator


Autor: saxosun (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe ein Problem mit der PWM.
Ich benötige ein Rechtecksignal, welches sich (Tastverhältnis 1:1) ca. 
von 50 - 60 kHz einstellen lässt, und zwar selbstständig hin und her 
pendelnd. Das ganze soll für einen Chorus (Gitarreneffekt) werden.
Ich habe alles prima hinbekommen, jedoch hört man ein deutliches 
Knattern, und zwar genau in dem Takt, wie OCR1A neu geladen wird.
OCR1A wird benötigt um die Fequenz zu ändern. Ich habe auch schon ICR1 
als TOP versucht.
Ich vermute, dass beim neuladen von OCR1A sich die Frequenz bei einem 
Takt kurz verändert, und daher das Knacken kommt. Ich habe auch schon 
versucht, dass Signal wieder auf den Externen Int. zu geben, so dass 
OCR1A nur direkt nach einer Flanke geladen wird. Mit dem Oszi bekomme 
ich das leider nicht dargestellt.
Layoutprobleme kann ich wohl ausschließen, da ich die Analoge Schaltung 
komplett getrennt vom uC habe.
Der anzusteuernde IC ist ein MN3007, ein BBD Baustein(1024 Eimerketten).
Vielleicht hat ja jemand eine Idee, würde mich über jede Anregung 
freuen,

viele Grüße
Michael

Achso, warum sieht das PWM Signal im High-Zustand eigentlich so 
"saumässig" aus ??? (Mit 680pF gegen Masse gehts)

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>ich habe ein Problem mit der PWM.
>Ich benötige ein Rechtecksignal, welches sich (Tastverhältnis 1:1) ca.
>von 50 - 60 kHz einstellen lässt, und zwar selbstständig hin und her
>pendelnd.

Dafür nimmt man CTC.

MfG Spess

Autor: saxosun (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
habe ich probiert, dabei gibt es zu dem Knacken auch noch unregelmässige 
andere Knackgeräusche, ich habe die fast PWM genommen
TCCR1A = (1<<COM1A0)|(1<<WGM11) |(1<<WGM10);
TCCR1B =(1<<WGM13) |(1<<WGM12) | (1<<CS10);

die ist auch für Zastverhältnis 1:1

grüße
Michael

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>habe ich probiert, dabei gibt es zu dem Knacken auch noch unregelmässige

Und wo hast du OCR gesetzt?

MfG Spess

Autor: saxosun (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe mehrere Sachen probiert.
Ich habe einen Timer initialisiert, der für das pendeln der Frequenz 
sorgt. Immer wenn der einen Overflow hat, wird OCR1A ++ oder --.
Aber um nichts dem Zufall zu überlassen, wird bei jedem Overflow der 
Ext. Int. scharf geschaltet, auf den ich das Signal zurück leite und 
erst nach einer Flanke wird OCR1A neu geladen.
Ich kann aber keinen Unterschied feststellen, das Knacken ist immer 
gleich, egal wann ich OCR1A neu lade. (steigende / fallende Flanke oder 
Ohne ext. Int.)

grü0e
Michael

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.