mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Was ist PWM


Autor: Fritz 7 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was soll PWM eigentlich sein?
Mit dem Kann man irgenwelche Signale erzeugen oder?

Kann man das auch brauchen zur Motordrehzahl Regelung?

Fritz 7

Autor: Reiner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst damit sogar Audiosignale ausgeben.

PWM-Pulsweitenmodulation

In einer meist festen Periodendauer wird das Verhältnis von 1/0 H/L 
Ein/Aus ausgegeben.

Reiner

Autor: Harry (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...und wird z.B. im Modellbaubereich zur Drehzahlsteuerung von 
Gleichstrommotoren verwendet. Man kann damit aber auch z.B. Glühlampen 
dimmen.

Das Prinzip: z.B. bei 50Hz wird der Motor 50mal in der Sekunde ein-und 
wieder ausgeschaltet. Die Drehzahl wird dadurch bestimmt, wie lange die 
Einschaltdauer gegenüber der Ausschaltdauer ist.

Vorteil: Man schaltet die Motoren mit Transistoren, und die verbraten im 
Schaltbetrieb nur wenig Leistung, werden also nicht so warm.

Viele Grüsse

Harry

Autor: Fritz 7 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann ich damit theoretisch eine Frequenz von 2600 Hz an einen 
Lautsprecher ausgeben, dann höre ich einen Ton? Wie macht man das genau? 
Es sollte schon ein sauberes pfeiffen sein, also ohne Knacken und 
sonstige nebengeräusche.

Fritz 7

Autor: Gerd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Knacken im Lautsprecher kriegt man, wenn man den hart mit einem Rechteck 
ansteuert, also immer die vollen 5 Volt an und aus. Wenn man das Knacken 
wegkriegen will, muss man mit R, L und C ein wenig spielen.

Um mit einer PWM ein für Lautsprecherqualität angenähertes Sinussignal 
auszugeben, braucht man schätzungsweise eine PWM mit mehr als 50 kHz, 
also 20 mikrosec. für einen Zyklus. Bei einer Auflösung von 16 Stufen 
Genauigkeit hat man eine Mikrosekunde Zeit. Das ist schon anspruchsvoll 
für die Programmierung.

Schätze, ein schöner Sinus lässt sich mit anderen Methoden wesentlich 
einfacher erzeugen.

Die häufigste Anwendung für eine PWM ist die D/A-Wandlung, aber mit 
einem AVR nur, wenn man mehr als 10 ms Zeit hat. Wenn es schnell gehen 
muss, gibt es andere Methoden.

MfG
Gerd

Autor: Fritz 7 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was wären dann diese anderen Methoden für ein schönes Sinus Signal?

Fritz 7

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Fritz,

man kann auch mit PWM ein Sinussignal erzeugen.

Z.B. der Tiny15 kann eine Wandlung mit bis zu 150kHz durchführen.
Du brauchst dann nur eine Tabelle mit den Sinus abspeichern und dann mit 
dem Timer der gewünschten Frequenz entsprechend auf die PWM ausgeben.

Dann filterst Du mit einem RC-Tiefpaß die 150kHz weg und übrig bleibt 
der Sinus.

Es gibt da z.B. eine Atmel Application-note für die Ausgabe der 
Tonfrequenzwahlimpulse beim Telefon.


Peter

Autor: gerd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt viele Methoden, je nach dem, welche Ansprüche an die Kurvenform, 
Frequenzbereich, etc. Du zugrunde legst.

Wenn es ein schöner Sinus im NF-Bereich sein soll, dann wäre das ein 
DA-Wandler (z.B. ein R/2R-Netzwerk), das mit einer Sinustabelle 
gefüttert wird. Die Fütterfrequenz bestimmt dann die Sinusfrequenz. Ein 
bisschen Filtern der Oberwellen sollte dabei sein, wenn es auf 
Oberwellenarmut ankommen sollte.

Außerdem gibt es z.B. fertige Signalgeneratoren, die das alles schon 
enthalten.

MfG
Gerd

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Einen Schaltplan für einen einfachen 8 Bit R2R-DAC gibt es in der 
Codesammlung.

Autor: Peter Wilbert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ach so .. wenn man die oberwellen ausfiltert, dann knackt es nicht mehr
.. toll
noch ein gruß peter

Autor: Roman (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
da hast aber ein ganz großen gerissen!

ich würde empfehlen, alles mit einem Atmel zu machen. da schreibst du
dann eine wunderschöne sinustabelle! kann auch in 360 teilschritten
sein und dann wiederholst du diese! dann kannst du das signal durch
einen verstärker laufen lassen und fertig!

pwm braucht man dafür nich...

gruß Roman

Autor: Santa Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>kann auch in 360 teilschritten
>sein und dann wiederholst du diese! dann kannst du das signal durch
>einen verstärker laufen lassen und fertig!
>
>pwm braucht man dafür nich...

Kein PWM? Wenn z. B. der Wert Nummer 284 in der Tabelle 89 beträgt, wie
willst Du denn diesen Wert ausgeben?

Autor: Roman (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
die tabelle beinhaltet dann nicht direkte werte für einen pwm oder so.

im internet habe ich einen ams-code gefunden der ein sinussignal
ausgeben kann.

http://www.fh-oow.de/~anna/mcp/SINUS.ASM

wie es genau funktioniert, weiss ich nicht, aber ich kann sagen, dass
es funktioniert! ich habe es mit einem oszilloskop überprüft und es
liegt tatsächlich ein sinussinal an. wenn man nun noch ein verstärker
dazwischenschaltet, kann man auch größere lautsprecher verwenden.

gruß Roman

Autor: Santa Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>im internet habe ich einen ams-code gefunden der ein sinussignal
>ausgeben kann.
>wie es genau funktioniert, weiss ich nicht, aber ich kann sagen, >dass
es funktioniert!

Na und ob das funktioniert, denn wie ein Blick in den Code verrät, wird
hier einfach eine PWM softwaremäßig generiert.  T1 ist für die
PWM-Frequenz von 20 kHz zuständig, und T0 für die variable, vom
aktuellen Sinus-Funktionswert abhängige PWM-"Einschaltdauer".
That's all ;-).

Autor: Santa Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ergänzung:

Der PWM solltest Du auch mit Deinem Oszilloskop auf die Schliche kommen
können.  Ändere alle Werte in der Sinus-Tabelle z. B. auf 32 [64, 128].
Laß das Programm laufen und oszilloskopiere direkt die Ausgangspins, d.
h. ohne einen Verstärker dazwischenzuschalten, der das Signal glätten
würde.  Stell auf dem Oszi eine zu 20 kHz passende Zeitbasis ein. Dann
siehst Du die PWM mit einem Tastgrad von 12.5 % [25%, 50 %].

Autor: Roman (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
leider ist es nicht Mein oszilloskop =(
aber das ist ja echt gut, dass man die PWM auch softwaretechnisch
erstellen kann! hätt ich nicht gedacht.. bin halt noch nicht so
bewandert was asm angeht o_O aber nun ist der code auch für mich klarer
=)

gruß Roman

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.