Den Code habe ich mir nicht angesehen, tut er überhauptp das, was er soll?
Wie hast Du gemessen? Ein normales Multimeter ist ungeeignet, um Effektivwerte einer PWM Spannung anzuzeigen. Da brauchts ein Oszi.
Die Störungen, von denen Du schreibst, hängen von sehr vielen Unbekannten ab: Schaltung, Layout, Spannungsversorgung usw.
Allgemein kann man sie minimieren, indem man mehrere Messungen macht und mittelt oder die Auflösung verringert.
Aber bei diesen Schwankungen schätze ich mal, es liegt an erst genanntem.
So ganz klar ist mir die Sache nicht.
Zu diesem Thema gibt es allerdings auch schon sehr viele Beiträge hier, einfach mal suchen.
Gruß