PWM mit dem ATMega 2560 klappt nicht
Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen
Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.
Hinweis kann nach Kenntnisnahme deaktiviert werden!
-
-
Ist das der richtige Timer für dem Pin?
Und muss der nicht aus Ausgang konfiguriert werden? -
Als Ausgang hatte ich ihn definiert,hat aber nichts gebracht.
Ich weiß auch nicht genau, ob es der richtige Timer ist,
so richtig blicke ich da nicht durch. -
OC5A ist Timer 5
-
Danke Mitch64, das wars!
Für die Zukunft, wo finde ich das im Datenblatt, ich habe versucht
mich da einzulesen, aber ohne Erfolg.
Gruß Ralf -
Das wusste ich anhand des Namens OC5A
OC steht für OurputCompare
5 für Timer 5
A for den 1. Pin, der PWM ausgeben kann. B wäre der 2.
Im Datenblatt findest du das bei den Timern. Timer5 ist vielleicht einzeln aufgeführt.
Einfach im Inhaltsverzeichnis nach Timer suchen. -
Ganz herzlichen Dank, jetzt ist das Klar!
-
Du kennst den Unterschied zwischen
Enable Timer1 und
Start Timer1 ?
Enable aktiviert Interrupts
Start aktiviert Peripherie. -
Stimmt natürlich, hab es jetzt mit reingenommen.
Eigenartigerweise ging es auch ohne. -
Mitch64 schrieb:
OurputCompare
Soll natürlich OutputCompare heissen.Eine Lösung habe ich nicht, aber mir gefällt Ihr Problem. -
Gerade habe ich das gleiche Problem mit einem attiny4313. OC0B funktioniert nicht, OC1A schon. Nun kann man ja nur timer1 nehmen.
Ich habe auch mal testweise PWM0B statt PWM1B genommen, ohne Erfolg.
Ich hoffe, es weiß jemand Rat, die Platine ist nämlich fertig.
michl -
michl schrieb:
Ich hoffe, es weiß jemand Rat
Raum für Notizen
-----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------- -
Hier ist mein Testprogramm:
servo3.bas -
Du verwendest den timer1 und davon Kanal b. Dein pin wäre also CO1b. Den musst du aber auch noch als output configen, sonst wird nur der pullup hin und weg geschaltet.Raum für Notizen
-----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------- -
das hatte ich auch probiert, also config portd.5=output. Die Bezeichnung ist im Datenblatt 0C0B für den PWM-Ausgang. Oder wie müsste ich das machen? Bei Kanal A ist doch auch nichts weiter erforderlich. Und wenn ich das Beispiel in S.H.s dickem Buch ansehe, sind auch keine zusätzlichen Befehle nötig.
michl -
Dein pin ist aber der portb.4. Du musst den pin für OC1b nehmen. Config portb.4=output.Raum für Notizen
-----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------- -
Ok, es kommt verschärfend dazu, dass du eine fertige Platine hast. Wenn dein pin fix ist, bleibt eine software-PWM übrig. Dann wird mit einem interrupt der betreffende pin in den gewünschten Zeiten umgeschaltet.Raum für Notizen
-----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------- -
Danke. Da muss ich etwas falsch verstanden haben. Ich mache mich gleich ans Werk.
Muss ich eben einen Draht ziehen
Was ist dann aber 0C0B? Ist das dann ein PWM an timer0?
michl -
Genau.
Du kannst dir ja mal das Servo-Signale mit timer2 im ctc-modus
anschauen. Das ist eine softwarelösung, die du natürlich auch mit timer1 machen kannst.
Wenn Fragen bleiben, einfach fragen.Raum für Notizen
-----------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------