Da gibt's erst mal 2 Unterschiedliche Möglichkeiten:

a) Du reagierst auf einen Wechsel des Signals und lässt einen Timer laufen, der bei erneutem Wechsel seinen Wert speichert, sich zurücksetzt und erneut losläuft. So kannst Du den Tastgrad ermitteln. Diese Methode ist bei relativ niederfrequenter PWM ganz brauchbar.

b) Du glättest das Signal mit einem RC-Tiefpass und erhälst eine Gleichspannung, deren Größe abhängig vom Tastgrad des PWM-Signals ist. Die kannst Du per ADC erfassen und auswerten. Bei hochfrequenter PWM ist das die bessere Lösung.

askazo