hi
there are many methods of PWM , one of them is sinosuidal PWM
that uses a sine wave to be compared with triangular signal to produce the
PWM wave required .
regarding the use of microcontrollere pic 16F877a
has such capapilities
If you mean diffrence of Sinusoidal PWM and PWM :
SPWM is the PWM which its pulse widths change according to sine wave value.
Yes you can use RC lowpass filter wherever output frequency is much lower than PWM frequency.
Yes if you use some microcontroller such as 16F877 which have ADC and PWM,
you can use potentiometer connect to ADC input and generate PWM,
but its maximum frequency depend on clock frequency of microcontroller.
If you don't use feedback ,It is very easy .You design the sintable from exel .Examle :Use function ROUND(1024*SIN((2*3.14159*($C1))/400),0) for 400point per cycle .If you have feedback ,It is hard with some control such as PID,Fuzzy...