Das ist recht einfach erklärt, nicht ganz so einfach programmiert:
Bei einer PWM geht es, wie der Name schon sagt um Puls-Weite,
programmier ein Schema, bei dem auf einem Port in gleichbleibenden Zeitabständen der Pegel auf High geht,
je nach Energieanforderung lässt du ihn mehr oder weniger lange High,
er muß vor erreichen des nächsten Zyklus wieder aus sein.
Beispiel :
Einschaltung alle 100 mS, für 10 mS=10% PWM...........90mS=90%PWM
Das Timing kannst du über einen Timer und Zähler , Interrupt oder Capture/Compare machen.........je nach Controller.
Eine Softwareabhängigkeit ist nicht zu empfehlen da andere Prozesse das Timing stören können.
Da ich nicht mit AVRs arbeite, kann ich dir nur allgemeingültige Hinweise geben, also frag mich nicht....welchen Pin,welchges Register oder so.
Lesezeichen