Allgemein berechnet man die Ausgangsspannung bei einer PWM:
U_a = (t_leitend / t_gesamt) * U_e
U_a : Ausgangsspannung
U_e : Eingangsspannung
t_leitend : Leitdauer des Transistors
t_gesamt : Periodendauer der PWM, also t_leitend + t_sperrend
Dies gilt jedoch nur für den Fall, dass deine Last am Ausgang konstant
bleibt.
Für eine variable Last musst du eine Regelung implementieren, damit der
µC immer den vorgegebenen Spannungswert am Ausgang einstellt.
Mein Vorschlag wäre hier ein PI-Regler, der dafür sorgt, dass keine
bleibende Regelabweichung entsteht.
Mein erster Vorschlag wäre mal, nach Regelungstechnik zu googlen bzw.
bei Wikipedia zu schauen.
Weiter gibt es bei ATMEL Application Sheets die dem Entwickler
weiterhelfen. Im AVR221 Dokument ist beschrieben, wie man einen
PID-Regler implementiert.