Não tem problema nenhum... mas usar sempre a mesma frequência é uma chatice.
Lembrei-me agora que o código não está correcto.
#include <math.h>
//f(t) = A.sin(2.pi.f.t)
unsigned long tempo = 0;
unsigned char pwm = 0, _pwm = 0;
int temp=0;
void loop(){
double freq = 0;
if (millis()-tempo >= 100){
freq = 62.8 * pwm++;
temp = 127 * sin(freq);//-127 a 127
_pwm = (unsigned char) temp + 127; //0 a 256.
analogWrite(pino_PWM, _pwm);
temp = millis();
}
}
Deve ser algo assim para obter o que pretendes. Não tenho osciloscópio para testar isto.