mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik mega8 und PWM


Autor: Daniel Schmidt (tychon)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
bin noch ziemlicher Anfänger bei µC.
Hab das Tutorial zwar schon erfolgreich hinter mir, aber da hörts auch
schon auf.

Hab mich heut schon den ganzen Tag an PWM versucht.
Klingt im Datenblatt ja irgendwie einfach, die passenden Bits in
Control Register setzen, einen Wert ins Output Compare Register und den
Rest macht er von alleine.

Also bin ich der Meinung mein kleines Programm sollte schon irgendeinen
Effekt zeigen.
Benutze übrigens das STK500 und hab die LEDs an PORTB angeschlossen.
Liegt da schon mein Fehler??
Der Timer müsste doch eigentlich schon loslaufen wenn man die CS22:0
Bits setzt, oder muss ich den sonst wie starten!?

Naja, jedenfalls sehe ich an den LEDs absolut gar nichts und weiss
ehrlich gesagt nicht mehr warum :(

Autor: Daniel Schmidt (tychon)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
p.s.: Habs im Simulator mal laufen lassen, da tut sich was an PB3, so
wie ich es eigentlich erwartet hab.

Autor: Bernhard S. (bernhard)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Noch keiner hat geantwortet?

Ich stell Dir mal ein Beispiel zur Verfügung, vielleicht hilft es?

Bernhard

Autor: Grave80 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, also die LEDs an PORTB ist shconmal richtig denn das PWM signal kann
man ja am PB1 oder/und PB2 abgreifen.

//Ports auf Ausgang schalten
DDRB |=(1<<PB2)|(1<<PB1);
PORTB|=(1<<PB2)|(1<<PB1);

//Die register üssen gesetzt werden damit das PWM signal erzeugt wird
TCCR1B &=~(1<<CS12);
TCCR1B|= (1<<CS11);
TCCR1B|= (1<<CS10);
TCCR1A|= (1<<COM1A1)|(1<<COM1A0);
TCCR1A|= (1<<COM1B1)|(1<<COM1B0);

OCR1A=tempol;
OCR1B=tempor;// hier dann einen wert von 0-255 für tempol oder tempor
einsetzten  , habe damit 2 motoren gesteuert


jetzt zu meinem Problem das mit dem PWM funktioniert wunderbar, nur
will ich jetzt am PB0 mit Input Capturing ein PWM signal auswerten, nur
irgendwie klappt das nicht, beides einzeln geht also entweder PWM signal
ausgeben oder halt irgendein PWM signal auswerten, nur zusammen geht das
irgendwie nicht, klappt das grundsätzlich nicht oder muss man da nur
eine bestimmte einstellung vornehmen???

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>will ich jetzt am PB0 mit Input Capturing ein PWM signal auswerten

Wie funktioniert das Input Capturing ?
Wird das Tastverhältnis ermittelt?

Auf alle Fälle beinflusst es den Timer1,
ob es dan nicht zu Problemen kommt mit PWM (auch Timer1)?

Gruß

Bernhard

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.