Es wäre gut, wenn Du uns posten würdest welcher ATMEGA es denn ist, denn davon gibt es ne ganze Menge.
Wie viele PWM's ansteuerbar sind, hängt von mehreren Faktoren ab.

Taktfrequenz, Codelänge, Codequalität , Anzahl der Kanäle, gewünschte Auflösung.

In Hardware kann z.B. ein ATMEGA8 3 PWM's realisieren und das mit Frequenzen bis weit in den kHz Bereich hinein.

In Software sind theoretisch so viele PWM's möglich wie Du Ausgangspins zur verfügung hast. Allerdings ist da bei 200Hz der Ofen so ziemlich aus.

So eine Software PWM ist für den Controller eine ziemliche Belastung, weil er sehr viel in Timer Interruptroutinen rumhängt und somit für das Hauptprogramm nicht mehr viel Zeit bleibt.

Die PWM Routine würde ich versuchen in Assembler zu realisieren um Rechenzeit zu sparen.
Der Controller sollte so hoch getaktet werden wie nur irgend möglich, also einen nehmen, der auch für 20MHz noch spezifiziert ist. Dadurch kann man für Soft PWM ( Timer ) höhere Prescaler Raten einstellen, was mehr Rechenzeit für die Hauptroutine bei brauchbaren PWM Frequenzen bringt.

Du solltest deinen Code auf jeden Fall im Simulator testen, sonst kann es Dir passieren, das der Controller überhaupt nicht mehr aus der Interruptroutine raus kommt, weil bis zur Abarbeitung der Interruptroutine der nächste Interrupt schon wieder ansteht.

Die Frage nach Soft PWM wurde hier im Forum schon sehr oft gestellt, da sollte für jede Programmiersprache ein passendes Codeschnipsel zu finden sein.