Eu estou a trabalhar num projeto de um conversor para os módulos fotovoltaicos e
Eu estou usando uma placa Arduino Uno para gerar um PWM para controlar um IGBT.
Eu preciso de pelo menos freqüência 10kHz PWM e usando analogWrite eu recebo 490hz
Ajudem-me a configurar os timers para ter uma freqüência de 10kHz.
aqui está o codigo:
/*
Two Stage Single Phase Inverter control
JN. Barbosa - MERCEUS - DEE - FCT-UNL
*/
int Vpv0 = 0; // inicials conditions
int Ipv0 = 0;
int P0 = 0;
int Vpv1 = 0;
int Ipv1 = 0;
int P1 = 0;
int D = 0.500; // duty-cycle
int dD = 0.001; // perturbation
void setup()
{
pinMode(3, OUTPUT); // sets the pin as output
}
void loop()
{
Vpv0 = analogRead(A1); // read the pv voltage
Ipv0 = analogRead(A2); // read the pv current
P0 = Vpv0*Ipv0; // calculate instant power
Olá.
Ainda nao usei PWM, mas pelo site de referencia parece ser simples como chamar apenas a funcao analogWrite(Pino, 0-255).
Acho que o problema está nessa sua variavel D multiplicando o 255.
Cheque o valor dela. Tente tambem colocar um valor manualmente pequeno para conseguir uma frequencia alta.
Pois me parece que a funcao é inversamente proporcional, quanto menor o valor passado como parametro maior a frequencia.
E o amigo em cima colocou otimos sites de referencia um até com a frequencia que vc precisa de ICR1 = 100 gives f = 10kHz. Ultimo site de referencia.
Espero ter ajudado.
ViniciusPolo, o problema de analogWrite(n,d) em que o n é o numero correspondente ao pino e d é o dutycycle, gera pwm a uma frequencia fixa de 490 hz. Para ter frequencias maiores é preciso mexer nos setups dos timers internos. E isto ainda não domino mas chegarei lá.
no loop calculando por alto de dar de 2 a 3 ms cada interação, > de 500 a 333 HZ, o primeiro codigo lá em cima deve ser suficiente,
pois quanto maior a frequencia, maior atenção deve se ter em relação ao acionamento do mosfet/carga.
sei que esse post é bem antigo, mas aqui tem uma dica de como vc pode estar alterando a frequência do pwm para 7 valores pre determinados pelo código sugerido pelo cara do vídeo.