TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: EA7LN en 16 de Diciembre de 2010, 18:56:31
-
Hola a todos, estoy con un proyecto sencillo pero que me esta dando dolores de cabeza.
Se trata de regular la salida PWM a partir de la entrada del AD en un pic 12F683.
Cuando el AD esta a cero la salida PWM no se queda a cero, sino que da un duty del 0,3% y cuando esta a 5V el duty es de 99,8%, cuando deberia ser 0 y 100% respectivamente.
He pensado que sea ruido del AD pero forzando el duty a 0 cuando el valor del AD es inferior a un valor, continua dando el mismo problema.
Pego el codigo por si alguien puede darme una explicacion.
Saludos
Define CLOCK_FREQUENCY = 4
Dim in As Word
Config GPIO.2 = Output 'salida PWM
Config GPIO.3 = Input 'entrada AD
GPIO.2 = 0
Define ADC_CLOCK = 3
Define ADC_SAMPLEUS = 10
PWMon 1, 1
loop:
Adcin 3, in
If in < 10 Then
PWMduty 1, 0
Goto loop
Else
PWMduty 1, in
Endif
Goto loop
-
Hola.
No se que tan exacto sea el PWM .... pero un 0,3% me parece muy cercano al 0% y un 99,8% me parece, también, muy cercano al 100%. Sin embargo, para mejorar algo esa respuesta .... podrías probar tomar mas muestras del ADC y luego promediarlas.
Saludos
-
Hola a todos, estoy con un proyecto sencillo pero que me esta dando dolores de cabeza.
Se trata de regular la salida PWM a partir de la entrada del AD en un pic 12F683.
Cuando el AD esta a cero la salida PWM no se queda a cero, sino que da un duty del 0,3% y cuando esta a 5V el duty es de 99,8%, cuando deberia ser 0 y 100% respectivamente.
He pensado que sea ruido del AD pero forzando el duty a 0 cuando el valor del AD es inferior a un valor, continua dando el mismo problema.
Pego el codigo por si alguien puede darme una explicacion.
Saludos
Define CLOCK_FREQUENCY = 4
Dim in As Word
Config GPIO.2 = Output 'salida PWM
Config GPIO.3 = Input 'entrada AD
GPIO.2 = 0
Define ADC_CLOCK = 3
Define ADC_SAMPLEUS = 10
PWMon 1, 1
loop:
Adcin 3, in
If in < 10 Then
PWMduty 1, 0
Goto loop
Else
PWMduty 1, in
Endif
Goto loop
Hola:
Podrias adjuntar el esquema electrico completo para echarle un vistazo?
De todas formas si usas reguladores lineales de 5V como fuente, es complicado que tengas exactamente los 5V y en realidad al AD le llega algo menos de tensión.
Un saludo
Aitor
-
Un 0,3% es muy cercano a 0 por supuesto, pero implica que transistor de potencia este conduciendo y exista un consumo, cosa que no viene bien teniendo en cuenta que el dispositivo funciona con bateria.
No creo que sea problema del AD ya que estando el duty del PWM forzado a 0, sigue dando el 0,3% de salida.
-
Mira yo ya pase por esto y lo solucuone poniendo pwmoff cuando la entrada del adc en menor que determinado valor(yo uso el PIC SIMULADOR IDE)quizas te sirva