Autor Tema: problema con pwm y pic16f877a  (Leído 1929 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado R2D2

  • PIC10
  • *
  • Mensajes: 6
problema con pwm y pic16f877a
« en: 17 de Julio de 2013, 13:16:25 »
Que tal estoy comenzando con esto de los microcontroladores y tengo un problema
al querer utilizar el ADC para variar por medio de un potenciometro la salida de un PWM con el picbasic.
El problema es que cuando vario el potenciometro ya fisicamente lo que hace es que comienzo en 0%
y un pequeño moviento llega al 100% y lo comienza otra vez dese 0% sin haber girado por completo el potenciometro
esto lo hace cuatro veces en el el transcurso de toda la variación en el potenciometro.
Supongo que es por la resolución del pin que es de 8 bits y el ADC es de 10 y se tiene que hacer
un acoplamiento el cual yo lo e intentado de varia manera dividiendo el ADC/4 pero no lo e podido hacer funcionar
no se si sea otro erro que tenga en mi programa
Les agradecía que me asesoraran

DEFINE OSC 4
DEFINE LOADER_USED 1
DEFINE ADC_BITS 10
define CLOCK 3
DEFINE ADC_SAMPLEUS 50

IN VAR WORD
LED VAR PORTB.0

TRISA = $7F
TRISB = $FE

ADCON1 = %10000000
ADCON0 = %11000001
PORTB = 0

MAIN:
ADCIN 0,In

PWM LED,IN,1
PAUSE 1
GOTO MAIN
END

Desconectado R2D2

  • PIC10
  • *
  • Mensajes: 6
Re: problema con pwm y pic16f877a
« Respuesta #1 en: 06 de Agosto de 2013, 01:10:25 »
Por fin encontré el error con el uso del pwm aquí el código
ya funcionando bien de un pwm simple espero y en algún momento
pueda ser de ayuda

'***********************
'*                                     *
'*  Name   : PWM.PBP        *
'*  Author  : R2D2             *
'*  Pic       : 16f877A          *
'*                                     *
'***********************
DEFINE OSC 4
DEFINE LOADER_USED 1
DEFINE ADC_BITS 10
define CLOCK 3
DEFINE ADC_SAMPLEUS 50

IN VAR WORD
LED VAR BYTE

TRISA = $7F
TRISC = $00

ADCON1 = %10000000
ADCON0 = %11000001
PORTB=0


MAIN:
ADCIN 0,In
LED = IN / 4
PWM PORTC.3,LED,10
PAUSE 1
GOTO MAIN
END


 

anything