Ciao Guido,
Nel caso del filtro RC che viene usato nell'esempio del PWM non e' che trasformi un'onda quadra in sinusoidale.
Fai passare solo il valore medio del segnale PWM ottenendo la componente continua.
Variando il duty cycle vari il livello della componente continua. In particolare scegliendo i valori opportuni si "disegna" la sinusoide. Si potrebbe con questa tecnica anche ottenere forme d'onda differenti.
Se si ha poi una sola onda quadra, per esempio ad una determinata frequenza impostata per mezzo del timer interno (come in alcuni esempi che hai provato) ovvero senza far uso del modulo PWM, puoi trasformare un'onda quadra in sinusoide semplicemente usando ancora un filtro RC, la cui frequenza di taglio deve essere pari a quella della frequenza dell'onda quadra (eventualmente pari alla minima delle frequenze che vuoi usare, visto il range limitato).
In questo caso lo scopo non e' quello di far passare il valore medio ma solo la prima armonica che compone l'onda quadra.
Infatti un onda quadra come una qualunque altra forma d'onda è composta dalla sommatoria di infinite sinusoidi la cui frequenza è multipla della frequenza dell'onda base, e la cui ampiezza decresce all'aumentare della frequenza.
Un'onda quadra da 260Hz per esempio è data dalla somma di infinite sinusoidi tra cui 260Hz, 520Hz, 788Hz...
Mettendo un filtro passa basso (RC) con frequenza di taglio da 260Hz farai passare solo la prima armonica (in realtà le altre sinusoidi passano ma vengono attenuate). In questo modo è come se hai ottenuto una sinusoide da un'onda quadra. In base all'ordine del filtro avrai una distorsione più o meno alta.
La teoria dietro questo argomento rientra nell'ambito della teoria dei segnali e venne approfondita per la prima volta dall'ingegner Fourier da cui prende il nome la trasformata di Fourier.
Saluti,
Mauro